プロが教えるわが家の防犯対策術!

phpプログラムでsqlを使いサーバに画像を上げるコードを作成しています。
が、DBにリンクパスは登録されるも肝心の画像が保存されず表示できませんでした。

下のコードでずっといろいろいじってきましたが問題点や改善点はありますでしょうか?
初心者なので内容もあやふやかもしれませんがご教示お願い致します。

for ($i=1; $i<=5; $i++){
if(is_uploaded_file($_FILES["photoPath".$i]["tmp_name"])){
var_dump(is_array($_FILES["photoPath".$i]["tmp_name"]));
//写真ファイルアップロード?
$updir = $path.$_FILES["photoPath".$i]["name"];
$filename = mb_convert_encoding($updir, "SJIS", "AUTO");
var_dump(is_array($_FILES["photoPath".$i]["tmp_name"]));
if(move_uploaded_file($_FILES["photoPath".$i]["tmp_name"],$filename) == FALSE){
echo "Upload failed";
echo $_FILES["photoPath".$i]["error"];
}
}
}

質問者からの補足コメント

  • つらい・・・

    php.ini調べました。
    特に問題は無さそうです...

    No.3の回答に寄せられた補足コメントです。 補足日時:2016/07/28 10:44
  • うーん・・・

    回答ありがとうございます。
    パーミッションですが[777]で設定はしていますが、関係あるのでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/07/28 11:20
  • つらい・・・

    回答ありがとうございます。
    私自身、頭がこんがらがっていて、上手くお答えできているか分かりませんが

    HTMLソースやDBにリンクパスの情報は保存されています。
    画像データ自体はDBに保存せず、サーバ内の指定したリンクパス先のフォルダに保存したいのです。
    (ファイルのアップロード処理でサーバの指定フォルダに格納?でいいのでしょうか?)

    またプログラムの実行をした際にエラーは表示されませんでした。
    HTMLページで画像の確認をしたときに
    Not Found
    The requested URL /Gfile/3/Hogege.png was not found on this server.
    となります。

    よろしくお願い致します...

    No.4の回答に寄せられた補足コメントです。 補足日時:2016/07/28 12:01
  • つらい・・・

    回答ありがとうございます。
    私も不明な点を調べて理解しようとしていますが、いまいちパッとしません...
    申し訳ないのですが、コードの一連の流れの解説など頂けると助かります><

      補足日時:2016/07/28 13:52

A 回答 (4件)

どんなエラーが出ているかわかりませんが、php.iniの設定は大丈夫?



post_max_size
upload_max_filesize
あたりかな。
この回答への補足あり
    • good
    • 1

どこでどうエラーがでているのか整理して提示してください


DBは情報を保持しているだけで、データはDBに保存していないのですよね?
この回答への補足あり
    • good
    • 0

画像そのもののデータをRDBに保存したい、ということなんですよね?


ならばblob型カラムにファイルの内容を書き込む必要があります。

http://hijiriworld.com/web/mysql-img-binary/

このあたりを参考に。
    • good
    • 0

move_uploaded_file()が失敗して"Upload failed”が表示されるということ?


アップロード先のディレクトリのパーミッションとか大丈夫ですか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!