トップページphp
990コメント299KB

【PHP】下らねぇ質問はここに書き込みやがれ 68

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/05/03(土) 22:52:16ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0159nobodyさん2008/05/06(火) 17:16:39ID:???
HTMLはわかるんですけど、
echo "<td><img src='$target' width="xx" height="xx">
って入れてみてもエラーになってページが表示されないんですよ。
0160nobodyさん2008/05/06(火) 17:20:57ID:???
>>159
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double
0161nobodyさん2008/05/06(火) 17:25:55ID:???
'でかこめってことですか?
0162nobodyさん2008/05/06(火) 17:31:33ID:???
>>157
>>158
>>159

氏ね
0163nobodyさん2008/05/06(火) 17:34:15ID:???
答え教えてください><
0164nobodyさん2008/05/06(火) 17:39:54ID:???
だから>>1読んでID出さないと荒れると言っているだろうが
0165nobodyさん2008/05/06(火) 17:43:54ID:ZdmmhapK
>>164
すいませんID出しました。
0166nobodyさん2008/05/06(火) 17:47:27ID:???
何度言ってもほんと理解するのが遅いよなゆとりは
0167nobodyさん2008/05/06(火) 17:48:20ID:???
泥酔してるけど、エラーはどっか構文がおかしいんだろ
サイズはHTMLでしていしろや
0168nobodyさん2008/05/06(火) 17:49:48ID:ZdmmhapK
HTMLで指定してるつもりなんですけど、今試しても
<img src='$target' width="60" height="60">
で入力してもダメなんですよ・・。php独自の書き方があるのかなと思って。
0169nobodyさん2008/05/06(火) 17:56:20ID:???
>>168
echo "<img src=\"{$target}\" width=\"60\" height=\"60\">";
0170nobodyさん2008/05/06(火) 17:58:20ID:ZdmmhapK
>>169さんありがとうございます!
すっごく確かりました。本当にありがとうございます!!
0171Order2008/05/06(火) 18:06:19ID:fJq/GBDg
みんなは、編集できたりするパスワードファイルのパーミッション
606にしてますか?600にしてますか?666にしてますか?
0172nobodyさん2008/05/06(火) 18:23:43ID:???
>>171
パーミッションの勉強からしてこい
0173nobodyさん2008/05/06(火) 18:23:52ID:???
このスレはこの程度かw
0174nobodyさん2008/05/06(火) 18:42:10ID:???
007最強
0175nobodyさん2008/05/06(火) 18:51:44ID:???
>>171
あちら↓で質問してください

【エスパー】くだ質【エラーメッセージ不要】(1)
http://pc11.2ch.net/test/read.cgi/unix/1207042632/
0176nobodyさん2008/05/06(火) 19:32:59ID:???
>>168
シングルクオートで囲め!!!

$html = '<img src="'.$target.'" width="60" height="60">';
0177nobodyさん2008/05/06(火) 19:45:16ID:???
>>176
同じ事じゃん
ピリオド連結は、変数埋め込みより遅いよ。






誤差の範囲だが。
0178nobodyさん2008/05/06(火) 19:48:30ID:???
ピリオド連結の方が速いんじゃなかったっけ?
0179nobodyさん2008/05/06(火) 19:51:19ID:???
var_dumpで循環参照してると
同じ値が何度も表示されてウゼーっス
循環参照を防ぐ方法ないッスか?
0180nobodyさん2008/05/06(火) 20:19:46ID:???
>>177-178
ベンチよろしく
0181nobodyさん2008/05/06(火) 20:20:32ID:???
>>179
例えばどういうとき?
0182nobodyさん2008/05/06(火) 20:26:33ID:???
PHPで循環参照ってどんな状態なんだろう
無限ループ?
0183nobodyさん2008/05/06(火) 22:21:39ID:???
>>179
再帰関数な感じだろうか
再起関数内でなんとかするならグローバルでカウントする変数作って最後に出すようにするとか・・。

単純に再起関数終了後にvar_dumpとか・・

