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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/04/07 01:06ID:HTcWOpWf
PHP全般の質問スレです。
上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。

■本家
 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-5
0136nobodyさん04/04/12 16:41ID:???
>>134
なら余り考えない方が良いよ。
素人の浅知恵(煽りじゃなくて)

わかる言語(Perlか?)で、今使ってるスクリプトの
設計を見直す。わかる言語が無けりゃ、何種類かの
スクリプトを使用感や性能比較して選択する。
自動車だって乗ってる奴が全員エンジン設計や
車体設計が出来るわけじゃないだろ、それと同じ。
ユーザはユーザでやるべき事がある。それくらいはやれ。
0137nobodyさん04/04/12 16:42ID:???
>>134
そんなに速度が気になるならmod_perlで組み。PHPは無知なんだかだ。
0138nobodyさん04/04/12 16:55ID:???
よく読んだらユーザじゃなくて作り手見習いなのね。
だったら尚更どれかひとつの言語をちゃんと習熟した方が
良いと思う。Perlで全然問題ないよ。

囁きって私信だよね。
今ログはグローバルな発言と囁きで分けて、混合してるの?
それとも混在してるものを出力時にパーソナライズ?
0139nobodyさん04/04/12 17:40ID:???
>>135
あ。PHPって全部勝手にモジュールになるんだとおもってますた。(阿呆)
いわゆる普通のレン鯖だとphpはCGIになるんかな。

>>136
だいたい高速化はperlと同じだろー、だったらオーバーヘッド少ないほう使おうーという浅知恵。

>>137
レン鯖に入れてもらえないんじゃゴルァ!

>>138
現在の仕様
■ログファイル:
<b>モナー></b>えー、しんじらんなーい<br>
<b>ぎこ></b>電話番号教えてよ<br>[私信:モナー<>127.0.0.1]

■処理
while(<IN>){
next if (ログ行が私信 and 俺は私信を受け取る人物じゃない)
print $_;
}
0140nobodyさん04/04/12 17:41ID:???
他に考えた手法は
「モナーgD45hj5aei0.htm、ぎこbR93DPaigy22.htm」
と用意して発言があったときに両方更新して、
リロードは<META HTTP-EQUIV="Refresh">、という方法。(IPを元にハッシュをつけて他人が見られないように)
2chのチャットスレで見たのは、更新された発言数行だけを得て、表示はjavascriptで行う方法。これは早かった。

ただ、チャットの表示形式はある程度の柔軟性・拡張性が必要です。
マルチルームで部屋ごとに別の設定が求められるためです。
極端な例としてはある月は発言色を動的にグラディエーションに、ある月は縦書きにするだとかが求められることもあります。

# ぜんぜんPHPスレじゃなくスマソ。
0141nobodyさん04/04/12 17:51ID:N7Xr04dJ
<html><body>
TESTPAGE<br>
<form action="<? echo $_SERVER[PHP_SELF]; ?>" method="POST">
URL: <input type="text" size="60" name="url" value="http://www.yahoo.co.jp">
<input type="submit" value="get"><br>
<?php
if(ereg("^http://",$_POST[url]) && isset($_POST[url])):
$page = readfile($_POST[url]);
echo "<hr>総バイト数 $page";
endif;
?>
作動しないんですけど何が原因でしょうか?
0142nobodyさん04/04/12 18:47ID:???
phpdevをXPにインストールして使ってるんですが
mb_convert_encoding等の関数を利用するにはどうすればいいんでしょうか…?

