fopen 644的权限无法打开流文件

需求是需要下载远程文件到本地,下面是下载的函数。在我下载图片或文本类型时fopen可以顺利执行。当下载的资源为视频或音频则提示failed to open stream: Permission denied,需要将文件权限设置为755才行。应该怎么解决这个问题?

function download_remote_file($url , $ext,  $path = '/public/download/')
        {
            $ch = curl_init();
            curl_setopt($ch , CURLOPT_URL , $url);
            curl_setopt($ch , CURLOPT_RETURNTRANSFER , 1);
            curl_setopt($ch , CURLOPT_CONNECTTIMEOUT , 30);
            $file = curl_exec($ch);
            curl_close($ch);

            $fileSource = pathinfo($url);

            if (empty($fileSource['extension'])) {
                $filename = $fileSource['filename'] . '.' . $ext;
            } else {
                $filename = $fileSource['basename'];
            }

            $resource = fopen($path . $filename , 'a');

            fwrite($resource , $file);
            fclose($resource);
            return $filename;
        }
阅读 1.9k
1 个回答

那就改权限呗
sudo chmod -R 755 /public/download/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题