のフリをした糞スレ
氏ね
1000 名前: nobodyさん [sage] 投稿日: 04/12/21 23:11:53 ID:??? ボンレススリーナイン
1からsageるスレは嫌いだ。
早速ですが質問させてください。 画像を携帯の待ちうけ画像ぴったりにするには、どうしたらいいですか? GD使って、数百種類以上ある機種ごとにサイズを変えなければいけないのでしょうか?
なるほど、その通りだとも!
12 :
9 :04/12/21 23:41:28 ID:???
いや、それ以外に方法はありませんか?
13 :
nobodyさん :04/12/21 23:49:57 ID:4yQ5agWL
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。 1. ハードウェア、OSのバージョン等には一字一句触れない。 2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。 3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。 目の前で生じている現象をそのまま具体的に書くなどもっての外。 事実より俺様の脳内解釈を優先すべし。 4. 独り言文体で必勝。 「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」 5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。 6. もう試したことを得意げに指摘してくる奴には、厳しく対応。 「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」 "どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。 7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。 「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」 示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので 絶対に避ける。 8. 情報は小出しに。 「エスパーきぼんぬ」 補足 上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。 そのような悪い質問に対して答えられるのは, 質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ, という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。 まちがっても「エスパーの方,回答お願いします」 なんて痛い質問するな。つうか氏ね。
>>12 画像を登録するユーザに全部のサイズをつくらせるって手もある。
俺も16と同様にImageMagick使うなぁ。 実際に携帯用サイトの画像振り分けの時に使ってる <img src="img.php?qvFile=test.gif">とかして。
19 :
nobodyさん :04/12/22 10:39:21 ID:gfkRdrPI
お初です。 対象gif画像がアニメーションgifなのか普通のgif画像なのか判定したいのですが 既にそのような関数とかって有るのでしょうか? 自分でgifフォーマットの解析をしないと無理なのでしょうか?
>>19 getimagesizeはファイルの先頭見て判断してるだけみたいだから自分でやってください。
21 :
nobodyさん :04/12/22 11:30:48 ID:gfkRdrPI
>>20 なるほど。諦めて自作します。
ありがとうございました。
>>13 ないみたいだからぜひ作ってくれ。俺も使いたい。
23 :
nobodyさん :04/12/22 21:19:00 ID:4IslWF9p
そういうのって解ってどうするの?
PHPのgdが使える鯖ってどこがありますか?
からじゃないですね。 未定義かどうかにかかわらずプロパティを返しやがりますね。 はあ
大穴があったとの事なので php-4.3.10 に載せ換えました。 結果、Warning Notice 出まくり状態です。 もぅ @ だらけにしてやろうかと・・・ 皆さんはいかがですか?
30 :
nobodyさん :04/12/23 08:38:06 ID:MF5l0s/r
変更してエラーが出たことなんてない。 よっぽど無理矢理なソース書いてたとか?
>>30 同じく。
3→4への移行でも数個のwarningが出ただけだったからなぁ。
未定義のプロパティが動的に生成されるように改善されたのはもっと前だけどな。
>>29 なんでわざわざ@でコントロールするんですか?
php.iniを書き換えるなり.htaccessでコントロールするなり、
ソースの先頭でコントロールすれば済むのに。
いちいち@をつけたり外したりするのは面倒なだけじゃなくて、
重要なエラーが確認できなくて困りませんか?
cookieの名前って他のサイトとかぶったらタイヘンなコトになるのですか?
すんまそん。 △みたいなのが多数・・・ △ $key=htmlspecialchars($_GET[key]); ○ $key=htmlspecialchars($_GET['key']); まぁ一応動きますたが・・・
マルチバイト対応でSQLiteもUTF-8になってるPHP 5.0.3 Windowsバイナリ、 どこかに転がってないですか?
今ランキング形式のリンク集作ってるんですが、1ヶ月ごとにカウント数がリセットされるようにするにはどうすれば良いのでしょうか? 自分が考えた方法は、月の初めに新しいログファイルを作成して、そっちを読ませる、というものなのですが、どう書けば良いのかがよくわかりません。 (それとももっと良い方法があるのでしょうか?) どなたかご教授いただけませんでしょうか。
>>39 ログのタイムスタンプを調べて現在の月と比較すればいいだろ
41 :
39 :04/12/24 01:12:01 ID:???
>>40 なるほど…。ありがとうございます。
ログに書いてある日付と月が違えば新しいログを作成する…といった感じでしょうか。
しかし、スクリプトの書き方がわかりません。(汗
自分が日付関連が初めてなせいか、いかんせん上手く書けません。
どのように書いたらいいのでしょうか。。。
何度もすみませんが、ご教授いただけませんでしょうか。
42 :
nobodyさん :04/12/24 03:37:10 ID:GgUnFp9z
$ym = date("Ym"); $filepath = "data{$ym}.log"; ・・・ ログのファイル名を月ごとに変えるだけじゃないの? 適当・・
>>37 △のコードの書き方が俺的には怖いなぁ。
defineで定義されたものとの区別がつきにくい。
defineは普通全部大文字使うだろ
echo key; // key define('key', 'nullpo'); echo key; // nullpo これで表示が変わるから△はやめたほうがいいと。
>>46 試してみてはどうですか。
そこがディレクトリなのに"/"で終わっていなければ
200は返さないとだけは言っておきましょ。
>>47 え、そうなんですか、
ちょっとやってみます
>>47 あ、本当ですね。
正確なURLじゃなきゃ、ロケーションされたりしてたんですね。
なんかいろいろやってるうちにわけわかんなくなってました。
ありがとうございました。
50 :
39 :04/12/24 11:09:47 ID:???
>>42 レスが遅れました(汗
なるほど、それでやってみます。
ありがとうございましたm(_ _)m
51 :
nobodyさん :04/12/24 14:08:54 ID:qwX5VviG
echo "<FORM ACTION=$PHP_SELF METHOD=POST ENCTYPE=application/x-www-form-urlencoded>\n"; ここが原因くさい。
>>51 $PHP_SELF は、使わないほうがいい(使えない場合が多い)
セッションで保存できるデータって、文字列や数字だけらしいのですが、配列や、もっと複雑な構造をしたデータ構造を保存するにはどうしたらいいでしょうか。 RDBは使いたくないんですが。
>>54 配列とかオブジェクトは一旦分解してテキストデータにしてからセッション変数に保存するといいよ。
んでページごとに配列に戻せばOK。
配列はそのままセッション変数に入れても平気なんじゃないか? 配列に配列を入れていたら、複雑になりすぎてたことがあるが・・・・
58 :
54 :04/12/24 22:38:40 ID:???
配列どころかオブジェクトもセッションに放り込めますが何か? というかセッションってデフォルトで serialize 使ってるんじゃないの?
ファイル名の拡張子をphpにせずhtmlのままでPHPを実行させる方法無いですか?
Steamというソフトをインストールしたら(ゲームソフト) Windows XP起動時に、PHP Startup: Unable to load dynamic library 'C:/php/ext/php_mysql.dll" - 指定されたプロシージャが見つかりません というエラーがでるようになりました。 どのようにしたら解決できますか? PHP5、Apache 、Windows XP SP2 という環境です。
なお、それ以前はふつうに動いてました。 php.iniは extension_dir = "C:/php/ext/" extension=php_mysql.dll となってます。
Steamっていうソフトを私たちにググりなさいってこと?
それでも結局は、ググっちゃうSAGA
ゲームソフトって言葉に釣られる辺りがガキな証拠w
69 :
60 :04/12/25 13:51:32 ID:???
>>69 .htaccessとかで鯖の設定変えれば簡単じゃないかな
セーフモードでpear使う方法ってある?
73 :
58 :04/12/25 14:38:00 ID:???
>>59 できないはず・・・と思って試してみたら、できちゃったよ!びっくり。
配列をそのまま$_SESSIONに格納できただけでなく、配列の配列も格納できた。
これはいい情報をありがとう。ほんと助かった。
>>69 それはPHPの問題じゃなくHTTPサーバの設定の問題。
Apacheなら
>>71 をヒントに調べよう。
75 :
62 :04/12/25 15:31:36 ID:???
>>67 libmysql.dllをsystem32へコピーしたところ
うまく動くようになった。ありがとう
>>75 お前かウチのサイトにMSN検索で来たヤツは……
77 :
62 :04/12/26 04:04:23 ID:???
MSNは使ってないです
ファイルの拡張子を*.phpではなく*.htmlや*.htmのままでPHPスクリプトを実行させるには どうしたらいいでしょうか?
80 :
78 :04/12/26 20:57:48 ID:???
82 :
78 :04/12/26 21:55:37 ID:???
これからPHPをはじめて掲示板でも作ってみようかと思っているんですが みなさんの開発環境ってどんなものですか? しらべてみたらウェブの統合開発環境は EclipseのプラグインTruStudio と XOOPS の二つあるみたいです。
>>83 XOOPSが統合開発環境…(;´Д`)?
趣味プロならエディタでべた書きで十分だと思うが?
PHPに限らんけど、最初からIDEに頼るのはお勧めできない
>>83 確かもっとも多い環境がSakuraエディタだったはず
86 :
nobodyさん :04/12/27 07:46:18 ID:dSbLZ0J0
ide使ってる椰子っているの?
即席スクリプトはTrustudio使ってるなぁ。
秀丸で書き始めているんですけど、大丈夫かな。
全然OK。ガンガレ。
90 :
83 :04/12/27 11:01:32 ID:???
返事ありがとうございました。 とある場所で 掲示板を作って公開してたら攻撃にあい、 それでXOOPSを採用したって話がありました。 だから、セキュリティ対策とかもろもろの 他の部分を考えなくてもXOOPSなら 手軽に作成できるのかなと思っています。 XOOPSはPHPを操って開発するユーザーサイドよりの 開発環境なのかなと勝手に思っていました。
それは開発と言えるのかも怪しいし、開発環境じゃないと思う。 他のPHPスクリプトをいじって自分好みにするってことでしょ?
PHP4+Sybaseでpconnectすると、 なんかバグがあったと思うんだ。 よく覚えてないけど、コネクション数が増え続けるみたいな。 それ以来、怖くてpconnect使ってないんだけど、 今は解決されてるのかな? それから、このバグってSybase限定のバグで、 MySQLとかだと大丈夫なのかな?
PHPファイルの中に一つ上へあがるリンクを貼っておくとしましょう。こんな感じです。 <?php <a href="../">秘密のページ</a> ?> このPHPファイルを他のPHPファイルからrequire文かinclude文で呼び出したと しましょう。しかしそのPHPファイルが違う階層に存在するとき、 ”秘密のページ"をクリックしていく場所はそれぞれ別個の場所になってしまうでしょう。 詳しくは呼び出したそれぞれのPHPファイルの上の階層にいってしまうと思います。 そうではなく、呼び出されたPHPファイルのひとつ上の階層へ行くにはどうしたらいいでしょうか?
>貼っておくとしましょう。 なんで偉そうなんだ
>>93 定数__FILE__からファイルの存在位置を認識し、
それを加工して目的のURIを出力するようにする。
96 :
93 :04/12/27 14:16:03 ID:???
その案使えそうですね。 どうもです。
97 :
93 :04/12/27 14:18:10 ID:???
冬だなぁ
馬鹿を相手にするのは礼儀知らずを育てている様なものだぞ 優しさが仇になる事もある
その案も使えそう、とか __FILE__知らない時点でオワットル
102 :
nobodyさん :04/12/27 15:18:10 ID:dSbLZ0J0
冬ですから
103 :
93 :04/12/27 15:26:49 ID:???
おしえてくだせぇ〜 セッション変数っていうのはいつ削除されるものなのでしょうか? 削除するロジック通らないとずーっと残ってるのですか?
マニュアル読んでいってるんだよね? ググってからいってるんだよね?
>>92 pconnectの性質を理解して使っている上での
問題点は特に無いけどね<MySQLでの
ただ、Sybase特有の現象というのも腑におちないのだが。
あれはPHPの永続的リソースの仕組みが賄っている機能であって
特にDBMSに依存するものでもないから。だから問題があったとしたら
Apacheとかhttpdに絡む部分が影響したのだと思う。
107 :
92 :04/12/27 19:45:25 ID:???
108 :
92 :04/12/27 19:56:33 ID:???
あれ?でもこれPostgresSQLだけかなぁ…
すいません 掲示板の投稿表示方法で悩んでるんですが、 件数を指定して表示する際に(例えば10件) 1つ目の投稿内容と2つ目の投稿内容の間にだけ広告入れるスマートな方法ってどうやったらいいですかね。 今はforeachで回してる途中array_sliceで前半と後半をぶった切って 途中でecho $koukoku;と入れて力ずくでやってます。
111 :
nobodyさん :04/12/27 23:37:25 ID:ZN2DRBjE
>>110 漏れだったら表示する件数に何件目みたいな番号を振る。
もちろん、表示させる必要はない。
奇数だったら、これを入れるみたいな感じでやるな。
志摩志摩にして見やすくするのもこの手でやってますがなにか?
php&mysql歴3ヶ月で初めて質問に答える立場になって
得意になってすいません。1ヶ月目のころこれで一週間くらい悩みますた。
>>111 それだと1つおきになるが・・・
110は1つ目と2つ目の間にだけと言っている
画像をアップロードするスクリプトを作り、 サイズ(200KBまで)制限かけて、幅と高さの制限はしてないのですが サイズが3KBで幅と高さが1600×1600でアップできないのです。 幅と高さってデフォルトで制限されてるのでしょうか? よろしくおねがいします。
>>113 あなたの発言の意味がわかりません。
スクリプト及びそのエラーをそのまま晒してください。
>>114 スクリプトではサイズ制限はしてますけど幅と高さの制限はしてません。。
エラーは出ません
116 :
113 :04/12/28 01:27:19 ID:???
言い忘れてました ローカルサーバーではうまくアップできますが 外部のサーバーだと幅が大きすぎるとアップできません。 これってスクリプトの問題というよりサーバーの問題でしょうか?
こいつはもう放置でいいだろ
>>112 「奇数だったら」を「○の倍数」とでも置き換えれば良い事。
(○で割ったら余りが0か)
>>116 だから、あなたが何を言っているのか理解できる人間は、
このスレに存在していないので、
スクリプトをそのまま晒してください。
>>110 私も素人に近いから自信は無いヨ。
配列にどう持ってきてるかはしらんが
foreach使うときに
$key=>$value とかやったらどうじゃね
既存の掲示板のソースを覗くこともできないってツライよね。
直接みせてってたのんだら? こんだけかずあんだから、何件かは見せてくれるんじゃないかなー?
普通にソース付きで配布しているサイトがある訳だが・・・。 そもそも入門書も読まずに何やってるんだろうなと。
>>110 >120をコードにしてみると
$toukou =array();//投稿内容が配列に入ってる。
foreach($toukou as $key => $value) {
echo $value;//書き込みを一件表示
if($key == 0) {
//1件目の書き込みの後に広告を挿入。
echo $koukoku;
}
}
こんな感じかな?
>>110 $count = 0;
foreach(*****){
if ($cout++ == 2){
addad();
}
}
>>124 そんな感じです。まぁ自分が書くなら以下の感じでしょうか。
$toukou =array(); //投稿内容が配列に入ってる。
foreach($toukou as $key => $value)
{
if( 1 == $key)
{
//1件目の書き込みの後に広告を挿入。
print(htmlspecialchar($koukoku));
}
//書き込みを一件表示
print(htmlspecialchar($value));
}
なんかでしゃばった感じですみませんorz
(;´д⊂)タブ潰れたー2chの勉強が足りませんでした
128 :
62 :04/12/28 06:53:48 ID:64WbgjnW
a b c 3つのチェックボックスがあって、 チェックを付けたやつだけ、 inputボタンを押した後に表示したいんですが、 どうすればいいでしょうか? 例:aとcにチェックを付けたら、次の画面で、 aとcを表示させる。
130 :
128 :04/12/28 06:55:52 ID:64WbgjnW
すいません、私は62じゃないです。 あと、perlだと、フォームで同じnameで複数項目入力させても 配列に格納されます? perlのスクリプトだとどうもそうっぽいので。 phpじゃこれは無理ですよね?
132 :
nobodyさん :04/12/28 09:09:02 ID:N/AEZ3tr
最近は試さないのが基本なの?
Cですらとりあえず試すおれは勇者?
今日びPCが壊れるなんて、どういう処理したらなるんだよ。
アセンブラですらとりあえず試すおれは勇者?
PHPとPPPHの関係を教えてください。
ググって下さい
>>142 >サイトの設計者がこの機能に受け渡すパラメータを十分チェックしないまま使っていた場合、
つまり inclide($_REQUEST['include']); こういうことなんだろうか?? こんなんありえるの?
そんな危険なやつはいるんだろうか・・・。
いくらなんでもそこまでバカはいないだろ
いやいやこのスレの質問のレベルからして・・・・
エラーが出て2chで質問するからじゃないかな?
なぜ危ないかわからない
>>148 みたいなのが書いても動くからだろ。
>>148 クッキーで変な値渡されたり妙なPOSTが来たり得体の知れないGETが来たりすると
とんでもないモン include しちまうのがわからんか?
ありえんことでもないと思うけどな ネットにあるプログラムには驚くほど低レベルな物もあるからね
それなら「何で今更出てきたの?」って感じがしなくも無いな・・・
PHP 4.3.0より前のバージョンのWindows版PHPは、現在この関数に関してリモートファイルアクセス機能をサポートしていません。これは、allow_url_fopenを有効にした場合でも同様です。 は、関係ないかな?
テキストファイルに1行に複数カラムでデータを保存するとき分割文字列はどうしてますか? コンマだとデータの中にコンマが入っていた場合、読み出すときうまくいかないので困ってます。
>>159 とっても繰り返されてる話題だが、俺はタブ。
161 :
159 :04/12/29 14:28:33 ID:???
>>160 レスありがとうございます。
たしかにタブならデータから除去してもいいし、スペース4つにおきかえてもいいですね。
参考になります。
>>159 チョット前の議論ででたのは、
「,」「\t」「<>」「\0」
あたりだったかな?
俺は時と場合で、どれも使てる。
163 :
162 :04/12/29 14:36:51 ID:???
データ自体を登録する段階で、[,]を[,](半角⇒全角)に変換してしまう、 というのも、場合によってはアリ。
最近はシリアライズが多い。
serializeだとPHP以外でデータ使おうとするとき面倒じゃない? データキャッシュつくるときなんかは簡単でいいけど
それがデメリットかなぁ。他のファイルで使いたい時は 戻してから指定のフォーマットに再出力みたいなことしてるけど。
¾
PHPはPerlより書きやすいなぁ、それだけ
Perl と比べればね。でも Ruby ではどうでしょう。
phpはかなり広まったからライブラリが充実してていいんだよ あとはくだらない質問スレでやったらどう?なんの生産性もない話題だし 言語信者が流れ込んできて荒れるだけ
>>157 その穴を突いたワームが出てきたことが新しいんだと思う。
以前は突くツールはあったんだけど、使う相手はクラッカーが探して
手作業で行ってたのが、自動化によって被害の増大が懸念されるから。
>>168 自分にとっては最も扱いやすい。
これ以上の良さがどこにあるだろうか。
Ruby と PHP が使える人とじゃないと話できないしね。
phpはできて当たり前みたいな感じだからなー。
デザイナの俺でもすぐ覚えられたし、なんつーか手軽に楽したいものに便利だね。 バリバリのWebアプリじゃなくてヘッダーとフッターを各ページに入れますとか そんな些細なことを手軽にできるのがいい。
>>176 ruby は試した?もし試したら覚えるのに何がネックだった?
ホスティングサービスでRuby入ってるところ少ないよなぁ 試す気も起きん
オブジェクト指向ワカンネ…
>>178 試す気が起きん、のはなぜでしょう?
179 の言うように OO 分かんね、ということ?
>>173 どういった部分が ruby と比べて最も扱いやすかったですか?
>>180 PHPはホスティングサービスでほぼどこでも使えるので覚えようと思うんだけど
Rubyはあまり聞かないから覚えようと思わないんです。
作ったスクリプトはどこでも使えなさそうだから使いまわしできなさそうだし、配布してもRubyスクリプトイラネって言われそうだし
そもそもRuby使える無料ホスティング知らないです。
>>181 幾つかあるが、最大の理由は
俺がRubyを初めて知ったとき、既にPHPを覚えてから2年くらい経っていた
ってこと。
結局、Rubyをやってみても2年分のハンデを埋めるほどの魅力は感じなかったし、
それならば無理にRubyに移行する必要もない。
あとはPHPの方が関連書籍も多いし、海外にも浸透してるし、業務でもそこそこ使える。
Rubyの痛いところは、業務で使おうとするとプログラマが集まらないところだ。
言語ってのはシステム要件を満たすための手段に過ぎないんだから
(個人でやるならともかく)広く浸透してる言語のほうが扱い安く感じるのは当然かと。
>>182 ・環境がない
>>183 ・すでに覚えたものがあるから
・情報、実績、ユーザが多い
・広く使われているからなんとなく
は理解できます。
「言語ってのはシステム要件を満たすための手段」に関しては、
道具を選ぶ、という視点が抜けていますね。
両者、ありがとうございました。ちなみに私はあの matz ではありません。
185 :
nobodyさん :04/12/30 20:21:50 ID:6yNCCVX0
(;´д`)
ギガワロス
188 :
nobodyさん :04/12/31 12:55:06 ID:AnxsV/s9
すみません、pg_connect()についての質問です。 ホスト名を指定するとpg_connect()がうまくいかないのですが、心当たりあるでしょうか。 pg_connect("dbname=test") はうまくいくのですが、 pg_connect("host=localhost dbname=test") がうまくいきません。 localhostでも127.0.0.1でもちゃんとしたホスト名でもだめです。 なぜでしょうか。 それから、pg_connect()で失敗したときのエラーはどこに出るのでしょうか。 Apacheのログには出てないのですが。
>>188 単にホスト名で接続(tcp/ip)を拒否してあるんじゃないの?<unixドメインソケット接続のみ
エラーに関しては、マニュアルのPostgreSQL関数 辺りを読めば分かる。
つーか接続の仕方(tcp/ip、unixドメインソケット)の話もそこに載ってるから
全部見てくる事をお勧めする。
190 :
188 :04/12/31 13:49:21 ID:???
>>188 わかりました。PHPマニュアル「LXXXIV. PostgreSQL 関数」の章にヒントが書いてありました。
つまり、PostgreSQLはデフォルトでUNIXドメインでの通信(プロセス間通信)しかできなくて、起動時に-iオプションを与えてやらないとインターネットドメインでの通信(TCP/IP)の通信ができない、
そしてpg_connect("host=$host")と指定すると後者の通信を試みて失敗するということですね。
これはFAQなんだろうなあ。でもこれはわかりにくいぞ。
191 :
188 :04/12/31 13:50:19 ID:???
>>189 おっしゃるとおりです。タッチの差でしたね。
どうもありがとうございます。
PHPとPostgreSQLでprepared statementは使えますか? JDBCとかでは使えるみたいなんですが。
193 :
nobodyさん :05/01/01 02:21:51 ID:2vKgKMWC
194 :
nobodyさん :05/01/01 04:15:07 ID:xFPnJTv3
<?php echo "あけおめ!"; ?>
Warning: Invalid argument supplied for foreach() in 配列になる場合もあるし、配列にならずに1つの場合もある 変数aで foreachして、配列じゃない場合、上記のような エラーが出ます。 エラーは出ててもスクリプト上は機能してますが、 これはちゃんと配列の場合とそうじゃない場合で 分岐するよう修正した方がいいんでしょうか? それとも@でエラー表示させないだけでいいでしょうか? みなさんならどうします?
>>195 >配列になる場合もあるし、配列にならずに1つの場合もある
こんなことになる書き方がそもそもの間違い。
分岐とかじゃなく、配列は配列として使え。
要素が一つしかなくたっていいんだから。
197 :
195 :05/01/01 06:46:33 ID:???
>>196 フォームから name="name[]"で受け取った配列は
要素がひとつのとき配列ではなくなるようなんですが・・・
>>197 うちじゃちゃんと配列になるが?
例え配列にならないとしても、処理の部分でどうこうするんじゃなくて
$name = is_array($_REQUEST['name']) ? $_REQUEST['name'] : array($_REQUEST['name']);
とかフォームデータを取り出す時に何とかすればいいだけだと思うが
ん
200 :
【大吉】 :05/01/01 22:56:40 ID:???
さて
>>193 回答ありがとうございます。
でも知りたいのはSQLiteではなくPostgreSQLなんですが。
>>192 ,201
バージョンが書いてないので何ともいえないが、
PEAR DBパッケージにはprepareが実装されてるはず。
>>201 PostgreSQLはよう知らんけど、見た感じではpg関数としてはない。
PEARにあるとしても、本当の意味(DBMSの持つクエリの効率的な処理機能)での
プリペアは使えないと思う。
204 :
nobodyさん :05/01/03 05:09:51 ID:KLuklu8E
echo "¥""; で、出力結果が " となって欲しいんですが、文字コードをUTF-8で作成するとエラーになってしまいます。(euc-jpだと平気でした) UTF-8だとエスケープシークエンスを全般を認識してくれないようなんですが、原因および回避方法を知りたいです。
205 :
204 :05/01/03 05:33:21 ID:???
UTF-8だと、「¥」と「(バックスラッシュ)」のコードが違うということっぽいですね Macの場合どうしたらバックスラッシュを入力出来るんでしょうか。コピペしても「¥」になってしまい・・
>>202 ,203
どうもありがとう。やっぱりPostgreSQL用の関数としてprepared statementがサポートされてないんだから、PEARでもサポートできるわけがないよね。
まあいいや、PEAR DBにはpreparetd statementはなくてもプレースホルダがあるから、それだけでもありがたいと思うことにする。
ところでおれは生のPostgreSQL用関数かPEAR DBしか触ったことないのだが、PEAR DBを超えるようなお勧めのライブラリなんかあったら教えてください。
>>205 ことえりOFF(U.Sにする)で、Option + ¥ でバックスラッシュになる。
ただし、エディタによっては文字化けするので注意。
209 :
nobodyさん :05/01/03 14:26:15 ID:1pWPK0qt
RAPって使ってみたことある人いる? RDF API for PHP データベース保存周りがいまいちわからんのです。
(=.=)
212 :
nobodyさん :05/01/03 18:53:13 ID:KT+/g2GT
本文中に出てくる社名にリンクを貼る作業をしています。 特定の社名が出てきたらあらかじめ別ファイルに設定しておいた リンク先に勝手にリンクを貼ってくれるようなことって出来ないでしょうか? そうすれば仮にある会社のリンク先が変更になっても 読み込んでいる元ファイルだけを変更すれば全てに反映されると思います。
214 :
sage :05/01/03 19:42:11 ID:KSsMVUlG
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/ より飛ばされてまいりました。
php+mysql鯖にて下記のようなソースでUPされたファイルとデーターベースに格納されている
文字列で重複削除をかけるために$ngにmysqlの結果セットを格納していきたいのですが
今のfor文ですと時間がかかりすぎてしまってこまっております。
何か一発で添字配列$ngに格納する方法ありませんでしょうか?
$rs="select id from ng";
$rt=mysql_num_rows($rs);
for($i=0;$i<$rt;$i++){
$ng[$i]=mysql_result($rs,$i,'id');
}
$ok=array_diff($up,$ng);
>>212 Web制作板から来た人かねぇ。
「出来る 出来ない」で聞かれたら「出来る」ってことになるけど、
既存のCGIでそういうものがあるかどうかって聞かれると
「どうだろうねぇ。探しても無いなら無いんじゃないの?」ってことになるかなぁ。
内容的にはかなり簡単な部類に入るので自分で作ってみるのもいいかと。
>>214 やりたい事が見えてこないから適当に答えるけど、それはSQLで解決できないような事なの?
216 :
214 :05/01/03 20:49:00 ID:???
DBの件数が1000万程度までいってしまっているためselect→mysql_resultをfor文で まわすことが非常に効率悪いのではないかと思いまして。 phpの関数で何か非常に効率のいいものがあったら教えていただきたいと思った次第です。 UPするtextファイルが大体10万件程度、ngデータとして データベースに格納されているデータがおよそ1000万件(ngデータはtxtファイルとして保存もしてあります)。 その二つの間で重複削除をかけてngデータとして所持してない文字列のみを出力したいのですが 下記の形式を試し、あまりに時間がかかりすぎるためngのデータを配列に読み込みarray_diff により差分配列を作成してからそれをファイルに出力するのがより高速かと思い試してみようと思った次第です。 そんなんよりもっと早い方法ご存知の方いらっしゃいましたらぜひとも教えていただきたいです。 $fl_name=$FILES['fl']['tmp_name'] $array_file=file($fl_name); for($i=0;$i<count($array_file);$i++) //count($array_file)は10万程度 { $rs=mysql_query("select *from ng where id='".$array_file[$i]."'"); $rt=mysql_num_rows($rs); if($rt==0){fwrite($fl,$array_file[$i]);} }
217 :
212 :05/01/03 21:36:15 ID:???
>>215 > Web制作板から来た人かねぇ。
そうです。web制作板から島流しにあってここに来ました。
> 内容的にはかなり簡単な部類に入るので自分で作ってみるのもいいかと。
は、はぁ(;´Д`)
そうですか・・・
PHPで本格プログラムはしたこと無いのですが
似たようなプログラムを書いた人がいないとあっては
ここは一つ自力で解決せざるを得ないですか・・・・・・
>>217 この板はスクリプト生成代行でもなければ、既存スクリプト検索代行でもない。
自分でコードを書いている人意外は厳しいよ
>>217 file()、preg_split()、preg_match()、preg_replace()くらいかな使うのは。ガムバッテネ。
220 :
nobodyさん :05/01/03 21:52:17 ID:d8mbNFJz
apache2.052にphp4.3.9入っていたんですが、今日4.3.10ぶちこんだんですよ。 んでapache再起動させたら 「mod_php4.cがねぇよ」 とか言われたんで、add module mod_php4.cコメントアウトしたらエラー吐かなくなって 見たところ正常に動いてるんですわ。 何これ、4.3.10からいらなくなったの?
221 :
217 :05/01/03 21:58:21 ID:???
>>219 > file()、preg_split()、preg_match()、preg_replace()くらいかな
ラ、ラジャー(;´Д`)デス
>>216 DBに任した方が速そう。
UPされたデータをテンポラリテーブルに全てぶち込む。
SELECT word FROM TempTable WHERE NOT EXISTS (SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word);
で得たwordをファイルに書き出す。ファイル<->Table間のやり取りが容易(SQLにCOPYなどがある)なら、
DBで直接ファイルを吐き出すのもアリかな。
225 :
nobodyさん :05/01/04 23:55:41 ID:AGCbPn2C
DB接続時にconnectするけど、接続後に明示的にcloseする場合と しない場合なにか違いはあるのでしょうか?
ホームページは一般の無料鯖にて、少し容量の大きいファイルは自鯖において ホームページからリンクを貼ってダウンロードできるようにしています。 ところが自鯖は24時間立ち上げっぱなしというわけでは無いので 時間帯によってはリンクが切れているときもあります。 そこでPHPを使ってリンクがアクティブの時はダウンロード可能にし、 自鯖をダウンさせているときはダウンロードできない旨を表示させたいのですが 可能でしょうか?できれば1〜3秒以内にそれらの判定をして表示させたいです。
>>226 file_get_contentsとかfsockopenとかでアクセスしてみたら?
タイムアウトとか設定できた希ガス
「ダウンロードできなかったら鯖落ちてますんで後日どうぞ」 って一言書けばすむ話では?
229 :
226 :05/01/05 01:18:25 ID:???
>>228 > 「ダウンロードできなかったら鯖落ちてますんで後日どうぞ」
> って一言書けばすむ話では?
まぁそれが一番簡単なんですが小さめのファイルは無料鯖にうpしているので
ダウンロードできるファイルと出来ないファイルが混在しているんですね。
それでとあるリンクはダウンロードできて他のリンクは切れているという状況は
ビジターの方に混乱させてしまうかと思いましてリンクの表示時に判別したいと
思ったわけです。
>>227 > file_get_contentsとかfsockopenとかでアクセスしてみたら?
なるほど。リンクが生きていればそのまま、一定時間以上かかるか
リンクが切れていれば鯖ダウンと判別すればいいんですね。
自鯖にファイルサイズが小さいダミーファイルを置いて、ページを読み込むたびに
そのダミーファイルにアクセスしてできなければ鯖ダウンと判別すればよさそうですね。
自鯖内の各ファイルにアクセスして判別してもいいですがそれをやると
判定時間が異様にかかりそうです。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
〜って出来ますか?
〜と言うように本に書いてあったんですが、うまく動きません。
〜したいのですが、〜としてもうまく動きません。
〜で言う○○と同じような動作をさせたいのですが・・・
以上の様な、知ってる人から見ればバカみたいな質問は↓。
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/ で、具体的なPHPのコードに対する動作不良、エラーが出てしまうなどはここ。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
232 :
226 :05/01/05 01:36:07 ID:???
>>230 なるほど。JavaScriptでも可能ですね。
もしかしたらPHPよりJavaScriptで実装した方が動作速度は速いかもしれませんね。
>>231 了解です。以降「くだらねぇ〜」に以降いたします。
>>225 DBMSとの接続を切るタイミングの違い。
234 :
nobodyさん :05/01/05 08:16:36 ID:vMHNCGxM
すみません
*.html 内に書かれた、{ }って文法的になになんでしょうか?
{ }内がphpプログラムで作られているのはわかったのですが・・
body1.html
---------------
<div>
<span>{KEY}</span>
{DEFN}
</div>
--------------
それとKEYに対して処理したく
body1.html内に例えば
<a href="
http://www.******/***?keyword={ mb_convert_encoding(KEY)} ・・・
なんて、記述できないのでしょうか?
4.3.10が出たよ。
??
237 :
214 :05/01/05 10:21:35 ID:???
>222 SELECT word FROM TempTable WHERE NOT EXISTS (SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word); 上記のクエリをmysqlにぶち込んでみたところsomething is wrong in your syntax : EXISTS (SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word); 付近と出てしまいました これはmysqlに対する副問い合わせができていないのでしょうか。解決方法をご教授ください。 ちなみにmysqlは4ver.0.18です。
239 :
nobodyさん :05/01/05 11:42:05 ID:k/OgHA/y
好きなRSSを巡回して、 RSS情報をmovabletypeへ投稿できるスクリプトないですか? SPIDERING HACKSにはあるが、PERLなんだよね・・・ PHPはないかな?
>>234 単なる文字。
pearのHTML_Template_Flexyなんかを使うと、
変数の置き換え場所の指定に{}が使われることもある。
どこかのページや本を参考にしてると思うけど、
最初から全部見た方が良いでしょう。
242 :
nobodyさん :05/01/05 14:21:31 ID:pRFKvcsa
XML_Parser クラスを継承して XML パーザを作っています。 このときに、XML のデータの中におそらく文字化けでコントロールコードが入ってしまっているときに その行で解析をストップしてしまうようなのです。 日本語は正しく通ります。(shift-jis の XML を読んでいます) 何か回避方法はありますでしょうか。
244 :
nobodyさん :05/01/05 14:26:01 ID:pRFKvcsa
このクラスの使い方だと $p = &new myParser(); $p->setInputFile($url); $p->parse(); というように、URLから直接読んでいるので チェックするには読んだデータそのままを扱わないといけないのですが、 それだとクラスの一部を書き換えないといけないのでしょうか
245 :
226 :05/01/05 14:32:22 ID:???
>>227 > fsockopenとかでアクセスしてみたら?
> タイムアウトとか設定できた希ガス
具体的な話なのでまだこのスレの範疇かと思いお聞きします。
fsockopenでリンクが生きているか死んでいるかを判断するとき
タイムアウトの時間はどのくらいに設定するのが現実的でしょうか?
<?php
$fp = fsockopen ("www.yapoo.co.jp", 80, $errno, $errstr, 30);
if(!$fp) {
echo "cannot connect<br>\n";
} else {
echo "connection established<br>\n";
}
?>
最後の”30”という部分がタイムアウトと判断するまでの秒数だそうで
この値が大きくなればなるほどページの読み込みにかかる時間は増えていきます。
逆に小さすぎると読めるページでもその時間内に読み込めないと
判断されてしまうこともあるようです。
ここらへんの現実的な時間設定はどのくらいでしょうか?
246 :
nobodyさん :05/01/05 15:13:16 ID:PjWbP+V8
phpBBのような、掲示板、PM(のようなもの)などがセットになった アプリケーションは他に何がありますか? ご存知の方がいっらっしゃいましたらご教授ください。
xoopsとか? てかスレ違いって言われるだろうから、早く帰りな。
>>245 正常な一般人が、ストレスを感じず待てる時間は5秒だと聞いた。
250 :
246 :05/01/05 15:46:24 ID:PjWbP+V8
8秒ルールなんてものもある。 で、fsockopenのtimeoutはコネクト可否の判定に使うんじゃなかったっけ? ページサイズに関係してくる方は、socket_set_timeout()かと。
253 :
226 :05/01/05 17:37:07 ID:???
> 5秒
> 8秒
ヒィ----(;´Д`)
結構長いんですね。
プログラムの組み方が悪いのか
>>245 のPHPスクリプトを使うと
そのページ全体の表示に5秒あるいは8秒かかるようになって
しまうんですよね?
その他の画像や文章の部分は通常と同じ速度で表示され、
鯖の生死によって使い分ける画像の部分だけ5〜8秒表示に
時間を要す、なら問題ないとは思うのですが・・・
>>226 別にタイムアウト30秒に指定しても、
1秒でレスポンスが帰ってくれば、
1秒で完了するじゃん。
レスポンスを返す処理が長いのが問題であって、
タイムアウト設定の問題じゃないと思うけど??
>>255 すまん。面倒だった。
反省してログ読み直し。
完璧にやりたかったら、
ステータスとして管理するしかないんじゃないかな?
自サーバーを落とすときは、
無料サーバーに「落とすよー」リクエストを送る。
自サーバーを起動したときは、
無料サーバーに「立ち上がったよー」リクエストを送る。
無料サーバー側のスクリプトで、その受け口を作る。
>>251 が正しいこと言ってるね。
fsockopenのタイムアウト設定を1秒とかにしてみれば?
socket_set_timeoutは30秒とかで。
>>253 自鯖の重さによっても適正値は違うと思う
259 :
234 :05/01/05 21:13:42 ID:???
240さん、ありがとう。 結局、body1.htmlに書くのを止めて、 phpプログラム内で新たに{KEY2}を作りました。
260 :
226 :05/01/05 23:22:58 ID:???
>>258 了解しました。
自鯖の適正値を探してみます。
261 :
nobodyさん :05/01/06 15:47:16 ID:wyAV9mPs
PHPでトラックバックの送信機能を作りたいと思っています。 HTMLのフォームに<form action="対象URL" method="post">でなら出来るのですが (サブミットボタンを押して、対象のトラックバックURLにデータを送信する) 手動でボタンを押すのではなく、スクリプトを実行すると送信できるように するにはどうすればいいのでしょうか?
>>261 スクリプトの中でfsockopenとかを使ってHTTPのpostを実行すりゃいい。
参照すべきものは、マニュアルのfsockopenの項、RFC 1945,2068,2616。
263 :
261 :05/01/06 18:27:43 ID:???
>>262 そうでした。fsockopenを使えば出来ました。
滅多に使わなかったので、忘れていました。
ありがとうございます。
264 :
nobodyさん :05/01/07 10:07:45 ID:pxQ1ftA8
A → B → C とページ移動するとしてCからBに「ブラウザの戻る」を できないようにするにはどうすれば良いでしょうか? javaを使用する以外でお願いします。
266 :
264 :05/01/07 11:18:38 ID:pxQ1ftA8
267 :
264 :05/01/07 12:55:43 ID:pxQ1ftA8
すいません CからBに戻ったときCで指定したセッション変数を参照して Cへheaderで戻るようにしたんですが戻ったときにブラウザの戻る の履歴を見たときBのファイル名がありません。 Cで「ブラウザで戻る」→Bでheader→C を繰り返しできるようにしたいのですが知恵をください
>>264 無理。
理由:各ブラウザで「戻る」の実装が違うから。
270 :
226 :05/01/07 14:26:05 ID:???
↓次のようなコードをhtmlの先頭部分に記述して自鯖がアクティブか否かを 検出して、それに応じてアイコンの絵を選択するようにしました。 <?php $fp = @fsockopen ("mysite.com", 80, $errno, $errstr, 0.5); if(!$fp) { $icon = "error.gif"; } else { $icon = "ok.gif"; } ?> その判断は0.5秒で行うようにしたのですが、それでもページを開くときに ワンテンポ遅れる感じがします。アイコンとは関係の無い文章の部分だけ 先に表示することはできないでしょうか?そうすればページを開くときに ストレスも無いかと思うのですが・・・。
>>270 非常に逃げな選択だが、iframeを使うと出来るかもね。
俺はそれをやるくらいなら、ワンテンポ遅れても…良いと判断する。たぶん。
ステータスを調べるphpをimgタグで入れたらいいんじゃないの?んで画像出力すれば。 ロードできるまではjavascriptで「チェック中」とか出しとけば完璧。
273 :
226 :05/01/07 20:45:20 ID:???
>>272 >>270 のようなプログラムを関数かなにかにし、imgタグの中で呼び出すという
ことでしょうか?そうすると一つ目のimgタグの前のパートまでのhtmlは
瞬時に呼び出されるということですね?
※htmlの先頭部分にimgタグがあればあまり速度的には変わらないかもしれません。
いや普通に<img src="status.php">でphp呼び出して分岐して画像出力すればいいでしょ。 Content-typeちゃんとだして。ブラウザにもよるのかもしれないけどhtmlは真っ先にでるはず。
Proxyログとかhttpdログとか見ると分かるけど、htmlとimageファイルは並列に別スレッドで同時に取得するんだよ
取得できてもブラウザがレンダリングできるかどうかはまた別の話でしょ。 テーブルの中身を全部とれないと表示できないダメブラウザがあるし。
imageに関しては画像を全部取得できるまで全くレンダリングが行われないブラウザってある?
>>277 動画gifに対応しなくていいということかい?
header("Location:");
280 :
226 :05/01/08 10:54:23 ID:???
>>274 今までの議論は自鯖が動いているか否かで表示する画像ファイルを
変更する方法について議論していましたが、そこから一歩進めて自鯖が
動いているか否かで
・ <a href="aaa.com"><img src="ON.gif"></a>
・ <img src="OFF.gif">
のそれぞれに割り振ることはできるでしょうか?
今までの議論だとhtmlとimageは別スレッドで並列に取得できるとの
ことでしたが、今回は一方に画像にリンクを貼っているのでhtmlと
imageを切り離し、html部分だけを先に表示出来るかが疑問です。
>>280 オマエは、全部人任せで自分で考えようとはしないんだな。
>>280 だからさ、一番最初に言われたとおりに、
自鯖からレン鯖へ定期的にリクエストを送って、
レン鯖で常に自鯖の稼動状態を保持しておきゃぁいいじゃねぇかよ!
最新の自鯖からのリクエスト時間を現時間、および前回リクエスト時間と比較して、
自鯖で設定しているリクエスト間隔を大きく上回っていたら、自鯖死亡。
たったこれだけのことを、なんでそう難しく考えるんだ?
ってか、PHP云々以前の話になってるな、
どっかいけや
>>280 。
ロジック見つけて、PHPでの具体的な実現方法になったら
また来いや
来ても、シカトだが(w
>>280 >>274 がその答えを出してくれているのだが。
画像リンクなんかはまた別のリクエストなんです
285 :
nobodyさん :05/01/09 01:49:34 ID:QFmRB+Xy
下記のようなソースでinnsert文は通るのにselect文が通用しません mysql_fetch_arrayでパラメーターが間違っているとエラーをはきます。 どなたか判る方ご教授ください。 $sql="create table ".$passwd." (num INT UNSIGNED auto_increment not null,address varchar(100) not nukk,primary key(num))auto_increment=1"; mysql_db_query("max",$sql); for($i=0;$i<$num;$i++) { $array_file[$i]=strtolower($array_file[$i]); $array_file[$i]=mb_convert_encoding($array_file[$i],"Shift_JIS","EUC"); $array_file[$i]=mb_convert_kana($array_file[$i],"rnaskh"); $sql="insert into ".$passwd." (address) values('".$array_file[$i]."')"; このクエリは通る mysql_db_query("max",$sql); } // $sql0="select address from ".$passwd." where not exists(select address from ngaddress where ngaddress.address=".$passwd.".address)"; // $sql0="select address from ngaddress"; $sql0="select address from ".$passwd." order by address"; $rs0=mysql_db_query("max","select address from ".$passwd); このクエリが通らない while($ok=mysql_fetch_array($rs0)){print($ok."<br>");} $sql3="drop table ".$passwd; mysql_db_query("max",$sql3);
>>285 クエリが通らない行では、実際に送信しているクエリはどういう風になっているか見てみた?
print("select address from ".$passwd); とかで
288 :
226 :05/01/09 02:00:22 ID:???
>>284 >
>>274 がその答えを出してくれているのだが。
> 画像リンクなんかはまた別のリクエストなんです
そうしますと
<? (鯖死亡なら何も無し、生きていれば'<a href="misite.com/file_name/">'を表示) ?>
<img src="status.php">
<? (鯖死亡なら何も無し、生きていれば'</a>'を表示) ?>
とすればよろしいでしょうか(´・ω・`)?
290 :
nobodyさん :05/01/09 05:40:54 ID:5gC8scbg
誘導されて来ました。
ttp://www.mt312.com/の写メール対応掲示板を設置してみたのですが imgの読み込み許可してください。とエラーがでます。
色々設定を変えてみたのですが駄目でした。
【使用鯖】携帯用XREA
【ディレクトリ構造】配布元に書いてあるとおりにしてます。
/public_html/img
【パーミッション】配布元に書いてあるとおりにimgフォルダを707に設定
よろしくお願いします。
>>290 パーミッション。っていうか、作者に聞け!氏ね!
294 :
226 :05/01/09 14:46:19 ID:???
>>289 すいません。
>>280 で重要なことを言うのを忘れていたので誤解を生じて
しまったようです(´・ω・`)
PHPを使用して実現したいことは
・自鯖が生きていれば「ダウンロードアイコン」を表示して、それをクリックすれば
ファイルのダウンロードが始まるようにする。
・自鯖が死亡していれば「ダウンロードできませんアイコン」を表示して、それを
クリックしても何も起きない(リンクそのものが貼られていない)。
ということでした。
これ自体はリンク場所に以下のスクリプトを貼ることで実現できました。
<?php
$fp = @fsockopen ("mysite.com", 80, $errno, $errstr, 0.5);
if(!$fp) {
echo '<img src=error.gif>';
} else {
echo '<a href="mysite.com/download.zip"><img src="ok.gif"></a>';
}
?>
ただ目下の問題は自鯖の生死の判断がつくまでの間、html全体が表示
されないというところですね。おそらく上記のスクリプトのところで自鯖の
生死の判断を下す間止まってしまうのでしょうね。
我田引水、自己中心、唯我独尊
>>294 = ○○ガ○
iframeにでもしとけばぁ
答えられない雑魚は引っ込んでろよ
まさに自己中心的だな
301 :
294 :05/01/09 21:10:50 ID:???
こんな屑ばかりのスレで聞いた私が愚かでした。 さようならゴミ共
途中経過は、どうであれ、
>>297 が全ての解決方法を提示しているじゃないか。
丸投げしか能のないやつは失せろ、と
今、PukiWikiのソースを読んでいるんだけど、ちょっとよくわからない部分があります。 plugin/attach.inc.phpのAttachPagesクラスの中で$this->pages[$page]->toString($flat)みたいに"->" を二回書いている部分の意味がわからないんで教えてください。 #ソースはちょっと長すぎて貼れなかったorz
305 :
226 :05/01/09 21:56:20 ID:???
すいませんでした(;´Д`)・・・
> それで、言いたい事は?
言いたかったことは
>>294 のコードを埋めるとその部分で処理が終わるまで
htmlの表示がストップすることです。htmlの部分だけさっさと表示してphpの
コードの部分はおいおい処理して表示されるのであれば全く問題無いはずです。
一方画像の表示だけならば
>>289 さんが提示された方法や
>>230 さんのJavaScript
を使う方法を用いれば本文とは別スレッドで実行されます。ただ画像だけでなく
リンク部分も含めて制御するとなると本文にも絡んできてしまうため簡単に別スレッド
とはいかないようです。
>>302 iframeに関してはまだ疎いのですがそれが唯一の解決方法でしたら
採用してみます。以前iframeはあまり使いたくないと言っていた人がいたのも
気になりますが・・・
>>304 ソース見てないけど
$this->pages[$page]がなんかのオブジェクトなんじゃないの?
禁煙したら机とキーボードが綺麗になった
>>305 >>282 にでてるけど、
アクセス毎に毎回チェックするのは無駄だから、
ローカルサーバーの状態をファイルなどに保存しておくといよ。
サーバーのパフォーマンス低下に繋がるかもしれないし、共用サーバーならなおさら。
サーバー側でcronなどが使えないなら、ローカルから通知するように、
ローカルの方からサーバーに定期的にリクエストを送る。
サーバー側でリクエストを受けとったら適当なファイルをtouch()。
チェックはファイルのタイムスタンプで判断。といった感じで。
iframeやjavascriptでも見かけ上の読み込み時間は誤魔化せるけど、
一番ボトルネックになってる部分はfsockopenなのだから、そこの設計の見直しが必要。
>>305 結論から言えば、今のプログラミングの手法として
逐次処理を前程にしている以上、無理。
その仕組みを使うなら、判定をする部分を下へもってくる
(後の方で実行する)以外に解決方法はないと思う。
>>309 の言う通り、ローカルファイルに状態を記録しておくのが一番いいと思うけど。
\ / \_____ ________________ _____/ ∨ ∨ ,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, /": : : : : : : : \ /": : : : : : : : \ /-─-,,,_: : : : : : : : :\ /-─-,,,_: : : : : : : : :\ / '''-,,,: : : : : : : :i / '''-,,,: : : : : : : :i /、 /: : : : : : : : i /、 /: : : : : : : : i r-、 ,,,,,,,,,,、 /: : : : : : : : : :i r-、 ,,,,,,,,,,、 /: : : : : : : : : :i L_, , 、 \: : : : : : : : :i L_, , 、 \: : : : : : : : :i /●) (●> |: :__,=-、: / /●) (●> |: :__,=-、: / l イ '- |:/ tbノノ l イ '- |:/ tbノノ l ,`-=-'\ `l ι';/ l ,`-=-'\ lι';/ ヽトェ-ェェ-:) -r' ヽトェ-ェェ-:) -r' ヾ=-' / / ヾ=-' / / ____ヽ::::... / ::::| ____ヽ::::... / ::::| / ̄ ::::::::::::::l `──'''' :::| / ̄ ::::::::::::::l `──'''' :::|
312 :
226 :05/01/10 17:28:49 ID:???
>>309-310 プログラムが逐次処理である以上避けられない問題ですか・・・
了解です。借りてるレン鯖でcronが使えるかどうか確認してみます。
アドバイスどうもです( ´∀`)ノ
>>312 自鯖のほうでバッチ回して、レン鯖にリクエストかければ?
自鯖がLinux系ならcrontab だし、Winならタスクとか、
DiCeみたいなアプリを適当に使用するのも吉。
314 :
226 :05/01/10 18:45:41 ID:???
>>313 DiCEなら現在使っています。定期的にスクリプトを実行する機能が
あったんでしたっけ?それでレン鯖の特定のファイルを書き換えれるか
更新すればいいわけですね。
PHP 4.1.x から4.3.4にアップさせたところ、 error_reporting(E_ALL); と記述しているのにエラーを表示してくれなくなりました。 それどころか、Parse Error 等の文法エラーまで表示してくれません。 おそらくインストール時の初期設定か何かの問題だとは思うのですが、 どの辺りを調整すれば良いのでしょうか?
>>315 display_errors = Off
が設定されている
317 :
313 :05/01/10 19:51:49 ID:???
>>314 チト頭を使おう。
DiCeでIPアドレス検出方法を「指定したURLの表示内容から抽出」する。
レン鯖には、REMOTE_ADORESSを返すスクリプトを置いておく。
返すだけではなく、自鯖ステータスの更新処理も含めておく。
318 :
226 :05/01/10 22:27:33 ID:???
>>317 なるほどそういう使い方もありましたか。
DiCEから呼び出すスクリプトはこのスレッドらしくPHPで実現したら
格好いいですね( ´∀`)。
たぶん大丈夫かと思いますが全く関係ない他人がそのスクリプトにアクセス
してしまったら自鯖ステータスも更新されてしまうので簡単な認証手段を
こうじた方が安心かもしれませんね。
>>226 ここは馴れ合うスレじゃないぞ
なんかお前の書き込みは荒れそう
じゃぁ荒らすね ネギ /7へ,、 ,///スく ,ノ'彡/"´ ,/,/'" ,/,/ ,./,/ えr'" ネギ /7へ,、 ,///スく ,ノ'彡/"´ ,/,/'" ,/,/ ,./,/ えr'" ネギ /7へ,、 ,///スく ,ノ'彡/"´ ,/,/'" ,/,/ ,./,/ えr'"
ネギ /7へ,、 ,///スく ,ノ'彡/"´ ,/,/'" ,/,/ ,./,/ えr'" ネギ /7へ,、 ,///スく ,ノ'彡/"´ ,/,/'" ,/,/ ,./,/ えr'" ネギ /7へ,、 ,///スく ,ノ'彡/"´ ,/,/'" ,/,/ ,./,/ えr'"
test
なんで過疎ってるんですか?
さて、銀河系の話でもしますか?
ネギ /7へ,、 ,///スく ,ノ'彡/"´ ,/,/'" ,/,/ ,./,/ えr'"
327 :
nobodyさん :05/01/14 12:23:15 ID:MY633uHv
メール送信について教えてください。 現在、メール送信ができているのですが、 受信したメールのタイトルだけが途中から文字化けしてしまいます。 (アウトルックは大丈夫でしたが、サンダーバードが駄目でした) 一応、下記のように文字エンコーディングを変換しています。 $enc_msg = mb_convert_encoding($message, 'JIS', 'EUC-JP'); $enc_sbj = mb_convert_encoding($subject, 'JIS', 'EUC-JP'); どのようにしたら、うまくできるのか 分かる方がいらっしゃいましたら、ご教授ください。
329 :
327 :05/01/14 12:52:19 ID:MY633uHv
>>328 ありがとうございます。
さっそく下記のようにして実行したのですが、もっと変になりました。。。
$enc_msg = mb_convert_encoding($message, 'JIS', 'EUC-JP');
$enc_sbj = mb_encode_mimeheader($subject, 'JIS', 'EUC-JP');
タイトルに文字コードが表示された感じに文字化けしました。。。汗
>>329 「RFC1522」を嫁。
もしくは、「メール ヘッダ エンコード」で具々れ。
$_SESSIONをグローバル変数がわりにしてもよいのですか?
オレが333ゲットズザー
(´,_ゝ`)プッ ・・・アッハッハッ八派はアアアアア母は母h
>>329 $subject を使っているのと、
そもそも PHP の mb_encode_mimeheader()、バグってると思う。
>>329 マニュアルをちゃんと読め。mb_encode_mimeheader の使い方が思いっきり間違っているぞ
普通に釣りだろ 釣りじゃないの? 釣りだと思う・・・・ 釣りであることを願う 釣りじゃないとしたら・・・・
また独り言か
>>336 馬鹿じゃねーの?
お前程度のチンカスが遭遇するようなバグが残ってるとでもおもうか?
自分の使い方が間違ってるのに、思うように動かなかったらバグだって?
笑わせんな。どっかの斜め右上を行く国の住人と思考回路が一緒だなw
↑ チョン
>>340 某国人にママがレイプされて産まれた子なので某国人を恨んでいる
PEARのインストールに使う go-pear.php を読んでいて 面白い書き方を見つけたんだけど、標準入力を開くときに、 $tty = @fopen('\con', 'r'); if (!$tty) $tty = fopen('php://stdin', 'r'); こんな風に書いてる。一見すると2行目だけでいいと思うんですが、 このように書く理由はなんでしょうね? あと、マニュアル見ても2行目の書き方は載ってるけど、1行目の 書き方は無い模様。でも Windows の cli 版で実行すると1行目で ちゃんとオープンできるんですよね。
下位互換性のためじゃないかな
345 :
nobodyさん :05/01/16 00:45:46 ID:QR0dYcnM
<form name='form' method='post' action='./'> <input type='checkbox' name='cu'> <input type='submit' value='submit'> </form> チェックボックスを空でPOSTすると$_POST['cu']の空変数は セットされないのですね。今日、はじめて気づいたよ^^;。 valueを付けたら良いのだろうか・・・やってみよ
346 :
345 :05/01/16 00:47:54 ID:???
valueを付けてもダメですね $_POST['cu']の空変数を取り出せるタグの書き方等はあるのでしょうか?
>>346 hiddenで隠し持つしかないねぇ。(checkboxとhiddenで1セット)
>>346 受け取る側で使う前に
$cu = isset($_POST['cu']) ? $_POST['cu'] : '';
とかやってみるといいんでは?
349 :
345 :05/01/16 01:26:50 ID:???
>>347 checkboxに使う変数をhidden1つにカンマ区切りで纏めて送信する事にしました。
>>348 それがPOSTを受け取る側ではキーの部分が不特定になる構造なので空変数の
キーが必要だったのです。
350 :
nobodyさん :05/01/16 02:55:33 ID:ChEzpbOr
>>349 そういや、チェックボックスで漏れも痛い目にあったことあるな。
原因がわかるまで、4日くらい帰れなかった。
セッションとクッキーも絡めて使ってたから、一度チェック入れちゃうと
外してpostしてもチェック入った値が入るので大問題になった。
>>350 うはwwwレベル低すぎwwwwwwwww
352 :
nobodyさん :05/01/16 05:17:32 ID:K/l3JAK3
全くの初心者が無謀にも挑戦してますです。 アパッチ+postgres+phpと言うサイトで $memberlist というテーブルがあります。 Create文 create table memberlist ( id int primary key, name text, hurikana text, bag int8, … こんな感じのテーブルがあります。 php上で リストに何人いるか表示させたいのです。 nameの総数という感じでしょうか? <TD> ******** </TD> この****部分にどんな指定をすれば総数がでるでしょうか? ダメもとでやっても出来るはずないので聞きに来ました。 これだけではデータが少ないかも知りませんがどなたかお願い出来ませんか? ちなみにphpファイルを扱うのははじめてなのです。
すげえな。「何が分からないのか分からない」という某CMをも超えてるぜ。ゴクリ 1. SQLを調べる 2. phpとPostgreSQLの連携を調べる
PHPじゃなくてHTTPの質問になっちゃうんだけど、
RedirectをさせたときにGETじゃなくてPOSTにさせることってできますか?
やりたいことはRedirect先にリクエストパラメータを渡したいだけなんで
Location:
http://server/path/script?param1=value1 とすればいいんですが、パラメータをURLに出したくないので、POSTでできないかなーと。
>>355 そゆときの為のセッション管理。
$_SESSIONを使う。
>>355 「リダイレクト先に指定のデータをPOSTするPHP(別にPHPである必要もないが)」へリダイレクトをかければ良いと思うが??
サーバーを跨がないのであれば、
>>357 が良いだろうな。
359 :
357 :05/01/16 08:37:58 ID:???
>>358 ああ、別に質問の条件にあったわけじゃないけど、
サーバを跨ぐ可能性ってのを完全に忘れてたYO。
360 :
355 :05/01/16 14:34:54 ID:???
>>356-359 どうもありがとう。別スクリプトを呼び出すなんて考えもしなかったよ。さんくす。
functionを作成する場合、引数の数を不定にすることはできるでしょうか? やりたいこととしては、function に渡した引数が Perl のサブルーチンのように配列に入ってくれれば良いのですが。 呼び出し元では配列を使用せず、変数を列挙したいのです。 foo($a, $b, $c); // 3つとは限らない function foo($array) { // 引数を全て$arrayにセットしたい } 呼び出し元から配列を渡せば良いことは承知ですが 何か上手い方法は無いでしょうか?
>>361 呼び出し元で、配列を渡したくない意味がわからない。
364 :
361 :05/01/16 17:43:21 ID:???
>>362 $a, $b, $c, "aaa", "bbb" など、変数や固定値をまとめて渡したいのです。
これを配列やハッシュに代入してから関数に渡すと、
呼び出し元で配列への代入文を記述する必要がある上
ワーク配列を1つ作成しないといけません。
配列を渡したくない理由はその辺りです。
>>363 ありがとうございました。まさにこれです。
配列をセッション変数にした場合、$_SESSIONで受け取る場合は、どういう風になるんでしょうか? 例えば student という変数をarrayで配列宣言して、セッション変数に指定した場合、 $_SESSION['student']['no'] といった感じで $student['no']を受け取るのかと思いましたが 駄目なようです。
>>365 言ってる意味がわからん
$_SESSION['student']['no'] と $student['no'] はどうみても
別物にしか見えない
すいません。 要はセッションで配列変数を渡したいのです。
>>365 >例えば student という変数をarrayで配列宣言して、セッション変数に指定
これはどうやったんだよ
$a = array('a','b','c'); $_SESSION = $a; print_r($_SESSION); とか?
勝手にシリアライズされるから普通に配列も突っ込めるけど
素直に解釈するとこうだよな まぁ、前の$_SESSIONが消えてなくなるが; $student = array(); $_SESSION = $student;
今のサーバーがPHP4.0.6の為に普通に session_registerで student をセッション変数にして その後、 $student=array() で配列にています。 今後サーバーが変わって、PHPのバージョンが上がるために、今のうちに$_SESSIONで対応しておこうと $_SESSION = $HTTP_SESSION_VARS で $_SESSION にセッション変数を取り込んでいます。
駄目な奴ってほんと何をやらせても駄目なんだなあ
質問です PHPでwindowsを操作することってできますか? 例えばFormのボタンをおすとコピー(Ctrl+C)などやりたい
>>376 サーバサイドとクライアントサイドの違いぐらい理解してください
CGIでも無理ですか? じゃあ何だとできますか?
クリップボードなら JavaScript からいじれなかったっけ
>>380 ,381
ありがとう!!
IE限定だけどできましたっ
ちなみに別に開いてる窓をPrintScreenとかできないでしょうか?
関係ないけどJscriptね
初心者質問とかJスク質問スレとかあげだしかねんな。
smarty の設定をclassを extends してディレクトリの場所を定数で設定している のですが、定数が設定されていないようです。 PHPマニュアルによると、定数のスコープはグローバルのはずなのですが、 classや、extendsを使うとダメとかあるのでしょうか? 設定すれば、どこからでも定数を利用できると思っていたのですが違うのでしょうか? よろしくお願いします。
>>387 定数の上書きは出来ない
つまり定数が設定出来ていない
smarty以前の問題
っていうか定数が何か理解してるのだろうか
390 :
387 :05/01/18 21:47:37 ID:???
>>388 smartyだけではなく、違うphpプログラムでも同じく定数が読めません。
>>389 ちょっと間違った書き方をしてしまいました。
定数の上書きはしていません。定数は書き換えられないということは
一応わかっていて、プログラムの最初の方で一度、defineで指定?設定?
しただけです。
それをrequireしたり、classになっているファイルから使おうとしても
使えなかったということです。
あり得るのでしょうか?
定数だとrequireする順番に依存しているのではなかろうか・・・
なんでオイラがサンプルを書かねばならんと思いつつ、、 <? class Cparent { var $data; function show(){ echo $this->data; } } class Cchild extends Cparent{ function set(){ $this->data = DATA; } } define("DATA",'test'); $obj = new Cchild(); $obj->set(); $obj->show(); ?> -- こういうこと? 結果は正しくdefineされてる。
394 :
387 :05/01/18 22:28:58 ID:???
>>391-393 ありがとうございます。
複雑なプログラムの中でなっているので、正確にどういう状態っていうのを
言うのが大変です。
ちょっと今コードを見たりデバッグしたりして調べています。
ちなみに
define("DATA",'test');
print "debug: DATA";
っていうのは、無理なんですよね?
print "debug:" . DATA;
ってやるしかない。
395 :
387 :05/01/18 22:54:47 ID:???
ヒアドキュメントで使おうとしていたからが、一つ。 あと、``の中で使おうとしていたのもありました。 この場合は、一回変数に入れるって方法で回避できそうです。 今日は時間がもうないので、明日までにコードをちゃんと見ておきます。
>>387 まずは、お前の頭の中のコードを見直して来い!
まぁ結論としては、定数のスコープはグローバルで、 class内や継承しようと問題なく利用できる。 ということでFA。
さっかりんさんのようなサイトを作りたいのですが、 元になるxoopsとかWikiみたいなソフトがなにかあるのでしょうか? 全くのオリジナルなんですか?
さっかりんって誰だよ!
また宣伝か
398です。 すみません。宣伝じゃなくほんとに質問なのですが、 アドレスを書き込んでもいいものなのでしょうか 会員登録ユーザーにRSSのマイブックマーク機能を提供し RSSアンテナと、サイトの更新未読既読の自動表示など 盛りだくさんなのです。
お伺いメールは出したのですがまだ返事はいただいてません。 すぐには来ないでしょうし、いただけたらラッキーぐらいの気持ちですが、 (先方は私に返事をする義理はないので、という意味で) 少しでも早く情報を得て勉強してサイト作りに取り掛かりたかったので こちらにも聞いてみました。
>>403 こういうところで、情報は小出しにしない。
聞いているなら、聞いているという事を最初から書きなさいね。
未知のサイトがオリジナルかどうかなんて聞いてる時点でネタだろ
WinNT+Apacheで、PHP の共有メモリ関数 shmop を使って 作ったメモリ領域にC言語で作ったプログラムから、 アクセスしてデータ取得をしたいのですが、 可能なんですか? Linux系のヒント(可能であるらしい情報)は見つかるのですが、 Windows系での情報がなかなか無くて困っています。
408 :
406 :05/01/19 21:58:27 ID:???
>>407 さん
ありがとうございます。
そーですか。なんか別の方法を考えてみます。
教えてください。 $_POSTのデータを受け取ってるんですけども、 nameの文字列に.(ピリオド)があると、_に変換されてしまいます。 foreach( $_POST AS $name => $value ){ echo $name."=".$value; } こんな風に表示してみたんですけど、ピリオドはアンダーバーに変換されるものなのですか? ブラウザはIEで、POSTしています。 PHPのバージョンは4.3.9でした。
>>410 そこのマニュアルに気づきませんでした。。。すいません。
それで、みてみたらピリオドはアンダーバーに変換されてしまうって書いてあるんですが、
ピリオドのままうけとれないのですか?
気づいたら読んでみて理解しましょうよ。。 どうしてもやりたきゃ、main/php_variables.c に /* ensure that we don't have spaces or dots in the variable name (not binary safe) */ って行があるからそこを書き換えれば出来ると思いますよ。 <input type="image" name="a">なんかも、座標値が a.x -> a_x になって渡されます。 spaceも_ になるのか。これは知らんかった。
結局ピリオドの受け取りは無理なんですか
>>414 >>413 の言うとおりにすれば可能と思われ
それとも、なぜ現状ではピリオド付きでは
受け取れないのか理解できないとでも?
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
具体的なPHPのコードに関する質問はここ。
それ以外、コード以前の質問は↓
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★ ★
☆ 新規質問は名前欄・メール欄を空にして行え ☆
★ ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆
★ ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
変数名にピリオド使う時点で精神衛生上よくないな。
419 :
nobodyさん :05/01/21 15:52:54 ID:6l6oJL9k
mail boxのメール数をチェックして、0なら何もしない、 1つでもあれば別のプログラムを実行する、 というスクリプトは実現可?
めくらでバカなの?
ここが最近閑古鳥なのは、やはり元々くだ質へ行くような 質問ばかりしか無かったってことか?
だいたいある程度できる人は自力で解決しちゃうからねえ。
426 :
nobodyさん :05/01/21 23:10:43 ID:EgTTTyzS
pyaはこんなとこで宣伝しなくても十分メジャーだろ。
pyaの中の人乙
セキュリティ問題になるかもしれないエラー表示を なんで本人がこんなとこで公表するんだよ
ソースわからんと直せない
434 :
nobodyさん :05/01/22 12:39:37 ID:Drlw2rEk
sessionってどこまで持つの? 1つ目の画面でsession_startして2つ目の画面で設定して 10個目の画面で参照しても大丈夫?
>>434 タイムアウトまで
ていうか、こんな質問ばっかだな。。
436 :
nobodyさん :05/01/22 16:04:36 ID:JnEFpsgm
phpのコーディングをもっとうまくできるようになりたいので、 他人がつくったソースを参考として拝見して、勉強したいのですが、 「このソースを参考にしたらいい」っていうおすすめあります? なお、速さ重視より保守性重視なほうがいいです。 ふとおもったんですが、pearとかどうなのかな???
もう
>>231 は「知ってる人から見れば」を「俺から見れば」に変えようぜ
あたらしいテンプレ ・自分で考える ・他人に聞かない ・グーグル
>>439 ありがとう。
なんとなくわかった。
試してみます。
445 :
nobodyさん :05/01/22 19:53:24 ID:7Lald5Az
セッションで保存できるデータって、文字列や数字だけらしいのですが、配列や、もっと複雑な構造をしたデータ構造を保存するにはどうしたらいいでしょうか。 RDBは使いたくないんですが。
このスレいらねぇから削除依頼ね。
>>442 >・他人に聞かない
質問スレなのにこれあり?
>>445 まず試せ。マニュアル嫁。
明らかに両方していない
449 :
445 :05/01/22 22:31:44 ID:TvWo965l
>>448 ここは質問スレ!!
答えたくないなら黙っとけ。
答えられなくても黙っとけ。
関係ないことは書くな!!
おまえのはただのスレ汚しだ。
451 :
445 :05/01/22 22:42:48 ID:TvWo965l
>>450 何がすれ違いなんだ?
448の馬鹿にこのスレのルールを教えてやっているのに。
>>445 よくわからんが、答えるぞw
間違ってたらゆるしてくれ。
文字列をデリミタで区切ってつかう。
では駄目なのか?
だめなら誰かかわりに答えてやってくれ。
リモートファイルのHTTPヘッダ取得は PHP5のget_headers();しかないですか? php4でリモートファイルのHTTPヘッダ取得が出来る方法があったら 教えてください。
>>456 PEAR使うか、ソケット関数でベタに書いて
HEADで取ってくるのもそんなに行数いらんで書ける。
filemtimeで拾得した情報は確かキャッシュされると記憶しているのですが、 スクリプト実行中にPHP以外の動作によって情報に変更が入った場合には どうなるのでしょうか? キャッシュした情報のみで処理されてるのかなぁ
459 :
nobodyさん :05/01/23 12:59:11 ID:v8YGggq/
質問です。 どうしてココのスレは性格の悪い人が多いのですか?
461 :
459 :05/01/23 13:14:55 ID:v8YGggq/
463 :
nobodyさん :05/01/23 22:03:29 ID:zrTgGnqo
PHP5.03(windows CGI版)で次のコードを実行すると正常に動作 しないのですが私の環境だけでしょうか? <?php class count { function __construct() { session_start(); if(!isset($_SESSION['count'])) $_SESSION['count']=0; } function __destruct() { echo $_SESSION['count']; $_SESSION['count']++; } } $obj=new count; //ここに $_SESSION['count']++; を移動させると正常に動作 ?>
セッション機構終了後にデストラクタが呼ばれているから。 今のところ明示的に参照を0にする必要がある。
465 :
463 :05/01/23 22:22:31 ID:zrTgGnqo
>>464 なるほど。レスありがとうございます。
友人のlinux版では正常に動作したのですがwindows版だと
動作が違うのですかね。^^;
あれ、session_start()しないと、$_SESSIONは参照できないんじゃなかったっけ? 代入すれば自動的にsession_startするみたいだけど。 linuxの環境では自動スタートの設定になっていたとか?
>>465 うちのWoodyも5.0.3入れてるがWinと同じ動作。
その友人ので動いたとすれば、どこかで参照カウンタがゼロになったかのどちらかだと思う。
あるいはCVS版では既に修正されているかも。
とりあえずはregister_shutdown_func〜を使うか、unsetでオブジェクトを
破棄してデストラクトをコールさせるしかない。
>>458 clearstatcache()
filemtime()関数の説明にも書いてある。
>>459 >>458 みたいに1分でもマニュアル読めば分かるような事を聞く奴ばかりだと、
段々腹立ってくるから。
>>469 無理して答えなくていいですよ。たいした答えじゃないし( ´,_ゝ`)プ
471 :
nobodyさん :05/01/24 01:08:27 ID:eTYF+FRL
レンタルのフリーCGIで、裁判形式のBBS(たしか、ジャッジメントとかいう名前だったような)の配布サイトご存知の方、いらっしゃいますか? サイトの場所、わからない;;
くだらねぇ質問ばっかしてんじゃねーよ
その内このスレってさ、マニュアルへの個別リンク集と他スレへの誘導だけになりそうだな。(w
477 :
463 :05/01/24 01:30:08 ID:9W2iCmX2
>>466 __construct() 内でsession_startしています。^^;
478 :
466 :05/01/24 02:16:23 ID:???
Parse error: parse error in cal.php on line *** (***は最終行)と表示されて {}の閉じ忘れ、セミコロンのつけ忘れなど原因を調べてみても原因が分からず。 諦めモードで、試しにTabインデントをすべて削除してみたら何故か動いた。 こんな不思議なことが過去に何回かあったんだが、喪前らはどうよ?
>>479 Tabのつもりが全角スペースだったりしたんだろ
Webからコードをコピペしたりすると結構あるぞ
>>480 全角が含まれているかどうかもハイライト表示でちゃんとチェックした。
置換で \n\t を \n に置換しただけで何故か動いたから、その可能性はない。
知ったか乙
>>479 apache(とは限らないが)再起動してみ。
謎のエラーが発生する時それだけで治る事がある。
>>483 また同じようなエラーが表示されたら試してみるよ。
dクス。
485 :
479 :05/01/24 04:29:36 ID:???
初歩的なミス・・・ インデント終了宣言部分の行頭に[Tab]が含まれていたのが原因ですた。 [Tab]$str = <<<EOD [Tab][Tab]Hello, World! [Tab]EOD; 吊ってきます・・・∧||∧
× インデント終了宣言 ○ ヒアドキュ メント構文 オイラの環境 php-4.3.5@win2kだと、その類のミスは 「parse error, unexpected T_SL in 〜」と表示されるので、 マニュアルのパーサトークンのページの情報から 「<<」が不適切だと分かる。parse error行前後を見ても気づくし。 (その前にヒアドキュメントでミスなんてしないけどね;p)
すみません教えてください。 print <<<EOT <a href="javascript:fnc_a('----')";> EOT; fnc_a()はjavascriptの関数 上記のような文を書きたいのですが、ヒアドキュメントを使えば そのままでいいのですが、EOTを禁止されてしまいました。(理由は不明です) 他にどのように書けばいいでしょうか?
>>487 >EOTを禁止されてしまいました
EOTを禁止ってなんだ
>他にどのように書けばいいでしょうか?
普通にechoするなりphp構文の外に出すなりすればいいだろ?
俺には何が分からんのかさっぱり分からん
>>487 >EOTを禁止
printやらechoやらを使えば代替になるけど、禁止って何?
EOTがだめならOKASIにすればいいじゃない
>>487 print <<<_UNKO_
<a href="javascript:fnc_a('----')";>
_UNKO_;
これでバッチリ。
これまで error_reporting = E_ALL & ~E_NOTICE の設定でプログラムを書いてきたのですが、今後 error_reporting = E_ALL にして書いていきたいと思っています。 ウェブフォームから入力されてくる値は、 $_REQUEST['param'] といった感じで取得するわけですが、いきなり参照するとwarningが出ます。 一切のwarningを出さないようにするためには、 例えばプログラムの先頭で、 if (isset($_REQUEST['param'])) $param = $_REQUEST['param']; のようなかたちで一旦すべて$param形式の変数に代入して、 以下のプログラムでは$paramを参照等するようにすればOKでしょうか? すでにE_ALLでこの点に気をつけて書かれている方がいらっしゃいましたら、 ぜひノウハウを教えていただければ幸いです。
493 :
nobodyさん :05/01/24 12:02:31 ID:gh8S2Koa
SSL経由(https)からのアクセスの場合と、 SSL非経由(http)からのアクセスの場合で ifを使って処理を分けたいのですが、 この場合、どうすれば判断できるでしょうか? 環境変数ってやつを使うっぽいのですが・・・
>>493 apacheなら $_SERVER["HTTPS"] を参照。
>>492 おれは
if (!isset($_REQUEST['param'])) $_REQUEST['param'] = "";
と空文字をセットしたり
if (empty($_REQUEST['param'])) $_REQUEST['param'] = "初期値";
初期値をセットしたりしてる
>>495 なるほど、それだとelseまで書かなくて済みますね。
実は$_REQUEST等はread onlyかと思ってました。
(書き換えて使ったことがなかったので)
これまで、register globalがonからoffに変わった頃からの名残で、
プログラムの先頭ですべて
$param = $_REQUEST['param'];
のように代入していました。
(また$paramをquoteした場合は$quoted_paramに代入)
オリジナル値を操作しないというのは今後も続けようと思いますが、
これまでの先頭のさらに前に処理を追加しようと思います。
ありがとうございました。
質問させてください 現在HTML部に↓のような記述をしているのですが <input type="checkbox" name="ckbox[0]" value="1" checked>お酒 <input type="checkbox" name="ckbox[1]" value="2">禁煙席 <input type="checkbox" name="ckbox[2]" value="3">送迎 $checkbox[0] = $_POST["ckbox[0]"] これを[]を用いないで(配列を用いないで)FORMの値を取得する方法はありますか?
>>496 どうでも良い事だが、俺は条件式の書き方が好き
$hoge = (条件) ? 1 : 0; ってやつね。
{}でくくってないif文はなんとなく嫌。
>>497 >>497 何で配列を使わないのかが分からないが…
<input type="checkbox" name="sake" value="1" checked>お酒
<input type="checkbox" name="kin" value="2">禁煙席
<input type="checkbox" name="sou" value="3">送迎
とでもして、$_POST['sake'] $_POST['kin'] $_POST['sou'] 調べれば終わりだと思うが??
何をしたいのかよく分からん。
>>497 ゴメン。チト間違えた。
<input type="checkbox" name="sake" value="on" checked>お酒
<input type="checkbox" name="kin" value="on">禁煙席
<input type="checkbox" name="sou" value="on">送迎
とでもして、$_POST['sake'] $_POST['kin'] $_POST['sou'] 調べれば終わりだと思うが??
に訂正
さっそくお答えくださってありがとうございます。 質問のしかたが悪かったかもしれません・・・。 例えば、 好きな観光地と言う複数選択で <input type="checkbox" name="kankouti" value="京都">京都 <input type="checkbox" name="kankouti" value="奈良">奈良 <input type="checkbox" name="kankouti" value="宮島">宮島 <input type="checkbox" name="kankouti" value="秩父">秩父 <input type="checkbox" name="kankouti" value="箱根">箱根 こんな感じのHTMLで 奈良と宮島と秩父にチェックを入れた場合 出力で 「奈良,宮島,秩父」という感じにまとめたいのですが、この場合のプログラムはどのように書いたらよいのか 分かりますか?
>>501 checkboxでnameが同じ場合はname=value\0value\0valueと渡される。
ありがとうございます、 試してみます
配列を使いたくないのはどうしてなんでしょう? 全部name[]としておけば、チェックされたものが name[0],name[1],...に入ってきたと思いますが。
調べても分からなかったんで質問させてください。 $aの中身が配列であるのか、配列ではないのかを調べる関数ってあります?
>>497 ちなみに
$_POST["ckbox[0]"]
これはだめだろ
$_POST["ckbox"][0]
こうだろ
508 :
497 :05/01/24 15:36:40 ID:???
配列を使わない意味はなかったかもしれません^^;
>>506 $_POST["ckbox[0]"] でやってだめだったんでハマってたんですよ。
どうやら解決しそうです。ありがとうございます。
ちなみに、 $ckbox = $_POST["ckbox"]; としてから $chbox[0] でもアクセスできるよ。
タイポしました。 $chbox[0] じゃなくて $ckbox[0] です。
>>505 $flag=is_array($a);
これで$flagにTRUEが入ってれば$aは関数として取り扱われていることがわかります。
普通の変数だったらFALSEが返ってきます。
511が初心者を矯正中だったのに・・・w
>>514 いいんじゃない?
>>513 こういう、お節介モノが、
優秀な技術者の芽の一部を摘み取っていくんだろうけど、
所詮、
>>505 みたいに「調べた」といってるわりに、
調べていない事がバレバレの教えて君なら、どう転んでも、
成長は見込めないんだから。
しかも間違って教えてるし。
しーっ!
わざと嘘を教えてんじゃないか? んな訳ないか
ImageMagickのconvertを execを使用して実行してるんですが、 ブラウザでその処理を実行するリンクを2度押しとかしちゃうと、 ハングしちゃってるのか、そこで処理が止まったままになってしまうのですが、 この場合、どう対処してあげればいいのでしょうか? execで実行中何度も実行するとまずいのですか・・・?
・初心者おことわり ・グーグルですべて解決 ・回答は3ヶ月待ち ・自分で考えること ・自分で調べること ・人に頼らないこと
ちょっとコピペ置き場にしてただけ スマンね
524 :
nobodyさん :05/01/26 16:02:03 ID:Xb/tFKyN
入力値をサニタイズしようと思っています。 入力された値が、ある配列の中の文字列のどれかに一致すれば、正という処理 をさせたいのですが、どのように書くのがスマートでしょうか? 簡単なのだとこんなのを考えましたが、プロの方ならもっと簡単に書けそうです。 6行もかかってしまいます。 $clean_value = false; foreach($array as $key){ if($input == $key){ $clean_value = true; } }
in_array
527 :
524 :05/01/26 17:10:59 ID:???
>>525 Thx!!phpって楽ですねー。
良く見たら送られてくるデータが配列だったので、以下のようになりました。
結局こんなにコードを書いてしまいましたが、これももっとスマートに書け
ますでしょうか?
$invalid_input = false;
if(isset($input_array)){
foreach($input_array as $value){
if(!in_array($value,$array)){
print "Error!";
$invalid_input = true;
}
}
}
if($invalid_input){
$input_array = array();
}else{
$sanitized_array = $input_array;
}
529 :
524 :05/01/26 19:27:06 ID:???
>>528 ありがとうございます。
あのマニュアルはいつも読むのですが、いつもわからないです...
あれでみなさん理解できているのですかねぇ。
needleの方の配列が、
1. どれかだけのマッチする場合だけ、TRUEを返すのか?
2. 全てマッチする場合だけ、TRUEを返すのか?
があれだけじゃわからないような...理解力不足でしょうか?
使い方もよくわからないです。
両方配列にしたらマッチしなかったので、
>>527 のようなコーディングを
してみました。
逆引大全も見ていましたが、配列が使えるとは書いてなかったです...
マニュアルの後の投稿されている英語のサンプルをちょっと読んでみます。
>>527 >Thx!!phpって楽ですねー。
楽なら聞くまでもないだろ
おまえが低脳だからだろ
この手の馬鹿が増えてくると、段々と真面目にレスをしてくれる ユーザーが減って行くんだよね・・・
空気嫁
おまえが嫁デブ
538 :
nobodyさん :05/01/26 20:40:38 ID:5qrlpz1Z
<?php // カウンタファイル名の設定 $counterfile = "counter.dat"; // ファイルオープン。未作成の場合は新規作成。 $mode = file_exists($counterfile) ? "r+" : "w"; 本に載ってたアクセス・カウンタの冒頭からのスクリプトなんですが、 $modeの行の後半の?と:の意味が解りません。他の本を 見てもネットで検索しても解説しているところを見つけられな かったのですが、これはどういう意味があるんでしょうか?
>>538 3項演算子。それでググれば分かると思う。
>>538 $foo = $flag ? '1' : '2';
は
if($flag) $foo = '1';
else $foo = '2';
と一緒ってことだよ。
使い慣れるとめちゃ使い易いからガンバレ。
>>538 PHP 実践のツボ セキュアプログラミング編のやつか
phpって楽ですねー。
phpって楽ですねー(笑)
おまえら飽きてるのか
おまえら飽きてるのか
何組? 何組? 言って? 何組?
確かにPerlばっかやってからPHPに移転すると爽快な気分になる
うむ
そうかい
Thx!!phpって楽ですねー。
array_popとarray_shift及びarray_unshif及び$hoge[]='' の処理速度の検証をされた方はいらっしゃいません でしょうか? 何となく気になった・・・自分でやれよ!!笑
た、楽しい・・・ですねぇえぇぇええええ
553 :
nobodyさん :05/01/27 12:22:11 ID:9YUdbfEg
質問もないことだし無理してスレを進めなくてもいいんでない
555 :
nobodyさん :05/01/27 12:33:10 ID:D/dtmk8n
_,..----、_ / ,r ̄\!!;へ /〃/ 、 , ;i i,__ i ‐=・ァj,ir=・゙) lk i.l /',!゙i\ i ゙iヾ,. ,..-ニ_ / Y ト、 ト-:=┘i < 敢えて言おう!PHPはCGI言語のチャンピオンだと! l ! \__j'.l 」-ゝr―‐==;十i _,r--――、 .ト、.j.!レ' ̄三! >ーr‐r‐r‐< _,.r<"「 l_____ ____,..r--r=ヾヽj,r―'"≦__ ̄ ̄r―'"\\ \r",.-、, \ ∧ ト-'‐'"三へ>ト-‐'"~ ゙i / \\(_.人 ヽ._ ヽ レ'へ._ノi 「 \ ゙l //./",「 ̄/ / / ヽ-ゝ. \ / レ'// .l l ! ! i/./ ./ / / / ,( \ ノハ レ'/ .! ! i ゙'!  ̄ ∠, / ヽ._ ,ター '",〈 ! /゙" ,r'" .l‐=ニ゙,「l ! 「 ̄!. /./ ー==' .l.ト、. -‐'"/!.ト, / .ト- ゙ー―┘!└‐'='-‐" ヽ._/ 、 トミ、 ̄ ̄._ノノli\
556 :
T :05/01/27 12:35:22 ID:oDNRzBsV
質問です!! GETメソッドによってURLにつなげて変数を他のページに渡す 場合、変数が丸見えになってしまうのを防ぐために、urlencode などが使えるとのことですが、この関数では英数字以外の文字しか エンコードしないのですよね? となると、変数名および変数の値自体が全て英語や数字の場合、 urlencodeでエンコードしても意味がないと思うのですが、 英数字をGETで渡す必要があるケースで、セキュリティ上これを 丸見えにしないですむようなエンコードの関数、および方法は ないでしょうか? 初心者のため、ご教授よろしくお願いします!
変数じゃなくて$_GETのキーだろ。 んでその「セキュリティ上の理由」とやらを聞かせてもらおうか。
>>556 >変数が丸見えになってしまうのを防ぐために、urlencode
その認識に大きな誤りがあることを誰か指摘してあげてください。
560 :
T :05/01/27 12:56:41 ID:oDNRzBsV
すみません、最近やりはじめたばかりで知らないので。。。 そういう理由ではないんでしょうか?
>>556 urlencodeって記号とかの文字をそのままurlとして渡すと変になるからするんだよ。
暗号とかじゃないよ
>>560 インターネットを使う上での約束事にRFCというものがあって、
その中のRFC 2396 (3986でobsoleteされた?) に URL(URI)の事が書かれている。
URLに使える文字や使えない文字を含めたい時の扱い方も定義されていて、
それに基づいて作られたのがurlencode関数ってことになる。
で、
>>556 の質問については、セッションやcookieを使ったらいいんじゃないかな。
563 :
T :05/01/27 14:08:51 ID:???
>>562 GETで渡さなきゃいけないと言っているでしょうが。
質問をよく読んでください。
>>Tさん ユーザに変数名を知られても問題無い様な仕組みにしないといけないんじゃないかな?
GETでは見られてもよいセッションIDのみ使う
大事な情報はサーバ内でセッション管理
ってことだろ
>>563
>>566 いんや〜〜・・・
入力フォームのmethodをgetにしないといけないんだろ。
(そんな状況は旧J-PHONE向けにしか思い当たらんが…)
ん?そもそも旧J-PHONE向けのサイトだったら、
引数付きのURLなんか見れないんだから、意味不明か…
「GETしか駄目」な状況が見えない…
568 :
nobodyさん :05/01/27 18:03:38 ID:Es6FJ1X7
あ? もう百回読んでこい低脳
>>567 DDI Pocket用(非ブラウザ)かも。なんかメール形式でコンテンツ飛ばすやつ。
かんすぅ〜〜〜〜、へんすぅう〜〜〜〜〜 ごっちゃごちゃぁ〜〜〜〜〜
572 :
538 :05/01/27 21:23:09 ID:???
(MySQLでドツボにハマり中で遅くなったっす。)
>>539 3項演算子っていうのか。何で本に載ってないんだろう。
オライリーの本なら載ってんのかなぁ。
>>540 丁寧にありがと。よく解ったっす。
>>541 そうだす。
573 :
T :05/01/27 22:03:03 ID:oDNRzBsV
おはようございます。こちらは今、朝です。。。 一晩寝て起きたら誰か私のフリして書き込まれてますね。 563は私ではありませんので。 561さん、562さん、564さんをはじめコメントいただいた方、 ご親切にどうもありがとうございました!! なるほどです。勉強になりました。 (ちなみにほんもののTです。)
575 :
nobodyさん :05/01/28 11:18:07 ID:7CVjKDTn
すみません。 PHPで、ある文字列に特定の文字が何個入っているか 調べてくれる関数ってありませんでしょうか?
substr_count()
577 :
513 :05/01/28 14:07:03 ID:???
>>513 >これで$flagにTRUEが入ってれば$aは関数として取り扱われていることがわかります。
× $aは関数として
○ $aは配列として
訂正してお詫び申し上げます。
578 :
463 :05/01/28 16:43:24 ID:6uyBWJ8D
PHPセッションを語ろうのほうで質問にいってきます^^;
まてよ せっかく調べてきたのに
関数が被ってるせいでは?
581 :
nobodyさん :05/01/28 21:22:22 ID:ox6Cyfvr
phpinfoを打ち出してみてハタと気づいたのですが remote_hostは出せないんだろうか…(addrの項目はある)
>>581 サーバの設定によるでしょ
これ以上は板違い
げっとほすとばいあどあー
584 :
575 :05/01/29 15:23:09 ID:uZIEcNwj
php.iniのerror_reportingの設定でパフォーマンスが変化したりするのでしょうか? セキュリティ面でエラーを表示させない様にして、display_errors = Offとした 時に気になったのでエロイ人、教えてください。 スクリプトを書くときは特定の条件でスクリプト内でini_set()する予定です。
586 :
nobodyさん :05/01/31 09:22:23 ID:yrnZkyfn
それは何? 自分で調べられないような特別な事がお前に起きてるわけ?
>>586 >自分で調べられないような特別な事がお前に起きてるわけ?
それはお前の中で起きている!
588 :
nobodyさん :05/01/31 12:06:18 ID:qVyRdTkm
4.3.10対応のMMcacheバイナリを配布しているところはないですかね? ググっても見つかりませんでした・・・。
590 :
nobodyさん :05/01/31 12:15:46 ID:YTm3MD79
よくメルマガの登録で空メール送信で登録ってありますよね。 これってどういった仕組みになっているんでしょうか。 またPHP4だけで実現可能でしょうか。教えてください。
591 :
nobodyさん :05/01/31 12:23:28 ID:qVyRdTkm
>>589 ありがとうございます。
早速試してみます。
>>589 エスパーだね
ところで、eAcceleratorってMMCacheと比較してどんな感じ?
>>590 やりたい事を分割してみていくとこうなる。
1. ユーザがページを見る
2. ページ内のメールアドレス向けにメールを送信する
3. PHPを使ってメールを受信する
4. 3.のデータを元に登録する。
1,2はHTMLの話なので略。
3.は複数の手段が考えられるので後述
4.は分かるだろうから略。
3-1. 外部からメールを直接受信する(受信専用メールサーバをPHPで実装)
-> 無茶なので考え直す
3-2. PHPがメールソフト(MUA)の振りをしてメールデータを取得
-> やり方としては素直。ipop関数あたりを参照。トリガーをどうするか要考慮。
3-2. 外部SMTPサーバ->自持SMTP->MDA->鯖内メールデータ(ファイル)
MDAの処理中に抜き出す(procmail、forward等) -> 場合によっては使えそう
3-3. 3-2の鯖内メールデータに直接アクセスする
-> 3-1同様強引だが、最後の手段としてはありえそう。
3-4. そろそろ飽きてきた。条件が揃えばPHPで出来るって事は分かったべ?
RewriteEngineでIPによるアクセスを[F]してるのですが、 これだと403が直ぐに返ってしまいます。これを如何にも サーバーが存在しないように偽装出来ますでしょうか?。
595 :
594 :05/01/31 12:50:31 ID:???
げ・・移動します;
596 :
590 :05/01/31 13:03:27 ID:???
>>593 非常に丁寧な回答ありがとうございました。
空メール受信用のアドレスを用意してPHPで受信し、登録する方法にします。
トリガーはメールマガジン管理画面へのアクセスに。
参考になりました。
>>596 .forwardとか使って、POPサーバへの受信時に
PHPスクリプトをキックする方が楽だしすっきりすると思う。
(3-2の中の自持SMTPはレンタル鯖でも条件があえばできる)
Faxつまったw
600 :
nobodyさん :05/01/31 16:23:59 ID:8FwNP7ph
現在ぷーで就職先で悩んでいます。 知人の紹介してくれそうな会社がPHP+Solarisを使ってウェブ構築をやっています。 わたしはC/C++/Ruby/VB6と歩いてきて使いこなせる力は VB6 >> C++/C >> Ruby です。 SQLは本当に基本的なところだけ抑えていてOracleを使って開発していました。 言語的に好きなのはC++が一番好きです。 好きとかだけで食っていけないのも世の常なので、皆さんに質問したいのですが。 PHPについて 開発速度/効率/再利用性/どの程度分担作業できるか/開発環境(IDE)はどの程度充実しているか 将来性/言語的メリット・デメリット 等について実際に現場で働いてる方の意見をいただきたいのです。 よろしくお願いします。
>>589 eAcceleratorってrequireとかしたファイルはキャッシュしてないのだろうか、
なんかキャッシュファイルがMMCacheより小さい気がするんだけど。
ただの圧縮関係なのだろうか。
602 :
nobodyさん :05/01/31 17:11:10 ID:jB8MTmrN
セッションを使ってユーザー認証を行いたいと思っています。 実際システムではどのような流れで認証を行っているのでしょうか? 私はとりあえず、IDとパスワードをチェックして、両方とも一致したら IDとパスワードをセッション変数に格納し、 それ以降のページでは最初にセッション変数のIDとパスワードを調べ、 そのつどIDとパスワードを保存してあるファイルから調べるという方法を とろうかと思っています。 それとも、IDとパスワードが一致した時点で、認証済みを判断する変数をひとつ用意して それの値を1にし、それでそのつど判定するのでしょうか?
>>600 > 開発速度/効率/再利用性/どの程度分担作業できるか/開発環境(IDE)はどの程度充実しているか
> 将来性/言語的メリット・デメリット
最初から順番に
-人によるけど遅くはない
-人によるけど悪くはない
-設計によるPEARとかmojaviとか使えばそれなりに。
-デザイナとプログラマで分けたいなら、可能。複数プログラマでの作業分担は普通に出来る。
-IDEなんて無くても開発できる。phpEclipseが良いらしい。
-知らないけど、先行きは暗くはない。
-使用人口が多いので情報が豊富。・ノイズも多い。
#ぷーは余計なこと考えずにまず働け
正規表現が分からず困ってます。 imgタグを抜き出したいのですが、そのイメージをアンカータグが囲っている場合、 そのアンカータグごと抜き出したいのです。 その際マッチの順番は変えたくないので、一回の処理で終わらせる方法はないでしょうか? preg_match_all('/<a .*?><img (.*?)><\/a>|<img (.*?)>/i', $body, $match); 正規表現が余り得意でないので、書き方さえ間違っているかもしれないですが、分かる方よろしくお願いします。
>>604 その正規表現でも一応1回で抜けるんじゃないの?
あ、ひょっとして「1回で抜く為にはこの正規表現でいいのか?」 ってことを聞きたいのか? アンカータグとイメージタグの間に空白文字\s*は入れておいたほうがいいかもなぁー。
608 :
604 :05/01/31 18:00:59 ID:???
>>607 一回で抜きたいのですが、アンカータグ付きの正規表現しかマッチしていないようなのです。
もしかしてor文の書き方が間違っているのかなぁ?と思って聞いてみたのですが。
609 :
600 :05/01/31 18:09:32 ID:???
>>603 ありがとうございます。
キーワードを頼りにいろいろ見てましたが悪くないなと感じました。
> #ぷーは余計なこと考えずにまず働け
ごもっともorz
>>608 アンカー無しも抜けそうな気がするが、PCREライブラリによって違うのかな?
/(<a .*?><img (.*?)><\/a>)|(<img (.*?)>)/i
という感じで全体を()で括ってみるとか。
611 :
604 :05/01/31 18:21:53 ID:???
>>610 /(<a .*?><img .*?><\/a>)|(<img .*?>)/i
こう書いたら$matchに返ってきた配列は別でしたが、imgのみも抜けました。
ちょっと色々試してみます。
ありがとうございました!
612 :
nobodyさん :05/01/31 19:18:27 ID:ZbMy7NkR
すみません、フォームからのsubmitで同時に二つのスクリプトを呼び出すことって
出来ますでしょうか? なぜこんな質問をしているのかといいますと、
下記のようなメルマガ登録フォームを設置してるんですが、
その登録者数をカウントしたいと思ってるのです。
<FORM ACTION="
http://regist.mag2.com/reader/Magrdadd " METHOD=POST TARGET="_top">
メルマガ名<INPUT TYPE=HIDDEN NAME="MfcISAPICommand" VALUE="MagRdAdd">
<INPUT type=text NAME="rdemail" size=30 VALUE="">
<input type=hidden name="magid" value="00000xxxxx">
<INPUT TYPE=SUBMIT VALUE="登録"> </FORM>
上記はまぐまぐで用意されているフォームHTMLですが、
これでデフォルトのまぐまぐスクリプト(
http://regist.mag2.com/reader/Magrdadd )
だけでなく、自作の「regcnt.php」も呼び出して、登録してくれた人の
人数を数えたいのです。
こういうことって可能でしょうか?
それとも実は私がすごい勘違いしてて、もっと簡単なやり方があったりして・・・。
>>612 まぐまぐ自体に登録者数の集計機能って無いの毛?
614 :
612 :05/01/31 19:29:36 ID:ZbMy7NkR
あ、もう一つのやり方候補を書くの忘れてました。
もう一つ考えたのは、まず最初のFORM ACTIONをregcnt.phpに変更して、
そこで数だけカウントして、フォームから受け取った各変数をそのregcnt.phpから
直接
http://regist.mag2.com/reader/Magrdaddに渡す …という
方法(つまりユーザーからしてみればregcnt.phpの存在にはほとんど気づかずに
すぐにまぐまぐの「登録完了」が表示される)も考えたのですが、
肝心の渡す方法が検索しても分からなくて挫折しました。
もしかしたらこれもまるっきりアホなやり方かもしれませんが。。。
上級者様のご意見を仰ぎたいです。
>>612 まずカウントを集計するスクリプトに飛ばして集計処理をした後、
まぐまぐのフォームへデータをPOSTすればよいだけだと思うが。
616 :
615 :05/01/31 19:32:24 ID:???
617 :
612 :05/01/31 19:33:27 ID:ZbMy7NkR
>>613 フォームを複数設置しているため、どのページからの登録が
多いのかを調べたいと思っていまして。。。
>>615 そうですね、たぶん私が614で書いたのと同じ意味で
おっしゃって頂いているのだと思いますが、
その「phpスクリプトからまぐまぐへデータをPOST」の方法がイマイチ分からなくて…。
スクリプト内から「HTMLフォームのsubmit」と同じ動作を命令できるのでしょうか??
なんか無知過ぎてすみません。
618 :
612 :05/01/31 19:36:59 ID:ZbMy7NkR
>>616 あ、私も思いっきりかぶりましたww
教えていただいてありがとうございます!
早速指示していただいたGoogle検索結果を読んで理解しに行きます。
自分でもいろいろ検索してたんですが、
「httpヘッダ」なんて、自分じゃ考えもつきませんでした。
本当に助かりました。ありがとうございます。
619 :
615 :05/01/31 19:37:09 ID:???
>>617 > たぶん私が614で書いたのと同じ意味で
そう。全く同じ意味。考え方としては正しい。
> スクリプト内から「HTMLフォームのsubmit」と同じ動作を命令できるのでしょうか??
できる。↑の検索結果見ながら頑張れ。
620 :
615 :05/01/31 19:37:55 ID:???
なんかシンクロしとるな(w まぁ頑張ってくれ。
君達、仲いいね。
623 :
524 :05/01/31 22:37:00 ID:???
結局
>>527 のようなコード以外、思いつきませんでした。
正しい in_arrayの使い方を教えてもらえないでしょうか?
>>623 マニュアル読んで わからないなら くだ質
625 :
nobodyさん :05/02/01 14:14:36 ID:07WWszEk
ezweb用(xhtml)のサイトをphpで開発している方、デバッグってどうやってます? path_infoなURLで拡張子無しで、 www.○○.jp/hoge/abcdef/123_456/ (hoge.phpにアクセスしている) アクセスした場合実機では「リクエストされたページは表示できません。」 Openwave SDK6.2では406エラーになり、 www.○○.jp/hoge.php/abcdef/123_456/ の場合実機(タルビー)では変わらず、Openwave SDK6.2では問題無く表示されます。 UAからSmartyのテンプレートを切り替えで表示キャリアを分けていて、 i-modeとvodafoneに関してはオフィシャルなシミュレータと実機で表示確認済みです。 Openwave SDK6.2には下記のようなログがありました、 HTTP/1.1 406 Error Date: Mon, 01 Jan 2005 00:00:00 GMT Server: Apache Alternates: {"hoge.php" 1 {type application/x-httpd-php} {length 733}} Vary: negotiate TCN: list Connection: close Content-Type: text/html; charset=iso-8859-1 Transfer-Encoding: Chunked 解決へのポインタもしくは、ezwebサイト用のシミュレータ等でもっと詳細なログを吐いてくれる ものがあれば教えてください。 Apache 1.3.33 PHP 4.3.10 Smarty2.6.2
FC2, rpmの4.3.10使ってますが, mktime, gmmktimeの結果が1970年以前では 壊れた挙句に,9時間毎(OSがJSTの場合)にループしませんか?. RH7.3, rpmの4.1.2でも同じみたい Vine(バージョン不明)のrpm 4.2.3 ではうまくいく PHPではなくOS側の問題ですか?. 設定で回避できるようなら教えてください.
>>627 すんません,わからないです.教えて
time_tは符号付32ビットだから有効範囲は1901-2038だと英語版にも書いてある.
1970以前と以降について特にmktime()とgmmktime()の両者の使い方が変わるとは書いてない
Windowsではないから1970年以前の制限はないはず
だとすれば,
mktime(23,59,59,12,31,1969)とmktime(0,0,0,1,1,1970)の差は1のはず
実際には,
<?= mktime( 23,59,59,12,31,1969 ) ?>
-1
<?= mktime( 0,0,0,1,1,1970 ) ?>
-32400
になる
>>629 MacOS X 10.3.7 / PHP 4.3.10
% TZ=GMT php -r 'var_dump(mktime(0,0,0,1,1,1970));' => int(0)
% TZ=GMT php -r 'var_dump(mktime(23,59,59,12,31,1969));' => int(1)
% TZ=JST-9 php -r 'var_dump(mktime(0,0,0,1,1,1970));' => int(-32400)
% TZ=JST-9 php -r 'var_dump(mktime(23,59,59,12,31,1969));' => int(-32401)
% TZ=JST-9 php -r 'var_dump(gmmktime(0,0,0,1,1,1970));' => int(0)
% TZ=JST-9 php -r 'var_dump(gmmktime(23,59,59,12,31,1969));' => int(-1)
おっと、コピペミス。2段目の結果は int(-1) ね。
>>630 ありがとう,だめでした
$ env TZ=JST-9 php -q
<?= mktime( 23,59,59,12,31,1969 ) ?>
-1
GMTだと,env TZ=GMT php -q
<?= mktime( 23,59,59,12,31,1969 ) ?>
-1
いけたか?,と思ったが,
$ env TZ=GMT php -q
<?= mktime( 0,0,0,9,15,1965 ) ?>
-14462
$ env TZ=GMT php -q
<?= mktime( 23,59,58,12,31,1969 ) ?>
-1
$ env TZ=GMT php -q
<?= mktime( 23,59,57,12,31,1969 ) ?>
-1
なんかだいぶおかしい,もともと,1970以降はgmmktime()とmktime()の差は
9時間出てたので,TZ設定してなくてもOSのlocaleちゃんと読んではいるみたい・・・・
>>626 ,629,632
試さなくていいから、マニュアルのmktimeの説明部分をテキスト入力してみろ。
英語なんか訳さなくていいから和訳されたものをそのまま入力してくれ。
>Windowsではないから1970年以前の制限はないはず
どこにそう書いてあるんだ。都合よく解釈するプロ市民だな。
2038年問題って何かコメントしてくれ。
>>625 とりあえず、text/htmlでプレーンテキスト送ると「リクエストされたページは表示できません。」って言われる。
おれはそういう時telnet。
やっとわかった ありがとう > year は2桁または4桁の値を指定可能で、 > 0-69の間の値は2000-2069に、70-99は1970-1999にマップされます。 > (今日最も一般的なtime_tが32ビットの符号付き整数であるシステムで、 > yearとして有効な範囲は1901から2038の間です) 自分は4桁入力してたから関係ないと思ってたが,よく考えたらintになった時点で 1901-2038なのか1970-2069なのかは判別つかんってことだな. でOS側のシステムコールのmktime()がどっちに対応してるかによって動作に違いが出てくると
自分で定義した関数を、後から未定義にする方法ってないですか? function nemui() { return "kyou ha mou kaerimasu."; } undef nemui; // こんな感じで未定義にする命令が欲しい。 nemui(); // ここで未定義ですというエラーが発生してほしい。
637 :
636 :05/02/06 15:05:00 ID:???
PHPのバージョンは4.3.6以降であればよいのですが。 ageわすれたのでage.
レッツPHPさんの PHP-I-BOARD の不具合?仕様を解決したくお知恵拝借 PHP-I-BOARDの過去ログの表示なんですが、 親記事があってレス1レス2とあったばあい、その記事が過去ログに移動すると 表示がレス2→レス1→親記事の順に表示されてしまいます。 これを通常通り、親記事→レス1→レス2としたいのです。 レッツPHPさんのほうでおききしたところ 確認しましたが確かに現在のログは順に出るのに過去ログは逆向きで出力されて見にくい気がしますね。 ソースを眺めただけなので未検証で無責任で発言をすれば ibbs.phpの819行目のforステートメントの条件を変更して逆向きに動作するように変更するか、 ステートメント終了後に$arg['past']内の配列を全てひっくり返すような処理を付け加えたら いいんじゃないでしょうか と回答いただいたんですが力不足でこの「ひっくり返すような処理」というのがどういうもので どこにつければいいのかがわかりません。 無知な自分が公式のほうで何度もやりとりするのはかえって迷惑かかりそうなのでこちらで アドバイスか検索するとっかかりを頂きたいです マルチになるようだったらすいません(公式では回答いただいて終わってるとおもったので)
>>638 を読む。- 10秒
chm版のマニュアルのショートカットをクリックしつつ「ひっくり返す」は「reverse」だなと考える - 1秒
chmの検索タブをクリック - 1秒
「reverse」と打ち込み検索 - 2秒
結果リストを見渡しarray_reverseを見つける - 1秒
煽り文句を考えながらレスを書く - 60秒
641 :
nobodyさん :05/02/06 17:50:33 ID:ytGnrXBl
特定の変数が、ただの変数か、配列か、連想配列か確認する方法って ありますか? フォームから受け取った変数が連想配列(チェックボックス)だと分かる 方法ありましたらご伝授下さい。 宜しくお願い致します。
<html><body> <?php $file=array(); if($fp=@fopen("./log.dat","r")){ flock($fp,1); while($buf=fgets($fp)){ array_push($file, $buf); } fclose($fp); } $counter=trim($file[count($file)-1]); printf("we have ".$counter." visitors\r\n"); array_push($file,($counter+1)."\r\n"); if($fp = fopen("./log.dat", "w")){ flock($fp, 2); foreach($file as $f){ fprintf($fp, $f); } fclose($fp); } ?> </body></html> のような簡単なPHPプログラムを作ったのですが、 どういうわけか1アクセスごとにカウントが2増えます。 教本殆どそのままなのに、なんでこんな事が起きるのかチンプンカンプンです。 原因と解決法を教えて頂けないでしょうか
|-`).。oO(\r\nが怪しいな・・と思うけど検証が面倒なので他の人に任せよう・・・・・・・)
>>642 コピペして全角スペース取り除いて実行したけど
ちゃんと1ずつ増えました。
>>641 is_arrayとかis_scalerとかあるけどフォームから配列で送れば確認するまでも無く配列に決まってますが。
scalerじゃなくてscalarでした。 ちなみにPHPには配列と連想配列の区別はありません。 普通の配列も数字をキーにした連想配列です。
データベースへの連続書き込みが上手くいかないことがあるので、 一つ処理が終わったら、1秒ほど待機して次の書き込みを行なうようにしたいのですが、 どういった関数を使えば宜しいでしょうか?
そのまんまsleep関数つーのがあるけど、原因を究明した方がいいかと。
よく掲示板で見かける
書き込みにアドレス(
http://... )が書き込まれたら、
その部分だけ自動でリンク張るのはどうするとよいか?
650 :
nobodyさん :05/02/07 00:39:28 ID:WG7KP6M+
モジュール関数のfile()でURLを開こうとすると自分のサーバーの/hmoeより上に行けません。 ini_set関数でスクリプトから設定して回避できる問題でしたら、どう設定したら良いか教えてください。
>>648 俺のソースをやろう
auto_linkの引数$valにアドレスを入れればリンク付きで返ってくる
//-------------------------------------------------
// オートリンクの作成
//-------------------------------------------------
function auto_link($val){
//オートリンク
if (config("auto_link"))
return preg_replace("/(https?|ftp)(:.*)([a-z]|[A-Z]|[0-9]|\/)/i","<a href=\"\\1\\2\\3\" target=\"_blank\">\\1\\2\\3</a>", $val);
else
return $val;
}
おっと、余計なものまで書いてしまった。 こっちを使ってくれ //------------------------------------------------- // オートリンクの作成 //------------------------------------------------- function auto_link($val){ return preg_replace("/(https?|ftp)(:.*)([a-z]|[A-Z]|[0-9]|\/)/i","<a href=\"\\1\\2\\3\" target=\"_blank\">\\1\\2\\3</a>", $val); }
654 :
648 :05/02/07 01:04:27 ID:???
655 :
nobodyさん :05/02/07 01:06:15 ID:WG7KP6M+
>>653 レスありがとうございます。
Warning: php_network_getaddresses: getaddrinfo failed: Name or service not known in /homeからのphpスクリプトのパス on line 4
Warning: file("
http://www.*/index.html ") - Bad file descriptor in /homeからのphpスクリプトのパス on line 4
こんなエラーが出ます。
658 :
nobodyさん :05/02/07 01:22:33 ID:WG7KP6M+
659 :
nobodyさん :05/02/07 01:26:24 ID:WG7KP6M+
皆さんありがとうございました。 うまく行きました。
おまいら、外部でホスティング鯖のDBはどのくらいの 頻度でローカルにバックアップしてまつか?
include か requireで、 Warning: Unknown(パス): failed to open stream: No such file or directory in Unknown on line 0 Warning: (null)(): Failed opening 'パス' for inclusion (include_path='インクルードパス') in Unknown on line 0 というエラーを出さずに、 'インクルードファイルがよめねぇYO!' 見たいに自分でカスタムしたエラーを表示する方法ってありますか? 他の命令なら @meirei() die('エラーだYO!'); って die命令でできるけど includeではできなかったのできいてみますた。 (@マークを先頭に付ける事によってその命令でのエラーを表示しない) includeでエラーになったときにちょっとかっこ悪いので修正したいのです。 参考になるURLだけでも結構ですので教えてください。
>>662 includeの場合はif (!@include(filename)) die('file not found.');
としないとダメみたいよ
664 :
662 :05/02/07 11:15:00 ID:???
>>663 やってみたらエラーすら表示されなくなった orz........
file not found. と出ないYO!
今試したができたぞ
666 :
662 :05/02/07 11:20:00 ID:???
if( !@require('なんたら.php')) die('file not found.'); if (!@include('なんたら.php')) die('file not found.'); 上でやってたのでできなかったみたいです。 includeでやったらできました。 requireではできないんでしょうかね?
667 :
662 :05/02/07 11:31:05 ID:???
事故解決・・・・・・。 663氏 サンクス if( !@require('なんたら.php')) die('file not found.'); if (!@include('なんたら.php')) die('file not found.'); require命令の時点で処理終了してるからdieまでこないのね orz......... というか、include に dieつけてる時点でrequireと同じ動作(その後実行しない)なのね・・・・。 いまさら気づいた・・・・・・。 orz........
>>667 includeは読み込みに失敗しても処理を続けるから気をつけた方が良いよ
669 :
nobodyさん :05/02/07 14:08:23 ID:FLQt/DDH
die('内容') と print '内容'; exit; と同じ事にならない???
>>669 マニュアルをちゃんと読んでいれば、そういう恥ずかしい事を言わなくて済みますよ。
die なり exit なりの説明を参照。
671 :
nobodyさん :05/02/07 14:25:02 ID:Um6cfrSt
____
|.._ | //. ̄ ̄ ̄,`
| ' l | || `゙` ゙``
| : l=.| ||
|...」 | || / ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|_ | |/. ( ・∀・)<
>>671 頑張れはできますよ!
l文|. | / ( 建前 ) \_______________
| ̄ | ./ 人 ヽノ
| |/ し(__)
| / | ヽ
|. / . | ヽ
. | ヽ _
( ̄ ̄ ̄)本音ヽ ( \
ヽ  ̄ ̄ ./ ヽ ヽ,> )
ミ' |∩| ` / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| (~●~) 彡 < 自分でやる気あんの?
ヽ ○ ○ | \___________
|\ ノ
∪ ̄ ̄ ̄∪
>>671 <?php
$strValue = '<a href="URN:ISBN:12-3456-7890-1">hoge</a>';
$strUrl = '
http://www.amazon.co.jp/exec/obidos/ASIN/ ';
$strPattern = "/URN:ISBN:([0-9]{2})-([0-9]{4})-([0-9]{4})-([0-9])/i";
$strValue2 = preg_replace( $strPattern, $strUrl."$1$2$3$4",$strValue);
print $strValue2;
?>
674 :
671 :05/02/07 16:02:43 ID:???
>>674 book.html をphpとしてパースしていると仮定して、
output bufferingを使えば追記のみで行けるんじゃない?
auto_prependが設定できれば追記の必要もないね。
>>636 ないよ。どうしてもというならグローバル配列に匿名関数を突っ込む形になると思う。
あるいはフラグ変数で代替するか。
けど、関数を未定義にしたい場合ってどんなん? 設計のレベルで解決したほうがいい気がするよ。
コードレベルだと、たとえば未定義判定したいなら !function_exists() を使をばいいし、
再宣言を防止したいなら ifブロック内で関数宣言する、require_onceを使う、等々の手段が。
So-netが規制されてたから遅レスで悪いけど。
>オリジナルのKENT-WEBの掲示板の名を貶めるような劣化コピーはやめてくれ。 KENT-WEBにあるWebプログラムってそんなに凄いものか? ちょっとでも、CGIの知識があれば、簡単に自作できるような物ばっかりのような気がするんだが・・・
>>681 オリジナルの優劣を議論してる訳じゃないだろ
>>682 あぁ…わるいわるい…
あたかも、KENT-WEBのCGIは凄い!って言ってるように見えたので
どっちにしろ質問スレとは関係ないから他スレいっとけ。
>>683 > あたかも、KENT-WEBのCGIは凄い!って言ってるように見えたので
まぁシンプルかつ機能はまとまっているとは思うがな
ソースは見るなよ・・・
>>686 ,-ー─‐‐-、
,! || |
!‐-------‐
.|:::i ./ ̄ ̄ヽi
,|:::i | (,,゚д゚)|| < ・・・
|::::(ノ 中濃 ||)
|::::i |..ソ ー ス||
\i `-----'/
 ̄U"U ̄
global使いまくりで吐き気がしますね^^
>>691 globalは使ってもいいけど、使いまくりはキモイんだよ雑魚グラマm9(^Д^)プギャー
global $textcolor, $linkcolor, $nanntoka, $kanntoka, $aada, $kouda;
>>692 PHPの仕様上しょうがない。
それがPHPクオリティ。
695 :
あ :05/02/08 17:43:54 ID:???
しょうがなくない。何をいってるんだ。
PHPの仕様とは無関係。設計が糞
>>696 PHPの仕様上(厨プログラマの増産は)しょうがない。
それがPHPクオリティ。
PHPをVBに換えても可。
PHPっていうから言語仕様の話かと思った
↓誰かまとめてくれ↓
KENT-WEBのCGIは凄い! という事で。 次の質問マダー(チンチン
mail ("
[email protected] ", "件名", "本文1行目\n本文2行目\n");
PHPからメールを送信させているのですが、"件名"の部分の日本語が
メール受信ソフトでは文字化けして表示されてしまいます。(OE6)
Windows用のメールソフトでも文字化けせず件名を日本語で記述するには
どうしたらいいでしょうか?
ちなみに本文の部分は問題なく日本語表記されています。
>>705 PHPくだスレで答えられてるように mime encodeする。
鯖によっちゃ 日本語おまかせmb_mail関数が使えるので、それを使うと楽。
「メール 日本語 mime」でググって、なぜややこしい事をしなきゃいけないかという背景を知っておくとよい。
googleがあるのになぜか減らない質問の一つだな
最近googleって敬遠されているらしいよ
Googleで検索するようなまともな人はそもそも回答が出てるのに糞マルチするような馬鹿なことしない。
phpを使えば僕もスーパーハカーになれますか?
何をハックするかによる。
スーパーバカにならなれるぞ
714 :
nobodyさん :05/02/08 22:01:32 ID:mh9JM18R
716 :
714 :05/02/08 22:24:25 ID:???
>>715 Gee! ありがとうございます。
........何か愉快なことになっているようですが(w
HTTPのあぷなし(file_uploads = Off)で、 ファイルをアップする方法しりません? PEARとかでモジュールないかな・・
>714-716 _SERVER["PATH_INFO"]をパースするだけとかそんな話じゃぁ…。
>>715 のスレの話は全然別物だぞ
あっちは質問者が意味不明でどうしようもないって状態だった
>>717 PEARにsockみたいなのなかったかな。で、ftpに通り道付けてってのは。
やったことないけど。知ったかぶりでごめんね。
【PHP】Phrameのすれがあるが、なぜmojaviのすれはないですか?
何でわずか1文のレスで池沼って分かるんだろ
724 :
nobodyさん :05/02/09 23:43:59 ID:RCmAm0yE
PHP を使って銀行のシステムをつくりたいと思います。 さて、そこで、認証方法ですが、SSLなど、銀行のオンラインシステムでもいける!という 認証方法で、PHPに実装可能な方法を教えて下さい
>>724 そういうくだらない質問は「くだ質」スレへどうぞ
平文なら十分実装可能だよ。
>>721 情報サンクスコ。
やっぱソケットレベルで対応しないとダメなのね・・・(ノ_・、)グスン
728 :
636 :05/02/10 00:23:39 ID:???
>>676 確かに設計レベルの解決がいいのですけれども、
既にあるフリーウェアに手を加える形なので設計は変えられないのです。。。
そのフリーウェアっていうのはPukiWikiで、作りたいというのはプラグインなんですけどね。
作りたいと思っているプラグインは都合上、既に定義された関数を、
なにもしない関数に置き換えるか、関数を未定義に設定したいのです。
自分でも結構、調べましたけど未定義にするのは確かになさそうですね。
回答ありがとうございました。
そんな都合は存在しない。
$fname = "log.csv"; touch($fname); $hea = filesize("$fname"); if($hea>0){ $head = readfile("$fname"); echo "$head"; } log.csvを生成してファイルサイズを取得し0バイト以上なら中身を表示。 ってのを作ったつもりなんですが、log.csvに文字を書き込むとその文字とバイト数まで表示されてしまいます。 何故でしょうか?filesizeは「ファイルのサイズを返し、エラーの場合はFALSEを返します。 」とあります。が$heaにサイズを返すんですよね? 表示させてるのは$headなのに。。。 ちなみにlog.csvが空でも0を表示しちゃいます。お助け下さい。
>>730 filesizeの項は読んでるのになんでreadfileの項を読んでないのか不思議でならない
>>730 >$hea = filesize("$fname");
これ変数を"で括ってるのって何か意味あるの?
そりゃ個人の自由だべさ
736 :
nobodyさん :05/02/10 11:02:59 ID:bUBIOW3F
セッションが有効か否か どうすればよいでしょうか?
738 :
736 :05/02/10 12:05:44 ID:bUBIOW3F
>737 済みません… 酔っていたもので変な日本語&質問を間違えていました クッキーが有効か否かを調べるにはどうすればいいでしょうか? 現時点では クッキー変数に書く→リダイレクトして読んでみる という方法を考えたのですが リダイレクトを使わない方法はないでしょうか。
>>738 cookieはHTTPヘッダの中に埋め込まれるので、鯖側に最低2回のアクセスが必要です。
1回目のリスポンスヘッダにSet-Cookieの形で埋め込み。
2回目のリクエストヘッダにクッキー情報を加えて送信。
740 :
738 :05/02/10 17:34:41 ID:???
>>739 ありがとうございました。
ヘッダに書かれていたとは知りませんでした。
やはりリダイレクトしてから読み出すしかないんですね。
php5で、(UTF8とEUCしか調べていませんが)冒頭に「羨ましい」と入力すると文字化けします。 同じmbの設定でもphp4だと文字化けしないようでした。 文字の途中に入っている場合化けないので、コード判別に失敗してる? これってphp5のmbstringのバグでしょうか?
↑ちなみに、mbstring.encoding_translationONでも、OFFでmbを使って変換しても同じでした。
エスパーとしては、htmlspecialcharsを使っていると予想したりする
745 :
nobodyさん :05/02/11 15:15:35 ID:ABOqtNWJ
あげてみたり
>>743 エー(´・д・`) おっかしいなぁ…。
おいらのミスか・・・。特に変な事はやってないのに。
その昔webdavと併用してたApacheでUTF関連がおかしかった経験あり。
748 :
636 :05/02/11 17:56:06 ID:???
>>729 おおう、こんにゃろ。俺か?俺に言ってるか?
んじゃ、PukiWikiのソース上に #nomenu とか書くと、
左側のメニューが出なくなるようにしてくれよ、このやろう。
スキンの中で↓のように書かれてたから
<?php if (arg_check('read') and exist_plugin_convert('menu')) { ?>
exist_plugin_convertは最終的にfunction_existsを使ってたから、
menuプラグインが定義したpugin_menu_convertを消してしまえば(略
ごめん、もういいや。
$a[] = array{time = 123;} $a[] = array{time = 234;} . . という配列をtimeの値でソートし$aに反映させたいのですが、 array_multisortを使ってソートする事は出来るのでしょうか?。 array_multisort($a,$a['time'])ではエラーが発生してしまうので、 こうい使い方は出来ないのでしょうか?。
750 :
749 :05/02/12 09:20:47 ID:???
>>748 自己レス
array_multisort($a,$a['time'])ではなくarray_multisort($a,$a[int]['time'])と
しなければいけませんね。しかし[int]には何を入れたら良いんだろう。
> $a[] = array{time = 123;} > $a[] = array{time = 234;} これの意味がわからん。
>>751 あちこち、ぐぐって解決しました
ご迷惑をおかけしました
$a[0] = array('time'=>123);という意味でした^^;
753 :
nobodyさん :05/02/13 05:43:57 ID:zA+VEUwb
クッキーを受け入れる環境でも、 セッションIDがgetで渡される場合があります。 このあたりはどういう処理になっているのでしょうか?
>>753 1回目のアクセスのときはクッキーが使えるかどうか不明なので、
URIにセッションIDをとりあえず埋め込んでいる。
2回目にクッキーでもセッションIDが返ってくるようなら、
クッキーが有効とみなし埋め込まなくなる。
って感じじゃないかな。php.iniでクッキーオンリーに出来るよ。
755 :
はじめまして :05/02/13 09:15:57 ID:u/FwX+Jy
改造する際に質問ならわかるが、 何でここで聞くかな…
757 :
はじめまして :05/02/13 09:26:38 ID:u/FwX+Jy
スレ違いだったみたい??? 丸投げの方がいいでしょうか?(^^ゞ
( ゚Д゚)ポカーン
759 :
はじめまして :05/02/13 09:47:31 ID:u/FwX+Jy
おわさがせしました<(_ _)> どっか、行きます・・・
AAAはセンドメール禁止
あはははは!
PHPでの認証について質問させて下さい。 FORM認証を使った場合、PHPスクリプトに対しては確かに認証の可否によって、 実行の可否ができるのですが、 例えば、ディレクトリ構造など知られている場合、 PHP以外のファイル(画像など)を直接URL指定されると 認証の有無に関わらず表示されてしまいます。 特定のディレクトリ以下の全ての種類のファイルを認証によって閲覧権限を付ける場合、 やはりBASIC認証しか無いのでしょうか?
どうしてもPHPでやりたいとなると、 ディレクトリ内の全てのファイルを外部から不可視にしておいて、 PHP経由でそれらのファイルを読み込んで表示かな。 ちょっとしたミスが命取りになるけど。
765 :
nobodyさん :05/02/13 19:00:50 ID:K/AbDSop
PHP4のXMLパーサについて教えてください。 xml_set_character_data_handler()でセットしたハンドラに渡される文字列が たとえば "ABC & DEF" だったとき、"DEF"しか渡されないみたいなんですが どうしてでしょう?
どうしてもPHPでやりたいなら、
>>764 の方法だろうね。確実に隠すならDBにぶっこむとか。
でも、そういう使い方したいならBASIC認証でやったほうがスマートだと思うんだけど、次の人どう思う?
データディレクトリをDocルート外におけば無問題。denyを忘れることもない。
複数の認証がダブったり権限付与が必要なケースではBASIC認証等は不向きなので、
この場合はPHPの認証機構に一元化することが多いかな。
>>765 質問の仕方を勉強して出直してくれ。
教えて下さい。 PHP4からPHP5に移行する際に、コーディングで特に注意が必要な点はありますか?
>>765 「ABC」「&」「DEF」と複数回ハンドラが呼ばれてるのに
最後に呼ばれてるときにしか貴方の作ったプログラムが見て無いから。
もしくは「ABC」を「&」で、その次は「&」を「DEF」で上書きというプログラムの作りだから。
ExpatはSAXだということを忘れとらんか。
無効なエンティティとして扱われてるなら"ABC "までがCDATAとして渡されるはずだろ。
"DEF"ってことはコード上の問題としか考えられないが、質問文にはコードもXMLのサンプルもないからな。
テストコードやコピペのミスかどうかも判断つかん。
回答することで自分のスキルを実感するのを否定はしないが、質問の仕方は覚えてもらったほうが
本人のためにもなるし、同僚さんの幸福にもつながると思うよ。
>>771 には何かローカルな心情があるのかしらんが、「回答の仕方」というのは俺にはよく分からん。
773 :
nobodyさん :05/02/14 00:32:19 ID:fzJwBWF6
>>772 どんな回答しようが自由だと思うが。少なくとも乞食にどうこう言われる筋合いはない
質問の仕方で能無しかどうかすぐ分かる
質問の仕方でにそれにぶら下がるレスのレベルもある程度決まってくる
774 :
nobodyさん :05/02/14 00:34:04 ID:fzJwBWF6
そーいや&とかいて投稿して&に変換されてるのにほったらかしの奴とかもいるよなw 正規スレだっけ?分かる奴には分かるつー文脈なら別にいいんだが
自演もたいへんだな。今日はもう寝ていいぞ。プ
peardocの生成に失敗します。
peardocのCVSをチェックアウト後、
# autoconf
# configure --with-lang=ja
# make test
を実行後エラーがでて止まります。
エラーの解決方法をご存知の方が居ましたら、教えてください。
環境はFreeBSD5.3Rで、portsから
textproc/sp
textproc/openjade
textproc/docbook-310
textproc/iso8879
textproc/dsssl-docbook-modular
を導入しています。
configure、make testのログを以下にアップしています
http://www.uploda.org/file/uporg43768.zip
777get, zuzaa
>>776 >./phpdocxml.dcl:179:1:E: end of document in prolog
179行1列目って何?prologなんてワカンネ。タグ不整合とか?
779 :
770 :05/02/14 01:38:45 ID:???
>>770 言いたい事はいっしょなのだが
「ABC 」「& 」「DEF」が正しい。
つまり
>>772 が言ってること。
782 :
776 :05/02/14 01:46:07 ID:4jK1nMAE
783 :
765 :05/02/14 02:02:44 ID:8mFM3xsp
レスくれた方々、ありがとうございます。 ハンドラに渡されたものを全部array_push()して、それをダンプしてみましたが、 "ABC & DEF"とくるはずのものは、"DEF"としか渡されていませんでした。 "ABC"とか"&"とかはまったくハンドラに渡されていません。 xml_parseの仕様でしょうか?
>>783 とりあえず上で言われているとおり&のせいかと
実体としてパースされるのでPCDATA領域に&書いたらダメよ
情報不足なのでこれ以上の回答は望めないかと
一番星は見つかったかい?
俺が思うにexpatはかなり頑固な奴だよ
>>786 確かに。DEFの頭の方にスペースがくるとは思わなかった。
サンプル1:<test>ABC & DEF</test>
結果1:
startElement[TEST]
charData[ABC ]
charData[&]
charData[ DEF]
endElement[TEST]
サンプル2:<test><![CDATA[ABC & DEF]]></test>
結果2:
startElement[TEST]
charData[ABC & DEF]
endElement[TEST]
ついでにコード <?php // $text = '<test>ABC &amp; DEF</test>'; $text = '<test><![CDATA[ABC & DEF]]></test>'; $parser = xml_parser_create('UTF-8'); xml_set_element_handler($parser,'startElementHandler','endElementHandler'); xml_set_character_data_handler($parser, 'charDataHandler'); $result = xml_parse($parser,$text); if(!$result) { die(xml_error_string(xml_get_error_code($parser))); } xml_parser_free($parser); function startElementHandler($parser,$name,$attribs) { echo "startElement[$name]\n"; } function endElementHandler($parser,$name) { echo "endElement[$name]\n"; } function charDataHandler($parser,$cdata) { echo "charData[$cdata]\n"; } ?>
default_handlerをセットしていると、&などはそっちがコールされるようだ
791 :
nobodyさん :05/02/14 07:31:39 ID:pVfR11DE
PHP4ですが、以下のようなエラーがでてしまいます。 Warning: No ending delimiter '^' found in /home/www/dbusf000/public_html/seminar.php on line 147 147行目は以下の通りです。 if ( (!preg_match("^[ァ-ヶ?・]*$",$_REQUEST["company_name_kana"])) or strlen($_REQUEST["company_name_kana"]) > 100){ 正規表現がまちがってるんでしょうか? 「正規表現メモ」のサイト見ても、どうもマチガイがわからなくて。 お助け願えれば幸いです。
>>791 正規表現以前にpreg_matchの使い方が間違ってる。
マニュアルを良く見直してみ
793 :
791 :05/02/14 07:48:39 ID:???
>>792 さん
あう、おはずかしい。ありがとうございました。
latin-1 のアクセント付文字を"&egrave;"のような文字列に変換する関数ってありますか?
795 :
nobodyさん :05/02/15 00:02:35 ID:FkUTlorq
セッションハンドラ書き換えて MySQLに保存するようにしたのですが、 時々何かのタイミングでエラーになります。 非常に再現性に乏しいので凹みます。 バージョンは4.3.10です。 ハンドラ書き換えはバギーなのでしょうか? オリジナルのセッション機構を書いた方が良いのでしょうか…。
>>795 DB(MySQL/PostgreSQL)にも、ネットワークファイルにも
書き込んでるけど全然問題ないよ。
貴方のシステム環境が安定してないだけじゃ。
>>796 ありがとうございます。
あやうく書き直すところでした。
Unexpected character in input: '
というエラーなのですが、わりと良くある障害のようで、
MLを検索したところ原因はmbstring周りのようです。
セッションハンドラを書き換えたあたりから出始めたので
それが原因と思いこんでいました。
>>512 だからまずパンツを脱いで左足で冷蔵庫しめたらいいじゃん
寝る前に
>>798 がどこの誤爆か探してみるとするか
,, -,,' ´ ̄" ` ''ー`、 `ヽ. ___ ,,.. -' "/ { ` -一-ヾ ヽ. ヽ ☆ / ▽ / ∧ ヽ、, _,, }}_} ・ ii / / { {ゝ{__`ー-Y´f。Vハ'V } * ・ ii ! 〃 i ハ ´{ ヽ 、ソ } く ☆ ii 氏ね ヾ{{ ☆ `ヾ、_`ヽ'^' ヽ " ! ! i ゚ : ii ヽ{{ * . ハ く) /.l、! ! ; .ii ヾ、. { ` ーj‐' {ムノ_ ノ ヾ , '´  ̄ー‐‐- ' ` く ` ー---─,' 、 、} ,' ,〈 , -ー‐-、i∠⌒ヽ ,' ∧<=ニ二‐ノヽ、二ソ / ./ } `"''' "; `7T´
801 :
512 :05/02/15 03:57:28 ID:???
残念だが俺はパンツ履いてない。
>>797 なんか良く判らないけどエラーが出るようになったつうのは
APCとかのPHPアクセラレータ入れてると出ることがあるので
もし入れてたら切ってみて暫く様子見するのもいい。
<?
// ランダムリンク設定(表示コメント|URL)
$banner = array(
'コメント1|
http://***.com ',
'コメント2|
http://***.co.jp ',
'コメント3|
http://***.jp ',
);
function rnd_banner($banner){
mt_srand((double)microtime()*1000000);
$num = mt_rand(0,(count($banner)-1));
//コメント,URL分割
list($comment,$url) = explode("|",$banner[$num]);
//タグ生成
$display_banner = '<a href="'.$url.'" target="_blank">'.$comment.'</a>';
return $display_banner;
}
?>
------------------
このソースを、表示したいphpに直接貼り付ける形式ではなく、
「random.php」などと名付けて別途保存し、
表示したいphp中に
<?include("random.php");?>
のように挿入して表示できるようにしたいのですが、
どの部分を書き換えれば想定どおりの処理ができるようになるでしょうか?
>>803 関数の定義をしているだけなので、それをどこかで呼び出さないと実行されない。
random.phpの中で、echo $display_banner; の一行を入れておけばよい
>>803 のコードに
$display_banner = rnd_banner($banner);
これを加えて random.php としておく。
表示用のPHPのほうで、このファイルをincludeしておき、
表示させたい位置に、
<?=$display_banner?>
を入れる。
>>804 >>805 アリガトウございます。できました。
include、require のどちらでも動作するみたいですね。
807 :
nobodyさん :05/02/15 20:39:01 ID:ELNssm3M
WDDXなしでXMLを連想配列にしたいんだけど、どっかにライブラリとかないかな。
フォーム送信(submitボタンを押した後)に自動でテキストファイルを 指定の箇所に作成する方法がわかりません。 イメージ的に フォーム送信→ファイル作成(open)→ファイル書き込み(print) というのはなんとなくイメージ出来るのですが、これを どうやって毎回テキストファイルを作成するのかよくわかりません。。 すみませんが、ヒントをいただけないでしょうか?
809 :
808 :05/02/15 22:21:44 ID:???
ちなみに、下記のようなものは考えました。。 test.phpにアクセスするとファイルが作成されるという。。 <?php $lombardia = fopen('test.txt', 'w'); fwrite($lombardia, 'test'); fclose($lombardia); ?>
だれか「lombardia」の意味を教えてください。
イタリア共和国北西部の州だよ
812 :
nobodyさん :05/02/15 23:15:57 ID:aGG3pDPg
現在PHP5を使用してpearをダウンロードしたのですが、
/usr/local/bin/pear install
http://pear.php.net/get/DB という具合に。そうしたらzlibが見つかりませんというような
エラーがでました。
調べたところPHPをインストールしたときにzlibなるものを
インストールしていなかったのが原因だと思うのですが、
zlibを組み込むには再度PHPをコンパイルしなおさないと
いけないのでしょうか?
一時間か。もうマニュアルも読んで再コンパイルも終わって解決してる時間だな
ちなみにSharedObjectを作ればオケ
815 :
nobodyさん :05/02/16 23:11:51 ID:kByGIo+t
uniqid() について質問です Web上で多数のユーザーから同時アクセスが想定される状況で ユニークな文字列を生成したいのですが、 uniqid()の信頼度はどの程度のものなんでしょうか? サーバーが単一の場合はprefixを付与しただけで十分実用レベルでしょうか? またホストが複数サーバーに分かれてる場合ではどうでしょうか? マニュアルに載っているように > $better_token = md5(uniqid(rand(),1)); // 推測が困難であり、より優れている。 とすればほぼ大丈夫と思って良いですか? uniqid()の仕組みだけでも教えて貰えたら、と思います。 あいまいな質問で済みませんがよろしくお願いします。
>>816 「ホスト別に」というところを何故か見落としてましたw
ホスト毎のprefixと乱数の組み合わせで行けそうですね
ありがとうございました。
既存のリソースと比較しろ
819 :
nobodyさん :05/02/17 22:47:38 ID:3YY24TUD
配列の配列にはarray_unshift()は使えないの? array_unshift( $n, array( "value", $v ) ); ↑こうやると、↓こんな警告が出る。 Warning: array_unshift(): The first argument should be an array
$comに、下記のような複数行のレスを読み込んでいる状態です。 >あいうえお<BR> >かきくけこ<BR> さしすせそ<BR> このレスを表示する際、>(引用符)の行の文字カラーを変更したいです。 $com = eregi_replace("(^|/>)(>[^<]*)", "\\1<FONT COLOR=\"FF0000\">\\2</FONT>", $com); ですと、実際に表示される際の一行目「>あいうえお」 …のみしか適用されません。 これをコメントの全ての行に適用するにはどのようにすれば良いのでしょうか。
>>819 int array_unshift ( array array, mixed var [, mixed ...])
>>820 正規表現を考える前に
引用符としての">"とタグ<BR>が混在しているのだが、
引用符のところは>ってカキコしたものなのか?
>あいうえお<BR> >かきくけこ<BR>....
なのか、
>あいうえお\n >かきくけこ\n....
どっち?
823 :
nobodyさん :05/02/17 23:31:43 ID:3YY24TUD
>>821 マニュアルの一部をコピペしただけでわかるかよ。
>>823 変数に入ってる値も不明なソースの一部をコピペされただけでわかるかよ。
つか、そのソースとエラーの内容からだと
>>821 に適合して無いことが原因か、
適合しててもエラーが出るなら、それこそ具体的な値が判らんとわかんねぇよ。
バグの可能性があるんだから。
825 :
nobodyさん :05/02/17 23:48:01 ID:yKXCmIvo
826 :
nobodyさん :05/02/18 00:28:16 ID:7WdjA1S7
>>822 返信が遅くなりすいません。
ログ(書き込み時)は、引用符の">"は>で格納されています。 (ユーザーが">"と書き込みしたものです)
\nは<BR>で格納されています。 (ユーザーが改行したものです)
読み出し時は、
list($no,$re,$dat,$nam,$eml,$sub,$com,$url,$hos,$pw,$col,$ico) = preg_split("/<>/",$line);
("<>"がセパレータ)で読み込みしていますので、
前レスの「レスを表示する際」には、書き込み時の形のまま(前者)が$comに格納されていると思います。
記事展開の周辺は、
# 記事を展開
$i=0;
$flag=0;
$lines = file($logfile) or error("Open Error: $logfile");
$top = array_shift($lines);
foreach ($lines as $line) {
list($no,$re,$dat,$nam,$eml,$sub,$com,$url,$hos,$pw,$col,$ico) = preg_split("/<>/",$line);
です。
英語の辞書がひけない奴はプログラム組むな
829 :
827 :05/02/18 01:05:23 ID:???
半分ですが解決しましたので書き込みだけしておきます。(回答不要です) ">"が、">"で格納される場合と">"で格納される場合に分かれていたようです。 (この部分の詳細は今は不明です) 最終的に、(>)で格納されているとした場合、下記で大丈夫…だと思います。たぶん。 $com = eregi_replace("(^|>)(>[^<]*)", "\\1<FONT COLOR=\"999999\">\\2</FONT>", $com);
>>829 修正です
&gtで格納されている場合
$com = eregi_replace("(^|>)(&gt;[^<]*)", "\\1<FONT COLOR=\"999999\">\\2</FONT>", $com);
その中の人数($num)/母体の人数($amount)で、 その中の人数の母体に対するパーセンテージを求めようと思い、 考えて下記のスクリプトを作ったのですが、改良案やもっといい方法が あればアドバイス頂けないでしょうか。 $percent = substr($num/$amount,2,2); $percent = preg_replace("/^0/","",$percent); $num/$amountすると、例えば0.4056414とかいう割り切れない数字が出てくるので、 substrで小数点以降から2桁切り出して、(ここでいうと40) 一桁パーセントの場合は、08とかの結果になってしまうので先頭の0を取る という処理にしました。 でも、substr(割り算,2,3)としたら、この場合結果が405で、40.5%のようにも したいなと思っているのですが、そうすると、 substr($result(405が入ってる),1,2) . '.' .substr($result,3,3) . '%'; なんてしなければいけないのかと思うのですが、もっとスマートなやり方 とかありますでしょうか。 長文ですみません。
832 :
831 :05/02/19 19:56:35 ID:TVy8jZr4
上げるのを忘れてしまいました。すみません。 よろしくお願いします。
つーかなんで 100 かけないの?小学校で習ったでしょ?
$foo = floor($n / $a * 100) / 100;
836 :
831 :05/02/19 20:13:23 ID:???
>>834 ,835さん。
そう言われてみるとそうでした・・・。
PHPは関数がたくさんあって、計算とかするより関数使わなきゃいけないんだと
強固に思い込んでしまってて、変なことしてました。
お恥ずかしいです。すみません、ありがとうございました。
837 :
nobodyさん :05/02/19 21:03:02 ID:5g9U41P6
質問があります。 URLに、?a=1&b=2&c=3ってパラメータを埋め込んだとして、 foreach($_GET as $value){ echo $value; } ってした場合、a、b、cの順序で出力されますか? 何がいいたいかというと パラメータの順序通りに配列にはいってるのかなぁって 疑問に思ったのです。
ためせばいいじゃん・・・ パラメータの順序通りに入ってたよ
839 :
837 :05/02/20 00:18:51 ID:hvCabO8I
>>838 もうしわけありませんでした。
説明が悪かったです。
PHPのバージョンや環境に関わらず
常に順番どおりに入っているのかが
疑問点なのです。
よろしくお願いします。
>>839 仕様として明記されていない事は不定。
不定なことに対し一定であることを期待して
プログラムを組むのは、ドツボにはまる一要因ナリ。
一度ソートしてみたら?
class sortclass { function quickSort($arr,$left,$right){ if ($left <= $right) { $p = $arr[($left+$right) / 2]; $l = $left; $r = $right; while($l <= $r) { while($arr[$l] > $p){ $l++; } while($arr[$r] < $p){ $r--; } if ($l <= $r) { $tmp = $arr[$l]; $arr[$l] = $arr[$r]; $arr[$r] = $tmp; $l++; $r--; } } } $this->quickSort($arr, $left, $r); $this->quickSort($arr, $l, $right); } } 見よう見まねで作ったソートなんですけど、実行すると PHP has encountered a Stack overflow ってエラーが出ます。 おかしな所があれば修正お願いします。
Stack OverflowだYo!
再帰的処理が永遠に終了しないから、スタックオーバーフローなんだよ。
>>845 シーーーッ・・・
それを言っちゃ(ry
847 :
nobodyさん :05/02/22 00:28:25 ID:WO7XFPFB
呼び出され側の関数から、 呼び出し元の関数の名前を知る方法はないでしょうか?
あったような気はするけど、それが何だったのかは思い出せない
>>847 ありますよ。無名な関数を使いますが。
私が即席で作った下の関数を研究してみてください。
この関数をどの関数から呼び出されたのかを知りたい
関数から呼び出してみてください。名前が返ります。
function whocall() {
$bt = debug_backtrace();
return $bt[2]['function'];
}
>>847 関数名を引数に追加して呼び出すようにすればいいじゃん
>>847 じゃないけど
めんどくさいやん。
エラー処理なんかする時、あると便利だなぁと思うね。
852 :
847 :05/02/22 11:53:12 ID:???
>>849 ありがとうございます!
$bt[1]ですよね?
こんな関数があるとは知りませんでした。
>>850 そうしていたのですが出来るなら省略したいなと思いました。
>>851 そうですよね。
853 :
847 :05/02/22 11:54:59 ID:???
あ、無名関数を使ったら$bt[2]になるということでしょうか。 失礼しました。
854 :
nobodyさん :05/02/22 13:10:07 ID:d7ashhNp
質問させてください。
電源が入ってたり入ってなかったりするサーバに対し、
いま電源が入っている(アクセスできる)かを確認し、
その結果によって [Online] / [Offline] のような文字または画像を表示したいと考えています。
(結果を表示するページのサーバは、常にアクセス可能とします)
file関数で情報を取ってこれるかというやり方をしようと考えましたが(以下にスクリプト)、
この場合は yahoo.co.jp など存在し、アクセス可能なドメインでは[オンライン]、
yahoo.co.jppなどの存在しないドメインは[オフライン]と即表示されます。
しかし、ドメイン登録してあるのにサーバ電源が落ちている場合にはすぐには表示されません。
(set_time_limit関数の使い方は間違っているのでしょうか・・・)
set_time_limit(3);
$a = (@file("
http://www.hogehoge.jp/ ")) ? "オンライン" : "オフライン";
print $a;
何か良い考えが思いついた方は、ご教授頂けるとありがたいです。
環境はPHP4.3.3 on RedHatLinux 7です。
856 :
854 :05/02/22 13:51:59 ID:d7ashhNp
>>855 レスどうもありがとうございます。
set_time_limit(3);
$a = (@fsockopen("www.hogehoge.jp", 80, $errno, $errstr, 3)) ? "オンライン" : "オフライン";
print $a;
としても、「オフライン」の場合には結果表示にデフォルトのタイムアウト時間までかかってしまいます。
即座に表示することはできないでしょうか。
上のスクリプトでは処理を3秒でタイムアウトさせて結果を表示させたいと考えているのですが。。
(上のスクリプトでは、オンライン/ドメインが存在しない場合は即座に表示されます)
>>856 set_time_limit(3);
は関係ないから削除しとけ
@消してエラー表示させとけ
858 :
nobodyさん :05/02/22 17:58:06 ID:RE6B17ts
すみません、PHPでは関数の返り値に、CでいうAuto変数を返せますか? 例えば、C だと以下のようなことは御法度です。 char* func(){ char *abc = "abcdefg"; return abc; } PHPではこんなこと出来ますか? function func(){ $abc = "abcdefg"; return $abc; }
859 :
858 :05/02/22 18:03:01 ID:???
>PHPでは関数の返り値に、CでいうAuto変数を返せますか? すみません、ちょっと質問の仕方を間違えました PHPでは関数の返り値に、CでいうAuto変数のポインタを返せますか?
860 :
858 :05/02/22 18:13:34 ID:???
失礼、しかも858で書いたCの例はリテラルのポインタだった、、、、 仕切り直します。 PHPでは関数の返り値に、CでいうAuto変数のポインタを返せますか? 例えば、C だと以下のようなことは御法度です。 char* func(){ char abc[] = "abcdefg"; return abc; } PHPではこんなこと出来ますか? function func(){ $abc = "abcdefg"; return $abc; }
>>860 そもそもPHPにはポインタという概念がないので...
変数そのものを指し示す必要があるなら、「リファレンス返す」かな。
862 :
858 :05/02/22 18:35:13 ID:???
ありがとうございます。 私の「参照」の概念がイマイチなのが問題のようです。 すみませんでした。
go-pearを使って、任意のディレクトリにpearをインストールしようとしてるのですが、うまくいきません。
どなたかヘルプお願いします。/home/foo/lib/ext/pear以下に、全てのライブラリをまとめようと思っています。
$ wget
http://go-pear.org -O go-pear.php
...(略)...
$ php go-pear.php
...(略)...
1. Installation prefix : /home/foo/lib/ext/pear ← ここを任意のディレクトリに変更
...(略)...
Would you like to install these as well? [Y/n] : y
Loading zlib: ok
Downloading package: PEAR-stable......ok
Downloading package: Archive_Tar-stable....ok
Downloading package: Console_Getopt-stable....ok
Downloading package: XML_RPC-stable....ok
Bootstrapping: PEAR...................(remote) ok
Bootstrapping: Archive_Tar............
Warning: mkdir(/tmp/gope11Ui8e/Archive): File exists in /home/foo/bin/go-pear.php on line 622
(remote) ok
Bootstrapping: Console_Getopt.........
Warning: mkdir(/tmp/gope11Ui8e/Console): File exists in /home/foo/bin/go-pear.php on line 639
(remote) ok
Downloading package: DB...............ok
Downloading package: Net_Socket.......ok
Downloading package: Net_SMTP.........ok
Downloading package: Mail.............ok
Downloading package: XML_Parser.......ok
Downloading package: PHPUnit..........ok
Fatal error: Undefined class name 'pear' in /home/foo/bin/go-pear.php on line 675
となります。何かヒントがあれば幸いです。
phpのパッケージをダウンロードしてきてconfigure; make install-pear してみるとか。...面倒か。
867 :
nobodyさん :05/02/24 03:10:14 ID:/1etLdeQ
phpのエラーで、サーバにレポートを吐き出し、エラーログが膨れ上がっています。 エラーを修正することが急務ですが、何よりも、このエラーログの肥大化をストップするように言われました。 あちこち探したのですが、見付かりません。 エラーレポートを吐き出さないようにする方法はありませんか?
>>867 phpの設定はphp.iniでします。
>>867 とりあえず、エラーを吐いてそうな部分に@でもつけとけw
>>868 ヒントありがとうございます。
とりあえず、htaccessでしのぎました
>>867 何の役にも立ちませんでした
htmlspecialcharsなんですけど、スカラーじゃなくて 配列丸ごと書き換えることはできないんでしょうか? 変数をひとつひとつ書き換えていて、発狂寸前です。
>>871 そんな人のために配列関数ってのがあるんですよ。
$array = array_map('htmlspecialchars', $array); array_map()使わなくても「変数をひとつひとつ書き換え」る馬鹿は、そうはいないと思うけど。
>変数をひとつひとつ書き換えていて、発狂寸前です。 発狂しそうな方法ってこれ位しか思いつかないんだけど、まさかこんなの? $data['sono1']=htmlspecialchars($data['sono1']); $data['sono2']=htmlspecialchars($data['sono2']); $data['sono3']=htmlspecialchars($data['sono3']); $data['sono4']=htmlspecialchars($data['sono4']); : : ずっと続く 他にあったら知りたい。つーか、普通にループを使う方法しか 思いつかなくて、これ以上効率の悪い方法が考え付かん。
while (list($key, $val) = each($_POST)) { if (!is_array($val)) { $_POST[$key] = htmlspecialchars($val); } } 変数をひとつひとつ書き換えるよりはループで回したほうが
function cnv($array){ return htmlspecialchars($array); } $_REQUEST = cnv($_REQUEST);
function tag_escape($arr) { if (is_array($arr)) { return array_map('tag_escape', $arr); } return htmlspecialchars($arr); }
>>875 >>879 が書いてる関数(俺も全く同じものを書こうとしてた)ぐらいは思いつくだろ?
ていうかこのソース、以前PHP MLにも投稿された事があるはず。
>>878 何の釣りでしょうか?
>>876 多分そういうレベルだと思った…
>>877 かもしくはforeach使う事ぐらいは思いつけないと…
881 :
nobodyさん :05/02/24 15:37:12 ID:3qj1XZqF
内部コードをEUCで記述し、 外にはSJISで表示しているのですが EUCで書いたphpファイルから SJISで書いたview用phpファイルをincludeすると コードが混在するので問題になる気がします。 (実際、タイミングによって時々エラーが出ました) こういう場合の定石的な解決方法を教えて下さい。
>>881 includeするphpの先頭でえんこうでぃんぐせってい
883 :
zzz :05/02/24 16:03:00 ID:???
質問です。 下記のような動作(1〜3)を行うシェルをphp(ブラウザ)から動作させたいのですが… どのように記述したらよいのか何かヒントをください。 1.wget で 圧縮されたファイルを固定したディレクトへダウンロード 2.ダウンロード後、そのまま解凍。 3.解凍後、ダウンロードしたデータは削除 シェルを実行するときだけ 必要なコマンドのみ root 権限を与える方法は 理解できそうなんですけど… さっき 9ten社
>>881 PHPの内部コードを混在させない。
EUC-JPに統一して、httpでブラウザに
吐くものをSJISコンバート。
>>883 (a)ブラウザ(クライアント)、(b)PHPを動かす鯖、(c)ダウンロード元(鯖) があって、
(a)から(b)にアクセスすると(c)の圧縮データを取りに行って
(b)で解凍して〜
ってことかい?
mb_convert_variablesは多次元配列も再帰的に文字コード変換してくれて楽。(連想配列の添字は対象外だけど) 組み込み関数でarray_map_recursiveができたらいいなあ。
>>883 取得がエラーになった時などの処理を除けば
そのまま書けばOKですよ。
解凍できるフォーマットで、コマンドラインツールがあるとしてだけど。
解凍先の指定(展開方法)のオプションとかはツール毎に調べてね。
>>880 875 が言いたいのは
$array['a']['x'] = '123';
$array['a']['y'] = '456';
$array['a']['z'] = '789';
$array = array_map('htmlspecialchars', $array);
ということじゃない?checkbox とかで。
再帰で書くしかないよね。
まぁ、なんだ、自分で書いたスクリプトで多次元配列がくるかどうか分からんつーのはかなり珍しい部類だな
891 :
881 :05/02/25 03:57:50 ID:???
>>882 途中からエンコーディングを変えることが出来るんですね。
目から鱗でした。
ありがとうございます。
892 :
nobodyさん :05/02/25 13:57:09 ID:mvGHDRpG
すみません、ど忘れしてしまったので教えて下さい。 外部サーバーへ接続して、そのステータスが404か403か302などかどうかの値を取得したいのですが、 当方xreaの為、fsocksopenが使えません。代替となりえる関数はなんでしたっけ?
893 :
nobodyさん :05/02/25 14:52:48 ID:1JhQtPgY
phplotで日本語表示に成功している方いたら方法教えてください
894 :
nobodyさん :05/02/25 16:55:01 ID:ExbvFDBo
>>894 「サンプル」をどのように考えてるかによる。
そのまんま入力して動かないと駄目な人はやめときなさい。
プログラムの作りをみて自作の「きっかけ」に使う場合には
古くても充分役立つ。
投稿者や投稿時刻など無駄なものは一切入れないMTのようなものはありませんか? カテゴリも50近くあるのでそれくらい対応しているものがよいのですが。
897 :
894 :05/02/25 18:00:36 ID:???
>>895 ありがとうございます。「10日で覚える〜」から
1段階上の本を探してまして、勉強のために使おうと思ってたので、
買ってみます。
898 :
nobodyさん :05/02/25 19:15:03 ID:sDC3ZZ80
ある文字列の中身の濁点・半濁点を消して小さい文字を大きく ば→は ぱ→は っ→つ のように変換したいのですが 例 らっぱ→らつは StrTrを使って文字を羅列すると"ぅ"が"い"に変換されてしまいます。 どのようにすればうまくいくのでしょうか。
899 :
892 :05/02/25 19:23:54 ID:mvGHDRpG
HTTP接続時のステータスコードを取得する方法、お願いします。。
900 :
892 :05/02/25 19:27:37 ID:mvGHDRpG
あ、fsocks使わないでもできました。cURLです。
<?php
$ch = curl_init ("
http://www.php.net/ ");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_exec ($ch);
$info = curl_getinfo($ch);
echo $info['http_code'];
curl_close ($ch);
?>
お騒がせしました。時間掛かりましたが解決です。
901 :
nobodyさん :05/02/25 19:41:15 ID:ZiS1ZtFa
変数lineがtextのときtxtを出力したいのですが これだと動きません。どうやったらいいのでしょうか? if($line == "text"){ print "txt\n"; }
それ動かないのか・・・
X=1 では無い場合に処理をさせたい場合はどうすれば良いんでしょうか? とりあえず、下のように書いたら希望通りになるのですが、 {} 当たりがダサいので…。 ifの反対の命令は無いんですか? <?php X=1 if X==1 {} else { echo "Xは1じゃないですよーっと。"; } ?>
904 :
nobodyさん :05/02/25 20:47:06 ID:mvGHDRpG
>>903 たぶん誰もレスしないだろうからしようw
<?php
$X = '1';
if ($x != '1') echo 'Xは1じゃないですよーっと。';
?>
以上。解決。
>>900 ソケット関数が使えない制限があるのに、
curlがインストールされてる鯖ってもの面白い(めずらしい)な。
>>893 成功つーか何も特別なことをしなくても動いてるよ。
@WhiteboxLinux ttfフォント使用
907 :
nobodyさん :05/02/25 22:31:34 ID:QqsT661L
すいません。質問です! 新たにMYSQLを入れたので 今入っているPHPにMYSQLをアクセスできるように configureしようと思うのですが どうやったらいいのでしょう・・・
社内で社員個々にデータベースを使わせているのですが、 DBの作成と新規ユーザの追加を、 Webサイト上(HTML+PHP)で行いたいと思っています。 MySQLのデータベースクリエイトと、新規ユーザの追加を PHPで操作することは出来ないのでしょうか? 出来るのでしたら方法を教えて頂きたいのですが。 よろしくお願いいたします。
909 :
903 :05/02/25 23:01:55 ID:Snm78iCr
>>904 くだらない質問にレスして頂きありがとうございました。
「==」じゃなくて「!=」にしてば解決ということですね。
>>907 mod_mysql バイナリを入手するか、phpize。
912 :
nobodyさん :05/02/25 23:57:42 ID:QqsT661L
>>910 phpize
./configure (オプションは作成するモジュールによって異なる)
make
ですね。。。
明日標準拡張モジュールを入手しやってみます!
超うれしいです!感謝です!
913 :
nobodyさん :05/02/26 20:50:00 ID:LIYJX+3j
PHP5なんですが、 コンストラクタの中で、 $categoryname = $_REQUEST['categoryname']; とすると Undefined index: categoryname となってしまいます。 クラスの中で、$_REQUESTの値を代入するにはどうすればいいのでしょうか?
915 :
nobodyさん :05/02/26 23:45:28 ID:dKMEUCyI
XML、XSLTとPHPの組み合わせは食い合わせは悪いでしょうか?
916 :
namazu :05/02/27 00:34:06 ID:l905ORwG
php4_namazuの拡張モジュールはphp5では動かないのでしょうか・・・
917 :
nobodyさん :05/02/27 00:40:16 ID:061SWsic
PHPで音楽ファイルや画像ファイルなどの バイナリデータの生成、編集は出来ますか?
>>915 サーバにxslt周りがインストールされてれば、別に悪くは無いと思うけど。
XMLが別にあって、ってんなら楽勝。
XMLもPHPで作るってんなら、素のPHPだけでは大変かも。
PEARのXMLから自分にあったのを見つけるか、自分でXML構築classを書くかしないと
スクリプトの見通しが悪くなるなぁ…
あぁ、DOMXMLもあるかぁ。
919 :
917 :05/02/27 01:43:53 ID:???
自己解決しました
>>916 PHP4 で作成した Namazu モジュールは PHP5 では動かない。
CVS から Namazu モジュールのソースを取ってきて PHP5 の phpize を使用して
コンパイルすれば使えるはず。
mojaviで販売サイト立ち上げている人いますか?
922 :
916 :05/02/27 04:06:08 ID:f/BfgIj2
923 :
nobodyさん :05/02/27 14:06:32 ID:Quvh5uNr
iアプリのAPIからPOSTで送られて来るバイナリデーターの受け取り処理 がわかりません。どなたかご存知の方おりましたら、アドバイス頂ければ と思います。どうか宜しくお願い致します。
925 :
920 :05/02/27 17:54:12 ID:???
926 :
nobodyさん :05/02/27 19:35:58 ID:KdI7O9Tq
912です! 追加でmysqlをphpizeでいれようとしているのですが、 configureで /usr/local/lib/mysql/lib/libmysqlclient.a(my_compress.o)(.text+0xbc): In functio n `my_compress_alloc': : undefined reference to `compress' /usr/local/lib/mysql/lib/libmysqlclient.a(my_compress.o)(.text+0x13a): In functi on `my_uncompress': : undefined reference to `uncompress' のエラーが出てうまくいきません。 調べていくと これは、クライアントライブラリをコンパイルしたときに、クライアント/サーバプロトコルの zlib サポートが組み込まれていたことを意味します。 -lmysqlclient を指定してリンクするときに、最後に -lz を追加することで解決できます。 とありますが、 何も修正したらいいのでしょうか? configureの -lmysqlclientの部分に全て -lz をつけても いつもconfigureは上書きされちゃうようだし・・・ LINUX初心者なんでよろしくお願いします。
927 :
916 :05/02/27 21:19:34 ID:f/BfgIj2
>>925 ありがとうございました。
どなたか(作者?)がヘッダファイル
に手入れてくれてたのかぁ〜。
安心、安心。
ていうかこの拡張モジュールなかったら
結構つらいですもんね・・・
CGIとして呼ぶ、とかしか方法ないんですよね・・・
>>926 ./configure に --with-zlib はつけた?
929 :
nobodyさん :05/02/28 14:08:59 ID:3v+7XYLQ
>>928 つけていませんが
最終的に
export EXTRA_LIBS="-lmysqlclient -lm -lz"
をつけたらうまくいきました。
そっか
./configure に --with-zlib
でもよかったんだ・・・
ありがとですぅ
phpをcgiとして動作させているんですが、この状態でvirtual関数を使おうとすると Fatal error: Call to undefined function: virtual() が出てしまいます。 どうにかしてvirtual関数を使えるようにすることは出来ないでしょうか。
>>930 そいつはモジュールとしてコンパイルした時しか有効に出来ないよ。
だからcgiでは無理
>>930 出来ない。まあ似たような機能で再定義する手はあるが。
基本的な質問ですみません。phpでthreadて出来ますか? あるプロシージャを非同期に実行したいのです。
934 :
930 :05/02/28 19:11:25 ID:???
>>931-932 ご回答頂きありがとうございます。
>>932 参考までに方法を教えていただけないでしょうか。
phpとssiを混在させたページを作りたいのですが、どうにもうまく行かなくて。
935 :
nobodyさん :05/03/01 01:47:51 ID:GFbIljAS
phpからquicktimeを使用してファイルをaviからmovにしたいのですが exec()にどのように書けばいいのかが分かりません osはOSXを使用しています どのようにすればいいのか教えてもらえませんか? もしくは参考になりそうなサイトを教えてもらえませんか? よろしくお願いします
>>935 quicktimeでavi→movする時のコマンドラインオプションを教えてもらえませんか。
残りのPHPの範疇のやりかたは回答できると思いますから。
937 :
nobodyさん :05/03/01 03:35:54 ID:GFbIljAS
>>936 私もそれがしりたくて書き込みしました
ので分かりません。
以上、聞きたい事と聞く場所があってるか確認しろという典型例でした。
941 :
nobodyさん :05/03/01 11:17:00 ID:5YlwQk1P
PHPでリファラを取得する際、リンク元がFlashの場合はリファラは渡されないのでしょうか? Firefox等だと取得できるのですが、IEで取得できない状態です。 どなたかご教授いただけると幸いです。。
942 :
933 :05/03/01 11:53:28 ID:C0SmLfoj
いろいろ調べてみたしたが、PHPでスレッドって無理なんでしょうか? だとすると、非同期実行は皆さんどうやってますか?
参考までに、スレッド使って何をするのか知りたい。 確かに言語仕様上、使えたら便利かもしれんが、 Webアプリの開発ではあまり必要に感じたことない。
944 :
933 :05/03/01 14:51:54 ID:???
>>942 処理に時間がかかるプログラムを切り離して実行させる
時に良く使ています(サーブレットですが)。
# あたり前ですが、ブラウザでタイムアウトをサーバから
# 操作できないので。
945 :
933 :05/03/01 14:57:54 ID:???
s/ブラウザで/ブラウザの/
>>945 ここはPHPスレなので、
preg_replace("/ブラウザで/",'ブラウザの',
>>944 );
かな。
「PHPで」という要件には満たないかもしれないが system関数で裏に走らせて、そいつの結果を(σ´∀`)σゲッツ!!ってのなら可能かと。
>>933 PECL でこんなのがあるんだけど使ったことはない。
ttp://cvs.php.net/pecl/threads/ --enable-maintainer-zts が必要なのであまり使えそうにないけど。
他の手段は 947 と同じようだけど、CLI 版 PHP を popen() で
実行させて結果を待つとか。
PHP 4.3.0 以降だと stream_set_blocking() が使えるので、
non-blocking モードで処理可能だし。
949 :
933 :05/03/01 16:12:19 ID:???
>>947 さん,
>>948 さんありがとうございます。
今回はPHPのリコンパイルは出来ない環境なのでPECLのやつは
ちょっと使えそうにないです。
やはりforkとかスレッド風の非同期は出来ないのですね。
popen(+非ブロックモード?)でイカせてもらいます。ありがとう
ございました。
950 :
948 :05/03/01 16:58:33 ID:???
>>942 Rubyを使って...仕事上ではJavaを使うことが多いが。
>>948 ああ、そんなのあるんだ。知らなかった。
PCにアパッチとPHPを入れました。 Apache/1.3.33 (Win32) PHP/4.3.10 running... と表示されるのですが実際[htdocs]にファイルを入れて見ると <? phpinfo() ?> の指示が実行されません。何か思い当たる原因もしくは解決策はありますか?
>>952 むしろ貴方が何も思い当たらない時点で...
設定が足りないまたは無効。
参考にでもしたインストール解説を熟読
954 :
nobodyさん :05/03/01 20:34:34 ID:iwruqR6F
PHPの勉強をはじめました(PHP4.1.2/apache1.3.26) PHPで書かれたいろんなソースを読もうと思っています。 任意の行で実行をストップさせて変数の値を表示したいのですが何かよい方法はないでしょうか? また、ソースを読むときのtips見たいなのがあれば教えてください。
とめるんなら、exit; そのexit;がある行までの変数を全部表示かぁ。 できるのかな。俺は知らない。 fileで自分自身を配列に入れて、exitが出るまでforで回すとか。
>>954 >PHPの勉強をはじめました(PHP4.1.2/apache1.3.26)
PHP4.1.2 って古くない???
今は4.3.10でっせ。
>>954 基本的なところでecho、var_dump、print_r、それらに類する私家ライブラリ
その後「PHP DBG デバッグ」をキーワードに(PHP4.1.2とのことなので)
本格的なデバッギングツールを探して試してみること。
ログの出力とかもね。
>ソースを読むときのtips見たいなの
PHPがどういう手順で命令とか関数を処理して行ってるのか
考え(思い浮かべ)ながら読む。
作り手のスタイルでソースの傾向が違うことも多いので、
余り肌に合わなければ手を出さない(アマチュアならそれでOK)
960 :
nobodyさん :05/03/02 01:04:26 ID:EylpmFkz
配列のキーや変数名に、日本語は使えますか? いや、自分で使う気はないのですが、 引継ぎのスクリプトに使われているので、これは大丈夫だろうかと。。
>>960 使える。
ただ俺も率先して使ったり大規模に試したりした訳ではない。
本幹でないところで駄目だったりするかも知れない。
あくまでも「それは詰まるところa-z、A-Z、0x7f-0xffの範囲なんだろうな」
と念を押すべき。
>>960 >引継ぎのスクリプトに使われているので
ガクブル
963 :
930 :05/03/02 01:29:39 ID:???
何度も申し訳ありません。 あれから検索等で調べているのですが、どうしてもでてきません。 virtual関数以外で、SSIのinclude virtualと同じ動作をさせることは出来ないものでしょうか。
知恵を貸してください。 ログファイルから、終端の10行を読み込みたいときは どんな方法が負荷を低く仕上げられるでしょうか? おねがいします。
>>963 ああ、やったのは、SSIエミュレータだったかシミュレータというのを
呼んで処理させてました。Perlで書かれたやつだったかな。拾い物
今だったらApache2使ってSSI→PHP→SSIって感じに処理させると思うけど。
でもそこまでSSIに拘らんでもねぇ、今更。
966 :
954 :05/03/02 02:35:30 ID:???
967 :
960 :05/03/02 02:38:46 ID:???
>>961 どうもです。
配列のキーには、割と普通に文字列として使えそうですね。
変数名にも一応使えるんですね。
とはいえ、変数名に日本語使ってるスクリプトってなんか怖い。
小規模なのが救いです。
>>964 書く時に先頭に挿入していくようにして、
読む時は先頭の10行を読む
>>970 array_unshiftだっけ、array_pop?
なんだ酒飲んでるからわかんなくなっちゃった。
酔っ払いの屑はどっかいけ
>>964 普通に地道にやるなら。
最初に、count($array)して、配列数を求める。
そしたら、計算したら最後の10行目からの要素数わかるでしょ。
forでファイルを入れた配列をぶん回して、
さっきの値よりおっきくなったところから
新しい配列にarray_pushすれば。
>>973 普通に最後10行目からループをまわせばいい話じゃ
っていうか、
>>964 は「ログファイル」っていってるぞ。
もし、分割無しで設定されたApacheログだったら、
配列とかに入れようとした時点でアウチの可能性も。
昔、70Gのログファイルを見た。
どかしてるね
あ、そういやローカルのアパッチェのログ暫くほおりっぱなしだった。 27mbまで溜まってたよ。
>>977 今見たら2003年6月からのaccess.log3.4MBだった
ログファイルが大きい可能性があれば1行ずつ読んで10回までは配列にarray_push 11回目からはarray_unshiftしてarray_pushを繰り返す
Apacheが、apatchやらアパッシェやらアパッチェ等とイタリアの小料理のように呼ばれる件について。
ログファイルが大きい可能性があれば、 ファイルポインタを最後に持っていって、 適当なサイズのバッファに読み込み、その中から改行コードを判定。 指定した回数の改行コードを見つけるまでバッファ読込判定作業を繰り返す。
982 :
nobodyさん :05/03/03 12:36:09 ID:1a7MlPRn
会話のなかで使う時はアパッチと呼ぶが、仲間内ではあぱっちぇと呼ばれている
すると仲間内同士の会話のなかではどう発声するのですか?
ハァ?
>>983 シッ!
脳内仲間なんだからそっとしておいてやって!
そんなもの相手する暇あったら他の事した方が金になる。
987 :
nobodyさん :05/03/03 15:02:24 ID:SgcxISz7
ツリー表示の質問です。 記事ID,返信記事のID,返信記事の親ID この情報からツリー表示をしたいのでつが。 どうすればいいでしょうか。 神ガンガレ!
オマイがガンガレ
989 :
nobodyさん :05/03/03 15:23:42 ID:SgcxISz7
>>987 質問なのか?そうなのか?
問題ではないのか?違うのか?
問題だったら、解いてやるが、
質問だったら失礼だから答えてやらん。
991 :
987 :05/03/03 16:18:45 ID:SgcxISz7
ごめん。 自己解決できた。 再帰コールを思い出したよ。
あるphpを、apache上で何度も動かすときに、 すべての変数はその都度初期化されますが、 変数の値を初期化せずに保持しておくことはできないのでしょうか。 データキャッシュとして使いたいのです。 共有メモリなどを使わないと無理ですかね。 一応、うちの環境は、apache 2.0.52, php 4.3.10 です。
993 :
987 :05/03/03 16:53:55 ID:SgcxISz7
>>992 mmcacheなら共有メモリか、ファイルか選べる。
994 :
nobodyさん :05/03/03 16:57:07 ID:No59BtVW
>>993 mmcacheって、phpのコンパイル後のデータをキャッシュしてくれるだけかと思ってた。
調べてみます。
995 :
987 :05/03/03 17:07:52 ID:SgcxISz7
>>994 mmcache_lock('dept');
mmcache_put('dept', $ret);
mmcache_unlock('dept');
$dept = mmcache_get('dept');
var_dump($dept);
996 :
nobodyさん :05/03/03 17:26:50 ID:No59BtVW
>>995 それです。ありがとさんくす。
eaccelerator_put / get
という名前になってた。
997 :
nobody :05/03/03 22:16:07 ID:V9TxyZTS
特定のディレクトリにmp3ファイルを保存してその一覧を表示しようと思うのですが、 phpでID3タグ情報を取得するにはどうすればいいのでしょうか? php id3 取得などで検索してみましたが rubyで同じようなことができるスクリプトは見つかったんですが。 FreeBSD + Apache + php4.3.10
998 :
997 :05/03/03 22:37:43 ID:V9TxyZTS
自己解決しました
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。