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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん04/06/14 14:36ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。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


抜けているものがあったら補足願います
0951nobodyさん04/07/15 15:15ID:???
DBのラッパークラスみたいなので管理してたらそんな変更は屁みたいなもんでそ。
0952nobodyさん04/07/15 15:18ID:???
なにー?
4.3.8または5.0.0にバージョンアップするかmemory_limit機能を無効にしろだと?
うちは4.2系だから辛いなぁ・・・
ここは漢らしく一発memory_limit OFFでいくか?
誰か俺もmemory_limitで対処するぜっという仲間はいない?←と同志を募るあたり女々しい
0953nobodyさん04/07/15 17:08ID:???
>>951
DB関係の変更だけで済むのならいいんだが、順次対処していって、どつぼにはまるのは嫌嫌嫌嫌

>>952
> うちは4.2系だから辛いなぁ・・・
4.1系のおいらは もっと辛い
> ここは漢らしく一発memory_limit OFFでいくか?
うーむ・・・
0954nobodyさん04/07/15 17:17ID:IpnLix62
バージョンうpって普通に上書きするだけでいいんだっけ?
ちなみにPHPバージョンは4.3.7
削除してインストールし直さなきゃならないなら5.0.0にしようかな
0955nobodyさん04/07/15 17:53ID:At3KjVK/
>>954
make dist
make cleandist
した後に普通に上書きしていけば良いよ。
Linuxの話だが。
0956nobodyさん04/07/15 17:57ID:IpnLix62
>>955
すいません
Windowsの話でした_| ̄|○
0957nobodyさん04/07/15 18:51ID:???
>>956
windowsバイナリなら漏れはいつも上書きしてる
今まで問題起こったこと無いから多分大丈夫だ
ってか、削除後に上書きでも対して面倒じゃない気がするが
0958nobodyさん04/07/15 19:19ID:IpnLix62
>>957
d!
アパッチのサーバーモニターのバージョン表示では4.3.8になってるけど…
<?php phpinfo(); ?>で表示した画面のバージョンはまだ4.3.7…
う〜ん…アパッチでは4.3.8と認識してるからこのままでいいのかな
0959nobodyさん04/07/15 19:21ID:???
つーか鯖アプリ入れ替えの際にOSを再インストールすれば調子よくなるのがWindowsの特徴だな
0960カポ04/07/15 19:52ID:???
net stop apache
net start apache

コレで十分だろ
0961nobodyさん04/07/15 19:55ID:IpnLix62
>>960
もちろんやりましたよ…
っていうか上書きはサーバーストップしないとできなかったですし
0962nobodyさん04/07/15 20:57ID:+fR0HFAV
画像ファイルをアップロードする前に一度
プレビュー画面を表示させたいのですが
どうすればよいのでしょうか?
0963nobodyさん04/07/15 21:03ID:???
>>962
どう考えてもムリだろ
サーバにアップロードされなくてはPHPから手の出しようがない
どうしてもというならJavaか何かでクライアントサイド処理の話で板違い
0964nobodyさん04/07/15 22:20ID:???
PHPで独自ドメイン検索窓ってどうやってできますか?
checkdnsrrですかね?
使い方おしえてください
よろしくおねがいします
0965nobodyさん04/07/15 22:29ID:???
「"独自ドメイン検索窓"に該当するページが見つかりませんでした」 _| ̄|○
ちょっと待ってね、考えてみる。
096696404/07/15 22:33ID:???
>>965
ありがとうですっ
0967nobodyさん04/07/15 22:37ID:???
「"独自ドメイン" "サイト内検索" checkdnsrrに該当するページが見つかりませんでした。」 _ト ̄|○
ごめんね。頑張ってはみたの。
0968nobodyさん04/07/15 22:38ID:fzsAP17J
>>962
Javascriptがあんだろうが!
096996404/07/15 22:42ID:???
そうですか・・・
無理ですかね^^;;
0970nobodyさん04/07/15 23:06ID:dhGDtDFU
preg_match関数を使って日本語の検索を行うと
ー ←これがあるとエラーになるんです。
UTF-8でエンコーディングをしても駄目です。
知恵をお貸し下さいます様お願い致します。
0971nobodyさん04/07/15 23:32ID:???
−これにしとけ
0972nobodyさん04/07/15 23:35ID:dhGDtDFU
>>971さん
自動リンク集の様な物を作っててキーワード検索で入力した時にエラーになるのです。
それは登録の際にーを−に変換し
検索時も−に変換すれば?って事でしょうか?
0973nobodyさん04/07/15 23:52ID:???
たちまちアン

