ホームページ > バックエンド開発 > PHPチュートリアル > 権限を変更してもphpファイルのアップロードに関連する問題が解決されない

権限を変更してもphpファイルのアップロードに関連する問題が解決されない

WBOY
リリース: 2016-06-13 13:31:12
オリジナル
1127 人が閲覧しました

PHP ファイルのアップロードの問題は、権限を変更した後も解決されていません。
ex.html はフロントエンド アップロード コントロールを提供します:







< ;/form>


ex.php バックグラウンド ハンドラー:
if($_FILES["file"]["エラー"]>0)
{
echo "エラー:".$_FILES["ファイル"]["エラー"]."
";
}
else
{

if($_FILES["file"]["type"]=="アプリケーション/pdf")
{
if(file_exists("/home/sss/docs /".$ _FILES["file"]["name"]))
{
echo $_FILES["file"]["naem"]."すでに存在します";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"/home/sss/Documents/".$_FILES["file"]["name"]);
echo "保存場所:"."/home/sss/Documents/".$_FILES["ファイル"]["名前"];
}
}
}
?>
エラーメッセージは次のとおりです。
/警告: move_uploaded_file(/home/phpUPLOADFILE.pdf): ストリームを開けませんでした: /var/www/html/php/practice/ex.php の 25 行目で許可が拒否されました 警告: move_uploaded_file( ): /var/www/html/php/practice/ex.php の 25 行目で「/tmp/php1GtkFY」を「/home/sss/document/abc.pdf」に移動できません
ドキュメントのアクセス許可を次のように変更しました777、まだ問題があるので、アドバイスをお願いします。


-----解決策---------/home/sss/documentation を変更します権限は読み取り可能および書き込み可能です
つまり、chmod('/home/sss/document', 0666);

このディレクトリは Web の範囲外にあり、オペレーティング システムでは匿名ユーザーが許可されていない可能性があります執行権を与えること。

------解決策------------------ なぜここに 3 つのファイルがあるのでしょうか?
1. /home/php アップロード file.pdf
2. /tmp/php1GtkFY
3. /home/sss/document/abc.pdf
同じものはどれですか?

アップロードが /home/php の場合、file.pdf:
$_FILES["file"]["name"]: php Upload file.pdf
$_FILES["file"] ["tmp_name"]:php1GtkFY
では、abc.pdf はどこから来たのでしょうか?コードに名前変更はありませんか? ! !

Linux を使用している場合は、「./home/sss/documentation/」を使用してください。それ以外の場合は、ルート ディレクトリから見つかります。

------解決策----------------------おそらく、Apache が対応する権限を与えていない可能性があります。 Apache 設定ファイルを変更し、対応するディレクトリにアクセス許可を与えます。

------解決策---------パスの書き方が間違っているのではないかと思われます
ターゲット ファイルのパスを削除し、まだ動作するかどうかを確認します

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート