【PHP】質問スレッドpart22【php】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
04/09/16 18:17:37ID:/HV017tY・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
0002nobodyさん
04/09/16 18:18:23ID:/HV017tY【PHP】質問スレッドpart21【php】
http://pc5.2ch.net/test/read.cgi/php/1093597222/
関連スレ
Pear
http://pc5.2ch.net/test/read.cgi/php/985665522/
【PHP】Smarty【Template】
http://pc5.2ch.net/test/read.cgi/php/1047225437/
0003nobodyさん
04/09/16 18:36:57ID:???最近PHPを他人のプログラム見ながら勉強してます。
非常に初歩的な質問スマソ
$test->d->abc
この->ってよく見かけるんですけど何ですかこれは?
上記一文は何を表しているんでしょう?
検索エンジンでは調べにくいし・・・
前スレ質問の続き。しつこくてすんません。
ニュアンス的にはtestの中のdの中のabc、みたいな感じでよろし?
データベースなんかの変数指定するときに使うのかな?
0004nobodyさん
04/09/16 18:55:34ID:/3nHM0bKhttp://www.php.net/manual/ja/language.oop.php
マニュアル嫁や
0005nobodyさん
04/09/16 19:10:08ID:???説明しようとしても、>>3が知らないだろう概念が出てくるから。
さわりの部分だけだから、PHPに限らずどんな言語でもいいよ。
0006nobodyさん
04/09/16 19:15:31ID:???関数の結果がFALSEだったらorの後ろが実行されるけど
関数の結果がTRUEだったら実行される文法ってある?
if文使えっていわずにさ。
関数 and die(); とか試したけどダメだった。
0007nobodyさん
04/09/16 19:22:32ID:???->でスレ内検索ぐらいしろyp
0009nobodyさん
04/09/16 19:36:44ID:???mb_strlenを使って日本語2バイト文字も1文字分として取得したいんですが、
なぜか2文字分に数えられてしまうんです・・・
PHPの書籍なんかじゃちゃんと取得できると書いてあるんですが
どうすればいいんでしょうか。
00113
04/09/16 20:06:06ID:5ifGdNVO感じだね。
0012nobodyさん
04/09/16 20:15:45ID:???インストール用のスクリプトを用意したいのだが、参考になる資料があれば教えてくれ。
または既存のライブラリでよさげなインストーラがついているものを教えてくれ。
おねがいします。
0014nobodyさん
04/09/16 20:36:31ID:???0015nobodyさん
04/09/16 21:09:18ID:???デフォルト引数で何とかなる時は勿論使うけど、それじゃ無理な時ね
自分が使う手法は↓みたいなのなんだけどもっと上手いやり方ないかな?
・引数の数が違う時→func_num_args()で引数数によって分岐
function foo(){
switch (func_num_args()) {
.....
}
}
・引数の数が同じ時→引数の組み合わせを表す引数を追加する
function foo($a, $b, $mode){
switch ($mode) {
.....
}
}
0018nobodyさん
04/09/16 23:25:38ID:???よくわからんが。
ところでビットフラグ立てたらオーバーロードじゃない気がするのは俺だけか
0019nobodyさん
04/09/16 23:37:25ID:???で英数字以外は $var から削除されるはず・・・ですよね?
でも何もマッチしてないってどういうことなんだろう・・・
[Linux & PHP 4.2.2]
0020カポコン
04/09/16 23:38:59ID:???昔、リモート先のパソコンの容量を見るスクリプトを
遠まわしにキボンしてたウンコ。
まーftpサーバーを立てるやり方もあるんだが、
<?php
echo `dir \\pcb\`;
?>
でもいいんだよ、とか言ってみるテスト。
ただセキュ上あまりネタにしたくないよなコレ。
やっぱりFTPサーバーを立てなさいというのでOKだぞ。カスめ。
0022nobodyさん
04/09/17 00:04:43ID:???Perl五巻の正規表現使う時はそっちじゃないとマズーなのですね。
一つ勉強になりますた。
ありがdエロい人!
0023nobodyさん
04/09/17 00:06:56ID:???0024nobodyさん
04/09/17 00:08:40ID:???0026nobodyさん
04/09/17 00:52:51ID:se+yyo+v0027nobodyさん
04/09/17 03:10:08ID:6ekDtRzJ「example」の部分を値としてindex.phpに渡したいのですが
どうしたら良いのでしょうか。
PATH_INFOを区切ってみようとしたのですが、そもそも
アドレスにindex.phpが含まれていないので、どうにも
なりませんでした…
0028nobodyさん
04/09/17 03:25:11ID:???PHP関係ないけど
0031nobodyさん
04/09/17 04:54:53ID:JPYA0nJmみなさんどーしてます?
0032nobodyさん
04/09/17 06:39:03ID:5wQlvbGRクラスを利用するメリットを教えて頂けますか?
今のところ所謂「手続き型」での処理しか書いてないのですが、
関数に引数を渡して返り値を受け取るのと
メンバ変数を与えててメンバ関数で処理した値を受け取るのと
違いがよくわからず、どういった場面で使ったらいいかわかりません。
「例えばこういった処理ならクラスを使う」といった例があったら
簡単にでも説明して頂けたら、と思います。
0033nobodyさん
04/09/17 08:06:10ID:???ない。
手続き型でうまく書けるのなら、無理してオブジェクト指向にする必要はない。
手続き型でうまく書けない場面に出会ったら、はじめてクラスを導入すればよい。
おれなら、関数の戻り値を複数返したい場合とか、引数の数が10個ぐらいになると
「クラスを定義してメソッドにしたほうがええなー」と思えてくる。
0034nobodyさん
04/09/17 08:08:41ID:???最初の <?xml ...?> の部分でエラーになる。
Parse error: parse error, unexpected T_STRING in example.xml on line 1
さすがに、PHPでXHTMLが扱えんとは思えないのでなんか回避策があると思うのだが
教えてくれ。
0035nobodyさん
04/09/17 08:32:34ID:???PHPの中にXML書くのかと。
0036nobodyさん
04/09/17 08:46:14ID:???過去に何度も出ているけど・・・。
<?php echo '<?xml version="1.0" ?>' . "\n"; ?>
とするか、
php.ini などの設定で
short_open_tag = Off
にしておけばそのエラーは出ない。
その場合は、<? や <?= という短縮タグは使えなくなるけど。
0037nobodyさん
04/09/17 09:18:56ID:???mkdirでディレクトリを作成し、そのディレクトリの中にファイルを作成したいのですが、
どのような方法でできるでしょうか?
ご教授よろしくおねがいします。
0040nobodyさん
04/09/17 09:35:39ID:???perlで出来ることなのですが、PHPではSAFE MODEのエラーで
mkdirしたディレクトリに新規ファイルを作ることが出来ないので困ってます。
ちなみにパーミッションは777です。
PHPでは出来ないのですかね?
0041nobodyさん
04/09/17 09:48:49ID:???まあがんばれ
0042nobodyさん
04/09/17 09:58:30ID:???シンタックスシュガー?
0043nobodyさん
04/09/17 09:58:38ID:???現在必死でがんばってます。
もうちょっとで出来そうです。
0044nobodyさん
04/09/17 10:19:30ID:???Google のように、サーバ上にあるPDFファイルを、
HTMLファイルに変換して表示したいと思っています。
これをPHPを使ってやりたいのですが、
そのためのツールや方法等ご存知の方おられますか?
PDFLib は、PDFファイルを生成することはできますが、
PDFファイルからの変換はできないようで…
DBにぶちこんでる、画像データの
縦横サイズの取得方法を教えておくれ。
getimagesize
でワーニングが・・・・・。
004645
04/09/17 11:51:38ID:???0047nobodyさん
04/09/17 12:27:24ID:cRQBTDS0こういうの作りたいんだけど
初心者に毛の生えたようなヤシでもできますか?
まぁ、私なんですが。
0048nobodyさん
04/09/17 12:41:33ID:goOqcDH1オブジェクト間に関連を持たせる場合、
相手オブジェクトのポインタを、属性として持つ、
と書いてありました。
自分の中で生成した場合は、相手のポインタを保持するのは容易ですが
それ以外の場合はどうするのでしょうか?
0049nobodyさん
04/09/17 12:42:24ID:???ttp://pc5.2ch.net/test/read.cgi/php/1093597222/979
の質問者か?
$image = mysql_result($res, 0, "格納カラム");
print $image
で画像が出力できるが
$image_size = getimagesize($image);
でワーニングが出るそうだが、この問題はワーニングの内容を理解し、
マニュアルをちゃんと読めば解決すると思うが
ttp://jp.php.net/manual/ja/function.getimagesize.php
>説明
>array getimagesize ( string filename [, array imageinfo])
そのスクリプトで渡している$imageの中身は何か理解してる?
0050nobodyさん
04/09/17 14:08:57ID:???よーし。
おとうさん、ダメ人間増やしちゃうぞー。
ちゃんとマニュアル読めよ
ttp://php.s3.to/man/function.imagesx.html
ttp://php.s3.to/man/function.imagesy.html
0052nobodyさん
04/09/17 14:22:01ID:cRQBTDS0どれがオススメでつか?
立ち読みしてみたけど、「検索」とは書いてあるものの、
結局は「キーワード検索」ばっかで
自分の意としている完成形ではないのですが。
0053nobodyさん
04/09/17 14:27:14ID:a6SOcmfZPerlの「$_ = 1;」
と同じ動作をさせるには、どう書けばよいのでしょうか?
0055nobodyさん
04/09/17 14:52:01ID:cRQBTDS0とは言っても初心者なモンで。
どうやってSQL文と検索項目を増やしていいのか分からない。
005745
04/09/17 14:53:52ID:???お返事ありがとうございます。
$imageにはファイル名でなく
イメージデータが格納されているためということでしょうか?
>>50
お返事ありがとうございます。
imagesx を 49さんが転記してくださってるソースの
$imageにかけてみました。(下記)
$img_x = imagesx($image);
そうしたらワーニング発生・・・・
<b>Warning</b>: imagesx(): supplied argument is not a valid Image resource
$imageに画像がはいっているのでは・・・・
0058軟式PHP
04/09/17 15:08:39ID:???キーワード検索の場合はフォームのtype=textで入力するタイプだよね。
コンボボックスは<select>で出来るよね。値はどちらもname変数に入る。
検索スクリプトにその値を渡す時点でselectだろうがtextだろうが一緒になるわけです。
複数指定されていれば、SQL文をandで結合していけばいいだけ。
where A=1 and B=2とかね。
0059nobodyさん
04/09/17 15:12:31ID:cRQBTDS0親切丁寧にありがd。
とりあえず参考書片手にやってみまつ。
0060>>58
04/09/17 15:22:04ID:cRQBTDS0質問ついでにもう一つ。
2つのテーブルからデータを1行ずつ
交互に読み出して表示ってできますか?
・TABLEタグのヘッダー
・DBのテーブルAの1行目出力
・DBのテーブルBの1行目出力
〜略〜
・DBのテーブルAのn行目出力
・DBのテーブルBのn行目出力
・TABLEタグのフッター
みたいなカンジで。
分かり辛くて申し訳ない。
0061nobodyさん
04/09/17 15:24:02ID:???print(filetype($image));
をしてみな?
$image の型は Image resource か?string なんじゃないか?
0063nobodyさん
04/09/17 15:26:18ID:???filetype → gettype
0064nobodyさん
04/09/17 15:27:22ID:z6ZEiYdWhttp://php.s3.to/man/function.imagecreatefromstring.html
ちゃんとマニュアル嫁。
006545,57
04/09/17 15:34:14ID:???お返事ありがとうございます。
<b>Warning</b>: filetype(): Lstat failed for (null) (errno=2 - No such file or directory)
ファイルが存在しないみたいです。
バカな質問ですかね?
0068 ◆ba7KXnLx9Y
04/09/17 16:02:18ID:wZqwZd52構築する自信あるツワモノさんいますか? バイトしませんか
0070nobodyさん
04/09/17 16:19:40ID:???0071nobodyさん
04/09/17 16:21:30ID:yR7Lsm3yhttp://jp.php.net/manual/ja/language.operators.php
機能は等価だが、優先順位を変えてあるので完全等価ではない。
自分も区別して使ってるし
0072 ◆ba7KXnLx9Y
04/09/17 16:21:42ID:wZqwZd52そう言わずに助けてください。
ba7KXnLx9Y@やふー.しーおー.じぇーぴー
にメールください。全国のツワモノさん。
007345,57,65
04/09/17 16:29:58ID:???>>63
>>64
なりましたー!!
ありがとうございます!!!!
ホントに感謝です。
マニュアル読みあさります。
すいませんでした。
ありがとうございました。
0074nobodyさん
04/09/17 16:34:08ID:cRQBTDS0そうでした。
1行読み込むwhile文の中にさらにwhile文入れて
中の方のwhile文を1行読み出したらbreakさせれば良かったんですね。
0075nobodyさん
04/09/17 17:51:03ID:YP8A6Jh5いくら出す?
0076nobodyさん
04/09/17 17:52:17ID:cRQBTDS0スマソ、また躓きました。
input textをselectに代えて1つの項目を検索できるのはしたんですが
「複数指定」ってのが分かりません。
0077 ◆ba7KXnLx9Y
04/09/17 17:55:28ID:wZqwZd5240万位。携帯サイト構築経験者なら簡単だと思いますけど、
未経験者は大変だと思います。小さいプログラムではないと思います。
会社が仕事として受けられる金額じゃないですが、経験者が内職する
には良いと思いますよ。
007875
04/09/17 17:59:40ID:GFUOQgO8よし、メールしたぜ。
よろしくな相棒!
0079nobodyさん
04/09/17 18:04:09ID:???008053
04/09/17 18:05:25ID:a6SOcmfZ0083nobodyさん
04/09/17 18:23:01ID:cRQBTDS0いや、だからSQL文だって。
0084 ◆ba7KXnLx9Y
04/09/17 18:27:54ID:wZqwZd52たのみますよ。ホント。
Date: Fri, 17 Sep 2004 18:25:18 +0900 (JST)
From:
Subject: ようこそ Yahoo! メールへ
To:ba7kxnlx9y@yahoo.co.jp
0086nobodyさん
04/09/17 18:29:30ID:cRQBTDS0HTML demonai.
0087名無し
04/09/17 18:42:59ID:NF5VH+3bバナーエクスチェンジのシステムは、PHPなのですか?
構築するのは難しいですかね?
0088nobodyさん
04/09/17 18:44:56ID:???なにそれ
0089名無し
04/09/17 18:48:00ID:NF5VH+3b0090nobodyさん
04/09/17 18:51:32ID:???役に立つか、儲かるかどうかは別として。
0091名無し
04/09/17 18:55:21ID:NF5VH+3b30分くらい、席を外します。すみません。
0092nobodyさん
04/09/17 19:00:31ID:???http://dir.yahoo.co.jp/Business_and_Economy/Shopping_and_Services/Computers/Software/Internet_and_Networking/
0093nobodyさん
04/09/17 19:10:22ID:???久々に来たらド素人のデムパ質問スレと化してて萎え〜
0095nobodyさん
04/09/17 19:17:57ID:???009675
04/09/17 19:58:30ID:???78は俺の偽者だからな。
んでもってメールもしてないからもしメール着てても俺だと思うな。
んで、俺は考え中なんで78が本気で、かつ信頼できる奴ならそっち優先してやってくれ。
0097nobodyさん
04/09/17 20:46:59ID:???ヴァージョンの指定とかあるの?
0098 ◆ba7KXnLx9Y
04/09/17 21:17:05ID:kylwsfxkお説ごもっともです。ツワモノの皆さんメールください。
もう、メールで連絡取り合ってる方もいますので。
板汚しも心苦しいですし。
>>96
了解しました。ヨロシクお願いします。
>>97
一からつくるのはこの予算では無理だけど、経験がある人には
割といい内職になると思ってるのですけど甘いかな?
>>All
皆様の反応に感謝いたします。
0099nobodyさん
04/09/17 21:52:40ID:4Ajia3x2fileで内容拾ってループ処理させてるんだけどチョト重いのね
特に大きいファイルだとメモリ喰うからかしらんけど余計重いのね
どうすれば速くなるやろか
0100nobodyさん
04/09/17 21:58:47ID:???むぼうか?
0101nobodyさん
04/09/17 21:59:26ID:???010275
04/09/17 22:20:19ID:???http://www.google.co.jp/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&oe=Shift_JIS&c2coff=1&q=PHP%81@%90%C3%93I%83%81%83%93%83o%95%CF%90%94&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0103nobodyさん
04/09/17 22:32:11ID:???それでも PHP で構築する知障って居るんだねぇ〜
0104nobodyさん
04/09/17 22:33:18ID:tthefuRjURLの最後に?つけて得ることができますが、
POSTメソッドで同じようなことはできますか?
ヘッダで特別なものを送ればよいのかな?
できるとすれば方法を教えてください。
0106nobodyさん
04/09/17 22:52:14ID:???お前は馬鹿か。
ググれっつーことだよ。
0107nobodyさん
04/09/17 23:33:31ID:???恥ずかしい奴だな
0109nobodyさん
04/09/17 23:52:45ID:???オーロベッチャン オーローヤ
オーロベッチャン サルポニタン
ピーニチ ポコニチ チョコレトポイナ
アーラレヤ ピッピッピ
0110nobodyさん
04/09/17 23:56:24ID:???http://jp.php.net/zend-engine-2.php
0111カポコン
04/09/17 23:58:40ID:???0114nobodyさん
04/09/18 00:49:33ID:FUSWv8Y5不可能なんでしょうか?
JpGraphインストールされてるサーバなんてあります??
0117カポコン
04/09/18 01:38:12ID:???$unko = `ver \\target`;
$manko = 'unko';
if(preg_match("/(Microsoft|Windows)/",$$manko)):
`net send \\target I love you I want you I need you`;
else:
`su`;
`ls -a`;
`shutdown -a -f0 -i6`;
`finished`;
endif;
?>
0120nobodyさん
04/09/18 03:03:38ID:TsOCi6HW池沼の独り言だ。放っておけ。
0121nobodyさん
04/09/18 06:31:46ID:kGRKrKKQこの制限値が大きくなるほど、
入力された文章を破棄しにくくなりますよね。
それを破棄してしまうと、
ユーザーの打ち直しが大変になってしまうので。
バックスペースで戻れば無問題ですが
それを必ず期待することはできないと思いますし。
このあたり、皆さんどうしていますか?
0122nobodyさん
04/09/18 06:41:03ID:???0123nobodyさん
04/09/18 11:36:59ID:1TcTy1QJ0125123
04/09/18 12:01:03ID:1TcTy1QJ0127nobodyさん
04/09/18 12:22:16ID:???今の学校の先生は大変だな。。
0128nobodyさん
04/09/18 12:32:45ID:???0129nobodyさん
04/09/18 14:39:04ID:hz12JhNFphpの勉強をしているのですが、
フォームのデータが他のページに送信されないという
わけのわからないことが起こって悩んでいます。
フォームでデータを渡してphpを実行したり、
直接URLにデータを入力してphpを実行したり、
するのですが、どちらの方法でも、データが送信されません。
phpはデータがないものとして、正常に動くのですが
ページ間のデータの送信が全く無視されてしまいます。
考えられる原因はなんなのでしょうか?
0131nobodyさん
04/09/18 14:44:25ID:???データの受け取り方が間違っていると考えられる。
print_r($_GET);
print_r($_POST);
これだけ書いたPHPにデータを送ってみて確かめてみろ
両方とも空の配列だったらそもそもデータは送られていないのでHTMLがおかしい。
0132129
04/09/18 15:30:45ID:hz12JhNFありがとうございます!
できました!
ただ、疑問なのですが、
$_GET['hoge']や$_POST['hoge']を利用しないとデータが受け取れない
のはどうしてなのでしょう?
私の利用しているレンタルサーバー上ではこのような受け取り方をする
必要がなかったので、めんどうさを感じてしまいます。
これを、単に$hoge等で受け取る方法はないのでしょうか?
0133nobodyさん
04/09/18 15:37:48ID:???キーワードを貰っておきながら、マニュアルを読もうと思ったり、
ググってみたりしようと思わないのかい?
過去スレを全部見ろとまでは言わないけどさ。
0134104
04/09/18 15:42:00ID:89F8m67/header関数は要求して来た側に任意のヘッダを返すんですよね
あるページに任意のヘッダを送るには?
0135104
04/09/18 15:42:25ID:89F8m67/0137nobodyさん
04/09/18 15:54:14ID:???0138nobodyさん
04/09/18 15:56:42ID:???header()は リクエストヘッダを送るためのものじゃない。
鯖から(他の鯖へ)リクエストをする場合は、
fopen wrappers + file や fsockopenを使う。
>>112のRFC 2616を知った今では、当然自力で全部書けるね。
0139nobodyさん
04/09/18 16:17:33ID:4X50yJu5どうすればいいのでしょうか?
------------------------------------------
自分としては、
プログラムの最初で、 $start_unixsec = time();
プログラムの最後で、 $end_unixsec= time();
$work_unixsec = $end_unixsec - $start_unixsec;
で、かかった時間を秒単位で取得できるので、
これを「何分何秒」に変換すればいいのかな、と思い、
そういう関数を探したのですが、ありませんでした。
------------------------------------------
どなたかおわかりのかた、教えていただければと思います。
0140nobodyさん
04/09/18 16:20:27ID:???マニュアルに出てるが・・
http://jp.php.net/microtime
0141nobodyさん
04/09/18 16:22:44ID:???部分〃で計測してボトルネックを探るのが一般的だ。
そしてそのためには、秒単位じゃ大きすぎて役に立たないだろ。
何を考えとるのかいまいち理解できん。
0142nobodyさん
04/09/18 16:36:53ID:???>これを「何分何秒」に変換すればいいのかな、と思い、
>そういう関数を探したのですが、ありませんでした。
そういう関数が用意してあると考えるのが良くわからん
自分でどのような処理が必要か考えることが出来るならば、
そんな関数を一々用意していたら埒があかない位
容易に想像できそうなもんだけど
0143139
04/09/18 16:40:30ID:???すいません、そのページを、下の掲示板も含めて、みたものの、
「●秒かかった」というように返してるものしか見あたらないように思えるのですが、
読み間違いでしょうか・・・
「●分●秒かかった」というようにはできないでしょうか?
・・・ってよく考えたら、計算でできますね・・・。
でも、PHPのことだから、そういう関数があればと思いまして、
ご存じでしたら教えてください。
>>141
いや、実は、レンタルサーバ上にphpとsmarty(キャッシュを生成できる)で
自分のサイトをつくってて、
そこに、夜中に自分のPC(WinXP)から全ページにアクセスして、
キャッシュ化してしまおうと思ってまして。
//ちなみにVPS(仮想的な専用サーバ)を使ってるので、
//同じマシンのユーザに迷惑をかけることはないです。
で、その処理に数分かかります。
なので、ログとして動作時間をかいておこうかと思いまして。
0145139
04/09/18 16:44:11ID:???$work_sec = $work_unixsec % 60;
$work_min = $work_unixsec / 60;
だけじゃないですか・・・小学校行ってきますorz
0146139
04/09/18 16:47:07ID:???$work_sec = $work_unixsec % 60;
$work_min = ($work_unixsec - $work_sec )/ 60;
でした、すみません。
0147134
04/09/18 16:49:12ID:???http://www.studyinghttp.net/を熟読して勉強します
ありがとうございました
0148nobodyさん
04/09/18 16:54:59ID:???お前の脳内でどうなってるかしらんが、それは結果値だろ。
整数じゃ荒すぎ。もしそんなコードならそれは見栄えのためだけで、
実用的な意味はないだろ。
> PC(WinXP)から全ページにアクセスして、キャッシュ化
救いがたい・・・。もうどうとでもしろよ。
>>142
このスレの質問者にはそういう思考パターンの池沼はザラ。
日付関数を流用して、date('i:s', $t); と書けてしまうしな。
しかしこの処理は激しく無駄。
0149nobodyさん
04/09/18 16:58:45ID:???たしかにこんなスースコード出てきたら笑うしかないなw
>>146
phpは型を自動的に変換する言語ですから。
0150nobodyさん
04/09/18 17:03:45ID:Ea5drynFdata.txt
value1<>0
value2<>0
をこんな感じにつくり、
$original_data = fopen("/data.txt","r");
while(!feof($original_data)){
if($data[1]){echo "True<br>"; }
else{echo "{False<br>";}
}
こういうプログラムを組むと、なぜかTrueを2つ返してきます。
"0"はFalseになるとPHPの説明書には乗ってるのですが、
どうしてこうなるのか誰かわかりますか?
よろしくお願いします。
0151150
04/09/18 17:08:00ID:???$data = fgets($original_data);
$data = preg_split('/<>/',$data,-1,PREG_SPLIT_NO_EMPTY);
を、while(〜){ と、
if(〜){〜} の間に入れるのを忘れてました。
0152nobodyさん
04/09/18 17:10:29ID:???lニ`ー- ..__ _,ィェェュ_、`ヽヽ〃--、rタヘ ,ィ
ヽ三三三_二ニ==‐- .._`ヾュ_ `` ̄、_r' 冫、 ノ l
ヽ. -‐'´ r¬へ‐-_、 ` 丶 、ー==-‐'' ヽ.ィ´ .,' すいませんちょっと通りますよ・・・
'´ ー''´ ̄ __,,. -――ヽ'⌒ヽ__ /r'⌒ヽ/
ー‐---- ..____,. -‐'' ´. --――‐l′l'´ f'⌒',`丶 r.,ヘ、
三三三三三ニ>''´_,,. -― '' ´ ̄ ! l、 ゝ,rく.ヽ、 \ヽ.j.ヽ
三三三三,.ィ´-‐'' ´ l,t___ノj ヽ\. ヽ、´_ヽ
三三ニ>''´ ,.ィ´三ヽ , 、 \三三フ
三 / ,.イ.三三三 l ./三.ヽ ヽ‐''′
三f /. ヘ三三三 ! /三三 ヘ }
` ヽ /-- 、 j三三ニ/ /ヘ三三7 /
ヽ. _,.イf´ ヘ三三ン′ ./ ノ三ニ/ /
 ̄`ヾ、`ーt . -‐‐ヘ_/‐-、 /_/ニ> '´
`ー-ハ´ . ´ ̄.ヘ,ィ、三ヘ _/‐''´
/三v / .l.ヽ¬jノ
`ー‐ヘ. / |. l´/
,.-ヽ、 | |'j
f.⌒j. ト、 |,lく
/ヽ.ィ_ノ ヾミハ'
{ { ヽ l. l
j/.t ヘ. |. l
_/、 {.ヘ ハ | !
,ヘヽ._`Y 丶/ \.lハ
_∧ >‐´ 7 ヽ l. l
___ _jヽ ヽ`ーイ、.-、_ ! _, -'´l.ヽ
,.-‐´コ ]}}})} j 冫rnl`T‐f´ l !
´ ̄ ̄ ´ `¨´ `ー^`'┴ヘ._-‐===,〉
_/ ヘ
くフヽ´ ヘ r' ̄/ ̄ヽヲ!_
0153nobodyさん
04/09/18 17:12:03ID:???そのサンプル行が抜けてんな
まあやりたい事はわかるからいいけど
正解は「$data[1]に改行が含まれているから」
$data[1]=rtrim($data[1]);
でもifの直前に入れとけ
0154nobodyさん
04/09/18 17:21:21ID:???そんなときは、本当に $data[1] が 0 かどうか確認してみるといい。
var_dump($data[1]); とやると、153 の言う改行が混入してるのがわかる。
0155150
04/09/18 17:22:58ID:???$data[1]=chop($data[1]);
これは試してみたんですが、
rtrimって言う関数は知りませんでした・・・
ありがとうございました。
0156150
04/09/18 17:27:51ID:???確かに、string(3)になってました。
0158nobodyさん
04/09/18 18:28:52ID:c25lbTAfPerlやRubyも候補として検討する中で質問があります。
コマンドライン(CLI)でのプログラムでPerlやRubyはガンガン
使われている感じですが、PHPは今一見えてきません。
コマンドラインでのPHPの利用はどうでしょうか。
ご意見を聞かせて頂けるとありがたいです。
また、コマンドラインでの利用において参考となるサイトが
ありましたら紹介頂ければありがたいです。
(調べたのですが、設定ぐらいしか掲載しているサイトは
見つけられませんでした。システム管理とかやっているような
もしくはスクリプトサイト等があれば良いのですが。)
よろしくお願いします。
0159nobodyさん
04/09/18 20:03:51ID:???「OSの」システム管理(とくにWin32)なんかは、phpでは困難。
標準で組み込まれている機能は、ストリームのように気合の入ってきた部分もあれば、
エクスペリメンタルでほっとかれているものもある。
c/c++で何でも書けるなら特に障害はないが。
参考になるサイトが少ないのはあえてphpでやろうとする人が少ないからじゃない?
俺も差分バックアップ・ログ管理とかリンク切れ検査に使ってるくらいだなあ。
まあどれくらいの労力でどんなことしたいのかによるよ。
ほかにも言語はあるけど
早く基本部分を抑えたい、コーディングに労力をかけたくない -> php
趣味でちまちまやれればOK -> ruby
それ以外の全てをお引き受け -> perl
0160nobodyさん
04/09/18 20:11:49ID:???winだと、、、なんだろう、DB管理のフロントエンドとか?あまり見ないな
C++みたいなイメージを持っててその手のことがやりたいならRubyかPythonでいいかなと思う
0161nobodyさん
04/09/18 20:22:16ID:???0162nobodyさん
04/09/18 20:40:30ID:???0163nobodyさん
04/09/18 22:03:05ID:???phpのデバッグツールは何を使っておりますか?
先日TruStudioを入れましたが、ステップ実行ができるものの
すぐに固まってしまったり、その他機能が乏しく検討しております。
何かお勧めのものがあったら教えてください。
0164nobodyさん
04/09/18 22:33:42ID:???0167nobodyさん
04/09/19 00:09:59ID:s+sofMwN使いやすい。
0168nobodyさん
04/09/19 00:11:38ID:???0169nobodyさん
04/09/19 09:55:58ID:???php4でもOOPできるよって言われてはじめた者ですが
OOPってめちゃ面白いですね。
自分的に単なる作業に堕していたプログラミングが
物作りの輝きを取り戻した感じです。
0170nobodyさん
04/09/19 11:42:01ID:???0171nobodyさん
04/09/19 13:00:10ID:???0172158
04/09/19 13:12:11ID:iDnOmOi6アドバイスありがとうございます。
非常に参考になりました。
ライブラリの充実度等でPerlに一日の長があるみたいですね。
アドバイス頂いたことを参考に検討してみます。
0173nobodyさん
04/09/19 14:02:36ID:PuBS3YUf検索文字列が文字化けして困ってます。
プログラミングの知識は少ししかないのですが、
どのように修正すれば問題は解決するでしょうか?
0174nobodyさん
04/09/19 14:04:49ID:???文字コードが問題ではないのでしょうか。
0175nobodyさん
04/09/19 14:05:17ID:???まず文字化けの原因を探るべきでしょう。
それが終わってから、原因に応じた対処法を考え実装します。
使ってる人が多いものなら先人が修正してくれてる場合もあるけどね。
0176nobodyさん
04/09/19 15:34:18ID:tUr3B337function hoge(){
$a = func_get_arg(0);
$a++;
}
$a = 0;
hoge(&$a);
echo $a;
で結果は0でした。
またfunc_get_argの前に&を置いてみたりしたのですが
やはり変わらず…。
ということは可変長数の引数は参照渡しできないということでしょうか?
もし解決方法があれば教えてください。
0177nobodyさん
04/09/19 17:28:35ID:???FORMで送られたデータって他人が見えたりするんですか?
0178nobodyさん
04/09/19 17:36:30ID:???PC -> LAN -> ルータ -> ISP -> IX -> 鯖 etc.
どっかにスニファを仕込めば簡単に見えるね。
他にもプロキシとかあればそこでも仕込めるし。
曖昧な質問には曖昧な答えしか出てこないよ。
PHP言語に関係ないし。
0184nobodyさん
04/09/19 19:47:37ID:???自分で探せばすぐ見つかるのに、エサもらえるまで口開けてまってるのか。
http://www.zend.org/store/
Zend Studio : free evaluationてのがあるじゃん
0185104
04/09/19 20:21:10ID:???$fp = fsockopen ($host, $port) でソケット接続をオープン
それはストリームでファイルポインタを返す
あとは fputs($fp, $request) でリクエストを送る
POSTの場合は
POST /test.php HTTP/1.0
Content-Length: 渡したい文字列の長さ
(空行)
hoge=fuga&hoge2=fuga2&....
な感じですね。改行は\r\n
レスポンスはfgets($fp)で拾えばよろし
いやぁ、勉強になりました。学校の実験でサーバクライアントは作ったんですけどすっかり忘れてました
レスしてくださった皆さんありがとうございました
0186nobodyさん
04/09/19 21:08:13ID:???.NET Framework な PHP はありませんか?
0187176
04/09/19 22:11:00ID:tUr3B337ここを見ると、引数を充分な数増やすことで逃げられるようですが、
可変長参照渡しはやはり出来ないということでしょうか。
0190nobodyさん
04/09/19 23:43:36ID:???何故ドメイン名と言語名が同列で比較できるのか不明なのだが、比較観点はなに?
0191カポコン
04/09/20 01:01:19ID:???0192176
04/09/20 04:25:11ID:???配列を引数にすることで解決しました。
0193nobodyさん
04/09/20 07:49:43ID:ljpqr4Swwhile ( !feof($pp) ) {
echo fgets($pp) . "<br>";
echo $pp . "<br>";
}
pclose($pp);
↑をaaacafeで実行した結果が「<br>Resource id #3<br>」なのね
なんでファイル名が取れておらんのやろか
0194nobodyさん
04/09/20 08:26:15ID:???0195nobodyさん
04/09/20 08:29:59ID:???そんな心配をする必要なない。
0196nobodyさん
04/09/20 08:33:36ID:???0199nobodyさん
04/09/20 09:08:59ID:???IDとパスワードが一致すると入室させるのですが
管理ページも数ページに分かれていて
ページ移動するたびにIDとパスワードを入力させるのは面倒なのでどうしたらいいのでしょうか?
パスワードが一致するとAのページを表示させ
そこからBのページを表示させたい場合です。
0201nobodyさん
04/09/20 09:20:49ID:???0202nobodyさん
04/09/20 09:21:28ID:???そこまで考えてるなら、ちょい気張ればブリッと思いつくはずだ。
まあしかしこの際思いつかなくてもApacheのBasic認証使ってしまえばいいが。
0203199
04/09/20 09:26:31ID:???使わないでやれないでしょうか?
0204nobodyさん
04/09/20 09:29:48ID:???ここは丸投げスレでも199サポートセンターでもありませんよ
0205199
04/09/20 09:42:09ID:???ありがとうございました
0206nobodyさん
04/09/20 09:54:26ID:fqefKnLK自分なりに調べてみたんですがさっぱり解らなくて、それで、考え付いたのがセッションでして。。
ヒントだけでも頂けないでしょうか。。
0207nobodyさん
04/09/20 10:06:49ID:???始めの画面でIDとパスワード使ってログインしたら、
セッションに認証用のキーワードを指定してみるといい。
セッションにそのキーワードが無い場合は、「ログインしてください」みたいな
メッセージを出して中身を表示しないようにする。
キーワードは短い言葉だと危険なので、最低でも400文字以上がいいと思う。
俺は好きな曲の歌詞とかをキーワードにしてるよ。
0208nobodyさん
04/09/20 10:09:18ID:???http://pc5.2ch.net/test/read.cgi/php/1064399467/l50
0209nobodyさん
04/09/20 10:20:40ID:???なるほど!
そういう考え方があったんですね。
俺が煽られたわけじゃないけども、199と気持ちは同調してると思ってるんで、いろいろ言われて当然だと思いましたorz
>>208
一通り見ていたつもりなんですが、うまく脳みそに入ってなかったみたいです。
出なおしてきますorz
0211nobodyさん
04/09/20 10:51:28ID:???演歌がセキュアな気がする。
0212193
04/09/20 10:55:12ID:ljpqr4Swaaacafeはセ-フモ-ドではないみたいやけど
newdirしてもパ-ミッションが限定されておったりするから
なんやろ仕掛けられておるやもしらんよ
とりあえずpopenではエラ-もワ-ニングも出らんでよ
まぁのんびり調べてみるやぁねアリガトウやね
0213nobodyさん
04/09/20 10:56:07ID:???セキュリティを重視するなら512文字以内にした方がいい。
400文字というのはちょうど良いんじゃないかな。
0214nobodyさん
04/09/20 12:12:34ID:???too muchなんだよ。
以前、512文字設定で突破されたことがある。
メジャーな曲だったので反省している。
256文字程度でマイナーな曲に限る。
0215199
04/09/20 12:57:42ID:???0216nobodyさん
04/09/20 13:07:24ID:???認証される文字列が256辺りになると、
トラッキング側でノイズ起因のエラーが起こる為に
セキュアであると言えると思う。
0217nobodyさん
04/09/20 13:43:29ID:???そういえば、セッションIDって32文字だよね。
32文字だといつハイジャックされるか不安です。
セッションIDをせめて256文字にすることはできるんでしょうか。
0218199
04/09/20 13:55:50ID:???0219nobodyさん
04/09/20 14:04:49ID:???0220nobodyさん
04/09/20 14:21:00ID:???0221nobodyさん
04/09/20 14:36:32ID:???0222nobodyさん
04/09/20 15:45:39ID:???0223nobodyさん
04/09/20 15:51:58ID:???そこでSSLですよ。
もしくは、セッション開始時にランダムな256文字の文字列生成して、
クッキーとセッション変数両方に保存して、次回のアクセスでこの二つを比べる。
あと、リモートホストをセッション変数に入れとくとか。
0226nobodyさん
04/09/20 16:41:25ID:???キーワード400文字ってのはマジなのでしょうか?
初心者対象スレなんでネタならネタとわかるような書き方にして欲しい。。。
0228nobodyさん
04/09/20 16:46:43ID:???お前基準かよ
0229nobodyさん
04/09/20 16:55:07ID:???400文字は多すぎ。256文字以内。これ。
んで、認証時にはセッションから取り出した数式を
受け取り側であらかじめ持っていた数式と結合し、計算する。
ex. $_SESSION[key] = '256×12÷5×7000÷…(以下長いので割愛。256文字以内になるようにする事!)';
答えをあらかじめ設定しておき、
$int_a = 6548;
セッションの数式と受け取り側の数式を結合して計算した答えが$int_aになるようにしておく。
もちろんセッションの値はそのままではstrにすぎないので、×や÷で分割して数値をintに変換し、計算すること。
0230nobodyさん
04/09/20 16:55:58ID:???0231nobodyさん
04/09/20 16:57:38ID:???仮託するなよ乞食のくせに。
0233nobodyさん
04/09/20 17:03:19ID:???みんなセキュリティーに対して関心が高いんだね。
0234nobodyさん
04/09/20 17:09:55ID:???素で知らなかった…orz。
asp->Perl->PHP(先週)なのです。。ありです。。
ということは、>>229を改造して
$_SESSION[key] = '$int_key_a*$int_key_b+$int_key_c/$int_key_d-$int_key_e';
$int_a = 6578;
$int_key_a = 2;
$int_key_b = 500;
〜
if ($int_a <> eval($_SESSION[key])) {
echo '帰れ';
}
って事も出来たりするんですかね?w
今度から認証はこっちでやろうかな!w
0235nobodyさん
04/09/20 17:11:24ID:???0236nobodyさん
04/09/20 17:13:08ID:???半年ROMってろはちょくちょく見るけど。
>>230
はげ同。ドキュメントだっていくらでもあるのに・・・。
使い方“だけ”知ってる奴の異様な発想がこわい。
分からないことは誰かが教えてくれると思ってる奴は
phpじゃなくて自分自身がでかい穴になってることに
早く気づいて欲しい。
0238nobodyさん
04/09/20 17:14:50ID:???それは理解してますよー。"は変数を解釈してくれるんですよね?
ただこの場合は、一度文字列としてセッションに格納しなければいかんので
eval使わないとダメかなーと。
0239nobodyさん
04/09/20 17:16:21ID:???なんか下らねーことになってるからしばらく様子見たほうがよさそうだな、このスレ。
0240nobodyさん
04/09/20 17:17:35ID:???0241nobodyさん
04/09/20 17:18:18ID:???0242199
04/09/20 18:34:36ID:???0243nobodyさん
04/09/20 19:42:54ID:???0244nobodyさん
04/09/20 22:55:47ID:???0245nobodyさん
04/09/20 23:02:23ID:???PHP で掲示板を作っているのですが、
文章中に空行2つがでてきた場合、そこを境に違う記事として処理できるようにしたいと考えています。
そこで $mes = preg_split('/\n\n\n/', $_POST['mes1'], -1, PREG_SPLIT_NO_EMPTY); としたのですが、うまく動きません。
Unix と Mac と Win の改行文字の違いは聞いたことがあったので、この行の前に
$_POST['mes'] = preg_replace("/\r\n/", "\n", $_POST['mes']);
$_POST['mes'] = preg_replace("/\r/", "\n", $_POST['mes']);
を入れました。一応 Win では動作することに成功したのですが、力技になっているようで気が引けます。
皆さんはどうやって改行文字を処理しているのでしょうか?
0246nobodyさん
04/09/20 23:26:04ID:???explode()じゃないんだから、\n{3}|(\r\n){3}|\r{3} でいいんじゃないの?
空行2つってのはよく分からん仕様ですな。改行コードの問題も面倒だし。
あと本題と関係ないけど、質問するときに、この書き方するのは絶対止めてね。
>うまく動きません。
0248nobodyさん
04/09/20 23:29:10ID:???0249246
04/09/20 23:31:45ID:???保存時に \r\n{3}|\r{3} -> \n\n\n にしておいて、
内部的に explode() 使うほうが合理的か。
0250nobodyさん
04/09/20 23:33:28ID:???$msg = preg_replace('/(\r\n){3}|\r{3}/', "\n\n\n", $msg);
0252nobodyさん
04/09/20 23:37:29ID:???漏れも一瞬そう思ったが、どっちがいいかは分からんよ。
$_POSTを書き換えてるし、dat使うとは書かれてないからな。
0253245
04/09/20 23:50:19ID:???>>246
すみませんでした。Win で動作確認をしているのですが、この場合は空行2つが認識されず
$mes[0] に $_POST['mes'] がそのまま代入されていました。
(文中の $_POST['mes1'] は $_POST['mes'] の間違いです。重ねてすみません。)
データベースに放り込んでいるので、保存前に記事を分割して完全に違う記事として扱う仕様です。
>246さんの \n{3}|(\r\n){3}|\r{3} をそのまま使って
$mes = preg_split('/\n{3}|(\r\n){3}|\r{3}/', $_POST['mes1'], -1, PREG_SPLIT_NO_EMPTY);
で利用させていただきます。
>>246-252
ありがとうございました。
025453
04/09/21 00:28:49ID:???亀な自己解決ですが、
スクリプトの最初に、
ob_start():
スクリプトの最後に
while (ob_get_level() > 0) {
ob_end_flush();
}
がよさそうです。
http://jp2.php.net/manual/ja/function.ob-end-flush.php の投稿を
をぱくりました。
0255nobodyさん
04/09/21 08:17:03ID:RhfcLugKPerlのexists関数のようなものがあればいいのですが…
0256nobodyさん
04/09/21 08:19:41ID:???http://jp.php.net/array
0257255
04/09/21 08:27:04ID:???googleでかなり探したのですが…スンマソン
0258nobodyさん
04/09/21 08:42:24ID:???マニュアルサーチでもいいけどさ。
0259nobodyさん
04/09/21 09:08:53ID:???1)ログイン処理を行う
2)ログインに成功したら、ユニークなキーを発行してセッション変数に持たせる。
と同時にそのキーを元に一つのレコードに更新時間とIPを記録する。
3)ログインチェックでは、セッションに保持されたキーを元にDBを検索して更新時間と
IPをチェックする。チェックが通れば更新時間の更新を行う。
4)一定時間すぎたレコードはガベージコレクションする。
てな具合でいいと思われまする。
0260nobodyさん
04/09/21 09:15:48ID:???いやよくない。
0263nobodyさん
04/09/21 09:45:43ID:???0264nobodyさん
04/09/21 09:48:15ID:???0265nobodyさん
04/09/21 09:56:50ID:???正しいつもりで安心してるからだろか。俺は吐き気すんだけど変かな?
0267nobodyさん
04/09/21 10:20:02ID:???100件程度なんだけど。
0268266
04/09/21 10:26:53ID:???0269nobodyさん
04/09/21 10:43:04ID:???@-------------------------------------------------------------------------------------A
B
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C
■カウンター
@一日に10も回らない
Ayahoo並み
■件数及び取り出すデータ量
B10件程度、数文字
C数十万件、数千文字
0270軟式PHP
04/09/21 11:02:46ID:???0272nobodyさん
04/09/21 11:38:58ID:???B
|
|
|
|
|
|
|
|
| ○_○
| ⊂(・(ェ)・ )つ-、
| /// /_/:::::/
| |:::|/⊂ヽノ|:::| /」
| / ̄ ̄旦 ̄ ̄ ̄/|
| /______/ | |
| | |-----------| |
|
|
|
|
|
|
|
|
|
|
|
C
0273nobodyさん
04/09/21 11:41:05ID:???0276nobodyさん
04/09/21 11:58:58ID:???普通にreturnした時もfalseなんですね。
nullとfalseは別物だと思っていたのではまりました。
0277nobodyさん
04/09/21 12:00:20ID:???0278nobodyさん
04/09/21 13:14:55ID:8frhj/+D1年くらい前の php の時(4.2.x くらい?)の checkdate は
与える引数が空でも処理してくれたと思うのですが,今 4.3.8 で試したら
Warning: checkdate() expects parameter 1 to be long, string given in
とエラーになってしまいます.
気になっているのは PHP のどのバージョンから上記のように
checkdate の仕様が変更されたか? という事です.
もしかしたら 4.2.x の時にエラーを表示しなかった事が気のせいなの
かもしれませんが,このあたり御存知の方,いらっしゃいませんでしょうか?
0279nobodyさん
04/09/21 13:16:26ID:???header('Content-Type: image/jpeg');は必ず必要なのでしょうか?
↑これなしでもサイズ変更して保存できますか?
0281nobodyさん
04/09/21 13:37:48ID:???確かに PHP 4.2.2 あたりの checkdate() はエラーを表示しない。
PHP 4.2.3 ではエラーが表示されるので、そのあたりのバージョンで
引数のチェックを行うようになったのでは?
でも checkdate() の引数は3つで、さらにオプションではないので
引数を空にする意味があるとは思えないけど。
どうしてもエラーが表示されるのを抑制したければ、
@checkdate() とすれば良い。
0283nobodyさん
04/09/21 17:44:22ID:???判断するため
$sql = "SELECT * FROM table WHERE example = 'test'";
if (pg_query($sql)){
echo "testが含まれています。\n";
}
と書いてみたら、testが含まれているときは思い通りに
動作したのですが、testが含まれていないときも
「testが含まれています」と表示されてしまいました。
WHEREで条件を指定したとき、表示するデータが
空っぽかどうかはどうやって判断したらよいのでしょうか?
0284nobodyさん
04/09/21 17:48:37ID:vELHxRQT有名な掲示板のプログラムでクラスを使用しているものがあるのですが、
全体を一つのクラスにしているのです。
(始めにクラスではじまってプログラムの最後まで一塊)
私にはこれが良く分からず、たとえば
記事関係の処理ならNewsEditing、
投稿文の処理等ならPostEditingという
クラスで括ったほうが処理ごとに似通った操作ができるのでそのほうがいいと思うのです。
多分私が、間違ったことを言っているのだと思うのですが、
全体を括る利点を教えていただければ幸いです。
0287283
04/09/21 17:56:42ID:???pg_query($sql)をvar_dump($sql)に差し替えと言うことでしょうか。
差し替えてみたところ、相変わらず、実際に含まれていようと
いまいと「testが含まれています」と表示されてしまいます。
0288nobodyさん
04/09/21 18:01:22ID:vELHxRQTttp://shu.sub.jp/
こちらのサイトの
ttp://shu.sub.jp/xoops/modules/tinycontent/rewrite/tc_2.html
のsimplet board + が一例です。
0289nobodyさん
04/09/21 18:06:27ID:???誰も差し替えろとは言ってない
なにでもって条件判断しているのか確認してみたらといってるだけで
var_dump(pg_query($sql));
これをif文の前か後においてそれぞれの条件でどう値が変化するか確認してみたらいいさ
http://jp2.php.net/manual/ja/function.var-dump.php
0291nobodyさん
04/09/21 18:53:16ID:???たぶんPerlから移行してきた人。
スコープを明確にするためにclassを使ってるだけっぽい。
オブジェクト指向で書いているわけじゃないね。
これをオブジェクト指向のクラスの使い方とは思わないほうがいいよ。
以下、感想。
ソースは職業プログラマらしい書き方だね。
行コメントに # 使ってたり、なんかそういうの嫌な感じ。
俺はヒアドキュメントも嫌い。
0292283
04/09/21 19:02:27ID:???var_dump(pg_query($sql));
の結果はtestが含まれているかに関わらず
resource(5) of type (pgsql result)
でした。
pg_query($sql)が変化しないとなるといったい何で判断したらよいのでしょうか…
0293nobodyさん
04/09/21 19:04:19ID:???普通は、count(*) して件数が0件なら“含まれていない”
件数が0件より大きければ“含まれている”ってするのが筋じゃないか?
0294nobodyさん
04/09/21 19:10:56ID:???PHP + PostgreSQL
http://pc5.2ch.net/test/read.cgi/php/983128806/
専用スレもあるぞ。
まぁ、>293か
SELECTした内容が必要ならpg_num_rowsですね。
0296nobodyさん
04/09/21 19:28:02ID:???$sql = "SELECT example FROM table WHERE example = 'test'";
$result = pg_query($sql);
if ( pg_fetch_row( $result, 0)){
echo "testが含まれています。\n";
}
0297nobodyさん
04/09/21 19:34:50ID:???っか、それだと、「0件存在する」という結果が返ってくるので、
falseにはならんと思うが?
$sql = "SELECT * FROM table WHERE example = 'test'";
$res = pg_query($sql);
if (pg_num_rows($res) > 0) {
echo "testが含まれています。\n";
}
0298297
04/09/21 19:36:58ID:???0300nobodyさん
04/09/21 21:48:00ID:???header関数はHTTP"レスポンス"ヘッダを変更する関数です。
そして、Content-Typeってのはクライアントに返される内容のタイプを指定する。
画像を返す(表示させる)なら、適切に指定してやる必要がある。
0301nobodyさん
04/09/22 00:41:01ID:lkwJEqST<INPUT type="checkbox" name="direction[1]" value="1">西
<INPUT type="checkbox" name="direction[2]" value="2">南
<INPUT type="checkbox" name="direction[3]" value="3">北
として、どれがチェックされてるかを
for ($i = 0; $i < 4; $i++) {
if ($direction[$i]) {
処理
}
}
として調べてるのですが、
添え字0以外の値は受け取れるのに$direction[0]の値だけ受け取ることができません。
htmlかphpで制限あるのでしょうか?
そのような記述は探しても見あたらないのですが。。。
よろしくお願いいたします。
0302nobodyさん
04/09/22 00:43:40ID:???0なんで偽ですよね。。。
1時間も悩んでたのに。。。
すんませんでした。。。
0303nobodyさん
04/09/22 00:57:54ID:???頑張れ
0304nobodyさん
04/09/22 01:44:23ID:awT4KPUtfor ($i=0; $i< $match_all; $i++) {
$url = "http://dailynews.yahoo.co.jp/fc/". $item[1][$i];
$title = $item[2][$i];
$title = strip_tags($title);
echo "<li><a href=\"". htmlspecialchars($url) ."\">". htmlspecialchars($title) ."</a></li>\n";
}
echo "</ul>\n";
ヤフートピックを書き出すコードらしいんだけど、URLをこれを新しいウィンドウで開くようにするにはどうすればいいの?
0305ぼるじょあ ◆yEbBEcuFOU
04/09/22 01:56:47ID:???0306nobodyさん
04/09/22 04:38:01ID:aBxduLG0「ダイエー本社とダイエー球団の命運にかかわらず、来季(05年)2リーグ12
球団以上を約束する、と渡辺恒雄会長が明言しない限り、私(わが社)は読売
新聞を購読・購入しません」
が1万通以上届かない限り、あの傲慢な渡辺がこんなコメントを出すことは
ないだろう。
が、「大読売」と「インターネット」と、メディアとしてどっちが強いのか、
いっぺん試してみる価値はあるのではないか。米国では、インターネット上
で「イラク戦争反対」を唱えるblog(ブログ、簡易型ホームページ)同士が
コメントを投稿し合ってリンクで結び付き、「反戦」以外にさしてとりえ
のない、マスコミが軽視していた泡沫候補、ハワード・ディーン前バーモ
ント州知事を、03年後半の一時期とはいえ、米民主党の大統領候補指名争
いのトップに押し上げた、という例もある(このため米国ではblogは、日本
のように「個人の日記」としてではなく、市民運動の手段として知られて
いる。産経新聞04年3月6日付朝刊21面「正論」)。
この種の運動で効果をあげるには、大勢の参加を容易にするため作戦を
シンプルにしたほうがいい。「桶狭間の奇襲戦」と同様に、標的は1つ(読売
の渡辺)に絞り、宮内のような雑魚は攻撃対象から除外し、抗議メールの宛先
もmailto:webmaster@yomiuri.co.jpに絞るべきだ。
0307nobodyさん
04/09/22 05:53:16ID:awT4KPUtできました。こんなんも知らないですんせん。
それにしてもN速で見たようなHNだ・・・
0308nobodyさん
04/09/22 06:47:49ID:GcmfNcfjApacheのServerTokensをProductOnlyにしました。
これでヘッダにApacheのバージョンは出なくなりましたが
X-Powered-By:
でPHPのバージョンがばればれです。
これを表示しないようにする方法があれば教えてください。
0309308
04/09/22 06:57:52ID:???で解決できました。すみません。
0310カポコン
04/09/22 07:49:51ID:???<INPUT type="checkbox" name="direction[1]" value="1">西
<INPUT type="checkbox" name="direction[2]" value="2">南
<INPUT type="checkbox" name="direction[3]" value="3">北
は
<INPUT type="checkbox" name="direction[]" value="0">東
<INPUT type="checkbox" name="direction[]" value="1">西
<INPUT type="checkbox" name="direction[]" value="2">南
<INPUT type="checkbox" name="direction[]" value="3">北
で、結果を配列として返してくれる。
0311nobodyさん
04/09/22 09:57:12ID:???0313nobodyさん
04/09/22 11:07:11ID:???0314nobodyさん
04/09/22 11:11:00ID:???0316TT
04/09/22 11:26:39ID:uEBfdSm6mail(): SMTP server response: xxx x.x.x Client was not authenticated
というようなエラーになってしまいます。
ちなみにphp.iniの
SMTP
smtp_port
sendmail_from
の値はそれぞれ指定してあります。
何か、クライアントの認証のために追加で設定しなくてはならないことが
あるのでしょうか?
初心者のため、どなたかお分かりになる方がいらっしゃいましたら
教えていただけると幸いです。
よろしくお願いします。
0317nobodyさん
04/09/22 11:31:26ID:ldZoAcj3それはSMTPサーバが稼動してる環境なんだよね?
0318nobodyさん
04/09/22 11:39:15ID:GcmfNcfj文字コードにEUCを使っているなら、
単純に"を\"にリプレースするだけで問題ないですか?
2バイト目に"と同じ文字コードが来る文字があると、
問題出てくると思うのですが。
0319nobodyさん
04/09/22 11:59:03ID:???いくつかのデータを入力(*1)して、
入力の度にいくつかのフィルター(*2)でチェックして、
エラーがある物は再入力/訂正(*3)
というプログラムにしたいのですが。
とりあえず、*1をメインルーチンとして、*2や*3を
別のファイルにしてincludeする形で書いてみたのですが、
これだと長いメインルーチンの一部を別ファイルに書き出した
だけで、フィルターの変更や追加をしたい時に保守性が悪そうです。
OOPとしてサブルーチンをまとめるにしても、
*1のデータをオブジェクトにして、
*2のフィルターもオブジェクトにして・・・って
いうのはなんか変なような気がして、困っています。
変更され得る大量のフィルターが必要なプログラム、
PHPではどのように書くと良いか、教えて頂ければ幸いです。
0320nobodyさん
04/09/22 12:32:09ID:???文字コード関係ないよ。
>>319
入力データをメンバ変数として、
フィルターをメンバ関数として使うのが普通じゃないのかな。
0321nobodyさん
04/09/22 12:33:15ID:???オレなら2のフィルタをクラスにまとめると思う。
データチェックのパターンが増えたら
メソッドを追加するようなやり方するかな。
適当すぎかね・・・?教えてエロい人。
0322318
04/09/22 12:35:20ID:???文字コード関係なく、
htmlspecialcharsするんですね。
0323nobodyさん
04/09/22 12:46:57ID:???初心者のくせにかなり失礼だな。
0324nobodyさん
04/09/22 12:49:04ID:???普通に考えると、そうですよね・・・。私もそう思ったのですが。
クラスの定義は、複数のファイルに分けられませんよね?
フィルターは大量(簡単な物から複雑な物まで)になりそうなので、
定義部分がとても長くなりそうです。
そこで、メソッドの変更って事になると、長大なソースの中の
一部を書き換えると言う事になり・・・それもまた、大変そう。
ファイル1つにフィルター1つ、くらいが見やすいかな。
でも、今の>319のやり方(includeで読み込む)だと、
カプセル化されてないのがダメ(データ型の変更に弱そう)。
なにとぞ、何か良いお知恵をお願いいたします。
0325nobodyさん
04/09/22 13:00:12ID:???良くわかってないみたいだから
<html><body>
<?php
print("<span id=\"a\">this is \"a\" test</span><br>");
print('<span id=\"a\">this is \"a\" test</span><br>');
print(htmlspecialchars("<br>\n"));
print(htmlspecialchars('<br>\n'));
?>
</body></html>
これ試してページのソース見比べてごらん。
>>324
そのためのextendsじゃないのかなあ。
0326nobodyさん
04/09/22 13:42:33ID:???入力データとチェックの性質にもよるので適切かどうかは不明
class SimpleFilter {
function checkIsOK($input_data) {
...;
}
}
class BigFilter {
function checkIsOK($input_data) {
...;
}
}
class DeluxFilter {
function checkIsOK($input_data) {
...;
}
}
$filterObjects = array();
$filterObjects[] = new SimpleFilter;
$filterObjects[] = new BigFilter;
$filterObjects[] = new DeluxFilter;
for ($filters as $filter) {
$filter->checkIsOK($inData) or DO_INPUT_AGAIN();
}
}
echo "check is ok.";
0327326
04/09/22 13:44:50ID:???for ($filters as $filter) {
$filter->checkIsOK($inData) or DO_INPUT_AGAIN();
} // ← このブレースは削除してください。
}
0328nobodyさん
04/09/22 14:09:33ID:???extendだと、フィルターの改定毎にextendする事になりませんか?
class 平成16年のフィルタ extends 元のフィルタ{
...
}
class 平成17年のフィルタ extends 平成16年のフィルタ{
...
}
class 平成18年のフィルタ extends 平成17年のフィルタ{
...
}
...みたいに。
でも、こうやって書いて見ると、それが正しいような気がしてきた。
で、class毎にファイルを分ければ、年度毎の変更点は分かりますね。
>>326,327
なるほど。そのやり方も奇麗になりそうですね。
0329nobodyさん
04/09/22 14:21:50ID:???------------------------------
define("USE_FILTER", 1);
$clsFilter = null;
switch( USE_FILTER )
{
case 1:
$clsFilter = new 平成16〜;
break;
case 2:
$clsFilter = new 平成17〜;
break;
case 3:
$clsFilter = new 平成18〜;
break;
}
/*フィルタ使用*/
$clsFilter->function();
0330nobodyさん
04/09/22 15:11:38ID:shVA5n05$subject = "件名:秩父の秋";
$msg = "メールの内容秩父の秋はなんたらかんたら";
$header = "色々";
mail($mail, $subject, $msg, $header);
↑これを実行すると、相手の$subject(件名)の内容が文字化けて届くんですけど
どのようにしたら、文字化けせずに件名が届くようになりますか?
0331nobodyさん
04/09/22 15:14:36ID:???前の年のフィルタの一部を利用するならそうならなくもない。
ただ、親クラスがどこなのかわかりづらくなって、美しくないのであまりお勧めはできない。
abstructかinterfaceをひとつ用意して、各フィルタはバージョンごとにそこから派生させるのを基本としたほうがいい。
どうしても必要なら、孫ぐらいは仕方ないかもしれないけど。
あと、前年フィルタのうち次に持ち越されると部分が必ずあるなら、 構造解析からやり直したほうがいいかもな。
0333331
04/09/22 15:30:35ID:???ちなみに>328のやり方
class FilterFolder {
var $element;
function FilerFolder(){
$this->element = array();
function attach($filer){
$this->element[] = $filer;
}
・・・insertとかdeleteとかメソッド・・・
function checkIsOK($inData){
for ($this->filters as $filter) {
$filter->checkIsOK($inData) or return false;
}
return true;
}
}
とかやっておけばOOPらしいかな。
0334nobodyさん
04/09/22 15:39:46ID:???326とかのコードをコピペした部分があるとは思うんだが、
もうちょっとコードを丁寧に書いてくれないと分かりづらい。○| ̄|_ i|||
0335質問しなおします。
04/09/22 15:40:26ID:shVA5n05$subject = "件名:秩父の秋";
$msg = "メールの内容秩父の秋はなんたらかんたら";
$header = "色々";
mail($mail, $subject, $msg, $header);
↑これを実行すると、相手の$subject(件名)の内容が文字化けて届くんですけど
どのようにしたら、文字化けせずに件名が届くようになりますか?
ただし、mb_send_mailを使わずに
>>332
mb_send_mailのことですよね?
それが、mb_send_mailは使えないみたいなんで。お答えありがとうございます
0338nobodyさん
04/09/22 16:42:59ID:???未だにHTMLでのHPが多いのは何故ですか?
PHPは人気がないのですか?使いにくい?知られてないのか
何か理由がありますか?
0343nobodyさん
04/09/22 16:49:04ID:???HTML に偽装してるとか裏でアプリ動かしてるとかは考えないのか?
例えば HTML 形式 ならブラウザのキャッシュが殆ど自動的に働くが
PHP でキャッシュを効かせられるような、ちゃんとしてる奴はあんまりいないんじゃないかな
HTTP ヘッダについてしっかり学ぶ必要もある。
0344nobodyさん
04/09/22 16:55:03ID:???>>1にあるPHPマニュアルで
http://www.php.net/FAQ.php
とかは、何故拡張子がphpなんですか?
htmlで作ってるのに、phpとは理由があるのですか?
0345nobodyさん
04/09/22 17:01:10ID:???んだから、そのページが静的に作られてると判断した理由はなあに?
.php なページをブラウザで表示してソースを見ても <?php 〜 ?> はないよ。
0347nobodyさん
04/09/22 17:03:48ID:???根本的なところから勉強した方がいい。
htmlのコンテンツの生成にPHPを使ってるんだよ。
ただ毎回生成するのがいいのか、別のタイミングで事前に生成しておくのが良いのかは
それぞれのシチュエーションによって異なる。件のページはphpのデモンストレーションの
意味合いもあって動的生成。
あと拡張子がhtmlだから動的生成ではないとか、逆にphpだからphpを使ってるとは限らない。
設定の仕方でいかようにも。そこらのサイトなんかだと本当のことは中の人しか判らない。
0348nobodyさん
04/09/22 17:13:32ID:???0349ぼるじょあ ◆yEbBEcuFOU
04/09/22 17:15:56ID:???0350nobodyさん
04/09/22 17:19:51ID:???知らなかった…
すこし関心した
0351nobodyさん
04/09/22 18:09:14ID:Spt3uBKt必須項目に入力されているかどうか,
数字のみフィールドに対して数字以外が入力されているかどうか・・・
等々を判断してくれるような汎用ライブラリとかはありませんか?
自分でつくろうとしたんですが,radioやcheckboxやselectなど面倒くさくなったのです・・・
0352351
04/09/22 18:16:58ID:Spt3uBKt追加なのですが,レンタルサーバなもので
PEARのHTML_QuickFormなどは使えないのです・・・
単純にrequireして使えるライブラリやクラスが理想なのですが.
0353nobodyさん
04/09/22 18:23:31ID:???単体で色んなのやフレームワーク独自のがあるけど
有名どころだとPEARのHTML_QuickForm
http://pear.php.net/package/HTML_QuickForm
0355351
04/09/22 18:28:29ID:???ありがとうございます!PEARって使えるんですね!
色々彷徨っていて
ttp://lfsmart.itbdns.com/
↑のような良さそうなのも見つけたんですが,
とりあえずリソースの多そうな HTML_QuickFormから
チャレンジしてみます.
0356nobodyさん
04/09/22 19:25:15ID:???0357nobodyさん
04/09/22 19:30:16ID:???0358nobodyさん
04/09/22 19:35:41ID:???PHPの本を出版だー
0361nobodyさん
04/09/22 19:57:29ID:???「こんなスクリプト組んでみたんですけどどうですかね?」
「へー、ゴキゲンだねぇ」
0362nobodyさん
04/09/22 20:04:55ID:WbLCczlE0363nobodyさん
04/09/22 20:10:01ID:???0364TT
04/09/22 21:10:03ID:wzCQpIRe>317さん
自分のPC上のローカルサーバーでテストをしていて、普段E-メール送信に
使っているSMTPサーバ名やポート番号をメールソフトのプロパティから
拾ってきてphp.iniに記述したんですけど。。。
普段自分のPC上のメールソフトからメール送信はしてるので、SMTPは稼動
してる環境だとは思うんですが・・・
0365nobodyさん
04/09/22 21:41:19ID:???0366nobodyさん
04/09/22 22:10:34ID:???>SMTPサーバ名を拾ってきてphp.iniに記述
は変じゃないの。ローカルのpathを記述でしょ。
リモートのSMTPを使いたいならPHPMailerとか使わないと
mail関数だと今のところ出せないと思うけど
0368nobodyさん
04/09/22 23:20:41ID:???0369nobodyさん
04/09/23 01:40:26ID:???0370TT
04/09/23 02:45:45ID:wbKSUi7Yすみません、使用OSはWindows2000です。失礼しました!
マニュアルをもう一度確認してみます。
0371カポコン
04/09/23 03:59:06ID:???大きな動きになるよな。。。次に出るのはなんだろうか?
0372二階堂面一
04/09/23 04:50:35ID:loTaUpM/開発環境はWindowsXP HOME、使用サーバはレンタルサーバ(PHP 4.3.8)です。
簡単にフォーム送信プログラムをイチから書いて動かしてみました。
フォームから受けた内容をそのままstripSlashes()でクォートを消して
mail()で送信してます。
Windowsの一般的なメーラー(Outlook Express、Eudora、Becky!)や
Macintosh(OS9系)の一般的なメーラー(Outlook Express)では問題は起きませんが、
Macintosh(OS9系)のEntourageのみ、件名・本文が空白になってしまいます。
誰かこの事象に対するTIPSをお持ちではないでしょうか。
よろしくお願いしますです、押忍!
0374nobodyさん
04/09/23 07:15:06ID:???Mac OS9.2.2 で、PHPのローカルテストをしたいのです。
ですが、検索しても出て来ません。
同じ環境の方はどうやってローカルでPHPを動かしているんですか?
0375nobodyさん
04/09/23 07:18:18ID:???0377nobodyさん
04/09/23 10:10:38ID:???0378nobodyさん
04/09/23 10:31:29ID:???0380nobodyさん
04/09/23 12:29:45ID:3TpzK2e01)AファイルのコピーtmpAを作成してそこから1行づつ読み込みループ
変更しない場合はそのままAファイルへfgets
変更する場合は文字列処理してAファイルへfgets
仕上げにtmpAを削除
2)file(Aファイル)で一発読み込み
配列ループで変更する場所だけ文字列処理
Aファイルへ一発出力
処理速度やらメモリ効率やらなんやらでどっちがええやろか
まぁファイルサイズにもよるとは思うんけどファイルは1行60バイト前後で300行前後やね
0381nobodyさん
04/09/23 12:30:40ID:3TpzK2e00383nobodyさん
04/09/23 14:07:17ID:???どちらが良いとは一概に言えない気がする
0384nobodyさん
04/09/23 14:16:20ID:cIuxyfdR藤という漢字だけではないのですが、
特定の文字が化けます。
何がいけないのでしょうか?
$test = '藤';
echo "{$test}<br>"; //正常に表示される
$test = mb_convert_encoding($test,'EUC-JP','auto');
echo "{$test}<br>"; //?に化ける
0385nobodyさん
04/09/23 14:56:06ID:???単に文字エンコーディングの検出に失敗しているだけじゃないの?
mb_convert_variablesの説明にもあるが、短い文字列では
エンコーディングの検出があやふやになるのは仕方が無いこと。
解決するには、(解決になってないが)文字エンコーディングを明示するか、
もっと長い文字列を与えるしかない。
0386nobodyさん
04/09/23 15:52:26ID:???0387nobodyさん
04/09/23 16:03:44ID:???0388nobodyさん
04/09/23 16:14:58ID:+Z5r+lqeです。
.htaccessにて
php_flag register_globals on
をやったのですが、internal server error 500
になってしまいます。
CGI版は.htaccessは効かないのでしょうか
0389nobodyさん
04/09/23 16:50:26ID:???覚えたきっかけ。覚えて得をしたこと。損をしたこと。
などなど、少し聞かせてください。
0390nobodyさん
04/09/23 17:02:32ID:???0391nobodyさん
04/09/23 17:12:05ID:???0392nobodyさん
04/09/23 17:17:40ID:???0393nobodyさん
04/09/23 17:53:01ID:???0394軟式PHP
04/09/23 18:04:20ID:???0395nobodyさん
04/09/23 18:22:46ID:???どうやって取り掛かったのか
本?WEB?
0396nobodyさん
04/09/23 18:55:12ID:???0397nobodyさん
04/09/23 20:18:17ID:???0398nobodyさん
04/09/23 20:22:27ID:???0399nobodyさん
04/09/23 20:33:22ID:???0400nobodyさん
04/09/23 20:33:28ID:???0401nobodyさん
04/09/23 20:58:32ID:???想像通り効かない。この機会にマニュアルも嫁。
suexecなどでCGI版使わせる場合だと、ユーザ毎にphp.iniが使えるように
インストール時にphpを設定するのが普通。
0403nobodyさん
04/09/23 23:01:52ID:cIuxyfdRアドバイスどうもです。
みなさまのおっしゃるとおりぽいです。
一文字はやはりだめぽい上に、
autoも怪しいところでした。
その辺考慮してもうちょっと考えたいと思います。
ありがとうございました。
0404nobodyさん
04/09/23 23:29:52ID:???1分に1回更新されるファイルとかだったらどうする?
それもリモートのサーバに定期的にアップロードされてるものとか。
エディタのマクロの方が良い場合もあれば、スクリプトで対応した方が良い
というか、エディタではできない場合もあろう。
0405nobodyさん
04/09/23 23:32:34ID:???0406nobodyさん
04/09/23 23:49:20ID:???0407nobodyさん
04/09/24 00:00:12ID:???セッションを使うとtmpフォルダの中にファイルが作成されると思うのですが、
これはどうやって消すのでしょうか。。
厨な質問だと思うのですがよろしくお願いいたします。。
0408nobodyさん
04/09/24 00:01:21ID:???0409nobodyさん
04/09/24 00:05:51ID:???session.gc_probability
session.gc_divisor
session.gc_maxlifetime
あたりを読むと分かるかも。
一定の割合で勝手におそうじされます。
0410nobodyさん
04/09/24 00:12:59ID:???レスありがとうございます。
マニュアル嫁!な、質問でしたね。。
大変申し訳有りません。
でも助かりました。
ありがとうございました。
0411nobodyさん
04/09/24 00:16:20ID:???永続化情報とフローの中間を橋渡すだけだから、自分でガリガリ消してもいいんだろうけど。
0412nobodyさん
04/09/24 05:18:15ID:???0413nobodyさん
04/09/24 12:30:26ID:5Uv+a+mr自分の場所(クラス名、メソッド名)を知る方法があれば
教えてください。
0415nobodyさん
04/09/24 13:04:57ID:MeFHTXD30417nobodyさん
04/09/24 13:08:24ID:???0418nobodyさん
04/09/24 13:18:16ID:???0419nobodyさん
04/09/24 13:42:48ID:???0421nobodyさん
04/09/24 13:51:32ID:???0422nobodyさん
04/09/24 13:57:20ID:???0423nobodyさん
04/09/24 14:01:20ID:SN/xJ/fP現在地習得システムでつ
位置確認サービス
0424nobodyさん
04/09/24 14:16:01ID:???使用頻度が高いのでおながいします
0426nobodyさん
04/09/24 14:34:44ID:???0427nobodyさん
04/09/24 14:41:53ID:???0428nobodyさん
04/09/24 14:44:05ID:???0429423
04/09/24 16:08:40ID:/JTUfIoi0430nobodyさん
04/09/24 16:16:49ID:???>>413
マニュアル嫁
http://www.php.net/manual/ja/language.constants.predefined.php
0432nobodyさん
04/09/24 17:25:01ID:B4B1YB/Qsession_destroy();
こんなんもあるけどだめ?
0433nobodyさん
04/09/24 18:24:39ID:???>>423が欲しがってるような関数もあるだろう。
iya_genzaitisyutokusisutemu_detu()関数を使え。
ちなみにyahooBBの個人情報を取得するするには、get_500yen()関数を使えば良い。
0434nobodyさん
04/09/24 18:27:36ID:???だとしたら、bbs_2ch()関数で2ch風掲示板が出来上がるのか。
PHPって便利だね。
0435nobodyさん
04/09/24 18:30:12ID:???今一面白くないな
0436nobodyさん
04/09/24 19:08:29ID:???0437nobodyさん
04/09/24 20:04:07ID:???今、一面白くないな
0438nobodyさん
04/09/24 20:05:16ID:???それではファイル自体は消えないぞ。
0439nobodyさん
04/09/24 20:34:25ID:B4B1YB/Q消し残しの削除ってことだったのですな。
申し訳なかった。
その時その時のセッションかと勘違い。
0440427
04/09/24 20:52:14ID:???一昔前は、セッションといえばPHPLIBで、
本でも扱われているのが多い(多かった)よね。
「PEARは仕様が確定してないから」とかで
敬遠されてたような気がするんだけど。
それに、PHPLIBにはウィッジェットもあって
便利だと思うんだけど・・・。
0441nobodyさん
04/09/24 22:07:34ID:???Perlならあったはず・・・?
0442nobodyさん
04/09/24 23:02:12ID:???違うセッションで管理したいんだけど
PHPのバージョンは4.2.2だったりするから古くて困るけど
セッションをクッキー使わずに管理してるときは
ちょっと強引だけど$_POSTや$_GETからPHPSESSIDを
session_startする前にunsetすればいいけど
クッキー管理してるときはどうしたらいいのかな
0443nobodyさん
04/09/24 23:03:32ID:???まず漏れ。
京ぽんGPSのページがcgiだからw
0444nobodyさん
04/09/24 23:12:07ID:???PがついてるからPHPかPelでできると思ってるとかw
0445うずまら( 'A`)ノI ◆2Gex/8ct1s
04/09/24 23:15:22ID:Ch62ESQv¶¶¶゜ .¶″ .. ¶
¶¶¶¶¶ ¶´ :.. .¶l¶¶¶¶
¶¶¶¶¶¶ .¶ .... ¶ ¶¶¶¶¶
¶ :、 i、 : .: . .i¶ ¶¶¶¶
¶¶ ,| : ,、 : : リ .il: ..,,i´ ` .. ,¶ ¶¶¶¶
¶¶ ..l’ ,,l゙^;,.,,i´` ,イ.』.,l゙ ¶¶¶¶¶ ¶´ ¶¶
¶¶¶¶¶ :l,,iill,,,,,,,,ll,,il` ,,,i″.,l,ll,,,,,,,,,,,,ll: : : .¶: ¶¶
: : l,: : ¶¶¶¶!゙゙゙゙゙゙¶¶¶,.: ll゙: ,ill!l゙゙゙~゙゙゙゙!¶l, : ,¶¶ み
: .'ll: 、.¶¶¶¶◎._::,,l゙’: : .:l,,,,,,◎,,`.¶¶ ,,i¶¶
,r.、:ll、.,ll: : .,l: .゙“゙゙゙゙゙° : `″ ..,l、.i、 ,:¶¶¶
._,llト: : ll::,l゙ll丶ll° ,===l・,r .,,ill!| :il゜,,ll゜ ¶:
: .,,,ll゙° .「,l’ |: ,l!゙':丶 l!゙ .,i! : .,r゙°".,l:,.,lll゙ ¶¶
,::° : °l゙::'l゜.: ._ ,,liぁ ..,,,,, l,liili、、,,,,,l ¶¶° ¶¶
:,l`: : :llll゙゙゙゙゙゙ll゙゙゙゛丶 `: : ,Z`li: : : :”~”゚゙゙゙`':`。 ¶
0446nobodyさん
04/09/24 23:26:54ID:???http://www.google.co.jp/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&oe=Shift_JIS&c2coff=1&q=%81%9F2Gex%2F8ct1s&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
真正厨房か?
0447nobodyさん
04/09/24 23:31:03ID:???image関数のgetimagesizeを使ってSWC形式のサイズを取得しようと思ったのですが、何故かfalseが帰ってきてしまいます。
SWF形式は正常に取得でき、zlib圧縮関数も導入してあります。
PHP4.3.8では正常に動くので、PHP5.0.1のバグの可能性もあると思うのですが
ご存知の方がいらっしゃいましたらよろしくお願い致します。
0448nobodyさん
04/09/24 23:32:24ID:???PHSと間違えてんじゃね?
たしか昔PHSと間違えて書き込みした奴がいたような。
でもPHSってGPS機能付いてたっけか。。?
0449nobodyさん
04/09/24 23:37:20ID:gRGLb/8yformから画像をアップロードした場合、ファイルタイプを判別するには
どうすればいいでしょうか?
>>63さんが「gettype」と書かれているのがヒントだと思うのですが…
画像ファイルは、formにて「name="send_img"」として送信しています。
で、「echo gettype($_POST['send_img']);」とすると、
「string」と返ってきます。
また、直接「echo $_POST['send_img'];」とすると、
「C:\WINNT\TEMP\php77.tmp」と返ってきます。
php77.tmpは一時ファイルだと思うのですが、
php77.tmpから「image/jpeg」などと判別させることは可能でしょうか?
もしくは、アップロードしたファイルからファイルタイプを判別する方法を教えて頂けませんか?
0450449
04/09/24 23:48:23ID:gRGLb/8yecho $_FILES['send_img']['type'];
とすると、タイプが返ってきました。
スレ汚し失礼しました。
0451nobodyさん
04/09/24 23:50:51ID:???端末によりページを変えるにはどうすればよいでつか?
0453nobodyさん
04/09/24 23:58:37ID:???0454nobodyさん
04/09/25 00:01:03ID:???0455nobodyさん
04/09/25 00:03:00ID:???0456nobodyさん
04/09/25 01:54:46ID:???亀レスですまんが、ありがとう。
<?php echo "<?xml ...?>"; ?> をやっちゃうとそれがXML文書じゃなくなっちゃうので困ってました。
short_open_tag = Off でいきます。
ありがとうございました。
0457nobodyさん
04/09/25 02:02:53ID:???ケータイ側のアプリも併用してる場合は、一応テストするけどね。
メンテ工数には入ってないから、要望があればだけど。
まあ実機テストも限度があるので元々既存の機種でもそんなに揃えてやってない。
本テストで自分ならパケ死するぐらいの金額逝った…それを何台もはちょっと
0458457
04/09/25 02:07:34ID:???そもそもケータイ用のがあるのかも知らないんだけど、一般電話回線用のは昔導入して使ってた。
0459nobodyさん
04/09/25 02:18:40ID:???0460nobodyさん
04/09/25 02:19:23ID:???ケイタイのみってのはapacheの設定で、ホストでキルのがベスト。
端末ごとの判断はUserAgentか、HTTPヘッダ(x-jphone-msnameとか)
>>457-458
うちはオープン前に全機種チェックするぞ。時間いくらで借りられるとこあるし、
公式サイトでボダEZなら端末センターで無料で使えるし。
0462nobody
04/09/25 05:26:25ID:???現在、インデックスリストを表示するやつを組んでます。
dir() に日本語表記のフォルダ読ませるにはどうしたらよいのでしょうか…。
さっきから色々試してるけどもう限界…
0464nobodyさん
04/09/25 05:36:18ID:???なんの工夫もなく読めますが。
文字コードで躓いてるのかもしらんが、
環境も処理も書かないアホは死んだ方がいいんじゃない?
0468nobodyさん
04/09/25 07:38:30ID:???0469nobodyさん
04/09/25 07:40:34ID:???0470nobodyさん
04/09/25 08:04:23ID:???>>460
これだけ揃えれば完璧
ttp://image.itmedia.co.jp/mobile/articles/0409/10/l_300_1.jpg
でも壮絶
047112
04/09/25 10:06:38ID:???>>14
ありがとう。ようやくインストーラがでけた。
package.xmlの書き方がいまいちわからんが、ライブラリファイルをコピーするだけだからなんとかなった。
これからインストーラつくるひとはここらへんを読め。
http://www.1x1.jp/php/manual_pear/developers.packagedef.html
http://www.phpexamples.net/pearman/developers.packagedef.html
0472nobodyさん
04/09/25 10:23:16ID:???キャスト演算子があるのはなぜなんですか?
0473nobodyさん
04/09/25 10:32:08ID:???0474nobodyさん
04/09/25 10:42:09ID:???0475442
04/09/25 12:34:18ID:???0476軟式PHP
04/09/25 12:45:15ID:???0477nobodyさん
04/09/25 12:54:34ID:???0478nobodyさん
04/09/25 13:00:13ID:???0479軟式PHP
04/09/25 13:06:54ID:???0480nobodyさん
04/09/25 13:58:56ID:???正直いって他の人と同様やりたいことがわかんねぇよ。
(他の人は判ってんのかも知んないけど)
session_destroy→session_id(NewID)→session_startってことか?
0482nobodyさん
04/09/25 14:35:49ID:???違う
AというページからBというページにtarget="_blank"でリンクして
BのページとAのページとで違うセッションを持ちたい ということ
デストロイするとAのページで持っていたセッションも破壊されるので
だめだよ
0483nobodyさん
04/09/25 14:38:52ID:???このセッションID名のようなものを自分で生成したいと思ったら
どうしたらいいかな?32文字の0〜fを羅列すればいいだけ?
0485nobodyさん
04/09/25 15:13:48ID:???1.PHPLIB使って認証してるページのフォームボタンから
JavaScript経由で別ウィンドウを呼び出し
(その別ウィンドウは認証やセッションをしない)
2.その別ウィンドウを閉じる
3.元ページを操作(submit)すると再認証を要求される
という流れがあって、はて?と思ったら、元ページにアクセスする際
(当然最初だから認証画面が出てくるわけだが)、
ブックマークから飛ぶと上記の再認証は発生しないのだが、
別ページのリンクから飛ぶと上記の再認証が発生するという現象に
出くわした。
これについて何故そうなるのか教えていただける人いますか?
ブラウザはIE SP6です。
0486nobodyさん
04/09/25 16:39:45ID:???乱数を種にユニークなIDでも生成して、そのMD5ハッシュ値でも取る。
中でも同じようなことやってた筈。
>>482
ならば session_destroyはしないで、session_id(NewID)→session_start
とすれば良いだけ。後で戻る時に元のIDを返してやるように保持しとかんと駄目だけどね。
つか、そんならsession_name使って別セッション名でパラに持った方がすっきりするんじゃないのか。
0487nobodyさん
04/09/25 17:25:50ID:???ob_start("mb_output_handler")を使っています。
この場合、最後にob_end_flush()をコールしてもしなくても
同じ結果になると思っていいでしょうか。
0489nobodyさん
04/09/25 19:51:01ID:???0491nobodyさん
04/09/25 23:20:01ID:???一定時間内に一定回数以上のアクセスがあったIPアドレスからのアクセスを
一定時間制限するようなページってできますか?
0492nobodyさん
04/09/25 23:20:35ID:???0493nobodyさん
04/09/25 23:21:42ID:???どこかに出来合のモノがありますか?
0494nobodyさん
04/09/25 23:22:51ID:???それもできますでしょうか?
0495nobodyさん
04/09/25 23:24:12ID:???PHPを通してアクセスするような感じにしたいです
0496nobodyさん
04/09/25 23:28:39ID:???0497nobodyさん
04/09/25 23:30:06ID:???要求にあった拡張機能(モジュール)を探して使え。
現在のところ349個あるらしいから大抵は見つかるだろう。
http://modules.apache.org/
モジュールが見つからない場合は自分で作れ。
そして一生メンテナンスしろ。
これでOK?
0498nobodyさん
04/09/25 23:34:28ID:b9Ydmcot0499nobodyさん
04/09/25 23:38:27ID:b9Ydmcot使えるものを知りませんか?
モジュールを作るのは大変そうです
一生メンテナンスする人っていますかね?
0500nobodyさん
04/09/25 23:53:27ID:???0501nobodyさん
04/09/26 00:01:39ID:???0502カポコン
04/09/26 00:39:51ID:???0503nobodyさん
04/09/26 01:25:20ID:xki5KZNu実行すると
Fatal error: Call to undefined function: () in ****.php on line 8
というエラーが返ってきます。
どうも最後の行に問題があるようですが、どうしても解決できません。
何がだめなのでしょうか?
<?php
$local_file = 'http://www.****.com/test.gif';
$remote_file = '/public_html/';
$ftp = ftp_connect('ftp.****.com');
ftp_login($ftp, '$id', '$pass');
$ftp_put ($ftp, $remote_file, $local_file, FTP_ASCII);
?>
0504nobodyさん
04/09/26 01:28:11ID:???↑
0505カポコン
04/09/26 01:47:53ID:???ネガティブ?<?=NEGATIVE_SIGN?>
0506nobodyさん
04/09/26 02:15:15ID:???しかもたったの8行で
漏れは1行でも英語の文法ミスるが
0507nobodyさん
04/09/26 02:33:46ID:???> ftp_login($ftp, '$id', '$pass');
これじゃ>>504の指摘してるミスがなくても動かない。
一重引用符は内容を解釈しない。
0508503
04/09/26 02:34:02ID:xki5KZNuわいはあほや〜
わいはあほや〜
0509nobodyさん
04/09/26 02:48:43ID:???0510nobodyさん
04/09/26 08:32:50ID:???0511nobodyさん
04/09/26 10:02:15ID:???0512nobodyさん
04/09/26 11:06:37ID:???0513nobodyさん
04/09/26 11:27:08ID:???∩( ´Α`)< FLASHからPHPを読み出して、リアルタイムでFLASHを挙動させたいんです!
∩( ´Α`)< そんなことは可能なんでしょうか!?
∩( ´Α`)< つまり、誰かとリアルタイムでネット対戦とか、そういう感じです!
0514nobodyさん
04/09/26 11:39:24ID:???0516nobodyさん
04/09/26 13:08:33ID:???∩( ´Α`)< 先生!早速やってみました!!
∩( ´Α`)< HTTPは、HyperTransferProtocolの略であります!!
∩( ´Α`)< HTTP は 1990年から存在するようになりました!
∩( ´Α`)< 現時点のHTTPはRFC2616で定義されています!http/1.1です!!
∩( ´Α`)< HTTPは、共同的ハイパーメディア情報配布システムのためのものです!
∩( ´Α`)< そして、先生!HTTPは、ポート80を標準として使用します!
∩( ´Α`)< HTTPは、WebブラウザとWebサーバの間での通信プロトコルであります!
∩( ´Α`)< ちなみに、通信プロトコルとは、ネットワーク上での通信の規約の事です!
∩( ´Α`)< 通信プロトコルは、大きく分けて7層に分かれています!
∩( ´Α`)< 物理層、データリンク層、トランスポート層や、アプリケーション層等です!
∩( ´Α`)< ちなみに、先生!HTTPの場合、第7層のアプリケーション層に含まれます!
∩( ´Α`)< 第7層には、FTPや、POP3、SMTP等もあります!
∩( ´Α`)< 先生!今回このレポートを書いて、インターネットの色々な事がわかました!
∩( ;´Α`)< 先生!先生!でも、ごめんなさい!!殆どWikiPediaで調べました!
∩( ´Α`)< 先生!先生!何か、罰をください!
∩( ;´Α`)< 先生!先生!先生!もう32行なのでかくことが出来ません!!
0517nobodyさん
04/09/26 13:14:15ID:???0519nobodyさん
04/09/26 13:52:19ID:???それは「TCP/IPにおけるhttpの位置付け」だな。
「ちなみに」が多い割にしくみについて全然触れておらんので
それじゃあ10点しかやれんよ。
0520nobodyさん
04/09/26 13:53:04ID:???イマイチ「セッション」という概念が良く分かりません。
ぐぐっても、本見ても詳しく書いてないんですが、
だれか教えてくりそ
0521なちじょあ ◆yEbBEcuFOU
04/09/26 13:54:41ID:???. 嘘つくなYO
0522nobodyさん
04/09/26 14:06:29ID:???session関数と同様の働きする関数ってある??
0524なちじょあ ◆yEbBEcuFOU
04/09/26 14:14:06ID:???session関数使えYO
0525522
04/09/26 14:26:40ID:???どうもsession関数が使われてないの見つけたんだよね。
だから聞いてみた
0527nobodyさん
04/09/26 14:52:33ID:???0528nobodyさん
04/09/26 15:01:45ID:???で、勉強して間もない自分では難しかったので検索で見つけたのが、このスクリプト
$text = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)(\n)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
ただ、日記スクリプトなので、一度書いた日付の日記を再編集する機会が多く、
<a href="http://hoge.com" target="_blank">http://hoge.com</a>
このようにリンク済みの状態になっている二つのURLの両方共に、
それにイメージタグの中のimg src=の後にまでリンクが貼られる始末です(;´Д`)
よく使われるスクリプトだと思われますが、
皆さんはどのような方法で対処してるんでしょうか…。
0529nobodyさん
04/09/26 15:04:24ID:???サーバにデータ保存できるなら
セッション関数を自作することは屁の河童です。
0530nobodyさん
04/09/26 15:05:53ID:???0534nobodyさん
04/09/26 15:16:32ID:???>>532
ああ、なるほどー、と思ったんですが、
それだけだと日記文中のイメージタグの中のimg src=の後にもリンク貼られちゃいますよね?
後、今気づいたけどこのスクリプト、URLに入った日本語部分はすっ飛ばされる…。
0539nobodyさん
04/09/26 16:20:16ID:???ハイ、それが出来ませんでした…。
>>538
> 他のタグに囲まれてない時って感じにすればいいんじゃないか?
それが自分の力で出来たらいいんですが…。
すいません、初心者スレ行ってきます。
0540nobodyさん
04/09/26 18:03:08ID:???とりあえず考え方として、URLの直前に改行コードがある場合にのみ
リンクを貼る、というやり方にしようと思いました。
これでタグで囲まれている時、及びimgタグの中である場合には無視できるのでは、と。
で、もう一息(多分)なのですが、どうもリンクが貼られないようです。
よければアドバイスなどいただけないでしょうか。
$text = ereg_replace("(\n)(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
0541nobodyさん
04/09/26 18:28:33ID:???誰が誰か分からんし。
0542nobodyさん
04/09/26 18:49:17ID:???0543nobodyさん
04/09/26 18:53:04ID:???亀レスで失礼
PHPの4.2.0以降のバージョンでは、セキュリティ強化の為、POST・GETによるフォームデータが以前のような「$変数名」では取得できない設定になっています。
php.iniファイルのちょっと下の方にある
register_globals = Off
と言う設定文がそうですが、デフォルトで「Off」に設定されています。
ここを「On」に替えれば、以前のように簡単にフォームデータが取得できます。
0544nobodyさん
04/09/26 18:58:16ID:???そうか。「最新 PHPハンドブック」のサンプルソースの
ページを見ていて、なんでかなーと思っていた疑問が
解決した。
・・・が、面倒な仕様変更だね。仕方ないか。
0545nobodyさん
04/09/26 19:36:27ID:???例えばこんな関数があるとする。
function check(){
if( 送信されたフォームデータのチェック ){
$flag = true;
}
if( $flag == true ){
return true;
} else {
return false;
}
}
これを使うスクリプトに http://hoge.com/check.php?flag=true なんてのを送られてきた場合、
フォームデータのチェックが通っても通らなくても true が返ってしまう。
これじゃ危険だろ?この返り値がtrueならデータの削除処理などをする、なんて時とかは特に。
0546nobodyさん
04/09/26 19:42:30ID:???いや、例としては分かるけど
0547528=540
04/09/26 20:04:13ID:???すいません
528=540です。
>>542
> {}? 最短マッチ(? がないと最長マッチになる)
最長マッチ入れてみましたがリンクが貼られませんでした。
$text = ereg_replace("{\n}(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
0548nobodyさん
04/09/26 20:13:53ID:???こっちこっち
0549nobodyさん
04/09/26 20:17:22ID:???改行の次は行頭だから、
^(https?|ftp)
こっちじゃ駄目なん?
0550528=540
04/09/26 20:32:42ID:???>>549
その二つを織り交ぜて変更しました。
$text = preg_replace("^(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
ついにエラーが出て動かなくなりました。
すいません、僕は愚図でノロマな亀です…。
0551528=540
04/09/26 20:43:37ID:???ただ、$textが空っぽになった模様。
0552nobodyさん
04/09/26 20:46:18ID:???0553nobodyさん
04/09/26 20:50:23ID:???preg_replace_allしないと
0554528=540
04/09/26 20:50:40ID:???単純に、頭がhttp|ftpで始まる行があったら自動で<a>タグのリンクをくっつけたいんです。
$text = ereg_replace("(^https?|^ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);
行頭の「^」の位置を増やしてみたけどスルーされるなあ。
0555553
04/09/26 20:52:26ID:???0556nobodyさん
04/09/26 20:52:52ID:???$str="test
test
http://www.google.jp/
test
test
";
$str=explode("\n", $str);
foreach($str as $line){
$line=ereg_replace("^(https?|ftp)://([^:/]+)(:(\d+))?(/[^#\s]*)(#(\S+))?", "\\0", $line);
echo $line;
}
いきなり答えだけど、一個一個調べろ。
0557nobodyさん
04/09/26 20:54:15ID:???0558556
04/09/26 20:54:45ID:???答えになっとらんね。
そこは自分で解決してみ〜。
因みに、もっともっと他にやり方はいっぱいある。
もっとスマートな方法も。。
0559556
04/09/26 20:55:13ID:???じゃあ答えろよ。
0560nobodyさん
04/09/26 20:56:17ID:???0561nobodyさん
04/09/26 20:57:55ID:???0564nobodyさん
04/09/26 21:01:45ID:???0566nobodyさん
04/09/26 21:09:41ID:???0567528=540
04/09/26 21:11:55ID:???すいません!
やはり行頭を表す「^」が入ってるとリンクされないでスルーされます
(「^」外すとちゃんとアンカーで囲むようにはできました)
どこがおかしいんでしょうか。
$text=explode("\n", $text);
foreach($text as $line){
$line=ereg_replace("^(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\0</a>", $line);
$temp_text= $temp_text.$line;
}
$text=$temp_text;
0568nobodyさん
04/09/26 21:16:51ID:???0569なちじょあ ◆yEbBEcuFOU
04/09/26 21:17:04ID:???$text = ereg_replace("([^[:punct:]]+)(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"\\1<a href=\"\\2\\3\" target=\"_blank\">\\2\\3</a>", $text);
0570nobodyさん
04/09/26 21:18:18ID:???0571528=540
04/09/26 21:29:37ID:???できました!
というか文中の\nを<br>に変換してたのを忘れてました!
なので>>556さんのでも動くと思います。
ありがとうございます!
0572nobodyさん
04/09/26 21:34:34ID:???0573nobodyさん
04/09/26 21:37:16ID:???0574nobodyさん
04/09/26 21:37:38ID:???0575nobodyさん
04/09/26 21:39:27ID:???教えるだけ無駄。
0576528=540
04/09/26 21:40:33ID:???争いは何も生まない!
0577nobodyさん
04/09/26 21:41:41ID:???0578nobodyさん
04/09/26 22:01:59ID:???0580nobodyさん
04/09/26 22:05:57ID:???超FAQなんで放置されてただけですよ
>>545
そのスクリプトなら問題ではない
なぜならregister_globalsディレクティブがonの時に登録される変数は、
スーパーグローバル ではなく、単なるグローバル変数。
故にcheck関数内の別スコープでは$flagは現れない(=未定義)
0581nobodyさん
04/09/26 22:07:25ID:???0583nobodyさん
04/09/27 00:50:32ID:???また知ったかが
0586nobodyさん
04/09/27 12:03:59ID:???メール欄見ろ。
0587nobodyさん
04/09/27 18:19:29ID:???なるべくスマートなやり方ってありませんか?
0590nobodyさん
04/09/27 19:39:22ID:???if (session_id()) {
echo "セッションが開始されている";
} else {
echo "まだセッションが開始されていない";
}
0591nobodyさん
04/09/27 20:25:09ID:???お二人ともありがとうございました。
session_idの方が、作ってるものの条件に
合っていたので、そっちでやってみます。
0592nobodyさん
04/09/27 22:06:18ID:???URLの最後が .jpg や .gif だったときには img タグ、
それ以外は a タグに置換するようにすれば、あんな
ごちゃごちゃしたコード書かなくても済むよね。
0594nobodyさん
04/09/27 22:17:50ID:???FTPサーバ”nekosogiftpd 1.20”をローカルに立ててテストしてるんですが、
PHPのFTP関数の返り値がおかしいんです。
<?php
$ftp_con = ftp_connect('localhost');
ftp_login($ftp_con, 'hoge', 'hoge');
$result = ftp_chdir($ftp_con, 'hoge');
var_dump($result):
?>
このようなスクリプトを実行すると、ftp_chdirの成否に関わらずFALSEが返ってくるんです。
成否はFTPサーバのログやftp_pwdで確認できます。
どんな原因があるんでしょうか。
0595nobodyさん
04/09/27 22:51:59ID:???あるんですか?
0596ぼるじょあ ◆yEbBEcuFOU
04/09/27 23:01:01ID:???http://www.php.net/manual/ja/language.types.array.php
0598nobodyさん
04/09/28 00:31:24ID:???難なくできるファイルと403エラーになるファイルがあるのはなぜですか?
$result = file('http://...php?hoge=piyo);
↑こんな感じで例えば検索サイトの抽出結果などを取り出したいのですが。
0603カポコン
04/09/28 02:24:07ID:???0604nobodyさん
04/09/28 04:20:38ID:???"###$_SERVER[HTTP_HOST]###" のように文字列中にある場合は Notice も出ない。
でもやめといた方がいい。
0605nobodyさん
04/09/28 06:21:42ID:???phpで書いたソースのhtmlのみを.htmlとしてcopyすることってできますか?
0606605
04/09/28 06:57:08ID:???0607nobodyさん
04/09/28 10:32:13ID:V6CF9F0Wレンタル鯖に同じことやったが問題なかった。
nekosogiftpdが正しい値を返してないのかもな。
0608nobodyさん
04/09/28 10:51:20ID:???QUICKFTPでも問題ないがnekosogiだとfalseが返ってくる。
0609nobodyさん
04/09/28 17:56:23ID:???ここでマジレス
↓
649 :非通知さん :sage :04/09/28 17:47:16 ID:9ReSWf70
うんこはいいにおい
0610nobodyさん
04/09/28 18:23:39ID:wWo5p4+TPHPにディフォルトで入ってる関数って一方向暗号化のものしかないんで困っています。
レンタルサーバなので mcrypt 入れる訳にもいきません。
自前で暗号化/複合化関数つくってる方っていないですか?
0611nobodyさん
04/09/28 18:26:41ID:???0612nobodyさん
04/09/28 18:45:33ID:???どんなレベルで秘匿する必要があるデータかによる。
単に平文流れるのが嫌だってんなら、
base64のencode/decodeでいいし(極端すぎ)
0613nobodyさん
04/09/28 18:49:59ID:???php hoge.php
とコマンドして実行すると、自分の意図どおりに動くのに、
http://〜〜/hoge.php
のような感じで、ApacheでPHPを実行すると、SQLに接続できないです。
原因をご存知でしたら教えてください。httpdを再起動したりしましたが無理でした。
0614613
04/09/28 19:13:42ID:???0615nobodyさん
04/09/28 19:15:33ID:wWo5p4+Tありがとうございます,気持ち暗号化しておきたいだけなんで・・・
だったら base64+α くらいでいいんですかね,やっぱり.
でも結構本気の暗号化が必要で,mcrypt使えない人とかは
どうしてるんでしょう?
0616nobodyさん
04/09/28 19:37:04ID:???凡ミスの理由を書いて欲しい・・・って
思うのは私だけ?
0618nobodyさん
04/09/28 20:05:25ID:???userを指定したか、SQLサーバにnobodyで接続できるようにしたかのどちらかじゃないかな。
0619nobodyさん
04/09/28 21:20:15ID:???気持ち程度でもいいのなら、元の文字列から1バイトずつ取り出して
適当な値とxorするとか、足し算するとか、してみてはどうだろう?
それをbase64変換して流せば、例えデコードされても
元のデータの意味は分かりづらくなると思うよ。
0620nobodyさん
04/09/28 22:04:17ID:???このような処理を考えているのですが、serch=?key=\1 の \1 を urlencode したいのです。
$text = mb_eregi_replace('([ァ-ヶー]{3,})', '<a href="search.php?key=' . urlencode('\1') . '" class="keyword">\1</a>', $text);
とやってみてもダメでした。
何か良い方法はありませんか?
0621nobodyさん
04/09/28 23:52:31ID:???スクリプトの終了時に呼び出すハンドラを設定することは
できますか?
0622nobodyさん
04/09/29 01:16:23ID:???普通にhttpsだろ。http://jp.php.net/openssl
さもなくばこの仕様書から実装しなさい。
http://info.isl.ntt.co.jp/camellia/CRYPTREC/2001/01jspec.pdf
0623nobodyさん
04/09/29 01:20:41ID:???消えろカス
>>621
マニュアル読めよ
http://jp.php.net/manual/ja/ref.funchand.php
0625621
04/09/29 02:28:55ID:???register_shutdown_functionですね。
ありがとうございました。
0626nobodyさん
04/09/29 02:36:18ID:VlQlAY+Whttp://pear.php.net/manual/en/package.xml.xml-rss.php
で、RSSの「content:encoded」を取得するにはどうすればよいですか?
0627nobodyさん
04/09/29 15:52:26ID:LWHTYlg+Querry Err
SELECT COUNT(*) CNT from CM_M
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/*****/www/ad/cm_list.php on line 80
などというメッセージがたくさん出てしまいました。
これはうまくMySQLにつなげてない事を示しているのでしょうか?
0628nobodyさん
04/09/29 16:07:47ID:???ソースのコメント読めば分かるだろ。
拾いたいモジュールがあればmoduleTagsプロパティに追加してやればいい。
つーかcontent:encodedうざくね。plain textと大差ないくせに。
<?php
require_once 'XML/RSS.php';
$rss = new XML_RSS('test.rss');
$rss->moduleTags[] = 'CONTENT:ENCODED';
$rss->parse();
foreach ($rss->getItems() as $item) {
print $item['content:encoded']."\n";
}
?>
0629nobodyさん
04/09/29 16:09:44ID:???英語が読めないので訳してくれ、ってことか?
cm_list.phpの80行目でmysql_fetch_array()に渡された引数は有効なMySQL result resourceではありません。
0633nobodyさん
04/09/29 16:25:08ID:???MySQLに聞いてみればいい。
0634627
04/09/29 16:38:50ID:LWHTYlg+それならば私の設置したサーバーには合わない、という事ですね。
みなさんありがとうございました。
0635nobodyさん
04/09/29 17:01:00ID:???0640nobodyさん
04/09/29 17:26:54ID:???0641nobodyさん
04/09/29 17:27:34ID:???0643nobodyさん
04/09/29 17:50:55ID:PVuY1v0fこれを stringから読み込む方法は無いでしょうか?
0644nobodyさん
04/09/29 17:59:21ID:???http://php.s3.to/man/function.eval.html
0645643
04/09/29 18:17:30ID:PVuY1v0fありがとうございます。
<html>
<head></head>
<body>
<?php
print("Hello");
?>
</body>
</html>
というStringをPHPを評価して読み込みたいわけです。
fileに対してのinclude()だと可能ですが、
stringに対してのeval()だとParse errorになるようです。
0646nobodyさん
04/09/29 18:21:47ID:???http://www7.bufsiz.jp/~php/001/index.html#srting
0647nobodyさん
04/09/29 18:34:05ID:???マニュアル読めないのか?
phpソースに<html>なんて出てきたらエラー出るのは分かりきってるだろ。
eval('?>' . $html . '<?php ');
0648643
04/09/29 18:34:15ID:PVuY1v0f0649643
04/09/29 18:38:18ID:PVuY1v0fありがとうございます。目から鱗でした。
(`・ω・´)シャキーン
# はい。Parse error は確信犯です。
0650nobodyさん
04/09/29 18:45:07ID:???常時1000人が繋がってると仮定するから。
0651nobodyさん
04/09/29 19:03:20ID:9Wp4ccns$cnt = mysql_query("select count(*) from テーブル名 where 条件", 接続ID)
と記述しておいて本文側でprint文で表示させてやるとResource id #2 と表示されてしまいます。
mysql_fetch_arrayは配列取得の関数なので用途が違うと思うのですが、どうすれば良いでしょうか?
0654nobodyさん
04/09/29 19:17:45ID:???ttp://php.s3.to/man/function.mysql-num-rows.html
0655nobodyさん
04/09/29 19:21:36ID:???mysql_queryの返り値から得るとか有り得ないだろ
別名を付けて値を得る
select count(*) as cnt ...... とか
0656651
04/09/29 19:24:28ID:???なるほど。配列に格納される様になっていたのですねorz
>>653
PEARを使おうとも思いましたが、件数表示のためだけに使うのも…と思ってやめました。
今度機会があったら使ってやってみようと思います。
返答ありがとうございました。おかげさまで解決しました。
0658nobodyさん
04/09/29 20:00:19ID:???$hdl = mysql_query('SELECT * FROM … WHERE …') or die('失敗');
$num = mysql_num_rows($hdl);
print $num;
ってんじゃ、いかんのか?
0659nobodyさん
04/09/29 20:02:51ID:???0660nobodyさん
04/09/29 20:24:50ID:???これが初めてPHPで書いたコード。
質問はしなかったけど、ログは参考になったので、ひとことお礼まで。
0662nobodyさん
04/09/29 23:17:00ID:pA14RzMO>659 さんの仰っている資源ってどのことを指すのでしょうか?
0663nobodyさん
04/09/29 23:18:21ID:???0664nobodyさん
04/09/29 23:22:15ID:???$s = "select count(*) as total from ...";
$q = mysql_query($q);
list($total) = each(mysql_fetch_row($q));
将来的な互換性も考慮するとpearとかくだらんものは使わないほうが良いと思われ。
0666nobodyさん
04/09/29 23:29:54ID:???0667nobodyさん
04/09/29 23:29:57ID:???0668nobodyさん
04/09/29 23:30:19ID:???0669nobodyさん
04/09/30 00:05:29ID:???SELECT COUNT(*) だとmysqlが返すのは数値ひとつ
SELECT * だとwhereに該当する行すべて
といいたいんだろうけど、実際問題としてどのくらい無駄になってるかは
mysqlがCOUNT(*)をどの程度最適化しているか、という実装次第
0670nobodyさん
04/09/30 00:05:33ID:???このスレは。。。なんだけどなぁ・・・。
新入りが多いのかレベルも低そうだし。
0672nobodyさん
04/09/30 00:26:22ID:???Webプログラマー、とくにPHPともなると低レベルなのは仕方ないだろ。
初めてのプログラミングがPHPという奴も多いだろうし。
0673nobodyさん
04/09/30 01:34:37ID:???Cかアセンブラくらいできないとプログラマとは呼べない
PHPなんて小学生でもできる
0674nobodyさん
04/09/30 01:38:25ID:???0675nobodyさん
04/09/30 01:42:59ID:???0676nobodyさん
04/09/30 01:44:33ID:???PHPが 何?
0677nobodyさん
04/09/30 01:50:22ID:???いまどきアセンブラってw
あれを選択して得点できる基本情報技術者試験は時代錯誤もいいとこかと。
オブジェクト指向概念でも出題してくれるほうが現場としてはありがたいわけで。
0678nobodyさん
04/09/30 01:50:37ID:???出来る 〜が生じる だからおかしくないだろ
0679nobodyさん
04/09/30 02:12:05ID:???1年やってる。
けど、やればやるほど知らないといけないことが増えまくりでエンドレス。
そして、その度に自分が無知であることに思い知らされる。
何かキリが無い様な気がして、どうしようかと。
趣味でやってる程度だけど、将来役に立つのかさえ分からない。
もの凄く無駄な時間を費やしてる様な気がしてならない。
けど、楽しい。
このスレは、質問したこと無いけど、ずっとROMってる。
言いたいことが上手く言えん。
質問でも何でもないのでスルーよろ。
0680nobodyさん
04/09/30 02:21:29ID:???この機能いつ実装されるんだろうな
0681nobodyさん
04/09/30 02:25:36ID:???そういうオプションがあってもいいような気はするが、
それはPHPの精神には反するんじゃないだろうか。
別に明文化されてるわけじゃないけど。
0683nobodyさん
04/09/30 02:32:33ID:???>>679
無駄な時間と思えるようになったのなら上等上等。
Cやハードウェアやアルゴリズムに手を出していい時期になったんじゃないの。
Basicじゃものたりなくなって〜っみたいのが、今はスクリプト言語がそれに当たるのかも知れんね。
0684nobodyさん
04/09/30 02:35:23ID:???進みたい分野をある程度絞ってるのも手だろう
もちろんどの分野のコードを読むにも必要になる知識があるが、
やりながら覚えないと楽しくない
必要だからやっとけと言われても実感伴わないとな
0685nobodyさん
04/09/30 02:35:46ID:???オブジェクト指向何ぞでプログラミングしてたらROMに収まり切りません。
基本情報処理技術者なんだから、アセンブラやCOBOLなんかの古典的言語も"基本"としてやっとけ。
あとは自分の分野じゃ基本では足りない部分をみっちりやれば良い。
0686nobodyさん
04/09/30 02:45:06ID:???いくらやっても、無かったら意味ない
それより、プログラムの流れの理解のほうが重要度が高い
Cを極めて、プラスもう1つがいいと思うが。
0687nobodyさん
04/09/30 02:49:20ID:???> 基本情報処理技術者
基本情報処理もオブ指向もコーディングだけじゃないのよね
0688nobodyさん
04/09/30 02:51:16ID:???PHP で飯が食える時期はあと数年だよ。本気なら C/C++ だね。
0689nobodyさん
04/09/30 03:11:33ID:???また都合の良いものが出てきたら、そっちへ一斉に乗り換えるから。
C/C++がキッチリしていれば、どんな言語が出ようとも
理解が早い
とはいえ、実際にPHPで動かしてる訳で、
趣味でCを勉強すればいいだけとも言える。
0690カポコン
04/09/30 03:19:35ID:???.粘着厨まで現れたか・・・w。
0691nobodyさん
04/09/30 03:28:02ID:???0692nobodyさん
04/09/30 03:29:37ID:???本人次第ということだ
0693nobodyさん
04/09/30 06:58:10ID:???0694nobodyさん
04/09/30 09:18:21ID:GWvHODZq0697nobodyさん
04/09/30 10:30:56ID:???応用範囲を言い出したら、
アセンブラ≧C>Java
なんじゃないか? Cやアセンブラなら手間さえかければJavaのできることはできるよ
0698軟式PHP
04/09/30 10:41:17ID:???アセンブラはぶっちゃげ覚えなくてもいいと思う。
変数に0入れるより、自分自身でxorしたほうが早いとかそんな時代じゃないしさ。
ゲーム業界でガリガリやるつもりじゃないかぎりはイラヌ。
やるとしてもかじる程度、他の勉強の時間に割り当てたほうが良い。
0700軟式PHP
04/09/30 10:48:19ID:???ああ、全部「var 変数;」とちゃんと宣言したかったというわけか。。
文盲勘違いでスマソ。あったっけかなぁ。調べてみるか。
0701nobodyさん
04/09/30 10:51:39ID:???CSVは20040930.csvのようにyyyymmddで名前を付けています。
これを新しい日付順にソートする方法は無いでしょうか?
0702699
04/09/30 10:58:14ID:???うん。別に俺が元質問者じゃないのだけどね。
俺も最初のころは変数宣言が欲しいなと思ったことはあるが、
慣れてきたのか、もうさほど思わなくなった。
参照の方は、E_NOTICEで回避できるし、代入時のtypoも
うまく言えないけど、簡単に見つけれるような書き方に
なったような気がする。
0703nobodyさん
04/09/30 12:08:14ID:???配列化済みのファイル名なら、配列関数。
http://php.s3.to/man/ref.array.html
sort()とかrsort()とかその他色々。
0705nobodyさん
04/09/30 14:12:51ID:???static method
0707nobodyさん
04/09/30 14:27:01ID:???分からないのだから、何か反応いるって
分かる香具師は、何が分からないか
分かるから、自分で行動する
0708nobodyさん
04/09/30 14:31:51ID:???0709nobodyさん
04/09/30 14:37:13ID:???それならC言語登場前にユニクスもマルティクスも出来上がってる
応用不可能な分野が増えたために言語&開発手法戦争時代に突入したと思われ
0712705
04/09/30 14:43:51ID:???んじゃ、これでどうだ。
ttp://php.s3.to/man/keyword.paamayim-nekudotayim.html
class使うからOOPってわけでもないし。
0713701
04/09/30 15:12:12ID:???ソートして表示を試そうとしたのですが、上手くいきません
<?php
$fArr = array();
$df = opendir ("./csvdata/");
while ($tmp = readdir($df)){
if ($tmp !="." && $tmp !=".."){
$fName = basename($tmp);
$fArr[$fName] = $tmp;
echo "$fArr[$fName]<br>";
}
}
closedir ($df);
?>
ここからどのようにしたら良いでしょう?
echoの上にソート関数を置いたら激しくエラーが出ました
0714nobodyさん
04/09/30 15:18:40ID:???<?php
$fArr = array();
$df = opendir ("./csvdata/");
while ($tmp = readdir($df)){
if ($tmp !="." && $tmp !=".."){
$fName = basename($tmp);
$fArr[$fName] = $tmp;
}
}
closedir ($df);
// ↓ ここで ソート
// ↑ ここで ソート
print_r($fArr);
?>
0715nobodyさん
04/09/30 15:52:23ID:GWvHODZqようやく分かりました。thx!
OOPしたことはありますが、
「必ず」インスタンスを
作るものだと思っていました。
0716nobodyさん
04/09/30 15:57:43ID:???OOPじゃなくて、構造化プログラミング。
0717nobodyさん
04/09/30 16:56:43ID:h+OAAFCjドコモとauだけでも…
0718nobodyさん
04/09/30 16:59:18ID:???0719nobodyさん
04/09/30 17:40:26ID:???0720704,712
04/09/30 18:22:02ID:GWvHODZqclass Aのインスタンスをnewしてから
$a->example()とした方が良いのか?
A::example()とした方が良いのか?
(もちろん、両方の書き方が可能、という前提で)
それぞれの利点/欠点を教えて下さい。
(特に、どっちが早いとか、効率が良いとか)
0721694,712
04/09/30 18:22:35ID:GWvHODZq0722694,715
04/09/30 18:23:37ID:GWvHODZq0723nobodyさん
04/09/30 18:26:40ID:gIFHZKNr0725nobodyさん
04/09/30 18:36:55ID:???どうしたらいいでしょうか?
0728nobodyさん
04/09/30 18:43:39ID:???適当なヘッダつけて標準出力に吐けばダウンロードされるよ。
readfileんとこにサンプルが投稿されてるから、それみて後はググって何とか。
0730nobodyさん
04/09/30 19:49:20ID:???0732723
04/09/30 19:59:22ID:gIFHZKNr変換したりしたいのだけど
imagecreatefrombmpやimagebmpな関数が
見つからないわけですが…
0733nobodyさん
04/09/30 20:02:29ID:???imagewbmp()
0734723
04/09/30 20:13:19ID:gIFHZKNrWBMP is used for bandwidth constrained, black and white,
limited devices such as PDAs and Cell Phones.
って書いてありますが。
実際試してもできぬ。
0735nobodyさん
04/09/30 20:29:36ID:???0736nobodyさん
04/09/30 20:48:58ID:???PHPとリンクしてるGDのバージョンと、
試して駄目だったソースから身だけ(数行で済むでしょ)晒してみ。
ただ出来ないバージョンは無かったと思うがな…
0737nobodyさん
04/09/30 20:55:55ID:???画質レポートきぼんぬ。
0738nobodyさん
04/09/30 20:56:41ID:???0739723
04/09/30 21:09:36ID:???["GD Version"]=> "bundled (2.0.28 compatible)
---code---
$file = 'test.bmp';
$size = getimagesize($file);
$dst_im = imagecreatetruecolor(120, 160);
$src_im = imagecreatefromwbmp($file);
imagecopyresampled($dst_im, $src_im, 0, 0, 0, 0, 120, 160, $size[0], $size[1]);
imagewbmp($dst_im, 'thumb.bmp');
imagedestroy($dst_im);
---code---
Warning: imagecreatefromwbmp(): 'test.bmp' is not a valid WBMP file in
c:\root\local\test\bmp.php on line 66
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in
c:\root\local\test\bmp.php on line 67
0740nobodyさん
04/09/30 21:38:17ID:???単純に対応してないBMPフォーマットを食わせてるだけの気がするが。
GDで適当なの画像をBMPで書き出して、それをもういっぺん食わせてみ。
0742723
04/09/30 21:51:32ID:???思ってたわけなんですが。
ローカルでimagemagickを試したらいけたのだけども
借りてるサーバに入ってない…
素直に諦めます 涙
0743nobodyさん
04/09/30 22:01:16ID:WCeDx1bJPHPで画面サイズ取得する方法、誰か知りませんか?
どなたかアドバイスをください。
-----------------
わかんなかったのでjavascriptと組み合わせて
下のような趣旨のソースにしたけどエラーになってしまいました。
画面サイズによってインクルードするファイルを
変えたかったんです。
-----------------------
<SCRIPT language="JavaScript">
<!--
w = window.screen.width;
function jump()
{
if (w < 1024) jumpURL = "<?php include("top1.htm");?>";
if (w > 1024) jumpURL = "<?php include("top2.htm");?>";
location.href = jumpURL;
}
//-->
</SCRIPT>
0744nobodyさん
04/09/30 22:05:52ID:???0745nobodyさん
04/09/30 22:08:20ID:???0746nobodyさん
04/09/30 22:09:19ID:???パックで頑張る手も。
http://www.dcs.ed.ac.uk/home/mxr/gfx/2d/BMP.txt
どうでもいいが740はえらい天然だな。
0748nobodyさん
04/09/30 22:13:53ID:???javascriptで取得してPHPに教えてあげる考えであってる。
あとはクライアントサイドスクリプトとサーバサイドスクリプトの仕組みと挙動を理解して来い。
0749nobodyさん
04/09/30 22:20:12ID:???PHPにwidth, heightを伝える必要はない。
ロケーションでそのまま飛ばしてるんだからクライアント側の
Getリクエストだけの問題。
jsのlocationで飛ばないケースを対策するのを忘れずに。
0750nobodyさん
04/09/30 22:51:22ID:???0751nobodyさん
04/09/30 23:49:52ID:qd4TgOT3のように呼び出したときに
var1の中にaa&var2=bbbという文字列を入れるにはどうしたらいいのでしょうか?
0752nobodyさん
04/10/01 00:04:04ID:???みなさん、ありがとうございました。
0754nobodyさん
04/10/01 01:07:46ID:???スレ住民にお礼言うより解決の経緯を書くのがマナーでしょ。
0757701
04/10/01 14:16:05ID:???はい
配列にファイル名を格納してソート、count()で配列数を数え
countの数だけテーブルを作りました
ここの人が見たらさぞかし汚いソース何だろうな、と
0759nobodyさん
04/10/01 16:55:07ID:???0760nobodyさん
04/10/01 17:06:45ID:???0762760
04/10/01 17:32:44ID:???もしよろしければ教えて下さい。お願いします。
0763nobodyさん
04/10/01 17:45:29ID:???0764nobodyさん
04/10/01 19:21:08ID:???$_SERVER[HTTP_REFERER]等のように個々に指定するのではなく、
まとめて取得したいのですが。
0765nobodyさん
04/10/01 19:40:35ID:???読んだ方が早いのに・・・・・・
0766nobodyさん
04/10/01 19:48:01ID:???0767nobodyさん
04/10/01 19:54:38ID:???0768nobodyさん
04/10/02 00:22:35ID:???なんでそんなことしたいのか分からないけど、
$_SERVER["QUERY_STRING"] をごにょごにょいじれば?
0769カポコン
04/10/02 00:30:21ID:???ど ん な マ ニ ュ ア ル で し ょ う か (ドキドキ)?
0770nobodyさん
04/10/02 00:39:13ID:???と同じだな
辞書の使い方が分からなければ、分からない
辞書引いても、用例が分からなければ分からない
0771nobodyさん
04/10/02 00:46:44ID:???0773nobodyさん
04/10/02 00:50:33ID:???0774nobodyさん
04/10/02 00:54:10ID:???$_SERVERにまとまってるわけだが。
あるいはこういうのか? http://jp.php.net/apache
0775nobodyさん
04/10/02 00:54:13ID:???∩___∩
| ノ ヽ/⌒) あばばばばばば
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/ ∩―−、
.( ヽ |∪| / / (゚) 、_ `ヽ ヨメマチェェェン
\ ヽノ / / ( ● (゚) |つ
/ / | /(入__ノ ミ あばばっあびゃばびゃばば
| / 、 (_/ ノ
| /\ \ \___ ノ゙ ─ー
| / ) ) \ _ >>770
∪ ( \ \ \
\_) >>769
0776nobodyさん
04/10/02 00:56:48ID:???ぱそこんの使い方ならよそで教わってこいよ
0777nobodyさん
04/10/02 01:09:07ID:???勉強すれば便利になる関数とかあるじゃん?
そういうのをさらっと書いてあれば便利なんだが。
それとも全部読まなきゃいけないのか?
辞書を全部読まなきゃいけないみたいで嫌だ
0778nobodyさん
04/10/02 01:13:35ID:???0779nobodyさん
04/10/02 01:17:41ID:???普通、あれをしてみたい!と一番初めに思うよね
そうしたら、それに関係する関数を探すの?
そのつど、辞書全部引いて探すの?
どうしてる?
0780764
04/10/02 01:18:16ID:???まさにこんな感じです。ありがとうございました。
$_SERVERでなく、クライアントがサーバに渡すヘッダだけ拾いたかったのです。
0783nobodyさん
04/10/02 01:45:23ID:???メールしたい -> マニュアルの目次を見る -> メール関数発見 (終)
Fromに日本語を入れたい -> MIMEヘッダ(常識) ->
mimeで検索或いは文字変換関係の関数を調べる -> mb_encode_mimeheader()
マニュアルとWebProg(更にはWeb以外のプロトコルも)の知識がありゃ
自力でもなんとかなるもんだよ。
そこを吹っ飛ばした質問が多いから飽きれてきつく言う人もいるんでないの?
0784nobodyさん
04/10/02 02:45:37ID:gzZ8+fHBユーザ関数とは違うんですか?
0785nobodyさん
04/10/02 02:47:15ID:???0786nobodyさん
04/10/02 03:11:17ID:???なんかホームセンターの中を回ってる気分
想像力が膨らんできた
0787nobodyさん
04/10/02 03:17:27ID:???0788nobodyさん
04/10/02 03:19:54ID:???いいじゃん
マニュアル嫁じゃ分からんだろ。全部調べなきゃならなくなる
0789nobodyさん
04/10/02 03:19:59ID:???0791nobodyさん
04/10/02 03:32:33ID:???んー…。
何がしたいのかが分かれば、全部調べなくても良い。
ある程度は絞れる。
文字を表示したい。で例えると…
http://www.php.net/manual/ja/funcref.php
↓
http://www.php.net/manual/ja/ref.strings.php
っと、言った感じで。783と言ってること殆ど変わりないけど。
「マニュアルのココを読め」と答えるか、「マニュアル読め」と
答えるかどうかは、答える人が決めても良いと思うけどな。
0792nobodyさん
04/10/02 03:32:36ID:???それが分かっていたら、自分で調べるだろ
0793nobodyさん
04/10/02 03:36:24ID:???どう答えるかは、本人の自由かと。
0794nobodyさん
04/10/02 03:38:41ID:???自分のポジションを明確にしたい為に質問してるのに、
マニュアル嫁はない。
0795nobodyさん
04/10/02 03:41:09ID:???0796nobodyさん
04/10/02 03:42:30ID:???そもそも何も分からん奴はとりあえず書店行け
0799nobodyさん
04/10/02 03:46:32ID:???0801nobodyさん
04/10/02 03:53:01ID:???いや、例えば○○がしたいんだけど、どうしたらいい?という質問があったら
じゃ、マニュアルのココとココをココを読めば?でいいやん。
1つの事柄について、マニュアル全部読むなんて非効率でかなわん。
0802nobodyさん
04/10/02 03:55:54ID:???それを自分で超えられるかどうかなんでないの?
まあ俺は友達や先輩に聞きながら覚えたが、
最終的には自分で乗り越えられるかどうかだよな。
2chに友達や先輩の役割を求めてる人が多いって事なのかね。
なんかしら一個言語覚えちゃえば、後は楽なんだけどな。
あの関数はどこだろうなーみたいなおおよそのアタリをつけて調べられるし。
0804nobodyさん
04/10/02 04:25:28ID:???質問者と回答者の考え方から勉強したほうがいいよ
0806nobodyさん
04/10/02 04:46:38ID:???0807nobodyさん
04/10/02 05:15:29ID:4Xpk7UM0調べる方法はなにもマニュアルだけじゃない。
グーグルもある、本だってある。
くだらない質問してくる奴は大抵、辞書も満足に使いこなせない奴だろ。
俺はそう思ってるし、それでなんとかやってこれてる。
おまえの考えを押しつけるな。
0808nobodyさん
04/10/02 05:27:01ID:???スレ番的に、なちじょあ ◆yEbBEcuFOU=軟式?
どうでもいいが(´_ゝ`)
0809nobodyさん
04/10/02 05:28:05ID:Y9+HS0d0禿同。
0810nobodyさん
04/10/02 07:49:51ID:???自分である程度調べたら質問文もそれなりに要領を得た物になるんだよね。
質問が間違った知識を元に的を外している、
もしくは複数の意味に捉えられるような書き方した場合は
「マニュアル嫁」で却下される場合が多いな。
>>764は最初の質問が後者のパターンだった、と。
最初から>>780の聞き方をしてれば良かったんだけど
httpリクエストヘッダはhttpサーバを経由して得る、という考えに至らなかったと。
0811nobodyさん
04/10/02 08:35:58ID:ze3q/U93をデコードできますか??
0812nobodyさん
04/10/02 08:54:29ID:???エンコード文字列だけのスレ
http://pc5.2ch.net/test/read.cgi/php/1065258181/l50
0813nobodyさん
04/10/02 08:59:42ID:???俺の知ってるエンコードがなされたものかも知れないが、
実際になされたエンコード方式を教えてくれないとデコードの可否は回答できない。
0814nobodyさん
04/10/02 09:48:48ID:???0816nobodyさん
04/10/02 11:53:08ID:uhB5BMdpPEARから
http://pear.php.net/pepr/pepr-proposal-show.php?id=48
を探してきたのですが、使い方がいまいちわかりません・・・
トラックバックを受信した時トラックバックのデータを保存するにはどうすればいいか
教えていただけませんか。
具体的には
他のblogからトラックバックを私の日記へ送信。
↓
トラックバックを受信(受信した場合の保存方法がわかりません。。)
↓
日記に私のトラックバックを表示
どうかよろしくお願いします。
0818nobodyさん
04/10/02 12:14:20ID:uhB5BMdpなんどか試してみたんですが・・・、
// store data in your storage
のところで保存処理を行えばいいと思ってたんですが、
どうもうまくいきません。
私だめですね;;
0820nobodyさん
04/10/02 12:29:06ID:???それで合ってるよ。どの辺が判らない(うまくいかない)?
先ずは戻り値の$data配列の中身でもvar_dump()してみ。
0821nobodyさん
04/10/02 13:32:37ID:XE0I1+gL認証後に表示されるデータなどを取得したいのですが
どうすればよいのでしょうか?
当然、ユーザー名やパスワードは自分のものを使ってです。
0822nobodyさん
04/10/02 13:46:39ID:???どうすればいいって・・・とりあえず自分でやってみれ。
HTMLを読んでAction属性で指定されたドキュメントに必要な値をPOSTすればいい。
書式は認証機構による。初心者はブラウザのHTTPリクエストとレスポンスを
横取ってながめてみるといい、というあたりが一般常識かな。
0823nobodyさん
04/10/02 13:55:44ID:???認証がBASIC認証だったら、それに対応したHTTPクライアントライブラリを利用する。
認証フォームを使ってPOSTで送ってるタイプの認証も同様にPOST送信が可能なライブラリを利用。
どちらもPEARにある。また他にも公開されてるライブラリがある。
自分でSOCKET通信しても良いと思うけど、既に有用なライブラリがあるんだから
それ使うのが良いでしょうな。
他には外部の対応しているプログラム(例えばwget)を利用する手もある。
0824nobodyさん
04/10/02 14:05:29ID:???http://sourceforge.net/projects/snoopy/
あと、最初は全部自分で書いてみた方がいいね。コーディング量もたいしたこと無い。
エラー処理が必要な個所や、とくにHTTP/1.1の決まりごとはざっと知っておく必要がある。
Socket関数は無理だろうから、fsockopenかstream_socket_clientを使って。
0825nobodyさん
04/10/02 14:22:25ID:???まずはfsockopenのサンプル使ってPOSTを成功させてみるところからじゃないの
0826nobodyさん
04/10/02 14:22:55ID:???<?php
$a = "abc";
if (ereg($a, abcdef)) {
echo "1";
}
?>
B
<?php
if (ereg("abc", abcdef)) {
echo "1";
}
?>
AとBは、目に見える結果としては同じになると思うのですが
実行速度やメモリ使用量などの観点から見ると
どちらのほうがメリットが大きいのでしょうか?
それともまったく変わらないのでしょうか?ご教授ください。
0827nobodyさん
04/10/02 14:40:00ID:???A, Bともにダブルクウォートを使用しているためパースされるロスがある
Bは変数に代入してい分早くメモリ消費も少ない
以上はマニュアルと常識的な思考ができれば自明。
A, Bの差異はエラーを除いて誤差の範囲であり、実際上無意味なので気にするのはナンセンス。
初心者ほど速度や負荷ネタで盛り上がるが、答える方は無意味な質問に答えされられるため
大変うざったく死んでほしいといつも願っている。
0828nobodyさん
04/10/02 14:44:19ID:???早い糞コードより読みやすく移植性の高いコードを書けよ。
毎度毎度毎度同じ回答で申し訳ないとは思うがね。
0831nobodyさん
04/10/02 14:51:28ID:???別ライブラリつかってるままなんだっけ?
0833nobodyさん
04/10/02 15:03:18ID:???そのままじゃない
どっちもeregだから関係ないけど
ここの質問見てるとereg使ってる人が妙に多いけど、なんの影響だろうね
0836nobodyさん
04/10/02 15:22:02ID:???メモリの使用なんてPHPをソースハック出来るレベルになって初めて分かることだろ。
理由わからずにどっちが速いなんて丸暗記してどうすんの。
正攻法で学べよと思う。
速度にしたってmicrotime()でベンチとればいいだけだし、""のパースとかでかい変数は
参照渡しにするとかDBの正規化とかっていうのはいちいち聞かれてたらたまらんつーの。
基礎の組み合わせなんだから、ベンチやって人のソースを読んでマニュアル読んで少しずつ
分かっていけばいいのにさあ。
やってみて巨大なボトルネックが出来て質問されたなら答える方も挑戦してみようと思うじゃない。
マニュアルに書いて有るようなレベルで速度がどうとか聞かれてもうざいだけだわ。
つーかなんだこの分量バカだろ俺はほんとに
0838nobodyさん
04/10/02 15:27:00ID:???普通の初心者はそういうこと聞かないマナーは心得てるよ
PHPはたまたま池沼がおおいだけだ
あまり気にするな
http://pc5.2ch.net/test/read.cgi/php/1077753522/271-n
気にしちゃだめだぞ
0839nobodyさん
04/10/02 15:46:24ID:f1jlg8jO$changed = preg_replace( "/([\"\\\])/", "\\ \\1", $str );
こうすると「\ "」「\ \」となるんですが、置換文字列のスペースを詰めて
$changed = preg_replace( "/([\"\\\])/", "\\\\1", $str );
とするとうまく行きません。
どうしたら良いでしょうか?
0840839
04/10/02 15:50:41ID:f1jlg8jO$changed = preg_replace( array("/\"/", "/\\\/"), array('\"', '\\'), $str );
こんな感じにすれば動作はすると思うんですが、見た目がややこしいのでもっと簡潔に書きたいんです。
どなたかよろしくご教授お願いします。
0842nobodyさん
04/10/02 15:53:09ID:???0843nobodyさん
04/10/02 15:58:44ID:???'/(["\\\])/' か "/([\"\\\])/" どっちかだな。
細かいことは正規表現スレのリンク読めば分かるかな。
# そもそも正規表現の仕事じゃないような気がしないでもないが。
0844nobodyさん
04/10/02 16:26:08ID:UuykfYQHまだ安定性にも不安があるしバージョンアップの間隔も短いので、
やっぱりPHP4で作る方が安心ですよねぇ。
PHP4のクラスは、インスタンスごとにメソッドまで作る(共有しない)らしいので
インスタンスをたくさん作るプログラムはPHP5の方がよさそうですが…
0845839
04/10/02 16:30:35ID:f1jlg8jOありがとうございます。
ヽ(´▽`)ノ
# それにしても \\\\\1まではやってみたんですが、\6個だったとは...ムズカシイ orz
0846nobodyさん
04/10/02 16:30:42ID:???今はちょっと反省している
0847nobodyさん
04/10/02 16:42:00ID:???$1で参照するなら \\\\$1 の4個。
後者推奨とマニュアルにはある。
0848nobodyさん
04/10/02 16:45:51ID:???文字化けしてるときはどしたらいいの?
ねぇねぇ
0851nobodyさん
04/10/02 17:42:51ID:???ファイルへの書き込みで、
ファイルの先頭へ書き込みたいんですが、
うまいやり方がわかりません。
w モードで開いて、新しく全部書き込む方法は
行数が増えた時に負荷も大きくなりそうで心配です。
行数が増えても負荷を小さくして書き込むことはできないでしょうか?
お願いします。
0852nobodyさん
04/10/02 17:52:33ID:???'a' 書きこみのみでオープンします。ファイルポインタをファイルの 終端に置きます。ファイルが存在しない場合には、作成を試みます。
これの意味分かるか?
0853852
04/10/02 17:53:52ID:???いや、スマン。
読み間違い。
'x' 書き込みのみでオープンします。ファイルポインタをファイルの先頭に置きます。
こっち。
0854nobodyさん
04/10/02 17:57:26ID:???知らなかったよ
どうもありがとう
バカ!
0855nobodyさん
04/10/02 17:58:49ID:???どこにファイルポインタを置こうが今回の件に関しては関係無いのではなくって?
0856854
04/10/02 18:13:02ID:???r+で開いて書き込んでみたんですが、
Windowsでいういわゆる Insertキーを押してある状態みたいに
なってて、
文字が上書きして入力されてしまいます。
書き込んだ文字分だけシフトさせることはできないんでしょうか?
0858854
04/10/02 18:23:01ID:???0859nobodyさん
04/10/02 18:33:16ID:???自分で組むしかないでしょう
重いかどうかは、実装してからベンチ
0860854
04/10/02 18:35:16ID:???やっぱり書き直すしかないのかなあ(;_;
0861nobodyさん
04/10/02 18:40:38ID:???$add = "先頭に付け足すデータ";
$contents = file_get_contents($filename);
file_put_contents($filename, $add . $contents);
0862861
04/10/02 18:44:03ID:???・でかいファイルはどうなるかしらん
・ドキュメント読んだだけなんで動くかどうかはわからん
・ってゆーか、マニュアルくらい嫁
ttp://php.s3.to/man/ref.filesystem.html
>file_get_contents -- ファイルの内容を全て文字列に読み込む
>file_put_contents -- 文字列をファイルに書き込む
0863861
04/10/02 18:48:03ID:???あ、そーゆーことか、すまん
書き直すしかないだろう
0864nobodyさん
04/10/02 18:52:28ID:???そういうことは「出来ない」と諦める手もあるよ。
諦めるレベルに差はあれど、誰しも技術的、経済的な理由等々で諦めてるもんだ。
0865nobodyさん
04/10/02 19:04:37ID:vlVC7o1I宜しくお願いします。
0866821
04/10/02 19:05:47ID:XE0I1+gLありがとうございます。
とりあえずアドレスにパラメータつけてrequireとかで読み込ませたんですが
”現在お使いのブラウザの設定ではログインできません。
(クッキーを無効にする設定になっています)”
とか表示されてうまく入れませんでした。
PHPの方でクッキーを読ませたりして認証通すことはできるのでしょうか?
0867nobodyさん
04/10/02 19:06:25ID:???別にちっちゃいファイルなら、簡単にできるけど。
追加する部分を新規ファイルに書く、いままでの部分をその新規ファイルにアペンド
ファイルネームを変更。みたいに。
でもね、これ、極めて馬鹿らしい方法だよ。
例えば、ファイルのありとあらゆる場所に追加するようなのが必要なら、データベース使うとか
双方向リストを持たせた多数のファイルをつくるとか。
追加するのが先頭だけってんなら、逆順に書いて、ファイルの最後尾に追加していくとか。
なんにしても、アルゴリズムが悪すぎると思うよ。
0868nobodyさん
04/10/02 19:08:13ID:???っか、質問意図不明杉
0869nobodyさん
04/10/02 19:33:08ID:???AddType application/x-httpd-php .php .html
これで、.htmlファイルもphpくぐってから出力される
という意味でよいんだな?
0870nobodyさん
04/10/02 19:51:12ID:???文脈からテキストファイルのようだけど、
書き込み時の負荷だけ下げたいのであれば、ファイル内の文章を逆にして
読むときに逆から読むようにすれば良いのでは?
例)
"World"と書かれたファイルの先頭に"Hello "を挿入したいとする。
元ファイルの内容を"dlroW"にし、末尾に" olleH"を追記する。
読み込み時に逆から読めば"Hello World"と書かれたファイルが出来上がってるという寸法。
0871822
04/10/02 20:06:12ID:???なんか明後日の方向めざしてるね。
他のレスにかいてあるけど、fsockopenのサンプル見た?
HTTPでブラウザが鯖にどうやってリクエストしてるか分かった?
初心者にすすめるべきサイトではないかもしらんが、
http://X68000.q-e-d.net/~68userのHTTPクライアントの項を
眺めて感じをつかんでみたら。これからやらないといかんことは同じだから。
Cookie情報はつまるところHttpヘッダフィールドのテキストなんで、
リクエスト時にいっしょに送信するだけ。ただCookieのOn/Offをどうやって
判定してるかはサイトによるので自分で調べてね。
0872nobodyさん
04/10/02 20:18:44ID:???それを効率よく実装されたものがデータベースとして幅広く使われてるんだけど。
データベース使うほどでもないけど、簡単でより効率のよい実装方法さがしているのであれば、
データファイルをインデックスと実際のデータ部分にわけて、
インデックスは勿論実データへのアドレス参照(tellなどで得られる)と確保したデータ領域の長さを持つ。
データ部分は、パディングをもたせて少し冗長な構成にする。
データを更新する時はseekでそのデータの先頭にポインタをセットし、上書きする。
データがパディングを含めた予め確保した領域の長さを上回るようであれば、
新しいデータ領域をファイル末尾に確保し、インデックスを更新する。
インデックスは更新する必要があるので固定長で。
説明に不備あるかもしれないけど、大筋はこんな感じで。
インデックスと固定長データを使った方法を提案してみる。
利点は用途によってはもっと最適化出来る事。欠点は拡張が難しいこと。
でも、開発/保守コスト考えると素直にDB導入したほうがいいよ。
0873nobodyさん
04/10/02 20:19:37ID:???GETじゃパラメータ渡らんだろ。そもそもrequireは問題外だし。
鯖にコネクトしてHTTPに則ってPOSTしてみな。
HTTPは解説サイトを見つつ、分からないことがあれば定番のこれで確認。
http://www.mars.dti.ne.jp/~torao/rfc/rfc2068-ja.html
Cookieは認証ページを読んだときに送られてきとるんで、これの値を送り返さないとCookieが
使用できないとみなされログインできないんだろう。
CookieもこまかいことはRFCかネスケの仕様書に書いてある。
0874nobodyさん
04/10/02 20:21:37ID:???0875nobodyさん
04/10/02 20:21:41ID:???0876854
04/10/02 20:28:03ID:???こんな詳しく、どうもありがとう!<(._.)>
いやー、難しそうですね。
DB使うほど大げさな物でもないので、
多少の負荷はかえりみずとも
簡単な方法でいこうと思います。
ほんとにどうもありがとう(*´ω`*)
0877nobodyさん
04/10/02 20:33:26ID:???ム板じゃ「問題ありのサイト」なんてリンクされてるが、
最初の一歩としてはお手軽でいいかなとも思う
821のやりたいことならphpマニュアルでことたりるのだろうが
0878nobodyさん
04/10/02 21:09:47ID:???Mozilla + Live HTTP Headerプラグインがお手軽でお勧め。
(Firefox1.0PRにもいつの間にか対応してたし)
0879nobodyさん
04/10/02 21:11:36ID:/4BoaAqc□ファイル名1
□ファイル名2
…
[削除]
こんな具合にファイル名の横にチェックボックスにチェック
を入れて削除ボタンを押すと消える、という仕組みです。
この場合、formから送った情報を$_POSTで受け取るんですが
チェックが複数だった場合はどうすれば受け取れるでしょうか…?
0880nobodyさん
04/10/02 21:16:48ID:???name="del_f[]" とすると、$_POST['del_f'] が配列になる。
0881Imo ◆.jC7ANgFY.
04/10/02 21:40:13ID:???whoisをPHPで実現するサンプルです。
$fp = fsockopen('whois.nic.ad.jp', 43);
fwrite($fp, "php.gr.jp\r\n"); $data = '';
while(!feof($fp) and $dat = fread($fp, 4096))
$data .= $dat; fclose($fp);
echo mb_convert_encoding($data, 'SJIS', 'JIS');
0882nobodyさん
04/10/02 21:47:18ID:CVirW+JCWoodyですので、PHP4.1.2でした。
この度、「まるごとPHP!」を買って、WoodyにLAMPを導入
する記事を参考に、softagencyからPHP4.3.8をインストール
しました。
しかし、'--without-pgsql'でビルドされているみたい(?)で、
PostgreSQLに接続できなくなりました。
ですが、WoodyのPHP4.1.2も'--without-pgsql'は同じ?
みたいなので、ひょっとして、このPHP4.3.8もなんとか
PostgreSQLに接続する方法がありませんか?
0883Imo ◆.jC7ANgFY.
04/10/02 21:49:39ID:???httpでのソケットのサンプルです。
# エラーチェックは実装してません
echo http_get('2ch.net', '/');
function http_get($host, $path) {
$fp = fsockopen($host, 80);
fwrite($fp, "GET $path HTTP/1.0\r\n" .
"User-Agent: PHP\r\nReferer: http://$host/\r\n" .
"Host: $host\r\nConnection: close\r\n\r\n");
while(!feof($fp) and $dat = fread($fp, 4096))
$data .= $dat; fclose($fp);
return $data;
}
0884nobodyさん
04/10/02 21:50:24ID:???自分の日記に書いてください
はぃ、以後そうします。(いつになるかわからないけど
# もう3つぐらい貼り付けようと思っていた
0886nobodyさん
04/10/02 22:03:00ID:???普通にコンパイルしなおせばいいんでない?
extensionにpgsqlのモジュールもあると思うけど、それを毎回読み込む方向でいけば
再コンパイルせずに使えるかも。
0887nobodyさん
04/10/02 23:13:31ID:???http://pc5.2ch.net/test/read.cgi/php/1068190843/l50
0888nobodyさん
04/10/02 23:37:00ID:???0889nobodyさん
04/10/02 23:53:03ID:CVirW+JC自分でビルドする腕はありません。(汗
Woodyの純正のPHP4にはPHP4-pgsqlというパッケージが
ありました。でも、>882に書いたPHP4.3.8をインストール
するときにREMOVEされてしまいました。
なんか、モジュールがあったんだと思いますが・・・
そのモジュールだけ、作る事って出来ないんでしょうか?
もしくは、どこかから持ってくるとか?
0890nobodyさん
04/10/03 00:27:46ID:???dl()するかphp.iniでロードするように指定できたと思うんだけどな。
他のパッケージも検索すればあるとは思うよ。MySQL以外のDB使ってる人も多いだろうし。
0891nobodyさん
04/10/03 00:46:43ID:???野良パッケージにまわされるほどマイナーなのか・・・
0892nobodyさん
04/10/03 00:59:30ID:dJZy1DJisocket_set_timeoutは
「有効なファイルポインタが確保されてからのtimeout時間」
という認識でよいですか?
それでソケット接続までの時間がかかる場合に全体でtimeoutを
設定してエラー処理するにはシグナルほにゃらら(理解していない)で
処理するしか方法はないんでしょうか?
今fsockopenやsocket_set_timeoutを設定して運用してるんですが
接続先のサーバが込み合ってる場合、効果ないようです。
0893nobodyさん
04/10/03 01:58:38ID:n1LZAPOpwoodyのが古杉
sargeのPHP4.3.8は依存関係の問題でwoodyには
入れられませんでした。
本で紹介されてたのはwoody用にビルドされた物で
よさげでしたが・・・pgsqlが無いのが残念
0894nobodyさん
04/10/03 03:08:58ID:???0895nobodyさん
04/10/03 03:20:55ID:???0896nobodyさん
04/10/03 03:39:23ID:???0897nobodyさん
04/10/03 04:16:49ID:???タウンズがメガドライブな
0898893
04/10/03 08:47:32ID:n1LZAPOpwoodyの問題なのかなぁ。
そして結局、たらい回しになりそうな希ガス
0900nobodyさん
04/10/03 15:08:05ID:???Indexページで現在参加できる部屋にリンクし、ユーザーは好きな部屋に入り、
各部屋内ではスクリプトとユーザーの投稿によってゲームが進行するようにする予定です。
Indexページで、存在する部屋のリストと、各部屋が参加募集何人しているかを横に表示したいのですが、
IndexページもCGIで出力する予定でしたが、このページはもっともアクセス数が多くなると思うのでできるだけ負荷減らしたい。
そこでページが要求されるたびにCGIで出力するのではなくて、ページが更新されるたびにCGIでhtmlファイルを鯖内に作成し、
これをユーザーに見せるようにすれば負荷が軽くなるかな?と思ったのですがどうなのでしょうか
使用言語はPHPとMySQLです。
0901nobodyさん
04/10/03 15:31:19ID:???0902nobodyさん
04/10/03 15:48:41ID:???確かに、相手のサーバに接続できない場合、socket_set_timeout() で設定した
タイムアウト時間が過ぎても無反応になる。
同じ問題で困った時には、socket_set_blocking() で non-blocking モードにして、
自分でタイムアウト処理を書いて回避した。
0905nobodyさん
04/10/03 18:27:51ID:2j245/56バグが自分では解決できませんでした
$passはフォームからPOSTで受け取っています
〜login.php〜
session_start();
$fp = fopen("./pass.txt","r");
$fps = fgets($fp, 32);fclose($fp);
if($_POST['pass'] == $fps){
$_SESSION['login'] = 1;
header("Location: http://********/***.php");
}else{print("パスワードが違います");}
〜移動先〜
session_start();
if(isset($_SESSION['login'])){
}else{header("Location: http://********/login.php");}
バグは、パスワードが合っていてもlogin.phpに飛ばされて
一度パスワードを間違えてから正しいものを入れるとやっと認証されます
ご指摘の程、よろしくお願いします
0906nobodyさん
04/10/03 18:47:39ID:???要するに header("Location: 〜")した時にsessionが引き継がれないってことかな?
それは正しい動作です。
どうしてもsessionを引き継ぎたい場合は Locationの時に明示的にSIDをつけましょう。
0907nobodyさん
04/10/03 18:48:39ID:???一桁までは 0x0〜0xF をキーにした連想配列でやってたのですが
2桁はさすがにちょっと・・・
if (substr($str, 0, 2) == '0x') {
echo HexDec(substr($str, 2));
}
0909nobodyさん
04/10/03 19:00:06ID:???Locationは302 foundだからSession Cookieセットされるし、
飛び先でブラウザはSessID送信するけど。
0910nobodyさん
04/10/03 19:20:44ID:cGVfVdlB前者の方が高速です。
0912nobodyさん
04/10/03 19:22:11ID:cGVfVdlBリロードしてびっくりしました。
ほんとだ、、ヘルプちゃんと見てなかったですね。
それなら何も使わずそのままいけますね。
ありがとうございます。
0917nobodyさん
04/10/04 00:25:36ID:???サーバサイドスクリプト自体が初めてです、というか
Webプログラミング自体が初心者です。
JavaScriptなら趣味で少々という程度。
PHP+mySQLの組み合わせだそうです。
0918nobodyさん
04/10/04 00:28:58ID:???0919nobodyさん
04/10/04 00:29:37ID:???長文をiモード用に出力する時に、10kbまでとかに抑えたいのですが。。。
一文字一文字を、文字コードから英数字→1byte、日本語→2byteとかやるのは、
我ながら「ちょっと違うな。。。」という気がするので。
0920nobodyさん
04/10/04 00:34:18ID:???PHP: Strings(文字列関数) - Manual
http://jp2.php.net/manual/ja/ref.strings.php
0921カポコン
04/10/04 01:07:47ID:???しかし、
<?php
$hoge = 123;
echo($$hoge);
?>
はエラーではない。
0922nobodyさん
04/10/04 01:09:25ID:meht8xax何時から何時まで、と、名前を入れると、スケジュール表に表示されて、
誰がどの会議室を予約しているかが分かる奴です。
よろしくお願いします。
0923nobodyさん
04/10/04 01:12:36ID:???0924nobodyさん
04/10/04 02:03:57ID:???有料でよければいくらでもあるんじゃない。
Web製作板にCGI捜索スレがあるから向こうで聞いてみるといいかも。
こっちは作る板なんで板違いってことになってるのだよ。
0925nobodyさん
04/10/04 05:44:44ID:bD/BtCvp0927nobodyさん
04/10/04 08:51:39ID:yuKvwDKrそのプログラム自身が得る方法はありますか?
あるフォルダー内のすべてのPHPスクリプトファイルに
書かれたクラス名の一覧を得ればいいのかな?
でも、ファイル一覧なんて得られる?
他にもアイデアはありませんか?
0928nobodyさん
04/10/04 09:36:02ID:???get_declared_classes() という関数が使えるのでは?
システムに組み込まれているクラスも含まれてしまうのが問題かも
しれないけど。
0929nobodyさん
04/10/04 09:44:35ID:yuKvwDKr参考になります。ですが、問題点もご指摘の通りです。
0930927
04/10/04 09:55:53ID:yuKvwDKr良いのですが、それも得るのは難しい?
0931nobodyさん
04/10/04 11:33:59ID:???システム組み込み関数を外したければ以下のように
すればできるんだけど。
// スクリプトの最初でシステム組み込みクラスを取得
$a = get_declared_classes();
//... クラス読み込み ...
$b = get_declared_classes();
print_r( array_diff( $b, $a ) );
あるクラスの子クラス一覧を取得する方が手間がかかる。
0932nobodyさん
04/10/04 12:10:29ID:???つく。
http://www.kabuguide.com/はトップページがPHPだけどPR4
0933nobodyさん
04/10/04 12:11:42ID:2BmYiFW6外部プログラムの出力結果を変数に代入したいのですが、
system関数を使うと、そのまま出力結果が出力されたうえ、最後の一行しか変数にも代入されていません。
たとえば、
$str = system( 'echo \'hoge \n piyo \n\'' );
echo "str = $str";
とすると、
出力されるのは、
hoge
piyo
str = piyo
です。最初の二行はソースの echo $str; を除去しても出力されsystem関数が自動的に出力しているものだと思います。
そして、$str には出力結果の最後の行しか代入されていません。
目的をかなえるためにはどうしたらよろしいでしょうか?
お知恵をお貸しいただけないでしょうか。よろしくお願いします。
0935nobodyさん
04/10/04 12:25:56ID:yuKvwDKrありがと。それで試してみる。
0936nobodyさん
04/10/04 13:24:57ID:???取り合えず貴方はマニュアルを読むクセをつけた方が良いと思う。
http://jp2.php.net/manual/ja/function.system.php
# こうすれば、という直接の回答ではないよ。
0938nobodyさん
04/10/04 14:20:46ID:rKN1tExDfunction make_seed(){
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
PHPマニュアルにのっていたのだと、短い間に連続で乱数を生成するときに
どうしてもかぶってしまいます。範囲が狭いからだと思うのですが、1から9の
数字を適当にばらける生成方法はないでしょうか?
while($flag){
srand(make_seed());
$rand = rand(1,9);
print $rand;
}
0939933
04/10/04 14:28:35ID:???ありがとうございます。(指導を含めて)
webで調べたとき、「systemは出力全てが返り値で、execは出力の最後の行のみが返り値になる」という風に書かれているページを初めの方に読んでそのまま鵜呑みにしていたため余計な先入観がありました。
今後はきちんとマニュアルを読んでいきます。
0940nobodyさん
04/10/04 14:38:37ID:???srand(make_seed());
while( $tmp == ( $rand = rand(1,9 ) ) )continue;
print $rand;
$tmp = $rand;
}
0941nobodyさん
04/10/04 14:55:44ID:???imap_open関数の質問です。
この関数はapop対応はどうやったらよろしいんでしょうか?
phpのマニュアルを読んでもそれらしいことが書いてなかったので
わかる方がいらっしゃったら教えてください。
よろしくお願いします。
0942nobodyさん
04/10/04 14:59:04ID:???0943nobodyさん
04/10/04 15:06:25ID:???0944nobodyさん
04/10/04 15:09:51ID:???短い間ってのは関係ない。乱数なんだから被るのはあたりまえ。
あと、シードは勝手に植えられるので初期化は忘れてもよくなってる。
randではなくmt_randの使用が推奨される。
940にもあるけど、やりたいのは値の(文字通りの)ハッシュ化なんじゃ。
0945nobodyさん
04/10/04 15:12:55ID:???俺もオモタ。
必要なだけ値をプールしておいてランダムな順番で取り出すのが常套かと。
>>943
マニュアルを検索しなさいよ。
0946nobodyさん
04/10/04 15:16:46ID:???http://php.s3.to/man/function.imap-open.html
imap_open関数はプロトコルが違うpop3も扱えるのでapopも
扱えるかと思ったんですけど無理ですかね。
0947nobodyさん
04/10/04 15:17:12ID:???名前で間違えやすい。
IMAP関数は名前のIMAPだけじゃなくて、POP関係の機能も内包してる。
APOPは使ったこと無いから判らん。
0949nobodyさん
04/10/04 15:30:29ID:hc/DHFsc無理ですか、残念です。
仕方がないのでPearを使いたいと思います。
http://www.1x1.jp/php/manual_pear/package.networking.net-pop3.login.html
ありがとうございました。
0950nobodyさん
04/10/04 15:35:20ID:Cboj2mbR今は、fopen($file, "w")で出来ているので、これでも良いのかな。。
touch()でも生成できるみたいですが、
生成専用の関数ってあるのでしょうか?
ファイルシステム関数を見ているのですが、頭がこんがらがってきました。
0951nobodyさん
04/10/04 15:35:55ID:???http://pecl.php.net/package/POP3
0952nobodyさん
04/10/04 16:35:07ID:???srandはwhileループの外(スクリプトの最初)に置くべき
同じ値でsrandをしたら、randで同じ値が返るのは当たり前。
>>944-945の言うように全て違う値が欲しい場合、自分ならこうするが
$arr=range(1, 9);
shuffle($arr);
foreach ($arr as $val) {
echo $val, "\n";
}
>>950
ファイルを生成して、その中身に変更を加えたり読んだりする場合は
普通fopenを使う。touchでファイルが出来るのは副作用。
そのファイルの内容を扱うつもりなら結局fopenを使わないとならない。
というか、ファイルの内容を扱う際にはファイルハンドルが必要。
逆に言うとファイルハンドルを使用しない関数では中身を扱うことは出来ない。
その様子だと、ファイルハンドルという概念が欠落しているように思えるけど、
fopenとtouchの返り値の違いはどう認識してんの?
0953nobodyさん
04/10/04 17:25:42ID:???<script type="text/javascript" src="xxxx.php?a=aaa"></script>
なんてタグでパラメータを渡し、
phpの方が document.writeを吐いてやればいいかと思うのですが、
他にPHPにパラメータを渡す方法はないでしょうか?
value="aaa" みたいにタグで渡せれば最高なんですが…
0955nobodyさん
04/10/04 18:55:43ID:???http://developer.apple.com/internet/webcontent/xmlhttpreq.html
これを使えばページ切り替え無しに動的にサーバに変数を送れるよ
0957nobodyさん
04/10/04 22:22:29ID:???プログラムを作成してるのですが、上手くいきません…
if(isset($_POST['check'])=="true"){
header("Location:page2.htm");
exit;
}
いちばん初めに
<?php header("Content-Type:text/html;charset=EUC-JP"); ?>
というヘッダーを宣言してるんですが、これが原因でしょうか…
0958nobodyさん
04/10/04 22:28:51ID:???if($_POST['check'])
でいいんでないかい?
0959nobodyさん
04/10/04 22:29:07ID:???>いちばん初めに
><?php header("Content-Type:text/html;charset=EUC-JP"); ?>
>というヘッダーを宣言してるんですが、これが原因でしょうか…
それなら質問するより先に、その部分を削って試すべきなんじゃないか?
0960nobodyさん
04/10/04 22:31:23ID:???はて、なんで、?>で閉じられているのだろう。
余計なものを出力済みなオカソ。
0961nobodyさん
04/10/04 22:37:04ID:???0962nobodyさん
04/10/05 00:10:32ID:???エラーくらい書けってのな。
たぶんヘッダーが二重になってエラー出てるんでしょ。
if文を文書の先頭に持っていけば解決。
0963nobodyさん
04/10/05 01:10:31ID:???0964nobodyさん
04/10/05 01:28:59ID:???0965nobodyさん
04/10/05 01:37:35ID:???HTTP1.1的にはそんなことある。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
0966nobodyさん
04/10/05 01:41:47ID:???0967nobodyさん
04/10/05 01:44:29ID:???0969nobodyさん
04/10/05 02:57:01ID:???携帯サイト作ったときにハマったなぁ・・・
ドコモの一部機種ではフルパスで書かないとジャンプしないから。
ってか、かなりスレ違いスマン
0970nobodyさん
04/10/05 05:17:37ID:pcuRA4sslibxml2が必要と言われ、
libxml2を入れようと思ったら
glibc-2.3が必要と言われ、
glibc-2.3を入れようと思ったら
glibc-common = 2.3.2-27.9.7 is needed by glibc-2.3.2-27.9.7
glibc > 2.2.4 conflicts with glibc-common-2.2.4-13
glibc > 2.2.4 conflicts with glibc-common-2.2.4-19.3
glibc = 2.2.4 is needed by glibc-devel-2.2.4-19.3
と言われました。
これは、RedHat7.3には入らない、ということでしょうか?
なんとかして入れる方法はないでしょうか?
0971nobodyさん
04/10/05 08:41:09ID:???if(isset($_POST['check'])==true){
0972nobodyさん
04/10/05 08:54:37ID:???if (isset($_POST['check']) {}
0975nobodyさん
04/10/05 09:34:13ID:???0977nobodyさん
04/10/05 13:35:41ID:dS8mMcyDに設定した状態で
Master Value EUC-JP
Local Value UTF-8
になってしまうのはどんな場合でしょうか?
0978nobodyさん
04/10/05 13:46:13ID:???httpd.confの<VirtualHost>や<Directory>で設定されている。
もしくは、.htaccessで設定されている。
0979nobodyさん
04/10/05 13:48:49ID:???mb_internal_encoding("UTF-8");
ini_set('mbstring.internal_encoding','UTF-8');
のどっちかだと思うけど。
0980nobodyさん
04/10/05 15:30:19ID:hoOclm0Oこんな感じのスクリプトってない?
0982nobodyさん
04/10/05 15:33:37ID:???例えば、あるソフトのVerUPが乗ってるHPを1日1回調べて
VerUPしてたら、その内容を取り出してきてtxtに書き出すとかいうの。
0983nobodyさん
04/10/05 15:35:24ID:???0984nobodyさん
04/10/05 15:38:40ID:???やっても素人には難しいか、
Yes、NOで答えて
0985nobodyさん
04/10/05 15:44:33ID:???猿なら出来る。馬と鹿には無理。
0987nobodyさん
04/10/05 15:47:55ID:???他の言語を使うよりは可能性があるだろ。試してみればいい。
0988nobodyさん
04/10/05 15:50:34ID:???何ならやれるだろう
Jscript?
0989nobodyさん
04/10/05 15:52:00ID:???0991nobodyさん
04/10/05 15:56:10ID:hoOclm0Oそのスレどこにあります?
0992nobodyさん
04/10/05 15:57:19ID:???コード量なんて初期の学習コストに比べれば誤差にもならね
それに、言語構造複雑な方が短くなるケースは多いよ。単純な処理の場合特に
0993nobodyさん
04/10/05 15:57:26ID:???そうだ、複数行文字列を print するところを
?>
...
...
...
...
<?php
でくくると短かくなるNE! (・∀・)
0994nobodyさん
04/10/05 15:58:37ID:???これ
http://pc5.2ch.net/test/read.cgi/hp/1087986364/
0996nobodyさん
04/10/05 16:00:18ID:hoOclm0O0997軟式PHP
04/10/05 16:01:39ID:???0998nobodyさん
04/10/05 16:25:09ID:d6yyUuwZこのとおり、やってもALERT!ってでできます。php4.3.9、an httpd
cgi ってほうとモジュール版両方やりました。どっちもできませ
forceなんとか=0って何回もやったけど無理でした。
windows xpですが、だれかわかる人いたら助けてください
1000nobodyさん
04/10/05 16:46:28ID:???ちょっとドキドキ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。