【PHP】下らねぇ質問はここに書き込みやがれ 44
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/04/12(木) 16:54:47ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 43
http://pc11.2ch.net/test/read.cgi/php/1175368910/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2007/04/12(木) 16:56:03ID:???【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
【PHP】下らねぇ質問はここに書き込みやがれ 39
http://pc10.2ch.net/test/read.cgi/php/1171280039/
【PHP】下らねぇ質問はここに書き込みやがれ 40
http://pc11.2ch.net/test/read.cgi/php/1172151461/
【PHP】下らねぇ質問はここに書き込みやがれ 41
http://pc11.2ch.net/test/read.cgi/php/1173163186/
0003nobodyさん
2007/04/12(木) 16:57:00ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
(以下英語)
■Smarty http://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2007/04/12(木) 16:57:52ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2007/04/12(木) 16:58:40ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0007nobodyさん
2007/04/12(木) 17:34:39ID:W4YgAsOnPHP+MySQLの本がなくて、アマゾンや有隣堂で検索してみると大部分のこの手の本が絶版に
なってるんですが、もはや主流ではなくなったってことですか?
0008nobodyさん
2007/04/12(木) 18:08:12ID:???0009nobodyさん
2007/04/12(木) 18:10:26ID:???主流かどうかはしらないけど、
普通にPHP+MySQL使ってるよ。
本がないならWebで勉強するのも手だと思う。
資料たくさんあるしね。
0011nobodyさん
2007/04/12(木) 18:26:29ID:jGSSJUCn$period = 5 //表示する期間
こういう条件だとして、現在の日時から終了日時を割り出したいと思っています。
(2007-04-17 18:24:00 こう表示したい)
そこで
echo date("$today",strtotime("+$period day"));
とかしてみましたが、思い通りになりません。どのように記述したら良いのでしょうか?
0012nobodyさん
2007/04/12(木) 18:42:36ID:???どうもです。入門用のPHP+MySQL本がほとんど絶版になっていて、アマゾンではコレクターとして
1冊8000円〜1万円になってるのもありました。
やりたいことは、下記の価格コムみたいに、絞り込み検索、並べ替えができる商品リストを
作りたいんです。個人サイトですが。
http://kakaku.com/bb/ranking/1110000011401500000000000000000000012000/
普通のPHPとMySQL、SQLiteの本で大丈夫ですかね…?
0013nobodyさん
2007/04/12(木) 18:43:39ID:???, 二¨-―-- 、`丶、
/_ ..-――-.. 、十ヽ\
//::.::,:.:.:./::/::.::.l::.::`ヽ、\ヽ
〃::/:::/:.:.:/::/::.:/::|::.:、:.::.::ヽ ハ `、
l::.:::l:: ,':l:::/::/::.:/::;小:::l::ト、::.:V l ヽ
{::.:::|:::l::|::l::/::.:/::/:/:_j⊥l::ヽ:!} \
. ハ::.::l:::|┼く:/::/ /'´ノ ヽ:∨::.:l | /
〈 l::.:|:::l::|∠、ノ , =≡V::.::/|/
ヽヘ::ヽ::V⌒゙ , "゙ / :::,' l〔
/rヘ::\ ゛゛ rーヘ 彡: / /:::Y⌒i 下らねぇ質問は
l冫/ }`ヽミヽ、ヽ、ノ, イ:`7十/::.::.:l | ここに書き込みやがれ
// /:::_rヘ_`二√ __〉/ レヘ::} | ですぅ!
// ,'/夕r==、∨---/、/ f==ミフ 厂ト、
. // 〃r7,イ| >トマ ̄〉 7ヽ厶ィ {ヽ 」__/ / 〉
, -‐'7/ /:.rク/ {ニ=彳/ ハ ∨, / ̄:{八_‐-┴勹
/ / /: :/7/ /,イ/ / /、/_ /: : : :|:厶 `^´ 人
ヽ冫< / {: : :Y〈__ //〃 ,' / 7ヽ ,仆、: : :|| : :`¨¨´: :冫、
\/ rヘ :`ヾ//__/> //V/ /」 ハ: : l|: :丶: : : ,': ヽヽ
0014虚弱PHP
2007/04/12(木) 19:48:07ID:???これを買うのはもう愚行。
PHP本なら定番はマンモス本かなぁ?
赤マンモスが初心者向け。
0015nobodyさん
2007/04/12(木) 20:48:31ID:???$today = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("y"));
echo date("Y-m-d G:i:s",$today + ($period*24*60*60));
こんなん?
てきとーだから動かなくてもしらん
001811
2007/04/12(木) 20:57:53ID:jGSSJUCnすみません、ID晒します。
>>15さんの方法でいけました。自分が書いた>>1を分解して
mktimeに当てはめたら、希望通りになりました。ありがとうございました。
0021nobodyさん
2007/04/12(木) 22:15:31ID:???0022nobodyさん
2007/04/12(木) 23:48:19ID:???イマドキ、特定のRDBMSに特化したようなPHP解説本は時代遅れ。
二昔ほど前は、Perl/CGIではRDBMSを使わない人が多かったせいで
DBサーバーの設置方法から解説しないと十分にPHPを使いこなせない場合が多く、
それでPHP+MySQLをまとめて解説するような「くだらない初心者向け本」が多かったが
そんな本には元々価値なんてほとんど無いんだよ。
今はPerl/CGIも含めてRDBMSを使うのが常識なので、あえて解説する必要は無くなり
役に立たない本が淘汰されただけ。
0023nobodyさん
2007/04/12(木) 23:51:12ID:???データベースとの連携って必須だと思われますか?
phpのみでいけそうですか?
0024nobodyさん
2007/04/12(木) 23:54:19ID:???必須かどうかと問われたら全然必須じゃない。
元々、RDBMSが「必須」になる場合ってのはほとんど無く、
大抵は信頼性・高速性・機能性を求めて
「より良いものとして」RDBMSを使うことを選択するものだ。
それらの条件を捨て去れば、ほとんどのシステムはRDBMS無しでも組める。
0025nobodyさん
2007/04/12(木) 23:58:57ID:???phpの処理は軽いと聞くのでDB無しでも大丈夫そうかな?
でもアップローダ色々探してみたんですけど検索機能の付いたものって1つも見つからないんですが
やっぱり自分でつくってみるしかないのかなぁ。
0026nobodyさん
2007/04/13(金) 00:03:57ID:???PHPの処理が軽いってのはCGIと比べてのオーバーヘッドの有無の話で、
ファイルアクセスとかは全然速くないので今回の話とはまるで関係しない。
大丈夫かどうかは「要求するシステムの性能」による。
・アップロードされるファイルがどのくらいの数があるのか
・同時に何人くらいのユーザがアップロードや検索をかけてくるのか
・予想される最大アクセス時にどのくらいの速度で検索結果を出したいのか
によって選択すればいい。
これらが大したことないのであればDBは無くてもそれほど困らない。
ただ、DBを使えば複数同時アクセス時にログが壊される心配などが無くなるので
気楽にプログラミングができるというメリットもある。
0027nobodyさん
2007/04/13(金) 02:02:30ID:???>気楽にプログラミングができるというメリットもある。
ふ〜ん(笑)
0028nobodyさん
2007/04/13(金) 02:08:16ID:???最近C#も楽しい。
ただJavaだけは好きになれない。
全く持って面白くない。なんでだろ?
0029nobodyさん
2007/04/13(金) 02:30:00ID:5ULGyn4lSHA1って非可逆なん?cryptよりもいいん?
0032nobodyさん
2007/04/13(金) 10:19:02ID:6sDwYx0uDBを登録更新するものと、DBから取り出してきて表示する2つのスクリプトがあるのですが、
ちょうど更新中に、表示側のスクリプトにアクセスしたときってどうなるんですか?
DBの更新は100項目5秒ほどで終わると思うのですが、
更新したとこまでのデータがちゃんと表示されるのかな?
0033nobodyさん
2007/04/13(金) 10:20:15ID:???0034nobodyさん
2007/04/13(金) 10:29:42ID:6sDwYx0uナルホド・・・
クエリーを上から1つずつ実行してるので、
更新したとこまでしか表示されなさそうですね。
どうまとめるか今のスキルじゃ検討がつきませんが、
そのうち全て1回で処理するように書き換えたいですね。
0035nobodyさん
2007/04/13(金) 10:30:57ID:???100項目の更新ってupdateを100回なのか?1回のupdateで100項目が更新されるのか?
1回のupdateで全部更新されるなら、それが終わるまではselectが止まる。
よって5秒後まで表示自体が行われない。
100項目がバラバラのupdate実行ならそこまでの内容が表示される。
0036nobodyさん
2007/04/13(金) 10:34:08ID:???全部更新されるまでselectできないようにするなら
update前にlock tableをかけとく手もあるよ。
0037nobodyさん
2007/04/13(金) 10:36:06ID:6sDwYx0u効率は悪いかもしれませんが100回updateです。
1回のupdateにかかる時間は、0.1秒〜1秒ほどで、
それを100回行っています。
>1回のupdateで全部更新されるなら、それが終わるまではselectが止まる。
>よって5秒後まで表示自体が行われない。
これは困りますね。最長1分ぐらいは止まるので。
0038nobodyさん
2007/04/13(金) 10:49:22ID:6sDwYx0u実はSQLは覚えたてなので、lock tableなるものは知りませんでした。
DBの排他制御ですか。
全部更新されるまでは1分以上とまる可能性があるのでやめようと思います。
>更新をできるだけ早く処理するために、WRITE ロックは、通常、READ ロックより優先されます。
>そのため、あるスレッドが READ ロックを取得し、別のスレッドが WRITE ロックを要求している場合、
>後続の READ ロック要求は、WRITE スレッドがロックを取得し、その後そのロックを解除するまで待機します。
ということなので、update文1つ1つにWRITEロックをし、表示スクリプトにREADロックをしようと思います。
なんかスレ違いすみませんでした・・・
0040nobodyさん
2007/04/13(金) 11:04:01ID:???必要ないですか?ならばしないことにします。
書き方が悪かったです。
update処理自体はすぐ終わるのですが、
update内容を取得するプログラムが、
サーバの応答時間によって変わるので、
(サーバダウン時の対策でtimeoutを1秒に設定しているので最長1秒)
それで処理が遅れるっていう話です。
DBとは無関係でしたね。すみませんorz
0042nobodyさん
2007/04/13(金) 11:23:01ID:???1トランザクションにすればいいだけじゃないか?
それで全部updateする前かした後かどちらかになるっしょ
selectが止まることはない
0043nobodyさん
2007/04/13(金) 11:36:44ID:6sDwYx0u>>41
更新感覚が3分と短いので、取得に1分かかっては4分ということになってしまうので、
順番に登録という設計にしたのですが、やはりこっちのほうがいいですかね。
>>42
これがトランザクションの開始ですかー
勉強になります。(PHPスレで何勉強してるんだorz)
timeout感覚を0.1秒(100ミリ秒)にして、(これなら最長10秒ほどに)
>>41さんの設計にして、BEGIN〜COMMITでupdateしてみたいと思います。
スレ違いに付き合っていただいて感謝です。
0044nobodyさん
2007/04/13(金) 11:47:18ID:???どういう更新しようとしてるか分からないから何とも言えないけど、
データ取得とSQL発行は普通は分けるね。
まとめて取得+トランザクションやればまず確実じゃね。
0045nobodyさん
2007/04/13(金) 11:52:19ID:6sDwYx0u>じゃ2分ごとに処理を実行させればいいじゃん?
3分ほぼちょうどに拘りたくて。
ただよくよく考えると、後ろのほうのデータがどっちみちずれるので、
"だいたい"3分でいいですよね。ちょっと拘りすぎてました。
>データ取得とSQL発行は普通は分けるね。
>まとめて取得+トランザクションやればまず確実じゃね。
参考になります。一般的にこうならやはり分けることにします。
これ以上はDBスレっぽくなってしまうので、これで引きたいと思います。
皆さんお答えくださってどうもありがとうございました。
0047nobodyさん
2007/04/13(金) 13:34:41ID:???どちらがいいでしょうか?
0048nobodyさん
2007/04/13(金) 13:35:51ID:???0050nobodyさん
2007/04/13(金) 14:38:34ID:pJrPoZVNfsockopen ($addr, $port, $errno, $errstr, $timeout);
で配信している時の確認はいいのですが、配信してない時には
>>環境によってはUNIXドメインまたはオプションの接続タイムアウトは利用 できません。
というわけで永遠に探しに行って固まります。
なにかfalse時の良い処理はないでしょうか?
0052nobodyさん
2007/04/13(金) 15:14:41ID:???ちゃんとクッキーを食べさせてからリダイレクトされますが、
これはブラウザの標準的な動作ですか?
ブラウザによって、このやり方では駄目ということはないでしょうか?
トリッキーなやり方の気がして
動かない環境があるか気になってます。
0053nobodyさん
2007/04/13(金) 15:27:50ID:???0055nobodyさん
2007/04/13(金) 15:36:44ID:???マニュアルを見ながら、数行の簡単な処理をこなしていけば、
自然とできるようになるもんだよ。
>どんな工程が必要でそのためには何の関数を使うとかが知りたいです
それは作る人によって工程は異なるし、使う関数も異なる。
実装する機能によって異なってくるから決まったものにはならない。
プログラムの面白いところは、1パターンではなく、
何パターンのやり方でも、結果として同じものが作れるという所。
0056nobodyさん
2007/04/13(金) 15:59:00ID:???何も返さないというときに返り値にnullを指定してもいいんですよね?
結果はどっちとも同じになるのですが、意味あいが違うんだと思います。
nullっていまいちよくわからない・・・
0057nobodyさん
2007/04/13(金) 16:05:25ID:???0058nobodyさん
2007/04/13(金) 16:33:27ID:???それは承知です。しかし、覚え方のタイプの違いだと思うのですが。
確かに理系の頭ではないです。
>>55
では、参考になるコードが書かれているURLなどありますでしょうか?
よろしければ教えてください。
0059nobodyさん
2007/04/13(金) 16:52:03ID:???公開されてるソースが腐るほどあるだろ
0060nobodyさん
2007/04/13(金) 17:00:59ID:???むしろreturnを書かなくていい。値を返さないってことでnullになるから。
もし条件によって値を返さない時があるなら、
return;だけで値は書かなくていい。これも同じくnullになる。
空の文字列は普通に空の文字列、nullは値がないって事。
たとえばisset()でfalseになるとかね。
しかしID出さないの増えたね。
0061nobodyさん
2007/04/13(金) 17:03:44ID:???現在の実力でできる範囲でいいからそれを少しずつ作っていく。
その過程で分からないことが出てくるからそれを随時調べたり、
調べていく過程で興味を持った情報を深く調べてみたりしてれば、自然にレベルアップしていくよ。
0063nobodyさん
2007/04/13(金) 17:10:38ID:???作り出すため何が必要か情報収集して、実際に色々作ってくしかないわな。
ある程度やったら作り始めるのが一番早いだろうし。
0064nobodyさん
2007/04/13(金) 17:34:46ID:???すごいよくわかる。
やりたてのころはいきなり掲示板とかメールフォームをつくりたくて教本とか
webからコードぱくってたけどけど、
勉強していくうちに知識をためてくと自分らしい組み立てができるようになった
0065nobodyさん
2007/04/13(金) 17:35:33ID:???0066nobodyさん
2007/04/13(金) 17:52:17ID:???前質問したらどれでも好きなの嫁って言われて困ってphpshotの掲示板読もうとしたけどよく読めなくて
今はとりあえずレッツphpの掲示板読んでる
作りたいのは掲示板じゃないんだけど掲示板の動作が参考になるかなと思って
こうしたらもっと効率よく出来る ってより こういう場合は定番としてこういう処理する ってのが知りたい
公開されてるものが腐るほどあるのはわかる でもどれ見ていいのかよくわかんないんだよ
0067nobodyさん
2007/04/13(金) 18:07:01ID:???まずは配列関数のarrayから。その次にempty。その次に・・・
と順番にこなしていけ
それでおぼえる
0069nobodyさん
2007/04/13(金) 18:12:14ID:???ひとつ、ひとつ作りこんでいけばいいだけだよ。
まずはフォームに入力したデータをcsvファイルに書き込む、
次にそのcsvファイルをHTMLで一覧表示する、
次に10件ずつデータを表示して「次のページ」のリンクを表示させる。。。
という感じで。
まず何を作りたいか設計して、順番に作っていくのが基本だから、
その作業の中で、そこはどう処理しているのか参考になりそうなスクリプトを
見ていけば理解は早いかと。というより初心者向けの本を何冊か手元において
おけば、必ず分かりやすい解説がどこかの本にあるとおもう。
あとはばかばかしいかもしれないけど、参考にしたいスクリプトをそのまま
模写、つまり打ち直す。厳しいけどそれが習得の基本らしいよ。
0071nobodyさん
2007/04/13(金) 18:16:00ID:???プログラムセンスある奴にはウケが悪い言語だからw
0073nobodyさん
2007/04/13(金) 18:18:47ID:???他人の書いたソースを一から読み進めるのってよっぽど読みやすい書き方してない限りはただの苦行だぞ
0074nobodyさん
2007/04/13(金) 18:19:00ID:???他のスクリプトを読むのはいいけどその背景となってる考えを理解しないと最悪な勉強法だぞ。
掲示板作るために何をすればいいかさっぱり分からないうちは、ソースを読むことではなくもっと基礎を学ぶ時期だと思うが。
ちなみに定番を知りたいならマニュアルが最高にお勧め。
0075nobodyさん
2007/04/13(金) 18:21:22ID:???適当にソース拾ってきてごちゃごちゃいじってりゃ
嫌でもわかるようになるだろ
悩む暇があったら読め書けそして動かせ
0076nobodyさん
2007/04/13(金) 18:24:25ID:???>こういう場合は定番としてこういう処理する
具体的にどの場合か、ここで質問しちゃうほうがいいんじゃないの?
5通りぐらい方法が出てきたら笑うけどw
0077nobodyさん
2007/04/13(金) 18:35:38ID:???ちゃんとローカルなテスト環境作って、とりあえず動かすことだけ考えて前に進みまくれ
あまりにもおかしい書き方はそのうち気付く
0078nobodyさん
2007/04/13(金) 18:35:49ID:???むしろ変な癖つくから絶対参考にしないほうがいい気がする
0079nobodyさん
2007/04/13(金) 18:40:22ID:???0080nobodyさん
2007/04/13(金) 18:55:57ID:???0081nobodyさん
2007/04/13(金) 18:57:31ID:???定番とか気にせずにまず作れというのは同意。
0082nobodyさん
2007/04/13(金) 19:20:42ID:???手取り足取り教えてもらっても、全く自分のためにならない。
人に聞いてしか問題を解決出来ないならプログラムなんか出来ないよ。
ヒントや自分で探す術を覚えない限り、教えてもらって終わり。
そのレベルに達していないなら、まずは気に入ったテキストとマニュアルと関数逆引きを読んでみるべき。
0083nobodyさん
2007/04/13(金) 19:40:35ID:???↓
名前で検索する→ひっかかったサイトを自分で見に行って時間をつぶす
↓
【ほしい】を【買う】へ→【買う】から【ショッピング】に変換する
↓
でてきたサイトをチェック
↓
ヤフーショッピングでWindowsVistaが買えることがわかったが、
いろんなバージョンがあってどれを買えばいいのかわからない。
↓
検索キーワードを変えて振り出しにもどる
上級者だってはじめから何でもわかるわけでもなかったんだ。
何か壁にぶつかったら自分で検索して調べる能力があるだけでも効率があがるから
0084nobodyさん
2007/04/13(金) 19:46:42ID:???でも他の人がどう処理しているのかは気になる。
今、プログラム系の学校とかどうなんだろ。
チュートリアルをこなすだけなのかな?
自分のスクリプトを評価してくれる人はちょっと欲しい。
0085nobodyさん
2007/04/13(金) 19:47:55ID:???0087nobodyさん
2007/04/13(金) 20:12:46ID:???0088nobodyさん
2007/04/13(金) 20:13:58ID:???0089nobodyさん
2007/04/13(金) 20:17:19ID:???プログラミングヲタになれないと続かないし伸びないよ
0090虚弱PHP
2007/04/13(金) 20:21:18ID:???俺はソース読んだことないけどw
定番とかは確かに知りたくなるもんだけど、
その前にスパゲッティソース作ってにっちもさっちもいかなくなる経験はした方がいいと思う。
0091nobodyさん
2007/04/13(金) 20:27:51ID:???0092nobodyさん
2007/04/13(金) 20:44:51ID:???009466
2007/04/13(金) 21:23:47ID:???自分なりにどんどん書いて動いた。
動かないときは手直ししていけばそれでよかったんだけど逆に動いてるときに
これでいいのかな?何かまずい処理してなかったかな?
って気になって他人の定番のソース見るのがいいかと思ったんです
定番と比べて抜けてる処理があれば自分の見落としがわかるかなあと。
自分で気付くようになるまで放置で大丈夫なんですね。ありがと
0095nobodyさん
2007/04/13(金) 21:26:22ID:???まぁ遊びならいいんか
0096nobodyさん
2007/04/13(金) 21:50:11ID:???だからショボイのでもソース公開したほうがいいよ。
小粒でも人の役に立つのを書くとかね。
欠点を突っ込んでもらったほうがいい。
短ければここでソース晒すとかね。
第二回 自作スクリプト発表会【PHP】
ttp://pc11.2ch.net/test/read.cgi/php/1156116687/
とかもある。
0097nobodyさん
2007/04/13(金) 22:42:30ID:???早く読むのはそれなりにコツみたいなものが必要だからヒマなときにでも磨いとくといいよ。
ctagsとかそういうたぐいの物の扱いに慣れとくとかね
0098nobodyさん
2007/04/13(金) 23:29:51ID:???以後の処理はロックかかってる事に
なってるんですかね?
ロック解除まで
$cwlog=fopen("comment.txt","a+");
flock($cwlog,LOCK_EX);
$noline=file('comment.txt');
$nocount=count($noline)-1;
$bno=explode("\t",$noline[$nocount]);
$no=$bno[0]+1;
$cwdata="$no\t$name\t$contents\t$time\t$delkey\n";
fputs($cwlog,$cwdata);//$wlogの最初の行に$wdataを追加
flock($cwlog,LOCK_UN); //ファイルロック解除
fclose($cwlog);//ファイルを閉じる
0101nobodyさん
2007/04/14(土) 05:40:57ID:???fclose前のロック解除は不要だしあまり推奨もされない。
バッファフラッシュ前にロックを解除しちゃあかんよ。
fcloseすればバッファをフラッシュした上でロックも自動解除してくれる。
flockでのロックは「他のプログラムも同じ方法でロック処理をしてくれている」
という前提で使うものだが、それが満たされているなら特に問題はないかと。
NFS環境とかでは正常動作しなくなったりするけどな。
0102nobodyさん
2007/04/14(土) 06:07:20ID:???WEB制作はプログラムのスキルだけじゃだめだからねえ。
PHP使えるWEBデザイナーも増えてきてるし、WEB制作の中の
ひとつの技術としてとらえるのが普通じゃねえかな。
オタプログラマーじゃなくてWEB制作オタなんだよね。
0104nobodyさん
2007/04/14(土) 09:49:01ID:NyirOBTJ俺のことか
0105nobodyさん
2007/04/14(土) 09:53:14ID:6mTTKqeLいっちょ前に
善人面こいて偉そうに他人を評価できると思っている
ずうずうしい滑稽な
糞団地住民ども死ね。
0106nobodyさん
2007/04/14(土) 12:15:24ID:Okv6CUFW1.クラスや関数・変数などのネーミングはPascal Camel どちらが推奨、というか基準みたいなのある?
2.if とか foraech とか(自作問わず)関数とかで使う半角スペースってなんか基準ある?
if($i=0) //スペース全くなし
if ( $i = 0 ) // ()の前にも、()内の前後にもスペースあり
我ながらくだらね〜質問かと思うけど、プログラマーさんなら結構いいたいことがあるかな〜と期待してw
0109nobodyさん
2007/04/14(土) 12:34:53ID:???逆だ。
技術を次々と習得できる人間はだいたい優秀なんだよ。
デザインセンスのないやつはPHPを覚えるセンスもやっぱりない。
最近は才能格差が激しいね。
0110nobodyさん
2007/04/14(土) 12:40:44ID:???下等生物に相応しい下等言語。
HTMLに毛が生えた程度のレベルであり中学生でもマスターできる。
むしろPHPを覚えることは恥である。
このような恥ずかしい言語をマスターしていい気になってるやつは
(ry
0111nobodyさん
2007/04/14(土) 12:45:51ID:???だめなやつはなにをやっても…
>>110
中学生でも使える言語をマスターしてないお前は
世間の笑いものだな…
0112nobodyさん
2007/04/14(土) 12:46:27ID:???専任のWebデザイナーやネットワーク技術者が居てもね
プログラミングヲタでもWeb製作ヲタでもいいけど、ヲタがヲタ知識を増やす要領で勉強する方が楽しいし伸びるよって話
>>110みたいなタイプのヲタではダメだけどねw
0113nobodyさん
2007/04/14(土) 13:33:56ID:xk0Q7Wzmこのひとってまだ生きてるの?
0114106
2007/04/14(土) 16:08:13ID:???推奨する記述ってあったのね、勉強になった。
ところで foraech とか書いている俺はアホですか。
0115nobodyさん
2007/04/14(土) 16:23:45ID:???勉強になりました
0116nobodyさん
2007/04/15(日) 01:06:25ID:???試しに別のサーバを利用してみたら、正常に取得できました。
allow_url_fopen は On になってます。
どこか設定の違いだと思うのですが、
他に設定が必要な所ってありますか?
詳しい人、教えてください。
Warning: file_get_contents(http://www.example.com/) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /****/test.php on line 4
$url = "http://www.example.com/";
$file = file_get_contents($url);
print "$file";
0118nobodyさん
2007/04/15(日) 01:08:51ID:ULXkJ/GO試しに別のサーバを利用してみたら、正常に取得できました。
allow_url_fopen は On になってます。
どこか設定の違いだと思うのですが、
他に設定が必要な所ってありますか?
詳しい人、教えてください。
Warning: file_get_contents(http://www.example.com/) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /****/test.php on line 4
$url = "http://www.example.com/";
$file = file_get_contents($url);
print "$file";
0120nobodyさん
2007/04/15(日) 01:12:48ID:???0122nobodyさん
2007/04/15(日) 01:32:24ID:???0123nobodyさん
2007/04/15(日) 01:33:40ID:???行数沢山あるなら、小さく抜き出してテストしてから張ってね。
多分これを自分でやるだけで解決したりするだろうな。
0124118
2007/04/15(日) 01:45:33ID:???0125nobodyさん
2007/04/15(日) 01:46:40ID:???IDだしてまた同じ内容で投稿してるのはDQN認定
0126nobodyさん
2007/04/15(日) 01:51:21ID:???URLはgoogleとか絶対繋がるのでテストしてるんだよね?
とにかくきちんとテストしたソースとエラーをまんま出すのが早い。
0127nobodyさん
2007/04/15(日) 01:54:05ID:???0129118
2007/04/15(日) 02:02:33ID:ULXkJ/GO度々失礼しました。
Yahoo!やGoogleは正常に取得できます。
http://www.yahoo.co.jp/
http://www.google.co.jp/
以下、実行したソースとエラーです。
<?php
$url = "http://www.megaview.jp/";
$file = file_get_contents($url);
print "$file";
?>
Warning: file_get_contents(http://www.megaview.jp/) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/****/****.php on line 3
0130nobodyさん
2007/04/15(日) 02:09:02ID:???っていうか403の意味調べた?
>>127とかPEARでなんとかなるんじゃない
0131nobodyさん
2007/04/15(日) 08:15:42ID:???からのアクセスが禁止されてるだけじゃないの?
0132nobodyさん
2007/04/15(日) 11:33:04ID:???>○○じゃない?
>○○じゃないの?
自信がないなら答えんな
わかるまでROMってろよ
>403の意味調べた?
は?それくらい知ってるっつーの
まともに答えられる人いねーの?
0133nobodyさん
2007/04/15(日) 11:40:00ID:???0134nobodyさん
2007/04/15(日) 12:12:42ID:???0135nobodyさん
2007/04/15(日) 12:14:41ID:???0136nobodyさん
2007/04/15(日) 14:27:17ID:Y+7wtgW4お返事遅くなりました、
大変に参考になりました
本当にありがとうございました。
0137nobodyさん
2007/04/15(日) 17:30:46ID:???0138nobodyさん
2007/04/15(日) 17:59:40ID:???(出会い系ではありません)
一行掲示板の改造がいいかと思うのですが、スクリプトやアドバイスありましたらお願いいたします。
0139nobodyさん
2007/04/15(日) 18:02:55ID:???0142nobodyさん
2007/04/15(日) 18:34:59ID:???0143nobodyさん
2007/04/15(日) 18:40:46ID:???まぁ、すぐに作りたいなら改造でもいいと思う
俺も最初はすぐに高性能の掲示板を作りたくて、
できたところで穴だらけだったがな
0144nobodyさん
2007/04/15(日) 19:11:56ID:???まともな改造とかできるわけないだろう。
0145nobodyさん
2007/04/15(日) 19:45:57ID:???わからなくなったらここで聞け。
最初から何もしないで聞くなバカ
0146nobodyさん
2007/04/15(日) 20:53:39ID:R8yXAJQXモジュールとして実行することに対して、
パーミッションの設定と速度の面を除いて何か制限されることはあるのでしょうか?
0147nobodyさん
2007/04/15(日) 20:56:53ID:u9QEq4CQ自分はウェブデザインの勉強をしていたのでDWを使っているのですが、
WebプログラマとしてはDWは不評のようで・・・
何のソフトを使っていますか?
0149nobodyさん
2007/04/15(日) 20:58:32ID:???0150nobodyさん
2007/04/15(日) 20:59:02ID:???とあるが、つまり目的別でユーザーのIDを表示するってことかな?
だったら、データベース使わないと厳しいかも
0151nobodyさん
2007/04/15(日) 21:02:23ID:???それは実行環境のこと?
XAMPPで検索してごらん。便利よ。
ソフト板にもスレあるから。
あ、いや、エディターですね。
Ecripsなんかは有名ですね。
ちなみにMSがDWみたいなもん作ったらしい。
こちらもスレがある。
どこだったっけ。
探してくださいな。
0153nobodyさん
2007/04/15(日) 21:04:43ID:???べつにdreamweaverでいいと思うよ。
正規表現、ツリー表示、コード保管しか使ってないけどSOHOとして仕事してるよ。
デバックはできないけど、・・あっても必要ないと感じてる。
会社に勤めてたころはEclipseでPHPコード書いてたけどべつに今は別にイラネ。
ようは使う人の効率があがれば何使ってもいいんじゃないの?
0155nobodyさん
2007/04/15(日) 21:07:21ID:???phpspot.net
で配布してるの使ってる。
PHP専用でプロジェクト用とPHPファイルに関連づけできるスタンドアローン版がある。
スタンドアローン版はDWなど他エディタ使ってる人もインストして関連づけるとファイルからそのままダブルクリックで開けるからいいよ。
0156nobodyさん
2007/04/15(日) 21:10:25ID:???0157nobodyさん
2007/04/15(日) 21:11:06ID:???Donut RAPTの作者もPHPエディタを使ってます。
0158nobodyさん
2007/04/15(日) 21:11:45ID:???0160nobodyさん
2007/04/15(日) 21:15:40ID:???DWいじると、HTMLでの作成ではPHPカラーつかないけど
PHPではつくよな?
PHPでHTMLのカラー+PHPのカラーがつくような設定ってないの?
0161nobodyさん
2007/04/15(日) 21:18:07ID:???BBSとかちょっとした物作るならTeraPadあれば十分すぎる
ある程度大きいもの作るなら俺はEclipseかな?
まぁ、デバッガ使わずにprintデバッグしてるけどねorz
Windowsだからあんまり使わないだろうけどLinuxならvi最強
0163nobodyさん
2007/04/15(日) 22:01:45ID:y9EClMBI出力
「INSERT test INTO test1='test1', test2='test2', test3='test3', test4='test4'」
エラー
「You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO test1='test1', test2='test2', test3='test3', test4='test4'' at line 1」
このように、SQL文の一部「test INTO」が消えてしまいます。
function内から別のfunctionを呼び出すとそうなる仕様なのでしょうか?
0165nobodyさん
2007/04/15(日) 22:10:16ID:???エラー文には「SQL構文にエラーがあるよ」って書いてるので
SQLのinsert構文をもう一度確認してみてはいかがですかね
0167nobodyさん
2007/04/15(日) 22:16:23ID:y9EClMBIありがとうございます
基本的な構文ミスでした。
INTOをSETで解決しました。
INSERT INTOと
INSERT SETは
どちらを使ったほうがいいんでしょうか・・・
自分はSETのほうが使いやすいのですが
0169nobodyさん
2007/04/15(日) 22:23:21ID:???0170nobodyさん
2007/04/15(日) 22:23:28ID:???実際居るから仕方ないんだけど、状況証拠のチリすらない段階で宣伝扱いするの、いくら2ちゃんでもやめないか?
裏付けや根拠すら全く無い段階でこれいうのって2ちゃんでいう池沼ってやつなんじゃ?
だいたい、作者とするにはタイミング良すぎないか?この実況板と化している当スレでは。
0171nobodyさん
2007/04/15(日) 22:28:23ID:???0172nobodyさん
2007/04/15(日) 22:30:10ID:???0173nobodyさん
2007/04/15(日) 22:32:42ID:???0174nobodyさん
2007/04/15(日) 22:34:06ID:y9EClMBIincludeで絶対パスで指定したとき、
URL file-access is disabled in the server configuration
とエラーが返ってきます。
ファイルはちゃんとあるのですが、何かphp.iniで設定が必要なのでしょうか?
(例えば、外部からのincludeを許可など・・・)
0176nobodyさん
2007/04/15(日) 22:37:03ID:y9EClMBIhttp://からではなくE:〜での記述で実行できました。
ですが、URLでの指定ではダメなのでしょうか・・・?
0179nobodyさん
2007/04/15(日) 22:44:10ID:y9EClMBI0181nobodyさん
2007/04/15(日) 22:51:53ID:???0182nobodyさん
2007/04/15(日) 22:53:16ID:???PHPAPI php_stream_wrapper
if (wrapper && wrapper->is_url && !PG(allow_url_fopen)) {
if (options & REPORT_ERRORS)
php_error_docref(NULL TSRMLS_CC, E_WARNING, "URL file-access is disabled in the server configuration");
return NULL;
}
要は、渡しているパラメータ(wrapper)やPHPそのものの設定(allow_url_fopen)によるってこった。
0183nobodyさん
2007/04/15(日) 23:08:44ID:???0184nobodyさん
2007/04/15(日) 23:12:58ID:???<form method=post action=hogehoge>
<input type=hidden name=hoge value=hoge>
<input type=submit value=go>
</form>
このpostで送信されるデータを連続投票したい場合どうしたらいいでしょうか?
知識の向上として知っておきたいのですが
一応これを実行してpostで送信すると投票先のスクリプトに移動して
再度戻ってまたgoをクリックしないと連続投票できませんよね?
これを1回実行するだけで100回POSTのデータを送信することは可能でしょうか?
0186184
2007/04/15(日) 23:17:46ID:P44SZArS>>185
じゃ、よろしく
0187nobodyさん
2007/04/15(日) 23:19:46ID:???0188nobodyさん
2007/04/15(日) 23:20:22ID:???どこに向けて打つのかしらないが対策されてるから無駄
0189184
2007/04/15(日) 23:21:24ID:P44SZArS0190nobodyさん
2007/04/15(日) 23:22:57ID:???0191nobodyさん
2007/04/15(日) 23:25:17ID:???0192184
2007/04/15(日) 23:26:26ID:P44SZArS100%言われると思ったけど、知識として知ってるほうが対策もできるので知りたいだけだから。
100%言われると思ったから書いたはずなんだけどな…
まあそれはいいとして、どうやってforで回すのか知りたい。
わざわざID出したので、よろしく。
0193nobodyさん
2007/04/15(日) 23:30:02ID:???処理;
}
0194nobodyさん
2007/04/15(日) 23:31:22ID:???0195nobodyさん
2007/04/15(日) 23:37:35ID:???例外クラスの getTrace() のようなものです
スコープ内で処理に使用する変数を、$var[] とった配列にまとめておき、
print_r すれば良いだけかも知れませんが、あれば教えてください
0196184
2007/04/15(日) 23:38:44ID:P44SZArSもう1度言いますよ?
その”処理”の部分を聞いてます
さあ説明よろしくwww
0197nobodyさん
2007/04/15(日) 23:42:39ID:???サーバーサイドは1回の送信につき1回のリクエストだから
100回送信すればいいと思う
ここまで言えばわかるだろ
0198184
2007/04/15(日) 23:47:09ID:???わからないならわかりませんって言えw
このカスどもが
0199184
2007/04/15(日) 23:48:10ID:???↑
こいつテラワロスwww
0201nobodyさん
2007/04/15(日) 23:59:33ID:???0205nobodyさん
2007/04/16(月) 02:55:10ID:???0206nobodyさん
2007/04/16(月) 03:31:41ID:???0207nobodyさん
2007/04/16(月) 11:36:16ID:???0209nobodyさん
2007/04/16(月) 12:29:42ID:???0210虚弱PHP
2007/04/16(月) 12:52:01ID:???0211nobodyさん
2007/04/16(月) 13:01:04ID:???0212nobodyさん
2007/04/16(月) 13:57:58ID:???DB板で聞くのが正解かもしれませんが、お願いしますm(_ _)m
0213nobodyさん
2007/04/16(月) 14:10:41ID:???複数のテーブルに書きに行くのならtransactionをかけたほうがいいかもしれない。
0214nobodyさん
2007/04/16(月) 16:35:09ID:???セキュリティ面とか、新しいプログラム使いまわせるとかではなく
単一のphp内において、もっと身近な部分で言うと…。
0217nobodyさん
2007/04/16(月) 16:53:27ID:???片方では、httpsプロトコルで、echo $_SERVER['HTTPS']; とやると、onと表示されて、
SSLが有効なのがわかるのですが、
もう片方は、ブラウザに鍵マークはつくものの何も返って来ません。
$_SERVER['HTTPS']の説明をみると、
「スクリプトが HTTPS プロトコルを通じて実行されている場合に 空でない値が設定されます。 」
とあるので、正常に機能していないということでしょうか?
それともサーバ側の設定で、何も返さないようにしているとかそういうことでしょうか?
0218217
2007/04/16(月) 16:54:21ID:N9diKUei0219nobodyさん
2007/04/16(月) 16:56:33ID:???WEBサーバーがSSLをサポートしていると言う事と
PHPがSSLをサポートしていると言う事じゃ全く持って話が違う。
後者はWEBではサポートしているけどPHPじゃサポートしてないんでしょ
0220nobodyさん
2007/04/16(月) 17:03:07ID:???0221217
2007/04/16(月) 17:03:26ID:N9diKUeiなるほど。そういうことですか。
ではサーバのPHPをかえてもらわないとダメになるわけですね。
MySQL+PHPを使ったログイン機能があるサイトを作ろうと思っているのですが、
そのログインページ(PHPでできた)でSSLをつかいたいと思ったのですが、
PHPでSSLをサポートしなくても、Webでサポートしていれば、
入力された情報はちゃんと暗号化してくれるのでしょうか?
0222nobodyさん
2007/04/16(月) 17:24:09ID:???当たり前だけどしてくれるよ
PHPでSSLを使うって事はプログラムで内部でhttpsなURLに対して
リクエストを送る事が可能になったりするってことだ。
0223nobodyさん
2007/04/16(月) 17:25:38ID:dwzdMgji「Windowu Binaries」の「PHP 5.2.1 zip package」をクリックすると
タイムアウトしてしまいます。
みなさんのところからはダウンロードできますか?
0224nobodyさん
2007/04/16(月) 17:27:23ID:???時間帯ずらしてダウンロードをためしてみたらいいよ
0225217
2007/04/16(月) 17:28:07ID:N9diKUeiひとつ勉強になりました。これで一安心です。
早速プログラムを組みたいと思います。
どうもありがとうございました。
0226nobodyさん
2007/04/16(月) 17:51:24ID:???なんだかクラスを使った場合と使わない場合がうまく想像できないのです
0227nobodyさん
2007/04/16(月) 18:00:38ID:???0229nobodyさん
2007/04/16(月) 18:21:04ID:???0230nobodyさん
2007/04/16(月) 18:26:19ID:???0231nobodyさん
2007/04/16(月) 18:29:11ID:???0232nobodyさん
2007/04/16(月) 18:35:08ID:???日本語に関しては
0233nobodyさん
2007/04/16(月) 18:40:47ID:???0234nobodyさん
2007/04/16(月) 19:10:27ID:???0236nobodyさん
2007/04/16(月) 19:51:10ID:???別のサーバからFTPでアップされたjpg画像を
上書き保存されない様にmv、cpとfopenはパーミッションの問題でエラーになりました。
そこで、上記コマンド実行前にchmodを入れてみましたがやはりパーミッションの問題が…。
file_get_contentsはPHPのバージョンの問題で使えませんでした。
要は、常に上書き保存されていってしまう画像をリネームして保存しておきたいのですが
上記以外の手法でパーミッションに捕われないような手法はありますでしょうか?
0237236
2007/04/16(月) 19:57:10ID:???0238236
2007/04/16(月) 20:29:36ID:Fo/N831Cちょw誰だよwww
解決してネーよw
sageってメル欄だとID出ないんね。
メル欄空でもsagaるんかな?
0240nobodyさん
2007/04/16(月) 20:53:17ID:???それじゃ無理だろうね。FTPの方でパーミッションのread許可の対応するしかない。
FTPのユーザもあなたなら、簡単だけど。
0242nobodyさん
2007/04/16(月) 21:45:30ID:???0243nobodyさん
2007/04/16(月) 21:55:35ID:ozAmxKpX0245nobodyさん
2007/04/16(月) 22:43:26ID:???東MAX最近みないね、
0246nobodyさん
2007/04/17(火) 01:52:56ID:wSkpW1Usfunction mobile_agent(){
$agent = $_SERVER['HTTP_USER_AGENT'];
switch ($agent){
case preg_match("/DoCoMo/", $agent):
$agent = "docomo";
break;
case preg_match("/Vodafone/", $agent) || preg_match("/SoftBank/", $agent):
$agent = "softbank";
break;
case preg_match("/KDDI/", $agent):
$agent = "au";
break;
case preg_match("/DDIPOCKET/", $agent) || preg_match("/WILLCOM/", $agent):
$agent = "willcom";
break;
default:
$agent = FALSE;
}
return $agent;
}
auでアクセスすると返り値が「docomo」になります。
switch内でのpreg_matchはダメなのでしょうか?
0247nobodyさん
2007/04/17(火) 02:07:43ID:???0249nobodyさん
2007/04/17(火) 03:26:53ID:???0250nobodyさん
2007/04/17(火) 05:38:28ID:???0251nobodyさん
2007/04/17(火) 06:42:52ID:???専用のスレがあるよ
エンコード文字列だけのスレ
http://pc11.2ch.net/test/read.cgi/php/1065258181/
0252nobodyさん
2007/04/17(火) 08:52:36ID:???preg_matchの返り値って知ってる? 0か1がかえってくる。
ということは
case 0:
$agent = "docomo";
break;
とかやってくることになる。
switch使うんじゃなくてelseif使うのが良いと思われる。
0254nobodyさん
2007/04/17(火) 11:24:13ID:cz59188Tヒアドキュメント内でSIDを付加する方法はありますでしょうか?
0255254
2007/04/17(火) 11:28:14ID:???0256nobodyさん
2007/04/17(火) 11:40:27ID:???0257nobodyさん
2007/04/17(火) 11:46:09ID:cz59188T( ^ω^)お?
気を取り直して、
ヒアドキュメントでHTML部分を出力するのではなく、
<?php ?>と処理後に直接HTMLを書き、↓のように埋め込むか、
<a href="nextpage.php?<?php echo strip_tags(SID)?>">リンク</a>
もしくは、.htaccessが利用できるなら↓がスマートなんでしょうか。
php_flag session.use_trans_sid On
他にはどのような方法がありますでしょうか?御教示ありましたら宜しくお願いします。
0258nobodyさん
2007/04/17(火) 12:16:24ID:wSkpW1Usいや、位置情報取得のフォームを出力するんで、
携帯のブラウザによっても変化するからUAじゃないとダメっす
0259nobodyさん
2007/04/17(火) 12:33:54ID:IrxiH2Fq公開すると言うのが一般的だと思うのですが、
やっぱりデザインとPHPの分岐・分類って限界がありますよね?
Smartyとか使ってもやっぱり、デザイン用のHTMLにソースを埋め込むわけで。
かといってガチガチのプログラムにすると、後からデザイン面を
修正する時にしずらいし。(CSSを使っても限界あるし)
自分は各パーツをclass分けしてて、「登録内容一覧」とか表示する時は
classを使って必要情報を抽出し、whileで出力してます。
くだ質ですが、作りながら思ったので質問してみました。
0260虚弱PHP
2007/04/17(火) 13:05:48ID:???パーツ毎にきちんとテンプレートを分割するだけでも、
デザインとロジックはかなり分離できるよ。
> デザイン用のHTMLにソースを埋め込むわけで。
これは、人によってかなり差が出るところだね。
> デザイン用のHTMLにPHPのコードを埋め込んで
と似たような状態になるなら、
テンプレートエンジンを有効に使えてないと思う。
0261259
2007/04/17(火) 13:08:37ID:???テンプレートは分けてますよ。ただ、例えばSmartyの場合でも
<table>
{foreach item=list from=$list}
<tr>
<td>{$list.name}</td>
<td>{$list.date};</td>
{/foreach}
</tr>
</table>
みたいに専用のコードがテンプレートファイルにはいるので、
結局分離出来ていないような気がするんです。
Smartyを知らない人は、SmartyのコードもPHPのコードも変わらないだろうし。
0262nobodyさん
2007/04/17(火) 13:21:28ID:???それはない
0264nobodyさん
2007/04/17(火) 13:27:25ID:???それを突き詰めちゃうと完全なHTMLにするしかなくて
完全にHTMLのままでそれをパースして
コードに置き換えてくれるテンプレートエンジンもあるにはあるけど
結局それだとどこがコードに置き換わるのか
一目ではわかりづらくてそれはそれでやりづらいと個人的には思うよ
最小限のループと出力に留めるのが実際の落としどころだと思う
0265259
2007/04/17(火) 13:29:42ID:???結構知らない人多いと思いますが・・。
>>264
そうですね。自分も基本的には、パーツ毎に分けてて
includeして読み込んでいるのですが、最近それすら良いのかどうか
よくわからなくなってきました。分離するという意味で。
ただ、おっしゃるようにやっぱり限界はありますよね。
どの程度分離するか考えながらコーティングします。
アドバイスありがとうございました。
0266nobodyさん
2007/04/17(火) 13:41:55ID:???PHPで書かれたテンプレートエンジンって屋上屋を架すみたいな印象はあるね。
0267nobodyさん
2007/04/17(火) 14:06:31ID:ZbMg7dcR別にCRONが使えるサーバを契約しました。
CRONで、任意のスクリプトを任意の時間で実行することができるのは知っていて実際アクセス解析などのログ格納などに
使っているのですが、CRONから起動される(シェルスクリプトから起動される)PHPファイルの書き方で、あるページのURLをクリックしたときと同等の効果を期待することができる
スクリプトの書き方はどのようにすればよろしいでしょうか?
今やっていることは、
CRON起動→シェルスクリプトの実行→PHPファイルの実行
という流れです。
そこで、最後のPHPファイルに
<META HTTP-EQUIV="refresh" content="0;URL=http://www.example.com/test.php?param1=0¶m2=1¶m3=1¶m4=0">
という記述をしています。
流れの最後のPHPファイルや、http://www.example.com/test.php?param1=0¶m2=1¶m3=1¶m4=0
に直接ブラウザからアクセスすると、きちんと起動してくれてるのですが
CRONからの起動はうまくいっていない模様です。
0268nobodyさん
2007/04/17(火) 14:09:35ID:ZbMg7dcRhttp://www.example.com/test.php?param1=0¶m2=1¶m3=1¶m4=0 の部分は
http://www.example.com/test.php?param1=0&param2=1&param3=1&param4=0 です。
よろしくお願いします。
0269虚弱PHP
2007/04/17(火) 14:14:07ID:???> 結局分離出来ていないような気がするんです。
そういうのは「分離できてる」って表現するのが一般的だと思う。
原理主義に陥らないのが一番。
使ったことないから分からないけど、
デザイナが良く使ってるDreamweaverって
Smarty対応してるんじゃなかったっけ?
>>265
↓こんな考え方もあるみたいね。
http://kaede.to/%7Ecanada/doc/mvc2-framework
0271nobodyさん
2007/04/17(火) 15:34:18ID:???ラッパー関数でも作らないとダメ?
0272nobodyさん
2007/04/17(火) 15:47:30ID:???そら<meta>タグを出力しても動かないだろう
出力された<meta>タグを解釈して、動かすのはクライアント側の機能なんだから
PHPの設定にもよるけど、これでいけるだろう
別にreadfileでなくてもいいけど
readfile("http://www.example.com/test.php?param1=0¶m2=1¶m3=1");
0274nobodyさん
2007/04/17(火) 19:16:53ID:teAF4U4F$temp = array('a','b','c');
echo $temp[2]; // OK
echo array('a','b','c')[2]; // NG
3行目のNGですが、1行で出力するにはどうすればいいでしょうか?
0276nobodyさん
2007/04/17(火) 19:25:41ID:???0277nobodyさん
2007/04/17(火) 19:26:58ID:iyno4+7x$temp = array('a','b','c');
echo $temp[2];
を1行で、というか1文で書きたいってこと?
0278nobodyさん
2007/04/17(火) 19:34:59ID:iyno4+7x{
return $array[$key];
}
echo array_pick(array('a', 'b', 'c'), 2);
とかやるしかないかも。
0280nobodyさん
2007/04/17(火) 19:47:39ID:???0281nobodyさん
2007/04/17(火) 19:50:13ID:6MazO8z/エラーが出て起動前に終了してしまいます。
OSはWindowsXPで、PHPはphp-5.2.1-Win32です。
apacheはC:\Apacheフォルダにインストールしました。
httpd.exe: Syntax error on line 115 of c:/Apache/conf/httpd.conf: Cannot load C:/php/php5apache2.dll into server: \x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83\x85\x81[\x83\x8b\x82\xaa\x8c\xa9\x82\xa9\x82\xe8\x82\xdc\x82\xd9\x82\xf1\x81B
Note the errors of messages above, and press the <ESC> key to exit. 17...
httpd.confのline 115は↓の通りです。
LoadModule php5_module c:/php/php5apache.dll
LoadModule php5_module c:/php/php5apache2.dll
LoadModule php5_module c:/php/php5apache2_2.dll
LoadModule php5_module C:/php/php5apache2.dll
LoadModule php5_module "C:\php\php5apache2.dll"
それぞれどれか一行を入れ替えて試しました。
どれでも同様のエラーになってしまいます。
また、色々な解説サイト様に以下のような記述を足すように書かれていますが、
解凍した段階でAddModuleの行が一行もありません。
http://allabout.co.jp/internet/database/closeup/CU20040928A/set02.jpg
AddModule mod_php5.c
この行はどこに書けばよいのでしょうか?
(現在は書いていません)
何か見当違いのことを書いていたら申し訳ありません。
ご教授お願い致します。
0282nobodyさん
2007/04/17(火) 20:09:17ID:???0283281
2007/04/17(火) 20:14:00ID:6MazO8z/phpフォルダもC直下に置いてあって、中身も解凍したものをそのまま入れています。
phpフォルダを開くと直にdllファイルがあります。
半角の確認もしました。
0284nobodyさん
2007/04/17(火) 20:17:21ID:???0285281
2007/04/17(火) 20:23:42ID:6MazO8z/apache_2.2.4-win32-x86-no_sslです。どちらも今日ダウンロードしました。
0286nobodyさん
2007/04/17(火) 20:25:09ID:???0287nobodyさん
2007/04/17(火) 20:28:33ID:???http://www.php.net/manual/ja/install.windows.apache2.php
0288281
2007/04/17(火) 20:45:08ID:6MazO8z/早速拝見し、↓の部分かと思ったのですが違う部分でしょうか?
Apache モジュールの使用
Apache 2.0 でモジュール版の PHP を使用するには、 以下の行を Apache 設定ファイル httpd.conf に追加してください。
例 6.6. Apache 2.0 でモジュール版の PHP を使用する場合の設定
# PHP 5 の場合
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# php.ini の場所を設定
PHPIniDir "C:/php"
これを足してみたのですが、やはり同じエラーがでます。
それともそういう問題ではなくヴァージョンが合っていないということでしょうか??
0289nobodyさん
2007/04/17(火) 21:06:11ID:teAF4U4Fあ、そうなんですか
>>277
そうです
>>278-279
なるほど。。。そうなんですか。分かりました。ありがとうございます。
>>280
あなたには理解できないでしょうねぇ、残念ながら。
0291nobodyさん
2007/04/17(火) 21:22:28ID:???0292nobodyさん
2007/04/17(火) 21:36:15ID:???0293nobodyさん
2007/04/17(火) 21:38:08ID:???0295nobodyさん
2007/04/17(火) 23:10:20ID:???0296nobodyさん
2007/04/18(水) 00:15:19ID:???あ、傷ついちゃいました?
>>294
簡単に言うと>>290はオブジェクト指向の発想ができないということですw
0297nobodyさん
2007/04/18(水) 00:16:57ID:???0298nobodyさん
2007/04/18(水) 00:21:17ID:???0299nobodyさん
2007/04/18(水) 00:42:13ID:???それはどうしても
echo array('a','b','c')[2];
と書かなければいけないものなのか?
0300nobodyさん
2007/04/18(水) 00:50:01ID:???と言う書き方が通ったから、他でもやりたいって気持ちは分かるよ。
0301nobodyさん
2007/04/18(水) 00:51:37ID:???0302nobodyさん
2007/04/18(水) 01:03:57ID:???てやりたい時はある
0304nobodyさん
2007/04/18(水) 02:24:40ID:???が、でPHP5できるようになったから、
PHP6では>>302ができるようになるはず!
0305nobodyさん
2007/04/18(水) 02:45:15ID:???0306nobodyさん
2007/04/18(水) 03:09:10ID:???0307nobodyさん
2007/04/18(水) 06:15:48ID:2pczTFS7いくつか関数を調べたのですが
どれも失敗しました。
他に何か方法は無いでしょうか?
phpのバージョンは4.2.3です。
$html=domxml_open_file($url);
同一行を指示した同じようなwarningが沢山でて使えませんでした。
$html=fopen($url,"r");
Noと言われる。
$html=implode("",file($url));
bad argument
$html=file_get_contents($url);
undefined function
0309307
2007/04/18(水) 06:48:07ID:2pczTFS7//$html=file_get_contents($url);
//$html=fopen($url,"w");
//$html=implode("",file ($url));
//$html=domxml_open_file($url);
$text=strip_tags($html);
print $text;
です。//をそれぞれ外して出たエラーは
$html=file_get_contents($url);
Fatal error: Call to undefined function: file_get_contents() in c:\phpdev\www\ereg.php on line 21
$html=fopen($url,"w");
Warning: fopen("http://en.wikinews.org/wiki/33_dead%2C_15_injured_in_Virginia_Tech_University_shootings", "w") - No error in c:\phpdev\www\ereg.php on line 24
$html=implode("",file ($url));
Warning: file("http://en.wikinews.org/wiki/33_dead%2C_15_injured_in_Virginia_Tech_University_shootings") - No error in c:\phpdev\www\ereg.php on line 26
Warning: Bad arguments to implode() in c:\phpdev\www\ereg.php on line 26
0310307
2007/04/18(水) 06:54:18ID:???は行数制限でそのままコピペできないので意味のありそうなとこを
クリップします。
Warning: http://en.wikinews.org/wiki/33_dead_15_injured_in_Virginia_Tech_University_shootings:234: in c:\phpdev\www\ereg.php on line 19
Warning: error: in c:\phpdev\www\ereg.php on line 19
Warning: Entity 'nbsp' not defined in c:\phpdev\www\ereg.php on line 19
Warning: e='submit' name="go" class="searchButton" id="searchGoButton" value="Go" />&nbs in c:\phpdev\www\ereg.php on line 19
Warning: ^ in c:\phpdev\www\ereg.php on line 19
Warning: Entity 'reg' not defined in c:\phpdev\www\ereg.php on line 19
Warning: ons Attribution 2.5 License unless otherwise specified.
WikinewsR in c:\phpdev\www\ereg.php on line 19
Warning: Opening and ending tag mismatch: br and li in c:\phpdev\www\ereg.php on line 19
Warning: ource="http://web.resource.org/cc/DerivativeWorks"/> -->c:\phpdev\www\ereg.php on line 19
Warning: Premature end of data in tag 0.064 secs. --> in c:\phpdev\www\ereg.php on line 19
0311nobodyさん
2007/04/18(水) 07:23:21ID:???0312nobodyさん
2007/04/18(水) 07:55:03ID:???0313nobodyさん
2007/04/18(水) 08:00:50ID:???携帯だから細かくかけないけどとりあえずwはねえだろ
0314nobodyさん
2007/04/18(水) 08:15:20ID:???rでやっても同じでした。
0315nobodyさん
2007/04/18(水) 09:15:02ID:???>>Fatal error: Call to undefined function: file_get_contents() in c:\phpdev\www\ereg.php on line 21
まずもって、この意味もわからんやつが、domxml_open_fileなんぞという関数を使おうと思うな。
0316nobodyさん
2007/04/18(水) 12:06:59ID:???print $text;
せめてfopenぐらいは勉強してから質問しる
0318nobodyさん
2007/04/18(水) 15:16:23ID:???<?php
$url = "http://www.google.com/";
$list = file($url);
foreach ($list as $val) {
echo htmlspecialchars($val);
}
?>
</pre>
0319nobodyさん
2007/04/18(水) 15:54:19ID:???スクリプトだけ書いて一切言葉しゃべらない人いるよね
まじキモイんですけど…
0320nobodyさん
2007/04/18(水) 16:00:42ID:???立場を弁えろ
おめーのほうがきもいんだよ
0322nobodyさん
2007/04/18(水) 16:03:55ID:???それすら理解できないならPHPなんてやらないほうがいいよ。
0323nobodyさん
2007/04/18(水) 16:04:24ID:???何百の言葉よりも簡潔なコードがどれほど雄弁に語っているかがわからないその感性に。
0324307
2007/04/18(水) 16:08:19ID:2pczTFS7レスどうも。
fileは
wikinewsでは使えないみたいです。
結局fsockopenでやりました。
0330nobodyさん
2007/04/18(水) 16:25:49ID:???>>326はPHPについて興味津々で話題に入れて欲しくてたまらないけど、
コードは読めないしああいうことしか言えないんだから、
そっとしておいてあげようじゃないか。
0331nobodyさん
2007/04/18(水) 16:39:23ID:???お前、無償で役立つアドバイスをしてもらえることがどれ程有難いことか分かってないのか?
そんな甘ったれた考えだと社会に出てから苦労するぞ
(つーかどこにもそんなこと言われてねーし)
0333nobodyさん
2007/04/18(水) 16:43:29ID:???社会人が平日のこんな時間にこんなスレに張り付いてるわけない。
社会人ぶったニート乙。
>>333
ニート乙
0335nobodyさん
2007/04/18(水) 16:47:57ID:???ここまでテンプレ。
では次の質問者の方どうぞ。
0336nobodyさん
2007/04/18(水) 16:54:21ID:???としか想像できないやつも滑稽だな。
そこまでして忠告に対して耳をふさぎたいのか。
0337nobodyさん
2007/04/18(水) 16:58:00ID:???まぁ社会人ならこの時間にレスしてる確率なんてかなり低いけどな。
夜勤とか夜の仕事とかいくらでも言い訳はあるが。
あと忠告とは言わない。ただの余計なお世話。
回答者にかみついてる方がよほど滑稽。
答える気ないならいちいちレスしなくていいからROMっててよ。
はいはい次次。
0338nobodyさん
2007/04/18(水) 17:10:46ID:???_____________________________
∩___∩
| ノ ヽ
/ ● ● |
| ( _●_) ミ
彡、 |∪| 、`\
/ ヽノ \
~~~~~~~~~~~~~~~~~~~~~~~~
ここまであまさず読んだ
0339nobodyさん
2007/04/18(水) 17:13:21ID:s4cVlRv3編集画面でコンボボックスを使う方法がわかりません(><
0340nobodyさん
2007/04/18(水) 17:19:38ID:???もっと謙虚にならないとだめだぞ。
質問スレで回答者に対して敬意を払うのは当たり前。
「初歩から勉強すること」と言われただけで上から見てるとか偉そうだとかいうのは
勘違いもいいところ。一言で言えば「立場を弁えろ」。
初歩から勉強することの大事さが分かってないのかな。
基本を知らないで正解だけ教えてもらっても後々それ以上に苦労するもんだよ。
実際PHPの知識量では下なんだから仕方ないだろ。
上から見られた悔しさをばねに学べばいい。
というかそうしないと永遠に下のままだ。
本筋と関係ないところで個人攻撃して憂さ晴らしても何も良い方向には進まんよ。
0341nobodyさん
2007/04/18(水) 17:28:06ID:???>>337
社会人になればわかるが、平日に休むことは割りとある。
振り替え休日やシフト勤務、有給に体調不良、理由はいくらでもある。
加えて、平日の昼間にだって(本当は良くないが)2ちゃんに書き込みする暇なんざ
少なからずある。
まあ、社会人になればわかるさ。
0342nobodyさん
2007/04/18(水) 17:31:18ID:???自分の考えを他人に押し付けるのはよくない。
勉強の仕方なんて千差万別。
あと話がズレすぎ。
そもそも>>326みたいなレスをするのが悪いんでしょ。
ここが何のスレかをもう一度考えたほうがいい。
0344nobodyさん
2007/04/18(水) 17:42:10ID:???社員でシフトって鯖管ぐらいじゃないの?
このスレ見てる大半がIT関連企業で働いてるっていう認識が間違ってるのか?
0345nobodyさん
2007/04/18(水) 18:02:13ID:???0346nobodyさん
2007/04/18(水) 18:09:51ID:???そんな俺はまさに今仕事中な駄目社員ですけど…
0347341
2007/04/18(水) 18:16:19ID:???んなこたあない。
保守対応とかで24時間待機とかの場合、プロジェクトメンバの中でシフト体制を組む。
後は客先の事情に合わせたりする場合もあるし、鯖管だけとは限らないよ。
でかいプロジェクトだと一ヶ月くらいは24時間待機になったりするね。
あと、なんか新規機能のリリースとかでも監視対応でシフトになったりするな。
で、
>このスレ見てる大半がIT関連企業で働いてるっていう認識
んなこたあなかろ。
0348nobodyさん
2007/04/18(水) 18:29:29ID:???LIKE%-%でなぜかない文字が検索される。
「草」と検索すると「石」もヒットする。
確認できてるのはこれだけなのだけど、なんでなのかな?
0349nobodyさん
2007/04/18(水) 18:31:10ID:???社会人 6割
ttp://jimaku.in/w/TjCXdlPQraI/N_Xj1b_hnVz 1割
0350nobodyさん
2007/04/18(水) 18:32:53ID:???ぐぐれよ
http://www.google.co.jp/search?hl=ja&rls=GFRC%2CGFRC%3A2007-02%2CGFRC%3Aja&q=mysql+%E3%82%B9%E3%83%AC&lr=
http://www.google.co.jp/search?hl=ja&rls=GFRC%2CGFRC%3A2007-02%2CGFRC%3Aja&q=mysql+2ch&lr=
0351nobodyさん
2007/04/18(水) 18:56:31ID:???0353nobodyさん
2007/04/18(水) 19:40:49ID:???どもです。そっちで聞いてきます。めんぼくないです。
0356nobodyさん
2007/04/18(水) 23:15:28ID:???ftpでフォルダにうpするだけで勝手に閲覧できるようにしたいんですがあとは↑だけなのにやり方がわかりませんぬ
0358nobodyさん
2007/04/19(木) 00:12:44ID:???書いてることがよくわからないので見当違いかもしれないが、
マニュアルのreaddirの例479じゃない?
例479の
echo "$file\n";
を、
echo "<a href=\"{$file}\">{$file}</a><br>\n";
とかにすればいいんじゃないかと。
0360nobodyさん
2007/04/19(木) 01:59:37ID:???それはApacheのindexesがオンになってたらの話だろ。
セキュリティ上普通はオフにしてある。
htaccessが使用可能ならindexesをオンにできるが、
そうなるとスレ違いだ。
0361nobodyさん
2007/04/19(木) 03:45:01ID:???Javaみたいに1クラス1ファイルで書いてらっしゃる?
そもそもクラスなんて書かねぇ、てのは無しで
0362nobodyさん
2007/04/19(木) 04:00:05ID:???何らかのオブジェクトとそのコレクションを収めるためのクラスとかね。
0363nobodyさん
2007/04/19(木) 08:33:00ID:???数クラスで完結するような小規模スクリプトは一ファイルですましちゃうけど。
0364nobodyさん
2007/04/19(木) 10:01:37ID:hqZ1gGO60366nobodyさん
2007/04/19(木) 11:06:01ID:???<p>なんたらかんたら</p>
<?php include('footer.php'); ?>
とするより、1つのPHPファイルにまとめて
<?php include('chinko.php'); printHeader(); ?>
<p>なんたらかんたら</p>
<?php printFooter(); ?>
ってやるほうが賢い選択でしょうか?
教えてエロイ人
0367nobodyさん
2007/04/19(木) 11:07:26ID:???0368nobodyさん
2007/04/19(木) 11:16:12ID:???0369nobodyさん
2007/04/19(木) 11:16:39ID:hqZ1gGO6パス間違ってないのに関数がFALSE返してコピーされないのよ。
ちなみにwindows版。
0370虚弱PHP
2007/04/19(木) 11:19:49ID:???0371nobodyさん
2007/04/19(木) 11:53:40ID:???245バイトまでOKだったな。
多分windowsの制限じゃないの?
0372nobodyさん
2007/04/19(木) 12:23:32ID:suDQqd220375nobodyさん
2007/04/19(木) 12:37:41ID:???の場合、<?php 〜〜〜 ?>をエスケープするだけでいい?
(しないとPHPコードが実行されるような状態)
ちなみにタグOKなのでhtmlspecialcharsはしません
0376nobodyさん
2007/04/19(木) 12:56:30ID:???http://pc11.2ch.net/test/read.cgi/php/1164617202/377-
>>375
index.phpに書き込んで表示の意味が分からない
0377nobodyさん
2007/04/19(木) 13:08:25ID:???つlast_insert_id
PHP固有の話ではないのでスレ違いだな。
さらに話を続けたければMySQLのスレに行くべし
0378nobodyさん
2007/04/19(木) 13:19:55ID:???index.phpが投稿内容を表示するページってことか?
んで投稿内容にPHP開始タグがあるとPHPが実行されるからエスケープするって?
0379nobodyさん
2007/04/19(木) 13:35:51ID:WBNGWxYVclass化して、用途に応じてそのclassを実行しているのですが、
複数ファイル内に同じソースの結構があって、このclass処理の部分を
まとめるか否かで悩んでいます。
まとめる=関数にすると言ったイメージがあるのですが、
そもそも関数をまとめているのがclassなわけで、なんか変だと思います。
ただ、共通するclassの部分は別ファイルにして、requireするだけで
良いのかな?とも思いますが、それで良いのかどうかも迷います。
文章では伝わりにくいかもしれませんが、アドバイスいただければ助かります。
0380nobodyさん
2007/04/19(木) 13:36:54ID:???複数ファイル内に同じソースの結構があって ↓
複数ファイル内に同じソースの箇所が結構あって
0381nobodyさん
2007/04/19(木) 13:55:12ID:???間違えている。まーでもPHPは貧弱だから止むを得ないことも...
0382375
2007/04/19(木) 14:08:54ID:???>>378
投稿された文字列をログに入れてecho で表示するんじゃなくて、
PHPファイルに直接書き出すので、
<?php "ああああああああ"?>と入力されると
あああああああが表示されてしまう状態
この場合、PHPがコードとして評価されるのを防げば、
PHP的なセキュリティはOKですか?
0383nobodyさん
2007/04/19(木) 14:10:02ID:???それを実装するための手段として関数だろうがクラスだろうが何でも構わない。
自分にとって便利な方法使えばいいと思うよ。
0385375
2007/04/19(木) 14:29:40ID:???過去ログ機能をそなえた実にすばらしいアイデアなんですよ
書き込むファイルは日付けを元にしたファイル名なので、
日付けが変わるとファイルが切り替わって過去ログになる
いちいち作り直さなくてもOK
20070419.php
<!--ヘッダ部分-->
わたしの掲示板です
あなたは<?php /*カウンタのコード*/ ?>番目のPHP大好きっ子です!
<!--ここから投稿内容 追記モードで書き込む-->
〜〜〜
〜〜〜
〜〜〜
0387nobodyさん
2007/04/19(木) 14:52:31ID:???>>375はindex.phpを書き換えるって書いてるから別人だろう
htmlを書き換えるなら分かるがなぜphpを書き換える必要があるのか理解に苦しむが
0388虚弱PHP
2007/04/19(木) 15:14:29ID:???まあ、「タグOKなので」の時点で多分XSSし放題。
0389364
2007/04/19(木) 15:16:34ID:hqZ1gGO6どうしようもないので、こんな関数作ってみたら成功。
function excopy($src, $dst)
{
exec("copy \"{$src}\" \"{$dst}\" 2>&1", $ary, $ret);
return ($ret == 0) ? TRUE : FALSE;
}
性能には全く変わらず。
phpの内部でパスのバッファが256バイトぐらいの固定長なのかねぇ?
0390虚弱PHP
2007/04/19(木) 15:17:30ID:???> まとめる=関数にすると言ったイメージがあるのですが、
> そもそも関数をまとめているのがclassなわけで、なんか変だと思います。
ここら辺の認識がちょっと違うような気がする。
classをclassとして有効に使うというより、
単なるネームスペースみたいなものとして使ってるんじゃないかな。
0391nobodyさん
2007/04/19(木) 15:18:19ID:RzPJY5VSユーザー登録で”半角英数字のみ”という判定をしたいのですが、どのように判定すればいいでしょうか?
よろしくお願いします。
0392nobodyさん
2007/04/19(木) 15:20:29ID:???正規表現で対応可能。
専用のスレがあるから、次からはそっちで。
if(preg_match("/[^a-zA-Z0-9]/",$str)){
半角英数字以外があった時の処理
}
0393391
2007/04/19(木) 15:22:08ID:RzPJY5VSありがとうございました。さっそく試してみます。
0394虚弱PHP
2007/04/19(木) 15:32:45ID:???よくわからないので、簡単に調べてみた。
Windowsではフルパスが
MAX_PATH 260
で定義されてて、
PHPのソースでもそのまま使ってるみたい(たぶん /main/php.h)。
execだとOSがショートファイル名使ってるのかもしれないね。
0396379
2007/04/19(木) 16:07:02ID:???例えば、「データベースに登録している特定の情報を出力するclass(又は関数)」
があったとして、それをlist.phpでもsearch.phpでも使用している。
という事に関してこれで良いのか否か悩む時があります。
list.phpでもsearch.phpでも同じコードを書くわけですから、classの意味があるのかと。
自分にとってはclass化(モジュール化)してだいぶ効率が上がったのですが、
更に効率が上がる方法はないかと思い、質問した次第です。
>>390
その判断が正直わかりません。他者のコード(例えばXOOPSやphpbbなど)
を見ても、同じコードが出てくる箇所は結構あるし。
周りに聞ける人間がいないので、自分のコード・組み立て方は正しいのか
どうか迷う時があります。WEBシステムとして動けば良いのでしょうが。。
0397nobodyさん
2007/04/19(木) 16:15:17ID:???状況がよくわからないけど、ほとんど同じ振る舞いをするバリエーションであれば、
共通部分を括りだして基底クラスを作って、改めて既存のクラスをそこから派生させてやればいいのでは?
0398虚弱PHP
2007/04/19(木) 16:52:24ID:???もうちっと具体的にならないと、
どう設計したらいいかのアイデアは出てこないと思う。
例えば、こういった感じのふたつの処理があるとする。
1) update.php(更新→リスト表示)
2) list.php(リスト表示)
この場合、リスト表示は同じ処理になっちゃう。
でも同じ処理なんだから共通化したいよね。
そしたら処理を細分化して、
1. function update()
2. function list()
1)' 1を呼ぶ → 2を呼ぶ
2)' 2を呼ぶ
とすることで解決。
ここら辺はできてるんじゃないかな?
MVCフレームワークだと1)'や2)'がControllerだね。
1や2がModel。
1)'' 1を呼ぶ → 2を呼ぶ → 表示処理
2)'' 2を呼ぶ → 表示処理
とすると一応MVC。
で、>>396 は何に悩んでいるかだ。
0400nobodyさん
2007/04/19(木) 16:58:19ID:???0401虚弱PHP
2007/04/19(木) 17:06:06ID:???Mojaviで言うActionChainになると思う。
で、ActionChainみたいなのはContollerより上位の考え方だし、
Controllerよりもっと基本レベルで、
(例えば)入力の標準的なValidatorを通したいとか、
権限によって処理を実行するかしないかみたいな、
振り分けをしたいと思うようになる。
そうしたら、Javaで言うServletコンテナみたいなコンテナを用意して
そこら辺の処理をやらせたり。
…とここら辺で俺は満足しちゃったんだけど。
0402379
2007/04/19(木) 17:08:05ID:???詳しくご説明ありがとうございます。
例えば
a)function memberData(); //会員情報を表示
b)function bbsData(); //掲示板の書き込み内容
c)function categoryData(); //カテゴリ
があるとします。この基本セットは
登録一覧表示(list.php)や検索表示(search.php)
など、一般的にしようするとします。
しかし、list.phpにdが出てきた場合はどうするか?list.phpにdの関数(又はclass)
だけ追加してやればいいのか?もしくは、外部ファイルに分けて読み込むように
した方が良いのか?と言うのが悩みです。
398さんの例で言うと (共通した3を追加する場合)
1を呼ぶ→2を呼ぶ→3を呼ぶ
2を呼ぶ→3を呼ぶ
で良いのかな?と思うわけです。わかりづらかったらすみません。
0403nobodyさん
2007/04/19(木) 17:08:41ID:???0404nobodyさん
2007/04/19(木) 17:11:07ID:???やっぱり同じクラスを2つのページに書いてるの?
処理a, b, c, dがあるクラスを両ページでincludeすればいいんじゃないでしょうか?
0405379
2007/04/19(木) 17:15:28ID:???そうですね。例えば一覧表示(list.php)の場合は検索のclassはいりませんが、
>>402の例で言うと、a〜cまでのclass(関数)は使っています。
そして検索用のファイル(search.php)では、検索用のclass(例ではd)
を追加している。といった感じです。
現在は両ページでincludeしているのですが、a〜cまでは共通しているので
更にa〜cまでまとめてincludeした方が良いのかな?と言うのが悩みです。
0406nobodyさん
2007/04/19(木) 17:20:55ID:???関数集としての使い方しかしてないみたいだし、普通にfunctions.phpにでも関数入れて
各ページで読み込ませることにしたほうがいいんじゃね?
んでこれが終わったらオブジェクト指向・設計とかクラスとかについて勉強するといいと思われ。
0408nobodyさん
2007/04/19(木) 18:37:31ID:???0409379
2007/04/19(木) 19:02:47ID:???オブジェクト指向化していると思うのですが、
自分の思う基準が一般的な基準と違うかもしれませんし。
アドバイスいただいた方、ありがとうございました。
0410虚弱PHP
2007/04/19(木) 19:07:32ID:???まあ、class使ってカプセル化する事がオブジェクト指向ではないので。
(といいつつ、定義は難しいよね)
デザインパターンとか勉強してみるといいかも。
0411nobodyさん
2007/04/19(木) 19:26:32ID:???変数がそのまま残るってこと?
だったら消えてくれたほうが使いやすい
0412nobodyさん
2007/04/19(木) 19:29:19ID:???0413nobodyさん
2007/04/19(木) 19:36:20ID:JjAom0RF特定のクラスを使えるようにしたいのですが、
なんかそういう方法ありますか?
パスとおすみたいなことができればおしえていただきたいです。
0414nobodyさん
2007/04/19(木) 20:08:09ID:E0JBJHfw上記の文字列の、「12345678901」の部分を取得したいのですが、
$ascii="DoCoMo/2.0 YYYY(c10;ser12345678901; icc12345678901234567890)";
preg_match("/ser(.*);/",$match,$agent);
でマッチしないです。
"/ser\d{15};/"
も試してみたのですが同じです。
この部分はどのような文でマッチさせるのがベストなのでしょうか?
0415nobodyさん
2007/04/19(木) 20:27:19ID:???するけど?
ていうかなんかおかしいぞ。変数が。
$ascii="DoCoMo/2.0 YYYY(c10;ser12345678901; icc12345678901234567890)";
if (preg_match("/ser(.*);/", $ascii) {
echo "match";
}
0416415
2007/04/19(木) 20:28:24ID:???if (preg_match("/ser(.*);/", $ascii) {
↓
if (preg_match("/ser(.*);/", $ascii)) {
0417nobodyさん
2007/04/19(木) 20:29:58ID:E0JBJHfwあー
比較する変数と比較した結果が格納される変数を
書く場所が逆でした
ありがとうございます
0418nobodyさん
2007/04/19(木) 21:11:25ID:g61ARuJQphp5を使っています。
先ほどCall to undefined function: array_combine() とエラーが出てしまいました。
sqliteは使えるのでPHP5はインストール出来ていると思います。
何か設定がいるのでしょうか?
ちなみに、同じプログラムは自宅の環境では動いています。
0419nobodyさん
2007/04/19(木) 21:14:24ID:???http://jp.php.net/manual/ja/language.oop5.autoload.php
0422nobodyさん
2007/04/19(木) 22:01:09ID:3qk/G7nZselect * from table where 1;
とかして、1回のクエリで全部取得して、配列などを駆使して頑張って表示するか、
select column from table where group = 1;
みたいなクエリを数回実行して、
数回にわたり、クエリ送信→結果取得・表示を繰り返すのは、
どちらが一般的な方法なのでしょうか?
あと結果取得する際は、fetch_assocやfetch_objectなど
さまざまな関数がありますが、どの関数を使うのが一般的ですか?(もちろん用途によるでしょうが)
0424nobodyさん
2007/04/19(木) 22:10:07ID:???大抵の場合は速いのでDBへのクエリ発行は基本少なくした方が良い
配列でとるかオブジェクトでとるかは好みでいいと思うが
最初は配列でいいんじゃないかな
0425nobodyさん
2007/04/19(木) 22:11:20ID:3qk/G7nZ具体的にテーブルの構成は、
ID, GROUP(int), NAME(char), DESCRIPTION(char)ってかんじで、
GROUP別にNAMEとDESCRIPTIONを表示するだけなんですけど、
イメージとしては
<table>
<tr>
<td rowspan="3">Group1</td>
<td>Name</td><td>Description</td>
</tr>
<tr>
<td>Name</td><td>Description</td>
</tr>
<tr>
<td>Name</td><td>Description</td>
</tr>
</table>
ってかんじです。
#だいぶスレ違いすみません。
0426nobodyさん
2007/04/19(木) 22:15:09ID:3qk/G7nZレスありがとうございます。
>SQLが複雑になっても1回のクエリにした方が
>大抵の場合は速いのでDBへのクエリ発行は基本少なくした方が良い
やっぱそうですよねー
まだ1度で全てやったことはないので勉強がてら頑張ってやってみようと思います。
>配列でとるかオブジェクトでとるかは好みでいいと思うが
ではオブジェクト慣れしてないので配列で頑張ってみます。
0427nobodyさん
2007/04/19(木) 22:26:41ID:???0428nobodyさん
2007/04/19(木) 23:40:32ID:0KeZVqYASimpleXMLのasXML()を使ってxmlファイルを作成する際に、
インデントさせた形でxmlファイルに書き込むにはどうすればよいですか。
$xml = simplexml_load_file('example.xml');
$a = $xml->addChild('a');
$b= $a->addChild('b', 'hoge');
$c = $a->addChild('c','fuga');
$xml->asXML('example.xml');
example.xml:
<a><b>hoge</b><c>fuga</c></a></a>
↑これを
<a>
<b>hoge</b>
<c>fuga</c>
</a>
↑このように整形した形でファイルに
書き込見たいのです。
0430nobodyさん
2007/04/19(木) 23:47:20ID:???0431428
2007/04/20(金) 00:07:56ID:b3irjh4Dすばやいレスありがとうございます。
仕様なら仕方ないですね。
ほかの方法であたってみます。
ありがとうございました。
0432nobodyさん
2007/04/20(金) 00:09:40ID:???grepで確認してSimpleXMLElementからオーバーライド
0433nobodyさん
2007/04/20(金) 00:19:50ID:SGW4zUZisession.gc_probability, session.gc_divisor の設定では
自動で GC が行われないということですが、
/var/tmp // 自動で GC される
/home/usr/tmp // 自動で GC されない
という解釈でよいのでしょうか?
0434nobodyさん
2007/04/20(金) 00:31:36ID:???DomDocument->dump_file()なら第一引数をTRUEにすれば
整形されるらしいから、そっち使えば
0435nobodyさん
2007/04/20(金) 01:19:08ID:???array(
array('a', '1'),
array('b', '2'),
array('x', '5')
)
と言う配列を手っ取り早く
array(
'a' => '1',
'b' => '2',
'x' => '5'
)
にする方法はないかな?
ヨロシク!
0436nobodyさん
2007/04/20(金) 01:20:37ID:tutvnVSF0438nobodyさん
2007/04/20(金) 01:24:22ID:???0439nobodyさん
2007/04/20(金) 01:27:16ID:???010010
と
100010
を処理して
110010
という感じの処理をしたいのですが、これをなんと言うのですか?
またやり方を知りたいです。
ビットを立ててフラグを管理するようなのを見るのですが、やり方がわかりません。
0441nobodyさん
2007/04/20(金) 01:46:45ID:VuqLwFSH沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…
※一国二制度
簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
(つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。
今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
0442nobodyさん
2007/04/20(金) 01:49:49ID:???XMLってエラーあるとページ表示されんのかな?
0443nobodyさん
2007/04/20(金) 01:51:30ID:???0444442
2007/04/20(金) 01:57:19ID:j6HhIKSH>>443
CSV形式のファイルをPHPを使ってXMLに書き出そうと思うのですが、
なかなかうまいこといかずに苦戦中・・・
XML宣言してるのに形式が.phpだから表示されなかったり・・・
0445nobodyさん
2007/04/20(金) 02:01:22ID:???そりゃ当たり前だ。
htaccessで拡張子phpをxmlとして動作させるようにしないと。
phpでechoでxmlを出力してるなら、headerでxml指定すればいい。
0446nobodyさん
2007/04/20(金) 02:03:50ID:j6HhIKSH.xmlで実行させてみたんだけど
宣言の<?xml〜?>がPHPとして認識されてしまう・・・
とりあえずヘッダーで出力してみることにします
0447nobodyさん
2007/04/20(金) 02:08:58ID:???ビット演算
>>440
ちゃうよ
>>446
別に妥当なXML文書が出力できてればPHPで実行しようと問題ないだろ
0448nobodyさん
2007/04/20(金) 02:09:34ID:j6HhIKSH- <rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">
- <channel>
- <item>
<title>最新データをXMLで出力</title>
<link>http://www.yahoo.co.jp/</link>
<pupDate>2007/4/20</pupDate>
</item>
- <item>
<title>CSVで保存してPHPで出力</title>
<link>http://www.yahoo.co.jp/</link>
<pupDate>2007/4/19</pupDate>
</item>
- <item>
<title>XMLでも出力</title>
<link>http://www.yahoo.co.jp/</link>
<pupDate>2007/4/18</pupDate>
</item>
- <item>
<title>役にたつかな?</title>
<link>http://www.yahoo.co.jp/</link>
<pupDate>2007/4/15</pupDate>
</item>
- <item>
<title>オナかすいた</title>
<link>http://www.yahoo.co.jp/</link>
<pupDate>2007/4/13</pupDate>
</item>
</channel>
</rss>
0449nobodyさん
2007/04/20(金) 02:10:07ID:j6HhIKSH更新ボタン押すたびに
XML ページを表示できません
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
--------------------------------------------------------------------------------
指定したエンコードはシステムでサポートされていません。リソース 'http://localhost/XML/make.php' の実行エラーです。
というページが表示されるが・・・orz
0450nobodyさん
2007/04/20(金) 02:11:27ID:???0451nobodyさん
2007/04/20(金) 02:13:37ID:???0454nobodyさん
2007/04/20(金) 02:16:09ID:tutvnVSF元のは必ず多次元配列になるんでarray_flipは使えないモヨリ。
0455nobodyさん
2007/04/20(金) 02:17:56ID:???キー部分が変えられなかった。
0456nobodyさん
2007/04/20(金) 02:20:02ID:???<?php
header('Content-Type: application/xml; charset=utf-8');
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
?>
<rss>
</rss>
0457nobodyさん
2007/04/20(金) 02:21:30ID:j6HhIKSHあー、
なるほど、charsetのところに文字コードの変数じゃなくて別の変数を当てはめていたのが原因でした
0458nobodyさん
2007/04/20(金) 02:22:09ID:???0459nobodyさん
2007/04/20(金) 02:22:38ID:j6HhIKSHちなみにこんなコードになってます
http://www.dotup.org/uploda/www.dotup.org2686.txt
こりゃおかしくなるわwwwwwwww
0461nobodyさん
2007/04/20(金) 02:25:59ID:???0462nobodyさん
2007/04/20(金) 02:26:32ID:j6HhIKSH0464nobodyさん
2007/04/20(金) 02:37:42ID:???xhtml使ってる身としてはいちいち書くのだるい・・・
0465nobodyさん
2007/04/20(金) 02:38:03ID:j6HhIKSHあー・・・
リファレンスにはxmlファイル取得と解析関係のしか載ってなくて
xml出力の関数もあるんですかorz
0466nobodyさん
2007/04/20(金) 02:44:24ID:???0467418
2007/04/20(金) 03:07:22ID:/zvZod/Nphp4.4.6でした・・・。
ありがとうございます。サーバにインストールしたのが
WINDOWS版で、UNIX版でなかったからでしょうか。
また奮闘して、インストールしてみます。
0468439
2007/04/20(金) 03:26:22ID:???ビット演算って言うんですね、ありがとうございます。
0101 & 0011 = 0001
0101 | 0011 = 0111
0101 ^ 0011 = 0110
~0101 = 1010
0101 << 1 = 1010
0101 >> 1 = 0010
あとは各計算方法の名前を教えて頂ければ嬉しいです。
0469nobodyさん
2007/04/20(金) 03:29:29ID:???0470nobodyさん
2007/04/20(金) 05:08:42ID:4Ur3eUeXいろいろ参考サイトみているのですが、こんな書き方がありました。
function action(){
$this->soul() and $this->weight *= 0.9;
$this->weight < $this->first_weight * 0.6
and $this->soul(true);
以下略
はじめてみる書き方なのですが、
(条件文でもなさそうなのに論理演算子や比較演算子が)
これは一体どういった意味なのか教えていただけませんでしょうか?
0472nobodyさん
2007/04/20(金) 05:55:54ID:???もっと言えば>>439は論理和。
& 論理和
| 論理積
^ 排他的論理和
~ ビット反転
<< 左シフト
>> 右シフト
あたりがポピュラーな名称かな?
シフトで切り落としたビットを逆方向から挿入するローテイトなんて演算もあるけどこれを実装している言語はほとんどない。
>>470
実はオブジェクト指向とは全然関係ない。
あまりそういう書き方はされないが論理演算子のロジックを利用した条件式。
論理積は全てが真でなければ真とならないため、偽があった時点で評価を止め、偽を返す。
論理和も同様、どれかが真であれば真となるため、真があった時点で評価を止め、真を返す。
論理和の方は「fopen() or die();」などの形でしばしば利用される。
つまりは「$this->soul() and $this->weight *= 0.9;」は「if($this->soul()) $this->weight *= 0.9;」と等価。
ぶっちゃけif文の方が条件分岐専用なので若干(本当に若干だが)効率は良い。
0473472
2007/04/20(金) 05:57:05ID:???& 論理積
| 論理和
0474375
2007/04/20(金) 05:59:38ID:???0476nobodyさん
2007/04/20(金) 06:24:51ID:???どうしたら教えてもらえのか書き方を勉強してきたほうがいいよ。
インターネットのネチケットについてのサイトをみてこい
0477nobodyさん
2007/04/20(金) 08:25:54ID:???条件分岐のつもりで書いたぽいけど
and演算は代入よりも優先順位低いから
全く意味なしコードになってる予感
and と && は違うのよ
0479nobodyさん
2007/04/20(金) 09:25:32ID:???内側の配列をマージってことだからループなりでarray_merge
>>470
if (funcA() && funcB());
Aがfalseなら式全体はfalseであることが確定するので
Bは実行されない。これを短絡演算と言う。
ifの条件式内でなくても利用できる。
0482nobodyさん
2007/04/20(金) 12:00:55ID:???それとも、ファイルの冒頭に必ずかかなければいけないとか?
0483nobodyさん
2007/04/20(金) 12:09:06ID:???0485nobodyさん
2007/04/20(金) 13:06:25ID:w/S09GXXレス遅くなりました。ありがとうございました。
おかげで解決できました。
そのままreadfile関数を使わせていただきました。
0486nobodyさん
2007/04/20(金) 13:21:29ID:???基本的には画像の重ね合わせだと思うのですが(GDだけでいける?)。。
参考になるサイトもしくは過去に作った方いらっしゃれば(途中まででも)見せていただけませんでしょうか?
0487nobodyさん
2007/04/20(金) 13:28:17ID:???0488nobodyさん
2007/04/20(金) 13:32:03ID:???昔ちょっとやろうとして面倒だからやめたけど、基本的にはあってるよ。
たとえば、基本フレーム、体、服、アクセサリを用意して、それぞれを同じ大きさであわせておく。
このとき、1色を透過色として使うので、その色はほかで使わない。
後はそれぞれを階層的に重ねていく(フレーム->体->服->アクセサリの順)
で、出力。
ただ、これを表示のたびにリアルタイムでGDでやろうと思うとごっつ重いので、
決定したときに一枚の画像で出力しておく。
という感じかな。
0489486
2007/04/20(金) 13:47:01ID:???ありがとうございます
それにしても参考になるサイトが少なすぎます…(調べ方が悪い?)
GD アバター (PHP)
ImageMagick アバター
でもでないですね…
>リアルタイムでGDでやろうと思うとごっつ重い
なるほど
参考になります。
0490nobodyさん
2007/04/20(金) 13:58:07ID:???考え方だけであとは作業的なもんだからなあ…
アバターで検索かけてもそんなピンポイントの
内容を記したところなんてそうないだろう。
やるんなら画像とか透過とか
0491nobodyさん
2007/04/20(金) 15:15:45ID:???http://jp.php.net/gd
ここに書いてあることだけで十分できるだろ
0492470
2007/04/20(金) 16:25:57ID:4Ur3eUeX皆さん教えていただきどうもありがとうございました。
確かにor die()とか似たようなものはよくみますね。
短絡演算というのですか。
あまり使われないやり方とはいえ、大変勉強になりました。
0493nobodyさん
2007/04/20(金) 17:26:43ID:???<head><title>テスト記録</title></head>
<body>
<table>
<tr>
<th>番号</th><th>名前</th><th>点数</th>
</tr>
<tr>
<td><center>1</center></td><td>鈴木</td><td>67点</td>
</tr>
<tr>
<td><center>2</center></td><td>加藤</td><td>74点</td>
</tr>
<tr>
<td><center>3</center></td><td>高橋</td><td>53点</td>
</tr>
</table>
</body>
</html>
こういうWebページがネット上にあったとして
点数が69点以下の人のみの表を表示するPHPプログラムを作りたいとき
どういう方法が良いのでしょうか
要素を配列に取り込む方法があったりするのでしょうか?
0494nobodyさん
2007/04/20(金) 17:31:04ID:???echo バカ;
}else{
echo ^^;
}
0495nobodyさん
2007/04/20(金) 17:35:25ID:???すでに作られた静的HTMLを元に動的ページにしようとしてるのか?
HTMLからデータ抽出する方法もない事もないが、
普通は事前に手作業等でデータだけを抜き出して
CSVファイルなりDBなりに保存するもんだ。
HTMLからのデータ抽出は
・表示されてるHTMLからのコピペ
・HTMLソースをテキストエディタで置換
等で大した手間でもなくできるだろ。
0496nobodyさん
2007/04/20(金) 17:58:05ID:???>>495のいうとおりデータを抜き出したものを作るのが妥当。
どうしてもやりたいのなら、
fileあたりで配列に読み込んだあと、
正規表現で該当行の必要なデータを抜き出してそれを成形して表示する。
0497nobodyさん
2007/04/20(金) 18:02:18ID:???Yamada: Taro
Suzuki: Ichiro
John: Smith
のデータが入ったテキストファイルを、
例えば、2行目のSuzuki: Ichiroを削除したり、
Suzuki: Suzukiro みたいに変更したりできますか?
file()で配列にすればいいのかと思うのですが。
0499nobodyさん
2007/04/20(金) 18:12:21ID:???0500nobodyさん
2007/04/20(金) 19:01:53ID:ebFeEZPT$a = abcde72;
この72の部分だけ変数にして取り出したいんだがどうすればいいんだ?
0501nobodyさん
2007/04/20(金) 19:05:49ID:???0502500
2007/04/20(金) 19:10:51ID:???スマソ
$a = abcdef76afrew
$a1 = '[0-9]';
$no1 = strpos($a,$a1);
$no2 = $no1 + 1;
$str = substr($str, $no1, $no2);
echo $str;
0503502
2007/04/20(金) 19:11:43ID:ebFeEZPT$a = abcdef76afrew
$a1 = '[0-9]';
$no1 = strpos($a,$a1);
$no2 = $no1 + 1;
$str = substr($a, $no1, $no2);
echo $str;
0504nobodyさん
2007/04/20(金) 19:13:03ID:???Str型ならちゃんと""or''で囲もうぜ
$a = 'abcde72';
preg_match('/[0-9]{2}/', $a, $match);
print_r($match);
[0-9]{1,}でもいいけど
0506nobodyさん
2007/04/20(金) 19:34:49ID:ebFeEZPT0507nobodyさん
2007/04/20(金) 19:36:52ID:???0508nobodyさん
2007/04/20(金) 19:43:50ID:???ソースみてると、変な参考書か適当な解説サイトっぽい粗雑な感じが見受けられる。
0509nobodyさん
2007/04/20(金) 20:38:41ID:jA1Wv9zp沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…
※一国二制度
簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
(つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。
今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
0510nobodyさん
2007/04/20(金) 21:31:53ID:2s51Ybcs平行して覚えたいんだけど
無理すれば可能かな?
0511nobodyさん
2007/04/20(金) 21:34:59ID:???0514nobodyさん
2007/04/20(金) 21:49:39ID:???またいつもの、話に入りたいけど入れなくて、
とりあえず何か言っておかないと気がすまない人ですか?
>>495の言ってることは業務でも至極当たり前。
0515nobodyさん
2007/04/20(金) 22:00:05ID:???0516nobodyさん
2007/04/20(金) 22:04:41ID:???現在位置の行数って調べることはできますか?
0517いつもの人 ◆3Htx6mDqZs
2007/04/20(金) 22:06:08ID:???> とりあえず何か言っておかないと気がすまない人ですか?
>>513は偽者
0519nobodyさん
2007/04/20(金) 22:11:53ID:???0520nobodyさん
2007/04/20(金) 22:14:04ID:???前提条件を少しは考えてから話をしたら?
"こういうWebページがネット上にあったとして"
という書き方からすると、その "ページ" とやらが一次情報なんじゃねーのか
>>507
スレタイ通りでいいんじゃまいか
0521nobodyさん
2007/04/20(金) 22:14:27ID:???そもそも行数の実体は先頭からの改行コードの数 + 1。
0522nobodyさん
2007/04/20(金) 22:20:51ID:???これが答えだな
0523nobodyさん
2007/04/20(金) 22:33:27ID:???ファイルポインタから行数取れるやり方はあるのか
と訊いてるんじゃないの?
そういう意味なら、一発でとれる方法は無いから
自分でファイルの先頭から見ていって
改行をカウントしろ、とか丁寧に書くのはスレ的に無粋ですかね
0524nobodyさん
2007/04/20(金) 22:45:50ID:???Perl用だけど基本的に同じ使い方なので役には立つはずだよ
「:: Cepheid :: - ImageMagickの使用例」
ttp://www.ss.iij4u.or.jp/~somali/web/im_example/im_example.html
0525nobodyさん
2007/04/20(金) 22:47:16ID:5u2maBIVその時点で改行をカウントできるだろ。ftell(ファイルポインタ)と同じ程度の
水準でカウントできないとでも?
0526nobodyさん
2007/04/20(金) 22:51:14ID:???ID出してないから放置してもいいのに
0528nobodyさん
2007/04/21(土) 00:29:45ID:LOF7z3oT今PHPのメンバー機能付きのスクリプトを作っているのですが・・・
例えば、メンバーデータで、メンバーが決めたユニークな英数字のID「userid」があったとして
他のデータとの結びつけや呼び出しなどをこのIDでするか、
それともこれとは別に、auto_incrementでつけた数字のIDも持たせて
裏側の処理は数字のIDでやった方が良いのでしょうか?
絶対ユニークなものであれば、英数字のIDでも問題ないでしょうか?
よかったら意見聞かせてください。
0530nobodyさん
2007/04/21(土) 01:03:45ID:???0531nobodyさん
2007/04/21(土) 01:24:03ID:???MySQLの場合
INTなら4バイト、SMALLINTなら2バイト
英数字IDの最大長は知らんが
どっちがプライマリキーに適しているかはわかるべさ
0532nobodyさん
2007/04/21(土) 01:34:08ID:???0533nobodyさん
2007/04/21(土) 01:52:04ID:???0534nobodyさん
2007/04/21(土) 01:55:59ID:4pjJu4sq0535nobodyさん
2007/04/21(土) 01:57:03ID:???0536nobodyさん
2007/04/21(土) 01:58:49ID:???つっても比較回数がたかだかO(log n)しかないんだから、
別にどっちでも大してかわらないという話もある。
ものによってはO(1)だったりするし。
それとは別にauto_incrementとかが使えるのが便利だから、
という理由でIDは整数にすることが多い。
0539nobodyさん
2007/04/21(土) 02:03:45ID:???>>537の言うことを前提とすると、
array_reverse(file("hoge.txt"));
これでhoge.txtが下の行から配列に入る。
0542nobodyさん
2007/04/21(土) 03:33:07ID:LOF7z3oT色々意見有難う御座います。
現状、useridとは別にauto_increment(userno)を持たせて内部ではこのusernoで色々やってるのですが
たまにuserid→usernoを検索したり、その逆を検索したりと言う処理が入ってくる為
それほど変わらないようでしたら、useridで処理を行うように変えてみたいと思います。
参考になりました。
0543nobodyさん
2007/04/21(土) 03:35:32ID:LOF7z3oTuseridをプライマリキーに変えようと思います。
0544nobodyさん
2007/04/21(土) 03:45:27ID:???0545nobodyさん
2007/04/21(土) 04:44:50ID:???0546nobodyさん
2007/04/21(土) 07:12:06ID:9SFJ2Fse通常の検索機能はできたのですが
-(マイナス)を付けた文字を除く機能はどうやるとよいのでしょうか?
0547nobodyさん
2007/04/21(土) 07:23:57ID:???$str = "abc123+-=";
$newstr = preg_replace('/-/', '', $str);
echo $newstr;
0551nobodyさん
2007/04/21(土) 07:51:37ID:???abc123+ -=
=入らないって事?
0552nobodyさん
2007/04/21(土) 08:05:54ID:???0554nobodyさん
2007/04/21(土) 09:33:51ID:???/-/ だって立派な正規表現だろ
0556nobodyさん
2007/04/21(土) 11:40:10ID:PuJ1NL9p個人情報+企業情報+アンケート
などの入力枠がありますが、これらの保存先はすべて同じファイル(もしくはDB)
上にした方が良いのでしょうか?それか、用途毎に分けた方が良いのでしょうか?
1つにするとファイルを分ける手間が減りますが、ログが長くなって重くなる気がします。
かといって複数に分けても処理が早くなるのかもわかりませんし・・。
0557nobodyさん
2007/04/21(土) 11:53:38ID:???一つにまとめる r + w *1
0558556
2007/04/21(土) 12:11:59ID:???と言う事は、やっぱり1つにまとめた方が、処理も早いわけですかね?
DBの場合、全部一つにするとフィールド数が多くなって、それだけ処理が
遅くなると思っていました。(前にこのスレでも言われたような・・。)
それにDBでもテキストログでも長くなると見づらいと思っていたのですが、
プログラム的には処理が早いほうが良いので、1つにまとめた方が良いですね。
0559nobodyさん
2007/04/21(土) 12:30:40ID:???正規化で検索してきてください
0560556
2007/04/21(土) 14:05:14ID:???それじゃ、やっぱり分けた方が良いのですか?
これまでは正規化を考慮して、複数テーブルに分けていました。
ただ、>>556に書いた用途だと分けた方が処理が早くなるのか遅くなるのか
よくわからなくなって、質問した次第です。
今までは、分けて、必要な時のみ情報を追加していました。
(例えば、企業情報が入力されていない場合は、
企業情報用のテーブルに追加しない など)
0561nobodyさん
2007/04/21(土) 14:14:20ID:???0562nobodyさん
2007/04/21(土) 14:17:31ID:???会員登録時に企業を選択式にでもするの?
>>556
会員登録でアンケートというと普通一過性の情報なので
こいつだけ外に出しておいた方がいいかもしれない
申し込みフォームというと「システム的に情報を再利用せず
あとは人間が読むだけ」って感じをイメージしたけど
そういう場合は一まとめにしたCSVがあると便利
0563いつもの人 ◆3Htx6mDqZs
2007/04/21(土) 14:17:31ID:???そんなに速度にこだわるのはなに?
0564556
2007/04/21(土) 14:30:49ID:???自分もそう思って質問した次第です。
>>562
そうですね。アンケートだけは分けた方が良いかもしれませんね。
確かにCSVやログに落とした時に、個人情報と企業情報が繋がっている
方がわかりやすいし、見やすいですからね。
わけると、単純にそれだけ処理の回数が増え、負荷もかかると思っていたんです。
今までは、
a)個人情報だけ入力 →memberのテーブルのみデータを追加
b)個人情報+企業情報 →memberとcompanyのテーブルのみデータを追加
c)個人情報+企業情報+アンケート
→memberとcompanyとankのテーブルにデータを追加
みたいな事をしてました。編集の時は、それぞれのテーブルに会員IDの
データが登録されているか否かを判別して。
ただ、それをすると正規化としては良いんだろうけど、見づらいし、
余計な処理も入ると思い、質問しました。
やっぱり個人情報と企業情報は一緒にします。ありがとうございました。
0565nobodyさん
2007/04/21(土) 17:52:52ID:???0566nobodyさん
2007/04/21(土) 17:58:40ID:???0567nobodyさん
2007/04/21(土) 18:11:02ID:7D1RcruIPHPで(Linuxのコマンドライン?)更新日時を古く変更などすることはできますでしょうか?
0568nobodyさん
2007/04/21(土) 18:20:42ID:vgvHFl4Rフォームを使わずにPOSTデータ送信とかできないよな
0570いつもの人 ◆3Htx6mDqZs
2007/04/21(土) 18:30:58ID:???0571nobodyさん
2007/04/21(土) 18:45:47ID:RkazuUUhSmartyってありますけど、皆さん使ってますか?
MVC実現のために便利と本には書いてありますけど
必ずしも必須ではないし、変なエラーもおおいみたいだしで気後れしつつ、
気になっている状態です。
(サンプル動かしてるけどエラー多発でイライラです)
どうなんですか?
プロとして活躍されてる人の現場では利用して当たり前なんでしょうか?
僕はシロウトです。(デザイナが幅を広げたくてphpやってます)
0573nobodyさん
2007/04/21(土) 18:54:55ID:7D1RcruIありがdです。
touch() [function.touch]: Utime failed: Operation not permitted
フォルダ777でファイル666とか変えてもエラー出まくってるけど、頑張ってみます。
0574nobodyさん
2007/04/21(土) 19:07:27ID:???0575nobodyさん
2007/04/21(土) 19:08:58ID:???0577nobodyさん
2007/04/21(土) 19:50:08ID:sL28nTPU沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…
※一国二制度
簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
(つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。
今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
0578573
2007/04/21(土) 20:24:34ID:7D1RcruIFTPでアップしたファイルだと、ファイル所有者が自分のユーザ名になってました。
面倒だけど、PHPからファイル作成して所有者apacheのファイルを作ってから
touch()でOKでした。ありがとうございました。
0580nobodyさん
2007/04/21(土) 23:30:34ID:0pUFJgAt0581nobodyさん
2007/04/21(土) 23:41:57ID:???http://www.php.net/manual/ja/
0582nobodyさん
2007/04/21(土) 23:42:14ID:Ja/OZfS8さて次は何をやったらいいんだろうか・・・
今までHTML→JS→FLASH(AS)とやってきました
付け加えるとPHPとプログラムじゃないけど
リナックスも少しかじりました
0585nobodyさん
2007/04/22(日) 00:49:17ID:J1vbWRUn0586nobodyさん
2007/04/22(日) 00:52:39ID:???0587nobodyさん
2007/04/22(日) 00:54:33ID:Du7ZfW0qありがとうございます。
よくみたら>>1に書いてあったんですね^^;
よく読まずに失礼しました。
0589nobodyさん
2007/04/22(日) 03:43:29ID:???それがJavascriptのことならば、Ajaxでググってみると勉強する必要があるかどうか判断できると思う。
0590nobodyさん
2007/04/22(日) 04:48:40ID:???0591nobodyさん
2007/04/22(日) 05:05:28ID:6BzHCPPl0592nobodyさん
2007/04/22(日) 05:30:29ID:???非同期通信してない普通のJavaScriptつかってる
サイトが増えたけどマジで勘弁してほしい
本気でうっとしいぐらいJavaScriptはちゃんと動かない
0593nobodyさん
2007/04/22(日) 05:41:10ID:???0594nobodyさん
2007/04/22(日) 06:13:24ID:???javaScriptの互換性問題は、ブラウザのベンダーもヘボだからなあ。
標準のテストケースくらい作ってそれにパスしたものだけを
リリースするって態勢を何故とれない。
0595nobodyさん
2007/04/22(日) 07:04:12ID:???そこって関数にポインタもっていくとその関数
マニュアルがポップアップしてくる。(JavaScript)
で、ポインタを関数からはずすとポップアップが
消えるんだけど30%の確立で消えずにずっと画面
に残る
ああいうのが一番イライラする
0596nobodyさん
2007/04/22(日) 09:06:59ID:???Javascriptは
オブジェクト指向の言語だからな。
HTMLをかじったくらいのやつがまともにかけるはずがない。
外出だがブラウザの互換性も面倒だし。
それにまともな書籍がペーパーバックしかないしな。
0598nobodyさん
2007/04/22(日) 09:15:48ID:???0599nobodyさん
2007/04/22(日) 11:46:47ID:b9VJcguV以下のようなエラーが出たんですが、どういう意味なんでしょう?
Warning: Smarty error: unable to read resource: "store.tpl" in C:\php\include\SMARTY\libs\Smarty.class.php on line 1095
"store.tpl"を読み込めない、Smarty.class.php の 1095行目で処理できない って意味でしょうか?
問題があるのは"store.tpl"でOKですか?
0600nobodyさん
2007/04/22(日) 12:00:24ID:???たぶん store.tpl が存在しないか、テンプレートディレクトリの指定とかが間違ってるんでしょ。
0601nobodyさん
2007/04/22(日) 12:20:47ID:ctFC3eVblist($abc,$def) = explode('/',$_SERVER['PATH_INFO']);
として、URLから ?= などを消そうと思っていますが、
www.○○○.jp/abc/def などとしてアクセスすると、
画像やCSSが読めなくなってしまいます。
(実行しているファイルの階層が変わってしまったような感じです)
原因が分からないのですが、パラメータも一つ目しか
受け取れません。
.htaccessは下のようにしています。
<FilesMatch "html$">
ForceType application/x-httpd-php
</FilesMatch>
AcceptPathInfo on
Options MultiViews
考えられそうな原因を教えてください。
0602nobodyさん
2007/04/22(日) 12:30:57ID:b9VJcguVなるほど! すぐ確認してみます!!
ありがとう!
0603nobodyさん
2007/04/22(日) 13:24:04ID:XnNxCKozブラウザの更新ボタンを猛連射すると、セッションが切れる場合があります。
HTTP リクエスト、レスポンス上の Cookie のセッション ID のやり取りには問題はないので、
サーバ側の session_start あたりのPHPの処理が追いつかないからですかね?
他にも session_regenerate_id 等を処理しています
// リロードしまくる相手は切れてしまっても問題ないとは思いますが
0604nobodyさん
2007/04/22(日) 13:43:58ID:???セッションの生存期間はどうしてる?
更新連打でセッションが切れるのは生存期間の切れたセッション
をガーベジコレクタが片付けるからだろう
0605nobodyさん
2007/04/22(日) 13:52:34ID:yrmSDayR用途が違うから出来ないんじゃないの?
>>601
言ってることが不明。
list($abc,$def) = explode('/',$_SERVER['PATH_INFO']);
でなにを取得したいの?
$a = explode('/',$_SERVER['PATH_INFO']);
print_r($a);
してごらんよ。/abc/defなら配列4個になってるはずだ。
パラメタ1つ目(abc)なのはあたりまえだし。
0606603
2007/04/22(日) 14:07:18ID:XnNxCKozsession.cookie_lifetime は 0 でセッションクッキーにしています
GC の動作は、検証用に 100% (1/1) の確率で 4 分経過したものを対象にしていますが、
連続リロードとは関係ありますかね?
「他にも session_regenerate_id 等を処理〜」と書きましたが、
session_start した後、セッション変数 expire (アクセス時間に 3 分追加した有効期限)
をチェックする処理を通しています。
expire が存在しない => 新規で有効期限をセット
存在、有効期限内 => expire を更新し、session_regenerate_id(true)
存在、有効期限外 => 全セッション変数を unset 、expire を再セットし、session_regenerate_id(true)
のようなちょっと回りくどい処理をしていますが、
ここら辺の処理のどこかが追いついていないのかな、と現状想像しています。
書き忘れましたが、PHP 5.2.1 です
0607nobodyさん
2007/04/22(日) 14:17:21ID:dThJ7LN8function hogeHoge($aaa,$bbb,$ccc,$ddd,$eee,$fff,$ggg){
}
とすると、Missing argument 5 というエラーが出ました。
サーバはPHP5です。
0608nobodyさん
2007/04/22(日) 14:30:58ID:???hogeHoge(1,2,3,4);
とかにしているからでしょ
function hogeHoge($aaa='mmm',$bbb='zzz',$ccc=TRUE,....
と、ちゃんと初期値を書くこと。
0609nobodyさん
2007/04/22(日) 14:42:39ID:???もしくは\nみたいなものでも良いんですが・・・
0611603
2007/04/22(日) 15:02:39ID:XnNxCKozPDO で PDO_PGSQL ドライバを使用した際、
prepare() メソッドのパラメータ string statement に
意図時に正しくない、例えばプレースホルダ (:name や ?) がない文を
与えて実行すると、false を返さず、エラーログに
[notice] child pid ***** exit signal Segmentation fault (11)
を吐いて処理が終了します。
PDO::ATTR_ERRMODE を PDO::ERRMODE_EXCEPTION に設定した場合でも
PDOException をスローせずに同じエラーを吐いて終了します。
PDO_MYSQL ドライバでは問題なく false を返す、もしくは例外を投げてくれます。
細かいことだけど、環境と合わせてバグ報告したほうがいいのかな?
(sendpr したことないし、英語も自信ない)
0613nobodyさん
2007/04/22(日) 15:52:39ID:???以下、負け犬の遠吠え禁止
0614603
2007/04/22(日) 16:17:12ID:XnNxCKoz最新の CVS 版入れてもでないか確認して、
PHP を --enable-debug でリビルドして
gdb でバックとレースした内容を添えて、
さらに英語で送るとか、へたれの俺には敷居が高い・・
誰かに変わって報告してもらうにも、環境によって出る出ないがあるかもしれないし。
とりあえず、余裕ができたら自分でやってみます。
>>613
まぁそんな言い方せずに
0615612
2007/04/22(日) 16:36:13ID:???bug reportで、最後の「英語」の敷居それ自体は低い。
むしろ問題は、本当に、snapshot入れて出るのかどうかってことと、
出てレポートした後、feedbackするのを放置しがちってところだと思う。
>>613
segfaultに関するようなことはPHP Bugsとの関係でやることであって、それだけのスキルを
603はもってるでしょ。レス見れば判る。
0618nobodyさん
2007/04/22(日) 17:10:14ID:0zzEw5U5から現在まで何年経っているか
簡単に出力する関数とかないですか
年齢チェックをしたいので…
0619nobodyさん
2007/04/22(日) 17:18:27ID:???0620nobodyさん
2007/04/22(日) 17:26:45ID:???そのフォーマットで、単に年齢出せればいいんだったら日付関数なんかも使わず
$str = '19860523';
$str2 = '20070422';//今日の日付にしたいならdate()あたりで求める
$year = substr($str2,0,4)-substr($str,0,4);
if(substr($str2,4,4)-substr($str,4,4) >0 ){
$year++;
}
echo $year;
でいいんじゃない?。マニュアルってほどじゃない。
グレゴリウス暦1127年3月2日生まれの人間が今生きてたら、何日何秒生きてることになるか
ということになると日付関数じゃ足りずに、オプションのカレンダー関数とかでやるしかないと思うけど。
0621nobodyさん
2007/04/22(日) 18:10:17ID:???substrもつかわず、単に$str2-$str1で終わるような気がする。
0623nobodyさん
2007/04/22(日) 20:59:08ID:bqPmYs5Qなぜか表示ができません。
DBの接続もOKでPHPinfoも出るのですが、
これ文字化けが原因で表示されないということって
ありますか?
0624nobodyさん
2007/04/22(日) 21:04:15ID:???0626nobodyさん
2007/04/22(日) 21:12:30ID:???0627nobodyさん
2007/04/22(日) 21:48:44ID:bqPmYs5Qrequire('./include/init.php');
$name = $_POST{'name'};
$company = $_POST{'company'};
$tel = $_POST{'tel'};
$email = $_POST{'email'};
$address = $_POST{'address'};
?>
<html>
<head>
<meta http-equiv=content-type content="text/html;charset=x-euc-jp">
<title>・譯シ・カ。シナミマソ</title>
</head>
<body>
<b>・譯シ・カ。シナミマソ</b><br>
イシオュ、ホニ簣ニ、ヌホノ、ア、・ミナミマソ・ワ・ソ・、イ。、キ、ニイシ、オ、、。」<br>
0628nobodyさん
2007/04/22(日) 21:49:16ID:???0629すいません。623です。上もソースです。
2007/04/22(日) 21:49:25ID:bqPmYs5Q<form action="ktouroku3.php" method="post">
<input type=hidden name=name value='<?echo $name?>'>
<input type=hidden name=company value='<?echo $company?>'>
<input type=hidden name=tel value='<?echo $tel?>'>
<input type=hidden name=email value='<?echo $email?>'>
<input type=hidden name=address value='<?echo $address?>'>
<tr><td align=center nowrap>、ェフセチー</td>
<td><?echo $name?></td></tr>
<tr><td align=center nowrap>イシメフセ</td>
<td><?echo $company?></td></tr>
<tr><td align=center nowrap>」ヤ」ナ」フ</td>
<td><?echo $tel?></td></tr>
<tr><td align=center nowrap>」ナ。ン」ヘ」チ」ノ」フ</td>
<td><?echo $email?></td></tr>
<tr><td align=center nowrap>スサス・/td>
<td><?echo $address?></td></tr>
</table>
<input type=submit value='ナミマソ'>
</form>
</body>
</html>
ちなみにこのソースはPHP&PostgreSQLをそのままんま
コピーしたんですが...
0630nobodyさん
2007/04/22(日) 21:49:49ID:???0631nobodyさん
2007/04/22(日) 21:50:23ID:???並マンコってどんなだよ
0632nobodyさん
2007/04/22(日) 21:53:46ID:???0633nobodyさん
2007/04/22(日) 21:54:31ID:???っていうかそのぐらいの判断が出来ないんなら、一からテキスト買って勉強したほうがいいよ。
いきなり難しい事を飛ばしてやっても無理。
0634nobodyさん
2007/04/22(日) 21:57:51ID:bqPmYs5Qを直せばいいのかな?
PHP&PostgreSQLにはinit.phpはEUC-JPに設定を直しました。
データベースはUTF-8です。
この本のとおりにやったのですが...
0635nobodyさん
2007/04/22(日) 21:59:31ID:bqPmYs5Q文字コードをPHPはなににすればいいのでしょうか?
本見てやったのですが、
すいません。教えてください。
先ほどのカキコミは627です。
0636nobodyさん
2007/04/22(日) 22:01:09ID:???0637nobodyさん
2007/04/22(日) 22:02:19ID:???とりあえずなんでEUCに拘ってるんだ
0638nobodyさん
2007/04/22(日) 22:28:45ID:???0639nobodyさん
2007/04/22(日) 22:36:26ID:bqPmYs5Q文字のめちゃくちゃなところを直せば動くかな?
どうでしょうか?
後、誰も同じ本もっていないのかな?
もしかして俺だけ?
0640nobodyさん
2007/04/22(日) 22:43:52ID:???0641nobodyさん
2007/04/22(日) 22:48:48ID:???eo規制くらったから書き込めない
0642627です。
2007/04/22(日) 23:03:33ID:bqPmYs5Qお願い致します。
0643nobodyさん
2007/04/22(日) 23:26:07ID:???0644nobodyさん
2007/04/22(日) 23:33:09ID:???0645nobodyさん
2007/04/22(日) 23:35:27ID:???0646nobodyさん
2007/04/22(日) 23:45:04ID:iPHGhE3Vclass〜でクラスでライブラリを貯めていくのと、
function〜でユーザー関数をファイルにただ詰め込むのは
どちらが推奨でしょうか?
はやりフレームワークのようにclassを使うのが妥当でしょうか?
ある程度たまってきたら全部公開したいと思っているので、
みなさまのご意見をお聞かせください。
0647nobodyさん
2007/04/22(日) 23:52:34ID:???>>646
どっちでもいいよ好きなように作ってください
0648nobodyさん
2007/04/22(日) 23:56:59ID:???取り出すときにhtmlspecialcharsしなくてもいいと思うのですが
あるスレで格納する前は処理しなくて取り出すときにhtmlspecialcharsするような
ことが書いてあったのですがどちらがいいのでしょうか?
0650nobodyさん
2007/04/23(月) 00:06:03ID:???0651nobodyさん
2007/04/23(月) 00:08:17ID:???0652nobodyさん
2007/04/23(月) 00:09:12ID:???変数を何らかの文法の中に埋め込む(HTMLとして出力する、SQL文を発行する、JSONとして出力する)
際にエスケープ。
理由はエスケープの目的(文法上のエラーや意図しない動作を防ぐ)と手段(エスケープ)
の対応が明確になり、必要十分なエスケープ処理を行えるから。
0653nobodyさん
2007/04/23(月) 00:09:18ID:???結局あれこれあるから、最終viewのところで制御するのが安全だなあ。
0654nobodyさん
2007/04/23(月) 00:11:05ID:???格納前というか発行前か?
0655nobodyさん
2007/04/23(月) 00:16:17ID:???0656nobodyさん
2007/04/23(月) 00:27:38ID:???0657nobodyさん
2007/04/23(月) 00:34:41ID:???ttp://takagi-hiromitsu.jp/diary/20051227.html#p02
>>654-655
prepareStatement使ってればあんま意識しないけどな
magic quoteがONだとややこしいことになるけど
0658nobodyさん
2007/04/23(月) 02:01:49ID:J6ot4vJK627です。
この文字ばけを直せばきちんと表示されるでしょうか?
これが質問です。
よろしくお願い致します。
0660nobodyさん
2007/04/23(月) 02:03:23ID:Ks2m9GLI文字化けで直らないと文字化け直さないの?
見てあげたいけど携帯だしどうしようもない…
0661nobodyさん
2007/04/23(月) 02:18:40ID:???お前あのソースどっからコピーしたの?
エディタからソースをそのままコピー?
それともブラウザで何も表示されてない状態で
右クリックしてソースを表示したのをコピー?
なんか後者の気がムンムンするんだけど・・・
もしそうならちゃんと結果は返ってきてるんだから
100%文字コードの設定だろう。
ちょっとブラウザの表示からエンコード変えてみれ
0662nobodyさん
2007/04/23(月) 02:21:23ID:Ks2m9GLIソースコピーしたらphp表示されなくね?
DWのソースコピーしたらこうなるよ
0663661
2007/04/23(月) 03:03:56ID:???0665nobodyさん
2007/04/23(月) 03:21:53ID:J6ot4vJKありがとうございました。
0666nobodyさん
2007/04/23(月) 08:28:11ID:???というような使い方をしたいのですが、
PHPでもcronなどを使えば実現できますがそういう処理はJAVA Servletやアプリケーションサーバ
向きかなと思いましてどうしようか悩んでいます.
どちらがいいでしょうか?経験者の方などがいましたら違いを教えてください.
0667666
2007/04/23(月) 08:28:41ID:sNG4PNgp0668nobodyさん
2007/04/23(月) 08:47:16ID:LOUhoqIW0669nobodyさん
2007/04/23(月) 09:09:25ID:???0671nobodyさん
2007/04/23(月) 09:27:15ID:???0672nobodyさん
2007/04/23(月) 09:56:28ID:oOc9kXWC他人様が作成したphpスクリプトの一部にHTMLタグを加えたのですが
上手く反映されません…。
スクリプトはこちらの物です。 ttp://www.rocomotion.jp/php/p_link.php
左側のmenuバーの所にだけ<head>用のタグを貼り付けたかったので
#-----------------------------------------------
# フレーム部分(main)
#-----------------------------------------------
と言う項目の下にある<head>の下に付け加えたのですが、反映されませんでした。
アドバイス頂けないでしょうか。 よろしくお願いします。
0673672
2007/04/23(月) 10:05:42ID:oOc9kXWC編集したのはメインスクリプト、
#-----------------------------------------------
# フレーム部分(menu)
#-----------------------------------------------
以下の部分でした。
0675nobodyさん
2007/04/23(月) 10:33:47ID:sNG4PNgpservletやjspに関してあまり知らないので見当はずれなことを言っていたらすみません.
ただ、クライアントのリクエストに関わらず処理させるサーバにWeb特化のPHPは向いてないと聞いたので、
どのようなシステムを使うのが良いのか知りたかったので質問しました。
0677虚弱PHP
2007/04/23(月) 10:42:53ID:???ブラウザの処理の途中でリロードされてるんじゃないかな?
session_regenerate_idでIDが変更されたのに、
変更前のセッションIDを送ってるとか。
0678虚弱PHP
2007/04/23(月) 10:46:04ID:???俺の周りではshellとPerl使ってる人が多かったかな。
俺はPHPのシステムだったら、バッチ処理もPHPで書いてた。
0679nobodyさん
2007/04/23(月) 10:57:35ID:???失礼しました。
#-----------------------------------------------
# フレーム部分(menu)
#-----------------------------------------------
function frame()
{
global $title, $script, $col_devide;
print<<<head
<?xml version="1.0" encoding="shift_jis"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<head>の下に1行だけ加えただけです。
0680nobodyさん
2007/04/23(月) 11:06:44ID:???0681648
2007/04/23(月) 11:07:10ID:???よくわかりました
たかぎさんのサイト面白いです
0683nobodyさん
2007/04/23(月) 15:34:47ID:Ks2m9GLI0685nobodyさん
2007/04/23(月) 15:46:15ID:EsFw1dKU会員登録などしてログイン情報をセッションで持ち回る事で、
会員専用のページなどにもアクセス出来ます。
それはわかるのですが、SSLを使った場合はどうなるのでしょうか?
ただリンクをhttps://aaa .com/にすればいいだけなのでしょうか?
SSLのディレクトリにあるファイルでsession_start()とすれば、公開サイトの
会員IDなどが引き継げるのでしょうか?
独自ドメインでSSLを使ったサイトを作成した事がないので、気になりました。
0686nobodyさん
2007/04/23(月) 15:58:34ID:qAG2+B55参考サイトありますか?
特に動画アップロードの作り方が詳しくでているところ希望します。
0687nobodyさん
2007/04/23(月) 16:22:09ID:???FLASH板いけ
0688nobodyさん
2007/04/23(月) 16:24:52ID:???$unko 1++; とか以外の方法で。
0690nobodyさん
2007/04/23(月) 16:39:32ID:???メタ文字のことです、、、うへへw
0691nobodyさん
2007/04/23(月) 16:40:46ID:LAYu+KhNホームページ作成ソフトがあったらいいのに・・・。
もし、プロ並みにキレイなホームページが作成が出来たとしたら、
情報商材で一旗あげようと思っているあなたの人生は変りますか?
【早くも成功者続出!】起業サイトビルダー
http://www.infotop.jp/click.php?aid=16484&iid=5683
0692nobodyさん
2007/04/23(月) 16:52:22ID:???抽象化とか実体化とかわけわかめです
簡単な例文とか見るとなんでいちいちこんなことするのかと思えるのですが
複雑な処理になってくるとクラスを使った方がいいというわけでしょうか?
簡単な例えで概念を教えてください。
0693nobodyさん
2007/04/23(月) 16:55:11ID:???必要なデータを参照する時に関数かし、その結果、処理がスムーズになると
思っていたのですが、関数化する事で複雑になりすぎて扱いづらくなってしまいました。
単純に別ファイルにしてincludeした方が良いのかも・・。
0694nobodyさん
2007/04/23(月) 17:09:43ID:hrPvjONAクラス => 素材(変数)と料理の本(メソッド)
インスタンス=> ↑を準備した台所
ちょっと違うか
>>693
関数の使いどころ間違ってないか?
頻度の多い処理は、関数を作るべき
0695693
2007/04/23(月) 17:21:45ID:???頻度の多い処理の中に、いろんな変数を参照する物があるんだけど、
そういう場合、その処理に使う変数をすべて関数内にいれなきゃいけないよね?
それをするのにソースが複雑になりすぎて、後から見直すと「どうだっけかな?」
っと思う時がある。俺の書き方が悪いのかもしれないが。
0699nobodyさん
2007/04/23(月) 18:03:03ID:???0700nobodyさん
2007/04/23(月) 18:03:29ID:???匿名関数つかえね
0701nobodyさん
2007/04/23(月) 18:49:46ID:YDuj5yCb0702nobodyさん
2007/04/23(月) 18:52:17ID:YDuj5yCb0703虚弱PHP
2007/04/23(月) 19:01:59ID:???おそらく関数間の依存関係が強すぎるんだね。
そうだとしたら設計の問題。
それ以外だったら、オブジェクトにまとめて関数に渡せばOK。
0704nobodyさん
2007/04/23(月) 19:05:39ID:???以下の場合、&$hogeはどんな解釈になるんですか?
また、どっちがはやい?
class hoge {
foo($hoge) {
echo $hoge;
}
foo2(&$hoge) {
echo &$hoge;
}
}
0705nobodyさん
2007/04/23(月) 19:11:51ID:wES6lMlt1)override予定していないものは、出来るだけ定数にする
2)定数できるものも変数でやっちゃう
どっち派ですか?
あとconfigファイルは
1)phpファイルに書き込むか
2)iniあるいはcsv風テキスト
3)xmlなど
どれ派ですか?
あっしは(1)-(3)なんですけど。
0707704
2007/04/23(月) 19:17:45ID:???計ったに決まってるでしょ…
私の環境だとたいした差がないし、どう違うのか分からないから聞いてるんですけど!
バカとは失礼な!
0708nobodyさん
2007/04/23(月) 19:22:55ID:???0709704
2007/04/23(月) 19:30:33ID:???わかんないんなら黙っててくれる?
興味あるから知りたいだけですから…
あんたみたいな大雑把な人はプログラミング向いてないからやめた方がいいよ(迷惑だし)
0711nobodyさん
2007/04/23(月) 19:39:19ID:???(´,_ゝ`)プッ
0712nobodyさん
2007/04/23(月) 19:40:08ID:???0714虚弱PHP
2007/04/23(月) 19:49:15ID:???オブジェクトは参照渡しだけど他はPHP4と変わらず。
速度はZendエンジンがごちゃごちゃやるはずなのでコード依存じゃないかな。
0716nobodyさん
2007/04/23(月) 19:53:53ID:???0718nobodyさん
2007/04/23(月) 20:01:09ID:???0719nobodyさん
2007/04/23(月) 20:04:19ID:???10→010
と修正したいのですが、
どうすればいいでしょうか?
0720nobodyさん
2007/04/23(月) 20:08:28ID:???と言うより自分でテストしたにも関わらず
匿名掲示板で他人の意見聞いてそれを信じられるってとこがもうやばいなw
0722nobodyさん
2007/04/23(月) 20:41:05ID:???>>674もいってるがそのサイトの
どのプログラムの
どのファイルなのかわかんねーと
わかんねーよ!!
ついでに、どう修正したのかも載せとくとか考えようぜ
質問の仕方が悪い
あと、そのサイトのプログラム
PHP使う意味あるの、って書き方だな…読みずらすぎ
0724nobodyさん
2007/04/23(月) 21:06:21ID:???では改めて。
プログラムはこれです。 ttp://www.rocomotion.jp/manage/dl/plink.zip
plink.phpの以下を書き換えました。
#-----------------------------------------------
# フレーム部分(menu)
#-----------------------------------------------
function frame()
{
global $title, $script, $col_devide;
print<<<head
<?xml version="1.0" encoding="shift_jis"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<!--nobanner-->←追加
確認しましたがタグは有効になりませんでした。
但し、フレーム部分(main) の所のhead下に同じ様に書き加えたら有効になりましたが
全てのページに反映されてしまったのでダメでした。
メニューページにだけ有効にしたいのです。
よろしくお願いします。
0725nobodyさん
2007/04/23(月) 21:13:05ID:???}
0726nobodyさん
2007/04/23(月) 21:19:25ID:???plink.phpの154行目に以下を挿入
$nobanner = ('left'==$frame) ? "\n<!--nobanner-->\n" : '';
すぐその下の<head>を以下に置き換え
<head>' . $nobanner . '
なお、なにが起きても当局は一切関知しない
0728nobodyさん
2007/04/23(月) 21:21:45ID:???0729724
2007/04/23(月) 21:31:56ID:???お手数お掛けします。
追加してみましたが、やはり全てのページで広告が消えてしまうのでダメでした。
>>727
直リンクだと弾かれるようです。 http://www.rocomotion.jp/php/p_link.php の下のほうにスクロールすると
Download linkが出るので、お手数ですがそこから落として貰えませんか。
あと追加の件ですが、>>724に書いてます…
0731nobodyさん
2007/04/23(月) 21:39:39ID:???0732719
2007/04/23(月) 21:54:11ID:???レスサンクスです、
001は数字ではなく文字列としてしか扱えないのでしょうか?
例えば、001 に1を足して002にしたい場合、
一旦1に戻して、sprintf使うしか無理なのでしょうか?
001から直接002にすることは不可能でしょうか?
0733nobodyさん
2007/04/23(月) 22:24:27ID:???0734719
2007/04/23(月) 22:49:33ID:???そうですか・・・・orz
ちなみに
sprintfでがんばろうと思ったのですが
1から001への変更方法はsprintf("%03d", 1)
でよいかと思いますが、
001から1への変更方法が思いつきません。
こちらもsprintfでいけるのでしょうか?
0735nobodyさん
2007/04/23(月) 22:58:12ID:???sprintf("%d", $val);
0736nobodyさん
2007/04/23(月) 23:01:32ID:???0737nobodyさん
2007/04/23(月) 23:09:18ID:???0738nobodyさん
2007/04/23(月) 23:19:38ID:+n8U2EAi0739nobodyさん
2007/04/23(月) 23:26:04ID:???まず自力で探せよ
googleでもyahooでも簡単にみつかるだろが
0740nobodyさん
2007/04/23(月) 23:26:39ID:???$foo = 1;
sprintf ("%03d", $foo);
$foo++;
sprintf ("%03d", $foo);
0741nobodyさん
2007/04/23(月) 23:29:28ID:+n8U2EAiだってお目当てのものが見つからなかったんだもん。
だから諸兄たちに聞いてんのさっ
0742nobodyさん
2007/04/23(月) 23:31:13ID:???環境に制限があるならそれも書け
二度手間になるだろ
0743nobodyさん
2007/04/23(月) 23:39:47ID:+n8U2EAiこのあたりのキーワード絡めてググったかな〜
ffmpegってのにピピンときたが、よくわがんね。
オレの頭に制限ありってとこだ。
0744nobodyさん
2007/04/23(月) 23:42:47ID:???0745nobodyさん
2007/04/23(月) 23:43:50ID:???こんなんめっかった
ttp://ffmpeg-php.sourceforge.net/
英語は頑張って読め
0746nobodyさん
2007/04/23(月) 23:51:20ID:WTwJGp5Qみたいに、名前とメアドが区切られてるのを一行とし、
それを何個か作ったのをtxtに保存しておいて、
任意の行を削除したい、という時に、
その行以外を一度$tmpに保存したいんですけど、
$listf = fopen ("user.txt", "r");
list($fname,$lname,$mail) = fgetcsv($listf,4096,"|");
$tmp = "";
while (!feof($listf))
{
if(trim($fname)!=$usr)
{
$tmp .= $fname."|".$lname."|".$email."\ n";
}
list($dusername,$dpassword,$first,$last,$mail,$org,$lv) = fgetcsv($listf,4096,"|");}
fclose($listf);
こんな感じで試してみたんですがダメでした。
間違いか代替手段か何か教えてもらえないですか?
0747nobodyさん
2007/04/23(月) 23:53:48ID:???0748nobodyさん
2007/04/24(火) 00:00:26ID:WTwJGp5Q}
list($dusername,$dpassword,$first,$last,$mail,$org,$lv) = fgetcsv($listf,4096,"|");}
fclose($listf);
の$flist以降は
list($fname,$lname,$mail) = fgetcsv($listf,4096,"|");
です。
>>747
$tmpの中にちゃんとデータが入ってるか確認しようと
echo $tmp;
っていれてみたんですが、何もでてきませんでした
言葉足らずですいませんです
0749nobodyさん
2007/04/24(火) 00:06:25ID:???変数名がめちゃめちゃでどこから突っ込んでいいのかわからんw
0750nobodyさん
2007/04/24(火) 00:16:27ID:eGs+hfXK$listf = fopen ("user.txt", "r") or die("error");
list($fname,$lname,$mail) = fgetcsv($listf,4096,"|");
$tmp = "";
while (!feof($listf))
{
if(trim($fname)!=$usr)
{
$tmp .= $fname."|".$lname."|".$mail."\ n";
}
}
fclose($listf);
>>749
すいません。
貼り直しました。
0751nobodyさん
2007/04/24(火) 00:34:59ID:???はwhileの中でやろうね
0752nobodyさん
2007/04/24(火) 00:35:19ID:eGs+hfXKお手数かけました。ありがとうございます。
0753nobodyさん
2007/04/24(火) 00:44:36ID:???0754nobodyさん
2007/04/24(火) 00:47:09ID:???気持ち悪いんですけど。そんなところまでperl真似なくて
いいと思うんですけど。
0755nobodyさん
2007/04/24(火) 00:51:31ID:???0756nobodyさん
2007/04/24(火) 00:53:19ID:???他にもたくさんwebで使えるいい言語はあるぜ
0757nobodyさん
2007/04/24(火) 00:57:16ID:???0759nobodyさん
2007/04/24(火) 01:01:07ID:???変数の前に$記号しかないなら、無くても同じだと思うんですが。
$記号打とうとして#と打ち間違えたりして、毎回いらいらするんですが。
0761nobodyさん
2007/04/24(火) 01:03:42ID:???0762nobodyさん
2007/04/24(火) 01:03:47ID:???$a = 'baka';
$b->$a; // $a->baka
みたいなことができる。なんに使うのか? って疑問に思うだろうけど、
結構これは使い出がある。なんとも汚い文法だとは思うけどもね。
0763nobodyさん
2007/04/24(火) 01:03:58ID:???0764nobodyさん
2007/04/24(火) 01:10:47ID:???PHPでやってみてたんですが、Rubyだけで何でもできるようになりたいです。
0765nobodyさん
2007/04/24(火) 01:21:12ID:???0766762
2007/04/24(火) 01:25:32ID:???ruby使ってますよ。むしろあれでリフレクションを覚えて
「おー、PHPでもできるワロス」とかいいつつ使っていました。
あと訂正
$b->$a; // $a->baka (×)
$b->$a; // $b->baka (○)
0767nobodyさん
2007/04/24(火) 01:45:10ID:???$変数
を打ち間違えていらいらするなんてプログラマとしてあり得ん。
0768nobodyさん
2007/04/24(火) 01:52:21ID:???で、周りでは皆PHP・・・あたし悔しい!みたいな?
0770nobodyさん
2007/04/24(火) 02:30:08ID:???遅レスだが、CGI=Perlっていうのが今でも当たり前になってるだろ?
PHPが浸透してきているとはいえ、今でもWebのシェアはPerlが大半を占めている。
Web特化というのが売りのPHPは、当然Perlを一番意識している。
なんでPerlに大部分が似ているかというと答えは簡単。
Perlユーザーを移行させるのが狙い。
他にもJavaやCからの移行者を増やすためにそれらの言語に似た処理を取り入れてる。
そして新規参入のプログラマにもとっつきやすい言語となっている。
利用者を増やすというのは勝ち残る為に一番の条件なのだよ。
0771nobodyさん
2007/04/24(火) 02:35:22ID:???・・・のはずであった。
0772nobodyさん
2007/04/24(火) 02:41:44ID:???コレは全く問題ない。
だがしかし!
C#の「:」だけは許せねぇ!
ソースをざっと読んだだけじゃ見落としちゃうじゃないか!
0773nobodyさん
2007/04/24(火) 08:00:41ID:???学校でCとかJavaやると時々変数に$付けてしまう
0774nobodyさん
2007/04/24(火) 08:18:37ID:???あとPHPの$記号って何か意味あるんですか。
変数の前に$記号しかないなら、無くても同じだと思うんですが。
$記号打とうとして#と打ち間違えたりして、毎回いらいらするんですが。
この中で変数はどれですか? $記号ですか?
0776nobodyさん
2007/04/24(火) 08:39:47ID:???0777nobodyさん
2007/04/24(火) 12:55:14ID:sEkvt9e40778nobodyさん
2007/04/24(火) 13:00:34ID:???phpinfoみたいなやつです
0779虚弱PHP
2007/04/24(火) 13:02:54ID:???http://www.php.net/manual/ja/function.date.php
0781nobodyさん
2007/04/24(火) 13:04:53ID:???ろくに理解してないのに3万も使ってる…
0782nobodyさん
2007/04/24(火) 13:05:37ID:???0783nobodyさん
2007/04/24(火) 13:13:05ID:aF4+VraQ掲示板の書き込みとか、何かの新規登録受付フォームとかで
ランダムな文字をノイズの入った画像にして、
その文字を入力しないと登録できないようになってる仕掛けが
ありますが、あの仕掛け、フリーなCGI(PHP含む)でどこかに
ありませんでしょうか?
0784虚弱PHP
2007/04/24(火) 13:13:22ID:???おっと、勘違い。
標準関数では無いと思う。
http://shain.tomocreative.net/2007/04/post_2.html
0786nobodyさん
2007/04/24(火) 13:22:26ID:???0787nobodyさん
2007/04/24(火) 13:57:37ID:???0788nobodyさん
2007/04/24(火) 14:20:59ID:43dSuuSBPHP4.4.6
RHL7.3
[行ったこと]
canpen.php
1. フォームからテキストエリア内に文字列を入力。$messages
2. POSTで飛ばす。$messages
canpen_write.php
3. $messagesの取得
$messages = str_replace("<", "<", "$messages");
$messages = str_replace(">", ">", "$messages");
$messages = str_replace("\t", "", "$messages");
$messages = nl2br($messages);
4. $messages出力。確認表示。
※改行されて、<>←も表示されている。
5. 「書き込み」ボタンにて、POSTで飛ばす。hiddenで。
→自ページ canpen_write.php
6. $messages取得。
ここで、再度、「3.」でやった文字列の整形をするんでしょうか?
で、再度整形して、$messagesを出力すると、
$messages:<ccc><br />
<ddd><br />のように出力されます。
はじめにフォームで、入力した文字列は、<ccc>エンターキー<ddd>エンターキー
です。(です。は、入力していません。)
<br />が出力されるので、これを出力させない方法があれば、
どなたかご教授して頂けないでしょうか?宜しくお願い致します。m(..)m
0789nobodyさん
2007/04/24(火) 14:23:57ID:43dSuuSB※改行されて、<>←も表示されている。
5. 「書き込み」ボタンにて、POSTで飛ばす。hiddenで。
→自ページ canpen_write.php
6. $messages取得。
ここで、再度、「3.」でやった文字列の整形をするんでしょうか?
で、再度整形して、$messagesを出力すると、
$messages:<ccc><br />
<ddd><br />のように出力されます。
はじめにフォームで、入力した文字列は、<ccc>エンターキー<ddd>エンターキー
です。(です。は、入力していません。)
<br />が出力されるので、これを出力させない方法があれば、
どなたかご教授して頂けないでしょうか?宜しくお願い致します。m(..)m
0791nobodyさん
2007/04/24(火) 14:41:12ID:???とりあえずstr_replaceじゃなく、htmlspecialcharsを使っとけ
タイミングとしては、「送信されたとき」というよりむしろ「表示するとき」にhtmlspecialcharsを呼び出せば間違いは減る
0792nobodyさん
2007/04/24(火) 14:58:28ID:43dSuuSB791さん、ありがとうございます。
htmlspecialcharsで出力すると、&lt; &gt;と、そのまま&lt:&gt;
がブラウザに出力されます。実体参照に戻されて、<>等と出力されるはずが、
そのまま出力されます。
htmlspecialcharsを使用するときは、何か特別な設定がいるんでしょうか?
m(..)m
0793nobodyさん
2007/04/24(火) 15:01:19ID:43dSuuSB0794nobodyさん
2007/04/24(火) 15:03:46ID:???0795nobodyさん
2007/04/24(火) 15:09:53ID:???確認画面でhiddenに埋め込む方にはnl2brをかけなくていい
(表示する方だけにnl2brを行えばいい)
0796nobodyさん
2007/04/24(火) 15:22:16ID:43dSuuSBSuccess!!です。成功しました。とても助かりました。
今やっている部分を頭の中にまとめて理解したいと思います。
791さんのおかげで、モヤモヤが今スッキリしていきそうです。
(まだ、完全に理解していないw)パターンで覚えるよりも、仕組みをキッチリ
理解していこうと思います。速レスでとても感謝しています。
ありがとうございました。m(__)m
0797nobodyさん
2007/04/24(火) 16:26:10ID:???俺が昔作ったやつ
http://nike.s151.xrea.com/qreki.phps
0799603
2007/04/24(火) 16:41:18ID:YIKrD66nあれから調べてみましたが、
session_regenerate_id(true) の処理が問題のようでした
この処理を外したところ、問題は出なくなりました
また、session_regenerate_id() ではセッションが切れるということはありませんでした
今、セッションデータを file ではなく、
データベース上で処理する仕組みを作って検証しています
session_set_save_handler は使用せず、Cookie, GET, POST の値を拾って
独自に PDO クラスでセッション ID や有効期限を保存、更新処理等するものなのですが、
こちらは複雑な処理に関わらず、更新ボタン猛連射でもまったく問題が出ていません
session_regenerate_id(true) は、古いセッションデータファイルを
自動で削除してくれるとはいえ、DB コンテナに比べて
大したオーバーヘッドになるとも思えないし、
セッションファイルが多数存在するのなら別ですが、検証上では 5 ファイル程度です
推測ですが、session_regenerate_id(true) の処理には
連続リロードに耐えられない問題があるのではと思います
アクセスが多いサイトのセッションの仕組みに利用すると問題がでるかもしれません
0800虚弱PHP
2007/04/24(火) 16:47:27ID:???俺も推測でしかないけど、
session_regenerate_id()で問題出ないなら、
余計にsession_regenerate_id(true)の問題じゃなくて、
ブラウザ側の問題だと思うよ。
ブラウザがサーバーから返されたCookieヘッダを解釈・設定する前に
F5押したとかじゃないかなぁと思うんだけど。
0801nobodyさん
2007/04/24(火) 16:48:18ID:???お前相当暇人だなw
不覚にもこれには笑ったぜw
ttp://nike.s151.xrea.com/okki.php
0802nobodyさん
2007/04/24(火) 16:57:34ID:EJNwdirJ適当な場所にライブラリパスを通して、そこにファイルコピーすればいい
0806603
2007/04/24(火) 17:17:38ID:YIKrD66nどうも
>>603 で書いたとおり、HTTP リクエスト、レスポンス上で見る限りは
Cookie, Set-Cookie は切り替わったものを正しくやり取りしてるんですよね
今、独自 DB コンテナの方で session_regenerate_id(true) の相当の機能を
作成中でして、これで連続リロードしてみれば
ブラウザ側動作の影響かどうかある程度はっきりすると思います
ブラウザ側動作の影響なら、連続リロードした人間だけの問題になりそうなので
この件は無視できそうです
>>801
わらた
0808nobodyさん
2007/04/24(火) 18:27:05ID:???0809nobodyさん
2007/04/24(火) 18:33:05ID:???0810虚弱PHP
2007/04/24(火) 18:45:46ID:???うむむ。そうかぁ。
save_handlerがmmだと切れるって話があったような気がするんだけど、
今回はfilesみたいだしね。
0811603
2007/04/24(火) 19:25:37ID:YIKrD66nそちらのご推測通りでした
独自DB コンテナで再現した session_regenerate_id(true) 相当の機能でも同じ症状がでました
再度検証してみたところ、致命的な見落としがありまして
例えば連続で素早く 10 回程更新ボタンを押すと、サーバ側には
本来残らないはずのセッションデータファイルが 5 〜 10 近く残っているが、
HTTP Header キャプチャ(Live HTTP header on Firefox) 上では
3 つ程のやり取りしか残っていない・・
試しに ieHTTPHeader on IE で調べたら、Firefox で行った同じ速度でリロードしても
すべてキャプチャしてくるし、セッション自体も切れないみたい
Opera では Firefox 程ではないけどまれに切れる
ちなみに、GET だけに制限してみたセッション ID のやりとり(この場合はリンクの猛連射)
でも同じ症状がでるので、HTTP レスポンス自体を受け取ってないんでしょうね
どうもありがとうございました
// 正直、JavaScript や CSS 以外でブラウザ別の動作に悩まされるとは思わなかった
0812nobodyさん
2007/04/24(火) 19:37:08ID:???0814nobodyさん
2007/04/24(火) 22:36:23ID:DXOCGV6O長ったらしいテキストファイルの1部分のみ情報を取り込みたいのですが、
そういうのに適した関数等はありますでしょうか。
0815nobodyさん
2007/04/24(火) 22:39:13ID:???0816nobodyさん
2007/04/24(火) 22:55:02ID:???0818nobodyさん
2007/04/24(火) 23:38:17ID:???それらの仕組み、もしくはそのシステムが構築できてあるソースのURLなど知っている人がいましたら教えていただけないでしょうか。
0819nobodyさん
2007/04/24(火) 23:38:55ID:???URLはシラネ
0820nobodyさん
2007/04/24(火) 23:51:38ID:???youtubeは解析されまくってるから仕様なんかはすぐ出てきそうだけど
0821nobodyさん
2007/04/25(水) 01:01:57ID:j8qAcKjIPHP見るとデフォルトでSJISになる
PHPに記述しないでデフォルトをEUCにできないかな
0824nobodyさん
2007/04/25(水) 01:52:00ID:j8qAcKjI本のサンプル全部に記述がだるい…
0825nobodyさん
2007/04/25(水) 01:58:40ID:???タグに記述してもPHPで指定しても文字化けすることもあるしね
EmEditorとかで保存時のエンコードをEUCに設定すればいいと思ふ
未確認
0826nobodyさん
2007/04/25(水) 01:59:40ID:???0827nobodyさん
2007/04/25(水) 02:01:56ID:j8qAcKjI0828nobodyさん
2007/04/25(水) 02:03:16ID:???0829nobodyさん
2007/04/25(水) 02:03:56ID:???0830nobodyさん
2007/04/25(水) 02:10:20ID:j8qAcKjIEUCに嫌われたかな
0831nobodyさん
2007/04/25(水) 02:19:38ID:???それ前提で話してるのかと思ったけど
0832nobodyさん
2007/04/25(水) 02:23:29ID:???そういうレベルの質問にしか見えない。
0834nobodyさん
2007/04/25(水) 02:28:29ID:j8qAcKjI0835nobodyさん
2007/04/25(水) 02:34:58ID:???ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
 ̄
0836nobodyさん
2007/04/25(水) 02:35:23ID:???\
>
/
(^^)/ なんてこったい!
/\ ̄\
/ \ \
< | |
\ / ̄ ̄\
ゝ / \
/ >
/ /
/ /
0838nobodyさん
2007/04/25(水) 02:56:56ID:???output_bufferingをonなんかにするなって話じゃない?
PHP初めて3年半たつがoutput_bufferingなんて一度もonにしたことねぇ
0839nobodyさん
2007/04/25(水) 03:01:34ID:???0840nobodyさん
2007/04/25(水) 03:04:32ID:???そのときからキャッシュは1MBまでに制限してる。
更新する度にページをダウンロードするようには設定できないのかな。
0841nobodyさん
2007/04/25(水) 03:12:30ID:???0842nobodyさん
2007/04/25(水) 03:14:01ID:???0843nobodyさん
2007/04/25(水) 03:14:46ID:???0844nobodyさん
2007/04/25(水) 03:17:52ID:???0845nobodyさん
2007/04/25(水) 03:49:52ID:???0846nobodyさん
2007/04/25(水) 04:18:44ID:???0847nobodyさん
2007/04/25(水) 08:57:51ID:???0848nobodyさん
2007/04/25(水) 09:36:06ID:Hk5iwc7Fたとえば
index.php?hoge=0001
というページは存在するので、問題なく表示します。しかし
index.php?hoge=0002
や
index.php?hoge=
などのような場合今だと白紙?のページになります。
そこを、404や403を返すようにしたいのですが、どうすれば出来るのでしょうか?
0849nobodyさん
2007/04/25(水) 09:44:28ID:???0850nobodyさん
2007/04/25(水) 11:53:14ID:???if (存在しないページ) {
header( レスポンスコード404を送る );
// 以下自分の好きな404のページ
?>
<html>
404 そんなページはないでやんす
</html>
<?php
exit;
}
?>
0851nobodyさん
2007/04/25(水) 12:54:42ID:j8qAcKjIキャッシュが3GBになってたよ…
0852nobodyさん
2007/04/25(水) 12:54:59ID:1/ImtFz/アクセスする度にDBから読み込まれている状態になっているのですが、
これだとサーバに負荷がかかって、ページの読み込みが遅くなる気がします。
こういう、あまり変動しないデータを読み込んで表示させる場合、
どういう風なソースを書けばいいのでしょうか?
0853nobodyさん
2007/04/25(水) 13:04:12ID:???DB 側を更新したらその HTML 吐き出すとか
ページ丸ごとが難しければ、部分部分を吐いて include とか
0854852
2007/04/25(水) 13:42:18ID:???例えばこういう流れでしょうか?
DBにカテゴリを登録(編集)→静的なHTMLページを作成
→そのHTMLを公開するサイトで読み込み
現在は、カテゴリ一覧の部分は別ファイルにしてincludeするようにしています。
そのファイル内にwhile($row = mysql_fetch_array($res)){ 〜 }
みたいなソースを書いて、カテゴリ一覧を表示していました。
ちょっとHTMLの件は試してみます。ありがとうございました。
0859nobodyさん
2007/04/25(水) 14:50:14ID:???0861nobodyさん
2007/04/25(水) 15:35:07ID:dvPhqtzS0862nobodyさん
2007/04/25(水) 15:54:34ID:???このURLのスクリプトなら動くんだけど、スマートにしようと書き換えてみた。
すると、書き込んでも空の行が増えていくだけ。
なんですか?
0863862
2007/04/25(水) 15:55:24ID:???<html>
<head>
<title>一行掲示板</title>
</head>
<body>
<h1>一行掲示板</h1>
書き込む内容を入力してください。
<hr>
<form name="form" action="./sample01.php" method="POST">
<input name=""body" Type="text" size"40">
<input type="submit" value="書込">
<hr>
</form>
<?php
$data = file("./data.txt");
for ($i=0; $i<count($data); $i++) {
print "記事NO.{$i}:{$data[$i]}<br>\n<hr>";
}
?>
</body>
</html>
0864862
2007/04/25(水) 15:56:44ID:???<head>
<title>Sample01</title>
</head>
<body>
sample.php
<?php
$body = $_REQUEST["body"]."\n";
$fp = fopen("./data.txt","a");
fwrite($fp,$body);
fclose($fp);
?>
書き込み完了<br>
<a href="./data.txt" target="_blank">中身を見る</a><br>
<a href="./form.php">戻る</a>
</bady>
</html>
0865nobodyさん
2007/04/25(水) 15:56:58ID:???日本語勉強してから来いカス
0866862
2007/04/25(水) 15:58:15ID:???○ なんでですか
0867nobodyさん
2007/04/25(水) 16:01:36ID:???o...rz
訂正します
――――――――――――――――――――
Sample01.php
<html>
<head>
<title>Sample01</title>
</head>
<body>
<?php
$body = $_REQUEST["body"]."\n";
$fp = fopen("./data.txt","a");
fwrite($fp,$body);
fclose($fp);
?>
書き込み完了<br>
<a href="./data.txt" target="_blank">中身を見る</a><br>
<a href="./form.php">戻る</a>
</bady>
</html>
0868nobodyさん
2007/04/25(水) 16:02:10ID:???0869nobodyさん
2007/04/25(水) 16:03:30ID:???0870862
2007/04/25(水) 16:21:14ID:???0871870
2007/04/25(水) 16:23:37ID:???このURL内のコーディングなら動くんだけど、スマートにしようと書き換えてみた。
すると、書き込んでも空の行が増えていくだけ。
なぜでしょうか?
以下のような具合
――――――――――――――――
一行掲示板
書き込む内容を入力してください。
----------------------------------------
|入力フォーム| |書込|
----------------------------------------
記事NO.0:
----------------------------------------
記事NO.1:
----------------------------------------
記事NO.2:
----------------------------------------
0872nobodyさん
2007/04/25(水) 16:24:19ID:???0873870
2007/04/25(水) 16:24:47ID:???<html>
<head>
<title>一行掲示板</title>
</head>
<body>
<h1>一行掲示板</h1>
書き込む内容を入力してください。<hr>
<form name="form" action="./sample01.php" method="POST">
<input name="body" type="text" size="40">
<input type="submit" value="書込"><hr>
</form>
<?php
$data = file("./data.txt");
for($i=0; $i<sizeof($data); $i++){
print "記事NO.${i}:${data[$i]}<br>\n<hr>";
}
?>
</body>
</html>
0874870
2007/04/25(水) 16:25:35ID:???<?php
$body = $_REQUEST["body"];
$body = $body."\n";
?><html>
<head>
<title>Sample01</title>
</head>
<body>
<?php
$fp = fopen("./data.txt","a");
fputs($fp,$body);
fclose($fp);
echo "書き込み完了<br>",
"<a href=\"./form.php\">戻る</a>";
?>
</body>
</html>
0875nobodyさん
2007/04/25(水) 16:26:27ID:???0876870
2007/04/25(水) 16:26:47ID:???<html>
<head>
<title>一行掲示板</title>
</head>
<body>
<h1>一行掲示板</h1>
書き込む内容を入力してください。
<hr>
<form name="form" action="./sample01.php" method="POST">
<input name=""body" Type="text" size"40">
<input type="submit" value="書込">
<hr>
</form>
<?php
$data = file("./data.txt");
for ($i=0; $i<count($data); $i++) {
print "記事NO.{$i}:{$data[$i]}<br>\n<hr>";
}
?>
</body>
</html>
0877870
2007/04/25(水) 16:27:30ID:???<html>
<head>
<title>Sample01</title>
</head>
<body>
<?php
$body = $_REQUEST["body"]."\n";
$fp = fopen("./data.txt","a");
fwrite($fp,$body);
fclose($fp);
?>
書き込み完了<br>
<a href="./data.txt" target="_blank">中身を見る</a><br>
<a href="./form.php">戻る</a>
</bady>
</html>
0878nobodyさん
2007/04/25(水) 16:29:51ID:???スマートとかほざくなよw
段階踏んでから言えカスが
0881nobodyさん
2007/04/25(水) 16:43:37ID:j8qAcKjI代わりになる関数はありませんか?
0882nobodyさん
2007/04/25(水) 16:45:41ID:???0883nobodyさん
2007/04/25(水) 16:47:18ID:j8qAcKjI0884nobodyさん
2007/04/25(水) 16:54:22ID:???え、さくらってそうなんだ。
古い鯖利用だからか?
wing2.jpならいけるよ。
初年2000円で独自ドメイン運用可
翌年以降1500円。
0885nobodyさん
2007/04/25(水) 16:55:40ID:j8qAcKjI0888nobodyさん
2007/04/25(水) 17:26:19ID:???http://pc11.2ch.net/test/read.cgi/hosting/1154825445/
好きに評価したらいい
俺は絶対に遠慮する鯖です
0890nobodyさん
2007/04/25(水) 18:08:21ID:bcYDhRpq0892nobodyさん
2007/04/25(水) 18:50:52ID:???スタッフ募集ここんとこずっとかけてないか?
激安サーバーで給料安いから、最近言われるITの3K化の代表格みたいなんじゃないか?
ただ、あなたも知らなかったように、まだマイナーだから負荷は軽いんじゃない?
メールもやってるが、メジャーサイトへのメアド登録でフリーメアドとして弾かれなかった。
それだけマイナー。
0893nobodyさん
2007/04/25(水) 19:48:06ID:???かもんムムキチい
0895nobodyさん
2007/04/25(水) 19:52:29ID:???ドメスレ荒らしのキチガイ
謝れや!
0896nobodyさん
2007/04/25(水) 19:56:06ID:???必ず見つけ出してやる
0897nobodyさん
2007/04/25(水) 20:02:11ID:???0898nobodyさん
2007/04/25(水) 20:31:24ID:???0899nobodyさん
2007/04/25(水) 21:00:09ID:IXKwV2TH以下のようなPHPスクリプトを作りたいと思ってます。
@PHPで、あるシェルスクリプトを実行させる。
Aシェルスクリプトを実行すると、データテキストが作成される。
Bデータテキストの内容をPHPで取り込み、データの内容によって、
OK / NG等の判定を行う。
この手順のAで作成されるデータテキストなのですが、
実際には作成されるまでに、20〜30秒ほど時間が掛かります。
直ぐにBを行うと、不完全な状態のデータテキストを読んでしまうのですが、
PHPで『ファイルが生成されるまで待つ』といった命令や関数等はありますでしょうか。
ご助言よろしくお願いいたします。
0900nobodyさん
2007/04/25(水) 21:01:11ID:???0902nobodyさん
2007/04/25(水) 21:34:24ID:Hk5iwc7Fレスありがとう〜
不眠続きで今起床しました。
これからやってみます!
0903nobodyさん
2007/04/25(水) 21:55:58ID:???Aが完了するまでシェルスクリプト自身がブロックするように、
(シェルスクリプト内でバックグラウンドプロセスを立ち上げないように、)
シェルスクリプトを工夫するほうが簡単確実。
無理ならPHPでsleepとfile_existsをループ。
0904nobodyさん
2007/04/25(水) 22:15:02ID:ooT1ogQPPEARのXML_Tree使って
拡張子がphpのXMLファイル作ったんだが
そこからどうやって読み込めばいいのかわからんorz
$xml = new DOMDocument;
$xml->load('collection.php');
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
0905nobodyさん
2007/04/25(水) 22:22:46ID:ooT1ogQPつまりは拡張子phpのファイルをどうやってxmlに変換するかってことです。
0906nobodyさん
2007/04/25(水) 23:31:08ID:ckD8GJA9.htaccess
RewriteEngine on
RewriteRule ^/([0-9A-Za-z)]+)\.html$ /index.php?hoge=$1[L]
http://xxx.jp/index.php
<?php
print $_GET['hoge'];
?>
としてブラウザーへ http://xxx.jp/hello.html としても
404が戻ってきます。
どこを確認すればいいでしょうか?
0907nobodyさん
2007/04/25(水) 23:42:59ID:0HmGKMgnやっぱり最大限安全な順番を採るしかないんですか?
0908nobodyさん
2007/04/25(水) 23:53:02ID:???httpから書けばできると思います、強引で汚いですけど
>>906
confでモジュール読み込んでしてます?
あと[L]の前に半角スペース要りませんでしたっけ
またRewriteRule のfirst argは.htaccessのpathですが
second arg はベースが指定してない場合はdocument root からのpathです
0909nobodyさん
2007/04/25(水) 23:56:03ID:???確認した所必要ないですね
0910nobodyさん
2007/04/26(木) 00:06:50ID:???http://jp.php.net/manual/ja/ref.sem.php
セマフォ
Windows環境も対応したいなら原始的にロックファイル作って。
0912nobodyさん
2007/04/26(木) 00:29:33ID:???それとも、もともと皆がccessって使ってるのか!?
0913nobodyさん
2007/04/26(木) 00:30:47ID:???文字列を、指定した文字で区切り、配列に分割する
関数の名前は何でしたでしょうか・・・
0916906
2007/04/26(木) 00:47:15ID:b54Zcwq0/ が余計だったようです・・・
詰まってて簡単な事も見逃していたようです。
表示されてわかったのですが、[L]の前には半角スペースは必要でした。
ない場合は、表示された「hello[L]になるようです。
ほんとうに助かりました!
0918848
2007/04/26(木) 01:54:55ID:fEqE9au7すみません。
考えてみたのですが、まったく理解できません・・・
もう少し噛み砕いて教えていただけないでしょうか?
0001の部分は0001.phpとしてファイルを作ってあります。
例の0002は現在作成していないファイルということになります。
index.php?hoge=0001 はすでに0001.phpとしてファイルがあるのでそのまま表示
index.php?hoge=0002や中途半端なアドレスの
index.php?hoge=や
index.php
は403 404を表示したいのです。
何度もすみませんがよろしくお願いします。
0919nobodyさん
2007/04/26(木) 02:00:58ID:g6GrkNsNinclude("0001.php");
}else{
header("Location:http://qawsedrftgyhujikol/");
}
0920nobodyさん
2007/04/26(木) 02:03:35ID:???すごく噛み砕いてソースの具体例まで出してくれたのが850だと思うが。
理解できないならどこが理解できないか言ってくれないとこっちも全く理解できないんですよ。
0923848
2007/04/26(木) 02:25:03ID:fEqE9au7やってみようとしたところ、鯖の緊急メンテに入ってしまいました。
数時間のメンテらしいのでメンテ明けにやってみます。
0924nobodyさん
2007/04/26(木) 02:48:03ID:???0925848
2007/04/26(木) 04:34:29ID:fEqE9au7現在index.php には
<?php
$GET_PAGE=$_GET['hoge'];
if(@fopen($GET_PAGE.".php", "r")){
include($GET_PAGE.".php");
}else{
header("HTTP/1.0 404 Not Found", true, 404);
?>
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<p>404 Not Found</p>
</body>
</html>
<?php
exit;
}
としたところ、
index.php?hoge=0001では正常に
index.php?hoge=0002やindex.php?ho などでは
そのアドレスのままページには「404 Not Found」と書かれたページが表示されるようになりました。
ここでさらに踏み込んで、現在自前でエラードキュメントをphpで作っておいてあるのですが、
index.php?hoge=0002やindex.php?ho の場合にそのエラードキュメントで表示するようには出来ないものでしょうか?
上記htmlの部分へ同じようなhtmlを書けばいいのかもしれませんが、せっかくなのでphpで表示したいのですが。
また上の書き方で何か問題はないでしょうか?fopenしてるので、閉じないといけないかもしれませんしもっとスマートは方法とかありそうですが。
0926nobodyさん
2007/04/26(木) 04:51:20ID:???まずは自分で調べるなり考えろ
あとレン鯖で実験するな
> if(@fopen($GET_PAGE.".php", "r")){
このままでも閉じる必要は無い
is_file使えば見やすい
> エラードキュメントで表示するようには出来ないものでしょうか
.htaccess 404
0927848
2007/04/26(木) 05:09:41ID:fEqE9au7レスありがとう。
fopenで閉じなくても問題ないと言うことですのでそのままにしておきます。
またis_fileの方がファイルがそうではないかと言う事みたいなので、is_fileに変更しました。
現在の.htaccessでは、
ErrorDocument 401 /library/error/error.php
ErrorDocument 403 /library/error/error.php
ErrorDocument 404 /library/error/error.php
ErrorDocument 500 /library/error/error.php
としていますが、それでも、
index.php?hoge=0002やindex.php?hogeなのでは、
うまくerror.phpが動作してないようです。
0928nobodyさん
2007/04/26(木) 06:41:01ID:???}else{
header("HTTP/1.0 404 Not Found", true, 404);
require "/library/error/error.php";
exit;
}
か
}else{
Location("http://自分のサーバの存在しないURL");
exit;
}
0929848
2007/04/26(木) 07:28:15ID:fEqE9au7何度も申し訳ありません。
}else{
header("HTTP/1.0 404 Not Found", true, 404);
require "/library/error/error.php";
exit;
}
を試したところ、200が自前error.phpから戻ってきました。また
Location("http://自分のサーバの存在しないURL");
だと問題なくエラー表示されるのですが、アドレスが変わってしまうで自分がやりたいこととは、
少し外れてしまいます。
あまりスレを消費するのもあれなので、この辺で失礼します。
かなり勉強になりました。
レスを頂いた方ありがとうございました!
0930nobodyさん
2007/04/26(木) 10:44:47ID:???0931nobodyさん
2007/04/26(木) 12:15:12ID:MU7hy9Ys参考にしている本のサンプルコードに
while($false !== ($entry = $d->$read())) {
(中略)
}
というコードが出てきました。
これはどういう意味でしょうか?
特に$d->$read()この「->」の意味が分かりません。
どなたかお分かりになるかた、教えてください。
0932nobodyさん
2007/04/26(木) 12:20:49ID:???/⌒ヽ) now loading ...
i三 ∪
〜三 |
(/~∪
三三
三三
三三
三三
三三
0935nobodyさん
2007/04/26(木) 12:48:32ID:???==より===で比較するほうが場合によっては処理が早くなったりするのかね
0936nobodyさん
2007/04/26(木) 12:52:50ID:???0938nobodyさん
2007/04/26(木) 12:53:39ID:???0939931
2007/04/26(木) 13:00:30ID:MU7hy9Ysレスありがとうございます。
クラス内で使用することがあることは知っていたのですが、
そのサンプルコードの中には1度もクラスが書かれていません。
ぐぐったところグローバル変数にも関係するようなのですが、
筋としてはそちらっぽいです。
もう少し調べます。ありがとうございます。
0940nobodyさん
2007/04/26(木) 13:04:16ID:???例えばこんなの
http://jp.php.net/manual/ja/class.dir.php
0941nobodyさん
2007/04/26(木) 13:05:36ID:???0942nobodyさん
2007/04/26(木) 13:13:53ID:???===による厳密な比較ってPHPだけ?
他の言語では==で厳密に比較されるが一般的なのかしら
0943nobodyさん
2007/04/26(木) 13:30:51ID:???0944nobodyさん
2007/04/26(木) 13:31:30ID:???0945nobodyさん
2007/04/26(木) 13:39:50ID:???0946nobodyさん
2007/04/26(木) 13:42:22ID:???0947nobodyさん
2007/04/26(木) 13:57:49ID:???xdebugかmicrotime()使かって10秒程度のループを数回やった記憶
0948nobodyさん
2007/04/26(木) 14:02:46ID:???0949nobodyさん
2007/04/26(木) 14:08:33ID:???0950nobodyさん
2007/04/26(木) 14:20:34ID:???あまりにレベルの低い回答者のせいで質問者が不憫に思えた時なんか。
あ、雑談という体じゃなくてちゃんとした質問時の話ですよ。
0951nobodyさん
2007/04/26(木) 14:22:39ID:???0952nobodyさん
2007/04/26(木) 14:26:58ID:???0953nobodyさん
2007/04/26(木) 14:50:00ID:UlKx/JN4こんな感じに書いてあるんですがXMLの要素が全部でちゃいます。
どうすれば指定した部分だけ取得できるんでしょうか?
print_rしても配列がいっぱいでてきてさっぱりです。
<?php
require_once'XML_Tree/Tree.php';
$xml_filename = "http://map.simpleapi.net/stationapi?x=139.8025&y=35.6657";
$xml_str = join("",file($xml_filename)); // xml_str にファイルを読み込み
$tree =& new XML_Tree();
$root =& $tree->getTreeFromString($xml_str);
if(XML_Tree::isError($root)) {
//エラー処理
}
echo $tree->get();
?>
0954nobodyさん
2007/04/26(木) 15:02:39ID:???1つのphpがPOSTメソッドを受信するプログラムだとします。
別のphpがPOSTメソッドを送信するプログラムだとします。
この時、<form action>で送信した場合画面が切り替わってしまうのですが、
これを遷移させずにデータを送信する方法は何か有りませんでしょうか…
0956nobodyさん
2007/04/26(木) 15:03:35ID:???0957954
2007/04/26(木) 15:05:23ID:6G3Gma2aすみません、忘れていました…
0959nobodyさん
2007/04/26(木) 15:11:33ID:UlKx/JN4指定の仕方がわからないんです…。
phpspotのサンプルでは
$children = $root->children;
って感じになってるんですが
$childrenをprint_rしても配列がいっぱいで…
0961nobodyさん
2007/04/26(木) 15:16:51ID:???子ノード以下のオブジェクトが返ってきてるんじゃないの?
見たい部分をそのまま指定すりゃいいじゃん。
マニュアルは読んだの?
0962nobodyさん
2007/04/26(木) 15:31:18ID:UlKx/JN4xml_tree_node Object ( [attributes] => Array ( ) [children] => Array ( [0] => xml_tree_node Object ( [attributes] => Array ( ) [children] => Array ( ) [content] => [name] => [namespaces] =>
Array ( ) [error] => [use_cdata_section] => [lineno] => 3 ) [1] => xml_tree_node Object ( [attributes] => Array ( ) [children] =>
Array ( [0] => xml_tree_node Object ( [attributes] => Array ( ) [children] => Array ( ) [content] =>
[name] => [namespaces] => Array ( ) [error] => [use_cdata_section] => [lineno] => 4 ) [1] => xml_tree_node Object ( [attributes] => Array ( ) [children] => Array ( ) [content] => 越中島駅 [name] =>.....
こんな感じに返ってきてるわけですがこれの「越中島駅」を出す場合
$content = $root->content;
print_r($content);
ってやってみたんですが上手くいかず…
マニュアルを読んでもさっぱりなんです。
0963nobodyさん
2007/04/26(木) 15:34:18ID:???0964nobodyさん
2007/04/26(木) 15:37:35ID:UlKx/JN4スマソ…これ全部一文です。
0967954
2007/04/26(木) 15:43:20ID:6G3Gma2a有難うございます。調べたところ、fsockopenで可能なようです。
ただ、この場合POST値を複数値渡す際の書き方はどうすればいいのでしょう…
http://ml.php.gr.jp/pipermail/php-users/2005-May/026044.html
の、$POST="test_key=test_value";の部分を書き換えれば良いのは分かるのですが…
0968nobodyさん
2007/04/26(木) 15:45:36ID:UlKx/JN4これって$content[ ][ ][ ][ ]ってな感じで探ってくってことでしょうか…?
>>966
http://pear.plus-server.net/package.xml.xml-tree.xml-tree.get.html
この辺かと…
全部じゃなくて指定した部分だけを返すって事ができないのでそこで悩んでおります。
0969954
2007/04/26(木) 15:51:27ID:6G3Gma2a普通にtest_key=test_value&test_key2=test_value2という風にやればいいんですね。
0970nobodyさん
2007/04/26(木) 15:53:19ID:8BvigEmE例えばあるサイトのあるフォームの
textの値を取得したいのですが.
宜しくお願い致します。
0971nobodyさん
2007/04/26(木) 15:55:59ID:???$root->children[1]->children[1]->content
みたいにアクセスするっぽいけど。
そんな事より、公式に書いてある通りXML_SerializerかPHP5でSimpleXMLとか使ったほうがいいよ。
0972nobodyさん
2007/04/26(木) 16:00:29ID:???XMLツリーを取得したらあとは自分で指定するだけ。
PHPの基本的な配列とオブジェクト操作の話。
SimpleXMLやらのサンプルにも載ってる。
>>970
他サイトを読み込んでformのvalueのところ取ってくればok
0973nobodyさん
2007/04/26(木) 16:05:14ID:UlKx/JN4なるほど…こうすれば良かったんですか。
ありがとうございます。
SimpleXMLはサーバーがphp4しか対応してないのでできませんでした、
XML_Serializerをちょっと見てみます。
0974nobodyさん
2007/04/26(木) 16:05:47ID:???>php4しか対応してないので
>php4しか対応してないので
>php4しか対応してないので
>php4しか対応してないので
0975nobodyさん
2007/04/26(木) 16:09:20ID:???0976nobodyさん
2007/04/26(木) 16:10:17ID:UlKx/JN4…失礼しました。
レンタルなので自分の環境ではphp4しか使えません。
0977nobodyさん
2007/04/26(木) 16:15:49ID:???0978nobodyさん
2007/04/26(木) 16:16:09ID:g6GrkNsN0980nobodyさん
2007/04/26(木) 16:21:34ID:UlKx/JN4会社で指定されたサーバなので変更ができないんです…。
なんとか使い方わかりました。
ありがとうございました。
0982nobodyさん
2007/04/26(木) 16:23:56ID:???0983nobodyさん
2007/04/26(木) 17:27:35ID:???それとも単に要望が出てないから放置してるか、ただめんどくさいだけなのか
0984nobodyさん
2007/04/26(木) 17:41:28ID:???運用中のサーバのソフトのメジャーバージョンをホイホイ上げる管理者も珍しいんじゃないか。
0985nobodyさん
2007/04/26(木) 18:00:49ID:???バグフィックスならともかく、メジャーバージョンをあげるのは
躊躇するだろう
0986nobodyさん
2007/04/26(木) 18:11:51ID:???0987nobodyさん
2007/04/26(木) 18:18:16ID:???0988nobodyさん
2007/04/26(木) 18:42:09ID:???0989nobodyさん
2007/04/26(木) 18:48:45ID:???変えるとしても、準備期間で最低でも告知から1ヶ月ぐらいは無理だろうね。
Xreaとかそこら辺の安い鯖借りておけば良いと思うよ。
0990nobodyさん
2007/04/26(木) 23:25:16ID:???読んでみましたところ排他制御の機能のようです
知りたかったのは1度に2つのファイルを編集レてて片方だけが異常終了した場合の不都合を防ぐ方法だったのですが
セマフォで出来るもんですか
もうすぐ次スレになっちゃうけど
0991nobodyさん
2007/04/27(金) 00:19:43ID:1wO6WmX/今、WAMP+DWで組んでるが
EclipsってPHP開発ソフトと見ておk?
0992nobodyさん
2007/04/27(金) 00:32:58ID:???PHPオンリーならやっぱZendの方が向いてるかも。
0993nobodyさん
2007/04/27(金) 00:34:10ID:???どんな感じなんだろう。
0994nobodyさん
2007/04/27(金) 00:34:53ID:1wO6WmX/サンクス
Zendにしてみるお
フリーだよな・・・
0995nobodyさん
2007/04/27(金) 00:37:22ID:???Eclipsはフリーなんだから迷う前に使ってみればいいだろう
0996nobodyさん
2007/04/27(金) 00:38:59ID:???0997nobodyさん
2007/04/27(金) 01:40:47ID:???0999nobodyさん
2007/04/27(金) 02:20:19ID:???最近見なくなったよな・・・
1000nobodyさん
2007/04/27(金) 04:34:40ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。