关于网友提出的“ WAMP环境中,unlink删除文件夹下最后一个文件出错”问题疑问,本网通过在网上对“ WAMP环境中,unlink删除文件夹下最后一个文件出错”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: WAMP环境中,unlink删除文件夹下最后一个文件出错
描述:在Thinkphp中使用unlink来删除一个目录下的文件,代码如下:
public function deldir($dir = "") {
dump($dir);
//先删除目录下的文件:
$dh = opendir($dir);
while ($file = readdir($dh)) {
if ($file != "." && $file != "..") {
$fullpath = $dir . "\\" . $file;
if (!is_dir($fullpath)) {
dump($fullpath);
unlink($fullpath);
} else {
deldir($fullpath);
}
}
}
closedir($dh);
//删除当前文件夹:
if (rmdir($dir)) {
return true;
} else {
return false;
}
然而它不能删除文件夹下的最后一个文件,我试着写死路径并直接url访问这个方法,发现可以正常运作,调用的话就会出现我说的问题
调用的代码如下:
$files = request()->file('myfile');
$realCName = input("realCName");
$tempArr = explode("-", $realCName);
$account = $tempArr[0];
$cname = $tempArr[1];
$errorReport = "";
$tempDir = ROOT_PATH . 'public' . DS . 'uploads' . DS . "$realCName";
foreach ($files as $file) {
// 移动到框架应用根目录/public/uploads/ 目录下,并且使用原名
$info = $file->move($tempDir, '');
if ($info) {
} else {
// 上传失败获取错误信息
$errorReport = $errorReport.$file->getError();
}
}
//开始上传
$uploadResult = $this->uploadFile($account, $cname);
$tempArr = $uploadResult->getData();
if ($tempArr['code'] === 0) {
//开始删除临时文件夹
$deleteResult = $this->deldir($tempDir);
if($deleteResult === FALSE){
$errorReport =$errorReport. "删除临时文件夹出错";
}
}
return $errorReport;
报错图片如下:

相当奇怪,求各位高手热心相助。
解决方案1:没权限。。。
以上介绍了“ WAMP环境中,unlink删除文件夹下最后一个文件出错”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4536367.html