どうでもいいがID出せ
0184nobodyさん2008/05/06(火) 22:27:36ID:???
循環参照を扱えるvar_dumpっぽいものは
探せばいくらでもあるだろう。

俺はcakephpのpr()を使っているが。
0185nobodyさん2008/05/06(火) 22:59:10ID:???
思ったんだけど、ヒットサウンドで三個同時に敵に当たったら「ばよえーん」とか「ばはむ〜と」とか
同時ヒット数によってサウンド変わったら分かりやすくね?
0186nobodyさん2008/05/07(水) 00:20:40ID:???
\\\\\\\\\\\\\\\\ってなるソース汚い
あと
$html .= aaaaaaa;
$html .= bbbbbbb;
は遅いけど
$hmlt = aaaaaaaa.
          bbbbbbbbb;
はそんなに遅くない
0187nobodyさん2008/05/07(水) 00:23:38ID:???
俺も出来るだけエスケープシーケンス使わない方法で書くな読みやすさ優先で。
ヒアドキュメントか"."連結のほうがスッキリする場合はそうする。
0188nobodyさん2008/05/07(水) 14:11:21ID:???
同じく。
PHPでヒアドキュメントつかう意味がわからんて奴が結構いるけど、
変数がでるたびに<?php ?>で出入りするほうが面倒じゃね?
0189nobodyさん2008/05/07(水) 14:20:04ID:PVZCAXAQ
htmlのソースをヒアドキュメント使わずにprint"";で囲んでるけど、これって遅くなるのかな?
0190nobodyさん2008/05/07(水) 14:51:59ID:ae64vN4s
PHPでレスポンスコードを指定するにはどうしたらいいですか?
0191nobodyさん2008/05/07(水) 15:02:26ID:???
頭を使う
0192nobodyさん2008/05/07(水) 15:40:27ID:???
>>191
分からないならだまっててくださいよ
昭和生まれが
0193nobodyさん2008/05/07(水) 15:44:25ID:???
これでピンと来ない様では、ちと頭が固い。
0194nobodyさん2008/05/07(水) 15:50:21ID:???
頭 頭 頭 ・・・
0195nobodyさん2008/05/07(水) 15:55:42ID:???
>>193
僕はとんちをしに来たんじゃないんですよ
いつだって真剣なんです
0196nobodyさん2008/05/07(水) 16:11:28ID:???
>>194を見てたら、頭を食べると魚がよくなりそうな気がしてきた。ねむい。

>>190
> ( string string [, bool replace [, int http_response_code]] )
これ便利ですよ。
0197nobodyさん2008/05/07(水) 16:11:52ID:???
PHPが最終的にどんなヘッダを吐いたのかを
サーバサイドで知る方法があれば教えて下さい
0198nobodyさん2008/05/07(水) 16:13:58ID:???
header関数
調べれば判るだろ
=頭を使ってないorどう調べて何が判らなかったのか説明する能力がない
0199nobodyさん2008/05/07(水) 16:15:22ID:???
サーバサイド?
ttp://www.phppro.jp/phpmanual/pear/package.http.http-request.response-eval.html
こういうことかい
0200nobodyさん2008/05/07(水) 16:19:57ID:???
>>199
いや・・・自コード内で、という意味です
たとえばsession_cache_limiterを使ったらヘッダが勝手に設定されるみたいですが
どう設定されたのか知りたいんです
0201nobodyさん2008/05/07(水) 16:45:55ID:???
うーむ、そういう目的だったか。
出力済みヘッダ内容を、自分自身で受け取ったり文字列として再出力する手段は俺は寡聞です。力になれなくてごめん

もしデバッグ用途なら、firebugとか使ってクライアント側でヘッダ見るんじゃ駄目なのかな?
0202nobodyさん2008/05/07(水) 16:57:54ID:???
使ったことはないし、違ってるかもしれんが、
http://jp.php.net/manual/ja/function.headers-list.php
じゃダメなのかね。Apacheレベルでなんかしてたらお手上げだけど。
って言うか、質問者はマニュアル読んでるのかな。
0203nobodyさん2008/05/07(水) 17:07:35ID:???
>>201
ありがとうございました
firebugを使ってなかったのでいれてみました
>>202
これですね
こんな機能が標準で備わってると思わなかったのでみていませんでした
ありがとうございました
0204nobodyさん2008/05/07(水) 17:33:33ID:???
PHP + MySQL のプログラムに関して質問させてください。

