私は自分のウェブサイトに写真やビデオをアップロードするためのスクリプトを用意しています。私はそれらを表示する必要があります、どのように私は適切なアクセス許可を設定するのですか?phpでユーザーがアップロードしたファイルを表示する方法は?
chmod("upload/" . $_FILES["file"]["name"], 0755)
これは機能しません。私はそのファイルをWindowsで使用できるようにしたいと思っています。私は何をしますか?
私は自分のウェブサイトに写真やビデオをアップロードするためのスクリプトを用意しています。私はそれらを表示する必要があります、どのように私は適切なアクセス許可を設定するのですか?phpでユーザーがアップロードしたファイルを表示する方法は?
chmod("upload/" . $_FILES["file"]["name"], 0755)
これは機能しません。私はそのファイルをWindowsで使用できるようにしたいと思っています。私は何をしますか?
PHPがアップロードしたファイルのchmodを設定する必要はありません.Webサーバーはすでにファイルを所有しているためです。お使いのブラウザで表示するためには、ファイル
の取り扱い
、あなたは次のようなものを使用して、アップロードディレクトリに一時ディレクトリからファイルを移動することを確認する必要があります。
// Define where the uploads directory is
$upload_dir = '/var/www/uploads/';
// Define the upload path from $upload_dir
$upload_file = $upload_dir . basename($_FILES['file']['name']);
// Move the tmp uploaded file to the uploads directory
if(!move_uploaded_file($_FILES['file']['tmp_name'], $upload_file)) {
// Handle the failure to move the temp file
echo "File did not upload";
};
を パスをvarダンプするか、ファイルが存在するかどうかをチェックすることによって、ファイルが適切な場所に移動していることを確認できます。
// Is path correct?
var_dump($upload_file);
// Did the file get moved?
var_dump(file_exists($upload_file));
まだ問題がありますか?
ファイルがサーバーにアップロードされていない場合、いくつかの問題があります。このPHPのドキュメントpage on uploads pitfallsを参照してください。要約:
php.iniをチェックし、必要に応じて値を増やしてください。
もう1つのオプションは、アップロードディレクトリが.htaccessファイルmodの書き換えによって画像の配信がブロックされないことです。
ファイルを私の必要な場所にアップロードして移動しました。 '.htaccess'書き換え規則は適用されておらず、アップロードして見たいだけの226kbの画像です。 –
アップロードディレクトリはドキュメントルートの外にありますか?どのように写真を呼んでいるのですか? – Andy
これはドキュメントルートの外にはないので、私は単にそれらの写真ビューアアプリケーションの1つでそれを表示しようとしています。 –