0143nobodyさん04/04/12 19:27ID:???
>>142
php.iniでmbstringエクステンションを
ロードするように、コメントアウト
;extension=php_mbstring.dll
してるのを外す。それで上手くロードできなければ
マニュアルみてphp.iniの設定関係を見直せ。
0144nobodyさん04/04/13 00:28ID:gpEMrt78
PerlできるシトがPHP出来ないなんて信じられません。。。。
ほとんど一緒ジャン。でかPerlの面倒なとこを関数化しちゃったのがPHPでそ?
0145nobodyさん04/04/13 01:29ID:???
>>144
あんまりPerlさわってないけど、CPANのライブラリ(といえばいいのか?)を
使いこなしている人は、関数でゴリゴリすることもないのかも。
もう少し日本語ドキュメントが充実すればいいのだろうけど。
0146nobodyさん04/04/13 01:56ID:???
>>144
できないことはないだろうね。
でも、PHPは関数が多すぎてめんどくさいのよ。
perlの関数なんて全部覚えきれる程度しかないから
それを使ってあとは自分で書いたほうが早いし。
0147nobodyさん04/04/13 06:56ID:7nSUeYQs
PHP4.3.4 / mb_send_mail, qmailでスクリプトから
メール送信するとhotmailのバルクメール扱いになってしまいます。
これはサーバの設定が原因でしょうか?
0148nobodyさん04/04/13 11:00ID:???
今まで関数なんて全部覚えたことないぞ
必要になったときにWEBで検索かける
0149nobodyさん04/04/13 11:50ID:???
関数リファレンス
ttp://jp.php.net/manual/ja/funcref.php
はカテゴリ毎に分けられているので便利。
でも abc 並びなので英語とカタカナ混在で探すのが面倒。
abc → アイウエオ並びになると見やすくなりそう。
0150nobodyさん04/04/13 11:58ID:???
>>149
脳内翻訳すればたいした手間じゃないと思うが。
それほど難しい単語なわけでもないし。
0151nobodyさん04/04/13 12:22ID:???
すまそ、
get_cwd() のように現在のファイル名だけを知りたいのだけど、何か適当な関数ありませんか。
前から気になってたんだけど、結局見つかってないんで。
パスの付いた価を取って explode() して array_shift() とかいう無駄な処理しか思いつきません。もうちょっと何とかならないかと。
0152nobodyさん04/04/13 12:24ID:???
>>151
basename()
0153nobodyさん04/04/13 14:05ID:???
perlにおいて、csvファイルを配列に取り込み、複数項目でソートをかける為に
下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?

@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;
0154nobodyさん04/04/13 14:37ID:Dw9h1MU+
>>141ですが

わかるかたいませんか?
0155nobodyさん04/04/13 14:45ID:???
>>154
ウチじゃ動くべ
php.iniじゃないの?
0156nobodyさん04/04/13 14:55ID:???
>>154
$_SERVER[PHP_SELF] -> $_SERVER['PHP_SELF']
$_POST[url] -> $_POST['url']
0157nobodyさん04/04/13 15:11ID:Dw9h1MU+
>>155
php.iniですか・・・

>>156
やってみましたが動作しません。

エラーも出ずボタンを押しても無反応です。
0158nobodyさん04/04/13 15:18ID:???
>>157
どこか打ち間違いがないかよぉくみれ。
ボタンが無反応なら、吐いているHTMLに記述ミスがあるはず。
0159nobodyさん04/04/13 15:33ID:7nSUeYQs
$_SERVER['PHP_SELF']が空なのでは?
0160nobodyさん04/04/13 15:39ID:7nSUeYQs
今試してみたらそのままでokだった。
0161nobodyさん04/04/13 15:50ID:???
>>160
確かに動くがこれってページを読み込んで、ファイルサイズを表示させたいんじゃないのか?
違ったらスマソ
0162nobodyさん04/04/13 15:57ID:Dw9h1MU+
http://php.s3.to/net/get1.php

これと同じように指定したページそのものを
表示したいのですが。
みなさん>>141で表示されますか?

ちなみにhttp://php.s3.to/net/get1.phpは表示されるので
やっぱりphp.iniなのでしょうか?
0163nobodyさん04/04/13 16:02ID:???
>>162
なんだそれでいいのか。それなら今のままで表示されるよ。
016415504/04/13 16:09ID:???
なんだ、レッツのほぼそのままコピペか。
そうなるとちょい気になるんだが、PHPのバージョンは?

