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

【PHP】質問スレッド Part7

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/02/06 05:56ID:???
■ 本家
 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-10あたりに
0756nobodyさん03/03/22 16:09ID:???
>752ありがと
select id,ってのがちょっと分かんないんだけど?
Ssql = (" select no,hougaku from hoge where hougaku = 'houi'");
こうでいいっすか?
0757PHP長所新車03/03/22 16:14ID:p2AmiiWs
>>754
それだ!!!!!












>>755
それもそうだ・・・。鬱だ・・・。
0758nobodyさん03/03/22 16:16ID:A41eVY2R
★男はココを見るべし★女と金とサンプルムービー★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
0759nobodyさん03/03/22 16:23ID:vlHFEXy6
初心者質問で悪いんですが
フォームタグや直接URLに付加したパラメータを取得して表示できません。
printでもechoでも駄目だったんですがどうしてなんでしょう?
取得して表示は単にprint $test; てな1行でいいんですよね?
anHttpdと組み合わせています。
0760nobodyさん03/03/22 16:23ID:???
できましたありあがと
0761PHP長所新車03/03/22 16:25ID:p2AmiiWs
今、ちょっと思ったんですけど、
.forwardって空白にしておいたら転送はされずに
.forwardファイルがない状態として扱われるんですかね?
0762nobodyさん03/03/22 16:26ID:???
>>759
質問の意味がわからんが、$_GET[test]、$_POST[test] じゃ、あかんの?
0763nobodyさん03/03/22 16:28ID:???
>>759
とりあえずその古い本なりサイトなりを見るのはやめるべきかと。
0764nobodyさん03/03/22 17:10ID:???
そうか、もう春休みだからか・・・
0765nobodyさん03/03/22 17:11ID:???
>>764
はいはい、おめでとう。
0766nobodyさん03/03/22 18:45ID:???
春厨がいっぱい
0767nobodyさん03/03/23 11:57ID:???
>>761
大抵の実装はそう。だけどそれはPHPの質問ではニャイ
0768nobodyさん03/03/23 15:23ID:Cga2txVh
PHP-4.2.1 を cgi モードを使ってるのですが、 header() が動作しません。
#!/usr/bin/php を削除して
$ php index.php
だときちんと HTTP ヘッダを書き出してくれるのですが。
何が問題なのでしょうか?
0769nobodyさん03/03/23 16:38ID:y8MzfBLq
最近PHPをはじめた者ですが、質問があります。
C++とかのクラスだと、privateなどの制限された空間があるから
インターフェースであるメンバ関数の実装の必要性はあると思います。
一方でPHPは保護された空間がクラスには存在しないので、
メンバ関数の必要性はC++などよりも薄まるような気がします。
ここにおられる方はかなりPHPを使ってらっしゃると思いますが、
クラスにメンバ関数を実装するポリシーはどのように持ってますか?
メンバ変数への単純な代入にもメンバ関数を実装しますか?
それとも一定の操作を行った後にメンバ変数に代入を行う必要がある場合のみ、
メンバ関数を実装しますか?
自分は少し悩んでたりします。
今後の参考にしたいので、ご意見をお聞かせください。

マニュアルを読んだ限りクラスにprivateなどの保護が無かったようなので、こんな質問です。
もしかしたらクラスに保護の概念はありますか…?
あったら、全くもって見当違いの質問です。スミマセン。
0770nobodyさん03/03/23 18:19ID:???
>>769
ぼちぼちと。
0771nobodyさん03/03/23 18:24ID:YYgYrLyX
mb_convert_encodingの"EUC-JP"との"UTF-8"との変換がうまくいきません。
変換したい文字は「連邦」です。
困ってます。
0772nobodyさん03/03/23 18:25ID:???
>>771
>変換したい文字は「連邦」です。

SJISと。
0773nobodyさん03/03/23 18:26ID:???
>>772
くだらねぇこと言ってんじゃねぇよ。
0774nobodyさん03/03/23 18:28ID:???
>>773
>>771さん、見苦しいです。
0775nobodyさん03/03/23 20:19ID:???
>>771
関係ないけど、GoogleAPIの人?
077677303/03/23 20:23ID:YYgYrLyX
>>772さん
SJISがどう関係してくるのですか?

