【PHP】下らねぇ質問はID出して書き込みやがれ 124
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/11/20(火) 18:02:45.99ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 123
http://kohada.2ch.net/test/read.cgi/php/1348583995/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0430nobodyさん
2012/12/09(日) 03:20:27.29ID:ulB7TX+Dたとえば、webサイトに
<script type="text/javascript" charset="euc-jp" src="http://〜ads.php?aid=1234">
</script>
を貼ると広告が表示される仕組みが知りたいです。
0431nobodyさん
2012/12/09(日) 03:22:37.34ID:???0433nobodyさん
2012/12/09(日) 11:28:10.48ID:???0434nobodyさん
2012/12/09(日) 23:13:38.53ID:ulB7TX+Dというソースコードでしたこれってechoやprintなどで表示してる
だけでしょうか?
<script type="text/javascript" charset="euc-jp" src="http://〜ads.php?aid=1234">
</script>
のように使う時webサイトhttp://〜ads.phpに負担がかかるのでしょうか?
0436nobodyさん
2012/12/09(日) 23:20:11.42ID:???0438nobodyさん
2012/12/09(日) 23:53:56.42ID:???0439nobodyさん
2012/12/10(月) 19:39:50.60ID:K34L/8wn今は1ユーザー1ファイルで管理していて、md5(ユーザーid."solt")でファイル名を作ってfile_get_contentsして読み書きしています
大体千人くらい居て1リクエストで読み書きは1回〜数回です
これ、mysqlのDBにした方がよいでしょうか?パフォーマンス的な意味で。
mysqlはデータベース・サーバーと通信しないといけないから、ファイルを直接読み書きするより遅くなるのかな?とも思いますし
現在の1ユーザー1ファイルでも一つのディレクトリに1000個ファイルがあるからちょっと付加がかかるかなとも思いますし
0443nobodyさん
2012/12/11(火) 03:38:32.16ID:???書きが数回で1000件ならsqliteがいい。
数回なら関係ないけどfile_get_contentsは遅いよ。
0444nobodyさん
2012/12/11(火) 10:17:32.57ID:???試してもいないことがわかるな。
何で試してないかというとわからないからだろ?
0446nobodyさん
2012/12/11(火) 12:16:51.47ID:???0447nobodyさん
2012/12/11(火) 12:27:29.61ID:???0448nobodyさん
2012/12/11(火) 12:55:32.78ID:???0449nobodyさん
2012/12/11(火) 13:12:18.50ID:???0450nobodyさん
2012/12/11(火) 13:15:41.41ID:???0451nobodyさん
2012/12/11(火) 13:17:49.33ID:???0452nobodyさん
2012/12/11(火) 14:15:50.34ID:???千のくらいじゃ何使っても大差ない。
0453nobodyさん
2012/12/11(火) 15:09:48.72ID:???さあ願いを言え…
どんな願いも一つだけ叶えてやろう…
なお、[免責事項]もお読み下さい
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
0454nobodyさん
2012/12/11(火) 17:58:11.39ID:???0455nobodyさん
2012/12/11(火) 17:59:14.51ID:???0457nobodyさん
2012/12/12(水) 23:31:42.90ID:???ゲーム本体はphpですが、開発バージョンを公開バージョンに上書きする際、
たまたま誰かがアクセスするとクライアント側でエラーを起こすようです。
てっきり上書中はファイルシステムがロックしていると思ったのですが、
そうでもないのかな?と思いましたが私の勘違いなのでしょうか?
開発バージョンを公開バージョンに切り替える動作はゲームに限らずよくある
と思いますが、どうやって切り替えるのが正しいのでしょうか?
ときどき見る「スイッチ(フラグ)をファイルに置いて切り替える」というのも
そのフラグを格納しているファイルの更新中にアクセスされるとどうなるのか気になるし、
DBにスイッチをおいて参照するというのも考えましたが、オーバーヘッドが好ましくないため
できれば避けたいです。
なお、当方 CentOS5.5 php5.2 apache2 に WinSCP 4.3.5 でアップしてます。
アクセラレータは eaccelerator-0.9.6 を使っています。
0458nobodyさん
2012/12/13(木) 00:08:15.55ID:???リリース時に、ファイルをすべて別ディレクトリにアップして
ドキュメントルートのディレクトリのリンクを変えるとかどう?
0459nobodyさん
2012/12/13(木) 00:37:33.68ID:???さっそくありがとうござい鱒。なるほどー。
その方法は確実である上、バージョン管理もまとめてできる魅力がありますね。
特に開発版を公開版にいちいち上書きしなくても、開発版のディレクトリを
そのまま公開版とすることでいろいろと捗りそうですね。これにしようかな・・・。
ちなみにその場合だと アパッチの restart かけるわけでしょうから、
別ディレクトリにアップしない場合でも 一度 apache を stop させて
変更したファイルをアップして、restart する方法もありえますね。
ほかにうまい考えあります?
0460nobodyさん
2012/12/13(木) 02:18:44.56ID:???apacheのrestartなしで、シンボリックリンクを変えるだけだから、大丈夫だとおもうよ
元に戻すときに、すぐrollbackできるから
バージョン管理を使ってないならいいかもね。
ホントはsvnなりgitは使った方がいい
0461nobodyさん
2012/12/13(木) 02:28:22.15ID:ur824Bvhリリース前
/var/www/html -> /srv/release/2012121210/
↓
リリース後
/var/www/html -> /srv/release/2012121302/
DocumentRootが/var/www/htmlだとしたら、それは変えないから、
apacheのリスタートはいらない。
/srv/release/2012..../が毎回SCPする先。
で、リリースの時にリンクを変える
/srv でも、どこでも、好きなところにreleaseディレクトリ作ったらいい。
ってか、PHPじゃねーな。
0462nobodyさん
2012/12/13(木) 04:09:44.97ID:???なるほど、apache の設定を変えるわけじゃなくて、シンボリックリンクを変えるのですね。
これならいけそうです。事細かに教えてくださってありがとうございます!
確かに、PHPじゃないね。
0464nobodyさん
2012/12/13(木) 11:16:00.74ID:???Ajaxの有無とか
0465457
2012/12/13(木) 11:27:25.87ID:???0466nobodyさん
2012/12/13(木) 13:36:33.63ID:SZPRAQlnPHPのコードをデータベースに格納して、必要なときに呼び出して実行しようと思ったんですが、
evalって関数がそれにあたるようです
この関数って速度的に問題とかありますか?
0468nobodyさん
2012/12/13(木) 13:44:46.21ID:???0469nobodyさん
2012/12/13(木) 13:50:17.33ID:???ありがとうございます。
こういうやり方って大手のサイトでは普通に行われていることなんでしょうか?
それともurlごとにファイルを作ってコードを書く方が一般的なんでしょうか?
0470nobodyさん
2012/12/13(木) 13:59:47.14ID:???0471nobodyさん
2012/12/13(木) 13:59:59.28ID:???>PHPのコードをデータベースに格納して、必要なときに呼び出して実行しようと思ったんですが
こういうことも普通しない
あらかじめPHPファイルとして用意してincludeなりすればいいだけでは?
0472nobodyさん
2012/12/13(木) 14:02:29.85ID:???0474nobodyさん
2012/12/13(木) 14:08:15.38ID:???0475nobodyさん
2012/12/13(木) 14:28:23.77ID:???他の言語行くときもフレームワーク使うのが普通だし、PHPで慣れておいても悪くない
0476nobodyさん
2012/12/13(木) 15:20:25.05ID:???0477nobodyさん
2012/12/13(木) 17:34:02.19ID:w+I6Bs3dコンストラクタ内にはユーザ名やパスワードなども含まれていると思うのですが、平文で通信されているのでしょうか?
そうなると外部ホストのMysqlはどのように接続するのが正しいのでしょうか?
0478nobodyさん
2012/12/13(木) 18:33:57.34ID:???簡潔に答えるとパスワードが平文で送られることはない、だがデータは盗聴可能
それが困るならMySQLサーバにSSL接続すりゃいいじゃん?
0479nobodyさん
2012/12/13(木) 19:21:11.74ID:???0480nobodyさん
2012/12/13(木) 19:31:53.04ID:???0482nobodyさん
2012/12/13(木) 21:45:39.87ID:???アクセラレータが効かないだろうと思うと速度が不安になる。
0483nobodyさん
2012/12/13(木) 21:56:42.27ID:???全くスレチだが、最近ストアドファンクションを使うようになった。
phpから複数のSQLを発行するとそれだけで時間がかかっていたが、
1回のSQLで一連の処理を行うようにしたら鼻血が出るほど早くなってびびったわ。
ただ、いまつかってるのが PostgreSQL で、 PL/pgSQLなんだな。
大分慣れてきたけど、思い通りに書きづらい・・・
こんどPL/phpでもインストールしようかな、とおもってるけど、やってる人いる?
0484nobodyさん
2012/12/14(金) 20:27:59.49ID:9UEb71lrスマートに書くには結局、正規表現を使うしかないのかな?
jpg, jpeg, png, gif, bmpだとして、glob()だと大文字小文字を区別するし、
strpos()とかの文字列操作系の関数だと単一の文字列しか渡せないし
0485nobodyさん
2012/12/14(金) 20:29:23.48ID:???0486nobodyさん
2012/12/14(金) 20:29:52.11ID:???0487nobodyさん
2012/12/15(土) 18:33:12.06ID:???Warning: Smarty error: problem writing temporary file 'templates_c//%%45/45E/○○' in ○○/Smarty/Smarty.class.php on line 1088
Warning: fetch(templates_c//%%45/45E/○○%%index.tpl.php) [function.fetch]: failed to open stream: No such file or directory in ○○/Smarty/Smarty.class.php on line 1251
Warning: fetch() [function.include]: Failed opening 'templates_c//%%45/45E/○○%%index.tpl.php' for inclusion (include_path='.:/usr/local/lib/php') in ○○/Smarty/Smarty.class.php on line 1251
さくらサーバだと何も出ないのですがスマイルサーバ上でこんなエラー出るんですが何が原因かお分かりになりますでしょうか?
Smarty.class.php内を $smarty->use_sub_dirs = false; にすると回避できるとあったのですが変わりませんでした。
0488nobodyさん
2012/12/15(土) 19:18:58.43ID:???ディレクトリに全角が入ってるんじゃね ’○○’とか
0489nobodyさん
2012/12/15(土) 19:34:58.88ID:3wnazU1pちょくちょく更新するページの場合はどうやって対応してますか?
更新するたびにキャッシュを削除するような仕組みがあればいいんですけど
0491nobodyさん
2012/12/15(土) 19:58:30.88ID:3wnazU1pありがとうございます
smartyのキャッシュってブラウザに残ったキャッシュを使ってるんですか?
それともサーバ側に作成したキャッシュを表示してるんですか?
0492487
2012/12/15(土) 20:01:53.92ID:???0494487
2012/12/15(土) 20:41:25.25ID:???0496nobodyさん
2012/12/15(土) 20:53:29.60ID:???0497nobodyさん
2012/12/15(土) 23:44:02.58ID:???だからnoticeが出る。
display_errorsを0にするか、error_reportingでnoticeを非表示にする。
0499nobodyさん
2012/12/16(日) 04:07:56.16ID:Wv0oIgsD{
private $_var = null;
public static function factory()
{
$obj = new aaa();
$obj->_var = 'bbb';
return $obj;
}
public function __construct($str)
{
$this->_var = $str;
}
}
これのfactory()でbbbを代入できるんだけど、こういう書き方でいいの??
それともコンストラクタに渡して代入する方がいい??
0500nobodyさん
2012/12/16(日) 04:19:27.25ID:???そもそもこれで実装が終了するわけでもないだろうから、
その後の展開や見通し次第ってところでしょ。
0501nobodyさん
2012/12/16(日) 12:57:31.39ID:???0502nobodyさん
2012/12/16(日) 13:42:36.56ID:REzOWsIO0503nobodyさん
2012/12/16(日) 14:12:04.04ID:???0505nobodyさん
2012/12/17(月) 16:09:36.68ID:9egvz8Qq【PHPのバージョン】5.2.17
【連携ソフトウェア】WordPress MySQL
【テストページ】ttp://test.anekipedia.com/
【質問内容】
FormタグのGET変数の受け渡しでうまく動作しないので質問させていただきます。
テストページ(ttp://test.anekipedia.com/)にて
ドロップメニューで記事の順番を変更、各listボタンで記事の並び方を変更しています。
GET変数にて複数の値を受け渡しを行なっているのですが、ドロップメニューを変更すると各listボタンで渡していたGET変数が消されてしまいます。
どのようにやればうまくいくのでしょうか?
該当の部分の記述:
<form name="irekae" method="get" id="sort_form5" class="sort_form5">
<input type="submit" value="list1" name="retu">
<input type="submit" value="list2" name="retu">
<input type="submit" value="list3" name="retu">
<select name='narabi' onChange="document.forms['irekae'].submit()" >
<option value="sort1"<?php if(!isset($_REQUEST['narabi']) || $_REQUEST['narabi'] == 'sort1') echo ' selected="selected"';?>>投稿日時が新しい順</option>
<option value="sort2"<?php if(isset($_REQUEST['narabi']) && $_REQUEST['narabi'] == 'sort2') echo ' selected="selected"';?>>投稿日時が古い順</option>
<option value="sort3"<?php if(isset($_REQUEST['narabi']) && $_REQUEST['narabi'] == 'sort3') echo ' selected="selected"';?>>五十音順(あ〜わ)</option>
</select>
</form>
アドバイスいただければ幸いです。
0506nobodyさん
2012/12/17(月) 16:30:40.89ID:???javascriptからsubmitするまえにmethod変更すればできるよ
とりあえずすれ違いね。
0507nobodyさん
2012/12/17(月) 16:35:43.40ID:???1.送信前(表示時)のretuの値はどこにも保持されてません。
2."document.forms['irekae'].submit()"して送信されるデータは
narabiの値だけです。
不都合なければhiddenか何かでretuの値も送信すればよいです。
あの・・・だからといってhidden name='retu'とかして動きませんとか
言わないでね。
0508nobodyさん
2012/12/17(月) 17:10:00.36ID:9egvz8Qqご返事ありがとうございます。 >>507 様でのご指摘でも対応できましたので、
今回の修正は、こちらの手段で行なおうと思います。
javascriptでの修正法も後で調べてみたいと思います。
>>507
アドバイスありがとうございます。
記述:
<input type="hidden" name="retu" value=<?php if($_GET['retu'] != '') {
echo ($_GET['retu']);} else {
echo ("list1");} ?> >
を追加することで、望みどおりの動作をするようになりました。
0509nobodyさん
2012/12/17(月) 17:16:33.01ID:9egvz8Qq>>507 様のアドバイスで問題は解決したのですが、
ttp://test.anekipedia.com/?retu=list3&retu=list2&narabi=sort5
のように、GET変数で渡される「retu」部分が2重に記入されているのに気がついたのですが、
0510nobodyさん
2012/12/17(月) 17:17:55.99ID:9egvz8Qq上記の点は問題ないのでしょうか。
0511nobodyさん
2012/12/17(月) 17:18:17.13ID:???0512nobodyさん
2012/12/18(火) 02:45:53.56ID:???PHPのコード出したりちっとも整理出来てないな
0513nobodyさん
2012/12/18(火) 10:04:25.88ID:???0514nobodyさん
2012/12/18(火) 10:17:46.86ID:???0515nobodyさん
2012/12/18(火) 13:32:53.47ID:???0516nobodyさん
2012/12/18(火) 13:38:58.61ID:???0517nobodyさん
2012/12/18(火) 14:52:43.08ID:???0518nobodyさん
2012/12/18(火) 15:22:01.41ID:???「あの・・・だからといってhidden name='retu'とかして動きませんとか
言わないでね。」ってわざわざ書いたのになんでそうするのかな。
例えばボタンクリックから来た場合とリスト選択から来た場合とを判断するとかさ。
0519nobodyさん
2012/12/18(火) 15:22:09.67ID:???0520nobodyさん
2012/12/18(火) 15:48:07.25ID:s5ZiWdpn0521nobodyさん
2012/12/18(火) 15:51:27.09ID:???英語もロクにできない阿呆なのがよくわかりますね
0522nobodyさん
2012/12/18(火) 15:52:10.78ID:???0523nobodyさん
2012/12/18(火) 15:54:48.82ID:???numericっていう意味がある
is_numericでnumericであるか?という意味。
んで肝心のnumericが何かというとナメック星人という意味。
is_numeric('ベジータ') //false
is_numeric('ピッコロ') //true
0525nobodyさん
2012/12/18(火) 21:19:20.98ID:f4m9o410IPv6でアクセスしてきたらログはどのようになるんでしょうか?
IPv4のxxx.xxx.xxx.xxxという形式からだいぶかけ離れた表記になりますが、
ちゃんとPHPはそれを取れるのか(REMOTE_ADDR)
ホスト名にちゃんと変換できるのか(gethostbyaddr)が不思議です。
IPv6環境がないので実験できないので詳しい方教えてください。
0526nobodyさん
2012/12/18(火) 21:35:50.92ID:???0528nobodyさん
2012/12/19(水) 00:32:44.84ID:???ほんとphp酎って人格歪んでるわ
■ このスレッドは過去ログ倉庫に格納されています