PHPでかんたんな画像アップローダー

保存先のフォルダを選べる画像アップローダを作成する

upload.phpのフォーム部分を記述します。

<table>
<form action=’upload.php‘ method=’post’ enctype=’multipart/form-data’>
<tr>
<td>ファイル:</td>
<td><input type=’file’ name=’upfile’ size=’30’></td>
</tr>
<tr>
<td>保存先:</td>
<td>
<select name=’folder’>
<option value=’img01/’>フォルダ1</option>
<option value=’img02/’>フォルダ2</option>
</select>
</td>
</tr>
<tr>
<td colspan = ‘2’ align=’center’>
<input type=’submit’ value=’アップロード’>
<input type=’hidden’ name=’phase’ value=’receive’>
</td>
</tr>
</form>
</table>

enctype=’multipart/form-data’

  • フォームからデータを送信するためのエンコードです。

    [upfile][name] ファイル名

    [upfile][type] ファイルタイプ image/jpeg など

    [upfile][tmp_name] アップロードされたファイルに一時的につけられる、パスを含むテンポラリファイル名 /tmp/phpJP00Aqなど

    [upfile][error] エラーがなければ0

    [upfile][size] ファイルサイズ

    が送られます。

phaseがreceiveだったら受け取る部分を実行します

if($phase == ‘receive’){

/***  受け取ったあとの処理 ***/

if( is_uploaded_file($_FILES[“upfile”][“tmp_name”])or die(“its not uploaded file”)){
if( move_uploaded_file($_FILES[“upfile”][“tmp_name”], $_POST[“folder”] . $_FILES[“upfile”][“name”])or die(“couldnt move the file”)){
chmod($_POST[“folder”] . $_FILES[“upfile”][“name”], 0644);
$file_name = $_POST[“folder”] . $_FILES[“upfile”][“name”];
$message = “ファイルをアップロードしました。


コメント

タイトルとURLをコピーしました