【问题标题】:Cannot delete file in PHP无法在 PHP 中删除文件
【发布时间】:2012-07-09 09:53:58
【问题描述】:

我有一个用于以文本形式存储数据的网站(在获取 db 之前),所以现在我在删除文件时遇到了问题...

该文件的名称中有一个单引号字符,(“I'mHere.txt”),站点文件管理器无法删除此文件,而且它越来越烦人......所以我尝试删除它像这样的php:

<?php
unlink("I'mHere.txt");
unlink("I\'mHere.txt");
 ?>

它们都不起作用,我该怎么做才能删除文件?

编辑: 文件是这样创建的:

$file=fopen($sentence.'.txt',"w");
fwrite($file,$cont);
fclose($file);

编辑2:我从另一个文件中调用删除代码,不再创建带引号的文件,它就在那里,不能以任何方式删除,尝试这会导致“找不到文件”错误(路径正确,它适用于任何没有引号的文件)...

【问题讨论】:

  • 首先,您不必转义 '。其次,您确定您有权删除该文件吗?扭转错误并确保你做到了。
  • 可能是用户权限问题。激活显示错误消息并检查您的 error_log 文件。
  • 路径是否正确? file_exists 是怎么说的?
  • 要删除文件,您需要对父目录具有写入权限。你的脚本有这个权限吗?你确定路径正确吗?服务器端脚本中的相对路径并不总是指向您认为的位置
  • 是的,毕竟文件是使用我的 php 脚本创建的:P

标签: php file quotes delete-file unlink


【解决方案1】:

你写完文件后关闭了吗?

fclose($filename);

// Then unlink
unlink($filename);

【讨论】:

  • 我没有编辑文件。它已经存在,我只需要删除它。
  • 您还没有回答问题。您说您有一个以文本形式存储数据的网站,您是如何存储数据的?听起来文件仍然在您的服务器上打开,因为您说您无法从文件管理器中删除。
  • 我无法从数据管理器中删除它,因为它会引发找不到文件的错误...
  • 如果您需要进一步的帮助,请在您的问题中发布用于创建文件的代码。编码没有魔法。
猜你喜欢
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 2011-05-08
相关资源
最近更新 更多