PHP ¿Funciona la función de desvío con una ruta?
Pregunta
Me gustaría eliminar un archivo de una carpeta en PHP, pero solo tengo la ruta a este archivo, ¿estaría bien dar la ruta para desvincular?Por ejemplo
unlink('path/to/file.txt');
Si esto no funciona, la única forma de deshacerse de esos archivos sería crear un archivo .php en la ruta / a / directory e incluirlo de alguna manera en mi archivo una llamada a un método para eliminar el archivo., ¿verdad?
Solución
Echa un vistazo a la unlink
Documentación:
bool unlink ( string $filename [, resource $context ] )
y
archivo de archivo
Camino al archivo.Por lo tanto, solo toma una cadena como nombre de archivo.
Asegúrese de que el archivo esté accesible con la ruta desde la ubicación que ejecute el script.Este no es un problema con los caminos absolutos, pero es posible que tenga uno con caminos relativos.
Otros consejos
tiene un método fácil para su pregunta
Utilice este código para eliminar un archivo de una carpeta
$_SERVER['DOCUMENT_ROOT']
Esto se puede utilizar dentro de la función de desvinculación
Código funcionado
unlink($_SERVER['DOCUMENT_ROOT'] . "/path/to/file.txt");
Unlink funciona bien con las rutas.
Descripción BOOL LLEVEINK (STRING $ nombre de archivo [, recurso $ contexto])
Elimina el nombre de archivo.Similar a la UNIX C Función de desvío ().Un nivel de e_warning Se generará un error en el fracaso.
nombre de archivo
Path to the file.
En caso de que tuviera un problema con los permisos denegados el error, a veces se causa cuando intenta eliminar un archivo que está en una carpeta más alta en la jerarquía en su directorio de trabajo (es decir, cuando intentas eliminar una ruta que comienza "../").
Para solucionar este problema, puede usar CHDIR () para cambiar el directorio de trabajo a la carpeta donde se encuentra el archivo al que desea desvincular.
<?php $old = getcwd(); // Save the current directory chdir($path_to_file); unlink($filename); chdir($old); // Restore the old working directory ?>
Puede usar un desvinculación con una ruta.
También puede realizar un desvinculación en un directorio, siempre y cuando lo haya vaciado primero.
Aquí está el manual: http://php.net/manual/en/function.unlink.php
No olvide verificar si existe el archivo, o recibirá un error si no:
$file_with_path = $_SERVER['DOCUMENT_ROOT'] . "/path/to/file.txt";
if (file_exists($file_with_path)) {
unlink($file_with_path);
}
De acuerdo con la documentación, unlink
acepta el parámetro de cadena para la ruta.
http://php.net/manual/en/function.unlink.php
En otras palabras ... tiene lo que necesita para eliminar el archivo.
No solo está bien, es la única forma de eliminar un archivo en PHP (además de llamadas del sistema).
Podemos usar este código
$path="images/all11.css";
if(unlink($path)) echo "Deleted file ";
if (isset($_POST['remove_file'])) {
$file_path=$_POST['fileremove'];
// chown($file_path, 'asif');
// echo $file_path;
if (file_exists($file_path)) {
unlink($file_path);
echo "file deleted<br> the name of file is".$file_path."";
# code...
}
else
echo "file is not deleted ".$file_path."";
# code...
}