【PHP】下らねぇ質問はここに書き込みやがれ 62
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/10(木) 18:09:19ID:???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カテゴリ)の各スレで
0756nobodyさん
2008/01/24(木) 10:32:31ID:???0757nobodyさん
2008/01/24(木) 10:32:59ID:???eclipsewikiで調べろ
まぁ解らんなら
http://mergedoc.sourceforge.jp/
ここにあるphpのやつでも使えば良いんじゃないかな
個人的にはPDTよりPHPEclipseだけど。。。
0758nobodyさん
2008/01/24(木) 10:36:38ID:???うーん、VS.NETをお遊び程度で使ったくらいだったからなぁ・・・
PHP IDEだと、Zend Frameworkとの相互性があるとかないとか聞いたから、
とりあえずPHP IDEを導入してみた。
ZF入門書も買っちゃったから俺ハジマタ
0759nobodyさん
2008/01/24(木) 10:38:35ID:???0760nobodyさん
2008/01/24(木) 10:40:31ID:???0762nobodyさん
2008/01/24(木) 10:42:45ID:???あー、普通のプロジェクト開発は大丈夫
ただ、インクルードパスの設定とかhtaccessの作成をエクスプローラーに反映させたりするのがわからん/(^o^)\
昔は統合開発環境スレあったからそっちで聞けたのになぁ
そういやあのスレなんでもう立たないんだろうか
0763nobodyさん
2008/01/24(木) 10:56:34ID:???要らん機能が多いけど、普通にお勧め
0765nobodyさん
2008/01/24(木) 11:04:18ID:???eclipse pdt に一致する日本語のページ 約 51,700 件中 1 - 10 件目 (0.17 秒)
仕事で既存アプリ(数千ファイル)の改修・ドキュメント化を
PDT+xdebug+simpletest+subclipseでやってるけど、良い感じ。
0767nobodyさん
2008/01/24(木) 11:09:19ID:???分かればとても便利なのだけれど。ZendDebuggerとの連携がすばらしい。
0769nobodyさん
2008/01/24(木) 12:01:34ID:???一時的に必要なデータファイルを作って、一定時間後とかアクセスがあったら
とかの条件で消す、というような仕組みをPHPで実現するような方法は
ありますか?
データファイルを出力するようなページを用意してそれをflashに食べさせる
方がスマートでしょうか。
0770nobodyさん
2008/01/24(木) 12:06:04ID:???直接データに触れなくすれば何でもできるべ
0771nobodyさん
2008/01/24(木) 14:16:49ID:GkmSThHq[mail function]
; For Win32 only.
SMTP = ***.***.jp
smtp_port = 25
こんな風に設定しました。
いざphpからメールを送ってみると、
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Authentication required
というエラーが発生し送れませんでした。
調べてみると、送信する前にPOPの認証が必要みたいだったんですが、
phpでこれを実現するにはどういう風にプログラムしたらいいでしょうか。
0772nobodyさん
2008/01/24(木) 14:27:11ID:a44FeVCdhttp://downloads.zend.com/pdt/all-in-one/
から落としてきてデバッガの読み込みはできたんですけど
プロジェクトやPreferenceでPHPが認識されてないんですがどうすればインストールできますか?
0773nobodyさん
2008/01/24(木) 14:31:32ID:???SMTP_AUTHを使う。
メールサーバ入れてSMTPサーバをlocalhostにする。
認証要らないサーバを使う。
0774nobodyさん
2008/01/24(木) 14:52:43ID:???しかも動的に 無理かな
0775nobodyさん
2008/01/24(木) 14:59:30ID:oseLc3nh1)記入フォーム 2)確認ページ 3)登録ページ(SQL) 4)完了ページ
という流れがあって、登録ページは登録完了後すぐに4の完了ページに
リダイレクトされるとします。(リロードによる二重送信防止のため)
で、リダイレクト先の完了ページで登録内容を修正したいと思ったユーザが、
ブラウザのバックボタンを押すと確認ページに戻り、そこで「登録」することで
結局2重送信の形になってしまいます
どうしたらいいでしょうか? バックボタン使用禁止などのメッセージを置く以外に
良い方法ないですか?
一度目の登録時に登録完了のフラグを持たせて、用意した「書き直す」ボタンでhidden送信しても
ブラウザの戻るボタン使われたら元も子もないですよね…
みなさんどうやってるんですか?
一応調べたんですが、「戻るボタン使用禁止メッセージ」を使うというのが多くて、
それ以外の考え方が聞きたくてお尋ねしました よろしくお願いします
0777nobodyさん
2008/01/24(木) 16:25:49ID:5srzkiIlViewのパスを
$view = setScriptPath("example");
と設定しますが、
全てのページでViewのスクリプトを置く場所はかわらないので一括指定したいと思うのですが、
フロントで指定する方法はありませんでしょうか?
0778nobodyさん
2008/01/24(木) 16:55:47ID:???http://pc11.2ch.net/test/read.cgi/php/1160156955/
こちらへどうぞ
0779nobodyさん
2008/01/24(木) 17:00:52ID:???わからんなら
http://mergedoc.sourceforge.jp/
こっちにあるPDT使っとけ
PDT自体は同じものかちょっと古いものだろうし
他に必要になりそうなプラグインも入ってるから普通にオススメ(日本語化も含む)
0780nobodyさん
2008/01/24(木) 17:12:56ID:GkmSThHqありがとうございます。
お客さんのサーバなので、あまりいじれないんですよね。
教えていただいた方法をそれぞれ調べてみたんですが、pearが必要だったりするみたいなんですが、
php_init()関数ぐらいしか使えない状況下でも可能な方法ってないでしょうか?
0781nobodyさん
2008/01/24(木) 17:15:05ID:???PEAR以前にメール送信するにはメールサーバーが必要
案外、なんでもPHPでできると思いがちなんだが、メール関係はPHP・Webサーバーの設定だけじゃダメ
0783nobodyさん
2008/01/24(木) 17:34:14ID:GkmSThHqメールサーバはあるんですよ。
ただ、そこから送信するには、POP認証が必要ということで困っている状態です。。
>>782
え?そうなんですか?
みなさんありがとうございます。
ちょっと調べてみます。
0784nobodyさん
2008/01/24(木) 17:36:06ID:???なくてもできるけどな。
0785nobodyさん
2008/01/24(木) 17:51:59ID:GkmSThHqまじですか?
どういった方法で?
0786nobodyさん
2008/01/24(木) 17:56:26ID:???0788nobodyさん
2008/01/24(木) 18:15:08ID:???http://phpspot.org/blog/archives/2005/12/pop_before_smtp.html
これ読んでpopbeforsmtpで送れば?
0789nobodyさん
2008/01/24(木) 19:31:02ID:???俺はlinuxでしか動かないのがあるからlinux上でデバッグしようかとおもってるんだけど
仮想にぶち込んで低パフォーマンスだからeclipse動くか心配
0790nobodyさん
2008/01/24(木) 19:31:59ID:???kwsk
0792nobodyさん
2008/01/24(木) 19:43:49ID:???サーバ部分だけ仮想でLinuxいれりゃいいじゃん
FTPなり共有ファイルコピーなり少し手間はかかるが
0793nobodyさん
2008/01/24(木) 19:51:17ID:???phpizeいるもん全般とか…
>FTPなり共有ファイルコピー
あぁそれだよなー
一手間かかるのがあれだがやむを得ないかもしれない
0794nobodyさん
2008/01/24(木) 19:58:18ID:???0795nobodyさん
2008/01/24(木) 20:13:07ID:???エディタはeclipse。
vmにwinscpでログインしてコマンドからミラーリングアップロードを使う。
そするとローカルで保存sすればvmに自動で同期される。
んで、ブラウザでvm叩く
( ^ω^)うまー
0796nobodyさん
2008/01/24(木) 20:15:05ID:???( ^ω^)うまー ← レベルひっくw
無知ってしあわせですわねwwwww
0798nobodyさん
2008/01/24(木) 21:01:43ID:vo4pqLSehttp://journal.mycom.co.jp/column/ide/006/index.html
を参考にやったんだけどZendに置いてあるPDTはPHPプラグイン入ってないの?
これでやるにはどうすればいいの?
0799nobodyさん
2008/01/24(木) 21:10:35ID:9zAbxKxRPHPで、変数1(数字以外の文字列)が変数2(こちらも数字以外の文字列)と等しければtrueを返す条件文を書きたいのですが、何かいい方法はないでしょうか?
数値以外の文字列の比較が出来る関数とかがあったりするんでしょうか、
それとも正規表現使ってマッチさせるとかそんな感じでしょうか?
0800nobodyさん
2008/01/24(木) 21:11:59ID:???===演算子は型の比較まで行う
他にもgettypeで変数の型を調べることができるからそれを応用する方法もある
0801nobodyさん
2008/01/24(木) 21:13:41ID:???=== (厳密に比較したい)
0802799
2008/01/24(木) 21:16:09ID:???ありがとうございます!
0803779
2008/01/24(木) 21:31:25ID:???PHPプラグインが何を指してるかあれだが・・・
PDTとはEclipseにPHPの開発環境を実装するためのプラグインの事
他にもPHPEclipseやKoebiStudioてのもある
これらの開発環境にはPHP本体は入ってないので別途インストールする必要がある
Zendにおいてあるやつも俺が紹介したサイトにあるやつも
同じPDTで違いがあるとすればバージョンぐらいの差
それ以外でPDTの差は無い
英語が解らんならPleiadesってプラグインを
入れておけば良い
大抵のプラグインと本体が日本語化される
まぁそこらへんの必要なものが入ったのが779で紹介したURLにあるやつな訳だが・・・
0804nobodyさん
2008/01/24(木) 23:27:37ID:???それはGUI派かCUI派かであっておっさんか否かじゃなかろ
ガキでも必要ありゃviに慣れてvimやらemacs使い始めるもんだ
0805nobodyさん
2008/01/24(木) 23:43:09ID:???ガキじゃ必要でもそんなもの使おうなんて思わん
0808nobodyさん
2008/01/25(金) 00:56:25ID:???「edlinでconfig.sys弄ってます」みたいなw。
0809nobodyさん
2008/01/25(金) 01:31:14ID:???0810nobodyさん
2008/01/25(金) 02:15:07ID:???0812nobodyさん
2008/01/25(金) 03:05:06ID:???使いやすいエディタならなんでもかまわないし、たいしたこと言ってるわけではないけど、
IDEの話が出てる最中にvim使ってるとかはタイミング的に悪かったな。
そもそもUnix系でしか動かないものを開発するというのはまれなわけで、
大多数はVMで開発する必要もなければWindows以外で開発する必要もない。
そんな中で"普通に"という言葉を使ったのもまずかったな。
別に開発してるとしかいってないのだが、話の脈略で薦めているようにも見えてしまうわけで。
0813nobodyさん
2008/01/25(金) 04:07:47ID:HQAGAWGB設定を済ませて phpmyadmin にアクセスすると、
「mcrypt 拡張をロードできません。PHP の設定を確認してください」
と言われるので、続けて mcrypt libmcrypt もインストールしたんですが、
やはり変化がありません。
/etc/php.ini をいじるんだろうと思うんですが、
どのように設定すればいいんでしょうか?
http://jp.php.net/mcrypt に書いてあるとおり、
php をコンパイルし直さねばならないのでしょうか?
CentOS 4.6 x86 用の php は --with-mcrypt されてないようなので。。。
0814nobodyさん
2008/01/25(金) 04:47:30ID:???print("下らねぇ<b>質問</b>");
?>
の<b>のように、print()で<font>が使えると便利だと思うのですが
例えば<font color>とか、
こういうフォントを変えることができるものは<b>のほかにないでしょうか?
よろしくお願いします。
0815nobodyさん
2008/01/25(金) 04:54:23ID:???スタイルシートでも使えよと
0816nobodyさん
2008/01/25(金) 04:54:50ID:???>>1
それから
http://www.google.com/search?q=HTML&hl=ja&lr=lang_ja&num=100
0817nobodyさん
2008/01/25(金) 05:11:57ID:???>>816
あぁすみません・・
聞きたかったのは、print()で<b></b>や<I></I>が使えたので
色もこの調子で変えられないかとhtmlタグを探していて
fontがあったのですが、エラーが出たので
font的なものがあるのかなと聞いてみたのですが
ないようですね。言われるようにスタイルシートや別の方法を探してみます
ありがとうございました
0818nobodyさん
2008/01/25(金) 05:14:20ID:???htmlの話はすんなぼけ二度とくんな
0819nobodyさん
2008/01/25(金) 05:27:43ID:???>エラーが出たので
ダブルクオテーション(")で囲ってるときに
文字列でダブルクオテーションを使う場合エスケープしましょう
print ("<font color=\"red\">あいうえお</font>");
シングルのほうがこの場合は楽だけど
print ('<font color="red">あいうえお</font>');
どっちみちfontは古いし今や使われていないのでスタイルシート使いましょう
そしてhtmlだけの質問はWeb制作板だから次回からご注意あれ
0820nobodyさん
2008/01/25(金) 05:59:43ID:???PHPで文字列などを出力するのに使うprintやechoは、htmlのソースとして出力する。
つまりprint内にhtmlのコードを書けば当然htmlのソースとして反映される。
print内に<b></b>を書くことで太字になったのはphpの機能の一部というわけではなく、
phpがhtmlのソースとしてそのまんま<b></b>という文字列を出力しているから。
<font color="">でエラーが出たのは上の人が指摘してる通りエスケープ忘れ。
print "";で囲う""は、最初の"が表示する開始点をあらわし、2度目の"が終点をあらわす。
つまり
print "あ"いうえお"; というコードがあった場合、
phpは『あ』だけを表示しようとするが、『あ』の後ろに続くコードが『:(セミコロン)』で終わっていないためエラーを吐く。
この場合『あ』の後に続く『"』は文字列として表示したいわけで、
そういう場合エスケープ記号『\』を『"』の前におくと、その『"』は文字列として扱われることになる。
print "あ\"いうえお";
0821nobodyさん
2008/01/25(金) 06:00:49ID:???レベルが低いから?
0822nobodyさん
2008/01/25(金) 06:02:14ID:???そういうスレだし。お前を含めて煽ってるやつが馬鹿なだけ。
0823nobodyさん
2008/01/25(金) 06:05:25ID:???0824nobodyさん
2008/01/25(金) 06:06:10ID:RlEjDmZc「スレッドを最新更新順でソートして表示させる」というところで苦戦しています。
例えが下手でわかりにくいかもしれませんが、3回新規投稿が行われた場合に
・スレッドNo.3
・スレッドNo.2
・スレッドNo.1
の様に順番に表示させる事はもちろんできるのですが、
その後に2つめの投稿記事へ返信があった場合に
・スレッドNo.2
・スレッドNo.3
・スレッドNo.1
という様に更新された順に表示するにはどうすれば良いでしょうか?
自分なりに考えてみましたが、
1)スレッドNoを記載したテキストファイルを用意する
2)新規投稿が行われた場合は、ファイル内の最上部に追記
3)返信が行われた場合は、ファイル内の該当のスレッドNoを最上部に移動
4)閲覧する際にテキストファイルに記載された順番で出力する
という方法くらいしか思いつきませんでした…。
根本的に何か間違っている様な気がするのですが、アドバイス頂けると助かります。
0825nobodyさん
2008/01/25(金) 06:12:47ID:???更新日時を正の整数に置き換えてソート。簡単じゃん
0826nobodyさん
2008/01/25(金) 06:22:17ID:???DBで設計すれば楽なのに。
>>825のやりかただけだと親子関係がめちゃくちゃになるんで、
親子関係の情報もとって、更新日時でソートしたあとに、親子関係でソート。
さらにそのままだと親スレが一番下になるんで、
親子関係でさらに配列分けて配列を逆にしてから最後にくっつける。
0827nobodyさん
2008/01/25(金) 06:26:26ID:???0828nobodyさん
2008/01/25(金) 06:26:57ID:???むしろ面倒だから統一して管理したほうがよさげ(初心者用)
0829nobodyさん
2008/01/25(金) 06:37:31ID:???0830nobodyさん
2008/01/25(金) 06:40:06ID:???テキスト管理について意見を言わせれると的外れ発言のオンパレードww
0831nobodyさん
2008/01/25(金) 06:43:51ID:???簡単な処理ならともかく掲示板レベルはあきらかにDBのほうが効率的
ていうかさっきから煽ってるやつは同一人物?朝っぱらから元気だな
0832nobodyさん
2008/01/25(金) 06:45:03ID:???pgdbの存在を知らなかったりして
0833830
2008/01/25(金) 06:47:55ID:???ファイルの更新日時でソートするだけとかwwwwwwwwwwwwwwwww
0834nobodyさん
2008/01/25(金) 07:01:01ID:???ってことで、愚民の俺らにその高尚な脳味噌で考えた具体例を教えてくれよ
期待してるぜ
0835nobodyさん
2008/01/25(金) 07:02:20ID:???お前は何をいってんの?
更新日時をログに記録してるってことだろ。
日本語もわからないの?
0836830
2008/01/25(金) 07:03:07ID:???0837nobodyさん
2008/01/25(金) 07:07:24ID:???0838nobodyさん
2008/01/25(金) 07:10:38ID:???対人関係下手で家を出れない引きニートはかわいそうですね。
0840nobodyさん
2008/01/25(金) 07:53:35ID:???大体あってんじゃないの。
TEXTベースでやるのなら
1.スレッドNOを覚えているファイルを作る
2.新しい投稿があったら1を見てそれをファイル名とするファイルを生成し
投稿内容を書き込む
3.返信のときはすでにあるファイルをサーチし、投稿内容をマージ
返信に上限を付けるならここで上限チェック。
4.表示はいったん全ての投稿ファイルのタイムスタンプを読み込み
ソートして、出力順を決定する。
5.出力順に投稿ファイルを開き、内容を出力する。
6.実際には古いファイルを消去する仕組みも必要でしょう。
新しい投稿をトリガーにして、一定期間投稿のない投稿ファイル
=タイムスタンプが古いを削除する。
0841nobodyさん
2008/01/25(金) 08:56:06ID:???タイムスタンプを読み込んでソートするってことは
返信の際にそのファイルのタイムスタンプも更新してるわけだから
そのついでに最上段に持っていけば表示の時にソートする必要ないんじゃね?
そしたら古いファイルの削除も最下段を削除するだけで済む
age、sage機能をつけるんならいるだろうけど
0842nobodyさん
2008/01/25(金) 09:57:59ID:rbOm8Vt/来たメールのエンコーディングを調べる方法はありますか?
ヘッダー情報に文字コードがなかったので・・・
0844nobodyさん
2008/01/25(金) 11:33:44ID:KgKyfu/6.htaccessでやるべきか、phpの403で拒否するか、
もしくは、ルーティングテーブルで拒否するか、
よく分からないのですが、どれでやるのがベストですか?
宜しくお願いします。
0846nobodyさん
2008/01/25(金) 11:47:22ID:???> どれでやるのがベストですか?
抽象的杉。
サーバの移項も考えるかとか、負荷の量とか、改変の頻度とか、
それを作業する環境は何かなどいろんな尺度があるので、目的次第。
0847nobodyさん
2008/01/25(金) 11:52:40ID:???そりゃハードレベルでできるならそれが一番いいよ。
phpは最終手段。
phpよりhtaccess、htaccessよりルータ。
0848nobodyさん
2008/01/25(金) 11:55:06ID:KgKyfu/6すみません。もう少し具体的に書かせて頂きます。
使用サーバーは、さくら株式会社が提供する専用サーバーで、移行の予定はないです。
負荷は、不明ですが、よく中国や台湾から大量のアクセスでサーバーが落ちるという話を聞くので、
それに堪えられるようにしたいです。
よく分からないですが、1秒間に1万回リクエストされても耐えられれば大丈夫だと思います。
改変は随時です。怪しいIPアドレスは拒否するように定期メンテします。
0849nobodyさん
2008/01/25(金) 12:29:05ID:???0854nobodyさん
2008/01/25(金) 15:49:54ID:???なんでみんなこんなめんどうなもん使うんだろうってずっと避けてたよ
0855nobodyさん
2008/01/25(金) 15:53:58ID:rbOm8Vt/http://example.com/
のソースの文字コードを知りたいのですが、
metaタグから取得する以外にどのような方法があるのでしょうか?
レスポンスヘッダーから簡単に取得できないですかね?
■ このスレッドは過去ログ倉庫に格納されています