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

【PHP】質問スレッドpart33【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/16(木) 03:19:52ID:xwXojaq/
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0592皮先2006/03/07(火) 20:37:47ID:???
入れました
0593nobodyさん2006/03/07(火) 20:54:41ID:???
質問です
手元のPHP本はmysql_escape_stringを使ってあるのですが、これはすべてmysql_real_escape_stringにした方がよいのでしょうか?
0594nobodyさん2006/03/07(火) 21:04:26ID:???
>>581
PHPはパース時にずいぶん式の再帰性を捨ててるから、仕方ないんだな。
俺は参照を返す関数ならempty等に渡せて意図したとおりの結果を返すような仕様だった方が意味論的には好みだけどね。
その辺はあきらめるしかない。
0595nobodyさん2006/03/07(火) 21:06:38ID:???
>>590
もっと悪い状態になってる。それは;;
そもそもなんでemptyでのチェックにこだわってるの?
if(getVal())
で同じ結果にならないか?
わざわざ「変数用の言語構造(注:これは関数ではない)」を使って
変数以外のものをチェックしようとする意図が分からん。
0596nobodyさん2006/03/07(火) 21:13:27ID:???
>>594
関数の戻り値をemptyでチェックしたかっただけで、
参照とかはどうでもいい話らしいぞ
0597nobodyさん2006/03/07(火) 21:18:36ID:???
if(!function())
でいいんジャン?
0598nobodyさん2006/03/07(火) 21:19:05ID:???
>>595
理由は、、、
既存ソースの改良で、変数をget〜に変えようとしてました。
で、emptyなどで行き詰ったわけです。
そこも含めて変えれば済む話ですが、出来るだけ手を抜こうとしてました。
無理と分かりあきらめが付きました。
ありがとうございました。

変なことしようとしてすみません。
0599皮先くん ◆N3i.Qu1SoY 2006/03/07(火) 21:50:28ID:agmd1D8V
>>575
が完全に無視されている件について。
0600nobodyさん2006/03/07(火) 21:51:58ID:???
>>598
またおいで。
0601nobodyさん2006/03/07(火) 22:27:42ID:???
名前空間に対応したPHPは
いつでるのじゃーーー
0602nobodyさん2006/03/07(火) 22:44:12ID:???
関数内での名前空間対応のPHPならすでに。
0603nobodyさん2006/03/07(火) 22:50:50ID:???
名前空間とかネームスペースとかよくわからん
06045892006/03/07(火) 23:20:34ID:psJP3on1
誰か〜
0605nobodyさん2006/03/08(水) 00:13:23ID:???
>>589
よーわからんけどphpをconfigureし直してみたらどう?
libxmlとかいうやつくっつけて。
0606nobodyさん2006/03/08(水) 07:09:48ID:???
>>589
その前に
cd ***/php-****/ext/libxml
phpize
./configure *******

はどうだろうか
0607age2006/03/08(水) 10:58:48ID:s67YcGnH
全角ひらがなで「ぁ」「あ」とかに変換する関数ってありますかね?
アルファベットの大小変換はあるんですが・・・。
0608nobodyさん2006/03/08(水) 11:04:19ID:???
>>607
何を「ぁ」「あ」に変換するんだ
0609nobodyさん2006/03/08(水) 11:05:31ID:???
>>607
そんなに種類多くないからmb_ereg_replaceかstr_replaceで置換すればいいんじゃないかな
06106092006/03/08(水) 11:07:18ID:???
ぁをあに変換する意味で書いたけど違うのかな
0611nobodyさん2006/03/08(水) 11:22:11ID:???
PHPでのソケット通信のテストをしていますが
forkした親プロセスと子プロセス間でのディスクリプタパッシング
はできるのでしょうか?
親プロセスで開いたクライアントとのソケットがresouce型になってしまうので
子プロセスに渡すことが難しいです。