勉強用に単純な検索プログラム(ユーザーの入力した条件から適切なレコードを検索、表示する)を作っています。
結果が一定数以上の場合はページ遷移を行うわけですが、ここで少し迷ってしまいました。

@ SQLから結果を全て受け取って、配列に入れておき、それを for で回す。ページ遷移は for の引数を変えていく。
A LIMIT などを使って、そのページ、そのページで、SQLから結果受け取る。

どちらの方法を取るべきなのか、ご助言いただけると有難く思います。
よろしくお願いします。
0205nobodyさん2008/05/07(水) 17:38:00ID:???
10000レコードとかあったら無駄すぎじゃね?
なのでA番のほうがいいと思いますー。
そんなにレコード数はないだろうけど、勉強用としてはもってこいな題材だし。
0206nobodyさん2008/05/07(水) 17:42:34ID:???
>>204
普通は、(2)
0207nobodyさん2008/05/07(水) 17:58:56ID:???
>>205-206
ご回答ありがとうございます。
>>205さんのおっしゃる通り、レコードが数万単位になってきたら、ループで回すのは現実的じゃないですね。
A の方法を取ろうと思います。
参考になりました、ありがとうございました。
0208nobodyさん2008/05/07(水) 19:58:34ID:???
>>206
日本語でおk
0209nobodyさん2008/05/07(水) 22:09:34ID:jO2+N/ib
mysqlの話が出たので流れに便乗して質問

mysqlに接続するときにmysqlのuserとpasswordが必要になりますが
PHPの場合はどこにその情報を持ちますか?
設定ファイルとしてconf.phpとかを作成してその中に持つのが簡単ですが
生パスワードが書かれるのは、できれば避けたいと思いまして
0210nobodyさん2008/05/08(木) 00:03:27ID:???
生だろ生
嫌なら暗号化処理とかすればいい
ついでだからバイナリ化しておけばパット見わからんぞ
0211nobodyさん2008/05/08(木) 00:13:19ID:???
そんなに気になるのならSSL使えよ貧乏人
0212nobodyさん2008/05/08(木) 00:31:48ID:???
SSLを使うとソース上に事実上解読不可能な形でパスワードを保存することが可能なの?
0213nobodyさん2008/05/08(木) 00:39:50ID:???
金持ちはSSLで全て解決できるようです
0214nobodyさん2008/05/08(木) 00:39:59ID:tHYDIFZk
携帯でセッションを持ちまわす方法を考えているのですが、
なかなかいい方法が浮かびません。なにか方法があるのでしょうか?

サイトにログインしてそのアドレスを他人に送信したときに入れなければいいんですが
urlに引数でユーザーIDとか持たせてるので、今はそれだけで認証させているのですが
もちろんそれだと他の人でも余裕で入れてしまいます・・


よろしくおねがいします。
0215nobodyさん2008/05/08(木) 00:43:43ID:???
>>214
携帯端末情報取得

データ照合

処理
0216nobodyさん2008/05/08(木) 00:50:32ID:???
後出し情報どうぞ
02172092008/05/08(木) 01:09:01ID:???
>>210
やっぱ生すかねえ
暗号化したところでhashみたいに一方向にはできないですし

apacheユーザでパーミッションを0600にでもしておきます
0218nobodyさん2008/05/08(木) 01:11:07ID:???
パーミッションって4桁あるの?
0219nobodyさん2008/05/08(木) 01:16:25ID:???
八進数は頭に0を付ける
0220nobodyさん2008/05/08(木) 01:17:48ID:???
SetUIDとかじゃなかったっけ。違ったかな。
0221nobodyさん2008/05/08(木) 01:46:12ID:???
8進で600とか無茶もいいとこだw