「表」(UTF-8)がクエリで来て、
$query = mb_convert_encoding($query, "eucjp-win", "UTF-8");
結果は「表」(UTF-8)のままです。

「表示」だと文字化けせずに「表示」(EUC-JP)と変換されます。

しくしく。
0777nobodyさん03/03/23 20:30ID:YYgYrLyX
776は771です。スマソ
0778nobodyさん03/03/23 20:36ID:YYgYrLyX
>>775
こんにちは。

SOAPが原因じゃなくてmb_convert_encodingに何かあるんじゃないかと。

ひょっとして私は激しく既出な質問をしているのでしょうか。。。

mb_detect_encodingが判定をミスってるということもあるのかもしれませんが…
0779nobodyさん03/03/23 21:52ID:???
>>769
PHP5待ちの為、クセをつける為に使ってますが何か?
0780nobodyさん03/03/23 22:02ID:???
($query, "eucjp-win", "UTF-8")ここがちがう
0781nobodyさん03/03/24 00:16ID:???
mb_internal_encoding("UTF-8");
とかしてみたら?
0782nobodyさん03/03/24 01:36ID:x7gONe4m
>>780

1.UTF-8 → eucjp-win → UTF-8
2.UTF-8 → EUC-JP → UTF-8
3.ISO-8859-1 → eucjp-win → ISO-8859-1
4.ISO-8859-1 → EUC-JP → ISO-8859-1
5.mb_internal_encoding("UTF-8");エンコードなし

あいうえお
1.オケ
2.オケ
3.ダメ
4.ダメ
5.オケ

連邦
1.ダメ
2.ダメ
3.ダメ
4.ダメ
5.オケ

何か根本的に見忘れがある予感。。。

>>781
たしかにいいんですが、
DBがEUCだった場合同じ問題に出くわすはめになるです。

もう寝よ。
0783 ◆Kiss.FX29M 03/03/25 01:31ID:???
PHP-users ML ネタですが、スレ立て依頼出したら立っちゃった。
しかし、意外(?)と延びないのでこちらにも貼っておきます。

【特許】今では一般的なCookieによるセッション管理に関する特許が成立していた
http://book.2ch.net/test/read.cgi/bizplus/1048507777/
0784nobodyさん03/03/25 13:24ID:???
cookie&フレーム気持ち悪くて、使う気がしない厨キタ━━(゚∀゚)━━!!
0785nobodyさん03/03/25 13:37ID:CVcoKJbJ
>>769
>クラスにメンバ関数を実装するポリシーはどのように持ってますか?
>メンバ変数への単純な代入にもメンバ関数を実装しますか?

インターフェースになるメンバ関数とは getter, setter メソッドのことでいいのかな?
自分の場合ですが、(他の言語でもそうなのだけど)
そのクラスを利用する人がメンバ変数を参照する必要があるかどうかを基準に判断しています。

public なメンバ変数へのアクセスのみ実装しています。
クラスのインスタンスから直接メンバ変数にアクセスするようなコードはさけるため。
private なメンバ変数へは、外部から参照する機会少ないはずなので、
実装するメリットはあまりないと思います。

0786nobodyさん03/03/25 14:34ID:???
スレッドを切らないで&全角なら全角でごちゃ混ぜはやめて厨キタ━━(゚∀゚)━━!!
0787nobodyさん03/03/25 14:46ID:???
で、そんだけ偉そうなこと書いておいてそんな厨な質問でつか…
0788nobodyさん03/03/25 18:37ID:???
え〜と
hogehoge.php?a=0123
とすると
$aに0123がセットされますよね
某所で
hogehoge.php?=0123
となっているのを発見したのですが
0123は何処にセットされるのですか?
0789nobodyさん03/03/25 18:39ID:???
>>788
>$aに0123がセットされますよね
それ以前に古い知識です。それ。

$_GET[""]とかじゃないの?しらんけど。
0790nobodyさん03/03/25 22:21ID:uCxA2hMQ
プロバイダに間借りしてサーバサイドプログラムを
書きたいのですが、PHPをサポートしているプロバイダを
教えていただきたいと思います。
(プロバイダとの契約は個人ではなく企業向け契約です)

よろしくお願いします。
0791nobodyさん03/03/25 22:23ID:???
>>788
$_SERVER["QUERY_STRING"]