よろしくお願いします。
0612nobodyさん2006/03/08(水) 11:22:33ID:s67YcGnH
>>609
置き換えでもよいのですが、文字列は「ぁ」とは限らないために
パターンがありすぎて・・。

VBでいうところのstrconv()みたいなものですかね。
0613nobodyさん2006/03/08(水) 11:33:22ID:???
>>612
変換ルールがさぱーり分からないので何を回答すればいいのか分からんのだけど。
とりあえずmb_convert_kana()のマニュアルでも読んで、それで不足してるなら
もーちっと具体的な質問してください。
0614nobodyさん2006/03/08(水) 11:35:18ID:???
>>612
ひらがなとアルファベットじゃ意味が違うだろ。
aとAはほぼ同じだが
っとつじゃ全然違う。
したがってそんな変なことをする関数はない。

パターンなんて全部網羅しても100もないんだから
関数つくればいいよ
0615nobodyさん2006/03/08(水) 11:55:10ID:???
>>611
PHPのリソース型は異なるプロセス空間へは一切渡せないんじゃないかな。
0616nobodyさん2006/03/08(水) 12:15:38ID:???
>>607
つまり、そんな関数は無い、ってことです。
0617nobodyさん2006/03/08(水) 12:29:22ID:???
>>612
パターンって「ぁぃぅぇぉゃゅょっゎ」だけじゃないの
何がやりたいんだ
0618nobodyさん2006/03/08(水) 13:11:58ID:???
>>607は>>608に答えろ。じゃないと進まん。
0619nobodyさん2006/03/08(水) 13:32:43ID:YAPHuj+m
>>602
その情報はどこに?
URLなどもっと詳しく

ググってすぐ見つかるようなキーワードを教えて
0620nobodyさん2006/03/08(水) 13:34:04ID:???
strconvでググったらこれがトップだった
ttp://www.microsoft.com/japan/msdn/library/ja/vblr7/html/vafctstrconv.asp
MSDNはオンラインで見るにはちょっと重いかな・・・

>VbStrConv.None 変換は行われません。
>VbStrConv.LinguisticCasing 大文字と小文字については、ファイル システム (既定) ではなく言語の規則に従います。UpperCase および LowerCase と組み合わせる場合にだけ有効です。
>VbStrConv.UpperCase 文字列を大文字に変換します。
>VbStrConv.LowerCase 文字列を小文字に変換します。
>VbStrConv.ProperCase 文字列の各単語の先頭の文字を大文字に変換します。
>VbStrConv.Wide* 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。
>VbStrConv.Narrow* 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。
>VbStrConv.Katakana** 文字列内のひらがなをカタカナに変換します。
>VbStrConv.Hiragana** 文字列内のカタカナをひらがなに変換します。
で、この中のどれかだと思うが、どれにでも当てはまりそうな質問内容だな。

