いつまで続くのか、何を書くのか、それもまた流れのままに 頭の中にまとまらないものがあるから そんなのがふと出た時に書いていく
僕のネット帳
スポンサーサイト
-----------  CATEGORY: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ページトップへ
overflowでtextareaみたいに表示させる
2007-12-24-Mon  CATEGORY: html
更新情報を表示させようとtextarea使ってみたところ、
textarea内にリンクを作れない?ようだったのでoverflowでやったみた。

<div>
<h2>更新情報</h2>
<p style="height:60px; width:540px; overflow:scroll;">

ここに更新内容を記述

</p>
</div>

visible
ボックスからはみ出して表示。
scroll
入りきらない内容はスクロール。
hidden
はみ出た部分は表示されない。
auto
ブラウザに依存。
スポンサーサイト
ページトップへ  トラックバック0 コメント0
PHP ファイルの有無を調べる
2007-12-23-Sun  CATEGORY: php
file_exists()
ファイルもしくはディレクトリの有無を調べる。

if(file_exists("ファイル名")){print("あるよ");}
ページトップへ  トラックバック0 コメント0
PHP 連番ファイルの前後リンクの生成
2007-12-23-Sun  CATEGORY: php
PHP 連番ファイルの前後リンクの生成

前回、関連あるURLにリンクさせるのをやったので今回は前後リンクを作ってみた。
流れはこんな感じ。
①現在のアドレスを取得
②数字切り出し
③前後の数字を取得して前後のURLを作成
④書き出し

実際に作った例
//***①現在のアドレス取得
$file_name = htmlspecialchars($_SERVER['PHP_SELF']);

define("URL","urlの情報を入力");

//***②数字の切り出し
$rink_get_num = $file_name;

mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");

//***トークン切り出し
while(1){
$bytes = mb_ereg("[0-9]", $rink_get_num, $match);
if ($bytes == FALSE) {
break;
} else {
$match = $match[0];
$num_token = $num_token.$match[0];
}
$pos = strpos($rink_get_num, $match);
$rink_get_num = substr($rink_get_num, $pos+$bytes);
}

//***③現在のアドレスの前後を取得
$match_next = $num_token+1;
$match_prev = $num_token-1;
$next = str_replace($num_token,$match_next,$file_name);
$prev = str_replace($num_token,$match_prev,$file_name);


//***④書き出し
URL.$prevが前のURL、URL.$nextが後ろのURLになる。

$_SERVER['PHP_SELF']は現在実行しているPHPスクリプトのファイル名。
URLにはhttp://www.aaa.bbb.ccc.netのように大元のurlを入れる。

現在のアドレスの前後がない場合の処理を入れないといけないので注意。
ページトップへ  トラックバック0 コメント0
PHP 文字列を取得 ランダムにページ表示
2007-12-23-Sun  CATEGORY: php
PHPで文字列を取得しランダムにページを表示させてみたい。

ある文字とある文字の間にある文字を取得したい場合の処理。
ただし、取り出したい文字列の前後は決まっているとする。


http://www/aaa/bbb/ccc.html
aaaを取得したい場合。

$str = "http://www/aaa/bbb/ccc.html";

"http://www/"で分割。
分割指定した文字の部分は空の配列。

$str_get = explode("http://www/", $str);

print_r ($str_get);

$str_result = explode("/", $str_get[1]);

print_r ($str_result);

表示結果
Array ( [0] => [1] => aaa/bbb/ccc.html ) ※$str_getの配列
Array ( [0] => aaa [1] => bbb [2] => ccc.html ) ※$str_resultの配列

$_SERVER['HTTP_REFERER']でリンク元のURL読み取って、それと関係あるリンク先をランダムで飛ばすとか。
サイト構成を関連あるフォルダ単位で作らないとだめだけど。
以下PHPでランダム表示させる簡単な例を作ってみた。

<構成>
http://www/game/game_main.html

├http://www/game/game_1.html
├http://www/game/game_2.html
           :
├http://www/game/game_99.html
├http://www/game/game_100.html


http://www/anime/anime_main.html
├http://www/anime/anime_1.html
├http://www/anime/anime_2.html
           :
├http://www/anime/anime_99.html
├http://www/anime/anime_100.html

①リンク元がgameかanimeの判別

※$_SERVER['HTTP_REFERER']はリンク元のURLを返すサーバー環境変数
※この場合は、
※http://www/game/game_main.html
※http://www/anime/anime_main.html
※のどちらかとする。

$str = htmlspecialchars($_SERVER['HTTP_REFERER']);

※分割指定した文字の部分は空の配列。

$str_get = explode("http://www/", $str);

※game or animeをゲット
$str_result = explode("/", $str_get[1]);

②ランダム数字生成して付加して飛ばす

※ここではgame、anime共に100ファイルなのでrandは1~100
※異なる場合はログファイルなどで作成ファイルのログを取っておいて数を判別
※ログファイルを使う場合は、file()で読み取ってcount()で配列の数をゲットしてrandに入れるとか色々方法ありそう

srand((double)microtime()*1000000);
$number=round(rand(1,100));

$randam_url = "http://www/".$str_result[0]."/".$str_result[0]."_".$number.".html";
header("Location:$randam_url");

※PHPで指定したURLにジャンプ
※header("Location:​http://www.*****");​

$_SERVER['HTTP_REFERER']は、ブラウザによっては設定しない場合や'Hidden-Referrer'などと設定する場合があり、必ずしも取得できるとは限らない、らしいので注意。

ファイルは作らずにやってるのでエラーがあるかも。
文字列間の取得ももっといい方法ある可能性大なので、知ってる人は教えて下さい^^;
ページトップへ  トラックバック0 コメント0
preg_match()関数
2007-12-20-Thu  CATEGORY: php
preg_match()関数では正規表現を"/"と"/"で囲む。
preg_match("/てすと/",$sort_name )

また、正規表現の部分で"/"を使う時は、"/"をそのまま使うと、エラーとなる。
"/"の前にエスケープ文字を置く。
windowsの場合、エスケープ文字は"¥"となる。

例えばURL「/てすと/」と一致するものを得たい場合、
preg_match("/¥/てすと¥//",$sort_name )となる。


格納してある文字列を一致させたい場合は以下のようにやる。
$name_match = て/す/と;
このままだと/の部分でエラーが起きるのでエスケープ文字を置く。
$name_match =て¥/す¥/と;

preg_match("/".$name_match."/",$sort_name)
ページトップへ  トラックバック0 コメント0
<< 2007/12 >>
S M T W T F S
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -


余白 Copyright © 2005 僕のネット帳. all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。