文字コードは何使ってん? 状況よろ。
0974 ◆.jC7ANgFY. 04/07/15 23:55ID:???
preg_quoteを使いましょう。
0975nobodyさん04/07/15 23:56ID:dhGDtDFU
>>973
内部の文字コードはEUC-JPです。
0976nobodyさん04/07/16 00:13ID:???
>>975
ととおるが・・・ 
$string= "キッコーマン";
if(preg_match("/コーマン/",$string)){
echo $string;
}//こういうことじゃない?詳しく状況キボンヌ 
0977nobodyさん04/07/16 00:24ID:???
>>974さん
有難う御座います。今から調べて試してみます。
>>976さん
$data = file($logfile);
foreach($data as $val){
list(123) = explode("<>",$val);
if(preg_match("/$word/",$val){
$flag=1;
}
}
こんな感じです。php_iniの設定が何か間違ってるのでしょうか…
0978nobodyさん04/07/16 00:27ID:???
>>958
古いphp4ts.dllが読み込まれてねぇか?
ちゃんと新しいので置換したか。
0979nobodyさん04/07/16 00:35ID:???
--enable-memory-limitで作成されているPHPに対してデータをPOSTするだけで、
任意のコードを実行できる脆弱性が発見された模様。 PHP実行プロセスのメモリ使用量を制限する
memory_limit機能のバグをついたものだ。対象となるPHPのバージョンは

4.3.7以前のすべてのバージョン
5.0.0RC3以前のすべてのバージョン
0980nobodyさん04/07/16 00:35ID:???
スクリプトの中で、「ユーザーから送られてきた情報によって、ある条件が満ちると
処理が増える上、一気に複数の情報をDBに出し入れ、削除する」って部分があるんですが
(ちなみに、そのユーザーには直接関係ない処理ばかり)
こういう処理中ってユーザー側の行動(ブラウザ閉じたり)で
データに破損があったりするんですか?

ないと思ってたんですが…system関数調べてたらよく分からなくなってきちゃって……
アホな質問ですいません。
0981nobodyさん04/07/16 00:38ID:???
$word = "コーマン";
$data = array("ヤッターマン","キッコーマン","仮面ライダー");
foreach($data as $val){
if(preg_match("/$word/",$val)){
echo $val;
}
}

php_iniの設定は関係なく 
保存されてるファイルの文字コードが違ってたりは? んーなんでかねー。
0982nobodyさん04/07/16 00:47ID:???
list(123) = explode("<>",$val);

この部分ってどういう意味なんだろう? んー。
0983nobodyさん04/07/16 00:49ID:???
Warning: Compilation failed: missing terminating ] for character class at offset 8 in C:\www\home\99.php on line 5
こんなエラーになります。

(123) = explode("<>",$val);は特に意味がないです。通常のデータが入ってる配列です。

0984nobodyさん04/07/16 00:56ID:???
if(preg_match("/$word/",$val){
)が足りないとか・・・
0985nobodyさん04/07/16 00:57ID:???
んなー。
0986nobodyさん04/07/16 00:58ID:???
$word = "コーマン";
$data = array("ヤッターマン<>53才","キッコーマン<>17才","仮面ライダー<>56才");
foreach($data as $val){
$list = explode("<>",$val);
if(preg_match("/$word/",$list[0])){
echo $list[0]."は".$list[1];
}
}//んー。
0987nobodyさん04/07/16 01:05ID:???
何故でしょうか。
>>986さんのソースのまんまでもエラーです。
Warning: Compilation failed: missing terminating ] for character class at offset 8 in C:\www\home\99.php on line 6
0988nobodyさん04/07/16 01:13ID:???
php_ini関係ないって言ったけど、
mbstringだか、設定やったかい?     残念、これくらい。
0989nobodyさん04/07/16 01:14ID:???
>>987
そりゃあんさんSJISになってまっせ
0990nobodyさん04/07/16 01:16ID:???
ところであんさん990でっせ
0991nobodyさん04/07/16 01:18ID:???
>>988 >>989
大至急確認してみますです。
こんな夜中に有難う御座いますです。
986さんは優しい人ですね。本当に有難うです。
0992 ◆.jC7ANgFY. 04/07/16 01:24ID:???
$word = preg_quote("コーマン");
$data = array("ヤッターマン<>53才","キッコーマン<>17才","仮面ライダー<>56才");
foreach($data as $val){
$list = explode("<>",$val);
if(preg_match("/$word/",$list[0])){
echo $list[0]."は".$list[1];
}
}//
0993nobodyさん04/07/16 01:34ID:AqvvA+DF
>>922の◆.jC7ANgFY. さん…
出来ました!! 本当に有難う御座いました!
もっともっと勉強します。
優しい人ばかりで今日はとても嬉しいです 涙
0994nobodyさん04/07/16 02:48ID:KvHeypq/
sendmailの.forwardでPHPのスクリプトに渡しているんですが
librariesが無いと返されます
PHPのバージョンは4.3.8です

