【PHP】下らねぇ質問はここに書き込みやがれ 61
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/27(日) 18:17:59ID:jK32tI//PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0655nobodyさん
2008/02/03(日) 11:50:01ID:???0656nobodyさん
2008/02/03(日) 11:53:31ID:???0657nobodyさん
2008/02/03(日) 11:58:45ID:???ギャップを埋めたりするわけでなし、実装コードのどこを見て言ってるのか分からん
0658nobodyさん
2008/02/03(日) 12:18:05ID:???OrderedHashが遅いのではなく配列が遅い
といっても今のPHPはチューニングされてるから一概に言えない
0659nobodyさん
2008/02/03(日) 12:28:41ID:???ハッシュに追加したキー順番データを保持しておけば良いだけ。
キーで取り出すときは、キー順番データを参照しないから変わらない。
foreachで順番に取り出すときは、ハッシュの内部順番データを取得する代わりに
キー追加順番データを見るだけ。
順番データを保持するだけでいいのだから、キーの数×数バイト のメモリ容量と
追加時にわずかな処理低下しか発生しない。
0661nobodyさん
2008/02/03(日) 16:50:41ID:???これなんで?
0662nobodyさん
2008/02/03(日) 19:39:59ID:???0663nobodyさん
2008/02/03(日) 19:40:31ID:ogX/8gGf/user/1002/img/event20080203.jpg
って風に保存されてる画像があるとして、eventの後に続く数字はアップロード日時
なんですが、この日時から半年過ぎたら削除されるようにしたいと思います。
どうしたらいいんでしょう?
今考えてるのは、ユーザID(1001…)がふえてくのをループをまわして対応しつつ、
該当ファイルがあるのを確認したらunlinkで消してくことなんですが。
for($i=1001;$i<=$userCount;$i++){//こんな感じです 荒っぽいですが
if(getimagesize(該当ファイル *日時抽出と比較もここ)){unlink(該当ファイル);}
}
しかしこれだと、ほんとに削除処理できてるのか一目瞭然でわかりづらいので
なんとなく不安です。(全部のユーザのイメージフォルダを開かなきゃいけない)
アップロード領域を一箇所にまとめて処理すればすぐ確認できると思うんですが、
事情がありそれは難しい状況です。
・定期的に不要なファイルを削除できて、削除の確認がすぐに出来る方法ないでしょうか?
0664nobodyさん
2008/02/03(日) 20:09:15ID:???他にやりようはあるけど、それで問題ないなら十分かと
0665663
2008/02/03(日) 20:36:58ID:ogX/8gGf>なんとなく不安です。
こういうのを不安に思うのがおかしいんですかねー?
逆に言ったら、アップされたときにちゃんとアップされてるか
いちいちディレクトリ開いて見るのと同じってことかな…
0666nobodyさん
2008/02/03(日) 20:37:46ID:+kFg/DIc配列$_SESSION('a')中身はArray ( [id] => 1 [name] => 山田 [etc] => 右 ) に
配列の$b中身はArray ( [id] => 5 [name] => 田中 [etc] => 右 )を
入れたいのですがarray_pushではきれいに入れる事が出来ないのですが
やり方を教えてください。お願いします。
0669nobodyさん
2008/02/03(日) 20:54:29ID:???0670nobodyさん
2008/02/03(日) 20:56:07ID:+kFg/DIcショッピングページの様に最初に情報を入れたカート($_SESSION('a'))に
ページをまたぎ次に選択した情報($b)を追加していきたいのですが
やり方がわかりません。お願いします。
0671nobodyさん
2008/02/03(日) 21:00:30ID:???おそらく
$_SESSION = array(
'a' => array([id] => 5 [name] => 田中 [etc] => 右)
)
で
$_SESSION['b'] = $b;
ってしたい。もしくはマージしたいんジャマイカ?
0672nobodyさん
2008/02/03(日) 21:03:08ID:???ま、確かに「役不足」の正確な意味を知らなかったとかは
あるけどさ、ここまでひどくなるのを見ると驚くよ。
ゆとり世代ってすさまじいな。
0673nobodyさん
2008/02/03(日) 21:07:09ID:???やりたいようにやればいいんじゃないの
0674nobodyさん
2008/02/03(日) 21:12:05ID:???$_SESSION['cart'][] = 追加したいアイテム
$_SESSION['cart'][] = 追加したいアイテム
$_SESSION['cart'][] = 追加したいアイテム
0675nobodyさん
2008/02/03(日) 23:24:59ID:zqPVhuXnとしたらversion1が1.6以下だと怒られた
http://www.aubetec.com/hiruneko/blog/archives/2007/10/pear.html
ググるといいサイトが見つかったので手順とおりに進む
pear listでPEARが1.7であることを確認後もう一度installを試みるも同じように怒られた。。。
0677nobodyさん
2008/02/04(月) 00:13:57ID:jFq8zh8H0678nobodyさん
2008/02/04(月) 00:26:16ID:???0679nobodyさん
2008/02/04(月) 01:05:35ID:vecMkQ0bうまく出来ました
ありがとうございました
0680nobodyさん
2008/02/04(月) 01:09:25ID:???0682nobodyさん
2008/02/04(月) 03:53:04ID:???これもweb2.0が復旧した陰の部分なんだろうなぁ。
パソコンの向こうにいるのは、人間だということを理解してくれ。
テレビゲームのキャラ相手にメッセージしていると錯覚してんじゃないの?
0683nobodyさん
2008/02/04(月) 04:56:14ID:0159YIyBクラスはどんなときに使うものなのでしょうか?
0684nobodyさん
2008/02/04(月) 05:25:47ID:???でも、このスレだから許す
0687683
2008/02/04(月) 07:20:35ID:0159YIyB0689nobodyさん
2008/02/04(月) 07:32:11ID:???↓ ↓ ↓ ↓ ↓
↓↓ ↓ ↓ ↓ ↓ ↓↓
↓ ↓ ↓
↓ ↓ ↓ ↓ ↓
↓ ↓ ↓
↓ ↓ ↓
↓ ↓ ↓
0690nobodyさん
2008/02/04(月) 08:02:25ID:???;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
`"''`゙ `´゙`´´´
0691nobodyさん
2008/02/04(月) 09:40:28ID:???特にマルチパートとかまじしね
0692nobodyさん
2008/02/04(月) 09:42:56ID:???0693nobodyさん
2008/02/04(月) 09:48:53ID:???0694nobodyさん
2008/02/04(月) 09:52:33ID:???会員ごとに見せるページが違います。
ページに関しては、phpでセッション管理で制御しているので楽なのですが、
画像だけは、直リンクされるとログインしていないくても誰でも見れてしまいます。
画像もセッション管理するにはどうすれば宜しいのでしょうか?
画像をphpで生成してreadfileで出力することを思いつきましたが、
この方法だと、同じ画像でも毎回毎回転送する羽目になって
画像の転送量が増えてしまいます。
何かいい方法はないでしょうか?宜しくお願いします。
0695694
2008/02/04(月) 09:52:55ID:2EdkHT4G0696nobodyさん
2008/02/04(月) 10:02:03ID:???0697nobodyさん
2008/02/04(月) 10:09:41ID:2EdkHT4Gアドバイスありがとうございます。
.htaccessでロックする方法がイメージがつかないのですが、
IPアドレスで制限するか、画像にBASIC認証をするということでしょうか?
ちょっと、運用が難しい印象を受けたのですが・・・
0698nobodyさん
2008/02/04(月) 10:35:22ID:1+3di8q+UTN入れるから絶対確認メッセージ出るじゃん。
でも、某SNSサイトってそういう確認も何も無しで識別してログイン出来る…。
もちろん完全なトップページからアクセスしても識別される。。
携帯ってPCと違ってハッシュを見て〜なんて出来ないよね??
0699nobodyさん
2008/02/04(月) 11:05:53ID:???もばげの事だと思うけど完全なトップページからいくと認識されないぞ。
URLを表示して後ろに何もついてないか確認してみそ。
http://****.jp/.o2i2jsie/みたいな適当なのがついてない?
0700nobodyさん
2008/02/04(月) 11:19:48ID:XGKTCZyBmb_splitにて文字列を配列に展開したいのですが、
<?php
$text = "温泉 アロマ 癒し";
mb_internal_encoding("UTF-8");
var_dump(mb_split("[ ,./,./ ]", $text));
?>
このようにすると、展開した文字が化けて、配列が11行くらいになってしまいます。
文字列はUTF-8なのですが、なぜうまく展開してくれないのでしょうか?
0701700
2008/02/04(月) 11:25:21ID:XGKTCZyBUTF-8→失敗
EUC-JP→失敗
SJIS→成功
いやだっ!SJISは信用したくないっ!!
0702700
2008/02/04(月) 11:26:37ID:XGKTCZyB0703nobodyさん
2008/02/04(月) 11:31:32ID:XGKTCZyB必ず配列が1つできてしまうな・・・
これが仕様だったらやだな・・・何で何もないところから配列ができるんだ気持ち悪い
FALSEでもできるorz
0704nobodyさん
2008/02/04(月) 11:37:12ID:???Deny from all
のhtaccessを画像ディレクトリに置いておけばいいんじゃね?
ディレクトリに分けてないなら拡張子で指定してもいいし。
(関係ないけど書き込むとなぜか.htaが消されるのね)
0705698
2008/02/04(月) 12:17:05ID:fn0vsA22ごめんごめん。モバゲの事じゃないんだ。
Goccoっていうインデックス社のSNSなんだけど、例えばトップから
「マイページ」をクリックすると端末情報とか一切送信せずにログイン出来るのよ。
一体どの情報を見てログイン識別してるんだろう…。
0707nobodyさん
2008/02/04(月) 12:33:40ID:???0708nobodyさん
2008/02/04(月) 12:51:17ID:M2AmAKlAどうしたらいいの?
<input type="hidden" name="hairetsu" value="{$arrayA}"/>
としてページのソースを見ると
<input type="hidden" name="hairetsu" value="Array"/> ってなってしまってる…
0710nobodyさん
2008/02/04(月) 13:12:15ID:???0711nobodyさん
2008/02/04(月) 13:20:14ID:fn0vsA22いやぁIPでは無理しょ。
>>707
いや、それはないんよ。
実際に「簡単ログイン」ボタンからログインしようとすると送信確認出るし。
Goccoって公式サイトなんかな?
そうだとしたら公式のみ受信出来るデータで識別してる可能性もあるけど
私はマイメニュー登録してないのに自動ログイン出来ちゃうから違うか…。
UTNで送信確認無しで「何らかの」識別情報が取れるなら、docomoユーザ
に対してのログインがスムーズになるんだよね。
今、自分のサイトはPHPで構築してるけど初心者ユーザはUTN確認画面を
見て意味もなくビビってUターンする場合もあるから…。
0713nobodyさん
2008/02/04(月) 13:25:01ID:???つか有名なネタだし
0717nobodyさん
2008/02/04(月) 13:54:55ID:???>◆質問後の注意
>・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
は ◆質問する時の注意 に書いておいた方がよくない?
0718nobodyさん
2008/02/04(月) 14:14:44ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
が正しいテンプレ
0720nobodyさん
2008/02/04(月) 14:21:11ID:fn0vsA22なるほど…。
て事はマイメニュー登録してなくても、メルマガ登録の時とかにUIDを取って紐付けているのでしょうね。
ありがとうございました!!
0721nobodyさん
2008/02/04(月) 14:21:52ID:???まぁそれを解析しようとしてできなかったへたれだがorz
0722nobodyさん
2008/02/04(月) 16:56:24ID:GS32OYvU<?php
$hogehoge = "abcde";
$hoge = <<<EOM
<html>
<head>
<title></title>
</head>
<body>
$hogehoge
</body>
</html>
EOM;
?>
これを 「hoge.php」 書き込みたいんですが
このままだと$hogehogeがPHPとして働かないので
$hogehoge → <?php $hogehoge; ?> に変更しました。
が、<?php $hogehoge; ?>の部分がPHPが働いて変数$hogehogeが表示されました(abcde)
長いので次に続く
0723nobodyさん
2008/02/04(月) 16:57:46ID:???0724nobodyさん
2008/02/04(月) 16:58:52ID:GS32OYvU$hoge = "abcde";
$hoge = <<<EOM
<html>
<head>
<title></title>
</head>
<body>
EOM;
$hoge .= '$hogehoge';
$hoge .= <<<EOM
</body>
</html>
EOM;
こうしたところ正常に動作し、hoge.phpに書き込まれました。
しかしこれだと変数出てくるたびに切れるので面倒だ。
何かいい方法はありませんか?
0725nobodyさん
2008/02/04(月) 17:01:17ID:GS32OYvUすいません、ここで$hogehogeを表示してはまずいんです。
$hogehogeは外部から取得するもので常に変化するので
そこはPHPじゃないといけないんです。
0726nobodyさん
2008/02/04(月) 17:09:18ID:???外部ってどこから?
GETとかで取得するなら予めhtmlentitiesでもすればいいんじゃない?
0727nobodyさん
2008/02/04(月) 17:16:11ID:GS32OYvU例えばXMLから。
簡単に書くと
ヒアドキュメント内で
<?php echo '$hogehoge'; ?>
この一行をそのままファイルに書き込みたいんです。
htmlentitiesをすると書き込まれたphpで動かなくなるんじゃないですか?
まだ試してないですがphpが動作しないと思いますが、、、
0728nobodyさん
2008/02/04(月) 17:17:04ID:???> まだ試してないですがphpが動作しないと思いますが
試してないなら試してから質問しろ
あと、情報小出しにするな
0729nobodyさん
2008/02/04(月) 17:21:13ID:GS32OYvUいや申し訳ないけど
<?php
とかになってphpが動くはずがないですから…
今から一応試してみますね。
0730nobodyさん
2008/02/04(月) 17:22:12ID:???&lt;?php です。
0731nobodyさん
2008/02/04(月) 17:23:53ID:???別に動くか動かないかで試すんじゃねーよ
動いても動かなくても試すことでそこから何か得られるんだ
得られなかったらお前の脳の問題
で、結局何がしたいんだ?
XMLから1行取得してファイルに書き出したい?
simple_xml_loadで特定の行を取得して
file_put_contentsでファイルにでも書き出せ
0732nobodyさん
2008/02/04(月) 17:32:18ID:???>この一行をそのままファイルに書き込みたいんです。
単にこれだけならhtmlentitiesとかしないでそのまま書けばいいじゃん。
ファイルに書き込む方法がわからんとか?
0733nobodyさん
2008/02/04(月) 17:35:01ID:GS32OYvU多分勘違いされてると思うんですが
ヒアドキュメント内に
<?php echo $town ?>
この文を書いてこの文が何も変換されないまま
hoge.phpに書き込まれたいのです。
0734nobodyさん
2008/02/04(月) 17:37:05ID:???0735nobodyさん
2008/02/04(月) 17:37:44ID:GS32OYvU普通にfwriteでやってるんですがまずいんでしょうか?
<?php echo '$hogehoge'; ?>
これを書き込むと書き込んだ先で$hogehogeが展開されてるんですよ。
0736nobodyさん
2008/02/04(月) 17:41:26ID:???$hogehoge = 'abcde';
$hoge = "123 $hogehoge 456"; // こうなるのが困るらしい
$hoge = '123 $hogehoge 456'; // こういう代入をヒアドキュメントでやりたいらしい
という質問だと思うんよ、たぶん。
0737nobodyさん
2008/02/04(月) 17:53:14ID:???のようにシングルクォートとダブルクォートを入れ替えちゃダメなの?
0738nobodyさん
2008/02/04(月) 18:10:14ID:GS32OYvUそうです、わかりにくくて申し訳ない。
中々これが思い通りにいかなく困っております。
>>737
それで可能でしょうがヒアドキュメントでは不可能なんでしょうか?
それだったら素直に諦めるんですが、、、
0740nobodyさん
2008/02/04(月) 18:14:59ID:???0741nobodyさん
2008/02/04(月) 18:26:30ID:???頭悪いのいっぱい発生してるけど気にすんな。
想像力も一つの能力、想像力ないやつはクリエイターに向かない。
で、本題。
結論から言うと可能。
書き方をよく考えれば反映される。
お前も想像力足りないから考えろ。
0742nobodyさん
2008/02/04(月) 18:31:01ID:OeLZYsIz他のクラスを使う時ってどう書いてますか?
includeをハードコーディングするのか、
読み込み部分を一切書かず、
__autoloadの記述に委譲するのか、
ベターな方法に迷ってます。
0743nobodyさん
2008/02/04(月) 18:34:55ID:GS32OYvU改行やタブをそのまま反映させるためだと思ってますが。
違うのですか…?
>>741
わかりました。
書き方工夫してみます。
どうしてもわからない場合戻ってくるかもしれません、、、
ありがとうございました。
0746nobodyさん
2008/02/04(月) 18:40:25ID:???変数の内容じゃなく文字列としての $hogehoge を出したいだけか。
すごい混乱した。
0748nobodyさん
2008/02/04(月) 18:43:51ID:???俺できないと思うんだけど。
正規表現使えばできそうな気もするんだが
ヒアドキュメントだけでは不可能だと思うんだが。
0749nobodyさん
2008/02/04(月) 18:47:32ID:???茶化すだけなら雑談スレいったほうがいい。
できるよ。>>722 にたった一文字加えるだけで。
0750nobodyさん
2008/02/04(月) 18:47:34ID:M2AmAKlAって具合になってる配列があるとして、子配列の最初の要素が2だとわかってるときに、
"田中"という値を一発で抜き出す方法ってないですか?
自分が思いつくのはfor($i=0;$i<count($seito);$i++){…}っていう処理なんですが
もっと要領のいいやりかたないのかな…
0751nobodyさん
2008/02/04(月) 18:50:24ID:???できもしないことをできると思わせるのやめとけよな
あと、なんでヒアドキュメント使いたがるのかわからん
テンプレなるならSmarty使っとけ
慣れるとかなり便利だぞ、FW使うことになると応用できるし
0753nobodyさん
2008/02/04(月) 19:01:29ID:???forループしてもいいけど最初のとこを「キー=>値」のようにして
$seito = array( array(1=>"山田"),array(2=>"田中"),array(3=>"斉藤") );
echo $seito[1][2];
ではだめなんかな?
>>752
ほっとき。
0754nobodyさん
2008/02/04(月) 19:06:10ID:???■ このスレッドは過去ログ倉庫に格納されています