私は次のコードを使用してローカルマシンからサーバー上のファイルをアップロードするPHP Webアプリケーションで作業しています。ファイルのアップロードがPHPで動作しません
$target_dir = "uploads/";
$target_file = $target_dir .basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
if ($_FILES["fileToUpload"]["size"] > 5000000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
echo $_FILES['fileToUpload']['name']."<br>";
if(move_uploaded_file($_FILES["fileToUpload"]["name"], $target_file)) {
echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
しかし、上記のコードupload.php
<form action="upload.php" method="post" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="fileToUpload" id="fileToUpload" value="c:/passwords.txt">
<input type="submit" value="Upload" name="submit">
</form>
機能していません。アップロードフォルダのアクセス許可を確認しました
drwxrwxrwx 2 ankit ankit 4096 Aug 2 13:41 uploads
書き込み可能なようです。次のコマンドを使用してプロジェクトのアクセス許可を変更しました
sudo chmod -R 777 /var/www/myproject
しかし、まだサーバー上にファイルをアップロードできません。私はどこが間違っているのか分かりますか?
あなたはあなたの例で出力メッセージを持っていますか? –
出力メッセージ:申し訳ありませんが、ファイルのアップロード中にエラーが発生しました。 –
$ target_dirパスをフルパスに変更し、それが機能するかどうかを確認してください。また、セキュリティのために、777ではなく775のアクセス権を使用します。 – Ionut