プログラミング言語/PHP
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*言語の特徴 [#fc1818c9]
PHPのナイスな点としては
//PHPがPerlより早いのではなくCGIが遅いだけ
-MySQL等に代表されるデータベースとの親和性の高さ
等が上げられるような気がします。~
[[まずは、PHPの実行環境を整えましょう。>./PHPを始めるには...
*Javaとオブジェクト指向を用いたPHPの比較 [#s0a3d0e9]
(PHP)
#geshi(php,number){{
class Hello {
public static function main($args = array()) {
printf("( ^ω^) ");
}
}
Hello::main();
}}
(Java)
#geshi(java,number){{
public class Hello {
public static void main(String[] args) {
System.out.print("( ^ω^) ");
}
}
}}
*参考サイト、書籍 [#y890c8cc]
--一般
---[[日本PHPユーザーの会:http://www.php.gr.jp/]]
---[[PHP公式マニュアル:http://www.php.net/manual/ja/]]
--初心者向け
---[[レッツPHP!:http://php.s3.to/tt/]]~PHPのチュウトリア...
---[[phpspot:http://phpspot.net/php/]]~PHPエディタ、その...
---[[PHPpro:http://www.phppro.jp/]]~PHPのコミュニティポー...
---[[初心者向けPHP教習所まとめ:http://www.geocities.jp/vi...
*5分で作る超簡単アクセスカウター [#xcf3d923]
<?php
// 初期化
$count = 0;
$wr = false;
if (file_exists("c.dat")) {
$fp = fopen("c.dat", 'r+');
} else {
$fp = fopen("c.dat", 'w');
}
//
if ($fp != null) {
flock($fp, LOCK_EX);
$count = fgets($fp);
if ($count == '') $count = 0;
rewind($fp);
$wr = fwrite($fp, ++$count);
if ($wr === false) {
$count = 0;
}
flock($fp, LOCK_UN);
fclose($fp);
}
echo("来訪者数" . $count . "だお");
?>
*5分で作る超簡単掲示板 [#e4297c25]
パースエラーが出るかもしれません。
そのときは、エラーメッセージからエラーのある行を判断して...
<?php
$db = sqlite_open("log.db");
//最初に1回実行
sqlite_query($db, "create table T(num INTEGER PRIMARY KE...
if ($_POST['OK'] == 'OK') {
sqlite_query($db, "insert into T values(
NULL, '". htmlspecialchars($_POST['name'], ENT_Q...
'". nl2br(htmlspecialchars($_POST['str'], ENT_QU...
");
}
$f = sqlite_array_query($db, "select * from T");
sqlite_close($db);
?>
<html><head><title>けいじばn</title></head><body>
<?php
for ($i = 0; $i < count($f); $i++) {
?>
<?= $f[$i]['num'] ?>:<b><?= $f[$i]['name'] ?>さん </...
<?php
}
?>
<form method="post" action="./this.php">
名前:<input type="text" name="name"><br>本文:<textarea ...
<input type="submit" name="OK" value="OK">
</form>
*自作関数でも公開してみないか? [#tf0dd69d]
説明はこんな感じだと分かりやすい
----
**■動作内容 [#dd288d02]
/*
Test(①[, ②[, ③[, ④]]])
①…1番目の引数
②…2番目の引数
③…3番目の引数
④…4番目の引数
戻…戻り値
*/
----
**■URLにリンクを貼る [#g02755a0]
/*
str_link(①[, ②[, ③]])
①…URLまたはURLを含む文字列
②…ターゲット
③…タイトル(未入力の場合はURL)
戻…変換後の文字列
*/
function str_link($url,$target=NULL,$title='\0'){
if($target){
$target = " target=\"".$target."\"";
}
$url = preg_replace('/(http:\/\/|https|\/\/)[a-zA-Z0-9...
return $url;
}
----
**■重複するファイルを削除する [#yca1bf78]
#geshi(php){{
<?php
/*
check_dir( ① )
①…走査するディレクトリ
戻…成功すればtrue, 失敗すればnull
*/
/*
サンプル
//走査するディレクトリ
define('MY_CHECK_DIR','C:\Documents and Settings\My Docum...
$dir = scandir(MY_CHECK_DIR);
check_dir($dir);
*/
function check_dir($dir){
//最初に見つけたファイルは削除しない
$denial_items = array();
foreach($dir as $item){
//.と..は無視
if(preg_match('/^(\.|\.\.)$/',$item)){
continue;
}
//ディレクトリだったらそのディレクトリ内も走査
if(is_dir($item)){
check_dir(scandir(MY_CHECK_DIR.$item));
}else{
//最初のファイルは削除リストに加えない
if(!in_array(md5_file($item),$denial_items)){
$denial_items[] = md5_file($item);
}else{
$md5_list[getcwd().'\\'.$item] = md5_file...
}
}
}
//削除
foreach($md5_list as $path => $md5){
unlink($path);
print $path.'を削除しました。'.PHP_EOL.'MD5ハッシ...
}
return true;
}
?>
}}
終了行:
#contents
*言語の特徴 [#fc1818c9]
PHPのナイスな点としては
//PHPがPerlより早いのではなくCGIが遅いだけ
-MySQL等に代表されるデータベースとの親和性の高さ
等が上げられるような気がします。~
[[まずは、PHPの実行環境を整えましょう。>./PHPを始めるには...
*Javaとオブジェクト指向を用いたPHPの比較 [#s0a3d0e9]
(PHP)
#geshi(php,number){{
class Hello {
public static function main($args = array()) {
printf("( ^ω^) ");
}
}
Hello::main();
}}
(Java)
#geshi(java,number){{
public class Hello {
public static void main(String[] args) {
System.out.print("( ^ω^) ");
}
}
}}
*参考サイト、書籍 [#y890c8cc]
--一般
---[[日本PHPユーザーの会:http://www.php.gr.jp/]]
---[[PHP公式マニュアル:http://www.php.net/manual/ja/]]
--初心者向け
---[[レッツPHP!:http://php.s3.to/tt/]]~PHPのチュウトリア...
---[[phpspot:http://phpspot.net/php/]]~PHPエディタ、その...
---[[PHPpro:http://www.phppro.jp/]]~PHPのコミュニティポー...
---[[初心者向けPHP教習所まとめ:http://www.geocities.jp/vi...
*5分で作る超簡単アクセスカウター [#xcf3d923]
<?php
// 初期化
$count = 0;
$wr = false;
if (file_exists("c.dat")) {
$fp = fopen("c.dat", 'r+');
} else {
$fp = fopen("c.dat", 'w');
}
//
if ($fp != null) {
flock($fp, LOCK_EX);
$count = fgets($fp);
if ($count == '') $count = 0;
rewind($fp);
$wr = fwrite($fp, ++$count);
if ($wr === false) {
$count = 0;
}
flock($fp, LOCK_UN);
fclose($fp);
}
echo("来訪者数" . $count . "だお");
?>
*5分で作る超簡単掲示板 [#e4297c25]
パースエラーが出るかもしれません。
そのときは、エラーメッセージからエラーのある行を判断して...
<?php
$db = sqlite_open("log.db");
//最初に1回実行
sqlite_query($db, "create table T(num INTEGER PRIMARY KE...
if ($_POST['OK'] == 'OK') {
sqlite_query($db, "insert into T values(
NULL, '". htmlspecialchars($_POST['name'], ENT_Q...
'". nl2br(htmlspecialchars($_POST['str'], ENT_QU...
");
}
$f = sqlite_array_query($db, "select * from T");
sqlite_close($db);
?>
<html><head><title>けいじばn</title></head><body>
<?php
for ($i = 0; $i < count($f); $i++) {
?>
<?= $f[$i]['num'] ?>:<b><?= $f[$i]['name'] ?>さん </...
<?php
}
?>
<form method="post" action="./this.php">
名前:<input type="text" name="name"><br>本文:<textarea ...
<input type="submit" name="OK" value="OK">
</form>
*自作関数でも公開してみないか? [#tf0dd69d]
説明はこんな感じだと分かりやすい
----
**■動作内容 [#dd288d02]
/*
Test(①[, ②[, ③[, ④]]])
①…1番目の引数
②…2番目の引数
③…3番目の引数
④…4番目の引数
戻…戻り値
*/
----
**■URLにリンクを貼る [#g02755a0]
/*
str_link(①[, ②[, ③]])
①…URLまたはURLを含む文字列
②…ターゲット
③…タイトル(未入力の場合はURL)
戻…変換後の文字列
*/
function str_link($url,$target=NULL,$title='\0'){
if($target){
$target = " target=\"".$target."\"";
}
$url = preg_replace('/(http:\/\/|https|\/\/)[a-zA-Z0-9...
return $url;
}
----
**■重複するファイルを削除する [#yca1bf78]
#geshi(php){{
<?php
/*
check_dir( ① )
①…走査するディレクトリ
戻…成功すればtrue, 失敗すればnull
*/
/*
サンプル
//走査するディレクトリ
define('MY_CHECK_DIR','C:\Documents and Settings\My Docum...
$dir = scandir(MY_CHECK_DIR);
check_dir($dir);
*/
function check_dir($dir){
//最初に見つけたファイルは削除しない
$denial_items = array();
foreach($dir as $item){
//.と..は無視
if(preg_match('/^(\.|\.\.)$/',$item)){
continue;
}
//ディレクトリだったらそのディレクトリ内も走査
if(is_dir($item)){
check_dir(scandir(MY_CHECK_DIR.$item));
}else{
//最初のファイルは削除リストに加えない
if(!in_array(md5_file($item),$denial_items)){
$denial_items[] = md5_file($item);
}else{
$md5_list[getcwd().'\\'.$item] = md5_file...
}
}
}
//削除
foreach($md5_list as $path => $md5){
unlink($path);
print $path.'を削除しました。'.PHP_EOL.'MD5ハッシ...
}
return true;
}
?>
}}
ページ名: