Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP unlink函数是否与路径一起工作?_Php_Unlink - Fatal编程技术网

PHP unlink函数是否与路径一起工作?

PHP unlink函数是否与路径一起工作?,php,unlink,Php,Unlink,我想从PHP中的文件夹中删除一个文件,但我只有该文件的路径,可以给出取消链接的路径吗?比如说 unlink('path/to/file.txt'); 如果这不起作用,那么清除这些文件的唯一方法就是在path/to/目录中创建一个.php文件,并以某种方式将其包含在我的文件中,然后在那里调用一个方法来删除该文件,对吗?您可以使用取消与路径的链接 您还可以对目录执行取消链接,只要您先清空了它 以下是手册:请查看文档: 及 文件名 文件的路径 所以它只接受一个字符串作为文件名 确保可以使用执行脚本位

我想从PHP中的文件夹中删除一个文件,但我只有该文件的路径,可以给出取消链接的路径吗?比如说

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

如果这不起作用,那么清除这些文件的唯一方法就是在path/to/目录中创建一个.php文件,并以某种方式将其包含在我的文件中,然后在那里调用一个方法来删除该文件,对吗?

您可以使用取消与路径的链接

您还可以对目录执行取消链接,只要您先清空了它

以下是手册:

请查看文档:

文件名
文件的路径

所以它只接受一个字符串作为文件名


确保可以使用执行脚本位置的路径访问该文件。绝对路径没有问题,但相对路径可能有问题。

根据文档,
取消链接
接受路径的字符串参数


换句话说。。。您已经具备了删除文件所需的功能。

这不仅可以,而且是在PHP中删除文件的唯一方法(除了系统调用)。

取消链接可以很好地处理路径

说明bool取消链接(字符串 $filename[,资源$context])

删除文件名。类似于Unix C unlink()函数。E_警告级别 失败时将生成错误

文件名

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   
?>

为您的问题找到了一个简单的方法

使用此代码可以从文件夹中删除文件

$_SERVER['DOCUMENT_ROOT']
这可以在unlink函数中使用

工作代码

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

不要忘了检查文件是否存在,否则如果文件不存在,则会出现错误:

$file_with_path = $_SERVER['DOCUMENT_ROOT'] . "/path/to/file.txt";
if (file_exists($file_with_path)) {
  unlink($file_with_path);
}
我们可以使用这个代码

$path="images/all11.css";

if(unlink($path)) echo "Deleted file ";
if(isset($\u POST['remove\u file'])){
$file_path=$\u POST['fileremove'];
//chown($file_path,'asif');
//echo$file\u路径;
如果(文件_存在($file_路径)){
取消链接($file\u path);
echo“文件已删除
文件名为“$file\u path.”; #代码。。。 } 其他的 echo“文件未被删除”。$file_路径。”; #代码。。。 }
取消目录链接并不适用于所有文件系统,这就是为什么会有rmdir()
$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...
}