php 删除文件夹-PHP使用unlink删除文件提示没有权限

2023-08-26 0 3,922 百度已收录

今天写socket的时候,有一个需要将文件上传到服务器,然后将文件上传到七牛云,然后删除服务器上的文件。 第一次写socket后的代码如下:

php 删除文件夹-PHP使用unlink删除文件提示没有权限

$type = input('param.type');$qiniu = input('param.qiniu/d',0);$file = request()->file('file');//dump($file);$img_url = '';if(!empty($file)){    // 移动到框架应用根目录/index/public/uploads/ 目录下    $info = $file->validate(['ext' => 'jpg,png,gif,xls,xlsx'])->move(ROOT_PATH . 'index' . DS . 'public' . DS . $type);    if ($info) {        $filename   = explode(DS,$info->getsaveName());        $img_url = '/public/'.$type.'/'.$filename[0].'/'.$filename[1];    }else{        $this->error2($file->getError());    }}if(empty($img_url)) {    $this->error2('上传失败');}if ($qiniu==1){    $img_url=Qiniu::video('.'.$img_url);    unlink('.'.$img_url);}$this->success2('', $img_url);

php 删除文件夹-PHP使用unlink删除文件提示没有权限

其中,在调试的时候,发现unlink会报Permission returned的错误,然后写了一个特殊的方法,对上传的文件进行unlink,发现可以删除成功,说明删除本身没有问题,所以可能上传后立即删除出现了问题,于是我翻阅了php指南,发现php在7.3.0更新日志中有这么一段话: Now Windows can also use unlink() to delete files who file handles仍在使用中。 在此之前不能删除。 但是,在关闭所有句柄之前重新创建文件仍然很困难。 由于我们的php版本是5.6,所以应该是因为文件句柄在使用后被解除链接,所以释放file变量并尝试删除它。 修改后:

$img_url=Qiniu::video('.'.$img_url);unset($info);unlink('.'.$img_url);

果然可以删除成功php 删除文件夹php 删除文件夹,确实是因为该文件还在使用。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php 删除文件夹-PHP使用unlink删除文件提示没有权限 https://www.wkzy.net/game/152916.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务