move_uploaded_file 无法打开流:权限被拒绝 - Mac
Posted
技术标签:
【中文标题】move_uploaded_file 无法打开流:权限被拒绝 - Mac【英文标题】:move_uploaded_file failed to open stream: Permission denied - Mac 【发布时间】:2015-11-02 03:43:09 【问题描述】:虽然我正在尝试使用以下代码在 php 中移动_uploaded_file:
if(is_uploaded_file($_FILES['fileupload2']['tmp_name']))
move_uploaded_file($_FILES['fileupload2']['tmp_name'], "images/".$_FILES['fileupload2']['name']);
我有这个错误说:
Warning: move_uploaded_file(images/VIDEO_TS.VOB): failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php on line 24
我在终端尝试过,但没有成功:
sudo CHMOD 775 /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php
sudo chmod -R 0755 /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php
sudo chown nobody /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php
我仍然收到错误,我正在使用 Yosemite,还有其他解决方案吗?
【问题讨论】:
【参考方案1】:我的解决方案是授予图像文件夹和php文件的权限,方法是转到文件>右键单击>获取信息>然后将所有权限更改为read&write
,如下图所示。
【讨论】:
【参考方案2】:我正在使用 ubuntu,一旦遇到此问题,我通过将要移动文件的文件夹的所有访问权限更改为“创建和删除文件”来解决此问题。看下面的截图:
【讨论】:
【参考方案3】:为您的目标(上传)文件夹设置相同的权限
【讨论】:
【参考方案4】:通过更改权限解决了这个问题,如 avobe 所述 并使目标文件夹位于应用程序运行的同一目录 Root 而不是 Home
图片上传路径
/Applications/XAMPP/xamppfiles/htdocs/emp/files/admin_assets/addsdassets/targrt_Folder
应用程序运行的文件夹路径
/Applications/XAMPP/xamppfiles/htdocs/emp/files/admin_assets/addsdassets/inser_db.php
【讨论】:
【参考方案5】:您可以在更改保存图像的文件夹图像的所有者后尝试。它可能会起作用。
chown ownername:group folder;
你必须给出文件夹的绝对地址
【讨论】:
【参考方案6】:我在 IIS (Windows 10) 上运行 Yii2,我调整了路径并让它工作。参见下面的代码 sn-p:
if($model->load(Yii::$app->request->post()))
$image = UploadedFile::getInstance($model, 'image');
$model->image = $image->getBaseName().'.'.$image->extension;
if($model->save())
$image->saveAs('uploads/'.$model->image);//Notice the path change here
return $this->redirect(['view', 'id' => $model->ID]);
else
return $this->render('update-image', [
'model' => $model
]);
希望这会有所帮助。
【讨论】:
【参考方案7】:此问题是由权限受限引起的。要解决扩展或更改文件夹的权限,请使用:chmod -R 777 folder-path
。
例如:
chmod -R 777 /opt/lampp/htdocs/php/aitech/images/passport_photos
【讨论】:
【参考方案8】:申请
sudo chmod 777 images/
到文件夹/目录,这是您存储图像的服务器文件夹。请检查哪个是您的文件夹。完全取决于您的选择。
【讨论】:
哦耶,chmod 777
“解决方案”。通常不安全,几乎没有必要,有时作为快速破解是权宜之计。以上是关于move_uploaded_file 无法打开流:权限被拒绝 - Mac的主要内容,如果未能解决你的问题,请参考以下文章
move_uploaded_file 无法打开流和权限被拒绝错误
PHP/IIS copy()/move_uploaded_file() 无法打开流:权限被拒绝警告