【问题标题】:PHP - How to unlink a file with no file extentionPHP - 如何取消链接没有文件扩展名的文件
【发布时间】:2011-11-14 05:26:08
【问题描述】:

这非常适合删除 php、txt 和图像,但我最近开始使用图像调整大小,将临时图像插入到我的垃圾文件夹中。

* 示例名称 2616cf442b6cd3e1313161551fad6078 *

文件类型:文本/x-generic

权限:0644

尝试重命名为 .txt,但没有成功

$cleantrash =(DOCROOT."/woobe/myfiles/trash/"); 
$cleantrash = opendir($cleantrash);

while (($filex_clean = readdir($cleantrash)) !== false) {
if($filex_clean != "." && $filex_clean != ".." && $filex_clean != "index.php") {


        echo "<b>Cleaing Trash...</b> $filex_clean<br>";
        unlink($filex_clean);
        }
}
closedir($cleantrash);

*编辑 *

$newname = basename($filename, ".bmp").".jpg";
rename($filename, $newname);

文件不见了,哈哈。没有取消链接使用?那么他们去哪儿了?

【问题讨论】:

  • 该文件的权限是什么?此外,它是否属于运行 PHP 的同一用户?
  • 文件权限是0644,是的
  • 为什么要重命名文件只是为了删除它。 unlink 适用于任何文件名,但需要使用路径,或者需要将当前工作目录设置为与文件所在的目录相同。
  • 是的,这就是我读过的内容,但除了我上面所说的没有扩展名的文件之外,所有内容都可以删除

标签: php file file-permissions unlink


【解决方案1】:

readdir() 函数返回不带路径的文件名(相对于您传递给它的资源目录参数)。

unlink() 函数需要完整的文件路径。我的猜测是您需要保存 $cleantrash 路径,而不是用 opendir() 中的资源覆盖它,然后执行以下操作:

unlink($cleantrash . $filex_clean);

【讨论】:

  • 正如我所说,除了没有扩展名的文件之外,所有内容都会被删除,所以这不是路径问题
猜你喜欢
  • 2017-12-15
  • 2013-08-03
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多