#うーん、自前でパースしないで済むので最近のプログラマは恵まれとるのぅ
もともとGETでURLに続けて送った文字列はサーバの環境変数(QUERY_STRING)に
そのまま放り込まれ、スクリプトの変数とかに代入したかったら自前で
パースするしかなかったんよ。
それがPHPとかは、Webプログラミング向きに変数への代入が楽なように
システム側が面倒見てくれるようになっている。
件の例だと$_SERVER["QUERY_STRING"]に、=0123という文字列が入ってる。
phpinfoを出力するスクリプト書いて、phpinfo.php?=0&a=1&b=2 とかして
どうなってるか見てみそ。
0792nobodyさん03/03/25 22:25ID:???
>>791
POSTで送ったXMLいじられて泣きそうになったこともあったけどな。
0793nobodyさん03/03/25 22:29ID:???
ISPでPHPSupportしてるとこってあったっけか?
0794nobodyさん03/03/25 22:36ID:???
>>793
ありますよ。
0795nobodyさん03/03/25 23:25ID:H32QaIGh
POST データを $_POST['name'] で参照する際に、
name に ' が含まれていると \' に変換されてしまいます。
これって去れないようにできないんでしょうか?
0796nobodyさん03/03/25 23:31ID:???
できます。
けど、' を含めないようにするべきかと。
079779503/03/25 23:37ID:???
すみません。
<input type = "text" name = "name" value = "hoge'hoge">
というときに $_POST['name'] に含まれている ' のことです。
実際に避けるにはどうしたらよいのでしょうか?
0798nobodyさん03/03/25 23:41ID:???
>>797
magic_quoteで検索すればなぜそうなるか分かるよ。
て調べてみたら、なんだか少ない... 綴り間違ってる!?
079979503/03/25 23:46ID:???
php.ini ですね。
ありがとうございました。
0800●かろりーたさん ◆JwU5Ac6TK2 03/03/25 23:47ID:BTZxooJl
800get
0801nobodyさん03/03/26 00:58ID:+RBAHMCa
>>795
正に同じところでぶつかったのでちょっと調べてみた。
php.iniのmagic_quotes_gpcをonにしてると自動的にそうなる。
元に戻すにはstripslashesでok。
0802nobodyさん03/03/26 01:46ID:???
>>796
POSTでもGET渡しでも、確かに要URLエンコードだけど
POSTなら多くの場合(大抵は797とかhiddenのパターンで、UAも普通のWebブラウザ)
は勝手にエンコードしてる筈だから、そこは余り気にしないでも良いかと。
技術者ならば裏の動作は知っとけ、には同意
0803nobodyさん03/03/26 02:22ID:???
>>785
回答、ありがとうございます。
>>private なメンバ変数へは、外部から参照する機会少ないはず
確かにそうですね。
言われてみればそういう機会はなかなか無いですね…。
0804nobodyさん03/03/26 06:09ID:tPbaW3mF
すれ違いだったらすいません。
PERL→PHPみたいに変換できるソフトやサイトありませんか?
そもそもPERLにできてPHPにできないなどそういったことがあるのはわかるんですが
アル程度できるものあったら教えてください、お願いします。
0805nobodyさん03/03/26 06:33ID:l1CVp/e0
>> ISPでPHPSupportしてるとこってあったっけか?
> ありますよ。

どこがPHP使えるのでつか?
0806nobodyさん03/03/26 07:18ID:???
>>804
Perl2phpで検索しる。
たしかRubyで書かれてるはず
0807nobodyさん03/03/26 07:39ID:tPbaW3mF
>>806
ぐぐってみたんだけどみつからないでつ。。。
0808nobodyさん03/03/26 07:59ID:???
>>807
当然海外も検索したよな?
0809nobodyさん03/03/26 09:06ID:???
>>805
plala 使えなかったっけ
0810nobodyさん03/03/26 09:59ID:???
いいかげん ML で qmail の話すんのやめてくれ…
0811nobodyさん03/03/26 12:26ID:tPbaW3mF
>>808
はい。
それらしきとこは404じゃないでつか?
0812nobodyさん03/03/26 22:06ID:???
・・・
0813nobodyさん03/03/27 00:38ID:???
>809
あとWebARENAとか。
法人契約といっても客に勧めるもんじゃなくて、自分で使うところなら
ちゃんと探せばいくらでもあるでよ。
0814nobodyさん03/03/27 04:12ID:???
>>809
ぷららはCGIサーバで使えるけど、サポート外。
0815nobodyさん03/03/27 04:22ID:Ya09dI5I
zru2.hoge.com
zru17.hoge.com
このような文字列があります。それを
zru2d.hoge.com
zru17d.hoge.com
このように数字の後ろにdをつけるにはどうすればよいのでしょうか?
0816nobodyさん03/03/27 04:36ID:???
hoge.comが固定だとしたら、
.hoge.com を d.hoge.com に置き換え。いっつしんぷる
0817nobodyさん03/03/27 04:49ID:Ya09dI5I
>>816
言われてみれば確かに
0818nobodyさん03/03/27 09:48ID:Ya09dI5I
>816
$server = preg_replace(".hoge.com","d.hoge.com",$server);

