【PHP】質問スレッド Part4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/02 15:32ID:f3afNVBG<<参考>>
■本家
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を見よう。
・・・ほんとに?
configure見ると思いっきり
--enable-mbregex
Enable multibyte regex support
って書いてあるんだけど・・・>PHP4.2.0/PHP4.2.1
0204nobodyさん
02/06/23 18:38ID:kqip7CeK$fp = @fopen("/tmp/counter", "r+");
// ファイルがなかった場合、ファイルを作る。
if( !$fp ) {
$fp = fopen("/tmp/counter", "w");
}
// 重要。説明は下で。
set_file_buffer($fp, 0);
flock($fp, LOCK_EX);
rewind($fp);
$buf = fgets($fp, 1000000);
if( !$buf ) {
$buf = 1;
} else {
$buf++;
}
rewind($fp);
fputs($fp, $buf);
flock($fp, LOCK_UN);
fclose($fp);
itboostのロックの頁を見たら、上のようなソースが載っていた。
自分はfopen($file,"w")をしたときにrewindなんてしなかったんだけど、
rewindって必要なの?それともロックとかかけるときのみ必要なの?
0205縞栗鼠(シマリス)の親方
02/06/23 18:45ID:ZSSdFO5T汚物入れを物色して女子生徒の使用済みタンポン・ナプキン等を
個人的に収集しているというのは事実。
中央高等学院では
生徒及びその保護者の個人情報を名簿図書館等に売却しています。
中央高等学院 http://chs-f.com/index.html 中央高等学院福岡校
http://www.chuo-school.ac/
0208nobodyさん
02/06/24 01:16ID:0X7UgTkp0209nobodyさん
02/06/24 02:37ID:???<select name="array[]" size=20 multiple >
このように複数行選択した内容を扱いたいけどつかえないよ。
一応、他の変数のように
$array[] = $_REQUEST["array[]"];
このようにしたけど、空の値が入るだけ。
どうすりゃいいの?
昔はできたのに・・・・
ガイシュツだったらスマソ
0210名無しさん
02/06/24 03:49ID:???0212nobodyさん
02/06/24 21:22ID:v5JHJkLyという文字列の "63861" の部分を "f975" のように
16進数に変換し、
$str = "&#f975;";
というようにしたいのですが、書き方がわかりません。
$str = preg_replace( "/()([0-9]{5})(;)/", "$1$2$3", $str );
↑どう書けばいいのでしょう?
わかる方いたら教えてください。
m(__)m
※ちなみに全角にしているのは文字化け防止です。
0213nobodyさん
02/06/24 21:53ID:???強引にやってみた。駄目かなあ。。。
<?php
$str='&#63861;';
$str=dechex(eregi_replace("(&#)([0-9]*)(;)","\\2",$str));
$str='&#'.$str.';';
echo $str;
?>
0214nobodyさん
02/06/24 22:07ID:v5JHJkLyレスサンクス.
でも
$str = '&#63861;'
だけの時はいいんだけど
$str = 'わたしは&#63861;です。';
とかだったりするとだめっぽいです。
うーん。
0216nobodyさん
02/06/24 22:59ID:???0217sage
02/06/24 23:45ID:v5JHJkLy汚いけどナントカ動きました。
一度にやらなければそんなにむつかしくなかったです。
$str = "&#63861;";
preg_match_all( "/([0-9]{5});/", $str, $match );
for( $i=0; $i<count( $match[0] ); $i++ ) {
$match[1][$i] = '' . DecHex( $match[1][$i] ) . ';';
$str = ereg_replace( $match[0][$i], $match[1][$i], $str );
}
return $str;
0218nobodyさん
02/06/25 00:10ID:P4v4WPT0$str = "掠";
$str = preg_replace("/()(\d*)(;)/", "$1" . dechex("$2") . "$3", $str);
print $str;
0219nobodyさん
02/06/25 00:17ID:pVNEMAn7sybaseの拡張モジュールってあるのでしょうか?
※WindowsからLinuxにあるsybaseへアクセスしたい。ODBC無で。
0220216
02/06/25 00:41ID:???んな面倒なことせんでも2行でおさまるが。
$str = "掠";
ereg("([0-9]+);", $str, $match);
$str = "".sprintf("%x", $match[1]).";";
0221nobodyさん
02/06/25 01:35ID:???ありがとうございます。
でも、それだと >>214 でも書いたんだけど
$str = 'わたしは&#63861;です。';
のようなときにうまく動かないのです。
0223216
02/06/25 01:49ID:???$regRule = "(.*)([0-9]+);(.*)";
while(ereg($regRule, $str, $match))
$str = $match[1]."".sprintf("%x", $match[2]).";".$match[3];
0224nobodyさん
02/06/25 02:15ID:vEnhn/oCProxyのプログラムをPHPで作りたいです。
これが、一番参考になるかな〜って思ったけど
http://php.s3.to/net/kusi.phps
でも、駄目。
cURLを利用して、作りたいんです。誰か、つくりかた、おせて!
わからん...
0227nobodyさん
02/06/25 20:31ID:9ydA7d41何がどう駄目なんだよ!
だって、次のページへ進むとProxyがはずれるし、
Javaに対応してないし、
フレームにも、対応してないじゃん。
作りが、あまいの
もっと、プロ仕様にしてくれなきゃ。
0228nobodyさん
02/06/25 20:33ID:9ydA7d41cURLを使ってよ。
LetsPHPでしょ。Letsして!藁
0229nobodyさん
02/06/25 20:36ID:???―――┴┴┴┴┴―――――、
/.  ̄ ̄ ̄//. ̄ ̄| || ̄ ̄ ̄||| ̄ || __________
/. ∧// ∧ ∧|.|| ||| || /
[/____(゚_//[ ].゚Д゚,,) ||___||| || < 224=227=228を迎えに来ました
||_. * _|_| ̄ ̄ ∪|.|. .|ヽ. _|| \__________
lO|o―o|O゜.|二二 東|.|京 精神 .病院 ||
| ∈口∋ ̄_l__l⌒l_|_____|_l⌒l_||
 ̄ ̄`ー' ̄ `ー' `ー' `ー'
0230nobodyさん
02/06/25 22:37ID:???0231nobodyさん
02/06/25 22:38ID:24biITUFhttp://php.s3.to
作った人、きっと、見てんでしょ。藁
0232nobodyさん
02/06/25 22:47ID:???0233nobodyさん
02/06/26 10:35ID:???0234nobodyさん
02/06/27 02:54ID:oQ+aVv2C君だけだよ
もれのセンスがわかってくれるの。藁
もうちょっと、ちゃんと作って欲しいよね〜って感じ。煽
0235nobodyさん
02/06/27 04:38ID:???クッキーが使用できない携帯端末などを想定して
<A href="hoge.php?<?=SID?>">Next</A>
などとして持ちまわっていたのですが、どうしてもformタグを使用しなくて
はならず
<form action=hoge.php?<?=SID?> method=POST>
としてみたらiモードでうまく持ち越せました。
同様にJフォン対応にするべし!と思い
<form action=hoge.php?<?=SID?> method=GET>
としてみましたが撃沈してしまいました。
諦めるしかないのでしょうか?
0237nobodyさん
02/06/27 15:32ID:???0238nobodyさん
02/06/27 23:01ID:???配列のキーに文字列入れてソートすると、その文字列消えちゃって
整数に変わっちゃうのですが、これを簡単に回避する方法って
何かありますか?というかこれって仕様ですか?
foreach($dat as $line){
list($lasttime,$title,$admin,$comment,$url)=explode("<>",$line);
$mix_data[$lasttime][]=array($title,$admin,$comment,$url);
}
print_r($mix_data);←ここでは文字で出てきてる(2002/06/27(Thu) 22:58みたいな)
rsort($mix_data,SORT_STRING);
list($key,$value)=each($mix_data);
print_r($key);←ここになると0、1になっちゃう
0239nobodyさん
02/06/28 21:43ID:MwZT+i3a<input type=checkbox name="target" value="2"> 2 <br>
<input type=checkbox name="target" value="3"> 3 <br>
こんなフォームを受け取った場合に全部のcheckboxを見るにはどうしたら良いかの?
2つ以上チェックしたとき、$_POSTや$_GETだと最後のチェックしか見えないのだが。
0240nobodyさん
02/06/28 22:37ID:???0242239
02/06/28 23:21ID:???0243nobodyさん
02/06/28 23:49ID:???#!/usr/local/bin/php
<? phpinfo() ?>
とかってやると、先頭に
#!/usr/local/bin/php
と出力されてしまいます。なで?
0244nobodyさん
02/06/29 01:33ID:???ここのHTTPクライアントで、Hoops!のページを取得しようとしたんですが、
HTTP/1.0 200 OK
Date: Fri, 28 Jun 2002 16:28:33 GMT
Server: Apache/1.3.14 (Unix) mod_perl/1.24_01
Content-Type: text/html
X-Cache: MISS from squid4.hoops.hoops.ne.jp
Connection: close
HTTP によるリクエストが不正です.可能性のある問題は以下の通りです:
リクエスト方法が指定されていないか,あるいは不明です.
URL がありません.
HTTP 識別文字列がありません (HTTP/1.0).
リクエストが長すぎます.
POST/PUT リクエストにおいて Content-Length がありません.
ホスト名に不正な文字が使われています: アンダースコアは使えません.
のように取得できませんのです。
アパッチじゃなくスクイドサーバーというの使ってるみたいなんですが、
この場合どないすれば良いでしょうか。
何を加えればよろしいでしょうか。
0245nobodyさん
02/06/29 02:55ID:???は
"Server: Apache/1.3.14 (Unix) mod_perl/1.24_01"
と返すのですか?
0246244
02/06/29 03:41ID:???ここにスクイドって書いてありますけど、
なんなんでしょうか、これ。
0247nobodyさん
02/06/29 07:58ID:???0248nobodyさん
02/06/29 11:29ID:nVQfumhW↑こんな感じでCGI版PHPを起動しているのですが
-c 指定が効かずに /etc/php/cgi の php.ini が使われてしまいます.
# phpinfo()で確認
http経由でなくコマンドラインから上記スクリプトを実行してもダメでしたが
/usr/local/bin/php -c /home/hoge/php.ini -i
のようにphpを起動すると,意図通りのphp.iniを使ってくれました.
CGI版PHPで任意のphp.iniを使うことは不可能なのでしょうか?
環境は以下の通りです
PHP/4.0.3pl1
Apache/1.3.9
Debian/GNU Linux 2.2
0249uho!
02/06/29 12:27ID:???教えてください。
【Bulknews】
http://bulknews.net
0250nobodyさん
02/06/29 13:27ID:???やるにしてもリクエストが多いなら、
宮川たんに許可を取ってからにして下さい。
0252nobodyさん
02/06/29 15:04ID:???0253nobodyさん
02/06/29 21:39ID:???でも、こういう点でうまくいかない(こんなメッセージがでる)。
どうすりゃいい?
くらいの聞き方はしてほしい。
0254nobodyさん
02/06/29 22:02ID:???これはうちのサイトがニュースサイトだから、かなり個人的な。
Perlでならできた。だけど負荷が高いから一時停止してPHPに乗り換えようとしています。
これでいいですか、>>253さん?
0255nobodyさん
02/06/29 23:15ID:???か?
0256PEAR太郎
02/06/30 00:47ID:???答えが見つからないので、どなたかご存知の方おられましたらお知恵を
お貸しください。
以下のようなソースを書き、結果をブラウザーに出力しデバッグしているのですが、
すべての答えにDB_OK(データ無しだがSQL成功)が帰って来まして、どの答えにもデータがのって来て
くれません。どなたかPEAR上で、FETCHによりデータを取り出す方法をご存知無いでしょうか?
#同SQLはPSQLにてテストし、思い通りのデータが取り出せております。
$sql = "BEGIN WORK;";
$res = $db->query( $sql);
print_r( $res);
$sql = "DECLARE cur CURSOR FOR select * from data;";
$res = $db->query( $sql);
print_r( $res);
$sql = "FETCH 20 FROM cur;";
$res = $db->query( $sql);
print_r( $res);
$sql = "CLOSE bbs_cur;";
$res = $db->query( $sql);
print_r( $res);
$sql = "END WORK;";
$res = $db->query( $sql);
print_r( $res);
いや・・・なんていうか。
$resの中に何が入っているか勘違いしてるような。
http://pear.php.net/manual/ja/core.db.tut_fetch.php
この辺参照。
0259nobodyさん
02/06/30 02:37ID:???0260PEAR太郎
02/06/30 10:40ID:???普通にsql文に"select * from hoge"等とし、$resにDB_Resultが返って
来て、それに対してfetchする一般的な処理は理解できるのですが、
queryによって返ってくるのが、上記カーソルの例の場合DB_Resultではなく、
DB_OKばかりなのです。FETCHでDB_Resultが返って来てくれることを
期待したのですが・・・
0261Power
02/06/30 16:32ID:I8dOrvMOセッション変数とかで出来るのでしょうか?
0262nobodyさん
02/06/30 17:06ID:???レッツPHPの「PHPあぷろだ」を使いたいのですが、
ある特定の拡張子のみ(jpgとか)うp出来るようにしたいのですが、
どのようにすればよろしいでしょうか?
スレ違いだったらすいません
0263nobodyさん
02/06/30 19:16ID:???レッツPHPとやらのURLくらい書いておけよ
if($pos=="") $ext='xxx';//拡張子が無いときはxxx
↑この行があるが、これを見てピンとこないのか?
ちとは自分で考えれ
0264nobodyさん
02/07/02 16:09ID:???0265nobodyさん
02/07/02 16:40ID:xZuMtSlY2ちゃんねるのdatファイルを読み込みたいのですが
どうしたらよいのでしょうか?
0267nobodyさん
02/07/02 16:46ID:xZuMtSlY要約すると
素人にはお勧めできない
ってことですか?
0268初期不良
02/07/02 16:54ID:LBDwMoL/ふつうに fopen とか
http://www.php.net/manual/ja/function.fopen.php
0269nobodyさん
02/07/02 19:17ID:mUq62rt1$site = 'http://aaa.bbb.ccc.com';
print "<a href=\"$site\">ABC</a>";
これってエスケープしないで書く方法ってないの???
Perlはあるのに。。。
0270nobodyさん
02/07/02 20:09ID:???0271nobodyさん
02/07/02 20:19ID:???$format = '<A href="%s">ABC</A>';
printf($format, $site);
0272244
02/07/02 20:37ID:???つける必要ってあるんか?
0273nobodyさん
02/07/02 21:30ID:mUq62rt1> つける必要ってあるんか?
ま、特に無いですけど、気持ち的にですね。
ちなみにヒアドキュメント以外でと思っていたのですが、
やはりないのでしょうか。prinfもちょこっとめんどくさいし。
perl風に print qq(<a href="$site">ABCDEF</a>); とかないんですかね〜?
0274244
02/07/03 00:08ID:???二重引用符から二重引用符まで、
となってるので、
echoなりprintなりする場合は、
' """"""""""""""""""""';
ということで。逆もまたアリ。
がんがれ。
0275おぶじぇくと歯垢
02/07/03 01:39ID:J1Ir7H21なんで くらす とか ふぁんくしょん とか使わなくちゃいけないのか
さっぱりわからん。
ふぁんくしょんっっ〜のは平たく言えばサブルーチンの事?
くらすにいたっては完全にわけわかめ。
0276nobodyさん
02/07/03 02:11ID:+bzS6Uur何回も繰り返し処理をするものや同じ記述をコード内に繰り返すものを
ファンクションでサブルーチン化、これ便利ね。
ある程度まとまった複雑な処理をする場合、これをクラス化して内部の
関数を取り出したり再利用することができるこれがクラスね。
で、PHPでどこまでのものつくるかしらんがちょっとした程度のもんなら
クラスなんてつかう必要はない。
0280nobodyさん
02/07/03 20:59ID:govsnHFj動きません。gdは1.8.4
redhat7.3つかてるんだけどもgdは最初から組み込まれているみたい。
rpm -eしてからmake installとかして--with-gdとかにしてるんだけど
やるとapacheが起動しなくなります。へるぷ
0281nobodyさん
02/07/03 21:00ID:???form.html(下記参照)にてテキストボックスに
文字を入力し、submitボタンで送信しましたが、
display.php(下記参照)に何も表示されません。
原因としては何が考えられるでしょうか???
phpのバージョンは4.2.1です。
form.htmlのソース
<html><body>
<form action="display.php" method="POST">
<input type="text" name="fName" size="30"><br>
<input type="submit" value="submit">
</form>
</body></html>
<html><body>
<?
print $fName;
?>
</body></html>
display.phpのソース
<html><body>
<?
print $fName;
?>
</body></html>
0282nobodyさん
02/07/03 21:16ID:R6CLh4kMでなくて
print $_POST["fName"];
0285Power
02/07/04 11:27ID:6mswN9rJheader("Location: http://www.php.net/");
上記を実行すると下記のエラーが発生します。
どして?
Warning: Cannot add header information - headers already sent by
(output started at /test/test.php:7)
0286nobodyさん
02/07/04 11:48ID:???検索すればすぐに解明できそうなものを。。。
0288nobodyさん
02/07/04 18:10ID:???送る側
return($list);
受け取る側
$list=$this->hoge();
while(list($key, $value) = each($list)) {
処理・・・・
}
と書いてますが、値が全然取れません。送る前に値が入っているのは確認しました。
明確に「配列だよ〜ん」と書く必要がありますか? それはPHPでどうやって・・・?
すみません、よろしくお願いいたします。
0289nobodyさん
02/07/04 18:57ID:???えっと、header関数が組み込まれる前になんか文字とか出力されてると
そんなエラーでまつ。とゆーわけでheader以前のprint文なんかを確認するとか、もしくは
<?php ?>で囲まれてない部分にスペースとかなんか文字がかかれているとエラーになるので
そんなのも確認してみまSHOW
0290あ
02/07/04 19:53ID:bt2uu3Sk0291nobodyさん
02/07/04 20:35ID:???0292nobodyさん
02/07/04 20:36ID:???0293nobodyさん
02/07/04 23:42ID:dLbCkgI+できないですかね?できないですよねぇ…
0294nobodyさん
02/07/05 00:52ID:???0295nobodyさん
02/07/05 01:52ID:jFz8E7Y4whileの前で$listの中身確認してみては?
0296nobodyさん
02/07/05 07:14ID:???これはどうなんでしょ
0297nobodyさん
02/07/05 10:32ID:C173d5WVマウスクリックイベントを取得することはできないのですか?
getkeystate みたいなやつとか・・
0298nobodyさん
02/07/05 10:42ID:???0299293
02/07/05 12:37ID:bJdk03R6お、それFlashもわかるみたいでいいですね。
でも共用レンタルサーバなのでbrowscap.ini がインストールできない。。
■ このスレッドは過去ログ倉庫に格納されています