logo

その他にもどる

画像投稿

●掲示板で画像を投稿する場合は、<form> と </form>の間に2行加える
  <form method="post" action="bbs.php" enctype="multipart/form-data">

    <input type="hidden" name="MAX_FILE_SIZE" value="160000">
    画像<input type="file" name="image" size="50">※拡張子はjpg、160kb未満で<br>

    <input type="submit" name="toko" value="投稿する">
  </form>


下のように表示される
画像※拡張子はjpg、160kb未満で


前項「一行掲示板」スクリプトの「$errMsg = "■投稿処理、完了しました";」 の直前に次を書き加えればよい

	if ($_FILES["image"]["tmp_name"] != ""){//画像がある場合
		$imgfile = "img/$No.jpg";//フォルダは「img」
		move_uploaded_file($_FILES["image"]["tmp_name"],$imgfile); 
	}

※ファイル名は、例えば投稿NOが 3 の場合は、3.jpg という名で保存される
※保存するフォルダ「img」で(属性は 707 または 777)
※ファイル名をもとのままで保存したい場合は、
   $imgfile = "img/$No.jpg"; の部分を
   $imgfile = "img/" . $_FILES["file"]["name"]; にする


●画像を縮小させるには、
	list($width, $hight) = getimagesize($_FILES["image"]["tmp_name"]);
	$width2 = 640;//縮小の横幅を指定
	$hight2 = $hight * $width2 / $width;
	$baseImage = imagecreatefromjpeg($_FILES["image"]["tmp_name"]);
	$image = imagecreatetruecolor($width2, $hight2);
	imagecopyresampled($image, $baseImage, 0, 0, 0, 0, $width2, $hight2, $width, $hight);
	imagejpeg($image , $_FILES["image"]["tmp_name"]);//縮小後のファイル


●エラーチェックは次のように書き加える
    if ($_FILES["image"]["tmp_name"] != ""){ //画像がある場合
        if($_FILES["image"]["size"] > 160000){$errMsg .= "サイズは160kbまで";}
        $file_nm = $_FILES['image']['name'];
        $extension = pathinfo($file_nm, PATHINFO_EXTENSION);
        if($extension <> "jpg"){$errMsg .= "ファイルの拡張子がjpgではありません";}
    }
※ファイル名で jpg 以外に gif も可能にするには、
  if($extension <> "JPG" and $extension <> "jpg") の部分を
  if($extension <> "JPG" and $extension <> "jpg" and $extension <> "GIF" and $extension <> "gif") にする


●投稿したファイル(jpg)を一行掲示板に表示させには、
<?php
    $fp = file("$logFile");
    for($i=0; $i<count($fp); $i++) {
        $list = explode(",",$fp[$i]);

        (スクリプト)

        if (file_exists("img/$list[0].jpg")) { //画像があれば
   	        echo "<IMG src=img/$list[0].jpg border=0>";
        }
    }
?>


●jpg 以外のファイルを表示させる方法は、
<?php
$type = array("jpg","gif","png","bmp");	  //拡張子を指定しておく

        (スクリプト)

        foreach ( $type as $value ) { //画像があれば
            if (file_exists("img/$list[0]".".$value")) {
                echo "<IMG src=img/$list[0]".".$value border=0>";
            }
        }

        (スクリプト)
}
?>


●最後に、投稿したファイル(jpg)を削除する方法は、
「※削除処理、完了しました」 の前に書き加える
<?php
        (スクリプト)

        if (file_exists("img/$bno.jpg")) { //画像がある場合
            unlink("img/$bno.jpg");
        }

        $errMsg = "※削除処理、完了しました";
}
?>


---- End ----

↑PageTop その他にもどる