Rebeのプロフィール

@Rebe Rebe
ありがとう数2
質問数3
回答数2
ベストアンサー数
0
ベストアンサー率
0%
お礼率
75%

  • 登録日2008/02/02
  • PHPを使って、1ページ内で新規レコードと画像アップロードしたいのですが・・・

    PHP4、MySQL4初心者です。 今回、会員名簿のDBをつくり、PHPを使って、管理者が新規会員(レコード)を登録できるようにプログラミングしています。 フィールドは、「ID」「名前」「住所」「コメント」等の数字や文字データばかりでしたが、今回会員の写真(jpg)データも新規会員登録画面で一緒に登録できるようにして欲しいと要望があり、色々調べておりますが四苦八苦しております・・・ 基本的な構造としましては・・・ HTMLファイルにformタグを使って、入力してもらったデータをpostで飛ばして、別ファイル(php)でsql文を書いて、insertしている形です。 その際に一緒に画像も、sbumitする際に所定のフォルダにアップロードして、そのファイル名をimg_id.jpg みたいな形で接頭語とidをくっつけて、作成して、その画像ファイル名をさらに、DBのフィールド”img_name”に登録したいのです。 画像はBLOBでDBにアップではなく、あくまでFTPで後で入って処理しやすいように、public以下のフォルダ内に特定のフォルダを作成してそこにアップしたいと思います。 1ページ以内で処理するということで、かなり困っていますが、いい方法はないでしょうか・・・? みなさん! どうかお知恵をお貸しくださいませ!! ちなみに現在できている登録のコードはこちらです。 -------------(HTML)------------------------------------- <html> <body> <h2>新規会員登録</h2> <form action="insert.php" method="post"> ■会員名 :<input type="text" name="input_name" /><br> ■住 所 :<input type="text" name="input_addr" /><br> ■コメント:<input type="text" name="input_comm" /><br> <input type="submit" value="-- 登録する --" /> </form> </body> </html> -------------(HTML)------------------------------------- -------------(PHP:insert.php)-------------------------- <? $db = mysql_connect("localhost","ユーザー名","パスワード"); mysql_select_db("データベース名"); $query = "set NAMES euc"; $result = mysql_query($query); // ここで、HTMLフォームの中のinputタグに対応したデータを取得 $name= $_POST["input_name"]; $addr= $_POST["input_addr"]; $comm= $_POST["input_comm"]; $query = "insert into テーブル名(name,addr,comm) values ('$name','$addr','$comm')"; $result = mysql_query($query); mysql_close($db); ?> <html> </head> <body> <h2>新規会員登録</h2> <p>データ登録完了</p> </body> </html> -------------(PHP)-------------------------------------- phpで画像をアップロードするときは formの中に ”enctype=\"multipart/form-data”を入れたり、 ”move_uploaded_file”を使ったりと、断片的には知識はありますが、 体系的に理解できません・・・ どなたか、アドバイス頂けましたら幸いです。 あるいは、解説してあるサイトや、フリーのサンプルスクリプト等教えて頂けましたら助かります・・! どうぞ、どうぞよろしくお願い致します!!

  • PHPを使ってのサーバ上ファイルのパーミッションの変更方法

    PHPおよびPEARを使って、FTPサーバ上のファイルのパーミッションの変更をしたいと考えています。 具体的には、 PEARを利用し、$ftp->put()でアップしたファイル($filename)を、700に属性変更したいのです。 ソース上は、 chmod($filename, 0700); と書いています。 ところが、実行すると以下のようなワーニングが出ます。 「Warning: chmod() [function.chmod]: No such file or directory in ・・・」 今度は、 $ftp->chmod($remote_folder[$i]. $filename, 0700); と書いて実行してみるとエラーは出ません。 しかし、パーミッションは変わっていませんでした。 次に、 「PEARの命令を使って実行すればいいんだ!」と考えて、 $ftp->execute(chmod($filename, 0700)); と書いて実行してみました。 結果は、最初と同じ、 「Warning: chmod() [function.chmod]: No such file or directory in ・・・」 というワーニングでした。 いったい何がいけないいんでしょうか(--; phpのマニュアルを見ると、chmodに、「この関数では、 リモートファイルを使用することはできません。」とあります。 が、教えて!gooなどで検索してみると、chmodを使って普通にサーバ上のファイルのパーミッションを変更している書き込みが見られます。 正直、混乱しているというか、よく分からない状態です。 皆様、気がついた点などありましたら、是非、アドバイスお願い致します。

    • ベストアンサー
    • Royal Host
    • PHP
    • 回答数3