なんかうまくいかない。
Warning: Unknown modifier 'n'
0819nobodyさん03/03/27 09:57ID:???
>>818
$server = preg_replace("/.hoge.com/","d.hoge.com",$server);
0820nobodyさん03/03/27 10:27ID:???
スレ違いならごめんなさい。
Yahoo!メールと同様のwebブラウザで複数ユーザーが
メール(添付ファイル)を操作できるPHPスクリプトを
考えております。

サンプルスクリプト等から有る程度考えているのですが、
添付ファイルの操作と、メールの削除等が難しい・・・

なんか、良いものご存じでしたら、(サンプルスクリプト等)
ご指導ご鞭撻お願いできますでしょうか。
すいません。
0821nobodyさん03/03/27 10:31ID:???
>>820
>スレ違いならごめんなさい。

謝らんで良いから正しいスレに移動してください。
0822nobodyさん03/03/27 10:32ID:???
>>820
>ご指導ご鞭撻お願いできますでしょうか。

卒業式に出席させられた中学2年生ってとこか。
082382003/03/27 11:56ID:???
>>821
>>822
あ、やはりそうですか・・・
ごめんなさい
0824nobodyさん03/03/27 12:02ID:xjuAgYTi
PHP 4.3.1 と Apache2.xは使い物になるの?
0825nobodyさん03/03/27 12:14ID:???
>>818
正規表現使わないのならstr_replaceの方が早いよ。
$server = str_replace(".hoge.com","d.hoge.com",$server);
0826nobodyさん03/03/27 12:45ID:6KhWGPqw
すみません。質問です。
レンタルサーバのPHPを使ってるのですが
1行目に #!/usr/local/bin/php4
と書く必要があります。
このPHPファイルをうちのローカルLINUXでも
動かすためにはどうしたらいいでしょう?
現状だと、1行目がそのまま出力されてしまうので
この1行目を無視するようにしたいのですが。。。
0827sage03/03/27 13:01ID:xjuAgYTi
>>826
一行目を消すか、CGI版PHPインスコする。
0828nobodyさん03/03/27 15:09ID:xLIju/DK
php4.1.x以下だと1行目が表示される。4.2以降で改善してる。
0829nobodyさん03/03/27 15:17ID:???
http://localhost/test.php?148,266
こういう風に渡されたglobal値をphp内で取得するには
どうやればいいの?
$_arg[''] とかは無いみたいだけど・・。
0830nobodyさん03/03/27 16:17ID:pa6AxLeC
>>829
<?php
list($x,$y)=explode(",", $_SERVER[QUERY_STRING]);
echo "X=".$x."Y=".$y;
?>
0831nobodyさん03/03/27 16:26ID:cW0HAJJz
★ココで決まり★男の掲示板★大人のリンク集★
 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
 http://www.pink-angel.jp/betu/index.html