SUIDとかSGIDとかスティッキービットの部分かな
必要無いときゃ書かないのが普通だと思うけど
0222nobodyさん2008/05/08(木) 02:00:01ID:???
>>214
前スレでも同じような話あったな
同じヤツか?
0223nobodyさん2008/05/08(木) 03:00:32ID:/YXnYoEj
ttp://php.mirror.camelnetwork.com/manual/ja/simplexml.examples.php
このページの例1の、$xmlstr = <<<XML ~ XML; の所が
”<<<XMLで”始まり、”XML;”で終わっていますが
変数に文字列としてxmlを代入する場合の決まり事っていう事でいいのでしょうか?
調べてみても分からなくて、気になったもので・・・
よろしくお願いします

0224nobodyさん2008/05/08(木) 03:07:24ID:???
そんなところより先にまずちゃんと言語リファレンスを読もうよ
http://jp.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
0225nobodyさん2008/05/08(木) 03:16:09ID:/YXnYoEj
>>224
すいません・・・、見てませんでした
取りあえずxmlを操作してみたく飛ばしてました
始めから読み直します;
ありがとうございました
0226nobodyさん2008/05/08(木) 03:18:45ID:???
>>222
そんなこと言ってたらほとんど同じやつだろがjk
0227nobodyさん2008/05/08(木) 05:16:22ID:bsvRXjwo
simplexml_load_file()で外部のサイトからロードしてるんだけど
これがすごく遅い

ブラウザからアクセスするとそんなに遅くないんだけど
なにか原因になりそうなことあります?
0228nobodyさん2008/05/08(木) 05:32:42ID:???
0229nobodyさん2008/05/08(木) 05:33:14ID:???
PHP5で、変数をクラス名として、クラス変数にアクセスできますか?

$className = "Hoge";
$className::classProperty;
$className::classMethod();

みたいにしたいのですが・・・
02302292008/05/08(木) 05:35:07ID:???
と、質問してみたけど時間が悪かったので質問取り下げます。。。
0231299 ◆SxucvMLsOs 2008/05/08(木) 05:36:53ID:???
取り下げませんよw

暇な事してないで答えてくれよ!
0232229 ◆SxucvMLsOs 2008/05/08(木) 05:37:22ID:???
・・・レス番間違えたorz
0233nobodyさん2008/05/08(木) 05:40:19ID:???
>>230-232
あの、やめてもらえませんか?
だれかおねがいします
0234nobodyさん2008/05/08(木) 05:43:35ID:???
>>229
それを試してから聞いてるのですか?
0235229 ◆SxucvMLsOs 2008/05/08(木) 05:46:58ID:???
>>234
試してます。

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

が出てしまうので、構文的にアウトなのはわかるのですが・・・
別の書き方があるのかと思い、質問してる次第です。
0236229 ◆SxucvMLsOs 2008/05/08(木) 05:51:10ID:???
自己レス。

PHP5.3から出来るようになるとの事。

おとなしくcall_user_func使うよ・・・
0237nobodyさん2008/05/08(木) 05:52:14ID:???
IDが表示されておりませんがどういう考えでしょうか?
ここはID表示されないとまともな回答は得られないスレですので
0238nobodyさん2008/05/08(木) 05:57:20ID:???
トリップ付けてるからいいんじゃないの?
2回目からだけど
0239nobodyさん2008/05/08(木) 05:57:52ID:???
僕はスーパーハッカーなのでIDを消してます。
IDと全角で表記するのは非常にイケテない気がします。
0240nobodyさん2008/05/08(木) 07:12:47ID:a30fSoKv
Ajaxのサーバー側プログラムについて、お知恵をお貸し下さい。

サーバーとクライアント間を相互にXML送信したいのですが、
サーバー → クライアント のXMLは問題ないのですが、
クライアント → サーバー の場合、XMLHttpRequestを使ってXMLを送信した場合、
サーバー側のPHPではどうやってXMLを取得すればいいんでしょうか?

クライアント側のJavaScriptはこんな感じです。
// POST
Ajax.prototype.Post = function Post( argPost ){

post = '<xml>xml</xml>';
// post = 'va1=1&va2=2';

this.request = this.CreateXMLHttpRequest();
this.request.onreadystatechange = this.OnReadyStateChange;
this.request.open( 'POST', this.url, this.async, this.user, this.pass );
// this.request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
this.request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
this.request.send( post );
}

