画像のアップロードシステムとは - PHPプロ!Q&A掲示板

306

  • 0P

画像のアップロードシステムとは

質問日時 / 2007年1月5日 15:07    回答数 / 3件

Questioner:  mahimahi  このエントリーをはてなブックマークに追加 

キーワード / 画像    ファイル   

あけましておめでとうございます。

とあるサイトを作成しているのですが、その中でユーザー側で画像をアップロードしてそれを公開できるように(mixiの写真アップロードのようなもの)したいのですが、プログラム作成の手順で行き詰ってしまいました。

どなたか簡単な流れでもかまいませんのでお分かりになる方がいらっしゃいましたら教えていただけませんでしょうか?

当方はPHP5でMYSQLを利用しています。

よろしくお願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01shizkhttp://www.phppro.jp/phpmanual/php/features.file-u
┗A02edute大まかな流れとしましては 1.ユーザー側にファイル
 ┗A02-1mahimahi返信遅くなってしまいました。 ぶじアップロードで

回答一覧

並び替え:

A01 参考になった
answerershizk [1月7日 19:53]

http://www.phppro.jp/phpmanual/php/features.file-upload.html

参照してみて下さい。

この意見に回答する

ツリーへ TOPへ

A02 満足
answereredute [1月11日 17:49]

大まかな流れとしましては
1.ユーザー側にファイルを選択してもらい、任意のファイルをアップロードさせる
2.アップロードしたファイルを、move_uploaded_file関数等でコピー(保存)させる。


とりあえず、まずユーザー側からファイルを選択し、アップロードするフォームを作ります。
  1. <form action="upload.php" method="post" enctype="multipart/form-data">
  2.   <input type="file" name="up" />
  3.   <input type="submit" value="アップロード" />
  4. </form>
仮にですが、こんな感じで。

次に、アップロードしたファイルを受け取り、処理をするphpを作る事になりますが、
えーと上の例で言うとupload.phpという名前になりますが、2行目の「typeにfileを指定したinputタグのname」が肝です。
ここではname="up"として、upという名前を使っています。
この場合、$_FILES['up']という変数に色々とアップロードされたファイルに関しての情報が格納されているのですが、
$_FILES['up']['tmp_name']の内容をコピーして残せばOKです。
(アップロードされたファイルというのは一時的に残りはするものの、即座に消えるので、消える前に任意の場所にコピーするような要領)
  1. $uploadfile = "(ファイルを保存しておきたい場所のパス&ファイル名)";
  2. move_uploaded_file($_FILES['up']['tmp_name'], $uploadfile);
上のように書けば、$uploadfileで設定した場所、名前で保存されているはずです。

名前が重複すると困るでしょうから、ファイル名には現在時刻だったり固有IDだったりをうまく設定して工夫するといいと思います。

この意見に回答する

ツリーへ TOPへ

A02-1
replyermahimahi [1月12日 12:59]

返信遅くなってしまいました。

ぶじアップロードできるようになりました!ありがとうございます!

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
マジッククォートとmysql_real_escape_string
 このエントリーをはてなブックマークに追加 
A
magic_quotes_gpcでは、SQLインジェクション対処は十分できません。主な理由として、以下が上げられます。 ・magic_quotes_gpcは文字コードを考慮しないで処理するので、Shift_JISを使っている場合、SQLインジェ...

>>続きを読む

SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)