今天在TP5内使用unlink删除上传图片的时候报错了。
情况是 $info = $file->move();
获得 $info 变量后 $info->getRealPath() 通过该方法获取上传文件真实路径
然后直接unlink时报错 Resource temporarily unavailable
然后尝试赋值 $real_path = $info->getRealPath() 也不行
后来百度后有人说是没有释放变量导致的,虽然不懂为什么但是如下写法后成功删除
$real_path = $info->getRealPath(); if(file_exists($real_path)){ unset($info); unlink($real_path); //删除文件 }
主要就在unset上,先进行unset后然后再删除就行了,
然后在另外一个地方直接组装文件链接就可以删除,猜测TP可能通过 $info 锁定了该文件