次のソース コードは 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']
ディレクトリ ファイルのアクセス許可を投稿してください
皆さん、ありがとうございます。これは確かにアクセス許可の問題です。細かい修正後。
ありがとう