configure
./configure --with-pgsql --with-apxs2=/usr/local/apache2/bin/apxs
--enable-versioning --enable-mbstring --enable-mbstr-enc-trans
--with-zlib --with-gd --without-mysql --with-openssl
--with-curl --with-curlwrappers --enable-bcmath
--with-jpeg-dir=/usr/local
.forwardの中身
"| /usr/local/bin/php /home/script/test.php"

------------------エラーメール-------------------------
The original message was received at Fri, 16 Jul 2004 02:20:40 +0900
from *****

----- The following addresses had permanent fatal errors -----
"| /usr/local/bin/php /home/script/test.php"
(reason: 127)
(expanded from: <test@test.com>)

----- Transcript of session follows -----
/usr/local/bin/php: error while loading shared libraries: cannot open shared object file: cannot load shared object file: No such file or directory
554 5.3.0 unknown mailer error 127
-------------------------------------------------------
もう何がなにやらワケワカメ
どなたかヘルプミーorz
0995nobodyさん04/07/16 05:02ID:???
"| /home/script/test.php"

これでもだめ?
099699404/07/16 06:41ID:KvHeypq/
スクリプトの先端に
#!/usr/local/bin/php
と付けてもメールを送ってもダメです
コマンドラインではちゃんと動くんですが・・・
------------------エラーメール-------------------------
The original message was received at Fri, 16 Jul 2004 02:20:40 +0900
from *****

----- The following addresses had permanent fatal errors -----
"| /home/script/test.php"
(reason: 127)
(expanded from: <test@test.com>)

----- Transcript of session follows -----
/usr/local/bin/php: error while loading shared libraries: cannot open shared object file: cannot load shared object file: No such file or directory
554 5.3.0 unknown mailer error 127
-------------------------------------------------------
環境はLinuxです
0997nobodyさん04/07/16 06:51ID:G5BXIcyS
掲示板作成にて
>>995 このようなレス番号にカーソルを合わせると過去レスの書き込みが見えるような機能を搭載したいと考えております。
(2chブラウザなどによくある奴)

">num" このような文字列を取得し <P title="<?php print("説明文"); ?>">文字</P>
このように置換するのがもっとも適当かと考えているのですが 

">num" この数字部分の取得ってどうすればいいのでしょうか?
たとえば ”>” のあとが文字列だった場合や数字の桁数が上がっていった場合などの対処法が考えつきません。
「ここからここまでの文字列は数字です」的な判別をさせるにはどのようにすればいいのでしょうか?
099899404/07/16 07:03ID:KvHeypq/
>997
preg_replace_callbackを使うと楽に置換出来ると思いますよ

preg_replace_callback('/>([0-9]+)/','henkan',$body);

function henkan($str) {
$int = $str[1];
//--取得された数字で処理
return $int;
}

http://www.zend.co.jp/products/studio/ZendInformationCenter/php_manual/php_function_refrence/function.preg-replace-callback.html
099999404/07/16 07:14ID:???
もう少しで1000ですので新スレ立てました
新スレでお願いしますorz
【PHP】質問スレッドpart19【php】
http://pc5.2ch.net/test/read.cgi/php/1089929550/
1000tks04/07/16 07:24ID:???
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。