トップページ⇒php
1001コメント353KB

【PHP】質問スレッド Part8

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/04/14 00:52ID:???
■本家
 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
0508nobodyさん03/06/08 00:26ID:???
国際化版PHPでjcode.phpを使い。
0509nobodyさん03/06/08 00:34ID:???
>EUC-JPとかUTFよりも「Shift_JIS」のほうが名前がクールだし。
俺には全部似たようなものに見える。。
0510nobodyさん03/06/08 00:38ID:g6xWac4n
あるHTMLタグを含んだ文字列の置換でタグを以外を
置換したいのですけどなにかいい関数とかないですか?
タグを除去する関数はあったのですが、それだと
タグ情報が失われてしまうので・・・
0511nobodyさん03/06/08 00:43ID:???
簡単なコンテンツフィルタを作ろうとしていますが

$inq = array('ち●ぽ','チ●ポ','チ●ポ','ま●こ','マ●コ','マ●コ','●す','●した','●イプ','●せる','爆●','放●');

foreach($inq as $yu){

$rps = ereg_replace($yu,'', $sub[3]);

$sub[3] = $rps;

}

を実行すると
$rps = ereg_replace($yu,'', $sub[3]);
の所で
Warning: REG_EMPTY: in
がでます。構文に問題あるんでしょうか。さっぱりわからないんでお助け
ください。よろしくお願いします
0512nobodyさん03/06/08 00:49ID:???
バイナリを出力しつつ文字データをエンコードってな時に
SJISだと手が抜ける。
051351103/06/08 00:50ID:56soIgor
●の中身は何かとかはきにしないでください
0514nobodyさん03/06/08 00:50ID:???
ぱっと見コードに問題なさそうだし、SJIS絡みの問題じゃないかな。
051551103/06/08 00:54ID:???
文字コードは多分SJISのCRLFです。エディタを見ての判断ですが。
実行するマシンはWin98+AN HTTP、PHP4.2.3です。
0516nobodyさん03/06/08 01:03ID:???
>510
preg_replace() じゃだめなん?

>511
変数名は分かりやすい物を使ってください。
見たことないエラーなので、その文だけだとよく分からないのですが、
EMPTYというからには $yu か $sub[3] が空なのかもしれません。
echo ' yu= ' . $yu . ' <br> ' . ' sub[3] = ' . $sub[3] . ' <br> ' ; とやって
変数が空でないか確認してみてはどうでしょうか。

変数が空ではない場合、文字コードの問題が考えられます。
タイムリーですね。
0517nobodyさん03/06/08 01:56ID:???
>502
それは良くやる>出力はSJIS
何故ならケータイなどでSJISしか読めない端末もあるから。
(あとMSのExcelはSJISのCSVじゃないと読めない。最近のは知らんが)

ならコードもSJISにすればと思うかもしれんが、どちらにしてもケータイの
SJISは特殊なため、ちょっとした変換が必要な点はパッチを当てて
SJIS対応させたPHPであっても変わらないので、SJISにする意味もない。

ただPHP4.3以降はパッチ不要できちんと設定すれば、コードはSJISで書いても
まあ問題ないので、その辺のケータイの特殊性を無視して"手抜き"するんだったら
SJISで書くのも悪くは無い。"手抜き"による弊害は認めた上でね。
0518nobodyさん03/06/08 02:34ID:???
zlibで圧縮されたHTMLファイルをgzinflateすると以下のようなエラーが出てしまいます。
Warning: gzinflate(): data error in C:\hoge.php on line hoge

# ソース
$gzdata = ヘッダを取り除いて本体だけを受信
$data = gzinflate($gzdata) // エラー発生

ちなみに一旦テンプファイルに保存してgzopenで読み込むときちんと解凍できます。
$fp = fopen("tmp.gz", "wb");
fwrite($fp, $gzdata);
fclose($fp);

$gzfp = gzopen("tmp.gz", "r");
while(!gzeof($gzfp))
$data .= gzread($gzfp, 600000);
gzclose($gzfp);

どこが間違っているのでしょうか?
051951803/06/08 02:38ID:???
書き忘れましたがバージョンは4.3.2です。
Windows2000上でCGIモードで動かしています。
052051103/06/08 03:15ID:???
みなさんレスありがとうございます。

