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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/10/05 17:36:38ID:???
・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
0587nobodyさん04/10/20 00:14:43ID:???

>>586
0588nobodyさん04/10/20 00:28:32ID:???
$a = new foo();
と
$a =& new foo();
だと、
後者の方がメモリー効率が良い?

>>577
echo($food["fish"]."<br>\n");
であかんのかい?

もしくは、
echo("$food['fish']<br>\n");
かなぁ?
echo("{$food['fish']}<br>\n");
かも。

文法に関しては、オンラインマニュアルでも
読んだら?
0589nobodyさん04/10/20 01:08:21ID:???
なんか、聞いてる方も答えてる方もレベルが低いよね。
素人言語だからしょうがないっていえば、しょうがないんだけど。
0590nobodyさん04/10/20 01:09:12ID:???
レベル高い人(?)は、まともに答えてくれないしね。
0591nobodyさん04/10/20 01:10:49ID:???
ネタスレだから
0592nobodyさん04/10/20 01:12:49ID:???
瑣末だけどechoは関数じゃないから()なし推奨。
個人的には関数にしてない方が違和感あるんだが。
0593nobodyさん04/10/20 01:12:58ID:???
       , -,:'   / ̄) i{'r‐-、 `ヽ、
.    _...,,o‐y    ,:'- '⌒   ⌒ヽ. `ヽ' ,
    (o(  ,'    / /     、 `ヾ.   ヾ,
  ,:'´//7,'  ,' .,' ,:'   !  } i  !', ':,  ':,    ゙:,
  ,' / ,' {l.  ! {/   ,イ / }|  !|', !.  ',  ', ゙,
 ハ〃 ! !|  | |  ∠/ ,:'-ノ} /リ l ,ム.  !  } |!
  ハヽ、ゝ!|  l | ,:',;='ィ'、'´ ,'.ノ ノ.,;lノ=、l .,' ,' ,' ノ
    {   l l ', |'ヲi(_ノ.}  ´    i(ノ.}゙!ノ,:',:''´
     ',  h. ', ',゙、 ':゙゙_.ノ.     ':゙_ノ〃ン   
     ':, { ',', ':,':,         丶   ,' l .}
      ヾ ':,':, ':ヾ、._    「´/    ,' | .,'    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        `ヾ-、`ヽ_    `´ _,.ィリ.ノ ,'  < なんとなかるよ、大丈夫だよ!
         リ';',ヾ|  ` ‐┬ ´ _ノノ,'/    \___________________
          ヾ,、-- 、 _ |     ´ノ'                    
          f ヾ、..___ ヽ、 ー‐''   
         /_......_     \
0594nobodyさん04/10/20 01:16:38ID:???
赤 <なんとなかるわ、頑張るもん!
0595nobodyさん04/10/20 01:18:28ID:???
真面目な隔離スレだろ。伊達でやってんじゃないよ
0596nobodyさん04/10/20 01:20:04ID:???
e-typing < きっとなんとなかる
0597nobodyさん04/10/20 01:29:32ID:5VvbVBZ6
>>589
失礼な発言ですね。
訂正していただけませんか?
0598nobodyさん04/10/20 01:34:06ID:???
ネタ振りがありましたよ。
0599nobodyさん04/10/20 01:35:57ID:???

     あーっと、ここでスルー!
          _
         r'::::::::i
          トーf/__
       /  イ| 、ヽ
       //_〉 l_l i_ノ、
 \\ (_ニノ 〉____〉〉 〉
       /    } /
      /\/,ー 'ヾ          >>597-598
      〈  < /
      \i"ヽ、  \\     //
      ├ i\i カ      ,、
       |_,,i ノ_ソ    )     ゝ
      ノ_/〉
0600nobodyさん04/10/20 01:38:19ID:???


   6  0  0

0601nobodyさん04/10/20 02:19:35ID:???
サーバ上のファイルをhttpダウンロードしたいんですけど、さっぱり
わかりません(つД`)
0602nobodyさん04/10/20 03:09:49ID:???
>>601
Irvine使えばいいと思うよ
0603 04/10/20 03:47:25ID:???
空のHTMLファイルを作っておいて
それをオープン、名前変えて複製、データ保存

多分出来る・・・かも
自信なし


0からやってようやく、PHPからMySQLの中のデータ取り出し、表示まで行った。
本当の0からは大変だ
0604nobodyさん04/10/20 04:19:20ID:???
チラシの裏に書けって言ってるだろ・・・
0605 04/10/20 04:39:08ID:???
便所よりチラシに書けと。
060660104/10/20 05:23:56ID:???
>>602
ありがとうございます。試してみます。

>>603
おー。一緒です。お互いがんばりましょう。
0607nobodyさん04/10/20 05:24:11ID:???
便所に日記をかいてんのか
変わった障害児だな
0608nobodyさん04/10/20 05:28:20ID:???
最近沸いてきてる池沼集団は何なんだ?
ネタスレになるくらい別にいいが、最近すげー気色悪いスレになってきてるよ。
0609 04/10/20 05:35:51ID:???
>>606
がんばろー

明日は日本語で扱えるようにならないと。
多分それだけで終わる気がする。


HTTPとか良く分からないけど、マニュアルのfopen()を見れば
良いんじゃないかな
0610nobodyさん04/10/20 05:37:20ID:???
>>608
実は統合失調症2名が複数人分立ち回ってる罠
0611nobodyさん04/10/20 05:46:15ID:???
確かに初心者にまざって怖い感じする奴が増えてきてる。
他のスレやム板なんかもまるで常識の通じない空気になってるとこある、、
PHPだからじゃないと思う。
ここのノーマルなユーザはスレが一本化されたときに逃げたんだろうけど、、
0612nobodyさん04/10/20 05:48:23ID:???
おまいら台風が気になるからって起きてても会社は休みになりませんよ
0613nobodyさん04/10/20 06:07:06ID:???
うちの地方は台風は夕方が本番だな。落雷さえなければ関係なさげ。
0614nobodyさん04/10/20 07:11:35ID:???
任意の文字列$strを
1文字ずつ配列$arr[]
に入れていく関数ってありますか?
0615nobodyさん04/10/20 08:35:52ID:???
>>614
preg_split() or for(){}
文字列インデックスを使うならforループでいいけど
多分preg_splitの方が早い
061661404/10/20 08:52:34ID:???
preg_splitでは1文字ずつ取り出せないような気がしますがどうなんでしょ。
パターンに
.
とすればいけるのかな。
061761404/10/20 09:01:37ID:???
無理でした
0618nobodyさん04/10/20 09:34:25ID:???
>>614

そのまま $str[ 数字 ] で一文字ずつ取れるけど。
2バイト文字はだめだが。
0619nobodyさん04/10/20 09:55:29ID:???
>>614
どちらにしてもマルチバイト文字はできないけど。

$s = "abcde";
print_r(preg_split("//", $s, -1, PREG_SPLIT_NO_EMPTY));
0620nobodyさん04/10/20 11:13:02ID:???
>>601
ヘッダ吐いた後にreadfile()じゃだめ?
0621nobodyさん04/10/20 11:26:47ID:???
>>601
ていうかさ、普通にfsockopen()使えば。
こっちの方がタイムアウト処理とか楽だし。
062261404/10/20 11:31:18ID:???
>>618
しらなかった・・(恥
0623nobodyさん04/10/20 14:36:35ID:???
>>618
$str{インデック} がおすすめ
0624nobodyさん04/10/20 15:08:17ID:???
a
0625nobodyさん04/10/20 15:33:20ID:???
1
0626nobodyさん04/10/20 15:47:30ID:???
検索エンジン初心者とゆういちのせいでスルーされていました。再度お願いします。
simplexml_load_stringで生成したオブジェクトにXSLTを適用するには、どうしたらいいですか?
0627ゆういち04/10/20 19:48:06ID:???
>>626
人のせいにしないでくれませんか?

>>612
>>613
ここは台風のスレなんでしょうか?
いいえ、違います。
ここはPHPのスレです。
0628nobodyさん04/10/20 20:01:11ID:???
>627
よーくわかってんじゃねーか。
お前には場違いってこった。
0629nobodyさん04/10/20 20:06:44ID:???
ゆういちは釣りなのかマジなのか、
微妙すぎて分からん
0630nobodyさん04/10/20 20:07:53ID:???
ゆういち=カポk(ry
0631ゆういち04/10/20 20:29:31ID:???
phrameとMojaviではどっちの方が優秀なフレームワークでしょうか?
063262604/10/20 20:29:42ID:???
素直にDOM XMLを用いてXSLTを適用したいと思います。
最後に一つだけ質問です。Win32版PHPを使っているんですが、DOM XML関数を使用するために必要な
拡張モジュールのインストールを行うためには、PHPをビルドしないと駄目なんですか?
0633nobodyさん04/10/20 20:34:35ID:???
>>632
zip版には入っとるみたいだなぁ。msi版は知らん。
PHPを適切にビルドすれば確実に手に入るわな。
063462604/10/20 20:44:14ID:???
>>633
ありがとうございます! いい機会なんで、この際ビルドに挑戦してみたいと思います。
0635ゆういち04/10/20 21:07:57ID:???
>>632
サーバーはLinuxの方が早くていいですよ。
0636nobodyさん04/10/20 21:36:21ID:???
>>635
関係ないじゃん
0637nobodyさん04/10/20 21:37:42ID:???
( ・∀・)つ〃∩ ヘェー
0638nobodyさん04/10/20 21:46:06ID:???
状況によっては環境を自分では選択できないこともあるんだが、
そういうことを考える頭はないみたいだな
0639nobodyさん04/10/20 22:26:35ID:???
if文の中で int型と文字列型で比較すると変になるのですが、こういう使い方はダメなのでしょうか?

出力するページは複数あって、普段は0,1,2・・とページごとに表示させています。
**/display.php?page=0   と言う風な感じです。
これに全て表示するようなオプションをつけて
**/display.php?page=all
としたのですが $pageが0のときにallと勘違いされてしまいます。

$page = $_GET['page'];

if($page == 'all')
 //全て表示
else
 //ページごと
0640nobodyさん04/10/20 22:51:05ID:???
===
0641nobodyさん04/10/20 22:58:03ID:???
>>639
> $pageが0のときにallと勘違いされてしまいます。

んなことないだろ。
0642nobodyさん04/10/20 23:13:07ID:???
preg_match使えば?
0643カポコン04/10/20 23:14:29ID:???
>>630
残念はずれ
0644nobodyさん04/10/20 23:24:12ID:???
>>639
文字を数値に変換すると0とみなされるからね。
>>640の通りに === で比較しないといかん。

こういうのが面倒だからページは1からにした方が楽かもね。
0645nobodyさん04/10/21 00:06:40ID:???
>>641
ためしに print( (0 == 'all') );
これが1になったです・・。

>>640
>>644
そうなんですか、===は初めて知りました。
文字を数値に変換すると0とみなされるんですね・・。
とりあえずページを1からにしてみます、ありがとうございました。
0646nobodyさん04/10/21 01:08:14ID:???
セッションの扱いで質問させて下さい

ページの遷移は入力→確認→完了を2回繰り返して最後にDBに登録
といったものなのですが、

global $HTTP_POST_VARS;
session_start();
foreach($HTTP_POST_VARS as $k => $v){
session_register( $k );
$k = $v;
}
こんな感じでセッションに入れて
その次に
print_r($HTTP_SESSION_VARS);
exit;
で確認するとちゃんと修正されているんですが
いざ各項目を個別に$HTTP_SESSION_VARS[hoge]を出力しても
前回の値が表示されてしまう…
orz
0647nobodyさん04/10/21 01:15:08ID:???
mb_detect_encodingでちゃんと文字コードを検出できたりできなかったりするのは仕様?
0648nobodyさん04/10/21 01:29:19ID:???
>>647
仕様。
仕組みを考えてみれば判るだろうが、渡す文字列が長いほど、
というか文字種が多いほど、誤認識しにくくなるので工夫しませう。
0649 04/10/21 03:45:12ID:???
さて、深夜の便所の落書き


取り込んだmysql_DATAを呼び出し→TABLEで表示は昨日出来た
今日の課題:DATA追加→表示 終わり
        任意のDATAをWeb上で選択・消去→表示 終わり

一応、最低限の事まで辿りついた。ちょっと安心。


昨日言ってたように、日本語でMySQLDATA登録してみる→当然文字化け
内部ではSJISで処理してたらしく、都合悪いのでEUCに変える
出力をSJISにしてみる。
そしたら全てOKになった・・・らしい。

ついでにセキュリティの事を読む。ヤバイ文字排除は楽らしい。
明日はテーブルリストのフィールドについて考えて見ることにした
0650軟式PHP04/10/21 09:07:54ID:???
>>649
      r;ァ'N;:::::::::::::,ィ/      >::::::::::ヽ
.      〃  ヽル1'´        ∠:::::::::::::::::i
       i′  ___, - ,. = -一   ̄l:::::::::::::::l
.      ! , -==、´r'          l::::::/,ニ.ヽ
      l        _,, -‐''二ゝ  l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
        レー-- 、ヽヾニ-ァ,ニ;=、_   !:::l ) } ト
       ヾ¨'7"ry、`   ー゙='ニ,,,`    }::ヽ(ノ  チラシの裏にでも書いてろ
:ーゝヽ、     !´ " ̄ 'l,;;;;,,,.、       ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{   __)`ニゝ、  ,,iリ::::::::ミ    
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ ,  な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0651nobodyさん04/10/21 10:42:57ID:???
罫線などが予め書かれたExcelファイル(xxx.xls)をテンプレートとして
読み込み、セルに値を埋めて出力したいのですが何か良い方法はありますでしょうか?
Spreadsheet_Excel_Writerというものを見つけたのですが読み込む事が出来ないみたいですorz
0652nobodyさん04/10/21 11:47:10ID:???
>>651
わざわざWebに持ってこないでExcelでマクロ組めば?
0653nobodyさん04/10/21 12:23:38ID:???
(´-`).。oO(651がExcelを持ってるとは限らないのに)
0654nobodyさん04/10/21 12:36:25ID:???
>>653
小学生は書き込まないでね
0655nobodyさん04/10/21 13:02:56ID:???
>>652
レスありがとうございます。
本来ならご指摘の通りマクロで対応したいのですが、DBにあるデータで
値を埋めなければならないため、Web上でおこなっております。
0656nobodyさん04/10/21 13:03:49ID:???
幼稚園児に言われたくないな
0657nobodyさん04/10/21 13:41:34ID:???
乳児は黙ってろ
065865204/10/21 14:20:42ID:???
>>655
俺ならDBのデータをODBC経由でExcelの「外部データのとりこみ」に持ってきて処理する。
0659nobodyさん04/10/21 14:54:54ID:???
>>658
それでも良い気がするんだけど、問題はそのDBを繋ぎにいくExcelを
不特定多数の人が使うとなると色々問題があるような・・・

>>651
幾つか手段はあると思うんだけど、
・サーバをWindowsにしてWEBアプリもASP.NETなどで作って、
全てサーバ側で処理してExcelをダウンロードできるようにする。

・そのExcelで必要なデータをCSVやらSYLK形式のテキストでダウンロードできるようにして、
各ユーザはマクロが組まれたExcelのテンプレートでそのファイルを読み込み、
後は勝手にマクロが処理してくれる。
066065204/10/21 15:57:58ID:???
アクセス権の問題ってことか。

DBのテーブル/ビューの内容をPHPを使ってベタなHTMLの<TABLE>に整形するような
スクリプトを作っておいて、それをExcelからWebクエリとして開くと一見普通の
Excelの表として読みこめるから、その手もいけるかもしれない。
066165104/10/21 16:48:57ID:???
お二方様、ご意見ありがとうございます。
659さんの2番目のやり方を少しいじったやり方で実現出来ました。
DBから必要なデータをCSVに出力した後に、FTP経由でCSVを取得して
そのCSVデータをマクロで処理するexeを作りました。謝謝ですm(_ _)m


0662nobodyさん04/10/21 17:33:03ID:Q3cv6Kj3
すいません、ご指導のほどよろしくお願いします。

PHPからPostgreSQLに検索をかけるプログラムを書いております。
PGの文字コードがEUC-JPで、PHPからPOSTする検索対象語は
SJISです。それで検索対象語をSQLを実行する側のPHPにてEUC-JPに
変換したのですが、以下のようなエラーが出てきてしまいます。

Warning: pg_exec(): Query failed: ERROR: parser: unterminated quoted string at or near "'%" at character 201 .

検索対象文字の前後にワイルドカードをつけています。
検索対象文字がアルファベットの場合には何事もなく動作するのですが。。。

何か対処法がありますでしょうか?よろしくお願いします。
0663nobodyさん04/10/21 19:06:30ID:???
>>662
どういうqueryを投げようとしてるかはprintしてみたんだよね?
0664nobodyさん04/10/21 19:17:09ID:???
printin
0665nobodyさん04/10/21 19:34:36ID:Fws0z8sw
変数の内容を実行したいのですが、何か方法はありますでしょうか?
イメージ的には include や require の引数に文字列を渡すといった感じです。
例えば変数の内容が
<html><body><?php echo date('m/d'); ?></body></html>
となっている時に、正しく実行(処理)したいのですが方法がわかりません。
上記の内容がファイルの中身であればファイルを include すれば、
include した時点で、評価されると思うのですが、
この内容が変数にある時にどうしたらよいのかがわかりません。
eval だと 渡す内容が php のコードじゃないとだめだし。

アドバイスのほどよろしくお願いします。
0666nobodyさん04/10/21 19:42:47ID:???
>>665
全く同じ質問がこのスレにあったような気がする。

eval('?>'.$str.'<?php');

ではなかっただろうか。
0667nobodyさん04/10/21 19:45:58ID:AZy0QHNb
PHPでのメール送信について質問させてください。

現在、PHPを使用して構築したサイトを運営しており、今回、OSとApacheの
バージョンアップを行おうと思いテストを行っていたところ、PHPからメールを
送信した場合に、エラーとしてはじかれてしまうアドレスがある事がわかりました。
具体的には、sendmailをコマンドラインからキックする際に「-f スイッチ」を
付けなかった場合と同じ現象のようです。
現在、PHPでのメール送信は「mb_send_mail」を使用しておりますが、この現象を
回避する方法をご教授ください。

現在の環境
RedHat EL3 / Apache 2.0.46 / PHP 4.2.3 / 8.12.6

バージョンアップ前の環境
RedHat 7.2 / Apaache 1.3.29 / PHP 4.2.3 / 8.11.x

よろしくお願いいたします。
066866504/10/21 19:53:08ID:Fws0z8sw
>>666
スレ探してみましたがみつけられませんでした。すみません。
教えて頂いたようにやってみましたが、
Parse error: parse error, unexpected T_ECHO in /home/hoge/test.php(10) : eval()'d code on line 5
となってしまいます…。

よろしくお願いします。
0669nobodyさん04/10/21 20:15:38ID:???
Zend studio 3.5すげーいい!!

別ウィンドウでソース見れるだよ。
0670nobodyさん04/10/21 20:25:41ID:???
↑業者?
0671nobodyさん04/10/21 22:50:33ID:???
このスレのレスみてるとPHPがいかに幼稚な言語かがわかるな。
0672nobodyさん04/10/21 22:52:47ID:???
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J << 671
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0673nobodyさん04/10/21 23:14:40ID:???
ばぶー
0674 04/10/21 23:17:20ID:???
どのHPでも裏ではPHPで動いてるんだよ・・・
0675nobodyさん04/10/21 23:22:46ID:???
どの学校でも裏では日教組が動いてるんだよ・・・
0676ゆういち04/10/21 23:57:45ID:???
いい加減に私の質問に答えてください。
0677nobodyさん04/10/22 00:04:04ID:???
×いい加減に
○いい加減な
0678nobodyさん04/10/22 00:05:36ID:???
>>677
お前のせいで確認しちまったじゃねぇか氏ね
0679nobodyさん04/10/22 00:22:11ID:???
上手い!禿しくワロタw
0680ゆういち04/10/22 00:24:52ID:???
>>646
ここの人たちはセッションについてまったく分かりませんよ。
0681nobodyさん04/10/22 00:28:12ID:???
ハックション
068266204/10/22 00:33:50ID:n1ZmUV/Q
>>663

すいません、遅くなりました。echoで出してみたら以下のようになります。

WHERE UPPER(name) LIKE '%F{%'

LIKEのあとが変換したあとです。
0683nobodyさん04/10/22 01:28:53ID:GnBF56DF
すみません、質問です。

($rowForumInfo['numpost']) ? $numPost = $rowForumInfo['numpost']: $numPost = 0;

これの意味がわかんないのです。
?と:で前後を比較してるのかな?と思うんですけど、検索しても出てこないし・・・
phpマニュアルの該当ページとか教えてくださいまし。
0684nobodyさん04/10/22 01:56:25ID:???
>>683
三項演算子
ttp://jp2.php.net/manual/ja/language.operators.comparison.php
0685nobodyさん04/10/22 02:46:09ID:???
普通は
$numPost = ($rowForumInfo['numpost']) ? $rowForumInfo['numpost'] : 0;
と書くのでは?
0686nobodyさん04/10/22 02:58:10ID:???
>684
即レス感謝です!
そのページ見て他のに気が付かなかったよ!

>685
マニュアルではそうなってますね。
>683のはF-boardさんのです。
■ このスレッドは過去ログ倉庫に格納されています