1

画像をフォルダにアップロードする方法を見つけようとしています。ディレクトリ内のすべてのファイルを一覧表示して一覧表示したくありません。

私がやりたいことは、ユーザーに特定の値を挿入して MySQL に入力してもらい、ファイルのアップロードが完了したときにファイル名を取得して、それを MySQL フィールド「ファイル名」に挿入することです。

問題は、PHP でファイルをアップロードする方法がよくわからないということです。ファイルが完全にアップロードされるまでデータベースに情報を追加しないようにする方法はなおさらです。誰か助けてくれませんか?

また、最大ファイルサイズを特定のサイズに制限する方法も知りたいと思いました。私はしばらくテクノロジーを追っていなかったので、現在の平均的なデジタル カメラで撮影した写真の平均サイズを知りたいと思いました。

4

3 に答える 3

1

ページにフォームがあることを確認しましょう。これを form.php と呼びましょう:

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

次に、form.php と同じフォルダーに uploader.php というファイルを作成します。

// change the username and password to your database information
mysql_connect("localhost", "username", "password");
$target_path = "uploads/";

$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!";
}
// Here we will insert into the database
mysql_query("INSERT INTO fileuploads (filename) VALUES ('".$target_path."')");

ここで、「ファイル名」フィールドを持つ fileuploads というテーブルがあることを確認してください。

form.php と uploader.php と同じフォルダに「uploads」というディレクトリを作成することを忘れないでください。

これがうまくいくことを願っています。

于 2012-09-19T11:58:08.347 に答える
0

この URL http://php.net/manual/en/function.move-uploaded-file.phpの例を使用して、PHP ファイルのアップロードの詳細を簡単に見つけることができます 。サイズを確認するには、getimagesize() 関数を使用する必要があります。 php。ここでサンプルコードを確認してくださいhttp://php.net/manual/en/function.getimagesize.php

于 2012-09-19T11:53:09.303 に答える
0

あなたはそれを自分でステップに分解したように見えるので、何をすべきかを理解しているようです。

最初に、PHP でファイルをアップロードする必要があります。ここでチュートリアルを見つけることができます。HTML のフォームとそれを処理する PHP ファイルが必要です。ここで、ファイル サイズを指定します。

サンプル HTML

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

サンプル PHP

$target_path = "uploads/";

$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!";
}

次に、ファイルをアップロードしたら、データベースに保存する必要があります。データベースに接続する必要があります (チュートリアルはこちら)

次に、情報をテーブルに追加する必要があります。ファイル名は var に$_FILES['uploadedfile']['name']あるため、次の行に沿ってコードが必要になります。

mysql_query("INSERT INTO files (Date, Filename)
VALUES ('$date', '$_FILES['uploadedfile']['name']')");

データベースへの挿入の詳細については、こちらを参照してください。

于 2012-09-19T11:58:05.237 に答える