PHP/Sample02
をテンプレートにして作成
LECTURE
担当科目一覧
コンピュータ概論/2024
データサイエンス/2024
3DCG演習/2024
情報デザイン研究/2024
卒業研究/2024
KEYWORDS
WEB DESIGN
SOCIAL DESIGN
SQUARES
LINKS
九州産業大学
芸術学部
芸術研究科
九産大美術館
九産大図書館
年間スケジュール
動画ニュース他
交通情報
気象・環境情報
危機に備えて
K'sLife
Office365Mail
Tools
SEARCH
開始行:
*PHP Sample Code
Counter / Simple Line BBS / File Upload
~
アクセスカウンター、簡易掲示板、画像のアップロードについ...
ここでのサンプルは、サーバー内のデータを書き換えたり、...
サーバー内に設置したファイルやフォルダについては、必要...
#contents2_1
#hr
~
***事例5:簡易アクセスカウンター
-DEMO:https://design.kyusan-u.ac.jp/SampleSite/PHP_AC/
-CODE:https://github.com/koichi-inoue/PHP_Sample05
このサンプルでは、同一のディレクトリに、 ''index.php'' と...
-''index.php''
https://github.com/koichi-inoue/PHP_Sample05/blob/master/...
-''count.txt''
0
''count.txt'' という名前のファイルを同一ディレクトリに置...
数字を1つ記憶しているだけなので、初期値として「 0 」のみ...
尚、''count.txt は 初期状態が 0 + 改行 ではダメなので''、...
2回め以降のアクセスでは、まずファイルからデータを取り出...
''count.txt は書き込み可能であることが前提です。'' FTPツ...
~
''<?php ~ ?>''の部分のコードを既存のあなたのページのソー...
~
***事例6:簡易投稿掲示板
この事例では、投稿フォームからの送信に対して、自分自身を...
-DEMO:https://design.kyusan-u.ac.jp/SampleSite/PHP_BBS/
~
''index.php''
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>LINE BBS</title>
</head>
<body>
<p>LINE BBS with PHP</p>
<form action="./index.php" method="POST">
NAME : <input type="text" name="name" size="...
COMMENT : <input type="text" name="message" ...
PASSWORD : <input type="password" name="pass...
<input type="submit" value="SUBMIT" >
</form>
<?php
$file = "log.txt";
$log = "";
if(file_exists($file)) {
$log = file_get_contents($file);
}
if( $_POST["name"] != "" && $_POST["message"...
if( $_POST["password"] != "******" ){
echo "<hr>"."Password does not match...
} else {
$name = htmlspecialchars( $_POST[...
$message = htmlspecialchars( $_POST[...
$line = "<p>$name : $message</p>\n";
$log = $line . $log;
file_put_contents($file, $log);
}
}
echo "<hr>".$log;
?>
</body>
</html>
投稿されたメッセージは、log.txt という名前のファイルに逐...
[[htmlspecialchars()>http://php.net/manual/ja/function....
// pass: webdesign
~
~
***事例7:画像投稿掲示板
-DEMO:https://design.kyusan-u.ac.jp/SampleSite/PHP_PHOTO/
~
''index.php''
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHOTO STOCK</title>
</head>
<body style = "line-height:180%;">
<p>PHOTO STOCK with PHP</p>
<form enctype="multipart/form-data" method="POST">
FILE : <input type="file" name="photo" ><br>
COMMENT : <input type="text" name="comment" ...
PASSWORD : <input type="password" name="pass...
<input type="submit" value="UPLOAD">
</form>
<?php
$dir = "images/";
$file = "log.txt";
$log = array();
if( ! is_writable ( $file ) ){
echo "<hr>"."SYSTEM ERROR : Can't open l...
exit;
}
$log = file($file);
do {
if( ! is_uploaded_file( $_FILES['photo']...
|| $_POST["com...
$err = "<hr>"."ERROR : Upload error....
break; // 画像とコメントがアップされ...
}
if( $_POST["password"] != "******" ){
$err = "<hr>"."ERROR : Password erro...
break; // パスワードが一致しない
}
$imageSize = getimagesize($_FILES['photo...
if( $imageSize[2] != 2 ){ // 1:GIF 2...
$err = "<hr>"."ERROR : JPEG format o...
break; // 画像の形式が一致しない
}
$tmp = $_FILES['photo']['tmp_name'];
$name = $_FILES['photo']['name'];
$namePlus = date("YmdHis");
$imageName = $dir.$namePlus."_".urlencod...
$comment = htmlspecialchars( $_POST["com...
move_uploaded_file($tmp, $imageName)
// 画像データをリサイズ
list($w, $h) = getimagesize($imageName);
$width = 480;
$height = floor($h * ($width / $w));
$inputImage = imagecreatefromjpeg($imag...
$outputImage = imagecreatetruecolor($wid...
imagecopyresampled(
$outputImage,$inputImage,0,0,0,0,$wi...
imagejpeg($outputImage, $imageName);
// ログファイルに追記
$date = date("Y-m-d H:i:s");
$newline = "{$imageName}\t{$comment}\t{$...
array_unshift($log,$newline);
file_put_contents($file, $log);
$err = "";
break; // 正常終了
} while(0);
echo $err;
$html ="";
// ログデータからHTMLを生成
foreach($log as $line){
list($imageName,$comment,$date) = split(...
$html .= <<<__DATA__
<hr>
<p><img src = '$imageName' width></p>
<p>$comment ($date) </p><br>
__DATA__;
}
echo $html;
?>
</body>
</html>
投稿された画像データと、コメントが逐次蓄積されていきます。
画像は幅480ピクセルにリサイズされて images フォルダに、ま...
尚、事例6もパスワードがの入力と真偽判定を行う処理を追加...
''プログラムの構文について''
ちょっと変なかたちですが、do ~ while(0) という1回だけ動...
~
~
終了行:
*PHP Sample Code
Counter / Simple Line BBS / File Upload
~
アクセスカウンター、簡易掲示板、画像のアップロードについ...
ここでのサンプルは、サーバー内のデータを書き換えたり、...
サーバー内に設置したファイルやフォルダについては、必要...
#contents2_1
#hr
~
***事例5:簡易アクセスカウンター
-DEMO:https://design.kyusan-u.ac.jp/SampleSite/PHP_AC/
-CODE:https://github.com/koichi-inoue/PHP_Sample05
このサンプルでは、同一のディレクトリに、 ''index.php'' と...
-''index.php''
https://github.com/koichi-inoue/PHP_Sample05/blob/master/...
-''count.txt''
0
''count.txt'' という名前のファイルを同一ディレクトリに置...
数字を1つ記憶しているだけなので、初期値として「 0 」のみ...
尚、''count.txt は 初期状態が 0 + 改行 ではダメなので''、...
2回め以降のアクセスでは、まずファイルからデータを取り出...
''count.txt は書き込み可能であることが前提です。'' FTPツ...
~
''<?php ~ ?>''の部分のコードを既存のあなたのページのソー...
~
***事例6:簡易投稿掲示板
この事例では、投稿フォームからの送信に対して、自分自身を...
-DEMO:https://design.kyusan-u.ac.jp/SampleSite/PHP_BBS/
~
''index.php''
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>LINE BBS</title>
</head>
<body>
<p>LINE BBS with PHP</p>
<form action="./index.php" method="POST">
NAME : <input type="text" name="name" size="...
COMMENT : <input type="text" name="message" ...
PASSWORD : <input type="password" name="pass...
<input type="submit" value="SUBMIT" >
</form>
<?php
$file = "log.txt";
$log = "";
if(file_exists($file)) {
$log = file_get_contents($file);
}
if( $_POST["name"] != "" && $_POST["message"...
if( $_POST["password"] != "******" ){
echo "<hr>"."Password does not match...
} else {
$name = htmlspecialchars( $_POST[...
$message = htmlspecialchars( $_POST[...
$line = "<p>$name : $message</p>\n";
$log = $line . $log;
file_put_contents($file, $log);
}
}
echo "<hr>".$log;
?>
</body>
</html>
投稿されたメッセージは、log.txt という名前のファイルに逐...
[[htmlspecialchars()>http://php.net/manual/ja/function....
// pass: webdesign
~
~
***事例7:画像投稿掲示板
-DEMO:https://design.kyusan-u.ac.jp/SampleSite/PHP_PHOTO/
~
''index.php''
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHOTO STOCK</title>
</head>
<body style = "line-height:180%;">
<p>PHOTO STOCK with PHP</p>
<form enctype="multipart/form-data" method="POST">
FILE : <input type="file" name="photo" ><br>
COMMENT : <input type="text" name="comment" ...
PASSWORD : <input type="password" name="pass...
<input type="submit" value="UPLOAD">
</form>
<?php
$dir = "images/";
$file = "log.txt";
$log = array();
if( ! is_writable ( $file ) ){
echo "<hr>"."SYSTEM ERROR : Can't open l...
exit;
}
$log = file($file);
do {
if( ! is_uploaded_file( $_FILES['photo']...
|| $_POST["com...
$err = "<hr>"."ERROR : Upload error....
break; // 画像とコメントがアップされ...
}
if( $_POST["password"] != "******" ){
$err = "<hr>"."ERROR : Password erro...
break; // パスワードが一致しない
}
$imageSize = getimagesize($_FILES['photo...
if( $imageSize[2] != 2 ){ // 1:GIF 2...
$err = "<hr>"."ERROR : JPEG format o...
break; // 画像の形式が一致しない
}
$tmp = $_FILES['photo']['tmp_name'];
$name = $_FILES['photo']['name'];
$namePlus = date("YmdHis");
$imageName = $dir.$namePlus."_".urlencod...
$comment = htmlspecialchars( $_POST["com...
move_uploaded_file($tmp, $imageName)
// 画像データをリサイズ
list($w, $h) = getimagesize($imageName);
$width = 480;
$height = floor($h * ($width / $w));
$inputImage = imagecreatefromjpeg($imag...
$outputImage = imagecreatetruecolor($wid...
imagecopyresampled(
$outputImage,$inputImage,0,0,0,0,$wi...
imagejpeg($outputImage, $imageName);
// ログファイルに追記
$date = date("Y-m-d H:i:s");
$newline = "{$imageName}\t{$comment}\t{$...
array_unshift($log,$newline);
file_put_contents($file, $log);
$err = "";
break; // 正常終了
} while(0);
echo $err;
$html ="";
// ログデータからHTMLを生成
foreach($log as $line){
list($imageName,$comment,$date) = split(...
$html .= <<<__DATA__
<hr>
<p><img src = '$imageName' width></p>
<p>$comment ($date) </p><br>
__DATA__;
}
echo $html;
?>
</body>
</html>
投稿された画像データと、コメントが逐次蓄積されていきます。
画像は幅480ピクセルにリサイズされて images フォルダに、ま...
尚、事例6もパスワードがの入力と真偽判定を行う処理を追加...
''プログラムの構文について''
ちょっと変なかたちですが、do ~ while(0) という1回だけ動...
~
~
ページ名: