我有一个文件夹'items'
,其中有3个文件item1.txt, item2.txt and item3.txt.
我想从文件夹中delete item2.txt
文件。我使用以下代码,但它不从文件夹中删除文件。任何身体都可以帮助我。
<?php
$data="item2.txt";
$dir = "items";
$dirHandle = opendir($dir);
while ($file = readdir($dirHandle)) {
if($file==$data) {
unlink($file);
}
}
closedir($dirHandle);
?>
答案 0 :(得分:13)
最初文件夹应具有777权限
$data="item2.txt";
$dir = "items";
while ($file = readdir($dirHandle)) {
if($file==$data) {
unlink($dir.'/'.$file);
}
}
或尝试
$path = $_SERVER['DOCUMENT_ROOT'].'items/item2.txt';
unlink($path);
答案 1 :(得分:3)
您的代码中有一个错误,您没有给出正确的路径
<?php
$data="item2.txt";
$dir = "items";
$dirHandle = opendir($dir);
while ($file = readdir($dirHandle)) {
if($file==$data) {
unlink($dir."/".$file);//give correct path,
}
}
closedir($dirHandle);
?>
答案 2 :(得分:2)
这里不需要while循环来删除文件,你必须将该文件的路径传递给unlink()函数,如下所示。
$file_to_delete = 'items/item2.txt';
unlink($file_to_delete);
请阅读unlink()函数的详细信息
答案 3 :(得分:1)
尝试将其重命名为垃圾箱或服务器有权访问的临时文件夹 * *除非是敏感数据。
rename($old, $new) or die("Unable to rename $old to $new.");
答案 4 :(得分:1)
if($file==$data) { unlink( $dir .'/'. $file); }
答案 5 :(得分:1)
非常简单:
$file='a.txt';
if(unlink($file))
{
echo "file named $file has been deleted successfully";
}
else
{
echo "file is not deleted";
}
//if file is in other folder then do as follows
unlink("foldername/".$file);