Weitere ähnliche Inhalte
Ähnlich wie Image register for_h (20)
Image register for_h
- 2. 2
Copyright (c) HEART QUAKE All rights reserved .
処理理の流流れ
画像を指定する1 2 3
HTML
HTMLから情報をもらう
&画像をサーバーに転送
情報を登録する
PHP SQL
- 3. 3
Copyright (c) HEART QUAKE All rights reserved .
画像の登録(1/6)
l ゴールイメージ
- 指定された画像情報をデータベースに登録する
ようなアプリケーションを作ってみましょう。
⼊入⼒力力画⾯面
HTML
- 4. 4
Copyright (c) HEART QUAKE All rights reserved .
画像の登録(2/6)
l ⼊入⼒力力された画像を指定しよう!
- まずは画像選択の⼊入⼒力力欄を表⽰示する
この上は省略
<form action="image_input.php"
method="POST" enctype="multipart/form-data" >
画像のファイル名を入力してください(最大64KByte)
<input size="30" type="file" name="upfile">
<input type="hidden" name="MAX_FILE_SIZE"
value="65536”>
<br>
<input type="submit" name="submit" value="送信”>
</form>
</body></html>
画像を指定するときは
このように書く
画像はtype=”file”
HTML
画像の最⼤大サイズを指定
- 5. 5
Copyright (c) HEART QUAKE All rights reserved .
処理理の流流れ
画像を指定する1 2 3
HTML
HTMLから情報をもらう
&画像をサーバーに転送
情報を登録する
PHP SQL
- 6. 6
Copyright (c) HEART QUAKE All rights reserved .
画像の登録(3/6)
l 画像データの登録に関して
- データベースに画像ファイルを保存するのではなく、
- 画像ファイル名だけをデータベースに保存する。
- 肝⼼心の画像ファイルはサーバーに保管する。
画像を指定する1 2
3
HTML
HTMLから情報をもらう
&画像をサーバーに転送
画像ファイル名は
データベースに保管
PHP
4 画像ファイル⾃自体は
サーバーに保管
- 7. 7
Copyright (c) HEART QUAKE All rights reserved .
画像の登録(4/6)
l 画像データの保存フォルダの作成
- サーバー上に画像データ保存⽤用のフォルダを作成します
「…」フォルダをクリック1
2 右クリックして
Create directory
3 フォルダ名はimg
4 imgフォルダを右クリック
してFile permissionsを
クリック
5 777にしてOK
- 8. 8
Copyright (c) HEART QUAKE All rights reserved .
画像の登録(5/6)
<?php
$error = $_FILES['upfile']['error'];
if ($error == 2){
echo "画像のサイズが大きすぎます!”;
}else{
//画像を保管するサーバーのフォルダを指定する
//FTP(FileZilla)ユーザ名部分はサーバー情報を見て変更すること!
$dir = ’ /home/ユーザ名/public_html/img/’;
$file = $dir.basename( $_FILES['upfile']['name'] );
//次のページでここにプログラムを追加する
}
?>
HTML側で指定した最⼤大サイ
ズよりも画像のサイズが⼤大き
い場合はエラーは2となる。
http://webtech-walker.com/
archive/
2007/09/20143717.html
PHP
HTMLで指定された画像のファイル名は
$_FILES[’HTMLで指定したname']
['name']
に⼊入っている。
- 9. 9
Copyright (c) HEART QUAKE All rights reserved .
画像の登録(6/6)
//前のページの続き
$file = $dir.basename( $_FILES['upfile']['name'] );
if(file_exists($file)){
echo "既に同名の画像が存在するため、別名にしてください。";
}else{
if( move_uploaded_file($_FILES['upfile']['tmp_name'],
$file) ) {
//データベースに画像ファイル名を登録するプログラムを書く
}else{
echo "ファイルのアップロード失敗";
}
}
}
?>
サーバーに同じファイル名の
画像があればエラーとする。
PHP
move_uploaded_file関数
によって指定した画像ファイルが
サーバーに保管=アップロードされる
FileZillaで提出しているのとやっている
ことは同じ。