PHP 取消链接(); 没有这样的文件或目录

Chu*_*and 3 php

我到处寻找这个问题,但找不到解决方案。我有这个:

<?php
  $file_name = $_GET['name'];
  $file_delete = '../u/' . $file_name;
  unlink($file_delete);
  //header("location: $file_delete");
?>
Run Code Online (Sandbox Code Playgroud)

unlink返回错误:No such file or directory,但如果我尝试header("location: $file_delete");它会打开文件(本例中为图片)。

我可能哪里错了?

小智 5

首先获取要删除的文件的绝对路径,并在删除前检查文件是否存在:

 $file_name = $_GET['name'];
 $base_dir = realpath($_SERVER["DOCUMENT_ROOT"]);
 $file_delete =  "$base_dir/your_inner_directories_path/$file_name";
 if (file_exists($file_delete)) {unlink($file_delete);}
Run Code Online (Sandbox Code Playgroud)