【PHP】質問スレッドpart24【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/01 04:09:15ID:???・新規質問の方は上げてください。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
0268nobodyさん
04/11/05 22:35:31ID:???0269nobodyさん
04/11/05 22:37:13ID:???まず A >= B でなければ偽
さもなくば A == B なら1倍で真
さもなくばBと等しいか大きくなるまでAを足していって
ちょっきりBと等しくなれば真
残りは偽
0270nobodyさん
04/11/05 22:38:22ID:???session_start();
$PHPSESSID = session_id();
print $PHPSESSID;
じゃないの?
0271nobodyさん
04/11/05 22:39:17ID:???まず A >= B でなければ偽
さもなくば A == B なら1倍で真
さもなくば初期値0に対してAと等しいか大きくなるまでBを足していってちょっきりAと等しくなれば真
残りは偽
0273272
04/11/05 22:46:23ID:???でもいいのか。
0275nobodyさん
04/11/05 23:22:14ID:???session.use_trans_sid を 1 にしれ.
もしくは自分でリンクに全部 <?=SID?> をつけれ.
話はそれからだ.
0276nobodyさん
04/11/06 07:02:58ID:T75+ILHOusleep()はWindows上だと動かないので(-_-)ウツ
0277187
04/11/06 12:04:59ID:???>>190
>>191
アドバイスどうもです。
そんな感じの方法で少しがんばってみます。
共有サーバーでこんな思い処理やばいのは百も承知でっす。
でも、使うのは自分じゃないから何とも言えないけども。
1通毎にコネクション切らないで行う方法など、
とりあえずなんかしらで少しでも処理軽くする方法考えます。
popen()ついてですが、自分もなんかしらのソース探してみます。
道のりは長いですね・・・
0278nobodyさん
04/11/06 12:11:31ID:???0279nobodyさん
04/11/06 12:19:48ID:BQGFb7uFそんなことするソフトだったら作らずともいくらでもあるような。
今回はデータ管理でせっかくアドレスもあるからメール送る機能も追加しといてってだけ。
作ってればあれもこれもと欲がでてくるみたい。
きりがないからこっちはお疲れモード。
0280nobodyさん
04/11/06 12:23:30ID:veEoJvKdってのをユーザabcから使ってみたんですが、
ls: `/home/abc': Permission denied
apacheのエラーログにというエラーが表示され、
結果を取得することができません。
perl-suEXECのときはこれでいけたんですが、
PHPってどういった権限で動いてるんでしょうか?
解決方法はありますか?
宜しくお願いします。
0281nobodyさん
04/11/06 12:24:03ID:???> でも、使うのは自分じゃないから何とも言えないけども。
こういう馬鹿のお陰で、今までいくつも便利なサービスが停止されていった。
自鯖でやれ、屑。
0282nobodyさん
04/11/06 12:30:07ID:???Apacheのモジュールで動いていれば実行はapache(wwwとかnobodyとか)になる。
PHPをCGI(suExec)で動かせばよい
0285280
04/11/06 12:44:31ID:???phpをCGIとして動作させるとモッサリするってのは
よく聞きますが、このモッサリするってのは
「動作が重くなる」に加えて、「負荷が高くなる」も含みますでしょうか?
当初、perlの方が作りやすかったんですが、
phpの方が負荷が低いからいいかなと思ってたんですが。
0286nobodyさん
04/11/06 12:58:34ID:BQGFb7uF>>284
ちょっと書き方が悪かったです。すいません。
今あれやこれやと検討中です。
もちろん自分としては、こんな重いもの共有サーバーでやりたくありません。
そのことについては何度も何度も説明しています。
もしそれでも相手話を飲んでくれないのでしたら、
一回の処理での上限数を決めるなりして、
処理が大きくなりすぎないようにこちらでするつもりです。
少しでもサーバーの処理を低減したいと言うことと、
上限を決めるにも一回の処理で多くこなせるに超したことはないので、
今回質問いたした次第です。
いくらなんでも、サーバーが悲鳴を上げるようなもの作るつもりはありませんので・・・
いろいろとすいませんでした。
0289nobodyさん
04/11/06 14:51:06ID:???どうすればよいのでしょうか?
php.iniのdisplay_errorsを変更すると他のphpにも影響がでるので
Onのままです。
0292nobodyさん
04/11/06 16:37:25ID:RH6kTyyV例えば'a'なら97(0x61)などです。
0294nobodyさん
04/11/06 16:52:00ID:RH6kTyyV0295nobodyさん
04/11/06 16:53:58ID:RH6kTyyV良く解らなかったのでマルチバイトまで対応させたり色々しました。
文字→数字というのは式では出来なかったので
bin2hex($src);
を使いました。
こっちは16進数ですが、16進数が使いたかったので丁度よかったです。
他に方法があるならば教えてください。
お願いします。
0298nobodyさん
04/11/07 00:28:11ID:559ttViCやり取りをしているのでしょうか?
もしくは,それが書いてあるような仕様書とかってありますか?
別にプログラムを作成してstdinからmb_send_mailの送信内容を読むと読めるのですが,To:[email protected]
の1行しか読めなかったり,ヘッダ全部を読めたりと動作がまちまちでよくわからないのですが.
0299272
04/11/07 00:30:25ID:???教え損だわ、ホンマ。
0300nobodyさん
04/11/07 00:42:34ID:???ソース見れば一目瞭然。
仕様に関しては、
mb_send_mail
| (使用しているSMTPサーバのマニュアル参照。メル鯖プログラムに依存)
MTA(phpが話すメル鯖)
| (RFC参照。番号忘れた)
外部MTA
0303nobodyさん
04/11/07 01:08:52ID:???0304nobodyさん
04/11/07 01:38:12ID:???わざわざempty持ってきて何がしたいんだ
しかも条件式1個答えただけでそこまで偉そうにされてもな
0306nobodyさん
04/11/07 02:39:02ID:???マニュアルにも書いてある通りメール送信部分はmail()のラッパ。
mail()は普通にsendmail(もしくは互換のもの)に対してpopenして
パラメータを出力してるだけ。これはSMTPを話してる訳ではないよ
(Win32の場合は異なる。さっき見たらNetWareも違うな)
mail.c読んでごらん。mb_send_mailから追うならmbstring.cも。
0307nobodyさん
04/11/07 03:49:37ID:tqDkdxs20308nobodyさん
04/11/07 05:05:37ID:mIUFi7ZuPHP6で実装されます。お楽しみに・・・
実装されるまでずっと言われるよなコレ
0309nobodyさん
04/11/07 06:50:54ID:???0311292
04/11/07 10:25:36ID:SeAJAIhjあんまり慣れてないので話すと長くなりますが。
Apacheサーバーでphpを動かしています。
phpで直リンクのURLを作成したかったのです。
私はWindowsを使っているので
[Shift_JIS]→[UTF-8]
にする必要がありました。
さらにそれぞれ一文字ずつを16進数で分割して数字の前に%をつける必要もあったのです。
数字(10進数)でなくても良かったので、
むしろこれでよかったと思います。
0312nobodyさん
04/11/07 10:41:56ID:ff0yHRS4前に自作関数がくるんは好きじゃないので
自作関数は別ファイルにしてincludeしてますが、
常に別ファイルを読みに行ってしまうわけですから、
この部分がボトルネックになったりしますか?
0313nobodyさん
04/11/07 11:00:13ID:???取らぬ狸の皮算用
0316nobodyさん
04/11/07 12:38:19ID:???0317292
04/11/07 13:34:02ID:SeAJAIhjurlencode
こんな関数があったんですね。
ありがとうございます。
0318292
04/11/07 13:46:57ID:SeAJAIhjShift_JISならShift_JISで、UTF-8ならUTF-8でそれぞれ変換されました。
もしApacheなどで使うならばこのようにすると良いようです。
$top_jpg = mb_convert_encoding($picture_addr, "UTF-8","Shift_JIS");
$top = urlencode ($top_jpg) . ".jpg";
<img src=\"$top\">
mb_convert_encodingは拡張関数なので
拡張モジュール「php_mbstring.dll」を有効にする必要があります。
ttp://jp2.php.net/manual/ja/install.windows.php
0320nobodyさん
04/11/07 19:31:44ID:???Notice: Undefined index: command in C:〜
と出る。そこを調べてみたら、どうやら$_POST['command']
$_POSTで送られてきてるのが全てNoticeになってるみたい。
PHPのマニュアルを見ても、ググってもイマイチ分かりません。
Noticeを出さないように改善する方法はありませんか?
0321nobodyさん
04/11/07 20:12:02ID:???0323nobodyさん
04/11/07 21:26:50ID:???error_reporting( error_reporting() ^ E_NOTICE );
で表示上はNOTICEは出なくなるが根本的な解決ではない
$_POST を var_dump OR print_r して中身を確かめてみれば?
0324280
04/11/07 21:35:35ID:IUwmjDQr>>282
以外に解決方法はないでしょうか?
0325nobodyさん
04/11/07 22:06:51ID:???0328nobodyさん
04/11/07 22:27:07ID:ZgNgeUkwttp://www.spencernetwork.org/jcode/
こっちの方が便利、対応しているサーバ、対応していないサーバ、基本的に
関係ないので、どでしょうか?
0329nobodyさん
04/11/07 22:29:07ID:???include(aaa.php);
------------------
aaa.php
print $hogehoge;
------------------
このスクリプト動かしたとき、
1って表示されますか?それともnullでしょうか?
チェックしたいのですが、現在phpが動作しない状況でして
確認することができません。教えてくだせぇ
0330nobodyさん
04/11/07 22:34:41ID:???1って表示されるはず。
前にfor文の中で$i使ってたときあって、文の始めにinclude_onceで読み込んだ先のファイル内でも$i使ってたりして
ハマったことあるなぁ・・・。
まさかスコープが同じとは思わなかったよ。
0332nobodyさん
04/11/07 22:37:38ID:???例1."abc" は "abc"と""(又はNULL)
例2."abc*" は "abc"と"*"
例3."abc*def" は "abc"と"*def"
explodeだと、"abc"と"def"になってしまいます。
また、例1と例2の区別が出来ません。
どうするのが一番スマートでしょうか?
$str = "abc*";
$ret = explode('*', $str, 2);
if (count($ret) == 2) $ret[2] or $ret[2] = '*';
else $ret[2] = NULL;
訂正です。添字ミス。$strを元に$retに結果が返ります。
$str = "abc*";
$ret = explode('*', $str, 2);
if (count($ret) == 2) $ret[1] or $ret[1] = '*';
else $ret[1] = NULL;
0336nobodyさん
04/11/07 23:46:22ID:???多分、これでいいと思う。
$str1 = 'abc*';
$str2 = 'abc*def';
$str3 = 'abc*def*ghi';
print_r(preg_split('/(?=\*)/', $str1));
print_r(preg_split('/(?=\*)/', $str2));
print_r(preg_split('/(?=\*)/', $str3));
0337336
04/11/07 23:54:55ID:???問題を少し読み間違えていたような気がするのでもう一度。
必ず 2 つに分割するのかどうかが問題を見ただけでは分からないけど。
$str0 = 'abc';
$str1 = 'abc*';
$str2 = 'abc*def';
$str3 = 'abc*def*ghi';
print_r(preg_split('/(?=\*)|$/', $str0, 2));
print_r(preg_split('/(?=\*)|$/', $str1, 2));
print_r(preg_split('/(?=\*)|$/', $str2, 2));
print_r(preg_split('/(?=\*)|$/', $str3, 2));
0338nobodyさん
04/11/07 23:56:14ID:???透過GIFの場合を考え、ImageColorTransparent を使用するつもりです。
新しく定義した背景色を指定する方法 ( ImageColorAllocate ) は見つかりましたが、
アップロードされた透過GIFに元々定義されている透過色を判断出来る方法はあるのでしょうか?
0339nobodyさん
04/11/07 23:59:47ID:???とりあえず、$_POSTを、$_REQUESTに変える。
そもそも、commandをPOSTで送ってない。ってんなら。
array_key_exists()をかます。
0340nobodyさん
04/11/08 00:21:09ID:???ありがと。>336の方がいいみたい。
マンモス本P.322を見ているのだが、
なんで>336の書き方で、区切り文字の
"*"が配列に残っているのか、不思議。
0341320
04/11/08 01:10:50ID:???ありがと。あと、dumpで表示してみたら、NULLでした。
緊急措置としてif (array_key_exists("command", $_POST)){
かましてみました。上手く行きました。THX
0342320
04/11/08 01:20:50ID:???<input name=command type=hidden value="hogehoge">
で得てるみたい。
0344nobodyさん
04/11/08 03:10:22ID:???0345nobodyさん
04/11/08 03:17:17ID:???0346nobodyさん
04/11/08 04:01:12ID:???0347320
04/11/08 04:15:58ID:???issetつかえねー(´・ω・`)
$_POSTの初期化ってどうするの?ヽ(`Д´)ノ
0349nobodyさん
04/11/08 08:14:32ID:???switch(isset($_POST['command']) ? $_POST['command'] : FALSE)
0350軟式PHP
04/11/08 09:06:18ID:???0352軟式PHP
04/11/08 09:16:16ID:???0354nobodyさん
04/11/08 11:10:56ID:pYeS35cGPHPを使ってアップロードしたときに
ファイルサイズが制限を越えるファイルをアップすると
サーバ側でファイルサイズや名前が取得できないだけでなく
他の項目(<input type="text" など)のデータ
も設定されなくなるのですが
こういうものなのでしょうか?
0355nobodyさん
04/11/08 11:38:30ID:???それじゃあ制限の必要ないじゃん。
無理かどうか確認しないと。
0356nobodyさん
04/11/08 11:58:24ID:vBQdFfe4格安商材なので頻繁な銀行振り込み確認が非常にコストとなっています。
自動確認スクリプトみたいなのが作れたらいいなと思うのですが、
可能でしょうか?銀行から如何に振込み名義を取得するかが
ネックですが。
0357nobodyさん
04/11/08 12:10:55ID:???サーバのphp.iniの設定をhtaccessで変更できると
聞いたのですがやり方がよく分かりません。
ググってみても参考サイトが探せなくて。。
何か参考になるサイトをご存じないでしょうか?
0361nobodyさん
04/11/08 13:05:29ID:???http://jp2.php.net/manual/ja/configuration.changes.php
http://lolipoking.lolipop.jp/php/patio.cgi?mode=past&no=175
0362nobodyさん
04/11/08 15:47:12ID:e4TPxf3Iなんで__constructに変わったんだろ?
__destructに合わせたかっただけ?
0363nobodyさん
04/11/08 15:58:09ID:???0364nobodyさん
04/11/08 15:58:33ID:???【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
0365nobodyさん
04/11/08 17:21:39ID:???今、http://m@ki.私のドメイン.comというアドレスにしたくて、
ki.私のドメイン.comを設定して、それはちゃんと表示されるのですが、
http://m@ki.私のドメイン.comとすると、print_rで$_SERVERを表示させても
そのmが入れられているかいないかの区別が付きません。どのようにPHPで記述すれば
その値が取得出来るのでしょうか?教えて下さい。m(_ _)m
0366365
04/11/08 17:27:59ID:???if ($_SERVER['PHP_AUTH_USER'] == '' ) {
header('WWW-Authenticate: Basic realm="My Realm"');
header("HTTP/1.0 401 Unauthorized");
echo "ユーザーがキャンセルボタンを押した時に送信されるテキスト\n";
exit;
}
else {
echo "<p>こんにちは、{$_SERVER['PHP_AUTH_USER']} さん。</p>";
echo "<p>あなたは、{$_SERVER['PHP_AUTH_PW']} をパスワードとして入力しました。</p>";
}
は出さずに行いたいです。
■ このスレッドは過去ログ倉庫に格納されています