![](/img/trans.png)
[英]move_uploaded_file failed to open stream: Permission denied - Mac
[英]move_uploaded_file failed to open stream and Permission denied error
我正在嘗試上傳文件,但我在瀏覽器中遇到以下錯誤:
Warning move_uploaded_file(public/upload/udesignwptheme138.zip) [function.move-uploaded-file]: failed to open stream: Permission denied in <b>/home/monivbr/public_html/classes/system/Util.php on line 1803
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpJtBlbi' to 'public/upload/udesignwptheme138.zip' in /home/monivbr/public_html/classes/system/Util.php on line 1803
這是我上傳到我的服務器的php類:
foreach ($files as $file)
if($file['tmp_name'] != "" && $file['error'] != 4){
if($file['size'] < 10000000000){
$nome_antigo = $file["name"];
$novo_nome = strtolower(preg_replace("/[^a-zA-Z0-9_.]/", "", strtr($nome_antigo, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC_")));
$query = $conexao->prepare('SELECT MAX(id) AS maxId FROM tbArquivo');
$query->execute();
$arquivo = $query->fetchObject();
$caminhoArquivo = 'public/upload/';
$nomeArquivo = substr($novo_nome, 0, strripos($novo_nome, '.')).$arquivo->maxId;
if($idTipoArquivo == '6'){ //6 = arquivos xml de tradução
$caminhoArquivo = 'public/traducao/';
$nomeArquivo = substr($novo_nome, 0, strripos($novo_nome, '.'));
}
$extensao = substr($novo_nome, strripos($novo_nome, '.'));
下面的這一行是錯誤的位置:
move_uploaded_file($file["tmp_name"],$caminhoArquivo.$nomeArquivo.$extensao);
$query = $conexao->prepare("INSERT INTO tbArquivo
(idTipoArquivo, idComplementar, idComplementar2, nomeArquivo, caminhoArquivo, tamanhoArquivo, extencaoArquivo, excluido)
VALUES
(:idTipoArquivo, :idComplementar, :idComplementar2, :nomeArquivo, :caminhoArquivo, :tamanhoArquivo, :extencaoArquivo, 0)");
$query->bindParam(":idTipoArquivo", $idTipoArquivo);
$query->bindParam(":idComplementar", $idComplementar);
$query->bindParam(":idComplementar2", $idComplementar2);
$query->bindParam(":nomeArquivo", $nomeArquivo);
$query->bindParam(":caminhoArquivo", $caminhoArquivo);
$query->bindParam(":tamanhoArquivo", $file['size']);
$query->bindParam(":extencaoArquivo", $extensao);
$query->execute();
}
}
這是我的.htaccess文件:
php_value upload_max_filesize 30M
php_value post_max_size 30M
php_value max_input_time 6000000
php_value max_execution_time 6000000
php_value memory_limit 35M
這是變量的var_dump:
var_dump($extensao);
var_dump($file["tmp_name"]);
var_dump($caminhoArquivo);
var_dump($nomeArquivo);
string(4) ".zip" string(14) "/tmp/phpKUpN24" string(14) "public/upload/" string(17) "udesignwptheme139"
有人知道什么是錯的?
也許您可以考慮更改上傳文件夾chmod 755或777
chmod 777 folder_path
通過這個我們設置閱讀。 為所有者,組以及其他人編寫和執行權限。
因為你沒有對文件夾的足夠權限。 更改此權限以進行讀寫。 就這樣 !
不要更改文件夾路徑
chmod -R 777 /home/monivbr/public_html/classes/system/Util.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.