PHPのナイスな点としては
(PHP)
class Hello {
public static function main($args = array()) {
printf("( ^ω^) ");
}
}
Hello::main();
(Java)
public class Hello {
public static void main(String[] args) {
System.out.print("( ^ω^) ");
}
}
<?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 . "だお");
?>
パースエラーが出るかもしれません。 そのときは、エラーメッセージからエラーのある行を判断して、全角スペースを半角に直してみましょう。
<?php
$db = sqlite_open("log.db");
//最初に1回実行
sqlite_query($db, "create table T(num INTEGER PRIMARY KEY, name VARCHAR(40), str TEXT)");
if ($_POST['OK'] == 'OK') {
sqlite_query($db, "insert into T values(
NULL, '". htmlspecialchars($_POST['name'], ENT_QUOTES) ."',
'". nl2br(htmlspecialchars($_POST['str'], ENT_QUOTES)). "');
");
}
$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'] ?>さん </b><br><blockquote><?= $f[$i]['str'] ?></blockquote><hr>
<?php
}
?>
<form method="post" action="./this.php">
名前:<input type="text" name="name"><br>本文:<textarea name="str"></textarea><br>
<input type="submit" name="OK" value="OK">
</form>
説明はこんな感じだと分かりやすい
/* Test(①[, ②[, ③[, ④]]]) ①…1番目の引数 ②…2番目の引数 ③…3番目の引数 ④…4番目の引数 戻…戻り値 */
/*
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\.\/_\-]+/', '<a href=":\/\/|https:\/\/)[a-zA-Z0-9\.\/_\-]+/', '<a href="\0"'.$target.'>'.$title.'</a>', $url);"'.$target.'>'.$title.'</a>', $url);
return $url;
}