最新Verにしたら(4.3?)少し変わるのでしょうか。
一度他の文字コードで保存してみます
0521nobodyさん03/06/08 04:35ID:???
php の問題ではないので最新版に変えても
同じ結果になると思います。

Shift_JISを受け付けるならば、ereg_rep() に渡す直前に
$sub[3] = mb_convert_encoding ( $sub[3] , "EUC-JP" , "SJIS" ) ;
とやって文字コードを変換するか、
mb_ereg_match() を使えばお茶を濁せるかもしれません。
052251103/06/08 04:51ID:???
>>521
ありがとうございます。
さっそく検証してみます。

ちなみにここで動いてます。暫定サーバで重いですが100%2chを
ミラーリングしてますよ。多くの有志を求めています。
ぜひご協力ください。
052351103/06/08 04:51ID:???
http://2chlog.net
0524nobodyさん03/06/08 13:13ID:???
漏れは2年のキャリアを持つPHPプログラマーでいくつかのサイトをPHPで
作ってきた。
だが先日会社でこんなことを言われてしまった。
社長「○○(漏れ)君、システムを全てJavaに移行しよう。」
漏れ「え?何でですか?動的ページならPHPで十分ですけど。」
社長「PHPはねぇ、聞かないっていうか、実績がないんだよねぇ。」
漏れ「うちの会社で受けたページ制作の仕事はPHPで作った実績があるじゃないですか。」
社長「今は、Javaなんだよ。PHPの仕事なんか来たことがないだろ。」
漏れ「(零細企業だからじゃないのか?)」
社長「とりあえず、Javaで組みなおし。会社のオンラインシステムもね。」
漏れ「・・・わかりました。」
PHPをバカにするなぁ!何がJavaだ!JavaなんてJavaScriptくらいしか
やったことねーし知らねーよ!そこから覚えなおしかよ!

Javaが嫌いになった金曜の午後ですた。。
0525nobodyさん03/06/08 13:31ID:???
>>524
よく潰れないな
転職は考えないのか?
0526nobodyさん03/06/08 14:28ID:???
>>524
大規模プロジェクトで且つファットサーバが使えないとJAVA使う意味ってないぽ。
ていうか海外のサイトとか見せたら?
0527nobodyさん03/06/08 14:28ID:???
せっかくのステップアップのチャンスなのに嫌がるとは。
0528nobodyさん03/06/08 14:39ID:???
シャチョさんJSPのこといってるのかねぇ?
052952403/06/08 14:43ID:???
>>525
転職はまだ考えてないよ。

>>526
PHPで構成されてる海外サイトを見せてみる。
でもJava案件しか持ってこないんだよなぁ。

>>527
確かにその通り。でも、PHPを否定する社長が許せない。
PHPだってJava並の動作するのにね。

>>528
サーブレットだと思う。
0530nobodyさん03/06/08 15:00ID:???
鳩サーブレット
0531nobodyさん03/06/08 18:09ID:???
>>530
PHPをのどに詰まらせて死ね
0532nobodyさん03/06/08 18:35ID:???
オブジェクト指向言語 鳩
Object Oriented Programming Language Hato.

そしてそれのサーブレット
Hato servlet.

Pigeon servletなんて書く奴は鎌倉大仏前で鳩サブレ喉に詰まらせて死ね。
053353003/06/08 18:59ID:???
だめかなぁ?一世一代のしゃれだったんだけど。
0534nobodyさん03/06/08 20:13ID:???
>JavaなんてJavaScriptくらいしか
>やったことねーし知らねーよ!

JavaとJavaScriptは別もんだからそこからと言うより初めからだな。
0535nobodyさん03/06/08 21:12ID:Wff4a1VR
PHPやデータベースのための雑誌でオススメのものってありますかね?
これは購読しておくといい、みたいな。
0536nobodyさん03/06/08 21:12ID:???
>>535
勉強する気無いなら去れ。
0537nobodyさん03/06/08 21:25ID:???
つーかヨドバシ新宿西店の書籍コーナーでのPHPの冷遇振りってあり得なくない?
書棚が柱の裏側にあるし、すきまが40センチくらいしかないから一人が物色してると
もう次の人間が入れない。両サイドで立ち読まれると出られなくなるし。
Javaのコーナーは無駄に広いくせに !! ガッデム!!

