2012-04-28 3 views
0

私は写真付きで写真をアップロードする方法を学んでいます。これまでのところ、画像は「写真」フォルダにアップロードされています。それは動作します。私は "イメージ"という名前のBLOBフィールドを作成しました。挿入後に画像のアップロードを試みています - php mySQL

ブロブフィールドのパスまたは実際の写真が表示されるはずですか?混乱している。

http://jsfiddle.net/zEZD7/

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

VALUES 

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

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

$sql = "INSERT INTO image (path) VALUES ('" . mysql_real_escape_string($path) . "')"; 

$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

どちらかといえば、このサイトには多数の質問があり、それぞれの賛否両論が重なります。 – eggyal

+0

phpMyAdminの閲覧で画像を見ることはできますか?またはリンクを表示することはできますか? – Erik

+0

リンクをデータベースに入れる場合は、INSERTステートメントに追加する必要があります(つまり、カラム名をリストの前に 'VALUES'キーワードの前に追加し、イメージパスを'VALUES'キーワードの後のリストの対応する場所):文字列型の列(' VARCHAR'など)は、 'BLOB'よりもこの目的に適しています。イメージ自体を 'BLOB'に保存したい場合(これは可能ですが、私はお勧めしません)、挿入する値としてイメージファイルの内容を使って同様のことを行う必要があります。 – eggyal

答えて

0

もしそうなら、MySQlに画像を保存しません。私はWWWのルート(ブラウザにアクセス可能なディレクトリ)のどこかにあるサーバのファイルシステムに画像をアップロードし、画像のファイルののパスをcharカラムに格納します。

表示する場合は、DBクエリから取得した画像のソースを含むタグを印刷してください。

また、ユーザーの入力を受け取り、データベースに直接追加することを示唆しているようですが、これはセキュリティ上の観点からは非常に悪いことです。あなたは入力の検証を最初に行う必要があります(GoogleとSQLインジェクション攻撃)

+0

http://jsfiddle.net/zEZD7/ – Erik

+0

私は失敗を起こしています:http://jsfiddle.net/zEZD7/ – Erik

+0

申し訳ありませんが、私は何を見ているのかわからないjsfiddle.netに精通していません。あなたがそれまでにソートされていない場合は、月曜日にサンプルコードを投稿できます – KevInSol

関連する問題