保存先のフォルダを選べる画像アップローダを作成する
upload.phpのフォーム部分を記述します。
<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 = “ファイルをアップロードしました。
PHPでIEを判別する
処理を中断してエラーメッセージを表示する
die(" ")
知らんかった。。。
ページごとのクセスカウンタを作る
//ページのIDを含んだファイル名
$logfile = “access/” . $page_id . “.dat”;
//ファイルを開いて現在の数字を読み込む。無い場合はファイルを作成する
$fp = @fopen($logfile,”r”);
$accnt = fgets($fp);
fclose($fp);
//カウンタの数を一つ増やす
$accnt = $accnt + 1;
//増やした数字を上書きする
$fp = @fopen($logfile,”w”);
fputs($fp, $accnt);
fclose($fp);
fopen | ファイルを開く |
fgets | ファイルの内容を読み込む |
fwrite | ファイルに書き込む |
fclose | ファイルを閉じる |