>535
学習はPerlで。コーディングはPhpで。
これ最強。
0538nobodyさん03/06/08 21:42ID:???
>>536
冷淡すぎ。
せめて「過去Log嫁」

真面目に応えるなら「バックナンバーの」Web+DB pressとかかな。
最近はJAVAばかりだが。

>>537
ならばヨドバシ町田店に来るが良いよいょぃ。
0539nobodyさん03/06/08 22:41ID:???
半角のスペースを全角のスペースに変えたいのですが、
うまくいかずに困ってます。
環境はapache1.3.27 PHP4.3.2です。
書いてみた構文が

if(strstr($_GET["data"]," ")){
mb_convert_kana($_GET["data"],"S","EUC-JP");
}

です。
どこがまずいんでしょうか?
054053903/06/08 22:42ID:???
ちなみにエラー文は出ないです。
半角スペースがスルーされてしまうだけです。
0541nobodyさん03/06/08 23:01ID:???
>538
しかし正確には「Web+DB press」は雑誌ではなくて書籍扱いというワナ。
あとWebDBなんちゃらという似たような雑誌かMOOK本が出てたな。
まあ単発で買うなら後者の方が良いかも。

つか、PHPやデータベースのための"雑誌"に限定しないで書籍にするのが吉
0542_03/06/08 23:05ID:???
http://kame.kakiko.com/hiroyuki/hankaku_b01.html
0543直リン03/06/08 23:10ID:+3TQ1ee9
http://homepage.mac.com/yuuka20/
0544nobodyさん03/06/09 00:23ID:???
>>539
str_replaceでは駄目ですか?
0545nobodyさん03/06/09 03:06ID:qpbAHCTa
常にglobalにする変数って、毎回global宣言しないとだめですか?
最初っから(外側から)ずっとこの変数はglobal!って決められないんでしょうか。
毎回書くのがめんどくさいのつд`)
0546nobodyさん03/06/09 03:09ID:???
>>539
"S"ってなんだろ?SJIS?
0547直リン03/06/09 03:10ID:GjkKVS2A
http://homepage.mac.com/yuuka20/
0548nobodyさん03/06/09 03:11ID:???
>>545
定数にしたら?
0549nobodyさん03/06/09 03:26ID:???
>>545
$GLOBALS
0550nobodyさん03/06/09 03:47ID:???
>>539
mb_convert_kanaの返り血は?
0551nobodyさん03/06/09 03:57ID:???
>>545
php.iniに

auto_prepend_file (auto_append_file)

っていうのがある。

これに設定したスクリプトのなかで、defineとか設定するよろし。

ちなみに、httpd.conf や .htaccess にもこの設定が可能。http://php.peach.ac/php_ini.php

055254603/06/09 04:10ID:???
mb_convert_encodingと勘違いしてた。シノウ
0553nobodyさん03/06/09 11:25ID:4vFD1y3S
今、phpでimagemagickを使いたくて、phpをコンパイルしてるんだけど、
まったくもってうまくいかん、
imagickは、0.9.4〜0.9.4まで、
phpは、4.0.6、4.1.2、4.3.2と試したけど、うまくいかん
具体的には、ここの情報を元にやってんだけど、
http://www.1x1.jp/php/manual_pear/pecl.imagick.html
そんで、buildconfigの後に
./configure --help | grep "imagick"
で、オプションが追加されたか確認て感じ。
うまく行ってる人、php、imagickのバージョン教えて
0554nobodyさん03/06/09 15:38ID:7gQlaCxU
専鯖だと、
test.php?id=1
を、
test?id=1
と入力しても表示されるのですが、
xreaだと、test.phpまで入力しないとforbiddenになります。
これはこちら側では設定のしようがないことなのでしょうか?
0555nobodyさん03/06/09 15:44ID:???
さておき555get, zuzaa
0556nobodyさん03/06/09 16:18ID:6WTDa4m6
みてね〜♪
http://www1.free-city.net/home/s-rf9/page002.html
0557nobodyさん03/06/09 19:11ID:???
>>553
まったくもって参考にならないかもしれないけど、XOOPSのgalleryモジュールは
system関数を使ってimagemagickを使っているみたい。
この方法ならimagemagickのサイトからバイナリを落とすだけで使えるし。
あとOS等の環境も書いたほうが的確なアドバイスがもらえると思いますよ。

>>554
.htaccessにOptions +MultiViewsで解決できると思うけど、同じディレクトリに
test.htmlというファイルがあった場合にそちらが参照されてしまうかもしれないし
ちゃんとtest.phpとファイル名をしていしてやったほうがいいんじゃないかな。
0558nobodyさん03/06/09 20:49ID:???
>>545
死ね。アンチ構造化オタ。
055953903/06/09 21:55ID:???
>>550
うっ・・・返り血を変数に入れるのを忘れてますたw
変数に入れてechoをしてみたらうまく行ってますた(汗

>>544
str_replaceでやったらOKですた。
こっちの関数の方が使い勝手が良さそうなのでこっちを使わせていただきます。

多謝!!!
056056003/06/10 11:28ID:HJRG+3BR
2つ以上のファイルを続けてダウンロードしたいのですができますか?
たとえば下記のようなソースではうまくいきませんでした。
multipartとかをつかうのでしょうか?

それとも複数ファイルの転送は意味がなく、圧縮等をしてひとつにまとめないといけ
ないものでしょうか?

0561nobodyさん03/06/10 15:00ID:rbNmg+Hd
cgi版のphpはセッションの挙動も違ってきますか?
モジュール版で正常に動いていたファイルを、
cgi版を使ってる鯖に持っていったら微妙に異常動作します。
セッション変数が思った通りに保持されていない感じです。
0562直リン03/06/10 15:10ID:O0KbeuSU
http://homepage.mac.com/yuuka20/
0563nobodyさん03/06/10 15:24ID:9UDR4rDO
いつでも激安

安心して24時間お買い物ができる!
セルビデオ店が近くにないお客様も気軽にお買い物を楽しめます。
http://www.net-de-dvd.com/
安心確実

お支払は安心の代金引換です
振り込んだのに商品が届かない等
の心配は無用!
http://www.net-de-dvd.com/
0564nobodyさん03/06/10 20:26ID:tbVQeylP
apache-2.0.44のmodでphp-4.3.0なんですけど

$fp = fopen("php://input", "r");

というのが効かないんですが、誰か使えてる人いますか。
毎回FALSEが返ります。
使わないのがお約束。とかそういう事ならそれでもいいんですが、
ググっても全然ひっかからんので困ってまつ。
0565nobodyさん03/06/10 20:44ID:???
>>564
って言う仮名にそれ?
0566nobodyさん03/06/10 21:27ID:???
>>564
「23 章 PHPをコマンドラインから使用する」
0567nobodyさん03/06/10 22:01ID:???
>>564
使える筈だけど、4.3.0のApacheSAPI版で使えるかどうかは知らない。
特にPHPストリームハンドラ周りは色々変わったし、バグも出たしな。
どうしてもってんなら、最新のCGI版で試してみそ。他の方法で困ることは無いし、
「動かない環境がある」って判った時点で、私なら敢えて使いませんが。
#CLI版のstdin/stdoutはバンバン使ってますが

>565
http://jp.php.net/variables.external
余り詳しく説明してるところは流石にないね。
0568nobodyさん03/06/10 22:39ID:???
>>564
質問スレ パート5より
>732 名前: nobodyさん 投稿日: 02/11/13 08:48 ID:???
>STDINはすでにPHPが読み込んでるので空っぽです
>$HTTP_RAW_POST_DATA
>は使えませんか。
>使えないときは、php.iniがいじれたら
>always_populate_raw_post_data = Onに
0569nobodyさん03/06/10 22:44ID:???
png画像をグレイスケールに変換するような関数を
作ろうと思っているのですが、なかなかうまくいきません。
だれかおしえて・・・_| ̄|○
0570nobodyさん03/06/10 23:15ID:???
>>569
ImageCreateFromPNGで、あとはいろいろいじれば出来そう
0571nobodyさん03/06/10 23:21ID:???
つか、ImageCopyMergeGrayがあるし。
0572nobodyさん03/06/10 23:35ID:???
ImageCopyMergeGrayだとできませんでした。
057356903/06/11 00:07ID:???
デキマスタ
057456903/06/11 00:38ID:???
結局
ImageCopyMergeGrayだとできなかったです。
コレは何をする関数なんだろう・・・
0575nobodyさん03/06/11 01:50ID:80R6YxeR
PHP標準組み込み関数で、一番長い名前の関数は何だ?
get_magic_quotes_runtime(24文字)か?
057657103/06/11 02:03ID:???
>>569
実はImageCopyMergeGrayって使ったことなかったんだよね。
で、571を書いた後、いろいろ遊んでみたけど、できなかった。
なんか明度をageたりsageたりにしか使えなさそうなヨカーン。
いまいちImageCopyMergeとの違いも分からなかったし。
execでImageMagickなりNetPBMなりを叩くのが良さげ。
っていうか569はそうしたのかな?
ガセネタ流してごめんね。
0577 03/06/11 11:33ID:???
ming っつーか jaming スレってありましたっけ?
最近のPHPで動かないんちゃうん?って突っ込みたいのですが。
057856903/06/11 11:38ID:???
>>571
どうも〜

ImageColorsforIndexやImageColorSET
を使ってパレットを直接いじくりました。
0579nobodyさん03/06/12 02:40ID:???
HTMLを変数に読み込んだ状態で
TD〜/TDタグを順番に取り出して処理するクールなコードを教えてください。
0580nobodyさん03/06/12 02:47ID:???
cool_get_td();
0581丸03/06/12 08:26ID:???
psexc(リモートコントロール・ツールというらしいが)
が見つかりませんというダイアログがpc起動のたびに出るようになってしまったんですが
使っていてどうも影響が内容に思われます
でもこれって使って行く上で致命傷なんでしょうか
致命的であるとしたらどう対処したらよいでしょうか
0582nobodyさん03/06/12 10:05ID:Lo9hcQm/
PHPの拡張モジュールを作らせて頂こうと思うんですが、
ビルドの仕方なり、簡単なソース付き自作拡張モジュール
を公開しているサイトなりの情報を求みます。
よろしくお願いいたします。
0583nobodyさん03/06/12 11:30ID:???
いらね
0584nobodyさん03/06/12 13:42ID:Lo9hcQm/
いるよ
0585nobodyさん03/06/12 15:38ID:???
しないよ?
0586nobodyさん03/06/12 15:41ID:???
>>582
読んでるとは思うけど。
http://www.php.net/manual/ja/zend.creating.php
後は別に普通のCプログラミングだし。

じゃあ実際にどうやんのと思った時は、既存のextのソース見た方が早いです。
取り合えずbcmathをお勧め。

コードの総量が少ないし、更に小さな関数集まりだから関数個々の部分は本当に小さい。
あとモジュールの機能、つまりモジュールの作り方とは別の知識が余りいらないので理解しやすい。
0587nobodyさん03/06/12 18:14ID:???
おかしな質問かも知れませんが、PHP本を2、3冊調べても書いてないので、(多分的外れだから?)
質問してみます。

よく出てくる -> の意味はなんでしょうか? 例えば、$a->b

オブジェクト・プログラミング系のことのようにも思いますが、よく意味がわかりません。
0588nobodyさん03/06/12 18:18ID:???
>>587
メンバーを参照
058956903/06/12 18:24ID:???
>>587
クラスのメンバ変数やメンバ関数を使うときに使います。
赤マンモスに書いてあるよ。
0590nobodyさん03/06/12 18:27ID:???
>>588-589
Thanx.
赤マンモス本調べたんですけど、メンバで調べればいいんですね。
ちょっとPDFで調べてみます。
ありがとうございました。
0591nobodyさん03/06/12 18:37ID:x8LS771O
質問です。
環境は
RedHat8
httpd-2.0.40-11.5
php-4.2.2-8.0.7
です。
全くの初心者なんですが、あれこれ調べながら、
*.phpファイルを/var/www/html(ルートディレクトリ)
に置いても動作しません。
自分的にはphp.iniにドキュメントルートを指定してやらんと
アカンような気がするんですが、どなたか
php.iniの日本語訳があるURLしりませんか?
そもそもapache(httpd)がphp.iniを見に行ってるか
どうかもアヤシイんですが・・・
libphp4.soはhttpd.confに記述はないが
Loadされてるみたいです。
(LoadModule php4_module modules/libphp4.so
としたら、既にLord済みって怒られる。)

ちなみに
/etc/php.iniがあって、(デフォルトのまま)
php.iniの編集箇所は、
output_buffering = On
output_handler = mb_output_handler
default_charset = Shift_JIS
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.substitute_character = none
としてます。
0592nobodyさん03/06/12 18:43ID:???
phpinfo() は動くの?
モジュールとしてApacheに組み込んでないってパターン?
0593nobodyさん03/06/12 18:50ID:x8LS771O
>>592
動きません。真っ白に表示されます。
LoadModuleという形にはなっていません。
httpd.confに、
LoadModule php4_module modules/libphp4.so
とすると、
[warn] module php4_module is already loaded, skipping
と怒られます。ということはphp4は
すでに組み込まれてるんですよね?
0594nobodyさん03/06/12 19:35ID:???
ちゃんとhttpd.confに
AddType application/x-httpd-php .php
って書いてる?
0595nobodyさん03/06/12 19:51ID:???
あれこれ調べずマニュアル一本。
059656903/06/12 19:57ID:???
クラス自作関数の代わりに使うべきなのでしょうか?
それとも、自作関数の中に通常は入れないような簡単な処理
もクラスの中に入れてしまうべきなのでしょうか?
059756903/06/12 19:57ID:???
○クラス自作関数
×クラスは自作関数
0598nobodyさん03/06/12 19:59ID:x8LS771O
>>594
書いてます。

redhat8インストール時からphpについては
/etc/php.iniしかさわっていないのが原因かな。
httpdを起動するだけではアカンのかな?

php.iniは日本語訳されてないんですね・・・
翻訳サイトか・・仕方ないな。
0599nobodyさん03/06/12 20:14ID:???
>httpdを起動するだけではアカンのかな?

もちろんあかんよ。
0600nobodyさん03/06/12 20:16ID:???
>596
ここPhpスレなんですけど。
060156903/06/12 20:17ID:???
PHPでもクラス使うし・・
だめですか?
どこで聞いたらいいんですか?
0602nobodyさん03/06/12 20:25ID:???
php.iniの設定で出力が真っ白になるCASEなんてあるっけか。
つーか日本語マニュアルの何が不足なわけ?

>>601
∋じゃなくて∈なスレじゃないの。
0603nobodyさん03/06/12 20:28ID:???
>>602
httpd.conf
0604nobodyさん03/06/12 20:33ID:???
ああ単にOOスレに行けって事かも。よく分からん。

>603
php.iniの話かとおもってしまった。
具体的にはどの辺すか?

なんか勘違い続きだな俺。
0605nobodyさん03/06/12 21:13ID:x8LS771O
>>599
phpを起動するの?どうやって?
httpd.confでしか設定できないんじゃないの?
php4をインストールし直して./configureしろってこと?

>>602
>つーか日本語マニュアルの何が不足なわけ?
php.iniの日本語訳もそれに載ってるの?
http://www.php.net/manual/ja/
ここのコト?ここには知りたいことが書いてない。

tar.gzからの方法は書いてあるけど、rpmで既に入ってる状態からの
設定がほとんど情報がないもんで・・・
<?phpinfo();?>が出なくてエラーもでないから、
なにが駄目なのかすらもワカラン。
0606nobodyさん03/06/12 21:30ID:???
そもそもインストールすら出来ないなんて論外
0607nobodyさん03/06/12 21:48ID:???
マニュアル読んでないので論外
0608nobodyさん03/06/12 21:51ID:vZkmBcmt
php版のなつみかんみたいなのってあります?
■ このスレッドは過去ログ倉庫に格納されています