(´-`).。oO(まず最初に607は説明力をつけるべきだと思った・・・)
0621nobodyさん2006/03/08(水) 13:40:46ID:???
ヵっぉ ぉゃっょ
0622nobodyさん2006/03/08(水) 13:54:26ID:???
ぅゎ ょぅι゙ょ っぉぃ
0623nobodyさん2006/03/08(水) 13:56:47ID:???
>>607はエスパー伊藤の降臨を待っている
ちなみにエスパー伊藤はコイツ
ttp://pukasec.sakura.ne.jp/ren/img-box/1141658595524.wmv
0624nobodyさん2006/03/08(水) 14:36:20ID:???
PHPで認証サイトを作る場合
ページ毎のログイン情報の受け渡しって
SESSIONやDBでやるのが普通?

より簡潔にできないかと思って
クラス内で配列を保持して受け渡すってのをやってみたんだけど
あまり上手くいかない・・・
0625nobodyさん2006/03/08(水) 14:57:50ID:Khyvdh2z
>>624
> クラス内で配列を保持して受け渡すってのをやってみたんだけど

クラス内でとかはあんまり関係なく、どうやって渡したのか?が問題
0626nobodyさん2006/03/08(水) 15:11:14ID:???
>>624
SESSION"を"DBでやってます。
SESSIONIDはクライアントのCOOKIEに持たせてるけどね。
0627nobodyさん2006/03/08(水) 15:30:25ID:???
>>626
というのは具体的にどういう形?
0628nobodyさん2006/03/08(水) 16:24:49ID:???
sessionIDつきのデータをDBに放り込むんだろうな。
一意性はsessionIDに頼る。
cookieが生きている限りなんとかなるのと
大きなデータの保持には適しているかな。

と、以上、まったくの推測。
0629nobodyさん2006/03/08(水) 16:49:15ID:???
指定したファイルがあるかないか調べる方法ってないでしょうか?
0630nobodyさん2006/03/08(水) 16:50:29ID:???
>>629
ありますよ
0631nobodyさん2006/03/08(水) 16:52:20ID:???
>>630
どうすればいいですか?
0632nobodyさん2006/03/08(水) 16:54:37ID:???
マニュアルくらい読んだら?
0633nobodyさん2006/03/08(水) 16:55:15ID:???
>>631
関数
file_exists
06346292006/03/08(水) 17:07:17ID:???
>>633
ありがとうございますm(_ _)m
0635nobodyさん2006/03/08(水) 17:11:17ID:???
>>631
初めからそう質問しとけばよかったんだよ。
ありませんか?→Yes / No
どうしたらいいんでしょうか?→解決法
0636nobodyさん2006/03/08(水) 19:31:10ID:???
phpの関数ってどこに保存されてるの?
ハードコーディング?
0637nobodyさん2006/03/08(水) 19:46:28ID:???
>>629
>>1くらい読めよ。読めないのか、ゴメン
0638nobodyさん2006/03/08(水) 20:00:57ID:???
>>636
日本語でOK

つかユーザ関数の話かい?
0639nobodyさん2006/03/08(水) 20:12:55ID:???
>>635
その論法もう古臭いから普通の質問スレで持ち出さなくていいよ。
揚げ足取り以上の意味持たないし面白くもない。
0640nobodyさん2006/03/08(水) 20:35:31ID:???
>>638
ユーザ関数をハードコーディングってどういうことよw
0641nobodyさん2006/03/08(水) 20:44:08ID:???
つまり一種の予知?
0642nobodyさん2006/03/08(水) 20:55:11ID:???
トーニャ ハードコーディング
0643nobodyさん2006/03/08(水) 21:13:44ID:???
>>642
靴紐でも切れたのかね?
0644nobodyさん2006/03/08(水) 21:20:02ID:???
標準の関数がどこにあるかってことじゃまいか?
0645nobodyさん2006/03/08(水) 21:49:35ID:???
libphp*.soの中にバイナリ化されているんじゃないの?詳しくは知らないけど。
0646nobodyさん2006/03/08(水) 21:59:32ID:???
>>636
普通にソース中のどこにあるかって話ならext/standardに入ってるけど
06476382006/03/08(水) 22:17:14ID:???
>>640
いや、2行目は無視をした。というより1行目も本当に訊きたいことが良く判らん
「標準や拡張の関数がハードコーディング」だって意味が判る?
0648nobodyさん2006/03/08(水) 23:12:06ID:???
俺はわかったぞい。
0649nobodyさん2006/03/08(水) 23:37:26ID:???
穴狙いで、>>648の篠沢教授に50点。
0650nobodyさん2006/03/08(水) 23:53:23ID:???
>>647
いや,君の書き込みは全部無視をした。
0651nobodyさん2006/03/08(水) 23:55:20ID:???
>>646
うちのPHPフォルダにそんなフォルダはないぞ
0652nobodyさん2006/03/09(木) 00:00:31ID:???
>>651
http://www.php.net/downloads.php
Complete Source Code
0653nobodyさん2006/03/09(木) 00:43:58ID:???
>>651
お兄さんのphpはphp本体がインタープリタかとw
0654nobodyさん2006/03/09(木) 00:48:32ID:???
モジュール版が使えるレンサバであえてCGIとしてPHPを使う意味ってどんなん?
0655nobodyさん2006/03/09(木) 00:59:38ID:???
>>654
ユーザ権限で実行、forkの動作が保障されてる etc
0656nobodyさん2006/03/09(木) 08:47:28ID:???
>>654
CGIのみセーフモードoffなんじゃないの
0657nobodyさん2006/03/09(木) 10:27:03ID:???
>>639
面白い面白くないじゃなくて、質問者の礼儀だろ。
オレは質問になってない文章にはそのように返すがな
0658nobodyさん2006/03/09(木) 11:44:36ID:???
質問スレで面白い回答を期待するほうが間違ってる
0659nobodyさん2006/03/09(木) 12:41:04ID:???
気持ちはわからんでも無いが
スルーせずにいちいちアゲアシ取っていくなんてメンドクサイことよくやるね
0660nobodyさん2006/03/09(木) 12:46:20ID:???
スルーして誰かが親切に答えるとまた同じことやるからね
0661nobodyさん2006/03/09(木) 14:20:49ID:???
>>629-634で止めときゃまだほほえましかったのに>>635みたいな余計なこといちいち書くから荒れるんだよな。
0662nobodyさん2006/03/09(木) 14:41:42ID:???
おまえらもそれをわかってるならスルーしたらいいだけなんだがな
0663nobodyさん2006/03/09(木) 15:12:50ID:???
それ言うと無限ループになりますね。

>>662
goto >>662
0664nobodyさん2006/03/09(木) 19:48:25ID:???
>>657
質問になってない質問ならわざわざ回答する必要ないじゃん
おまえ馬鹿か。
0665nobodyさん2006/03/09(木) 19:58:42ID:???
そして糞真面目に回答しちゃう馬鹿が出てムカつくわけだな
0666nobodyさん2006/03/09(木) 21:04:59ID:???
くだらねえ
0667nobodyさん2006/03/09(木) 21:23:30ID:???
m9(^Д^)プギャー
0668nobodyさん2006/03/09(木) 21:51:36ID:???
なにこれ
皮先ウザいんだけど
0669nobodyさん2006/03/09(木) 21:52:43ID:???
超回答者がここにも
0670nobodyさん2006/03/09(木) 21:54:09ID:???
>>668
スルー汁。ホントにそう思ってるならコテハン名なんか書いたら余計に
よろこばすだけ
0671nobodyさん2006/03/09(木) 23:13:16ID:SHZr9acF
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-gd --with-zlib
--enable-mbregex --enable-mbstring --enable-trans-sid --with-xsl
--with-pgsql=/usr/local/pgsql --with-gd --with-jpeg --with-jpeg-dir=/usr/local/lib

で、phpコンパイルしてるんですが、

[09- 3-2006 23:09:46] PHP Fatal error: Call to undefined function ImageCreateFromJPEG()
in /hogehoge/hoge.php on line 15

のようなエラーがでてしまいます。どうすれば解決できるでしょうか?
環境はRedHat9とphp5.1.2です
0672nobodyさん2006/03/10(金) 00:03:00ID:???
アバウトな質問で申し訳ありません。
C言語であれば以下のようなコードで変数の値を入れ替える関数が作れます。
void swap ( int *x , int *y )
{
int t = *y;
*y = *x;
*x = t;
}

ポインタがないPHPでは同じような関数は実現できないのでしょうか?
入れ替えた2つの変数を返すのに
戻り値を配列にするといった方法しかないのでしょうか?
0673nobodyさん2006/03/10(金) 00:09:18ID:???
Perl同様リファレンスというものがある
0674nobodyさん2006/03/10(金) 00:46:33ID:???
>>672
そんな関数を使わなくても
list($x, $y) = array($y, $x);
で普通に変数スワップできるけどね。

ま、ポインタの代わりにリファレンスを使うのももちろんアリだけど。
0675nobodyさん2006/03/10(金) 01:14:59ID:???
<?php
$userid = "abc";
$password = "def";
?>

このプログラムをサーバーにアップロードして、
HTTP(SSLなし)でアクセスすると abc と def は
平文でネットを流れることになるのでしょうか?
それともサーバー側でのみ処理されることになるのでしょうか?
0676nobodyさん2006/03/10(金) 01:40:21ID:???
>>675
まずスレを実行するとクライアント側で何が表示されるのか考えてみ
明らかにくだ質っぽいが
0677nobodyさん2006/03/10(金) 01:41:25ID:???
>>676
スレじゃない・・
"それ"ね・・
0678nobodyさん2006/03/10(金) 03:09:37ID:???
>>675
サーバ側でのみ処理される(ネットを流れない)ケースが多いと思われる。
ファイル名が.txtや.htmlだったらどうなるか考えてみ。
また.phpでもそのまま表示される可能性はある。
0679nobodyさん2006/03/10(金) 03:25:34ID:???
Webサーバで解釈してHTMLを返すんだから、そのスクリプトじゃ何も返ってこない
0680nobodyさん2006/03/10(金) 10:44:28ID:???
PHPはサーバーサイドスクリプトなんですか?クライアントサイドスクリプトなんですか?
って意味の質問じゃないのか、それ。
0681nobodyさん2006/03/10(金) 15:45:28ID:???
>>671
たぶんlibgd自体がjpegサポートしてないんだよ。
0682nobodyさん2006/03/10(金) 15:58:10ID:???
>>671
>>681の言うとおりじゃないかな。
libgdのconfig.log 調べてごらん。
jpegのライブラリは、make install-lib したかな
0683nobodyさん2006/03/10(金) 16:07:52ID:???
掲示板にトリップ機能を付け加えたいのですが
どうやればよいかご存知の方いますか?
0684nobodyさん2006/03/10(金) 17:04:23ID:???
トリップ計算して結果を表示する。
0685nobodyさん2006/03/10(金) 17:39:41ID:???
そりゃ居るでしょう
0686nobodyさん2006/03/10(金) 18:29:52ID:???
>>683
敢えて言おう、ぐぐれ
0687nobodyさん2006/03/10(金) 20:40:48ID:bPBa/0oN
教えてください
C言語の構造体のようなイメージで使いたくて

  $a->s1 = "aaa";
  $a->s2 = "bbb";
  $a->b->n1 = 123;
  $a->b->n2 = 456;

みたいな使い方をしてるのですが
この書き方って問題ないのでしょうか?
マニュアルを見てもこの書き方が正しいと
思える内容が見つからなくて気になってます。
別に正しい書き方とか使い方とかあるのでしょうか?

自分の認識としては、上の例でいうと
「a」と「b」がstdClassのオブジェクトとして自動的に作られて
そのメンバ変数として「s1」「s2」「n1」「n2」が追加される
と考えてますが、間違ってます?
0688nobodyさん2006/03/10(金) 21:05:57ID:???
>>687
E_STRICTを気にしないならいいけど、標準的には
$a = new stdClass;
と書くべき。
0689nobodyさん2006/03/10(金) 21:20:20ID:???
ってゆうか、横着しないでクラス定義しろよ。
0690nobodyさん2006/03/10(金) 21:22:21ID:???
こういうのは配列でやるのがPHP流。
0691nobodyさん2006/03/10(金) 21:27:13ID:???
>>687
>C言語の構造体のようなイメージで使いたくて
どこがCの構造体やねん
0692nobodyさん2006/03/10(金) 22:18:59ID:???
>>691
俺は何となくしたい事は分かったが。
■ このスレッドは過去ログ倉庫に格納されています