8月 172011
 

前回はフォームから画像を受け取り、WEBサーバーへ保存し、ページに表示させました。
phpの組み込み関数を使って、受け取ったファイルを操作して、
サムネール画像を作ってみましょう。

【form.html】
ファイルアップロードのテスト
<form action=”view.php” method=”postenctype=”multipart/form-data” name=”form1″ id=”form1″>
  <input name=”MAX_FILE_SIZE” type=”hidden” id=”MAX_FILE_SIZE” value=”100000″ />
画像:
<input name=”uploadfile” type=”file” id=”uploadfile” size=”50″ />
<br />
説明:
<input name=”comment” type=”text” id=”comment” size=”50″ />
<br />
<input type=”submit” name=”button” id=”button” value=”ファイルアップロード” />
</form>

【view.php】
<?php
$resizeX = 150;  //縮小するサイズを指定する
$thumnail_name = “thumnail.jpg”;  //縮小するファイル名を指定する

$file_dir = ‘file/';
$file_path = $file_dir.$_FILES[“uploadfile”][“name”];

if(move_uploaded_file($_FILES[“uploadfile”][“tmp_name”],$file_path)){
 $img_dir = “file/”;
 $img_path = $img_dir.$_FILES[“uploadfile”][“name”];
 $thumnail_path = $img_dir.$thumnail_name;
 if(mb_strpos($_FILES[‘uploadfile’][‘type’],’jpeg’)){
  $gdimg_in = imagecreatefromjpeg($file_path);  //ファイルのイメージIDを取得する
  $ix = imagesx($gdimg_in);  //画像ファイルの横幅を取得する
  $iy = imagesy($gdimg_in);  //画像ファイルの高さを取得する
  
  $ox = $resizeX;        //サイズ変更後の横幅
  $oy = ($ox*$iy)/$ix;  //サイズ変更後の高さを計算する

  $gdimg_out = imagecreatetruecolor($ox,$oy);  //サイズ変更後のイメージIDを作る
  imagecopyresized($gdimg_out,$gdimg_in,0,0,0,0,$ox,$oy,$ix,$iy);  //画像の複製とサイズ変更を行う
  imagejpeg($gdimg_out,$thumnail_path);  //画像をファイルに保存する
  imagedestroy($gdimg_out);  //メモリを解放する
  imagedestroy($gdimg_in);    //メモリを解放する
  
  $size = getimagesize($file_path);
  $size2 = getimagesize($thumnail_path);

?>
ファイルアップロードを完了しました。<br />
<img src=”<?php echo $img_path?>” <?php echo $size[3]?>>
<img src=”<?php echo $thumnail_path?>” <?php echo $size2[3]?>><br />
<?php echo $_POST[“comment”] ?>

<?php
 }else{
 print “JPEG形式の画像をアップロードしてください<br />”;
 }

}else{
 print “正常にアップロード処理されませんでした。”;
}
?>

画像ファイルの加工

8月 132011
 

phpを使って、ファイルをWEBサーバーへ送信することが出来ます。
画像ファイルを受け取り、WEBサーバーへ保存し、
受け取った画像を表示さてみましょう。

【form.html】
ファイルアップローダーのテスト
<form action=”view.php” method=”postenctype=”multipart/form-data” name=”form1″ id=”form1″>
  <input name=”MAX_FILE_SIZE” type=”hidden” id=”MAX_FILE_SIZE” value=”100000″ />
画像:
<input name=”uploadfile” type=”file” id=”uploadfile” size=”50″ />
<br />
説明:
<input name=”comment” type=”text” id=”comment” size=”50″ />
<br />
<input type=”submit” name=”button” id=”button” value=”ファイルアップロード” />
</form>

【view.php】
<?php
$file_dir = ‘file/';
$file_path = $file_dir.$_FILES[“uploadfile”][“name”];

if(move_uploaded_file($_FILES[“uploadfile”][“tmp_name”],$file_path)){

$img_dir = “file/”;
$img_path = $img_dir.$_FILES[“uploadfile”][“name”];
$size = getimagesize($file_path);

?>
ファイルアップロードを完了しました。<br />
<img src=”<?php echo $img_path?>” <?php echo $size[3]?>><br />
<?php echo $_POST[“comment”] ?>

<?php
}else{
?>
正常にアップロード処理されませんでした。
<?php
}
?>

画像ファイルアップローダー