2016-04-23 17 views
0

私は基本的なメディアファイルアップロードフォームのチュートリアルに現在従っています。私は自分のウェブサイトに追加しようとしましたが、「ファイルをアップロードするときにエラーが発生しました。もう一度やり直してください!」というメッセージが表示されます。私はそれを使用して画像をアップロードしようとします。私はこれらを保存したウェブサイトのユーザーがメディアファイルをアップロードできるようにするにはどうすればよいですか?

<?php 

// Where the file is going to be placed 
$target_path = "../uploads/"; 

/* Add the original filename to our target path. 
Result is "uploads/filename.extension" */ 
$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 



if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
    echo "The file ". basename($_FILES['uploadedfile']['name']). 
    " has been uploaded"; 
} else{ 
    echo "There was an error uploading the file, please try again!"; 
} 

?> 

:私は、このようなファイルのuploader.phpを、作成した

<DOCTYPE! html> 
<html> 


<head> 
</head> 


<body> 
<form enctype="multipart/form-data" action="uploader.php" method="POST"> 
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" /> 
Choose a file to upload: <input name="uploadedfile" type="file" /><br /> 
<input type="submit" value="Upload File" /> 
</form> 
</body> 


</html> 

私は自分のサーバー上に次のHTMLファイルを入れています同じディレクトリにあるファイル。私はアップロードと呼ばれる別のディレクトリを作成しました。これは書き込み可能です。

なぜこれが機能しないのですか?

編集:今は1MBまでのファイルをアップロードできますが、それ以上のサイズのファイルはアップロードできません。 HTMLスクリプトで見られるように、私は最大ファイルサイズを10MBに設定しました。これはうまくいくはずです。それはなぜではない任意のアイデア?

+0

** uploads **このフォルダがこのフォルダに書き込まれているフォルダと同じフォルダにあるか、このフォルダの外にありますか? –

+0

はい、同じフォルダにあります。 –

+0

それから '$ target_path =" uploads/";' $ target_path = "../ uploads /"; ' –

答えて

2

これは機能します。デスクトップにチェックインしました。

変更value="100000"(バイト単位)MAX_FILE_SIZE隠しフィールドは ファイル入力フィールドに先行しなければならない

<input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 

そして、

$target_path = "uploads/"; 

同様

value="1000000"に、とその値はPHPによって受け入れられる最大ファイルサイズ です。 (彼はコメントで尋ねたとおり)

詳細情報については、

time()を使用してファイル名を追加しFile Upload - php manual

ユーザーの要件をクリックします。多くの方法があります。しかし、これはあなたが使うことができます。

$target_path = $target_path .time() .basename($_FILES['uploadedfile']['name']); 
+1

助けてくれてありがとう。私は今、ウェブサイトからファイルをアップロードできるようになりました。発生しているように見える他の唯一の問題は、常に同じ名前のファイルをアップロードし、元のファイルを上書きすることです。たとえば、画像をアップロードし、「image.jpeg」という名前でアップロードしました。その後、別の画像をアップロードし、「image.jpeg」という名前でアップロードして、前の画像を上書きします。これをどうやって止めることができますか? –

+0

私の答えをチェックしてください。私は@ user2910074 –

+0

を編集しました。あなたのSOプロフィールを見ています。あなたは合計13の質問をし、2つの回答のみを選択しました(これを含む* Got Lucky *)。それで、それは両方の手から来ます。適切な回答をクリックすることで報酬を受け取るべきです。彼らはあなたにすべてのあなたの質問を助けることによってあなたの時間を与えるが、これは時間がかかりやすい。 *あなたが理解してほしい.. .. !!乾杯。* @ user2910074 –

関連する問題