サーバー側のPHPは、下のようにして値をチェックしてます
<?php

var_dump($_GET);
var_dump($_POST);
var_dump($_SERVER);

?>
0241nobodyさん2008/05/08(木) 08:06:49ID:???
>>240
$data = file_get_contents('php://input');

どうしてもXMLを使う理由が無いなら、
クライアント → サーバは 普通にpost
サーバ → クライアントは JSON
をお勧めする。

0242nobodyさん2008/05/08(木) 08:37:17ID:a30fSoKv
>>241
レスありがとうございます。
取得できました。
そんな方法があるとは知りませんでした。(さすがです!)
JSONの方が楽なのは承知しているのですが、色々と事情がありまして・・・
02432142008/05/08(木) 09:00:38ID:lngjMkTW
>215
それだとFORMしかリンクに使えなくなるのでテキストのリンク部分などは回避したいところです・・

>222
違います
0244nobodyさん2008/05/08(木) 09:10:35ID:???
>>243
携帯情報端末を使うのになんでFORMにしかリンクがつかえなくなるの?
0245nobodyさん2008/05/08(木) 09:12:35ID:???
何か基本的なところが理解できてない感じするね
0246nobodyさん2008/05/08(木) 09:12:48ID:???
>>243
携帯端末情報は普通のアンカーからでも取れると思うよ。
DoCoMoだと端末側に送信するか否かの確認は出るだろうけど。

それが嫌なら、
・URLにユーザIDではなく、セッションIDを持たせる。
・セッションIDはアクセス毎に変更する
とか処理しとけば要件満たせるよ。
02472432008/05/08(木) 09:58:57ID:6fBs3OYg
>244-246
すいません、勘違いしてました。

>246
セッションIDもたせたばあい、そのアドレスでアクセスしたら
他の端末でアクセスしたときのセッションの内容がみれたのですが・・
0248nobodyさん2008/05/08(木) 10:10:42ID:???
前スレの
「セッションハイジャックが毎日行われています。客に仕様だと説明しているのですが
 納得してもらえません。どう説明すればいいのでしょう?」
と似てきたな。
0249nobodyさん2008/05/08(木) 10:39:32ID:???
>>247
>セッションIDもたせたばあい、そのアドレスでアクセスしたら
>他の端末でアクセスしたときのセッションの内容がみれたのですが・・
セッション側で管理してなきゃ当然の動作だ。

まずはユーザエージェントでも見て、セッションの有効性をチェックしろ。
これで3割防げる。

そして、セッションIDをアクセス毎に変えろ。
ユーザが故意にセッションIDを流出させない限り
これで9.99割防げる。
0250nobodyさん2008/05/08(木) 11:16:11ID:???
>>248
いちいち前スレのことをもちだすな
ストーカー気質で気持ち悪い
0251nobodyさん2008/05/08(木) 11:33:28ID:???
ストーカーされて気持ち悪いの間違いでは?
0252nobodyさん2008/05/08(木) 11:36:09ID:???
>>248=>>251
0253nobodyさん2008/05/08(木) 11:43:53ID:???



    .__
    ヽ|´∀`|ノ <先生!fscanfがおかしいです!
    |__| 
     | |

0254nobodyさん2008/05/08(木) 11:45:46ID:???
仕様です
02552432008/05/08(木) 12:03:56ID:6fBs3OYg
>>249
もしよければ具体的なソースコードなど教えてもらえないでしょうか?
0256nobodyさん2008/05/08(木) 12:04:51ID:???
えっ!
0257nobodyさん2008/05/08(木) 12:05:52ID:???
びっくりしたなぁもう!
0258nobodyさん2008/05/08(木) 12:07:34ID:BM6vmusK
http://www.cgikon.com/search/detail.php3?menu=1&cgi_id=426
これスクリプトおかしくない?
■ このスレッドは過去ログ倉庫に格納されています