2012-04-28 4 views
0

mySQLに挿入する各レコードを含む写真をアップロードする必要があります。私はすでに基本的な挿入スクリプトを作った。既存のスクリプトをどのように修正すれば、すべてのレコードを挿入するようにイメージを含めることができますか?画像は、任意の形状またはサイズであり得る。非常に簡単です。私は写真のためだけにフォームを簡略化しました。どんな助けもありがとう。mySQLの既存のスクリプトに写真のアップロードを追加する必要があります

"写真"と呼ばれる写真のルートディレクトリにフォルダを作成しました。

<? 
$order = "INSERT INTO reg_add (connect_date, 
    reg, 
    first_name, 
    last_name) 

VALUES 

('$_POST[connect_date]', 
    '{$_POST[reg]}nv', 
    '$_POST[first_name]', 
    '$_POST[last_name]')"; 

$new_image = 'photos/'.basename($_FILES['image']['name']); 
    if(move_uploaded_file($_FILES['image']['tmp_name'], $new_image)) { 
     // The images was uploaded 
    } else{ 
header("location: reg_add_fail_IMAGE.php"); 
} 

$result = mysql_query($order); 
?> 

FORM:

<form id="form_register" method="POST" action="reg_add.php"> 

    <input class="req-string bx short" type="text" name="connect_date" id="connect_date"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    <input class="req-string bx long caps" type="text" name="reg" id="reg"> 
    <input class="req-string bx long" type="text" name="first_name"> 
    <input class="bx long" type="text" name="last_name"> 

    Choose a image to upload: <input name="image" type="file"> 
    <input id="rbSubmit" class="rb2 rbSubmit" type="submit" value="submit"> 
</form> 
+0

まあ、私はどこから始めるべきか分かりません。 – Erik

+0

Googleで試してみてください:PHPファイルをアップロードしてください。ヒント:テキストエリアはファイルをアップロードするのに役立ちません。 –

+1

[Google](https://www.google.co.uk/search?q=upload+image+from+html+form+using+php)はどうですか?または**関連**の大きなリストは右の質問ですか? – eggyal

答えて

0

まず、あなたはそのためenctype="multipart/form-dataが含まれていることが重要である<textarea>

HTML

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

注意を使用して画像をアップロードカントイメージはウィットに沿って送信されますhフォーム。ファイルを使用してフォームがファイルサーバ上の一時的な場所に格納されているPHPスクリプトに送られる

PHP 、及び可変$_FILEが利用可能です。この変数は、このファイルに関する情報、一時的な名前と実際の名前、サイズなどを保持します。あなたがする必要がどのような

は、あなたがそれを配置するディレクトリにアップロードされた画像を移動している:

// This will be the location for the image 
$new_image = 'photos/'.basename($_FILES['image']['name']); 

if(move_uploaded_file($_FILES['image']['tmp_name'], $new_image)) { 
    // The images was uploaded 
} else{ 
    // The image failed to upload 
} 

今、あなたは画像の場所を参照するために、データベースに$new_imageを保存することができます。すでに

  • を既存のファイル名のファイルがある場合、データベースの行ごとに1枚の画像の最大がある場合は

    物事のカップルは、あなたが

    • チェックを考慮する必要があり、あなたが名前を付けることができデータベースからのIDを使用して画像INSERTこれを行うには、最初にデータを挿入し、次にINSERTクエリの直後に$id = mysql_insert_id();を使用して最後の挿入IDを取得する必要があります。これを変数 `$ new_image 'に組み込みます。
  • +0

    この回答はなぜ投票されますか?あなたが求めていたものではありませんか? – fhugas

    +0

    スクリプトを変更しました。まだ動かない。 – Erik

    +0

    私はblobをmySQLに作成する必要がありますか?私はそれを "new_image"と呼びますか – Erik

    関連する問題