• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像をDBに登録できない)

画像をDBに登録できない

shaka001の回答

  • shaka001
  • ベストアンサー率60% (23/38)
回答No.5

$size = $_FILES["userfile']['size"]; とありますが $size = $_FILES["userfile"]["size"]; ではないでしょうか。 SQL文も$sizeの部分がおかしいようですし。 ちなみに、 '/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcH・・・・・・・・・ というのは、ファイルの内容なので問題ないかと思います。

tanakataro2010
質問者

補足

情報が前後してしまい、申し訳ありません。 さきほど、ご指摘部分も修正後 echo $strsql;を実行したところ上記のエラーとなりました。 サイズの部分がおかしいということは、やはりファイルの容量の問題なのでしょうか?? 何か他に原因がわかりますでしょうか??

関連するQ&A

  • $_FIILESで受け取った画像を、すぐに表示するには?

    お忙しい中お読み頂きありがとうございます。 下記の様に、$_FILESで受け取った画像データを、 すぐに<IMG>タグで表示できないのでしょうか? 同じページで反映したいのですが、上手くいきません。 どんなアドバイスでも構いませんので、ご教授お願い致します。 $name = $_FILES['userfile']['name']; $tmp_name = $_FILES['userfile']['tmp_name']; list($width, $height) = @getimagesize($tmp_name); <IMG src="$name" width="$width" heigth="$height">

    • ベストアンサー
    • PHP
  • PHPとMySQLを使い、画像データベースを構築しています。

    PHPとMySQLを使い、画像データベースを構築しています。 以下までできたのですが、SQL syntaxエラーが発生してしまい、UP出来ませんでした。 画像を指定しない場合は、成功します。 <form method="post" action="addinfo.php" enctype="multipart/form-data"> Place Name(*)<br> <input type="text" size="50" maxlength="100" name="place_name"><br> Address(*)<br> <input type="text" size="50" maxlength="100" name="address"><br> Pictures<br> <input type="file" size="50" name="picture1"><br> <input type="file" size="50" name="picture2"><br> <input type="file" size="50" name="picture3"><br> <input type="reset" value="Reset" name ="reset"> <input type="submit" value="Submit" name="submit"> </form> <?php if ($_POST["submit"] != "") { // Connecting DB require 'lib.php'; //img1 if ($_FILES["picture1"]["tmp_name"] != NULL) { $fp = fopen($_FILES["picture1"]["tmp_name"], "rb"); if (!$fp) { print("Cannot open the uploaded file <BR>\n"); exit; } $img1 = fread($fp, filesize($_FILES["picture1"]["tmp_name"])); fclose($fp); } ----------------------------------------------------------- img2, img3についての処理もimg1と同じなので、文字数の関係で省略します ----------------------------------------------------------- // Insert Query $sql = "INSERT INTO places (place_name, address, `picture1`, `picture2`, `picture3`) VALUES('{$_POST["place_name"]}','{$_POST["address"]}', '{$img1}', '{$img2}', '{$img3}') "; $result = mysql_query($sql); if (!$result) { print("QUERRY ERROR<BR>\n"); print(mysql_errno() . ": " . mysql_error() . "<BR>\n"); exit; } echo "UPLOAD SUCCESSFULL "; ご教授お願いいたします

    • ベストアンサー
    • MySQL
  • PHP4 LINUXサーバー

    「PHP4でカンタンWebDB構築ガイド」を見て、ファイルのアップロードのプログラムを書いてみましたが、参照..→送信の後に表示される筈のuserfile,user_file_name,user_file_size,user_file_typeの情報が表示されません。 また、このサンプルソフトでは、サーバーにアップロードされた筈のファイルが、具体的に何処のフォルダにアップロードされたのか分かりません。何処かデフォルトで保存される場所でもあるのでしょうか? <FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD=POST> <INPUT TYPE ="hidden" name="MAX_FILE_SIZE" value="1000"> <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="送信"> </FORM> <?php print "\$userfile = ". $userfile . "<BR>"; print "\$userfile_name = ". $userfile_name . "<BR>"; print "\$userfile_size = ". $userfile_size . "<BR>"; print "\$userfilei_type = ". $userfile_type . "<BR>"; ?>

    • ベストアンサー
    • PHP
  • ファイルアップロードについて

    環境: OS/Vine Linux 3.2 Apache 2.0.55 mod_ssl 2.0.55 OpenSSL 0.9.7d PHP 5.1.2 上記の環境で簡単なファイルアップ処理をPHPで 試みようと思っていますが、できなく困っています。 HTMLからフォームを使って ファイルを選択した後に、「Send File」ボタンを 押してもまずファイルサイズが取得できません。 print_r($_FILES)を確認すると、 「Array ( [userfile] => Array ( [name] => test.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) ) 」とクライアントマシンの元ファイル名とエラーコードのみ表示されます。 ちなみにupload_max_filesizeは2Mで設定しています。 なので、MAX_FILE_SIZEは2Mになりますよね?? どなたかご教授下さい。よろしくお願いいたします。 ソース: 【html】 <form enctype="multipart/form-data" action="b.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> 【php】 <?php print_r($_FILES); //続く....... ?>

    • ベストアンサー
    • PHP
  • 画像の保存についての質問です。

    ----get_bk_img.php---- ・・・・・ ・・・・・ <table width="740" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td> <a href="../index.html">TOP PAGE</a><br><br> <strong>保存する物件の写真を設定してください</strong><br> <?php $add_temp = $_FILES['up_fl']['tmp_name']; $add_name = $_FILES['up_fl']['name']; $add_type = $_FILES['up_fl']['type']; echo "temp:[".$add_temp."]<br>\n"; echo "name:[".$add_name."]<br>\n"; echo "type:[".$add_type."]<br>\n"; /*------------------------*/ /* -- データベース接続 -- */ /*------------------------*/   ・・・・・・・・   ・・・・・・・・   ・・・・・・・・ /*------------------------*/ /* -- データベース切断 -- */ /*------------------------*/ mysql_close($db); ?> <table width="740" border="1" cellpadding="15" bordercolor="#333333" align="center" cellspacing="0"> <form name=form1 method=post action=get_bk_img.php> <tr> <td bgcolor="#00CCFF">ファイル選択</td> <td bgcolor="#FFFFFF"> <input type=file name=up_fl value=""> <input type=hidden name=action value=hozon> <input type=hidden name=no value="<?php print($_POST['no']) ?>" > <input type=submit value="保存"> </td> </tr> </form> </table> <br> <table width="740" border="1" cellpadding="15" bordercolor="#333333" align="center" cellspacing="0"> <form name="form1" method="post" action="get_bk_img.php"> <tr> <td bgcolor="#00CCFF">保存ファイル一覧</td> <td bgcolor="#FFFFFF"> <select name="bu_file"> <?php print_r( $select_arr ) ?> </select> <input type="hidden" name="action" value="delete"> <input type="submit" value="削除"> </td> </tr> </form> </table> </table> </body> </html> としてるんですが、 echo "temp:[".$add_temp."]<br>\n"; echo "name:[".$add_name."]<br>\n"; echo "type:[".$add_type."]<br>\n"; の部分で表示されません。(値が空?) 書き方が間違ってますか?

    • ベストアンサー
    • PHP
  • MySQLでGETで2件同じものが登録されてしまいます

    PHP、MySQLとも初心者で、お世話になっています。 <form name="~" method="GET" action="~.php"> 入力1<input type="text" name="na1"><br> 入力2<input type="text" name="na2"><br> <input type="submit" value="送信"> </form> で送信し、PHP側で $tem1=$_GET["na1"]; $tem2=$_GET["na2"]; mysql_select_db("~"); mysql_query("insert into tb1 values (\"$tem1\",\"$tem2\")"); とすると、結果的に同じデータが2件登録されてしまいます。 何が問題なのでしょうか。 教えていただけるとありがたいのですが。 どうか、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 「送信」「クリア」ボタンを画像で表示したい

    formタグを使ったお問合せフォームを作っているのですが、「送信する」ボタンと「クリアする」ボタンを画像で表示させる方法を教えてください。現在 <INPUT name="submit" TYPE="image" id="submit" SRC="xxx.jpg" alt="送信する" WIDTH="110" HEIGHT="25" BORDER="0"> <INPUT name="reset" TYPE="image" id="reset" src="xxx.jpg" alt="クリア" width="75" height="25" border="0"> というように記述しているのですが、クリアボタンを押しても「送信」されてしまいます。 type="image"は送信だけでしょうか、他にありましたら教えてくださいm(_ _)m

    • ベストアンサー
    • HTML
  • 初心者ですみません。画像ファイルのアップロードについて

    任意の画像ファイルをHTMLフォームで入力して 登録確認画面に渡した後、ファイルをアップロード したいのですが上手くいきません。 ・フォーム入力ページ <FORM action="登録確認ページ.php" method="POST" enctype="multipart/form-data"> <INPUT type="file" name="uploadfile" size="50"> <INPUT type="submit" name="reg" value="OK"> ↓ ・登録確認ページ $uploadfile = $_FILES['uploadfile']; move_uploaded_file($uploadfile, "$PHOTOTMP$imagefile"); $body .= "<IMG src='$PHOTOTMP$imagefile' width='240' height='180'>"; として、登録確認ページでアップロードする 画像ファイルをいったん表示させてから 最終的にアップロードさせたいのですが 「×」マークが出て画像が表示されません。 データの受け渡しが上手くできていないのでしょうか。 どなたか教えて下さい。よろしくお願いします。

    • ベストアンサー
    • PHP
  • 画像アップ

    php初心者です 簡単な画像アップロードを付けたいと思っています それでアップだけはなんとかできたのですが、もう少し機能を付けたいです 付けたい機能は 1.拡張子を調べて限定したい。gif、jpg、pngの三つを許可したい 2.画像の横と縦の幅が指定した幅より大きければ、指定した幅まで縦横比維持で縮小 100*100 3.もう一つのディレクトリに、小さいサムネイルを作りたい。大きさは32*32です 4.拡張子はそのままにして画像の名前をリネームしたいです よろしくお願いします(_ _ <?php $img_name = $_FILES["upfile"]["name"]; $img_size = $_FILES["upfile"]["size"]; $img_type = $_FILES["upfile"]["type"]; if($_REQUEST["up"] != ""){ if($img_tmp != "" and $img_size <= 50000){ $img_message = "名前は: $img_name <br>サイズは: $img_size <br>MIMEタイプは: $img_type"; if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) { chmod("files/" . $_FILES["upfile"]["name"], 0604); print $_FILES["upfile"]["name"] . "をアップロードしました。"; } else { print "ファイルをアップロードできません。"; } } else { print "ファイルが選択されていません。"; } }else{ $size_error = "サイズが大きすぎます"; } } ?> <html> <head> <title>画像アップロード</title> </head> <body> <form name="form" action="" method="POST" ENCTYPE="MULTIPART/FORM-DATA"> <input name="upfile" type="file" size="40"> <input name="up" type="submit" value="アップロード"><hr> </form> <?php print($size_error); ?><?php print($img_message); ?> </body> </html>

    • ベストアンサー
    • PHP
  • ファイルのアップロードができません

    今日始めたばかりの初心者です。 PHPだとCGIに比べ、ファイルのアップロードとか画像の処理が簡単に行えそうなのでチャレンジしてみたのですが、いきなりつまづいてしまいました。 とりあえずファイルをアップロードしてみようと思い、下のようなサンプルをアップロードしてみたのですが、さっぱり動きません。 適当なjpgファイルをアップロードすれば、スクリプトのあるディレクトリに”aaa.jpg”という名前で保存すると思うのですが…。 最後の”var_dump($_FILES);”という命令で、アップロードされたファイルの内容を表示させてるはずなのですが、ファイル送信前も後も”array(0) {}”としか表示されません。 PHPのバージョンは4.34です。 どなたかご教授お願いします。 ************************ <form enctype="multipart/form-data" method="post"> Upload File:<input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <pre> <?php if (!empty($_FILES)) { move_uploaded_file($_FILES['userfile']['tmp_name'],'aaa.jpg'); } var_dump($_FILES); ?> </pre> ************************

    • ベストアンサー
    • PHP