PHP функция unlink работает с путем?

Я хотел бы удалить файл из папки в PHP, но у меня просто есть путь к этому файлу, было бы нормально дать путь к unlink? Например

unlink('path/to/file.txt');

Если это не работает, единственный способ избавиться от этих файлов будет создать .php файл в каталоге path/ to / и включить его как-то в мой файл вызовите метод, чтобы удалить файл, верно?

9 ответов


посмотреть unlink документы:

bool unlink ( string $filename [, resource $context ] )

и

имя файла
Путь к файлу.

Так только принимает строку в качестве имени файла.

убедитесь, что файл доступен с помощью пути из места выполнения сценария. Это не проблема с абсолютными путями, но у вас может быть один с относительными путями.


получил простой метод для вашего вопроса

используйте этот код для удаления файла из папки

$_SERVER['DOCUMENT_ROOT']

Это можно использовать внутри функции unlink

работал код

     unlink($_SERVER['DOCUMENT_ROOT'] . "/path/to/file.txt");

unlink отлично работает с путями.

описание bool unlink (строка $filename [, ресурс $context ])

удаляет имя файла. Подобные Unix C функция unlink (). Уровня E_WARNING ошибка будет генерироваться при сбое.

имя файла

Path to the file.

в случае возникновения проблемы с разрешениями отказано ошибка, это иногда вызвано при попытке удалить файл, который находится в папке выше в иерархии, чтобы ваш рабочий каталог (т. е. при попытке удалить путь, который начинается с "../").

чтобы обойти эту проблему, вы можете использовать chdir (), чтобы изменить рабочий каталог в папку, где находится файл, который вы хотите разорвать связь.

<?php
    $old = getcwd(); // Save the current directory
    chdir($path_to_file);
    unlink($filename);
    chdir($old); // Restore the old working directory   
?>

вы можете использовать unlink с путем.

вы также можете выполнить unlink в каталоге, если вы сначала очистили его.

вот руководство:http://php.net/manual/en/function.unlink.php


Не забудьте проверить, если файл существует, или вы получите сообщение об ошибке, если это не так:

$file_with_path = $_SERVER['DOCUMENT_ROOT'] . "/path/to/file.txt";
if (file_exists($file_with_path)) {
  unlink($file_with_path);
}

согласно документации, unlink принимает строковый параметр для пути.

http://php.net/manual/en/function.unlink.php

другими словами... у вас есть то, что вам нужно, чтобы удалить файл.


Это не только нормально, это единственный способ удалить файл в PHP (кроме системных вызовов).


мы можем использовать этот код

$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...
}