6

PHP の「メディア」フォルダーにファイルをアップロードするコードを作成しようとしました。なぜか動かない状態が続いています。

実行コードは次のとおりです。

move_uploaded_file($_FILES["file"]["tmp_name"],"../media/" . $_FILES["file"]["name"]) or die ("Failure to upload content");

ここに私のフォームコードがあります:

    <input type="file" name="file" id="file" /> 

それが機能しない理由はありますか?


編集:

コマンド「print_r($_FILES);」を使用すると、次のように表示されます。

Array ( [file] => Array ( [name] => Screen Shot 2012-05-29 at 12.36.11 PM.png [type] => image/png [tmp_name] => /Applications/MAMP/tmp/php/ phpHNj3nW [エラー] => 0 [サイズ] => 71640 ) )

画像はフォルダにアップロードされません。

4

9 に答える 9

28

あなたのフォームに..enctypeを入れていることを確認してください。
例: <form method="post" enctype="multipart/form-data" action="index.php"></form>;

フォームの送信時にファイルが正常に更新されたかどうかを確認します。print_r を使用して結果を確認します。
print_r($_FILES);

于 2012-05-29T22:02:41.553 に答える
5

mediaフォルダに777権限があり、パス../media/が正しいことを確認して ください

于 2012-05-29T22:10:01.970 に答える
3

暗号化をフォームに入れる

<form method="post" action="index.php" enctype="multipart/form-data"></form>

php.ini ファイルをチェックインmax_execution_time すると、実行時間の関係で重い画像がアップロードされません。

于 2015-06-05T12:14:59.227 に答える
1

暗号化タイプまたは ajax 呼び出しのフォームはありますか? ファイルがアップロード スクリプトに送信されているかどうかを確認しますか (a を使用print_r($_FILES["file"])。正しい場合、相対パスが正しいかどうかを確認しますか? 現在のスクリプトから開始する必要があります (ファイルが含まれている場合は、含まれているスクリプトから開始する必要があります)。答えが簡単に思えて申し訳ありませんが、投稿されたコードは評価するには短すぎます。

于 2012-05-29T22:04:52.713 に答える
0

フォームタグでは、このようなものが必要です <form enctype="multipart/form-data" action="uploader.php" method="POST"> enctype がファイルの multipart/form-data に設定されていることを確認してください。uploader.php を、処理を行う php ファイルの名前に置き換えます。また、ディレクトリにファイルを作成できるように権限が設定されていることを確認してください。

考えられる問題のリストは次のとおりです: http://php.net/manual/en/features.file-upload.php

于 2012-05-29T22:03:16.843 に答える
0

「Web サーバー ユーザー」が「../media」への書き込み権限を持っていることを確認しましたか?

于 2012-05-29T22:11:44.783 に答える