【PHP】くだらねぇ質問はここに書き込みやがれ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/02 00:15:41ID:???0159nobodyさん
04/11/22 17:22:42ID:???日を超えないって条件をつけてもいいなら
(12*60+15)-(12*60+0)のように自力で計算してもいいんでないの?
日付を考慮するなら(そのlogfileの書式では無さそうだけど)
mktimeとかを使ってUnixタイムスタンプに変更してから引き算するとか。
0161nobodyさん
04/11/22 20:51:14ID:fKkOMcrQ$AAA = "aaa.com"; // 変更したいURLの一部
$BBB = "http://xxx.yyy.zzz/"; // 自前のトップページへのURL
$SEIKI1 = "(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)"; // 正規表現1
$SEIKI2 = "([[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)"; // 正規表現2
$message = eregi_replace("$SEIKI1"."$AAA","$BBB",$message); // 後部/がない場合 http://www.aaa.com
$message = eregi_replace("$SEIKI1"."$AAA"."$SEIKI2","$BBB",$message); // 後部/が続く場合 http://www.aaa.com/〜
$message = eregi_replace("$SEIKI1","<a href=\"\\1\\2\" target=\"_blank\">LINK</a>",$message); //自動リンク
一つのURLでは対応出来たのですが
$AAA 入れたいURLが複数ある場合(aaa.comや、bbb.net ccc.org等です)
全てに適応させるにはどうすればよいか助言下さい。
0162nobodyさん
04/11/22 22:06:56ID:???バーチカルラインで繋げばいいじゃない
$sites = '(?:aaa\.com|bbb\.net|ccc\.org)';
0163nobodyさん
04/11/22 22:17:20ID:???0164nobodyさん
04/11/22 23:01:52ID:i4ElPupuこれでいけました が、次は正規表現の部分もおかしかったみたい
スマートに入れ替えるのはないかな、、
0166nobodyさん
04/11/23 00:55:51ID:kHwx1zAl0167nobodyさん
04/11/24 13:50:59ID:B8VC6+a2PHPの練習でクッキーを作成してみようと思い
以下のようなコードを書いたのですが、クッキーが出来ません。。。
ブラウザはIEで、保存場所の
C:\Documents and Settings\ID\Local Settings\Temporary Internet Files
を何度も確認したんですが、まったく作成されません。
もちろんブラウザのクッキーもONにしているのですが。
ソース
<?php setcookie("name", "data"); ?>
0168nobodyさん
04/11/24 14:27:55ID:???有効期限入れないとIEじゃ確認できないよ
値そのものは入ってると思うよ
それと有効期限設定しないで確認したかったらネスケにしてみ
0169167
04/11/24 14:40:07ID:B8VC6+a2レスありがとうございます!
時間指定の事を指摘されましたので
今度は以下の様なコードを実行してみたのですが
やはりクッキーは作成されません。。。
<?php setcookie("name", "data", 60 * 60); ?>
もちろんこれも確認できません。。。
<?php print $_COOKIE['name']; ?>
0170nobodyさん
04/11/24 14:55:37ID:???1.適当なcookieを喰わせてみる
2.cookieの値を取得する
の2段階が必要。
以下適当なサンプル
<?php
if(empty($_GET['check'])) {
/* cookieを発行しこのページにリダイレクト */
setcookie("test", date("YmdHis"));
header("Location: " . getenv("PHP_SELF") . "?check=1");
exit();
} else {
/* cookieの確認 */
if (empty($_COOKIE['test'])) {
echo "cookieがセットされてないよ。";
} else {
echo "cookieの値は=" .$_COOKIE['test'];
}
exit();
}
?>
0171167
04/11/24 15:36:50ID:???サンプルコードどうも!
そのコードを実行させて頂いた所、問題なく値が取得できてましたので
自分のコードをよく見直してみたら。。。
setcookie("name", "data", 60 * 60);
~~~~~~~
うぉおおおおおおおおおおおおお!!!
思いっきり time() が抜けてました!!
time()をいれて実行すると見事にクッキーが作成されました。
まったくお騒がせしました。
サンプルコードまで書いて頂き、本当にありがとうございました!!
0172nobodyさん
04/11/25 11:18:41ID:50OS9jaxここの掲示板なんですけど
if($pline == "")
$p_line = 0;
else
$p_line = $pline;
$end_data = $msg_count - 1;
$page_end = $p_line + ($page_view - 1);
if($page_end >= $end_data)
$page_end = $end_data;
for($i = $p_line; $i <= $page_end; $i++){
list($code2,$name2,$email2,$subject2,$comment2,$now2) = split( ",", $message[$i]);
の部分がいまいち理解できないんです。
次のページに跳ぶ為のフォームのところって言うのはわかるんですけど
これを参考に作ってるんですけどなかなかうまくいかなくて・・・
適当でも構わないので説明してもらえませんか??
0173nobodyさん
04/11/25 11:29:25ID:???そこで使ってる変数ひとつひとつ、何を示してるかリスト化してみな。
処理はforの中のlist()=split()以外はページングの処理だけど、
変数の意味が判れば難しくない。
0174172
04/11/25 11:41:25ID:???0175nobodyさん
04/11/25 13:33:41ID:yWKV+q9sググッてみたんですけど見つかったのは
現実世界の変な例えを用いてるサイトばかりで混乱してしまいました
抽象的な説明ではなくコーディングベースでどう書いたら良いか説明しているサイトとか書籍って無いですか?
0177nobodyさん
04/11/25 15:15:58ID:???遠回りだけども、まずはオブジェクト指向をちゃんと勉強した方がいいと思う。
じゃないと、俺みたいに
「クラス使ってるけどただの構造化プログラミング」
という状態になる。
0178nobodyさん
04/11/25 19:12:23ID:???>「クラス使ってるけどただの構造化プログラミング」
俺のことだ orz
でも、これもこれで便利だったりするんだけどね。
0179nobodyさん
04/11/25 19:41:40ID:???0180nobodyさん
04/11/25 23:11:46ID:???0181nobodyさん
04/11/26 02:36:17ID:???0182nobodyさん
04/11/26 02:38:22ID:???「PHPの」っていうからには「他の言語の」OOと違うことを求めてるんだろうけど、一体何だろう。
いままでプロトタイプベースのOOPばかりやってきたとか?
0183nobodyさん
04/11/26 02:55:35ID:???phpには、「phpのオブジェクト指向」っていうほど奇抜な部分はないんじゃない
特徴と言えばオブジェクトの粒度が巨大ってことかな
コーディングに関してはzendの説明が全てで、これ以上はなんもありません
以下はずいぶん昔よく参考にされてたサイト
http://www.phppatterns.com/
0184nobodyさん
04/11/26 03:11:17ID:???0185nobodyさん
04/11/26 04:37:39ID:hasryHcKシンプルかつ確実な方法を教えてください
0186nobodyさん
04/11/26 04:51:58ID:yOcL1Cw30187nobodyさん
04/11/26 04:55:04ID:???透明人間現るっていうのは、透明なのに現るっていうとこがミソなのに
0188nobodyさん
04/11/26 05:13:43ID:???0189nobodyさん
04/11/27 11:25:49ID:???本を読みながら勉強しているのですが、
以下のような、if文はどういう意味となるのでしょうか?
if ($fp){
処理文・・・
処理文・・・
}
$fp は、ファイルポインタなのですが、ファイルポインタを開いてる
時だけ、処理を行うって事で良いんでしょうか?
0190nobodyさん
04/11/27 11:52:37ID:???if ($hoge) { }
は、Trueの時。
if (!$hoge) { }
は、Falseの時。
マニュアル読んだほうがいいかと思われ。
0191nobodyさん
04/11/27 11:57:04ID:???その$fpを作成している行で使用されている関数をマニュアルでひいてみ。
そして戻り値の型が何かを見れば分かると思うよ。
0193nobodyさん
04/11/27 17:35:24ID:???↑
リソース型ってようするにIntじゃないの?
0195nobodyさん
04/11/27 22:58:20ID:???http://www.php.net/manual/ja/language.types.resource.php
http://www.php.net/manual/ja/function.is-resource.php
0196nobodyさん
04/11/28 00:14:49ID:EgpgTC8fUnixコマンドのパスが分かれば、PHPスクリプトから
Unixコマンドの実行も可能でしょうか?
nslookupを呼び出したプログラムを作りたいです。
0197nobodyさん
04/11/28 00:23:26ID:???やってみればすぐ分かるのに。
実行制限される要因はいくつもあるので試してみないと分かりませんよ。
checkdnsrr関数なんてのもあるけど、これも使えないようになってる場合もありますし。
0198nobodyさん
04/11/28 00:38:30ID:???制限されていなければ、使える可能性があるって事ですね。
気軽に試すスキルがあれば良いんですが・・・・。
レスサンクスです。
0199nobodyさん
04/11/28 03:28:20ID:C3uMPLGO#! /usr/bin/perl
print "test";
exit;
hoge.shtmlに
<!--#exec cmd="./test.cgi" -->
と書くと期待通りにtestと表示されます。
<!--#exec cmd="./test.cgi" -->
と書くと何も表示されません。
<!--#exec cmd="./test.cgi">
や
<!--#exec cgi="./test.cgi">
と書くと[an error occurred while processing this directive]と表示されます。
この違いはどうして起こるのでしょうか?
#exec cgiを使いたいのですが、何が原因か解らず困っています。
何かアドバイスをお願いします。
0203nobodyさん
04/11/28 19:13:54ID:???最初にSSIでPHPのコードを読ませて、それをPHPで処理して
処理したらSSIのコードが内包されたたので、もう一度SSIとして処理して…
なんて話かと汲んでみたり。
できないことでもないが、そんな設定してる(Apache2)サーバもまずないだろうし、
書き足りない質問の意味を勝ってに汲むのもアレだと思い放置するつもりが
チラシの裏に書くつもりで2chに書いてみたり。
0204nobodyさん
04/11/29 03:24:35ID:UN5rJ/7z0206nobodyさん
04/12/04 01:27:51ID:0gTcgituPerlやCで作ったCGIと言いますが、
PHPで作ったCGIとは言わないのでしょうか?
PHPで作ったPHPなんでしょうか?
0207nobodyさん
04/12/04 01:46:29ID:???自分の場合は
apacheモジュールで動作するPHP = PHPのスクリプト
apacheがプロセスを立ち上げて処理をするPHP = CGI
だと思ってますが。。。
#但し、正しいかどうかは知らない
0208nobodyさん
04/12/04 02:00:22ID:???CGI
ttp://www.atmarkit.co.jp/icd/root/41/5787041.html
PHP
ttp://www.atmarkit.co.jp/aig/03linux/php.html
>PHPはCGIインタプリタとしても使えるし、Webサーバのモジュールとして組み込むこともできる。
>CGIインタプリタとしてPHPを使用した場合は、他スクリプトを使ったCGIと同じく、
>スクリプト処理時にPHPのインスタンスを生成するためパフォーマンスは低下する。
>Webサーバのモジュールとして組み込むと、スクリプトはWebサーバソフトウェアのプロセスと同じアドレス空間で実行されるため、
>高速でWebサーバへの負荷も小さい。
端的に言うと>>207でいいと思う
0209nobodyさん
04/12/04 03:24:23ID:uQGoi0dJいい解説ページ知らない?
0210nobodyさん
04/12/04 07:39:04ID:???慣用としてCGIをスクリプトの代名詞のように使うのはOKだけど、
CGIはインターフェイス規格だから、ちゃんとした場面では「PerlでCGIを作る」みたいな
破綻したコトバは使っちゃ駄目だよ
そしてブルジョアはセミナー逝けよ
0212nobodyさん
04/12/04 21:33:44ID:2TD2cEy7表示されないんだけどそういう仕様ってことで桶?
0213nobodyさん
04/12/04 21:37:34ID:???0216212
04/12/04 22:24:34ID:2TD2cEy7リアルにありがとうございました。
0219nobodyさん
04/12/04 22:56:55ID:???さすがにちゃねらーでは淘汰されたと思ってた。
0220nobodyさん
04/12/04 23:01:48ID:???CGIはインターフェイス仕様で〜みたいな定型レスも、えらい久しぶりに見た希ガス
0221nobodyさん
04/12/04 23:06:01ID:???「CGIをスクリプトのことだと思ってる」に繋がんの?
お前が言う普通の人は「PerlでCGIを作る」のことをなんて言うのかな?
0222nobodyさん
04/12/04 23:09:28ID:???・・・すごい、語彙力です・・・
>>220
突っ込む方も飽きたんじゃネーノ。Perl作るとか言われても好きにして下さいって感じだわ
0224nobodyさん
04/12/04 23:18:41ID:???上に慣用で使うって言ってる奴いるけど、超ローカルな話じゃないだろうな。
0225nobodyさん
04/12/04 23:29:03ID:???0226nobodyさん
04/12/04 23:35:02ID:???確かにマにはおらんかも。しかし営業に出たら、ソースコードだろうがASPだろうが
UIだろうがApp鯖だろうが、ありとあらゆるシステムをまとめてC・G・I!C・G・I !と
呼んでくれる素敵なIT担当の方はいらっしゃいましたよ。
>>209
PHPとのつながりも含めてわかんねーです。
MacromediaパッケージってColdFusionスレくらいしかないんですよね。。
0227nobodyさん
04/12/04 23:41:30ID:???肩書きだけだろw
CGIを探していますとかCGIを設置するとかCGIが動きませんとか
マが言ってたら死ぬほど引くわ。ザリガニの後ずさりくらい引くわ
0228nobodyさん
04/12/04 23:42:40ID:???よく読んでなかったスマソ
0229nobodyさん
04/12/04 23:45:58ID:???↑ここまでJR
━―━―━ ━―━―━ ↓PHPの話題来い ━―━―━ ━―━―━
0230nobodyさん
04/12/04 23:55:27ID:???>>224
うるせーな。昔はザラにいたんだよ。fjとかで外人に低脳ジャップの言語は非合理ですね(プとか言われたんだよ
>>226
変態ColdFuzonスレが一本あれば十分すぎる
0231nobodyさん
04/12/04 23:59:14ID:???0232nobodyさん
04/12/05 00:13:01ID:???スレッドセーフオプション付きでコンパイルしてもApacheさんがいけずを言うので弱っています、、、。
0233nobodyさん
04/12/05 00:21:24ID:???apxs使わないと駄目なんじゃなかったけ。漏れは安全運転preforkなんでよく分からね。
0234nobodyさん
04/12/05 00:24:24ID:???そういうネタじゃないものは本家のMLを漁れ。
0235nobodyさん
04/12/05 00:29:22ID:???0236nobodyさん
04/12/05 00:31:11ID:???0237nobodyさん
04/12/05 14:25:41ID:???ダブルクォートをいちいち\でメタ指定するの面倒で
0238nobodyさん
04/12/05 14:31:49ID:???どうぞ
0239nobodyさん
04/12/05 14:41:50ID:???それだと
$hoge = '"$hogege"';
print $hoge
で
"$hogege"
になりますよねぇ? 「.」でちまちま繋げろということなのか・・・
0240nobodyさん
04/12/05 14:52:10ID:???これが理由じゃねーの?
> perlの○○に変わるような○○ってphpにあります?
これいい加減飽きた。Perl使ってろって。
$hoge = <<<EOF
"$hogege"
EOF;
どうぞ
0245nobodyさん
04/12/05 18:10:00ID:???0246nobodyさん
04/12/05 18:43:55ID:???0247nobodyさん
04/12/05 19:43:03ID:uod8F4//0248nobodyさん
04/12/05 19:47:55ID:HJws9fwUモジラだとちゃんと表示されるんだけど・・・。
なんでですかね?
文字コードはEUCに設定して、
winで開発してサーバはLinuxでやっとります。
PHPは4でやっとります。
どうか知恵をおかしください。
0249nobodyさん
04/12/05 20:01:59ID:???確認済みなわけだよね?
0250248
04/12/05 20:08:41ID:HJws9fwUん?といいますと?
もうしわけないです。
知恵足らずでおっしゃる意味が
理解できませんでした。
0251nobodyさん
04/12/06 18:12:09ID:lq9+7sVwなので今はCGIを使ってるんですが…
使いたいのは今日昨日総合のカウントが表示できるカウンターで、今現在排他制御は
$new = implode("|", array($now_time,$yesterday,$today,$allcount));
$fp = @fopen($log, "w") or die("異常終了");
@flock($fp, LOCK_EX) or die("異常終了");
fputs($fp, $new);
flock($fp,LOCK_UN);
fclose($fp);
こんな感じにしています。
モバイルサイト運営、アクセス数は10万/日程度です。
どうして、排他制御できていないのかわかりません。
PHPスクリプトを配布しているとこのスクリプトも参考にしてみたんですが、やっぱり駄目です。
誰か教えて下さい。
0252nobodyさん
04/12/06 18:28:23ID:???コード的にはstream_set_write_bufferやignore_user_abortを加えたり、
Tempファイルに書いてリネームするよう変更するとか手はあるけど、多分解決しない。
サポートに聞くのが早そう。
0254nobodyさん
04/12/06 21:46:10ID:u8RjuTKEどこかにあれば教えて下さい。
0255nobodyさん
04/12/06 22:04:52ID:???公開ライブラリにするほどの物なのかと小一時間。。。
0258nobodyさん
04/12/07 05:55:25ID:???そこで、リンクの自動更新チェックはどういう考え方?
ヘッダーのLast-Modifiedチェック?Content-Lengthチェック?
それともページ読みこんでファイルの大きさチェック?
■ このスレッドは過去ログ倉庫に格納されています