ホームページ > バックエンド開発 > PHPチュートリアル > PHP $_FILES はファイルをアップロードします。これは Windows では正常に動作しますが、Ubuntu ではファイルをアップロードできません

PHP $_FILES はファイルをアップロードします。これは Windows では正常に動作しますが、Ubuntu ではファイルをアップロードできません

WBOY
リリース: 2016-06-23 13:55:04
オリジナル
1226 人が閲覧しました

次のソース コードは Windows Apache では正常にファイルをアップロードできますが、Ubuntu Linux ではエラーは報告されませんが、アップロードされたファイルは指定されたディレクトリにアップロードできません。
解決方法を教えてください。
ありがとう!


$ErrorMessage=null;
if(!empty($_FILES['fileField']['name'])){
if($_FILES['fileField' ]['error']>0){
$ErrorMessage='Error: '.$_FILES['fileField']['error']
}else{

if (is_uploaded_file($_FILES['fileField']) ['tmp_name'])){
//ファイルを移動
move_uploaded_file($_FILES['fileField']['tmp_name'],
'/var/www' .'/'. $_FILES['fileField']['名前']);

$Message='アップロードに成功しました! ';
}else{
$ErrorMessage='エラー: '.'アップロードに失敗しました! ';
}
}

}
?> 権限の問題が発生しました。サーバー上でも、Microsoft の強力なチームのおかげで、権限の問題はほとんどありません
Linux はマルチユーザー オペレーティング システムであるため (使用しているのが自分だけであっても)、権限の問題はどこでも発生します。オープンソース プロジェクトにはまだ技術サポートが弱く、シンプルで高速なツールもありません

move_uploaded_file はアップロードされたファイルかどうかを判断し、is_uploaded_file はそれを複数回実行します

ディレクトリに遭遇すると move_uploaded_file はエラー ステータスを返します存在しないか、書き込み可能ではないか、またはスペースが不足しています そして、何も判断せずに $Message=' アップロードに成功します。 '; それは不適切です

ini_set('display_errors','on');

error_reporting(E_ALL); を追加します。通常はファイルです。 ?


Linux 側でコマンド
を使用してファイルを設定できます。ユーザーは www-data
chgrp www-data フォルダー

次に、制限を設定します
chmod g+rw フォルダー

を開きます。エラー メッセージ

'/var/www' .'/'. $_FILES['fileField']['name']
ディレクトリ ファイルのアクセス許可を投稿してください

皆さん、ありがとうございます。これは確かにアクセス許可の問題です。細かい修正後。
ありがとう

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