【PHP】下らねぇ質問はID出して書き込みやがれ 107
■ このスレッドは過去ログ倉庫に格納されています
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1304064660/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0686nobodyさん
2011/06/25(土) 00:43:56.70ID:/hR6JGqF0688nobodyさん
2011/06/25(土) 02:15:27.69ID:vr6UcJnjとりあえずsymfonyやphpMyadminやMantisやECCubeはやめとけ
0689nobodyさん
2011/06/25(土) 08:24:35.81ID:???という流れがいいんでないかな
それをふっとばして「オープンソース」なんて読んで見ても無駄だと思うよ。
# いくつかのフレームワークのソースを読んでみたんだが、深い部分での共通点はあっても、個々で見るとかな〜り癖があるから、基本が固まらんと変なクセがついてしまうと思う。
0691nobodyさん
2011/06/25(土) 08:47:35.48ID:???0692nobodyさん
2011/06/25(土) 09:41:22.11ID:cXozfBs7require_once 'HTML/QuickForm.php';
$form = new HTML_QuickForm('example');
$select1[0] = 'Pop';
$select1[1] = 'Classical';
$select1[2] = 'Funeral doom';
$select2[0][0] = '--- Artist ---';
$select2[0][1] = 'Red Hot Chil Peppers';
$select2[0][2] = 'The Pixies';
$select2[1][0] = '--- Artist ---';
$select2[1][1] = 'Wagner';
$select2[1][2] = 'Strauss';
$select2[2][0] = '--- Artist ---';
$select2[2][1] = 'Pantheist';
$select2[2][2] = 'Skepticism';
0693nobodyさん
2011/06/25(土) 09:44:46.47ID:cXozfBs7$select3[0][1][0] = '15.00$';
$select3[0][2][1] = '17.00$';
$select3[1][0][0] = '--- Choose the artist ---';
$select3[1][1][0] = '15.00$';
$select3[1][2][1] = '17.00$';
$select3[2][0][0] = '--- Choose the artist ---';
$select3[2][1][0] = '15.00$';
$select3[2][2][1] = '17.00$';
$sel =& $form->addElement('hierselect', 'cds', 'Choose CD:');
$sel->setOptions(array($select1, $select2, $select3));
$form->display();
?>
最後の結果の部分(15.00$,17.00$)をプルダウンではなく
通常出力として表示させたいのですが方法はあるでしょうか?
よろしくお願いします。
0694nobodyさん
2011/06/25(土) 09:54:44.38ID:???echo $select3[2][2][1];
0695nobodyさん
2011/06/25(土) 09:55:26.63ID:???通常のテキストボックスって事なら、値をテキストボックスに代入してやるくらいしか無いかと。
0696nobodyさん
2011/06/25(土) 10:07:57.75ID:cXozfBs7わかりにくくてすみません。
連動プルダウンで選択されたものを素に結果を出力したいです。
>>695
freezeも使ってみたのですが使い方が間違っているせいか
なにも表示されないです。
0698nobodyさん
2011/06/25(土) 11:08:06.22ID:cXozfBs7QuickFormはJavascriptで制御しているんですか?
更に難しそうですね・・・
0699nobodyさん
2011/06/25(土) 13:47:50.84ID:???最近phpを勉強し始めて、mysqlと組み合わせたりして遊んでるんですが、
phpで計算させると読込に時間がかかりますよね。
普段見るwebサイト、例えばwww.lifehacker.jpとかはすごいコンテンツが充実してるのに読込も速い
ああいうのはどういう技術を使っているんですか?
読み込みつつ表示させていったりとかもよくわかりません(全部計算終わってからバッて表示される)←特にこれが知りたい
どういったキーワードで検索すればいいのかわからないので質問しました、よろしくお願いします。
0700699
2011/06/25(土) 13:49:40.76ID:ALxmGxKI0701nobodyさん
2011/06/25(土) 13:51:06.64ID:???<?php
echo 1,"\n";
sleep(1);
echo 2,"\n";
sleep(1);
echo 3,"\n";
sleep(1);
echo 4,"\n";
sleep(1);
echo 5,"\n";
0702nobodyさん
2011/06/25(土) 14:03:33.40ID:???キャッシュ使うとか、ブラウザが早く解釈できるような構成にするとか、Ajaxを使って主なHTMLが読み込まれた後から読み込むような構成にして見掛け早くするとか
0704nobodyさん
2011/06/25(土) 14:11:49.46ID:???<?php
ob_start();
echo 1,"\n";
sleep(1);
echo 2,"\n";
sleep(1);
echo 3,"\n";
sleep(1);
echo 4,"\n";
sleep(1);
echo 5,"\n";
ob_end_flush();
0705nobodyさん
2011/06/25(土) 14:20:12.41ID:???0706nobodyさん
2011/06/25(土) 14:53:46.20ID:VLU0kyJz>読み込みつつ表示させていったりとかもよくわかりません(全部計算終わってからバッて表示される)
についてですが
ob_startとかob_flushとか使ってみましたがやっぱり一度に表示されてしましますね。。
Ajaxを使うとできるようになるんですか、jQueryなどの勉強から入るのが近いですか?
・・意外と難しいんですね・・・phpだけではできないことだったとは。
考えてみればphpは動的にHTMLを生成するだけで、生成されたものはただ
のHTMLだし生成した以降はダウンロードするだけだから表示と読込を並行させるのはphpでは難しそうでした
0707699
2011/06/25(土) 14:56:26.92ID:ALxmGxKI699=706です
0708nobodyさん
2011/06/25(土) 16:13:49.04ID:???0709nobodyさん
2011/06/25(土) 16:22:19.56ID:???0711nobodyさん
2011/06/25(土) 16:45:15.08ID:???<a href="http://journal.mycom.co.jp/articles/2006/09/28/phpjavascript/001.html">【ハウツー】PHP PEARでちょい楽Ajax! (2) 処理の進捗状況をグラフィカルに表示 - HTML_Progress2 | エンタープライズ | マイコミジャーナル</a>
<a href="http://www.google.com/search?q=PEAR::HTML_AJAX%E3%80%81&num=60&hl=ja&newwindow=1&safe=off&prmd=ivns&source=lnt&tbs=lr:lang_1ja&lr=lang_ja&sa=X&ei=wpEFToHUHersmAXsrOnbDQ&ved=0CAcQpwUoAQ">PEAR::HTML_AJAX、 - Google 検索</a>
0712nobodyさん
2011/06/25(土) 16:46:57.40ID:Y32aucUYSELECT で表示する件数を指定したいのですが、
昇順の状態で後ろから10件を表示するにはどうすればいいのでしょうか?
全数がわかれば、 LIMIT を使うこともできますが、
何件あるかわからない状態で、後ろから10件を表示する方法を探しています。
例えば、掲示板の最新50のようなイメージです。
0713nobodyさん
2011/06/25(土) 16:48:13.01ID:???0714nobodyさん
2011/06/25(土) 16:49:02.22ID:???0715nobodyさん
2011/06/25(土) 16:50:14.12ID:???ORDER BY ROWID DESC
0716nobodyさん
2011/06/25(土) 16:54:11.87ID:Y32aucUY2chのように表示を昇順に
そして表示件数を指定した際に最新50が表示できるようにしたい
わかりづらいかもしれませんが
0717nobodyさん
2011/06/25(土) 17:13:32.69ID:???これより前のレスを省略しましたみたいなやつか
配列使いまわすならcountで配列数取得してarray_sliceで削るとか?
パフォーマンス的にどっちがいいかわからんが
0718nobodyさん
2011/06/25(土) 17:19:56.34ID:???投げる前に全てのURLを決めて、全てのURLが返って来るまでスクリプトは停止してしまいますよね
投げた全てのリクエストが帰って来るまでに、新しいURLをリクエストする
例えば、URL1、URL2でリクエストを投げて、URL1が帰ってきたら(URL2が返って来るのを待たずに)URL3のリクエストを投げる。
URL3を含む全URL1〜3が返ってきたらコードが進む。
つまり並列ダウンローダーの様な動作をさせるにはどうしたらよいのでしょうか
0719nobodyさん
2011/06/25(土) 17:42:01.26ID:???0720nobodyさん
2011/06/25(土) 17:43:36.99ID:???0721nobodyさん
2011/06/25(土) 17:45:16.68ID:???0722nobodyさん
2011/06/25(土) 17:47:24.15ID:???// 注意: E_STRICT が有効な場合、次の行で警告が発生します
と警告されてしまいました。正式な方法でクラスの中のメソッドに直接アクセスするにはどうすれば良いのでしょうか
0723nobodyさん
2011/06/25(土) 17:48:46.30ID:???0724nobodyさん
2011/06/25(土) 17:51:16.16ID:ALxmGxKIうーん、かっこいいけど一瞬で表示されてるのでわからないです
lifhackerとかアクセスするとまず左上のロゴの辺りが表示されて、それからどんどん他のコンテンツも表示されて、
みたいな、スクロールバーがどんどん小さくなるあの感じ。。。
僕のページは何も工夫が無いからか少し真っ白の画面で待ってから全てがバッて表示されるの。
説明下手すぎて泣いた
>>711
PHP PEARというライブラリ使うとできるんですか?ちょっと試してみます・・・・
0725nobodyさん
2011/06/25(土) 17:52:14.76ID:qLdraW+2失礼しました・・。
0726nobodyさん
2011/06/25(土) 18:14:09.74ID:???コード出さないとなんともいえないけど
違うとこで警告でてるんじゃね?
static修飾子つけてクラスメソッドにしてるなら
その呼び方は普通にできる
インスタンスメソッドでもメンバ変数を使っていないなら
その呼び方が可能
0727nobodyさん
2011/06/25(土) 18:29:24.36ID:qLdraW+2それでした。低レベルな質問ごめんなさい・・・
0728nobodyさん
2011/06/25(土) 20:24:58.32ID:P4/ddFrn規模としては、ごくシンプルなブログといった感じです。
CakePHPを使って構えて開発するような規模のサイトではなく、
レスポンスのスピードも優先させたいので重いフレームワークは使いたくありません。
しかし今時フレームワーク無しの開発というのも不安があります。
こういった場合、どのような開発方法が良いでしょうか。
最近あまり聞かないですが、シンプルなSmartyを使うというのも選択肢としてアリですか?
アドバイスを頂けると嬉しいです。よろしくおねがいします。
0729nobodyさん
2011/06/25(土) 20:28:03.64ID:???オープンソースだし改造も出来る。
0730nobodyさん
2011/06/25(土) 20:41:54.73ID:???0733nobodyさん
2011/06/25(土) 22:34:50.10ID:???個人的なものなら無理にフレームワーク使う必要ないんじゃ?
俺はSmarty嫌いじゃない。嫌う人多いけどね。
シンプルなブログならSQLとAjaxでそれなりに高速だよ
もちろんサーバーによるけどね
0734677
2011/06/26(日) 03:20:03.64ID:???遅くなりましたが、レスありがとうございます。
いきなりフレームワークは敷居が高そうではありますが、
サイトを拝見したところ解説なども充実してそうだったので検討させていただきます。
また、非推奨のアプリケーションも教えていただいてありがとうございます。
海外の掲示板でも同じような質問をしている人がおり、そこではphpBBやoscommerceはやめておけという意見などがありましたが、
学習用の手頃な規模のアプリケーションというのは見つかりませんでした。もうしばらく情報収集してみたいと思います。
0735677
2011/06/26(日) 03:21:26.94ID:???基礎学習を疎かにして良いなどとはもちろん思わないのですが、
マニュアルに書かれている内容やサイトで紹介されているTipsなどがアプリケーション全体において
どのように反映されるのかを知りたいという需要は無いものなのでしょうか。
身近に熟練した人がいて正しいコーディングスタイルを学べる環境にある人は良いと思うのですが、
自分の教育者が正しいスタイルを持っていなかったり、独学で学んでいる人にとっては
何かしら模範となる学習用のアプリケーションがあっても良いのになと思った次第です。
(「まずはこれを見ろ」というモノがあれば、基本的なセキュリティホールを作ってしまったり、
スパゲティコードを書いてしまったりということは減るのではないかと思うのですが・・・)
他にもご意見くださった方ありがとうございました。
0736nobodyさん
2011/06/26(日) 03:27:28.29ID:???「美しく機能的なコード」を読んだら?
もちろんスパゲッティコードになるかも知れないけど、
自前のコーディングの不安さや物足りなさを経験したあとの方が
効率的で安全なコーディングの良さを深いところまで理解できるんじゃないかとおもうが
0737nobodyさん
2011/06/26(日) 03:34:02.74ID:???基礎的な知識を完全に身に付け、自分である程度のシステムを開発したことがある人が
いわば総仕上げ的な意味合いで行う勉強方法であって、
初心者がソース見て勉強しても身にならない所か悪影響を及ぼすぞ。
ましてや、がむしゃらに吸収する人ならまだしも、手を動かす前に口を動かしてしまう人にはまず向かない。
0738nobodyさん
2011/06/26(日) 03:50:56.46ID:???C++ / VB.net / C# / PHP / Perl / Cshell...etc
色々やったがどうしても Python の変な記述文法が好きになれない。
0739nobodyさん
2011/06/26(日) 07:12:19.24ID:???変な記法ならVBのほうが上でしょうに
0740nobodyさん
2011/06/26(日) 07:15:30.66ID:???0741nobodyさん
2011/06/26(日) 07:32:21.77ID:???どうせWeb特化でない言語で書くなら、高速なCか
Perlみたいな文字列処理が楽に書ける言語で書きたいな
シェルでCGIってのはPerl/CGIが流行るより昔には実際に行なわれてたらしいな…
0742nobodyさん
2011/06/26(日) 09:38:47.69ID:/pJHPvpJ…というより、半角記号とスペースを禁止にしたいんですが、どう書いたら良いでしょうか?
ttp://ref.layer8.sh/ja/entry/show/id/1121
調べていてこのページを見たら、
半角記号を削除して表示する
echo preg_relace('/[\@-\/]/i', '', 対象文字列);
と書いてありますが、これだと<とか>とか?のチェックが出来てるのかなと
疑問なのですが…
0743nobodyさん
2011/06/26(日) 10:08:39.20ID:???0744nobodyさん
2011/06/26(日) 10:26:03.47ID:???質に不満を感じるならASCIIコード表から必要な文字を抽出すればいいんじゃないかな
http://www.ascii-code.com/
0745nobodyさん
2011/06/26(日) 10:41:46.19ID:???キミは、数学を学ぶ前から、数学が社会で何の役に立つの?って文句言うクチかい?
>マニュアルに書かれている内容やサイトで紹介されているTipsなどがアプリケーション全体において
>どのように反映されるのかを知りたいという需要は無いものなのでしょうか。
これはまぁ、そうかもしれん。
数学の喩えを引くと例えば「積分に関しては○○先生の××って書籍が分かりやすい」とかいうのはあるとおもうが、PHPに関してもそういうのがあってもいいと思う。
だが、そういうものが刊行されたりするには、数学に比べてずいぶんと歴史が浅いと思わんかね?
数学にしたって、数千年の歴史があるにもかかわらず、万人がコレだ!って薦めてる本って無いだろ?
0747nobodyさん
2011/06/26(日) 11:11:27.88ID:???0749nobodyさん
2011/06/26(日) 12:39:09.90ID:???0750nobodyさん
2011/06/26(日) 12:46:42.35ID:???0751nobodyさん
2011/06/26(日) 12:47:27.15ID:???やるならJavaとかCと似てない奴やれよ
0752nobodyさん
2011/06/26(日) 14:13:29.05ID:Yv8I1zOTwhile(1){
print2(file_put_contents("test.txt",date("H:i:s.u")."<br>\n",FILE_APPEND | LOCK_EX));
sleep(1);
}
としたら1分以上も動きつづけています。30秒で終わるのかと思ってた
0753nobodyさん
2011/06/26(日) 14:48:22.51ID:???while($i < 60){
$i++;
sleep(1);
}
0754nobodyさん
2011/06/26(日) 14:50:02.09ID:???0755nobodyさん
2011/06/26(日) 14:50:13.21ID:Yv8I1zOTphp自体の、タイムアウト秒数はどのように設定するのでしょうか
0757nobodyさん
2011/06/26(日) 15:42:22.22ID:W+AeykF5「はい」と答えた個数の合計を表示
それに応じたコメントを表示させたいのですが
まず、合計を表示させるところで生き詰まってます
<input type="radio" name="Q1" value="1">はい
<input type="radio" name="Q1" value="0">いいえ
<input type="radio" name="Q2" value="1">はい
<input type="radio" name="Q2" value="0">いいえ
これをpostでphpに送って結果を表示させたいのですが・・
色々やっても駄目でした
親切な方教えてください
0758nobodyさん
2011/06/26(日) 16:08:51.77ID:???0760nobodyさん
2011/06/26(日) 16:37:12.43ID:???親切な俺が教えてやるよ
<input type="radio" name="Q1" value="1">はい
<input type="radio" name="Q1" value="0">いいえ
<input type="radio" name="Q2" value="1">はい
<input type="radio" name="Q2" value="0">いいえ
<input type="text" name="count" value="">「はい」と答えた個数の合計を入力してください
0761nobodyさん
2011/06/26(日) 16:40:30.19ID:W+AeykF5駄目なソースは消してしまったので・・
if($_POST["Q1"])
{
if($_POST["1"]) {$1=1}
if($_POST["0"]) {$1=0}
}
と一問づつ設定して
最後にprint $1+$2+$3+・・・・
で合計を出すとこんな感じだったと思います
0762nobodyさん
2011/06/26(日) 16:43:56.92ID:W+AeykF5助かりました親切な方
できればphp側で合計を出せるようにしたいんです
0763nobodyさん
2011/06/26(日) 16:45:30.60ID:???ダメじゃなくて計算出来てるんじゃん?
ダメって言ってたのは何?
あと変数名に1は使えないと思う
あとダメなソースを消しちゃ勉強にならないと思う
0764nobodyさん
2011/06/26(日) 16:57:22.42ID:???http://www.php.net/manual/ja/language.variables.external.php
見て勉強してください
ここみて勉強したら分かるほどの低レベルすぎる質問で寸
0765nobodyさん
2011/06/26(日) 17:02:44.30ID:W+AeykF5それが、できてないんですよ
if文がうまく書けていないのか
エラーで表示されません
わかりました次はダメなソースは消しません
>>764
す、すいません
勉強してきま寸
0767nobodyさん
2011/06/26(日) 18:25:18.90ID:npr5oXlMObjectiveCが断トツに使いにくかった
0768nobodyさん
2011/06/26(日) 18:43:30.57ID:???それはたぶん、先に他の「オブジェクト指向」の言語習った為、じゃないかと思う。
ObjectC自体は面白い言語だよ。
0769nobodyさん
2011/06/26(日) 18:56:09.57ID:???0770 忍法帖【Lv=14,xxxPT】 【東電 72.7 %】
2011/06/26(日) 20:10:02.66ID:vOsyilAC例えば、ボクが
GET /foobar.htm HTTP/1.1
Host: example.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
を送りたいとして、その返事(HTMLデータ等)を取得したい。という感じです。
ないとしたら、やっぱりsocketにwriteするの自分で作るしかないのかな。
0771nobodyさん
2011/06/26(日) 20:13:05.40ID:3TwWQZaU【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】opendirでfilesフォルダの中を開くと、filesフォルダの中身は数万個あるにも関わらず、70個程度しか開けていません。
どういった原因が考えられますか?
0773nobodyさん
2011/06/26(日) 20:25:42.40ID:???0774nobodyさん
2011/06/26(日) 20:28:52.45ID:1bpDkxSmhttp://localhost/b.phpに発行したクッキーを送ります
これをソケット通信で行っているサンプルが載っているサイトってありませんか?
0775nobodyさん
2011/06/26(日) 20:34:20.78ID:???0776nobodyさん
2011/06/26(日) 20:35:39.06ID:???悪いことしたいなら自分で勉強しろ
0777nobodyさん
2011/06/26(日) 20:48:06.47ID:???0778nobodyさん
2011/06/26(日) 20:52:15.32ID:???0782nobodyさん
2011/06/26(日) 22:25:14.04ID:yPaZokgHfunction addp($lst){//←ここ2
$lst->add(new A("その2"));
}
}
class B{
var $lst=array();
function add($newClass){
$this->lst[]=$newClass;
}
function Fire(){
$this->lst[0]->addp(&$this);//←ここ1
print_r($this->ls);
}
}
$c=new B()
$c->add(new A("その1"))
$c->Fire();
上記のようなコードで、$c->Fire();時に$Cのthis->lstにその1とその2を入れたいと思っています
矢印ここ1の箇所の"&$this"でクラスBの$lstを参照渡しして、クラスAで$lstに追加をしているのですが
"&$this"を記述しないで、ここ2の関数内でparent->lst->addみたく参照出来ないでしょうか
ここ1の箇所は何度も書く予定で、"$this->lst[0]->addp(&$this);"を出来れば"$this->lst[0]->addp();"こう、スマートに書きたいなと思いまして。
0783nobodyさん
2011/06/26(日) 22:28:14.58ID:???>矢印ここ1の箇所の"&$this"でクラスBの$lstを参照渡しして
$thisはBのインスタンスでBの$lstじゃないと思うけど
■ このスレッドは過去ログ倉庫に格納されています