>>163
いやいや、表示されないからお困りなんでしょ(^^;
016515104/04/13 16:11ID:???
>>152
ありがとう。
ちょっと今試せないのであとでやってみます。
0166nobodyさん04/04/13 16:11ID:Dw9h1MU+
<html><body>
TESTPAGE<br>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="GET">
URL: <input type="text" size="60" name="url" value="http://www.yahoo.co.jp">
<input type="submit" value="get"><br>
<?php
if(ereg("^http://",$_GET['url']) && isset($_GET['url'])):
$page = readfile($_GET['url']);
echo "<hr>総バイト数 $page";
endif;
?>
で挑戦してみたところURLは/test.php?url=http%3A%2F%2Fwww.yahoo.co.jpのように
しっかり渡されているようなのですが下にページが表示されない状態です
0167nobodyさん04/04/13 16:13ID:Dw9h1MU+
PHP Version 4.0.6です。
016815504/04/13 16:15ID:???
やっぱりオチはそれだったか(ーー;;

$HTTP_POST_VARS使ってください....
0169nobodyさん04/04/13 16:19ID:Dw9h1MU+
とおっしゃられますと
やっぱりバージョンでしたか・・・・
管理者に頼んでUPしてもらいます。
0170nobodyさん04/04/13 16:27ID:Dw9h1MU+
ご迷惑かけたところで申し訳御座いませんが

これを使用した場合表示先>>141ならyahooの
アドレスは閲覧者にはどうやっても知られずに済みますか?
表示先のURIを知られたくないのですが・・・
0171nobodyさん04/04/13 16:33ID:???
悪質サイトがよくやる手だな
0172nobodyさん04/04/13 16:42ID:???
>>170
     ヽ|/
     / ̄ ̄ ̄`ヽ、
    /         ヽ
   /  \,, ,,/    |
   | (●) (●)|||  |
   |  / ̄⌒ ̄ヽ U.|   ・・・・・・・・ゴクリ。
   |  | .l~ ̄~ヽ |   |
   |U ヽ  ̄~ ̄ ノ   |
   |    ̄ ̄ ̄    |
0173nobodyさん04/04/13 16:43ID:???
>>169
$_SERVER,$_GET,$_POSTなどのスーパーグローバル変数か使えるのはPHP4.1.0以上。
http://php.benscom.com/manual/ja/reserved.variables.php
0174nobodyさん04/04/13 17:13ID:???
PHPマニュアルのWindowsヘルプファイル版、
日本語版をダウンロードしたら日本語じゃなかった…
0175nobodyさん04/04/13 17:16ID:???
>>174
そうだよ
0176nobodyさん04/04/13 17:17ID:gpEMrt78
>>170
φ(°°) メモ φ(。。) メモ φ(°°) メモ φ(。。)
0177nobodyさん04/04/13 17:18ID:???
>>174
http://www.php.gr.jp/
ここのどっかに日本語版あったよ。
017817704/04/13 17:19ID:???
>>174
http://www.php.gr.jp/project/doc/
これだ。
017917404/04/13 17:23ID:???
>>177
ありがと。でもそのバージョンは持っているの…。
最新版は自分で加工しなきゃだめなの…?
0180nobodyさん04/04/13 17:50ID:Dw9h1MU+
ありがとうございました。

で、結局自分のやりたい事は出来なかったのですが
こういうことは不可能なのでしょうか?
http://○○○/Aというページとhttp://○○○/Bというページがあるのですが
http://○○○/に入るにはユーザー名とパスワードが必要です。
http://○○○/Aを見せるためにユーザー名とパスを入力した状態にしておいたのですが
パス見えなどのソフトを使われユーザー名とパスがばれてしまい見せたくない
http://○○○/Bも見られてしまいました。
ちなみにhttp://○○○/のページは編集出来ません。
そこで考えたのがさきほどの>>141でhttp://○○○/Aをゲットしたページを見せようかと
思ったのですが結局PASSとユーザー名は入れるはめになるので困ってます。
ミラーも無理だろうし・・・
なにかいい方法はないでしょうか?
0181nobodyさん04/04/13 17:53ID:???
そんなことであんな小細工するページを作ろうとしてたんかよ。
バカバカしい・・・ ┐(´д`)┌
0182nobodyさん04/04/13 18:08ID:???
レスして損したぞ
0183nobodyさん04/04/13 18:39ID:Dw9h1MU+
ごめんなさい。;;

でも必死に色々試した結果でした。
PHPなら出来るかと思い挑戦したのですが
どうやら不可能な問題みたいですね。

ありがとう御座いました。
0184nobodyさん04/04/13 18:40ID:???
>>180
>なにかいい方法はないでしょうか?
いい方法を考えるよりも、その制約の多い構造を
見直した方が良い。大体○○○は全部同じで
そんなことしてるのかよ。
0185nobodyさん04/04/13 18:48ID:???
みんなは>180の状況理解してるん?
俺はよくわからないんだが・・・

AとBが同じパスワードで見れてしまうのを避けたいんだよね?
Bは編集できるんだから、Bにまた違うアクセス制限かけたらいいんじゃないの?
よく理解してないので見当違いのレスならすまぬ
0186nobodyさん04/04/13 18:49ID:???
>>180

>PHPなら出来るかと思い挑戦したのですが
>どうやら不可能な問題みたいですね。

できる。

でも教えたところで意味不明なこと言い始めそうなんで放置。
0187nobodyさん04/04/13 20:41ID:???
すんません初心者です・・・

if (!isset($_SESSION['register']) || $_SESSIN['register'] != 0){

}

・・・なんですが、issetの前にある!は何の意味なのでしょうか?

お教え下さい。m( _ _ ;)m
0188nobodyさん04/04/13 20:46ID:???
>>187に触ったら死刑
漏れはセーフ
0189nobodyさん04/04/13 20:49ID:???
>>187
自己レスですが、単なる否定でよいのかなぁ・・・

どういう意味になるのでしょうか?

空白を入れなくても良いのでしょうか?

! isset($_SES・・・  てな感じに・・・
 ↑
0190nobodyさん04/04/13 20:49ID:???
>>188
へ???

0191nobodyさん04/04/13 21:00ID:???
自殺でつか…
0192nobodyさん04/04/13 21:03ID:???
猫さんの打った文章?は下の行です。↓

:¥・」:\\\\\\\\\
0193187,189です04/04/13 21:17ID:???
なんかマズイこと書きましたか?私・・・

0194nobodyさん04/04/13 22:00ID:???
      | Hit!!
      |
      |
   ぱくっ|
     /V\
    /◎;;;,;,,,,ヽ
 _ ム::::(,,゚Д゚)::| 俺が釣られると思ってんのか!
ヽツ.(ノ:::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'
0195nobodyさん04/04/13 22:47ID:???
クイズ(多岐選択)ができるスクリプトを探してるんですが、
Kent-webさんのところのWeb quizのようなPHPスクリプトありますか?

CGIがおけないので、PHPのを探してます。
自分で作れるほどの技量はないので人様のを拝借しようと・・・
0196nobodyさん04/04/14 00:04ID:???
簡単じゃないか?
クイズファイルを

問題<>選択1<>選択2<>選択3<>回答
問題<>選択1<>選択2<>選択3<>回答
問題<>選択1<>選択2<>選択3<>回答
(デリミタは見やすくしただけ、タブでいいよ)

こんな風に書いて、file()関数で行ごとに配列に入れて
array_rand()関数でランダムに問題を出す

で、回答用の配列作って、あってたら1、違ってたら0を入れる。
で、最後に出力

こんなもんでいいんじゃね?
0197nobodyさん04/04/14 01:00ID:???
ぜんぜんダメ。
0198nobodyさん04/04/14 08:27ID:???
>>195
スレ違いというか、板違い
ここは自分でスクリプトをいじる人の板

自分でスクリプトを組む気が無いのならWeb製作板へ
0199nobodyさん04/04/14 09:22ID:???
わざわざこのスレに書いたのは「作ってくれ」と言いたい訳だな?そうなんだな?

だったら逝ってくれ
0200nobodyさん04/04/14 11:20ID:???
(=゚ω゚)ノ
状況次第とは思いますが、オブジェクト変数等を unset() する事でメモリや実行速度の節約につながる事はあるのでしょうか。
クラスライブラリの取り込みや処理が多いので不要になったオブジェクト変数は unset するべきかどうか迷っているのですが。

今もエンバグしないようにリファレンス参照を行っている場合は unset するようにしています。
0201nobodyさん04/04/14 13:08ID:kCgzRk8J
文字列から、特定の文字列がN回目出現するまでの
前の方の文字列を取り出す方法を御伝授ください。

具体的に

あいうえお<br>かきくけこ<br>さしすせそ<br>たちつてと<br>・・・・

の文字列から
3回目の<br>の前まで

あいうえお<br>かきくけこ<br>さしすせそ

を、取り出す方法です。

お願いいたします。 (o*。_。)oペコッ
0202nobodyさん04/04/14 13:33ID:???
>>201
$a="あいうえお<br>かきくけこ<br>さしすせそ<br>たちつてと<br>・・・・";
$b=explode("<br>",$a,3+1);
array_pop($b);
echo implode("<br>",$b);

0203nobodyさん04/04/14 14:06ID:kCgzRk8J
explod関数ですか!

すばやい御回答、ありがとうございました。
感謝です

m(_ _"m)ペコリ
0204nobodyさん04/04/14 14:50ID:???
>>200
スクリプト終了時にメモリは自動的に開放されるので、スクリプト中にそれほどメモリを消費していないのであれば、
unset() しない方がパフォーマンスは良かったような気がする。

未然にバグを防ぐために unset() するのは安全なのでいいことだと思うけど。

メモリに関しては、PHP を --enable-memory-limit オプション付きでコンパイルしていれば、 memory_get_usage() を
使って調べるのが確実。
0205nobodyさん04/04/14 16:11ID:???
>>204
Webアプリケーション等の場合にはスクリプト実行中にやるよりも、
終了時に自動でさせた場合、HTTPの出力は既に終わったあとの
処理となるので、ユーザにとって結果を受け取るまでの時間が
短いと言う意味でのパフォーマンスは良いが、スクリプト
パフォーマンスとしてはほぼ同等。分け隔てなく一切合財
開放するんで細かくみると若干良いけどね。
0206nobodyさん 04/04/14 16:29ID:rE+vE3GS
あんたらのサニタイジングの方法教えれ
0207nobodyさん04/04/14 16:40ID:???
そんなもの状況によって変わる気がするが
020820004/04/14 16:44ID:???
>>204
詳しい説明ありがとうございます (;´д`)/ 納得しました。
色々試したいと思います。感謝。
020919504/04/14 17:39ID:???
>>198
失礼しました。
制作版にはphpのスレがなかったもんで、こちらで聞いてしまいました。

>>197
ドモ
0210nobodyさん04/04/14 20:14ID:???
こんばんわです

<form action="ses1.php?<? echo strip_tags(SID)?>" method="post">
の echo って必要ですか?無くても動くようですが。

<form action="ses1.php?<? strip_tags(SID)?>" method="post">
にしてはいけないのでしょうか?
URL欄にIDが出てくるのはいやなんですが・・・

よろしくです。
0211nobodyさん04/04/14 20:29ID:???
>>210
下のPHPタグには何の意味が?w

さておき、4.2.0以降か、それ以前でtrans-sidが有効になっていれば、必要ないです。
0212nobodyさん04/04/14 20:51ID:???
どうもです。ってことはコレでイイわけですか・・・?

<?
session_start();

?>

<form action="ses1.php" method="post"> ← .phpの後に何も付けない


どの参考書を見ても
<form action=“ses1.php?<?=SID?>” method=“post”>
とか
<form action="ses1.php?<? echo (strip_tags(SID))?>" method="post">
と書かれているので・・・

PHP4.3.2なのでいらないんでしょうね・・・
0213nobodyさん04/04/15 01:28ID:???
その参考書、なんて書籍ですか?
0214nobodyさん04/04/15 01:49ID:pZEIIwSW
ものすごく基本的な質問ですが…

ブラウザーからのデータの取得は$_POST["message"]などを使うと思います。
でもこれってv4.1.0以降じゃないと使えないですよね?
v4.0.6の場合どうやって取得します?
register_globalsはOffのことも考慮して
$messageは使えないとしてお聞きします。
0215nobodyさん04/04/15 02:05ID:???
>>214
基本的ゆえマヌアル見たら載ってる。それも基本的なところに。
取り合えず知ってるもの($_POST)を利用して探してみ
021621404/04/15 02:35ID:???
>>215
レスサンクス。
あー、アホや自分。
マニュアルは「キーワード」で$_POSTを探していた。
「検索」で探したら一発で出てきた。
$HTTP_POST_VARS['message']

しかも$HTTP_SERVER_VARS['SCRIPT_URI']使っていたから気づけよ(´・ω・`)
0217nobodyさん04/04/15 03:47ID:???
質問。
function foo($a){ 【処理】 }

$a = array('x1'=>'x2','y1'=>'y2','z1'=>'z2');
foo($a);

は、参照渡し?
0218nobodyさん04/04/15 03:59ID:e3RhHgHW
違うだろ。
0219nobodyさん04/04/15 04:15ID:???
違うのか?じゃあ参照渡しするには&$にするの?
なんかわかりずらいな…さんくすこ。
0220nobodyさん04/04/15 04:23ID:e3RhHgHW
そうだろ。
0221nobodyさん04/04/15 10:03ID:???
ちょっと Windows から隣のIMAPサーバに入ってゴニョゴニョとやりたいんですけど、
IMAP関数って Windows では使えないんでしょうか?
0222nobodyさん04/04/15 10:15ID:???
>>221
php_imap.dll
0223nobodyさん04/04/15 10:24ID:NQbEU4pX
PHPのカートシステムのサンプルないですか?
教えてなさい。お願いします。
0224nobodyさん04/04/15 10:27ID:???
>>223
参考になれば・・・
http://www.google.com/search?num=50&hl=ja&ie=Shift_JIS&c2coff=1&q=%83J%81%5B%83g%83%89%83b%83Z%83%8B&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0225nobodyさん04/04/15 10:57ID:NQbEU4pX
>>224
グッジョブ!





_| ̄|○ ガク
0226nobodyさん04/04/15 10:59ID:???
>>224
そうきたかw
0227nobodyさん04/04/15 11:30ID:+OQgNtC5
>>217

参照渡しをしたければ

function foo(&$a) {}

にしたほうが将来的にはいいみたいだ

0228nobodyさん04/04/15 15:20ID:???
formから配列をphpに渡したい場合どうやって受け取るの?

for ($i=0;$i<$hensuu;$i++){
echo "<select name=test[$i]>\n";
while($row = mysql_fetch_array($res)){
echo "<option value='$row[name]'>".$row["name"]."\n";
}
echo "</select>\n";

んで↓試してみたけどだめでした。

for ($i=0;$i<$hensuu;$i++){
$test[$i] = $HTTP_POST_VARS["test[$i]"];
}

どなたか識者の方お教え下さい
0229nobodyさん04/04/15 15:38ID:???
とりあえずHTMLの勉強をしてこないか?
0230nobodyさん04/04/15 15:47ID:???
>>228
(゚д゚)ポカーン
0231nobodyさん04/04/15 16:03ID:???
phpのデバッグをしているのですが、print_rで配列などを表示させたいのですが、
そのまま表示させると text/html 以前なのでソースが表示されてしまいます。

なので
$debug = '';
などで出力を配列の中身を入れてから出力させているのですが、
そうすると配列の中身が改行されないで表示されてしまいます。

みなさんはどのようにしているのでしょうか?

googleやマニュアルを2,3時間調べてみましたがわかりませんでした。

function debug などでprint_rしている例や、
$debug .= var_export($str);
などやってみましたが、うまくいきません。

デバッグの説明ページなどにも書いてないです。
PHPの本も3冊位みましたが出ていません...

英語のURLなどでもよいので、何か手がかりを教えて頂ければと思います。
0232nobodyさん04/04/15 16:23ID:???
>>231
ごめん、俺頭悪いんで、あなたの状況がいまいちわからん。。。

>text/html 以前なのでソースが表示されてしまいます
ってどういう状態?

>そうすると配列の中身が改行されないで表示されてしまいます
print_rの出力で改行されないって話?
それはブラウザがHTML的にレンダリングしてるからじゃないの?
ソースを見るか、print_rの出力前後に<pre>タグいれるかしたら解決しない?

なんせ理解しきれてないので見当違いなら悪かった。
0233nobodyさん04/04/15 16:36ID:???
>>232
説明不足ですみません...

>> text/html以前
というのは、ヘッダーを出す前ということです。
Content-Type : text/html\n\n
を出す前に print_rするとhtmlがソースで出てしまうので、変数にデバッグ情報を格納して
HTMLの中で表示したいという意味です。

print_rみたいなのの内容を変数にいれて、<pre></pre>で囲ってもなぜか、ちゃんと
改行されないのです。

print_rやvar_dump()の結果など変数に入れられないので困っています。

やりたいことは、ただ変数や配列の中身を調べたいだけなのですが...


0234nobodyさん04/04/15 17:00ID:???
やりたいことは判るが、状況が判るような判らんような。

>$debug .= var_export($str);
多分、var_export()の第2引数のところをよく読めば解決。
http://www.php.net/manual/ja/function.var-export.php

あとは出力バッファリングを制御して、var_dump使う手もある。
0235nobodyさん04/04/15 17:03ID:???
phpinfoに引数与えて、変数のあたりの項だけ出力つうのもあるな。
ただこれはphpinfo自身もヘッダー出力するのでダブって出ちゃうけど、
ブラウザが宜しく表示してくれるので、簡易的には使える。
0236nobodyさん04/04/15 17:31ID:???
>>234
$debug .= var_export($str, TRUE);
にしてみました。うまくいってないようです。
引き続き調べてみます。

>>235
> phpinfoに引数与えて、変数のあたりの項だけ出力つうのもあるな。

そんな方法もあるのですね試してみます。

preで表示されない件は、どうやら以下のように指定することで解決したような
感じです。xhtmlとかcssの新しいので仕様が変わったんでしょうか...

<pre style="white-space: pre">


■ このスレッドは過去ログ倉庫に格納されています