【PHP】質問スレッドpart17【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/05/17 17:14ID:AT+bUkag・新規質問の方は上げてください。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
抜けているものがあったら補足願います
0314nobodyさん
04/05/25 21:53ID:???マニュアルにもUserContributedNotesにも載ってなくて、ほんとの所はどうなんだろう?
試せばすぐ分かるんだろうけどマンドくせ。
ソースだと関係する所はこれくらいかな。
ext/standart/array.c
PHP_FUNCTION(count) -> php_count_recursive(zval *array, long mode TSRMLS_DC)
中ではポインタで渡してるだけの気がするんだが。
0315nobodyさん
04/05/25 21:54ID:GONN/rJfmb_encode_mimeheader
ですが、日本語が10文字くらいになると末尾が文字化けしてしまいます。
「こんにちはこんにち(B」
みたいな感じです。
それよりも短い文字列だと文字化けしません。
phpのバージョンは4.3.6です。
よろしくおながいします
0316nobodyさん
04/05/25 21:58ID:???TEST←定数
EOM;
EOM内で定数を使うことはできるのでしょうか?
0319nobodyさん
04/05/25 22:29ID:GONN/rJf315です。
デフォルトのままです。
コードはSJISで書いているんですが、mb_encode_mimeheaderするまえに
mb_convert_encodingでJISに変換しています。
0320カポコン
04/05/25 22:48ID:???つーかwin2000でphp語るなよw。
0323カポコン
04/05/25 23:15ID:???いくら2chでも貴様の数倍偉い人が決めた言葉よ?
好みでいいだろ。それとオツムの良さはまた別物。
あとベンチマークすんのはいいけど、
>>237-239みたいにちゃんとした結果出せないと説得力ねーよ。
なんだよ%,%ってTimerクラス使ってるのにそりゃーねーだろ。
所詮2chのウンコ厨だな、そんなんだからいつまで経っても
3流の領域抜け出せねんだよ。あと試すんならunix系入れて試せ。
素 人 は お ま え 。
0325nobodyさん
04/05/25 23:37ID:???0326nobodyさん
04/05/26 00:19ID:???0327nobodyさん
04/05/26 00:21ID:VdU4NQovGDを詳しく扱った本はありませんでしょうか?
本の中の1つのコンテンツとして扱っていても結構ですので教えて下さい。
あと、GDを説明しているサイトもできればお願いします…。
0330nobodyさん
04/05/26 02:12ID:???0332nobodyさん
04/05/26 03:31ID:???PHPの書籍でGDの詳しいのねぇ。心当たりはないね。
GDは、今は独自パッチがあたったのがPHPに添付されてるけど
ImageMagickと同様、元々外部のグラフィックライブラリだから
PHP以外での使用方法にも探す範囲を広げた方が良いよ。
0333nobodyさん
04/05/26 03:33ID:???0334nobodyさん
04/05/26 03:48ID:???0336nobodyさん
04/05/26 04:16ID:???プログラミング言語C 或いは C が妥当か。
あとbenchmarkだが他人様のはアテにせず自分でとろうな。
>>326
アホ共がこぞって使う共用のコテハンってところじゃないの?
>>327
無い。
0337nobodyさん
04/05/26 08:15ID:5W/UUmVu調べたらphp.iniのほうでデフォルトのエンコーディングがISO-8859-1になってました。
これをEUC-JPに変えて、mb_encode_mimeheaderするまえに文字コードをEUCに変換
させたら、うまくいきましたm(_ _)m
0338nobodyさん
04/05/26 09:18ID:s4ZFO6Pq0339nobodyさん
04/05/26 09:28ID:???0342337
04/05/26 12:24ID:???えっほんとに?
たとえばこういうことがしたいんですが。
class Foo
{
var $_row;
function Foo(&$row) {
$this->row =& $_row;
foreach (array_keys($row) as $key) {
eval("function $key() { return \$this->_row['$key']; }");
}
}
}
$data = array('a' => 1, 'b' => 2);
$foo = new Foo($data);
echo $foo->a();
結果
Fatal error: Call to undefined function: a()
evalにコンテキスト(バインディング)が指定できないから、こういう
のは無理じゃないんですか?
0343nobodyさん
04/05/26 12:29ID:???0344nobodyさん
04/05/26 12:38ID:???情報は小出しにして分かりにくく、そして肝心なことは書かない。
0346nobodyさん
04/05/26 12:55ID:???0348nobodyさん
04/05/26 13:18ID:???eval("
function ".$var."()
{
echo 'hello!';
}
a();
");
a();
0350338
04/05/26 13:35ID:???きました。でもコードが読みにくいですね。ありがとうございました。
0353nobodyさん
04/05/26 17:05ID:???さらに自演で自分を持ち上げる糞コテでFA?
0354nobodyさん
04/05/26 17:05ID:???pwdみたいな。
0355nobodyさん
04/05/26 17:13ID:???getcwd()
でできた・・・ゴメンナサイ。ほんとにわかんなかったんだよぉ・・・
0356nobodyさん
04/05/26 17:13ID:fjwOYoWghttp://jp2.php.net/manual/ja/ref.dir.php
0357nobodyさん
04/05/26 18:48ID:???0358nobodyさん
04/05/26 18:52ID:???0359nobodyさん
04/05/26 19:00ID:???カポコンがいないときにはそんなやつはいないのに。
そのこころは?
0360nobodyさん
04/05/26 19:08ID:???いないときにわざわざ話題を振って賞賛するスレじゃねえだろ。
0361nobodyさん
04/05/26 19:28ID:???count(&$arr2) にしたら for が一番速くなった。
ついでにこんなの
$arr4 = array_map(create_function('&$item', 'static $str4 = \'\'; $str4 .= \'>\'; return $str4.$item;'), $arr4);
もやってみたが、これがforに次いで速かった。
しかし、
$arr4 = array_map(create_function('&$item', 'global $leftarrow; static $str4 = \'\'; $str4 .= $leftarrow; return $str4.$item;'), $arr4);
にしたら一番遅くなった。うーん、微妙。
0362nobodyさん
04/05/26 20:11ID:???0363nobodyさん
04/05/26 20:24ID:???>362
やめろというだけじゃなく、かわりのネタを提供汁
0365nobodyさん
04/05/26 20:31ID:???0366カポコン
04/05/26 20:40ID:???0367nobodyさん
04/05/26 20:44ID:???0369nobodyさん
04/05/26 22:05ID:???と作っているのに 755 でできてしまいます。
なんででしょうか・・・非常に困っています。
またオーナーも変えたいのですが変えられません。
0371nobodyさん
04/05/26 22:23ID:???このfor/while/foreach云々って、
元は質問から始まった話じゃねえのか?
それだったら、あながちスレ違いとは言えねえと思うがな
なんで狭量なやつばっかなんだろね
0373nobodyさん
04/05/26 23:07ID:???chownについてなのですが、当方Apacheの実行ユーザとグループを
apache/apache にしています。
これでapacheユーザが作成したファイルのオーナーをrootにしたいの
ですが、これは不可能でしょうか。
0375nobodyさん
04/05/27 00:07ID:???はって、あたかもそのディレクトリにあるphpソースのように使いたいと思っています。
で、シンボリックリンクを作成するsymlink関数で無事作れたのですが、そのシンボリックリンクに
ブラウザからアクセスしても実行できません。
パーミションは777になっているのにです。
それでsshでサーバに入り、ln -s /templ/hoge.php /aaa/hoge.php とリンクを張ると
ブラウザからも実行できます。
なんででしょう・・・
ちなみに(環境により違うのでしょうが)sshで ls -la すると symlinkで作成したリンクは赤色
ln -s で作成したリンクは青色です。
お願いします。ヒントをください
0376カポコン
04/05/27 00:14ID:???mp(・∀・)qmチェキッラー!!。
0377nobodyさん
04/05/27 00:31ID:???自治厨キモッ
0378nobodyさん
04/05/27 07:23ID:XDC/x9QBマターリ憩うぜ
0379nobodyさん
04/05/27 08:42ID:???0383nobodyさん
04/05/27 17:28ID:fevNX4WHソースコードをSJISで書いていて、DBもSJIS設定で、
SQLを実行するときに
カタカナの「ソ」などの文字が勝手にエスケープされてしまいます。
(エスケープというか「ソ」の後に「ソ\」バックスラッシュが付く)
これが原因で文末に「ソ」が来たりするとSQLが失敗します。
stripslashesは本来エスケープすべき文字も消してしまうので使えません。
Webで調べてみたところphp.iniのmagic_quotes_gqc=OFFに
すると解決するらしいのですが、実際OFFにしてもまだ解決しません。
(phpinfoでOFFになっていることは確認済み)
他に勝手にエスケープされる要因は考えられるでしょうか
よろしくお願いします。
0384nobodyさん
04/05/27 17:32ID:???0385nobodyさん
04/05/27 18:05ID:???0388nobodyさん
04/05/27 18:42ID:3qJOManL何を用意して何を最初に学べばいいのでしょうか。
おすすめのサイトや参考書を教えていただけると助かります。
0390nobodyさん
04/05/27 18:48ID:3qJOManL早速検索かけてPDFファイルを見ております。
分かりやすくまとめられており、私でも勉強できそうです。
情報、ありがとうございます。
0391nobodyさん
04/05/27 19:53ID:???PHP徹底攻略だよな?
マンモス本ってかなり詳しく書いている上級者向けのじゃん!!(違った?ラクダとはレベル違う?)
それが無料って、すげーな
0392383
04/05/27 20:07ID:???addslashesを使ってる代わりにmysql_escape_stringを使うと
上手くエスケープしてくれるようです。
やはり仰せの通りSJISで処理させるのは止めたほうがいいですね^ ^;
まあ仕方のないときのケースということで。
0393nobodyさん
04/05/27 20:11ID:???PHPを使うなら、出力段階でSJISに変換するのが一番楽だと思うけど
0395nobodyさん
04/05/27 22:13ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0396nobodyさん
04/05/27 22:22ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0397nobodyさん
04/05/27 22:15ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0398nobodyさん
04/05/27 22:17ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0399nobodyさん
04/05/27 22:28ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0400nobodyさん
04/05/28 00:04ID:???自作関数内で獲得した
pg_numrows(resource result)や
pg_フェチ_array(resource result , int row)
はグローバルスコープですか?
0401nobodyさん
04/05/28 00:35ID:???というか、やらなくても分かりそうなモンだが。
0402nobodyさん
04/05/28 04:29ID:???wikiを利用しているのですが、ページにアクセスすると、
/?PHPSESSID314df6cb256897323032443
みたいのがつっついて思ったページにいけない時があります。
これをはずす設定をgoogle調べたのですが、
session.use_trans_sid を 0 にすればよいのでしょうか?
global_register をoffにするのでしょうか?
ページを読んでもよく理解できませんでした。
どうすればいいのでしょうか?
サーバは、レンタルサーバです。
0404nobodyさん
04/05/28 09:21ID:???PHP触り始めたばかりなんですが、上のようなものをPHPスクリプトでよく見かけます。
「=>」って矢印の意で使ってるんでしょうか??
0406nobodyさん
04/05/28 09:32ID:???http://www.php.net/manual/ja/language.types.array.php
代わりにマニュアル引いてやったからお駄賃に100円くれ
0407nobodyさん
04/05/28 15:57ID:???0411nobodyさん
04/05/28 17:17ID:???数字の先頭に0を付けて桁揃えする関数はありますか?
1を0001とか。
■ このスレッドは過去ログ倉庫に格納されています