0832nobodyさん03/03/27 16:47ID:???
>830
mOmさんくす
0833nobodyさん03/03/27 17:22ID:???
>>832
ママサンクス・・・キモいな。
083482603/03/27 22:33ID:???
>>827
ありがとー、おかげであきらめがついて
CGI版つくったよ。かなりはまったけど。。。TT
>>828
ん? 4.2.3だったんだけど。。。
083583203/03/27 23:03ID:???
>>833
ママサンクスて何?
0836nobodyさん03/03/28 01:53ID:XXU+wfsi
pukiwikiのソースを見て勉強してます。その中で、
$post["msg"] = preg_replace("/((\x0D\x0A)|(\x0D)|(\x0A))/","\n",$post["msg"]);
という改行文字の置換の部分で、エスケープシーケンスを用いずに直接文字コードを
指定していました。
たいていの他のスクリプトは、/(\r\n|\r|\n)/ のような処理を行っていると思いますが、
これにはどういった場合が想定されているんでしょうか?
0837nobodyさん03/03/28 02:12ID:???
>>836
ほれ
http://www.din.or.jp/~ohzaki/perl.htm#CRLF_Unify
0838 ◆Kiss.FX29M 03/03/28 02:23ID:???
>>837
ほぉ、なるほど!
俺も勉強になった。
083983603/03/28 02:25ID:???
>>837
なるほど。phpだけでなく、webアプリケーション全般で言える事なんですね。
どうもありがとうございました。
0840nobodyさん03/03/28 03:04ID:???
コマンドラインから php→html 変換ってできますか?
0841nobodyさん03/03/28 08:40ID:???
rename("php","html")でいいのかい?
ウム エラー処理もしておかないとな。
if(!rename("php","html")){ echo "ダメポ"; exit; }
0842nobodyさん03/03/28 09:40ID:???
eucファイルを読み込んでutf-8で出力したいのですが、
print mb_convert_encoding( file("euc.txt"), "UTF-8", "EUC");
とやっても、Arrayと出力されるだけです。
どうすればutf-8でファイルの内容を出力できますか?


>>840
php.exe -q < hoge.php > hoge.html
0843nobodyさん03/03/28 09:59ID:???
>>842
file()は文字列の配列を返すので1行1行処理してください。
0844a03/03/28 12:06ID:D9J6JSJg
a
0845a03/03/28 12:12ID:D9J6JSJg
こんにちは。
自分は今、マイクロソフトアクセスでデータベースを、PHPで出力など
を制作しているものです。そこで、一つ問題が出てきてしまったのですが、
ローカルホストでは日本語が完璧に表示されるのですが、サーバーに載せ
ると、日本語がすべて「?」になってしまいます。UNIコードとしても
表示されません。海外のサーバーを使っているからだと思うのですが、
何か解決策はないでしょうか。
よろしくお願いいたします。
0846nobodyさん03/03/28 12:21ID:???
>>845
こんにちは。
自分は今、マイクロソフトアクセスでデータベースを、PHPで出力など を制作しているものです。
そこで、一つ問題が出てきてしまったのですが、 ローカルホストでは日本語が完璧に表示されるのですが、サーバーに載せると、日本語がすべて「?」になってしまいます。
UNIコードとしても 表示されません。海外のサーバーを使っているからだと思うのですが、 何か解決策はないでしょうか。
よろしくお願いいたします。
0847nobodyさん03/03/28 12:48ID:???
>>846
とりあえず、ローカルサーバとリモートサーバの詳細キボン。

#大方スクリプトとDB内のデータの文字コードの問題だろうがな。
0848nobodyさん03/03/28 15:10ID:???
http://pc2.2ch.net/test/read.php/php/1044478561/
なふうに呼び出したときの「/php/1044478561/」の部分を
取得する方法はありますか?
0849nobodyさん03/03/28 15:12ID:???
>>848
サンプル1つでは何とも言えないかと。
0850nobodyさん03/03/28 15:42ID:???
>>848
$_SERVER[PATH_INFO]から取得
0851 ◆Kiss.FX29M 03/03/28 15:57ID:???
>>848
普通はmod_rewrite
0852nobodyさん03/03/28 17:33ID:???
PHPではPerlの

@sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;

みたいに、splitかexplodeを使って、配列をソートすることはできますか?
0853nobodyさん03/03/28 17:46ID:???
>>852
$sortdata=explode(",", $hogehoge);
sort($sortdata);
0854nobodyさん03/03/28 22:09ID:???
gifファイルが一枚gifかアニメgifかを判別する方法はありませんか。
GetImageSize()の画像種類はどっちも1(gif)が返ってきます。
085585203/03/28 23:09ID:???
>>853
それでもうまくいきませんでした。
■ このスレッドは過去ログ倉庫に格納されています