トップページphp
1001コメント319KB

【PHP】下らねぇ質問はここに書き込みやがれ 44

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2007/04/12(木) 16:54:47ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
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:???
【簡易FAQ】
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:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきは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に保存?
 → 好きにしてください
0006nobodyさん2007/04/12(木) 17:08:16ID:???
>>1
スレ立て乙

最適化テンプレは貼るなよw
0007nobodyさん2007/04/12(木) 17:34:39ID:W4YgAsOn
あのう、昨日からPHP+MySQLの独学を始めようと思って大型書店にいったらほとんど
PHP+MySQLの本がなくて、アマゾンや有隣堂で検索してみると大部分のこの手の本が絶版に
なってるんですが、もはや主流ではなくなったってことですか?
0008nobodyさん2007/04/12(木) 18:08:12ID:???
個人ユースならSQLiteでいいんじゃないの?
0009nobodyさん2007/04/12(木) 18:10:26ID:???
>>7
主流かどうかはしらないけど、
普通にPHP+MySQL使ってるよ。
本がないならWebで勉強するのも手だと思う。
資料たくさんあるしね。
0010nobodyさん2007/04/12(木) 18:19:41ID:???
>>7
別々の本で良いんじゃないの
あとはオンラインヘルプを使うのに抵抗がなくなったら
十分だよ
0011nobodyさん2007/04/12(木) 18:26:29ID:jGSSJUCn
$today = 2007-04-12 18:24:00 //現在の日時
$period = 5 //表示する期間

こういう条件だとして、現在の日時から終了日時を割り出したいと思っています。
(2007-04-17 18:24:00 こう表示したい)

そこで
echo date("$today",strtotime("+$period day"));

とかしてみましたが、思い通りになりません。どのように記述したら良いのでしょうか?
0012nobodyさん2007/04/12(木) 18:42:36ID:???
>>8-10
どうもです。入門用の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虚弱PHP2007/04/12(木) 19:48:07ID:???
入門用のPHP+MySQL本がコレクター価格…。
これを買うのはもう愚行。

PHP本なら定番はマンモス本かなぁ?
赤マンモスが初心者向け。
0015nobodyさん2007/04/12(木) 20:48:31ID:???
>>11
$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));

こんなん?
てきとーだから動かなくてもしらん
0016112007/04/12(木) 20:52:33ID:???
>>15
いえ、$todayは保存されているデータです。
ですので、その書き方では無理かと思います。。
0017nobodyさん2007/04/12(木) 20:56:11ID:???
>>16
エラソウだなお前。質問に答えてもらってるのに。
一旦UNIXタイムに直せ。その上で日付に直すのが早いだろ。
0018112007/04/12(木) 20:57:53ID:jGSSJUCn
>>17
すみません、ID晒します。

>>15さんの方法でいけました。自分が書いた>>1を分解して
mktimeに当てはめたら、希望通りになりました。ありがとうございました。
0019nobodyさん2007/04/12(木) 21:14:49ID:???
>>12
その程度ならファイルベースでいいだろ。
0020nobodyさん2007/04/12(木) 21:57:37ID:???
>>974
[0-9]{1,2}|100
では?
0021nobodyさん2007/04/12(木) 22:15:31ID:???
それでいいと思う
0022nobodyさん2007/04/12(木) 23:48:19ID:???
>>12
イマドキ、特定のRDBMSに特化したようなPHP解説本は時代遅れ。

二昔ほど前は、Perl/CGIではRDBMSを使わない人が多かったせいで
DBサーバーの設置方法から解説しないと十分にPHPを使いこなせない場合が多く、
それでPHP+MySQLをまとめて解説するような「くだらない初心者向け本」が多かったが
そんな本には元々価値なんてほとんど無いんだよ。
今はPerl/CGIも含めてRDBMSを使うのが常識なので、あえて解説する必要は無くなり
役に立たない本が淘汰されただけ。
0023nobodyさん2007/04/12(木) 23:51:12ID:???
txtのみアップロードできるアップローダでファイル名と1行コメントを指定して検索機能を付けたいんですけど
データベースとの連携って必須だと思われますか?
phpのみでいけそうですか?
0024nobodyさん2007/04/12(木) 23:54:19ID:???
>>23
必須かどうかと問われたら全然必須じゃない。
元々、RDBMSが「必須」になる場合ってのはほとんど無く、
大抵は信頼性・高速性・機能性を求めて
「より良いものとして」RDBMSを使うことを選択するものだ。
それらの条件を捨て去れば、ほとんどのシステムはRDBMS無しでも組める。
0025nobodyさん2007/04/12(木) 23:58:57ID:???
素早い回答ありがとうございます。
phpの処理は軽いと聞くのでDB無しでも大丈夫そうかな?
でもアップローダ色々探してみたんですけど検索機能の付いたものって1つも見つからないんですが
やっぱり自分でつくってみるしかないのかなぁ。
0026nobodyさん2007/04/13(金) 00:03:57ID:???
>>25
PHPの処理が軽いってのはCGIと比べてのオーバーヘッドの有無の話で、
ファイルアクセスとかは全然速くないので今回の話とはまるで関係しない。

大丈夫かどうかは「要求するシステムの性能」による。
・アップロードされるファイルがどのくらいの数があるのか
・同時に何人くらいのユーザがアップロードや検索をかけてくるのか
・予想される最大アクセス時にどのくらいの速度で検索結果を出したいのか
によって選択すればいい。
これらが大したことないのであればDBは無くてもそれほど困らない。
ただ、DBを使えば複数同時アクセス時にログが壊される心配などが無くなるので
気楽にプログラミングができるというメリットもある。
0027nobodyさん2007/04/13(金) 02:02:30ID:???
>ただ、DBを使えば複数同時アクセス時にログが壊される心配などが無くなるので
>気楽にプログラミングができるというメリットもある。


ふ〜ん(笑)
0028nobodyさん2007/04/13(金) 02:08:16ID:???
しかしPHPは楽しいな
最近C#も楽しい。

ただJavaだけは好きになれない。
全く持って面白くない。なんでだろ?
0029nobodyさん2007/04/13(金) 02:30:00ID:5ULGyn4l
前スレ埋まったんで再質問
SHA1って非可逆なん?cryptよりもいいん?
0030nobodyさん2007/04/13(金) 02:34:26ID:???
>>27
あんで?書き込みのコンフリクトに関しては、DB側(例えばMySQL)で処理してくれるんちゃうん?
0031nobodyさん2007/04/13(金) 02:50:34ID:???
>>29
ハッシュってのは基本的に不可逆。
強度はSHA1>MD5>crypt(DES)
0032nobodyさん2007/04/13(金) 10:19:02ID:6sDwYx0u
ちょうどDBがらみの話題が出てるので便乗質問です。
DBを登録更新するものと、DBから取り出してきて表示する2つのスクリプトがあるのですが、
ちょうど更新中に、表示側のスクリプトにアクセスしたときってどうなるんですか?
DBの更新は100項目5秒ほどで終わると思うのですが、
更新したとこまでのデータがちゃんと表示されるのかな?
0033nobodyさん2007/04/13(金) 10:20:15ID:???
トランザクションのかけ方による
0034nobodyさん2007/04/13(金) 10:29:42ID:6sDwYx0u
>>33
ナルホド・・・
クエリーを上から1つずつ実行してるので、
更新したとこまでしか表示されなさそうですね。
どうまとめるか今のスキルじゃ検討がつきませんが、
そのうち全て1回で処理するように書き換えたいですね。
0035nobodyさん2007/04/13(金) 10:30:57ID:???
>>32
100項目の更新ってupdateを100回なのか?1回のupdateで100項目が更新されるのか?
1回のupdateで全部更新されるなら、それが終わるまではselectが止まる。
よって5秒後まで表示自体が行われない。
100項目がバラバラのupdate実行ならそこまでの内容が表示される。
0036nobodyさん2007/04/13(金) 10:34:08ID:???
>>34
全部更新されるまでselectできないようにするなら
update前にlock tableをかけとく手もあるよ。
0037nobodyさん2007/04/13(金) 10:36:06ID:6sDwYx0u
>>35
効率は悪いかもしれませんが100回updateです。
1回のupdateにかかる時間は、0.1秒〜1秒ほどで、
それを100回行っています。

>1回のupdateで全部更新されるなら、それが終わるまではselectが止まる。
>よって5秒後まで表示自体が行われない。

これは困りますね。最長1分ぐらいは止まるので。
0038nobodyさん2007/04/13(金) 10:49:22ID:6sDwYx0u
>>36
実はSQLは覚えたてなので、lock tableなるものは知りませんでした。
DBの排他制御ですか。
全部更新されるまでは1分以上とまる可能性があるのでやめようと思います。

>更新をできるだけ早く処理するために、WRITE ロックは、通常、READ ロックより優先されます。
>そのため、あるスレッドが READ ロックを取得し、別のスレッドが WRITE ロックを要求している場合、
>後続の READ ロック要求は、WRITE スレッドがロックを取得し、その後そのロックを解除するまで待機します。

ということなので、update文1つ1つにWRITEロックをし、表示スクリプトにREADロックをしようと思います。

なんかスレ違いすみませんでした・・・
0039虚弱PHP2007/04/13(金) 10:56:20ID:???
>>38
いや、その使い方なら明示的にロックする必要がないと思うけど。
ってか、update遅すぎないですか?
0040nobodyさん2007/04/13(金) 11:04:01ID:???
>>39
必要ないですか?ならばしないことにします。
書き方が悪かったです。
update処理自体はすぐ終わるのですが、
update内容を取得するプログラムが、
サーバの応答時間によって変わるので、
(サーバダウン時の対策でtimeoutを1秒に設定しているので最長1秒)
それで処理が遅れるっていう話です。
DBとは無関係でしたね。すみませんorz
0041nobodyさん2007/04/13(金) 11:20:35ID:???
>>40
なら先にデータを全部取得してから一気にupdateかければ?
0042nobodyさん2007/04/13(金) 11:23:01ID:???
普通にupdateしてる部分をBEGIN〜COMMITで
1トランザクションにすればいいだけじゃないか?
それで全部updateする前かした後かどちらかになるっしょ
selectが止まることはない
0043nobodyさん2007/04/13(金) 11:36:44ID:6sDwYx0u
さっきage忘れてました・・・

>>41
更新感覚が3分と短いので、取得に1分かかっては4分ということになってしまうので、
順番に登録という設計にしたのですが、やはりこっちのほうがいいですかね。

>>42
これがトランザクションの開始ですかー
勉強になります。(PHPスレで何勉強してるんだorz)
timeout感覚を0.1秒(100ミリ秒)にして、(これなら最長10秒ほどに)
>>41さんの設計にして、BEGIN〜COMMITでupdateしてみたいと思います。

スレ違いに付き合っていただいて感謝です。
0044nobodyさん2007/04/13(金) 11:47:18ID:???
じゃ2分ごとに処理を実行させればいいじゃん?

どういう更新しようとしてるか分からないから何とも言えないけど、
データ取得とSQL発行は普通は分けるね。
まとめて取得+トランザクションやればまず確実じゃね。
0045nobodyさん2007/04/13(金) 11:52:19ID:6sDwYx0u
>>44
>じゃ2分ごとに処理を実行させればいいじゃん?
3分ほぼちょうどに拘りたくて。
ただよくよく考えると、後ろのほうのデータがどっちみちずれるので、
"だいたい"3分でいいですよね。ちょっと拘りすぎてました。

>データ取得とSQL発行は普通は分けるね。
>まとめて取得+トランザクションやればまず確実じゃね。
参考になります。一般的にこうならやはり分けることにします。
これ以上はDBスレっぽくなってしまうので、これで引きたいと思います。
皆さんお答えくださってどうもありがとうございました。
0046nobodyさん2007/04/13(金) 12:48:40ID:???
>>45
ンギモッヂワルイ!
0047nobodyさん2007/04/13(金) 13:34:41ID:???
今日のランチはカレーかとんかつでガッツリ食べようかと思うんですが、
どちらがいいでしょうか?
0048nobodyさん2007/04/13(金) 13:35:51ID:???
カツカレーでいいんじゃね?
0049nobodyさん2007/04/13(金) 13:44:24ID:???
>>48
その発想はなかった カツカレー行ってくる
0050nobodyさん2007/04/13(金) 14:38:34ID:pJrPoZVN
前スレで実況配信が流れているかとヴかweb上でチェックする方法について聞きましたが

fsockopen ($addr, $port, $errno, $errstr, $timeout);
で配信している時の確認はいいのですが、配信してない時には

>>環境によってはUNIXドメインまたはオプションの接続タイムアウトは利用 できません。
というわけで永遠に探しに行って固まります。

なにかfalse時の良い処理はないでしょうか?
0051nobodyさん2007/04/13(金) 14:45:21ID:???
>>50
子プロセスを起動して一定時間たったら親にシグナルとか?
シグナルトラップもブロックされるかな。
0052nobodyさん2007/04/13(金) 15:14:41ID:???
setcookieしてからリダイレクトヘッダを吐くと、
ちゃんとクッキーを食べさせてからリダイレクトされますが、
これはブラウザの標準的な動作ですか?
ブラウザによって、このやり方では駄目ということはないでしょうか?
トリッキーなやり方の気がして
動かない環境があるか気になってます。
0053nobodyさん2007/04/13(金) 15:27:50ID:???
PHPの基礎くらいはわかったのですが、例えばブログシステムを作るとして関数をひいただけでは初心者には難しいです。どんな工程が必要でそのためには何の関数を使うとかが知りたいです。参考になるURLなど教えてください。phpのマニュアルは勘弁してください(._.)
0054nobodyさん2007/04/13(金) 15:30:16ID:???
>>53
君はプログラムには向いてないと思う
0055nobodyさん2007/04/13(金) 15:36:44ID:???
いきなり難しいことやろうとしても無理。
マニュアルを見ながら、数行の簡単な処理をこなしていけば、
自然とできるようになるもんだよ。

>どんな工程が必要でそのためには何の関数を使うとかが知りたいです
それは作る人によって工程は異なるし、使う関数も異なる。
実装する機能によって異なってくるから決まったものにはならない。
プログラムの面白いところは、1パターンではなく、
何パターンのやり方でも、結果として同じものが作れるという所。
0056nobodyさん2007/04/13(金) 15:59:00ID:???
空のString ""を返してもいい箇所なのですが、
何も返さないというときに返り値にnullを指定してもいいんですよね?
結果はどっちとも同じになるのですが、意味あいが違うんだと思います。
nullっていまいちよくわからない・・・
0057nobodyさん2007/04/13(金) 16:05:25ID:???
条件判断で自分のわかりやすいおのぞみの処理を行えば良いじゃん
0058nobodyさん2007/04/13(金) 16:33:27ID:???
>>54
それは承知です。しかし、覚え方のタイプの違いだと思うのですが。
確かに理系の頭ではないです。

>>55
では、参考になるコードが書かれているURLなどありますでしょうか?
よろしければ教えてください。
0059nobodyさん2007/04/13(金) 16:52:03ID:???
ゆとり世代か?
公開されてるソースが腐るほどあるだろ
0060nobodyさん2007/04/13(金) 17:00:59ID:???
>>56
むしろreturnを書かなくていい。値を返さないってことでnullになるから。
もし条件によって値を返さない時があるなら、
return;だけで値は書かなくていい。これも同じくnullになる。
空の文字列は普通に空の文字列、nullは値がないって事。
たとえばisset()でfalseになるとかね。

しかしID出さないの増えたね。
0061nobodyさん2007/04/13(金) 17:03:44ID:???
何か目前の課題があるならそれを、なければ自分の作りたいものを何か決めて、
現在の実力でできる範囲でいいからそれを少しずつ作っていく。
その過程で分からないことが出てくるからそれを随時調べたり、
調べていく過程で興味を持った情報を深く調べてみたりしてれば、自然にレベルアップしていくよ。
0062nobodyさん2007/04/13(金) 17:08:09ID:???
>>56
おれはソースの可読性をとってreturnでtrueもfalseも書いてる
0063nobodyさん2007/04/13(金) 17:10:38ID:???
作り方が分からないならまだそれを作る段階にでないという事。
作り出すため何が必要か情報収集して、実際に色々作ってくしかないわな。

ある程度やったら作り始めるのが一番早いだろうし。
0064nobodyさん2007/04/13(金) 17:34:46ID:???
>>63
すごいよくわかる。
やりたてのころはいきなり掲示板とかメールフォームをつくりたくて教本とか
webからコードぱくってたけどけど、
勉強していくうちに知識をためてくと自分らしい組み立てができるようになった
0065nobodyさん2007/04/13(金) 17:35:33ID:???
どうでもいいはなしだけどPHPのはじめの一歩はHello Worldでもなくてphpinfoだと思う。
0066nobodyさん2007/04/13(金) 17:52:17ID:???
便乗するけどシンプルで読みやすい定番て無いの 初心者向けの
前質問したらどれでも好きなの嫁って言われて困ってphpshotの掲示板読もうとしたけどよく読めなくて
今はとりあえずレッツphpの掲示板読んでる
作りたいのは掲示板じゃないんだけど掲示板の動作が参考になるかなと思って

こうしたらもっと効率よく出来る ってより こういう場合は定番としてこういう処理する ってのが知りたい
公開されてるものが腐るほどあるのはわかる でもどれ見ていいのかよくわかんないんだよ
0067nobodyさん2007/04/13(金) 18:07:01ID:???
マニュアルの関数の載ってるページみて使い方覚えろ。
まずは配列関数のarrayから。その次にempty。その次に・・・
と順番にこなしていけ
それでおぼえる
0068nobodyさん2007/04/13(金) 18:09:26ID:???
>>66
まさにそれです。
技術者は先生に向かないな。
0069nobodyさん2007/04/13(金) 18:12:14ID:???
>>66
ひとつ、ひとつ作りこんでいけばいいだけだよ。

まずはフォームに入力したデータをcsvファイルに書き込む、
次にそのcsvファイルをHTMLで一覧表示する、
次に10件ずつデータを表示して「次のページ」のリンクを表示させる。。。
という感じで。

まず何を作りたいか設計して、順番に作っていくのが基本だから、
その作業の中で、そこはどう処理しているのか参考になりそうなスクリプトを
見ていけば理解は早いかと。というより初心者向けの本を何冊か手元において
おけば、必ず分かりやすい解説がどこかの本にあるとおもう。

あとはばかばかしいかもしれないけど、参考にしたいスクリプトをそのまま
模写、つまり打ち直す。厳しいけどそれが習得の基本らしいよ。
0070nobodyさん2007/04/13(金) 18:12:30ID:???
>>58
SNSを作る程度のプログラミングなら理系である必要は全く無い
0071nobodyさん2007/04/13(金) 18:16:00ID:???
PHPでプログラム書く奴に過度の期待してもだめだと思うぞ...
プログラムセンスある奴にはウケが悪い言語だからw
0072nobodyさん2007/04/13(金) 18:18:11ID:???
>>71
それは他の言語でも言ってるやついないかw
PerlでもPythonでもさw
0073nobodyさん2007/04/13(金) 18:18:47ID:???
仕事で他人のを読まないといけない場合や、部分的に参考にするなら話も変わってくるが、
他人の書いたソースを一から読み進めるのってよっぽど読みやすい書き方してない限りはただの苦行だぞ
0074nobodyさん2007/04/13(金) 18:19:00ID:???
phpspotは知らんけどレッツPHPのスクリプトって古すぎじゃないか・・・?

他のスクリプトを読むのはいいけどその背景となってる考えを理解しないと最悪な勉強法だぞ。
掲示板作るために何をすればいいかさっぱり分からないうちは、ソースを読むことではなくもっと基礎を学ぶ時期だと思うが。

ちなみに定番を知りたいならマニュアルが最高にお勧め。
0075nobodyさん2007/04/13(金) 18:21:22ID:???
最初なんてなんでもいいよ
適当にソース拾ってきてごちゃごちゃいじってりゃ
嫌でもわかるようになるだろ
悩む暇があったら読め書けそして動かせ
0076nobodyさん2007/04/13(金) 18:24:25ID:???
>>66
>こういう場合は定番としてこういう処理する
具体的にどの場合か、ここで質問しちゃうほうがいいんじゃないの?
5通りぐらい方法が出てきたら笑うけどw
0077nobodyさん2007/04/13(金) 18:35:38ID:???
定番がどうとか、効率がどうとか最初のうちから気にする必要無い
ちゃんとローカルなテスト環境作って、とりあえず動かすことだけ考えて前に進みまくれ
あまりにもおかしい書き方はそのうち気付く
0078nobodyさん2007/04/13(金) 18:35:49ID:???
phpspotやレッツPHPに載ってるスクリプトのソースなんてゴミだよ
むしろ変な癖つくから絶対参考にしないほうがいい気がする
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:???
>>68
手取り足取り教えてもらっても、全く自分のためにならない。
人に聞いてしか問題を解決出来ないならプログラムなんか出来ないよ。

ヒントや自分で探す術を覚えない限り、教えてもらって終わり。

そのレベルに達していないなら、まずは気に入ったテキストとマニュアルと関数逆引きを読んでみるべき。
0083nobodyさん2007/04/13(金) 19:40:35ID:???
WindowsVistaがほしい

名前で検索する→ひっかかったサイトを自分で見に行って時間をつぶす

【ほしい】を【買う】へ→【買う】から【ショッピング】に変換する

でてきたサイトをチェック

ヤフーショッピングでWindowsVistaが買えることがわかったが、
いろんなバージョンがあってどれを買えばいいのかわからない。

検索キーワードを変えて振り出しにもどる


上級者だってはじめから何でもわかるわけでもなかったんだ。
何か壁にぶつかったら自分で検索して調べる能力があるだけでも効率があがるから
0084nobodyさん2007/04/13(金) 19:46:42ID:???
>>78
でも他の人がどう処理しているのかは気になる。
今、プログラム系の学校とかどうなんだろ。
チュートリアルをこなすだけなのかな?
自分のスクリプトを評価してくれる人はちょっと欲しい。
0085nobodyさん2007/04/13(金) 19:47:55ID:???
プログラムの評価なんてバカげてます
0086nobodyさん2007/04/13(金) 20:10:11ID:???
>>73
トレースって意外と大事よ
C言語検定の1級とかだるかった
0087nobodyさん2007/04/13(金) 20:12:46ID:???
はいはいそうだね
0088nobodyさん2007/04/13(金) 20:13:58ID:???
C言語検定が既に大事じゃない
0089nobodyさん2007/04/13(金) 20:17:19ID:???
>>84とか>>86がプログラミング楽しいとか思ったことあるのかが気になるな
プログラミングヲタになれないと続かないし伸びないよ
0090虚弱PHP2007/04/13(金) 20:21:18ID:???
PHP Webアプリの参考ソースは、フレームワークじゃない?
俺はソース読んだことないけどw

定番とかは確かに知りたくなるもんだけど、
その前にスパゲッティソース作ってにっちもさっちもいかなくなる経験はした方がいいと思う。
0091nobodyさん2007/04/13(金) 20:27:51ID:???
結論:楽してプログラムが身に付くと思うな
0092nobodyさん2007/04/13(金) 20:44:51ID:???
まー自分にあったやり方でできる範囲でやりゃいいよ
0093nobodyさん2007/04/13(金) 20:48:57ID:???
>>90
てか、今まさにその状況だw
すぱげっちーすぎてヤバイことになりだしてる
0094662007/04/13(金) 21:23:47ID:???
みんなありがと 全レスしないけれど参考にする

自分なりにどんどん書いて動いた。
動かないときは手直ししていけばそれでよかったんだけど逆に動いてるときに
これでいいのかな?何かまずい処理してなかったかな?
って気になって他人の定番のソース見るのがいいかと思ったんです
定番と比べて抜けてる処理があれば自分の見落としがわかるかなあと。

自分で気付くようになるまで放置で大丈夫なんですね。ありがと
0095nobodyさん2007/04/13(金) 21:26:22ID:???
いやダメだけどw

まぁ遊びならいいんか
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:???
あれだ、ペアプログラミングでもやってろってこった
0099nobodyさん2007/04/14(土) 00:13:17ID:???
>>98
新卒の娘とペアプログラミングあ;sjdlkふぁ;sljふぁ;うぃf!!!!!!
0100nobodyさん2007/04/14(土) 04:02:34ID:????2BP(396)
このプログラムで$noline=file('comment.txt');から
以後の処理はロックかかってる事に
なってるんですかね?
ロック解除まで

$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:???
>>100
fclose前のロック解除は不要だしあまり推奨もされない。
バッファフラッシュ前にロックを解除しちゃあかんよ。
fcloseすればバッファをフラッシュした上でロックも自動解除してくれる。

flockでのロックは「他のプログラムも同じ方法でロック処理をしてくれている」
という前提で使うものだが、それが満たされているなら特に問題はないかと。
NFS環境とかでは正常動作しなくなったりするけどな。
0102nobodyさん2007/04/14(土) 06:07:20ID:???
>>89
WEB制作はプログラムのスキルだけじゃだめだからねえ。
PHP使えるWEBデザイナーも増えてきてるし、WEB制作の中の
ひとつの技術としてとらえるのが普通じゃねえかな。
オタプログラマーじゃなくてWEB制作オタなんだよね。
0103nobodyさん2007/04/14(土) 09:19:06ID:???
>>102 PHP使えるWEBデザイナーは センス無いからPHPを覚えるわけだが・・・。
0104nobodyさん2007/04/14(土) 09:49:01ID:NyirOBTJ
>>103
俺のことか
0105nobodyさん2007/04/14(土) 09:53:14ID:6mTTKqeL
他人の部屋を盗み見て喜んでいる変態どもの癖に
いっちょ前に
善人面こいて偉そうに他人を評価できると思っている
ずうずうしい滑稽な
糞団地住民ども死ね。
0106nobodyさん2007/04/14(土) 12:15:24ID:Okv6CUFW
スレタイ通り下らない質問を二つほどさせてくれ。

1.クラスや関数・変数などのネーミングはPascal Camel どちらが推奨、というか基準みたいなのある?

2.if とか foraech とか(自作問わず)関数とかで使う半角スペースってなんか基準ある?
if($i=0) //スペース全くなし
if ( $i = 0 ) // ()の前にも、()内の前後にもスペースあり

我ながらくだらね〜質問かと思うけど、プログラマーさんなら結構いいたいことがあるかな〜と期待してw
0107nobodyさん2007/04/14(土) 12:20:02ID:???
>>106
PEARとかZFのコーディング規約を見ればいい
その質問の答えも全部書いてある
0108nobodyさん2007/04/14(土) 12:28:30ID:???
>>106
PEARとかZFのコーディング規約を見ればいい 
その質問の答えも全部書いてある 
0109nobodyさん2007/04/14(土) 12:34:53ID:???
>>103
逆だ。
技術を次々と習得できる人間はだいたい優秀なんだよ。
デザインセンスのないやつはPHPを覚えるセンスもやっぱりない。
最近は才能格差が激しいね。
0110nobodyさん2007/04/14(土) 12:40:44ID:???
PHPとは
下等生物に相応しい下等言語。
HTMLに毛が生えた程度のレベルであり中学生でもマスターできる。
むしろPHPを覚えることは恥である。
このような恥ずかしい言語をマスターしていい気になってるやつは
(ry
0111nobodyさん2007/04/14(土) 12:45:51ID:???
>>109
だめなやつはなにをやっても…

>>110
中学生でも使える言語をマスターしてないお前は
世間の笑いものだな…
0112nobodyさん2007/04/14(土) 12:46:27ID:???
こういうことを仕事にする場合は少しでも関係のある事柄は積極的に勉強する方がいいね
専任のWebデザイナーやネットワーク技術者が居てもね
プログラミングヲタでもWeb製作ヲタでもいいけど、ヲタがヲタ知識を増やす要領で勉強する方が楽しいし伸びるよって話

>>110みたいなタイプのヲタではダメだけどねw
0113nobodyさん2007/04/14(土) 13:33:56ID:xk0Q7Wzm
http://dream.lib.net/room/next.html
このひとってまだ生きてるの?
01141062007/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";
0117nobodyさん2007/04/15(日) 01:08:14ID:???
>>116
ID出したら答えてやる
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";
0119nobodyさん2007/04/15(日) 01:10:45ID:???
>>118
さぁな
自分で考えろ
0120nobodyさん2007/04/15(日) 01:12:48ID:???
嫌われてるだろw
0121nobodyさん2007/04/15(日) 01:23:01ID:???
>>118
ちゃんと403が返ってきてるじゃん
0122nobodyさん2007/04/15(日) 01:32:24ID:???
ま・まさかまた、example.comって落ちじゃw
0123nobodyさん2007/04/15(日) 01:33:40ID:???
違うならきちんとテストしたソースを全部張ってね。
行数沢山あるなら、小さく抜き出してテストしてから張ってね。

多分これを自分でやるだけで解決したりするだろうな。
01241182007/04/15(日) 01:45:33ID:???
>>122-123 もちろん、実際のURLは http://www.example.com/ ではありません。
0125nobodyさん2007/04/15(日) 01:46:40ID:???
IDだせと言われたレスにたいしてコメントもせずに
IDだしてまた同じ内容で投稿してるのはDQN認定
0126nobodyさん2007/04/15(日) 01:51:21ID:???
ID出てないからニセモノだな

URLはgoogleとか絶対繋がるのでテストしてるんだよね?

とにかくきちんとテストしたソースとエラーをまんま出すのが早い。
0127nobodyさん2007/04/15(日) 01:54:05ID:???
fsock関数使えば?
0128nobodyさん2007/04/15(日) 01:56:01ID:???
>>126
つながってるだろ。>>118の希望とは違う返事が来てるだけ。
01291182007/04/15(日) 02:02:33ID:ULXkJ/GO
>>125-126

度々失礼しました。

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:???
たんにそこからPHPでの接続が拒否されてるんじゃね。
っていうか403の意味調べた?

>>127とかPEARでなんとかなるんじゃない
0131nobodyさん2007/04/15(日) 08:15:42ID:???
単に>>129が使ってる、そのスクリプトホスト(あるいはそのプロバイダの関連IP全体)
からのアクセスが禁止されてるだけじゃないの?
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
>>101
お返事遅くなりました、
大変に参考になりました
本当にありがとうございました。
0137nobodyさん2007/04/15(日) 17:30:46ID:???
さて厨房が多くなる時間になりましたよ
0138nobodyさん2007/04/15(日) 17:59:40ID:???
Yahoo・Skype・GoogleTalkなどのボイス&ビデオチャットができるメッセンジャーのIDを登録表示させて目的ごとにマッチングさせるサイト作りたいんです。
(出会い系ではありません)
一行掲示板の改造がいいかと思うのですが、スクリプトやアドバイスありましたらお願いいたします。
0139nobodyさん2007/04/15(日) 18:02:55ID:???
特にありません
0140nobodyさん2007/04/15(日) 18:31:28ID:???
>>139
ちょっとぐらいアドバイスしてやれよ。

>>138
うーむ。特にないね。
0141nobodyさん2007/04/15(日) 18:33:49ID:???
>>138
改造の前に、一行掲示板作ってみて仕組み勉強しろ
0142nobodyさん2007/04/15(日) 18:34:59ID:???
その通りですね
0143nobodyさん2007/04/15(日) 18:40:46ID:???
>>142
まぁ、すぐに作りたいなら改造でもいいと思う
俺も最初はすぐに高性能の掲示板を作りたくて、
できたところで穴だらけだったがな
0144nobodyさん2007/04/15(日) 19:11:56ID:???
というか、一行掲示板ぐらい自分でプロト作れんやつが
まともな改造とかできるわけないだろう。
0145nobodyさん2007/04/15(日) 19:45:57ID:???
一行掲示板なんて数十行でかけるんだからそのくらい勉強しろ。
わからなくなったらここで聞け。
最初から何もしないで聞くなバカ
0146nobodyさん2007/04/15(日) 20:53:39ID:R8yXAJQX
PHP4とPHP5を共存したいとおもいましてCGIで実行できる形でインストールしたいのですが、
モジュールとして実行することに対して、
パーミッションの設定と速度の面を除いて何か制限されることはあるのでしょうか?
0147nobodyさん2007/04/15(日) 20:56:53ID:u9QEq4CQ
WAPM環境で開発している人に質問です。

自分はウェブデザインの勉強をしていたのでDWを使っているのですが、
WebプログラマとしてはDWは不評のようで・・・

何のソフトを使っていますか?
0148nobodyさん2007/04/15(日) 20:57:46ID:???
>>145
ごもっともですが、いいアドバイスあればみっけもんでしょ。
それと、スレタイ。
0149nobodyさん2007/04/15(日) 20:58:32ID:???
PHPを片手間に嗜む学生ですがwordやpowerpointなどを良く使ってます
0150nobodyさん2007/04/15(日) 20:59:02ID:???
>目的ごとにマッチングさせるサイト
とあるが、つまり目的別でユーザーのIDを表示するってことかな?
だったら、データベース使わないと厳しいかも
0151nobodyさん2007/04/15(日) 21:02:23ID:???
>>147
それは実行環境のこと?
XAMPPで検索してごらん。便利よ。
ソフト板にもスレあるから。

あ、いや、エディターですね。
Ecripsなんかは有名ですね。

ちなみにMSがDWみたいなもん作ったらしい。
こちらもスレがある。
どこだったっけ。
探してくださいな。
0152nobodyさん2007/04/15(日) 21:03:31ID:???
>>150
いや、目的は最初からページごとに分けるんでDBは必要ないかと。
0153nobodyさん2007/04/15(日) 21:04:43ID:???
>>147

べつにdreamweaverでいいと思うよ。
正規表現、ツリー表示、コード保管しか使ってないけどSOHOとして仕事してるよ。
デバックはできないけど、・・あっても必要ないと感じてる。
会社に勤めてたころはEclipseでPHPコード書いてたけどべつに今は別にイラネ。


ようは使う人の効率があがれば何使ってもいいんじゃないの?
0154nobodyさん2007/04/15(日) 21:06:45ID:???
>>150
関係ないだろ。
0155nobodyさん2007/04/15(日) 21:07:21ID:???
>>147
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:???
はいはい
0159nobodyさん2007/04/15(日) 21:13:25ID:???
どなたか>>138おながいします
0160nobodyさん2007/04/15(日) 21:15:40ID:???
気になったんだが
DWいじると、HTMLでの作成ではPHPカラーつかないけど
PHPではつくよな?
PHPでHTMLのカラー+PHPのカラーがつくような設定ってないの?
0161nobodyさん2007/04/15(日) 21:18:07ID:???
>>147
BBSとかちょっとした物作るならTeraPadあれば十分すぎる
ある程度大きいもの作るなら俺はEclipseかな?
まぁ、デバッガ使わずにprintデバッグしてるけどねorz

Windowsだからあんまり使わないだろうけどLinuxならvi最強
0162nobodyさん2007/04/15(日) 21:47:33ID:???
>>160
色分けはxmlに設定が記されてるから直接いじればできるよ
0163nobodyさん2007/04/15(日) 22:01:45ID:y9EClMBI
http://www.dotup.org/uploda/www.dotup.org1535.txt

出力
「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を呼び出すとそうなる仕様なのでしょうか?
0164nobodyさん2007/04/15(日) 22:09:08ID:???
>>163
ttp://ga.sbcr.jp/news/0703/078/images/12.jpg
0165nobodyさん2007/04/15(日) 22:10:16ID:???
>>163
エラー文には「SQL構文にエラーがあるよ」って書いてるので
SQLのinsert構文をもう一度確認してみてはいかがですかね
01663872007/04/15(日) 22:12:18ID:???
>>159
2ちゃんっておもしろいね、やっぱ。
ID表示されないことを利用して成りすます奴が居るとは。
0167nobodyさん2007/04/15(日) 22:16:23ID:y9EClMBI
>>165
ありがとうございます
基本的な構文ミスでした。
INTOをSETで解決しました。

INSERT INTOと
INSERT SETは
どちらを使ったほうがいいんでしょうか・・・
自分はSETのほうが使いやすいのですが
01682007/04/15(日) 22:16:39ID:???
名前:387は
>>138の間違い

ややっこしい事になってしまった。
0169nobodyさん2007/04/15(日) 22:23:21ID:???
それなんてPHP?
0170nobodyさん2007/04/15(日) 22:23:28ID:???
>>156
実際居るから仕方ないんだけど、状況証拠のチリすらない段階で宣伝扱いするの、いくら2ちゃんでもやめないか?
裏付けや根拠すら全く無い段階でこれいうのって2ちゃんでいう池沼ってやつなんじゃ?
だいたい、作者とするにはタイミング良すぎないか?この実況板と化している当スレでは。
0171nobodyさん2007/04/15(日) 22:28:23ID:???
イイヨイイヨー
0172nobodyさん2007/04/15(日) 22:30:10ID:???
釣り針が太すぎてもダメです
0173nobodyさん2007/04/15(日) 22:32:42ID:???
以下、クマのAA禁止↓
0174nobodyさん2007/04/15(日) 22:34:06ID:y9EClMBI
再度質問お願いします。

includeで絶対パスで指定したとき、
URL file-access is disabled in the server configuration
とエラーが返ってきます。
ファイルはちゃんとあるのですが、何かphp.iniで設定が必要なのでしょうか?
(例えば、外部からのincludeを許可など・・・)
0175nobodyさん2007/04/15(日) 22:35:01ID:???
>>174
絶対パスとURLは別物
0176nobodyさん2007/04/15(日) 22:37:03ID:y9EClMBI
>>175
http://からではなくE:〜での記述で実行できました。
ですが、URLでの指定ではダメなのでしょうか・・・?
0177nobodyさん2007/04/15(日) 22:39:09ID:???
>>176
逆にどうして問題にならないと思ったのか聞かせてくれ
0178nobodyさん2007/04/15(日) 22:40:39ID:???
>>176
>>175
0179nobodyさん2007/04/15(日) 22:44:10ID:y9EClMBI
DOCUMENT_ROOTだと、外部からのアクセスによっては何か変わってしまうのかなと思ったので・・・
0180nobodyさん2007/04/15(日) 22:49:58ID:???
>>179
何かって何?
0181nobodyさん2007/04/15(日) 22:51:53ID:???
UTF-8とutf8って何か違いあるの?
0182nobodyさん2007/04/15(日) 22:53:16ID:???
手元のPHPのソースでgrepしたらこうなってた。
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のデータを送信することは可能でしょうか?
0185nobodyさん2007/04/15(日) 23:15:32ID:???
>>184
とりあえずID表示
01861842007/04/15(日) 23:17:46ID:P44SZArS
はぁ
>>185
じゃ、よろしく
0187nobodyさん2007/04/15(日) 23:19:46ID:???
100 回 for で回せば良いと思うよ^^
0188nobodyさん2007/04/15(日) 23:20:22ID:???
その程度のスキルで荒らしはよくないからやめろ。
どこに向けて打つのかしらないが対策されてるから無駄
01891842007/04/15(日) 23:21:24ID:P44SZArS
POSTのデータをどうやってforでまわすの?
0190nobodyさん2007/04/15(日) 23:22:57ID:???
終了
0191nobodyさん2007/04/15(日) 23:25:17ID:???
楽しいなこのスレは
01921842007/04/15(日) 23:26:26ID:P44SZArS
>>188
100%言われると思ったけど、知識として知ってるほうが対策もできるので知りたいだけだから。
100%言われると思ったから書いたはずなんだけどな…
まあそれはいいとして、どうやってforで回すのか知りたい。
わざわざID出したので、よろしく。
0193nobodyさん2007/04/15(日) 23:30:02ID:???
for ($i = 0; $i < 100; $i++) {
    処理;
}
0194nobodyさん2007/04/15(日) 23:31:22ID:???
テラ親切www
0195nobodyさん2007/04/15(日) 23:37:35ID:???
現在のスコープ内の全ての変数を返すような関数はあるでしょうか
例外クラスの getTrace() のようなものです

スコープ内で処理に使用する変数を、$var[] とった配列にまとめておき、
print_r すれば良いだけかも知れませんが、あれば教えてください
01961842007/04/15(日) 23:38:44ID:P44SZArS
その”処理”の部分を聞いてます
もう1度言いますよ?
その”処理”の部分を聞いてます
さあ説明よろしくwww
0197nobodyさん2007/04/15(日) 23:42:39ID:???
>>196
サーバーサイドは1回の送信につき1回のリクエストだから
100回送信すればいいと思う

ここまで言えばわかるだろ
01981842007/04/15(日) 23:47:09ID:???
ははは。もういいよ。
わからないならわかりませんって言えw
このカスどもが
01991842007/04/15(日) 23:48:10ID:???
>100 回 for で回せば良いと思うよ^^

こいつテラワロスwww
0200nobodyさん2007/04/15(日) 23:56:26ID:???
>>198
OKWaveへGo
0201nobodyさん2007/04/15(日) 23:59:33ID:???
184言語障害乙
0202nobodyさん2007/04/16(月) 00:02:30ID:???
>>184
相手側のスクリプトに依って変わる
その荒らしたいページはどこだよ?
0203nobodyさん2007/04/16(月) 00:10:16ID:???
>>202

もうやめましょう
0204nobodyさん2007/04/16(月) 01:19:47ID:???
>>184
丸投げスレと質問スレの違いを理解してから書き込んでね
0205nobodyさん2007/04/16(月) 02:55:10ID:???
知識の向上wwwwwwwwwwwwwwwwwwwwwwwwwwww
0206nobodyさん2007/04/16(月) 03:31:41ID:???
微笑ましいな。
0207nobodyさん2007/04/16(月) 11:36:16ID:???
こんな馬鹿まだいたのかw
0208虚弱PHP2007/04/16(月) 12:26:49ID:???
>>184
PEAR::HTTP::Request
0209nobodyさん2007/04/16(月) 12:29:42ID:???
荒らし助長するんなよ虚弱PHP
0210虚弱PHP2007/04/16(月) 12:52:01ID:???
「教えるからもうくんな」の意
0211nobodyさん2007/04/16(月) 13:01:04ID:???
なんて無責任な
0212nobodyさん2007/04/16(月) 13:57:58ID:???
mysql_queryでmysqlにデータを入れる際ロックは必須なのでしょうか?
DB板で聞くのが正解かもしれませんが、お願いしますm(_ _)m
0213nobodyさん2007/04/16(月) 14:10:41ID:???
insertのことならいらない。
複数のテーブルに書きに行くのならtransactionをかけたほうがいいかもしれない。
0214nobodyさん2007/04/16(月) 16:35:09ID:???
classの所を読んでいるのですが、使用するにいたって利便性は何なんでしょう?
セキュリティ面とか、新しいプログラム使いまわせるとかではなく
単一のphp内において、もっと身近な部分で言うと…。
0215nobodyさん2007/04/16(月) 16:42:47ID:???
>>208
教えていいことと悪いことぐらいは考えてもらいたいですね
0216nobodyさん2007/04/16(月) 16:43:29ID:???
>>214
あるひとつの機能が必要とするデータと処理をまとめて管理できること
0217nobodyさん2007/04/16(月) 16:53:27ID:???
SSLが使えるレンタルサーバを2種類借りているのですが、
片方では、httpsプロトコルで、echo $_SERVER['HTTPS']; とやると、onと表示されて、
SSLが有効なのがわかるのですが、
もう片方は、ブラウザに鍵マークはつくものの何も返って来ません。
$_SERVER['HTTPS']の説明をみると、
「スクリプトが HTTPS プロトコルを通じて実行されている場合に 空でない値が設定されます。 」
とあるので、正常に機能していないということでしょうか?
それともサーバ側の設定で、何も返さないようにしているとかそういうことでしょうか?
02182172007/04/16(月) 16:54:21ID:N9diKUei
癖でsageてしまいました。すみません。
0219nobodyさん2007/04/16(月) 16:56:33ID:???
>>217
WEBサーバーがSSLをサポートしていると言う事と
PHPがSSLをサポートしていると言う事じゃ全く持って話が違う。

後者はWEBではサポートしているけどPHPじゃサポートしてないんでしょ
0220nobodyさん2007/04/16(月) 17:03:07ID:???
phpのsslはまだベータ版だしね
02212172007/04/16(月) 17:03:26ID:N9diKUei
>>219
なるほど。そういうことですか。
ではサーバのPHPをかえてもらわないとダメになるわけですね。
MySQL+PHPを使ったログイン機能があるサイトを作ろうと思っているのですが、
そのログインページ(PHPでできた)でSSLをつかいたいと思ったのですが、
PHPでSSLをサポートしなくても、Webでサポートしていれば、
入力された情報はちゃんと暗号化してくれるのでしょうか?
0222nobodyさん2007/04/16(月) 17:24:09ID:???
>>221
当たり前だけどしてくれるよ
PHPでSSLを使うって事はプログラムで内部でhttpsなURLに対して
リクエストを送る事が可能になったりするってことだ。
0223nobodyさん2007/04/16(月) 17:25:38ID:dwzdMgji
ttp://php.netからPHPをダウンロードしようとしたのですが、
「Windowu Binaries」の「PHP 5.2.1 zip package」をクリックすると
タイムアウトしてしまいます。

みなさんのところからはダウンロードできますか?
0224nobodyさん2007/04/16(月) 17:27:23ID:???
できる。
時間帯ずらしてダウンロードをためしてみたらいいよ
02252172007/04/16(月) 17:28:07ID:N9diKUei
>>222
ひとつ勉強になりました。これで一安心です。
早速プログラムを組みたいと思います。
どうもありがとうございました。
0226nobodyさん2007/04/16(月) 17:51:24ID:???
>>あるひとつの機能が必要とするデータと処理をまとめて管理できること
なんだかクラスを使った場合と使わない場合がうまく想像できないのです
0227nobodyさん2007/04/16(月) 18:00:38ID:???
グローバル変数使わなくてもすむだけでも、利便性があるよ。
0228nobodyさん2007/04/16(月) 18:09:26ID:???
>>6
必死だなw
0229nobodyさん2007/04/16(月) 18:21:04ID:???
あれ?全角ひらがなって1文字3byteもあるの?
0230nobodyさん2007/04/16(月) 18:26:19ID:???
Unicode
0231nobodyさん2007/04/16(月) 18:29:11ID:???
てっきり2byteかと思ってた
0232nobodyさん2007/04/16(月) 18:35:08ID:???
SJISやEUCは2byte、UTF8は3byteかな
日本語に関しては
0233nobodyさん2007/04/16(月) 18:40:47ID:???
%E3%81%9D%E3%81%86%E3%81%A0%E3%81%AA
0234nobodyさん2007/04/16(月) 19:10:27ID:???
%e3%81%ac%e3%82%8b%e3%81%bd
0235nobodyさん2007/04/16(月) 19:45:55ID:???
>>233-234

最近覚えたんですか?そういう風に書くの
0236nobodyさん2007/04/16(月) 19:51:10ID:???
exec、又はsystem()でお聞きしたいのですが
別のサーバからFTPでアップされたjpg画像を
上書き保存されない様にmv、cpとfopenはパーミッションの問題でエラーになりました。
そこで、上記コマンド実行前にchmodを入れてみましたがやはりパーミッションの問題が…。
file_get_contentsはPHPのバージョンの問題で使えませんでした。

要は、常に上書き保存されていってしまう画像をリネームして保存しておきたいのですが
上記以外の手法でパーミッションに捕われないような手法はありますでしょうか?
02372362007/04/16(月) 19:57:10ID:???
マニュアルみて解決しました。
02382362007/04/16(月) 20:29:36ID:Fo/N831C
>>237
ちょw誰だよwww
解決してネーよw
sageってメル欄だとID出ないんね。
メル欄空でもsagaるんかな?
02392362007/04/16(月) 20:41:35ID:???
>>238
解決したのに掘り起こすのやめていただけませんか?
0240nobodyさん2007/04/16(月) 20:53:17ID:???
>>236
それじゃ無理だろうね。FTPの方でパーミッションのread許可の対応するしかない。
FTPのユーザもあなたなら、簡単だけど。
0241nobodyさん2007/04/16(月) 20:57:54ID:???
>>236
ちゃんとIDださないから3つ分の答えを逃した骨折り損な奴
0242nobodyさん2007/04/16(月) 21:45:30ID:???
くだらない質問ですが、セフレってどこで探せますか?
0243nobodyさん2007/04/16(月) 21:55:35ID:ozAmxKpX
echo $_SERVER['SEFRE'];
0244nobodyさん2007/04/16(月) 21:56:06ID:???
>>243
IDがもうちょっとでDJオズマ
0245nobodyさん2007/04/16(月) 22:43:26ID:???
MAX(count) AS MAX
東MAX最近みないね、
0246nobodyさん2007/04/17(火) 01:52:56ID:wSkpW1Us
キャリアを判別しようと思ったのですが

function 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:???
$agentとpreg_match(〜):の返り値が等しければそこが実行されるよ
0248nobodyさん2007/04/17(火) 02:43:45ID:???
>>246

ゆるくていいならそのままのやり方でも止めはしないけど
IP見て振り分けるほうが確実だよ。
0249nobodyさん2007/04/17(火) 03:26:53ID:???
UAなんて信用できないんだからIPでチェックしたほうがいいよ
0250nobodyさん2007/04/17(火) 05:38:28ID:???
何がなんでもIPアドレスでチェックなんて、業者と犯罪者ぐらいなもんだろうなw
0251nobodyさん2007/04/17(火) 06:42:52ID:???
>>233-234
専用のスレがあるよ
エンコード文字列だけのスレ
http://pc11.2ch.net/test/read.cgi/php/1065258181/
0252nobodyさん2007/04/17(火) 08:52:36ID:???
>>246

preg_matchの返り値って知ってる? 0か1がかえってくる。

ということは
case 0:
$agent = "docomo";
break;

とかやってくることになる。

switch使うんじゃなくてelseif使うのが良いと思われる。
0253虚弱PHP2007/04/17(火) 09:27:13ID:???
>>246
Net::UserAgent::Mobile
使うでいいんじゃないでしょうか。
0254nobodyさん2007/04/17(火) 11:24:13ID:cz59188T
携帯向けのサイト作成してますが、
ヒアドキュメント内でSIDを付加する方法はありますでしょうか?
02552542007/04/17(火) 11:28:14ID:???
自己解決しました。
0256nobodyさん2007/04/17(火) 11:40:27ID:???
自己解決したのはいいが解決法も書いていってよね!ぷんぷん
0257nobodyさん2007/04/17(火) 11:46:09ID:cz59188T
>>255-256
( ^ω^)お?

気を取り直して、
ヒアドキュメントで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
>>249
いや、位置情報取得のフォームを出力するんで、
携帯のブラウザによっても変化するからUAじゃないとダメっす
0259nobodyさん2007/04/17(火) 12:33:54ID:IrxiH2Fq
デザイン用のHTMLにPHPのコードを埋め込んで、WEBシステムとして
公開すると言うのが一般的だと思うのですが、
やっぱりデザインとPHPの分岐・分類って限界がありますよね?

Smartyとか使ってもやっぱり、デザイン用のHTMLにソースを埋め込むわけで。
かといってガチガチのプログラムにすると、後からデザイン面を
修正する時にしずらいし。(CSSを使っても限界あるし)

自分は各パーツをclass分けしてて、「登録内容一覧」とか表示する時は
classを使って必要情報を抽出し、whileで出力してます。

くだ質ですが、作りながら思ったので質問してみました。
0260虚弱PHP2007/04/17(火) 13:05:48ID:???
>>259
パーツ毎にきちんとテンプレートを分割するだけでも、
デザインとロジックはかなり分離できるよ。

> デザイン用のHTMLにソースを埋め込むわけで。

これは、人によってかなり差が出るところだね。

> デザイン用のHTMLにPHPのコードを埋め込んで

と似たような状態になるなら、
テンプレートエンジンを有効に使えてないと思う。
02612592007/04/17(火) 13:08:37ID:???
>>260
テンプレートは分けてますよ。ただ、例えば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:???
> Smartyを知らない人は、SmartyのコードもPHPのコードも変わらないだろうし。
それはない
0263nobodyさん2007/04/17(火) 13:23:58ID:???
>>262
俺、PHP勉強するまでPerlだのPHPだのJavaだのの
区別付かなかったけどw
0264nobodyさん2007/04/17(火) 13:27:25ID:???
>>261
それを突き詰めちゃうと完全なHTMLにするしかなくて
完全にHTMLのままでそれをパースして
コードに置き換えてくれるテンプレートエンジンもあるにはあるけど
結局それだとどこがコードに置き換わるのか
一目ではわかりづらくてそれはそれでやりづらいと個人的には思うよ
最小限のループと出力に留めるのが実際の落としどころだと思う
02652592007/04/17(火) 13:29:42ID:???
>>262
結構知らない人多いと思いますが・・。

>>264
そうですね。自分も基本的には、パーツ毎に分けてて
includeして読み込んでいるのですが、最近それすら良いのかどうか
よくわからなくなってきました。分離するという意味で。

ただ、おっしゃるようにやっぱり限界はありますよね。
どの程度分離するか考えながらコーティングします。
アドバイスありがとうございました。
0266nobodyさん2007/04/17(火) 13:41:55ID:???
PHPはHTMLへの埋めこみ言語として出発して、しかもまだその側面はかなり強いから、
PHPで書かれたテンプレートエンジンって屋上屋を架すみたいな印象はあるね。
0267nobodyさん2007/04/17(火) 14:06:31ID:ZbMg7dcR
CRONが使えないサーバを使っていたのですが、任意の時間にログを取ったり、ファイルを実行したりしたかったので
別に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:ZbMg7dcR
失礼しました。文字化けしているようです。
http://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虚弱PHP2007/04/17(火) 14:14:07ID:???
>>261
> 結局分離出来ていないような気がするんです。

そういうのは「分離できてる」って表現するのが一般的だと思う。
原理主義に陥らないのが一番。
使ったことないから分からないけど、
デザイナが良く使ってるDreamweaverって
Smarty対応してるんじゃなかったっけ?

>>265
↓こんな考え方もあるみたいね。
http://kaede.to/%7Ecanada/doc/mvc2-framework
0270nobodyさん2007/04/17(火) 15:08:32ID:???
>>267
前スレにwebcronというやつが紹介されてたのを思い出した
0271nobodyさん2007/04/17(火) 15:34:18ID:???
PHP4では Domxml PHP5ではDomなんだけどソースを共通化するには
ラッパー関数でも作らないとダメ?
0272nobodyさん2007/04/17(火) 15:47:30ID:???
>>267
そら<meta>タグを出力しても動かないだろう
出力された<meta>タグを解釈して、動かすのはクライアント側の機能なんだから

PHPの設定にもよるけど、これでいけるだろう
別にreadfileでなくてもいいけど
readfile("http://www.example.com/test.php?param1=0¶m2=1¶m3=1";);
0273nobodyさん2007/04/17(火) 15:56:40ID:???
>>269
>こんな考え方
一見高尚な話しのようにみえるが、一言で言えばラッパでいいじゃん、ということだな。
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行で出力するにはどうすればいいでしょうか?
0275nobodyさん2007/04/17(火) 19:19:48ID:???
>>274
PHPではできません
0276nobodyさん2007/04/17(火) 19:25:41ID:???
マニュアルも読めないんだ
0277nobodyさん2007/04/17(火) 19:26:58ID:iyno4+7x
>>274
$temp = array('a','b','c');
echo $temp[2];

を1行で、というか1文で書きたいってこと?
0278nobodyさん2007/04/17(火) 19:34:59ID:iyno4+7x
function array_pick($array, $key)
{
return $array[$key];
}

echo array_pick(array('a', 'b', 'c'), 2);

とかやるしかないかも。
0279虚弱PHP2007/04/17(火) 19:37:25ID:???
>>274
簡単に言うとPHPはオブジェクト指向言語ではないということですw
0280nobodyさん2007/04/17(火) 19:47:39ID:???
配列の定義と表示を同時にやりたいって要求が理解できん
0281nobodyさん2007/04/17(火) 19:50:13ID:6MazO8z/
最初の設定の段階で設定ファイルを変更してApacheを起動したところ
エラーが出て起動前に終了してしまいます。
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:???
まずそのパスにちゃんとファイル置いてあんの?
02832812007/04/17(火) 20:14:00ID:6MazO8z/
>>282
phpフォルダもC直下に置いてあって、中身も解凍したものをそのまま入れています。
phpフォルダを開くと直にdllファイルがあります。
半角の確認もしました。
0284nobodyさん2007/04/17(火) 20:17:21ID:???
アッパチのバージョンは?
02852812007/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:???
>>285
http://www.php.net/manual/ja/install.windows.apache2.php
02882812007/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
>>275
あ、そうなんですか

>>277
そうです

>>278-279
なるほど。。。そうなんですか。分かりました。ありがとうございます。

>>280
あなたには理解できないでしょうねぇ、残念ながら。
0290nobodyさん2007/04/17(火) 21:22:23ID:???
>>289
そんな事も自分で調べられないような奴が大口叩くなよw
0291nobodyさん2007/04/17(火) 21:22:28ID:???
もう同じネタいいよ
0292nobodyさん2007/04/17(火) 21:36:15ID:???
PHPのソースを書き換えればおk
0293nobodyさん2007/04/17(火) 21:38:08ID:???
っていうか、今思ったんだけど、zendエンジソじゃなきゃダメってことはないよな
0294nobodyさん2007/04/17(火) 22:46:47ID:???
>>289
他はどうでもいいが最後の理由だけ教えてくれ
0295nobodyさん2007/04/17(火) 23:10:20ID:???
echo foo()()[3]()();
0296nobodyさん2007/04/18(水) 00:15:19ID:???
>>290
あ、傷ついちゃいました?

>>294
簡単に言うと>>290はオブジェクト指向の発想ができないということですw
0297nobodyさん2007/04/18(水) 00:16:57ID:???
こういう低スキルほど大口叩くって本当だなw
0298nobodyさん2007/04/18(水) 00:21:17ID:???
オブジェ糞歯垢と関係ないヤンwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0299nobodyさん2007/04/18(水) 00:42:13ID:???
>>296
それはどうしても
echo array('a','b','c')[2]; 
と書かなければいけないものなのか?
0300nobodyさん2007/04/18(水) 00:50:01ID:???
確かPerlやJavascriptはarray(1,2,3)[0]
と言う書き方が通ったから、他でもやりたいって気持ちは分かるよ。
0301nobodyさん2007/04/18(水) 00:51:37ID:???
だからオブジェクト指向関係ないじゃん
0302nobodyさん2007/04/18(水) 01:03:57ID:???
explode( ',' , $str )[3];
てやりたい時はある
0303nobodyさん2007/04/18(水) 01:17:44ID:???
>>302
それはある。
出来ないから変数に突っ込んでやってるけどね。
0304nobodyさん2007/04/18(水) 02:24:40ID:???
method()->hoge();
が、でPHP5できるようになったから、
PHP6では>>302ができるようになるはず!
0305nobodyさん2007/04/18(水) 02:45:15ID:???
そんなのより文法にクロージャを。create_functionみたいな間抜けなやつはいらん。
0306nobodyさん2007/04/18(水) 03:09:10ID:???
なんでここIDでないの?おしえてエロい人
0307nobodyさん2007/04/18(水) 06:15:48ID:2pczTFS7
urlを読み込んで、色々処理したいということで
いくつか関数を調べたのですが
どれも失敗しました。
他に何か方法は無いでしょうか?
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
0308nobodyさん2007/04/18(水) 06:19:49ID:???
>>307
ソースとエラーをきちんと晒せ。
最低限エラーはきちんと書かないと分からない。
03093072007/04/18(水) 06:48:07ID:2pczTFS7
$url=$_POST['url'];

//$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

03103072007/04/18(水) 06:54:18ID:???
$html=domxml_open_file($url);
は行数制限でそのままコピペできないので意味のありそうなとこを
クリップします。

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:???
curlは?
0313nobodyさん2007/04/18(水) 08:00:50ID:???
ろくに見ないで答えて見たけど読んでみたらそれ以前の問題が多いなw
携帯だから細かくかけないけどとりあえずwはねえだろ
0314nobodyさん2007/04/18(水) 08:15:20ID:???
すいません。wは念のためやったのがそのまま残ってただけです。
rでやっても同じでした。
0315nobodyさん2007/04/18(水) 09:15:02ID:???
>>309
>>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:???
$html=fopen($url,"w");
print $text;
せめてfopenぐらいは勉強してから質問しる
0317nobodyさん2007/04/18(水) 12:30:02ID:???
>>315
それ見ただけで原因が分かるな
バージョンが違うだろって
0318nobodyさん2007/04/18(水) 15:16:23ID:???
<pre>
<?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:???
貴重なノウハウを教えてくれてるんだろ?
立場を弁えろ
おめーのほうがきもいんだよ
0321nobodyさん2007/04/18(水) 16:01:58ID:???
echo '>>319 レス乞食乙。ほらほらうれしいでちゅか〜?';
0322nobodyさん2007/04/18(水) 16:03:55ID:???
あとはわからない関数は自分で引いて自分で考えろってことだろ。
それすら理解できないならPHPなんてやらないほうがいいよ。
0323nobodyさん2007/04/18(水) 16:04:24ID:???
319の発言に結構ショックを受けた。
何百の言葉よりも簡潔なコードがどれほど雄弁に語っているかがわからないその感性に。

03243072007/04/18(水) 16:08:19ID:2pczTFS7
>>318
レスどうも。
fileは
wikinewsでは使えないみたいです。
結局fsockopenでやりました。
0325虚弱PHP2007/04/18(水) 16:11:52ID:???
>>307
PHPのバージョンが古すぎる…。
ひとまず、最新版を入れよう。そしてマニュアルを読もう。
0326nobodyさん2007/04/18(水) 16:14:00ID:???
>>318がキモいのは流れぶった切って しょーもないコード書いちゃってるところ
0327nobodyさん2007/04/18(水) 16:16:11ID:???
>>326
>>307を見る限り間違った答えではないと思うが?
0328nobodyさん2007/04/18(水) 16:18:29ID:???
>>307に必要なのは初歩から勉強することだろ
0329nobodyさん2007/04/18(水) 16:23:00ID:???
>>328
そういう態度だから上から見てるとか偉そうだとか言われるんですよ。
0330nobodyさん2007/04/18(水) 16:25:49ID:???
>>327
>>326はPHPについて興味津々で話題に入れて欲しくてたまらないけど、
コードは読めないしああいうことしか言えないんだから、
そっとしておいてあげようじゃないか。
0331nobodyさん2007/04/18(水) 16:39:23ID:???
>>329
お前、無償で役立つアドバイスをしてもらえることがどれ程有難いことか分かってないのか?
そんな甘ったれた考えだと社会に出てから苦労するぞ
(つーかどこにもそんなこと言われてねーし)
0332nobodyさん2007/04/18(水) 16:41:51ID:???
社会に出てから苦労するのは>>331だと思ったw
ほんと上から見てるなw
0333nobodyさん2007/04/18(水) 16:43:29ID:???
>>331
社会人が平日のこんな時間にこんなスレに張り付いてるわけない。
社会人ぶったニート乙。

>>333
ニート乙
0334nobodyさん2007/04/18(水) 16:47:21ID:???
>>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
phpMyEditを使って、DBのメンテ画面を作っているのですが、
編集画面でコンボボックスを使う方法がわかりません(><
0340nobodyさん2007/04/18(水) 17:19:38ID:???
>>337
もっと謙虚にならないとだめだぞ。
質問スレで回答者に対して敬意を払うのは当たり前。
「初歩から勉強すること」と言われただけで上から見てるとか偉そうだとかいうのは
勘違いもいいところ。一言で言えば「立場を弁えろ」。
初歩から勉強することの大事さが分かってないのかな。
基本を知らないで正解だけ教えてもらっても後々それ以上に苦労するもんだよ。

実際PHPの知識量では下なんだから仕方ないだろ。
上から見られた悔しさをばねに学べばいい。
というかそうしないと永遠に下のままだ。
本筋と関係ないところで個人攻撃して憂さ晴らしても何も良い方向には進まんよ。
0341nobodyさん2007/04/18(水) 17:28:06ID:???
マジレスしてみよう

>>337
社会人になればわかるが、平日に休むことは割りとある。
振り替え休日やシフト勤務、有給に体調不良、理由はいくらでもある。
加えて、平日の昼間にだって(本当は良くないが)2ちゃんに書き込みする暇なんざ
少なからずある。
まあ、社会人になればわかるさ。
0342nobodyさん2007/04/18(水) 17:31:18ID:???
>>340
自分の考えを他人に押し付けるのはよくない。
勉強の仕方なんて千差万別。

あと話がズレすぎ。
そもそも>>326みたいなレスをするのが悪いんでしょ。
ここが何のスレかをもう一度考えたほうがいい。
0343nobodyさん2007/04/18(水) 17:41:32ID:???
>>318
確かに何も書いてないと一瞬見てただの質問者かと思った

その後のやり取りにワロッタw
0344nobodyさん2007/04/18(水) 17:42:10ID:???
>>341
社員でシフトって鯖管ぐらいじゃないの?
このスレ見てる大半がIT関連企業で働いてるっていう認識が間違ってるのか?
0345nobodyさん2007/04/18(水) 18:02:13ID:???
で それがどうPHPのくだ質なんだ?
0346nobodyさん2007/04/18(水) 18:09:51ID:???
ぶっちゃけ学生も多いんじゃないかな
そんな俺はまさに今仕事中な駄目社員ですけど…
0347341 2007/04/18(水) 18:16:19ID:???
>>344
んなこたあない。
保守対応とかで24時間待機とかの場合、プロジェクトメンバの中でシフト体制を組む。
後は客先の事情に合わせたりする場合もあるし、鯖管だけとは限らないよ。
でかいプロジェクトだと一ヶ月くらいは24時間待機になったりするね。
あと、なんか新規機能のリリースとかでも監視対応でシフトになったりするな。
で、
>このスレ見てる大半がIT関連企業で働いてるっていう認識
んなこたあなかろ。
0348nobodyさん2007/04/18(水) 18:29:29ID:???
mysqlの板がないのでここで質問してみたりする。。

LIKE%-%でなぜかない文字が検索される。

「草」と検索すると「石」もヒットする。
確認できてるのはこれだけなのだけど、なんでなのかな?
0349nobodyさん2007/04/18(水) 18:31:10ID:???
学生 3割
社会人 6割
ttp://jimaku.in/w/TjCXdlPQraI/N_Xj1b_hnVz 1割
0350nobodyさん2007/04/18(水) 18:32:53ID:???
>>348
ぐぐれよ

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:???
デスマーチにでもなれば時間の感覚なんて無くなりますよ
0352nobodyさん2007/04/18(水) 19:01:24ID:???
>>349
wwwwwwwwwwwwwwwwwwww
0353nobodyさん2007/04/18(水) 19:40:49ID:???
>350
どもです。そっちで聞いてきます。めんぼくないです。
0354nobodyさん2007/04/18(水) 20:41:49ID:???
>>349
warota
0355nobodyさん2007/04/18(水) 21:01:50ID:???
>>349
前スレのだったか忘れたが、そのやり取りがないと効果半減じゃないか!
0356nobodyさん2007/04/18(水) 23:15:28ID:???
フォルダ内の複数の画像をリンクをクリックしてPHPに出力するスクリプトを教えてくだちい
ftpでフォルダにうpするだけで勝手に閲覧できるようにしたいんですがあとは↑だけなのにやり方がわかりませんぬ
0357nobodyさん2007/04/18(水) 23:56:01ID:???
>>356
日本語でおk
0358nobodyさん2007/04/19(木) 00:12:44ID:???
>>356
書いてることがよくわからないので見当違いかもしれないが、
マニュアルのreaddirの例479じゃない?
例479の
echo "$file\n";
を、
echo "<a href=\"{$file}\">{$file}</a><br>\n";
とかにすればいいんじゃないかと。
0359nobodyさん2007/04/19(木) 01:30:59ID:???
>>356
フォルダに画像をアップして、そのフォルダ内にindex.htmlやindex.htmをおかなければOK
0360nobodyさん2007/04/19(木) 01:59:37ID:???
>>359
それはApacheのindexesがオンになってたらの話だろ。
セキュリティ上普通はオフにしてある。
htaccessが使用可能ならindexesをオンにできるが、
そうなるとスレ違いだ。
0361nobodyさん2007/04/19(木) 03:45:01ID:???
おまいら様がクラス作るときは
Javaみたいに1クラス1ファイルで書いてらっしゃる?

そもそもクラスなんて書かねぇ、てのは無しで
0362nobodyさん2007/04/19(木) 04:00:05ID:???
関連するクラスは1ファイルにまとめたりするよ。
何らかのオブジェクトとそのコレクションを収めるためのクラスとかね。
0363nobodyさん2007/04/19(木) 08:33:00ID:???
基本は1クラス1ファイルだな。
数クラスで完結するような小規模スクリプトは一ファイルですましちゃうけど。
0364nobodyさん2007/04/19(木) 10:01:37ID:hqZ1gGO6
copy関数って256倍と超えるパス指定したらだめなの?
0365nobodyさん2007/04/19(木) 10:49:03ID:???
>>364
やってみろ
0366nobodyさん2007/04/19(木) 11:06:01ID:???
<?php include('header.php'); ?>
<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:???
そもそもPHP使う時点で頭悪(ry
0369nobodyさん2007/04/19(木) 11:16:39ID:hqZ1gGO6
>>365
パス間違ってないのに関数がFALSE返してコピーされないのよ。
ちなみにwindows版。
0370虚弱PHP2007/04/19(木) 11:19:49ID:???
パスの255バイト制限ってWindowsの仕様じゃなかったっけ?
0371nobodyさん2007/04/19(木) 11:53:40ID:???
copy じゃないけど mkdir()で試してみたら
245バイトまでOKだったな。
多分windowsの制限じゃないの?
0372nobodyさん2007/04/19(木) 12:23:32ID:suDQqd22
MySQLのDBに、データをInsertした際に、auto_increment させたフィールドの値を確認する方法ってありますか?
03733662007/04/19(木) 12:24:23ID:???
>>367
その心は?

>>368
その心は?
0374nobodyさん2007/04/19(木) 12:36:20ID:???
>>372
phpMyAdminとかでみればいいんでねーの?
0375nobodyさん2007/04/19(木) 12:37:41ID:???
掲示板でユーザーが投稿→投稿ないようをそのままPHPファイルのindex.phpに「書き込んで」表示
の場合、<?php 〜〜〜 ?>をエスケープするだけでいい?
(しないとPHPコードが実行されるような状態)
ちなみにタグOKなのでhtmlspecialcharsはしません
0376nobodyさん2007/04/19(木) 12:56:30ID:???
>>372
http://pc11.2ch.net/test/read.cgi/php/1164617202/377-
>>375
index.phpに書き込んで表示の意味が分からない
0377nobodyさん2007/04/19(木) 13:08:25ID:???
>>372
つlast_insert_id

PHP固有の話ではないのでスレ違いだな。
さらに話を続けたければMySQLのスレに行くべし
0378nobodyさん2007/04/19(木) 13:19:55ID:???
>>375
index.phpが投稿内容を表示するページってことか?
んで投稿内容にPHP開始タグがあるとPHPが実行されるからエスケープするって?
0379nobodyさん2007/04/19(木) 13:35:51ID:WBNGWxYV
共通する箇所(データベースから指定データを読み込みなど)は、
class化して、用途に応じてそのclassを実行しているのですが、
複数ファイル内に同じソースの結構があって、このclass処理の部分を
まとめるか否かで悩んでいます。

まとめる=関数にすると言ったイメージがあるのですが、
そもそも関数をまとめているのがclassなわけで、なんか変だと思います。

ただ、共通するclassの部分は別ファイルにして、requireするだけで
良いのかな?とも思いますが、それで良いのかどうかも迷います。

文章では伝わりにくいかもしれませんが、アドバイスいただければ助かります。
0380nobodyさん2007/04/19(木) 13:36:54ID:???
修正

複数ファイル内に同じソースの結構があって ↓
複数ファイル内に同じソースの箇所が結構あって
0381nobodyさん2007/04/19(木) 13:55:12ID:???
同じようなコードを何度も書く羽目になったらそれはどこか
間違えている。まーでもPHPは貧弱だから止むを得ないことも...
03823752007/04/19(木) 14:08:54ID:???
>>376
>>378
投稿された文字列をログに入れてecho で表示するんじゃなくて、
PHPファイルに直接書き出すので、
<?php "ああああああああ"?>と入力されると
あああああああが表示されてしまう状態

この場合、PHPがコードとして評価されるのを防げば、
PHP的なセキュリティはOKですか?
0383nobodyさん2007/04/19(木) 14:10:02ID:???
同じコードを何度も書くならモジュール化して使いまわせばいいんじゃない?
それを実装するための手段として関数だろうがクラスだろうが何でも構わない。
自分にとって便利な方法使えばいいと思うよ。
0384nobodyさん2007/04/19(木) 14:11:07ID:???
>>382
掲示板でそんな機能付けるな
03853752007/04/19(木) 14:29:40ID:???
>>384
過去ログ機能をそなえた実にすばらしいアイデアなんですよ
書き込むファイルは日付けを元にしたファイル名なので、
日付けが変わるとファイルが切り替わって過去ログになる
いちいち作り直さなくてもOK

20070419.php

<!--ヘッダ部分-->
わたしの掲示板です
あなたは<?php /*カウンタのコード*/ ?>番目のPHP大好きっ子です!
<!--ここから投稿内容 追記モードで書き込む-->
〜〜〜
〜〜〜
〜〜〜
0386nobodyさん2007/04/19(木) 14:38:01ID:???
>>385
ごめん、ID出ていないから別人の成りすましかもしれないが
何を言いたいのか全然分からん
0387nobodyさん2007/04/19(木) 14:52:31ID:???
>>386
>>375はindex.phpを書き換えるって書いてるから別人だろう
htmlを書き換えるなら分かるがなぜphpを書き換える必要があるのか理解に苦しむが
0388虚弱PHP2007/04/19(木) 15:14:29ID:???
SSIみたいなことやりたいんじゃないかな。
まあ、「タグOKなので」の時点で多分XSSし放題。
03893642007/04/19(木) 15:16:34ID:hqZ1gGO6
>>370-371
どうしようもないので、こんな関数作ってみたら成功。
function excopy($src, $dst)
{
exec("copy \"{$src}\" \"{$dst}\" 2>&1", $ary, $ret);
return ($ret == 0) ? TRUE : FALSE;
}
性能には全く変わらず。

phpの内部でパスのバッファが256バイトぐらいの固定長なのかねぇ?
0390虚弱PHP2007/04/19(木) 15:17:30ID:???
>>379
> まとめる=関数にすると言ったイメージがあるのですが、
> そもそも関数をまとめているのがclassなわけで、なんか変だと思います。

ここら辺の認識がちょっと違うような気がする。
classをclassとして有効に使うというより、
単なるネームスペースみたいなものとして使ってるんじゃないかな。
0391nobodyさん2007/04/19(木) 15:18:19ID:RzPJY5VS
失礼します。質問させていただきます。
ユーザー登録で”半角英数字のみ”という判定をしたいのですが、どのように判定すればいいでしょうか?
よろしくお願いします。
0392nobodyさん2007/04/19(木) 15:20:29ID:???
>>391
正規表現で対応可能。
専用のスレがあるから、次からはそっちで。

if(preg_match("/[^a-zA-Z0-9]/",$str)){
半角英数字以外があった時の処理
}
03933912007/04/19(木) 15:22:08ID:RzPJY5VS
>>392
ありがとうございました。さっそく試してみます。
0394虚弱PHP2007/04/19(木) 15:32:45ID:???
>>389
よくわからないので、簡単に調べてみた。
Windowsではフルパスが
MAX_PATH 260
で定義されてて、
PHPのソースでもそのまま使ってるみたい(たぶん /main/php.h)。
execだとOSがショートファイル名使ってるのかもしれないね。
0395虚弱PHP2007/04/19(木) 15:36:50ID:???
>>391
ctype_alnum()が推奨だったかもしれない。
03963792007/04/19(木) 16:07:02ID:???
>>381,383
例えば、「データベースに登録している特定の情報を出力するclass(又は関数)」
があったとして、それをlist.phpでもsearch.phpでも使用している。
という事に関してこれで良いのか否か悩む時があります。
list.phpでもsearch.phpでも同じコードを書くわけですから、classの意味があるのかと。

自分にとってはclass化(モジュール化)してだいぶ効率が上がったのですが、
更に効率が上がる方法はないかと思い、質問した次第です。
>>390
その判断が正直わかりません。他者のコード(例えばXOOPSやphpbbなど)
を見ても、同じコードが出てくる箇所は結構あるし。
周りに聞ける人間がいないので、自分のコード・組み立て方は正しいのか
どうか迷う時があります。WEBシステムとして動けば良いのでしょうが。。
0397nobodyさん2007/04/19(木) 16:15:17ID:???
>>396
状況がよくわからないけど、ほとんど同じ振る舞いをするバリエーションであれば、
共通部分を括りだして基底クラスを作って、改めて既存のクラスをそこから派生させてやればいいのでは?
0398虚弱PHP2007/04/19(木) 16:52:24ID:???
>>396
もうちっと具体的にならないと、
どう設計したらいいかのアイデアは出てこないと思う。

例えば、こういった感じのふたつの処理があるとする。
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 は何に悩んでいるかだ。
0399nobodyさん2007/04/19(木) 16:58:17ID:???
>>397が答えだと思うのだが。
0400nobodyさん2007/04/19(木) 16:58:19ID:???
ここでupdate.phpとlist.phpに同じクラス書いてるとエスパー
0401虚弱PHP2007/04/19(木) 17:06:06ID:???
1を呼ぶ、2を呼ぶとかをもうちょっと整理すると、
Mojaviで言うActionChainになると思う。

で、ActionChainみたいなのはContollerより上位の考え方だし、
Controllerよりもっと基本レベルで、
(例えば)入力の標準的なValidatorを通したいとか、
権限によって処理を実行するかしないかみたいな、
振り分けをしたいと思うようになる。

そうしたら、Javaで言うServletコンテナみたいなコンテナを用意して
そこら辺の処理をやらせたり。

…とここら辺で俺は満足しちゃったんだけど。
04023792007/04/19(木) 17:08:05ID:???
>>397-98
詳しくご説明ありがとうございます。
例えば
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:???
どうやってPHPでServletコンテナみたいなものを実現させるの?
0404nobodyさん2007/04/19(木) 17:11:07ID:???
>>402
やっぱり同じクラスを2つのページに書いてるの?
処理a, b, c, dがあるクラスを両ページでincludeすればいいんじゃないでしょうか?
04053792007/04/19(木) 17:15:28ID:???
>>404
そうですね。例えば一覧表示(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にでも関数入れて
各ページで読み込ませることにしたほうがいいんじゃね?
んでこれが終わったらオブジェクト指向・設計とかクラスとかについて勉強するといいと思われ。
0407nobodyさん2007/04/19(木) 18:13:04ID:???
>>402
なんか根本的にclassの使い方判っていない感じがする
0408nobodyさん2007/04/19(木) 18:37:31ID:???
被るならextendsなりincludeしたらいい
04093792007/04/19(木) 19:02:47ID:???
とりあえずもう少し見直してみます。

オブジェクト指向化していると思うのですが、
自分の思う基準が一般的な基準と違うかもしれませんし。

アドバイスいただいた方、ありがとうございました。
0410虚弱PHP2007/04/19(木) 19:07:32ID:???
>>409
まあ、class使ってカプセル化する事がオブジェクト指向ではないので。
(といいつつ、定義は難しいよね)
デザインパターンとか勉強してみるといいかも。
0411nobodyさん2007/04/19(木) 19:26:32ID:???
今更だけどクラスの使い方わからん
変数がそのまま残るってこと?
だったら消えてくれたほうが使いやすい
0412nobodyさん2007/04/19(木) 19:29:19ID:???
(・∀・)ニヤニヤ
0413nobodyさん2007/04/19(木) 19:36:20ID:JjAom0RF
いちいちincludeかかないで、どこのディレクトリからでも、
特定のクラスを使えるようにしたいのですが、
なんかそういう方法ありますか?
パスとおすみたいなことができればおしえていただきたいです。
0414nobodyさん2007/04/19(木) 20:08:09ID:E0JBJHfw
DoCoMo/2.0 YYYY(c10;ser12345678901; icc12345678901234567890)

上記の文字列の、「12345678901」の部分を取得したいのですが、

$ascii="DoCoMo/2.0 YYYY(c10;ser12345678901; icc12345678901234567890)";
preg_match("/ser(.*);/",$match,$agent);
でマッチしないです。
"/ser\d{15};/"
も試してみたのですが同じです。
この部分はどのような文でマッチさせるのがベストなのでしょうか?
0415nobodyさん2007/04/19(木) 20:27:19ID:???
>>414
するけど?
ていうかなんかおかしいぞ。変数が。

$ascii="DoCoMo/2.0 YYYY(c10;ser12345678901; icc12345678901234567890)";
if (preg_match("/ser(.*);/", $ascii) {
  echo "match";
}
04164152007/04/19(木) 20:28:24ID:???
訂正
if (preg_match("/ser(.*);/", $ascii) {

if (preg_match("/ser(.*);/", $ascii)) {
0417nobodyさん2007/04/19(木) 20:29:58ID:E0JBJHfw
>>416
あー
比較する変数と比較した結果が格納される変数を
書く場所が逆でした

ありがとうございます
0418nobodyさん2007/04/19(木) 21:11:25ID:g61ARuJQ
サクラのレンタルサーバで、htpd-2.0.53.tar.gzをインストールして
php5を使っています。

先ほどCall to undefined function: array_combine() とエラーが出てしまいました。
sqliteは使えるのでPHP5はインストール出来ていると思います。
何か設定がいるのでしょうか?
ちなみに、同じプログラムは自宅の環境では動いています。
0419nobodyさん2007/04/19(木) 21:14:24ID:???
>>413
http://jp.php.net/manual/ja/language.oop5.autoload.php
0420nobodyさん2007/04/19(木) 21:35:47ID:???
>>418
一応phpinfo()で確認してみれば
0421nobodyさん2007/04/19(木) 21:54:57ID:???
>>420
ネタニマジレスカコワルイ
0422nobodyさん2007/04/19(木) 22:01:09ID:3qk/G7nZ
DBからひっぱってきたさまざまな値を表示したいのですが、
select * from table where 1;
とかして、1回のクエリで全部取得して、配列などを駆使して頑張って表示するか、
select column from table where group = 1;
みたいなクエリを数回実行して、
数回にわたり、クエリ送信→結果取得・表示を繰り返すのは、
どちらが一般的な方法なのでしょうか?
あと結果取得する際は、fetch_assocやfetch_objectなど
さまざまな関数がありますが、どの関数を使うのが一般的ですか?(もちろん用途によるでしょうが)
0423nobodyさん2007/04/19(木) 22:03:46ID:???
>>422
さまざまな値によるんじゃね?
0424nobodyさん2007/04/19(木) 22:10:07ID:???
SQLが複雑になっても1回のクエリにした方が
大抵の場合は速いのでDBへのクエリ発行は基本少なくした方が良い
配列でとるかオブジェクトでとるかは好みでいいと思うが
最初は配列でいいんじゃないかな
0425nobodyさん2007/04/19(木) 22:11:20ID:3qk/G7nZ
>>423
具体的にテーブルの構成は、
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
>>424
レスありがとうございます。

>SQLが複雑になっても1回のクエリにした方が
>大抵の場合は速いのでDBへのクエリ発行は基本少なくした方が良い

やっぱそうですよねー
まだ1度で全てやったことはないので勉強がてら頑張ってやってみようと思います。

>配列でとるかオブジェクトでとるかは好みでいいと思うが

ではオブジェクト慣れしてないので配列で頑張ってみます。
0427nobodyさん2007/04/19(木) 22:26:41ID:???
3回に分けてクエリ発行するほうが面倒でない?
0428nobodyさん2007/04/19(木) 23:40:32ID:0KeZVqYA
はじめまして、ほんとくだらなくて申し訳ないんですが

SimpleXMLの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>
↑このように整形した形でファイルに
書き込見たいのです。
0429nobodyさん2007/04/19(木) 23:47:20ID:???
>>428
残念ながら仕様なので無理ですね。
0430nobodyさん2007/04/19(木) 23:47:20ID:???
\nと\t
04314282007/04/20(金) 00:07:56ID:b3irjh4D
>>429さん、>>430さん
すばやいレスありがとうございます。
仕様なら仕方ないですね。
ほかの方法であたってみます。
ありがとうございました。
0432nobodyさん2007/04/20(金) 00:09:40ID:???
simplexml使ったこと無いけど
grepで確認してSimpleXMLElementからオーバーライド
0433nobodyさん2007/04/20(金) 00:19:50ID:SGW4zUZi
session.save_path は、パスの深さが 2 よりも大きい場合、
session.gc_probability, session.gc_divisor の設定では
自動で GC が行われないということですが、

/var/tmp // 自動で GC される
/home/usr/tmp // 自動で GC されない

という解釈でよいのでしょうか?
0434nobodyさん2007/04/20(金) 00:31:36ID:???
>>428
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:tutvnVSF
IDだしとくぜ
0437nobodyさん2007/04/20(金) 01:23:30ID:???
>>436
配列の要素と中身を入れ替える関数あるから調べてみれ
0438nobodyさん2007/04/20(金) 01:24:22ID:???
array_flip
0439nobodyさん2007/04/20(金) 01:27:16ID:???
ビットで

010010

100010
を処理して

110010
という感じの処理をしたいのですが、これをなんと言うのですか?
またやり方を知りたいです。

ビットを立ててフラグを管理するようなのを見るのですが、やり方がわかりません。
0440nobodyさん2007/04/20(金) 01:28:07ID:???
>>435の上下って同じ意味なの?
上の形は初めてみた。
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:???
状況がわからんが、XMLを誰に食わせて、その結果を誰に渡してページを表示するんだ?
04444422007/04/20(金) 01:57:19ID:j6HhIKSH
ちゃんとした質問になりそうなのでID表示します。

>>443
CSV形式のファイルをPHPを使ってXMLに書き出そうと思うのですが、
なかなかうまいこといかずに苦戦中・・・

XML宣言してるのに形式が.phpだから表示されなかったり・・・
0445nobodyさん2007/04/20(金) 02:01:22ID:???
>XML宣言してるのに形式が.phpだから表示されなかったり・・・
そりゃ当たり前だ。
htaccessで拡張子phpをxmlとして動作させるようにしないと。
phpでechoでxmlを出力してるなら、headerでxml指定すればいい。
0446nobodyさん2007/04/20(金) 02:03:50ID:j6HhIKSH
>>445
.xmlで実行させてみたんだけど
宣言の<?xml〜?>がPHPとして認識されてしまう・・・

とりあえずヘッダーで出力してみることにします
0447nobodyさん2007/04/20(金) 02:08:58ID:???
>>439
ビット演算
>>440
ちゃうよ
>>446
別に妥当なXML文書が出力できてればPHPで実行しようと問題ないだろ
0448nobodyさん2007/04/20(金) 02:09:34ID:j6HhIKSH
<?xml version="1.0" encoding="utf-8" ?>
- <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:???
"xml宣言 php"でぐぐれ
0451nobodyさん2007/04/20(金) 02:13:37ID:???
450は無しで
0452nobodyさん2007/04/20(金) 02:14:07ID:???
>>440
お前は何を言ってるんだ。
上は多次元配列、下は1次元の連想配列じゃないか。
0453nobodyさん2007/04/20(金) 02:14:36ID:???
>>449
じゃ出力文書のエンコードが間違ってんだろ
0454nobodyさん2007/04/20(金) 02:16:09ID:tutvnVSF
>>437,438
元のは必ず多次元配列になるんでarray_flipは使えないモヨリ。
0455nobodyさん2007/04/20(金) 02:17:56ID:???
array_mapとarray_walkを試して見たのだが
キー部分が変えられなかった。
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
>>456
あー、
なるほど、charsetのところに文字コードの変数じゃなくて別の変数を当てはめていたのが原因でした
0458nobodyさん2007/04/20(金) 02:22:09ID:???
何当てはめてたんだよ('A`)
0459nobodyさん2007/04/20(金) 02:22:38ID:j6HhIKSH
>>458
ちなみにこんなコードになってます
http://www.dotup.org/uploda/www.dotup.org2686.txt

こりゃおかしくなるわwwwwwwww
0460nobodyさん2007/04/20(金) 02:23:38ID:???
>>459
なんじゃこりゃあああああw
0461nobodyさん2007/04/20(金) 02:25:59ID:???
まぁ頑張った形跡は伺えるな。
0462nobodyさん2007/04/20(金) 02:26:32ID:j6HhIKSH
どこか直したらいいところがあればアドバイスplz
0463nobodyさん2007/04/20(金) 02:34:29ID:???
>>462
普通はxml関数使って出力するけど、別にいいんじゃない?
思い通りに動けばおk
0464nobodyさん2007/04/20(金) 02:37:42ID:???
PHP6じゃ<?xmlではじまってるか<?phpではじまってるかで判断してくれないかね。
xhtml使ってる身としてはいちいち書くのだるい・・・
0465nobodyさん2007/04/20(金) 02:38:03ID:j6HhIKSH
>>463
あー・・・
リファレンスにはxmlファイル取得と解析関係のしか載ってなくて
xml出力の関数もあるんですかorz
0466nobodyさん2007/04/20(金) 02:44:24ID:???
short_open_tagだかの設定があるだろ
04674182007/04/20(金) 03:07:22ID:/zvZod/N
>>420
php4.4.6でした・・・。
ありがとうございます。サーバにインストールしたのが
WINDOWS版で、UNIX版でなかったからでしょうか。
また奮闘して、インストールしてみます。
04684392007/04/20(金) 03:26:22ID:???
>>447
ビット演算って言うんですね、ありがとうございます。

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);
以下略

はじめてみる書き方なのですが、
(条件文でもなさそうなのに論理演算子や比較演算子が)
これは一体どういった意味なのか教えていただけませんでしょうか?
04714392007/04/20(金) 05:45:49ID:???
>>469
了解です、読んでみまっす
0472nobodyさん2007/04/20(金) 05:55:54ID:???
>>468
もっと言えば>>439は論理和。
& 論理和
| 論理積
^ 排他的論理和
~ ビット反転
<< 左シフト
>> 右シフト
あたりがポピュラーな名称かな?
シフトで切り落としたビットを逆方向から挿入するローテイトなんて演算もあるけどこれを実装している言語はほとんどない。

>>470
実はオブジェクト指向とは全然関係ない。
あまりそういう書き方はされないが論理演算子のロジックを利用した条件式。
論理積は全てが真でなければ真とならないため、偽があった時点で評価を止め、偽を返す。
論理和も同様、どれかが真であれば真となるため、真があった時点で評価を止め、真を返す。
論理和の方は「fopen() or die();」などの形でしばしば利用される。
つまりは「$this->soul() and $this->weight *= 0.9;」は「if($this->soul()) $this->weight *= 0.9;」と等価。
ぶっちゃけif文の方が条件分岐専用なので若干(本当に若干だが)効率は良い。
04734722007/04/20(金) 05:57:05ID:???
ごめんこれ逆ねorz
& 論理積
| 論理和
04743752007/04/20(金) 05:59:38ID:???
わたしの質問の肝心なとこには誰も答えてない件について
0475nobodyさん2007/04/20(金) 06:23:11ID:???
>>281

AddModule mod_php5.cはWINには関係ないからスルーしていいよ
0476nobodyさん2007/04/20(金) 06:24:51ID:???
>>474
どうしたら教えてもらえのか書き方を勉強してきたほうがいいよ。
インターネットのネチケットについてのサイトをみてこい
0477nobodyさん2007/04/20(金) 08:25:54ID:???
>>470
条件分岐のつもりで書いたぽいけど
and演算は代入よりも優先順位低いから
全く意味なしコードになってる予感

and と && は違うのよ
0478nobodyさん2007/04/20(金) 08:45:58ID:???
>>477
低いからこそのだよ?
高かったら代入が左に有ったとき論理値が入っちまう。
0479nobodyさん2007/04/20(金) 09:25:32ID:???
>>435
内側の配列をマージってことだからループなりでarray_merge

>>470
if (funcA() && funcB());
Aがfalseなら式全体はfalseであることが確定するので
Bは実行されない。これを短絡演算と言う。
ifの条件式内でなくても利用できる。
0480虚弱PHP2007/04/20(金) 10:25:05ID:???
>>470
それ書いたの、元Cか元BASICの年寄りプログラマーじゃない?w
0481nobodyさん2007/04/20(金) 10:25:42ID:???
>>375
君の質問は点数評価するなら10点なのでとりあえずソースを示してくれ。
0482nobodyさん2007/04/20(金) 12:00:55ID:???
session_start();ってこれを書いた後からセッションが有効になるのですか?
それとも、ファイルの冒頭に必ずかかなければいけないとか?
0483nobodyさん2007/04/20(金) 12:09:06ID:???
session_startで$_SESSIONに値が復元される
0484nobodyさん2007/04/20(金) 12:10:05ID:???
>>483
意味分かりました。ありがとうございました。
0485nobodyさん2007/04/20(金) 13:06:25ID:w/S09GXX
>>272
レス遅くなりました。ありがとうございました。
おかげで解決できました。
そのままreadfile関数を使わせていただきました。
0486nobodyさん2007/04/20(金) 13:21:29ID:???
アバター作成ツール作りたいのですが、ググっても参考になるサイトがありません。
基本的には画像の重ね合わせだと思うのですが(GDだけでいける?)。。
参考になるサイトもしくは過去に作った方いらっしゃれば(途中まででも)見せていただけませんでしょうか?
0487nobodyさん2007/04/20(金) 13:28:17ID:???
GDだけでもいけるけど、ImageMagick使ったほうが楽
0488nobodyさん2007/04/20(金) 13:32:03ID:???
>>486
昔ちょっとやろうとして面倒だからやめたけど、基本的にはあってるよ。
たとえば、基本フレーム、体、服、アクセサリを用意して、それぞれを同じ大きさであわせておく。
このとき、1色を透過色として使うので、その色はほかで使わない。
後はそれぞれを階層的に重ねていく(フレーム->体->服->アクセサリの順)
で、出力。
ただ、これを表示のたびにリアルタイムでGDでやろうと思うとごっつ重いので、
決定したときに一枚の画像で出力しておく。
という感じかな。
04894862007/04/20(金) 13:47:01ID:???
>>487-488
ありがとうございます
それにしても参考になるサイトが少なすぎます…(調べ方が悪い?)
GD アバター (PHP)
ImageMagick アバター
でもでないですね…

>リアルタイムでGDでやろうと思うとごっつ重い
なるほど
参考になります。
0490nobodyさん2007/04/20(金) 13:58:07ID:???
参考になるサイトって言っても
考え方だけであとは作業的なもんだからなあ…

アバターで検索かけてもそんなピンポイントの
内容を記したところなんてそうないだろう。
やるんなら画像とか透過とか
0491nobodyさん2007/04/20(金) 15:15:45ID:???
>>489
http://jp.php.net/gd
ここに書いてあることだけで十分できるだろ
04924702007/04/20(金) 16:25:57ID:4Ur3eUeX
レス遅れてすみません。
皆さん教えていただきどうもありがとうございました。
確かにor die()とか似たようなものはよくみますね。
短絡演算というのですか。
あまり使われないやり方とはいえ、大変勉強になりました。
0493nobodyさん2007/04/20(金) 17:26:43ID:???
<html>
<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:???
if ($tensu < 69){
echo バカ;
}else{
echo ^^;
}
0495nobodyさん2007/04/20(金) 17:35:25ID:???
>>493
すでに作られた静的HTMLを元に動的ページにしようとしてるのか?
HTMLからデータ抽出する方法もない事もないが、
普通は事前に手作業等でデータだけを抜き出して
CSVファイルなりDBなりに保存するもんだ。
HTMLからのデータ抽出は
・表示されてるHTMLからのコピペ
・HTMLソースをテキストエディタで置換
等で大した手間でもなくできるだろ。
0496nobodyさん2007/04/20(金) 17:58:05ID:???
>>493
>>495のいうとおりデータを抜き出したものを作るのが妥当。
どうしてもやりたいのなら、
fileあたりで配列に読み込んだあと、
正規表現で該当行の必要なデータを抜き出してそれを成形して表示する。
0497nobodyさん2007/04/20(金) 18:02:18ID:???
DBを使わずにPHPのみで、

Yamada: Taro
Suzuki: Ichiro
John: Smith

のデータが入ったテキストファイルを、
例えば、2行目のSuzuki: Ichiroを削除したり、
Suzuki: Suzukiro みたいに変更したりできますか?
file()で配列にすればいいのかと思うのですが。
0498nobodyさん2007/04/20(金) 18:09:16ID:???
>>497
いいとおもうならやってみればいいんじゃないですか?
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:???
自分がどう書いてできなかったのか、まずはソースを出せよ。
05025002007/04/20(金) 19:10:51ID:???
>>501
スマソ

$a = abcdef76afrew

$a1 = '[0-9]';

$no1 = strpos($a,$a1);
$no2 = $no1 + 1;

$str = substr($str, $no1, $no2);

echo $str;
05035022007/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:???
>>502
Str型ならちゃんと""or''で囲もうぜ

$a = 'abcde72';
preg_match('/[0-9]{2}/', $a, $match);
print_r($match);

[0-9]{1,}でもいいけど
0505nobodyさん2007/04/20(金) 19:28:13ID:???
>>502-503
正規表現は正規表現用の関数(ereg*とかpreg*とか)でないと使えないぞ
0506nobodyさん2007/04/20(金) 19:34:49ID:ebFeEZPT
なるほど、助かった。サンクス
0507nobodyさん2007/04/20(金) 19:36:52ID:???
なんかこの時間帯、脱力系質問多くない?w
0508nobodyさん2007/04/20(金) 19:43:50ID:???
ていうか502はマニュアル見て勉強したほうがいいよ。
ソースみてると、変な参考書か適当な解説サイトっぽい粗雑な感じが見受けられる。
0509nobodyさん2007/04/20(金) 20:38:41ID:jA1Wv9zp
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
0510nobodyさん2007/04/20(金) 21:31:53ID:2s51Ybcs
2年間でWEB製作とプログラミングを
平行して覚えたいんだけど
無理すれば可能かな?
0511nobodyさん2007/04/20(金) 21:34:59ID:???
一般的に独学は効率が悪いのは確か
0512nobodyさん2007/04/20(金) 21:39:20ID:???
>>510
口より先に手が動かない人じゃないと無理。
0513nobodyさん2007/04/20(金) 21:39:58ID:???
>>495,>>496
スキルが落ちる同一人物と見た。
0514nobodyさん2007/04/20(金) 21:49:39ID:???
>>513
またいつもの、話に入りたいけど入れなくて、
とりあえず何か言っておかないと気がすまない人ですか?
>>495の言ってることは業務でも至極当たり前。
0515nobodyさん2007/04/20(金) 22:00:05ID:???
即座に反応するのが、いつもの人っぽいなw
0516nobodyさん2007/04/20(金) 22:04:41ID:???
ファイルポインタの現在位置(オフセット)はftellでわかるそうですが
現在位置の行数って調べることはできますか?
0517いつもの人 ◆3Htx6mDqZs 2007/04/20(金) 22:06:08ID:???
> またいつもの、話に入りたいけど入れなくて、
> とりあえず何か言っておかないと気がすまない人ですか?

>>513は偽者
0518いつもの人 ◆3Htx6mDqZs 2007/04/20(金) 22:08:41ID:???
>>516
できない
0519nobodyさん2007/04/20(金) 22:11:53ID:???
は?できるだろ。やっぱり、いつもの人はスキルがないな。
0520nobodyさん2007/04/20(金) 22:14:04ID:???
>>493の話をぐだぐだやっるみたいだが
前提条件を少しは考えてから話をしたら?

"こういうWebページがネット上にあったとして"
という書き方からすると、その "ページ" とやらが一次情報なんじゃねーのか

>>507
スレタイ通りでいいんじゃまいか
0521nobodyさん2007/04/20(金) 22:14:27ID:???
行数というデータに意味は無い。
そもそも行数の実体は先頭からの改行コードの数 + 1。
0522nobodyさん2007/04/20(金) 22:20:51ID:???
>改行コードの数 + 1
これが答えだな
0523nobodyさん2007/04/20(金) 22:33:27ID:???
>>516はftell()みたいに
ファイルポインタから行数取れるやり方はあるのか
と訊いてるんじゃないの?

そういう意味なら、一発でとれる方法は無いから
自分でファイルの先頭から見ていって
改行をカウントしろ、とか丁寧に書くのはスレ的に無粋ですかね
0524nobodyさん2007/04/20(金) 22:45:50ID:???
>>489
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出してないから放置してもいいのに
0527nobodyさん2007/04/20(金) 23:29:10ID:???
>>521-523
ありがとう
fgetsで各行読み込む毎にカウントして
なんとかやりたいことができました
0528nobodyさん2007/04/21(土) 00:29:45ID:LOF7z3oT
設計についてなのでスレ違いだと思うんですけど、何処で聞けば良いのかよく分からないのでここで聞いて見ます。

今PHPのメンバー機能付きのスクリプトを作っているのですが・・・
例えば、メンバーデータで、メンバーが決めたユニークな英数字のID「userid」があったとして
他のデータとの結びつけや呼び出しなどをこのIDでするか、
それともこれとは別に、auto_incrementでつけた数字のIDも持たせて
裏側の処理は数字のIDでやった方が良いのでしょうか?

絶対ユニークなものであれば、英数字のIDでも問題ないでしょうか?

よかったら意見聞かせてください。
0529nobodyさん2007/04/21(土) 00:30:43ID:???
>>528
DB設計の話なら
数字のプライマリーキー設定したほうが若干スピードが上がる
0530nobodyさん2007/04/21(土) 01:03:45ID:???
主キーとユニークで違うもんなの?
0531nobodyさん2007/04/21(土) 01:24:03ID:???
>>530
MySQLの場合
INTなら4バイト、SMALLINTなら2バイト
英数字IDの最大長は知らんが
どっちがプライマリキーに適しているかはわかるべさ
0532nobodyさん2007/04/21(土) 01:34:08ID:???
何が4バイトで何が2バイト?
0533nobodyさん2007/04/21(土) 01:52:04ID:???
メモリ領域ってわかるだろ。常識的に考えて。
0534nobodyさん2007/04/21(土) 01:55:59ID:4pjJu4sq
ファイルを下から読み込む方法を教えてください。
0535nobodyさん2007/04/21(土) 01:57:03ID:???
いや主キーとユニークの検索スピードの違いとそれがどう関係してるのかっつー話。
0536nobodyさん2007/04/21(土) 01:58:49ID:???
>>529
つっても比較回数がたかだかO(log n)しかないんだから、
別にどっちでも大してかわらないという話もある。
ものによってはO(1)だったりするし。

それとは別にauto_incrementとかが使えるのが便利だから、
という理由でIDは整数にすることが多い。
0537nobodyさん2007/04/21(土) 01:59:55ID:???
>>534
「下から」とは?
テキストファイルを一番下の行から順番に読むってこと?
05385342007/04/21(土) 02:03:25ID:???
>>537

そうです。
説明不足ですいません。
0539nobodyさん2007/04/21(土) 02:03:45ID:???
>>534
>>537の言うことを前提とすると、
array_reverse(file("hoge.txt"));
これでhoge.txtが下の行から配列に入る。
05405342007/04/21(土) 02:30:30ID:???
>>539

ありがとうございます!
0541nobodyさん2007/04/21(土) 03:08:15ID:???
>>472-473
遅くなりましたが、詳細な説明ありがとうございます。
大変参考になりました。
0542nobodyさん2007/04/21(土) 03:33:07ID:LOF7z3oT
>>529-536
色々意見有難う御座います。
現状、useridとは別にauto_increment(userno)を持たせて内部ではこのusernoで色々やってるのですが
たまにuserid→usernoを検索したり、その逆を検索したりと言う処理が入ってくる為
それほど変わらないようでしたら、useridで処理を行うように変えてみたいと思います。
参考になりました。
0543nobodyさん2007/04/21(土) 03:35:32ID:LOF7z3oT
あ、ちなみに↑を変更すると同時に
useridをプライマリキーに変えようと思います。
0544nobodyさん2007/04/21(土) 03:45:27ID:???
つーかwhere句で指定するカラムに張らないと基本的に無意味だろ
0545nobodyさん2007/04/21(土) 04:44:50ID:???
0546nobodyさん2007/04/21(土) 07:12:06ID:9SFJ2Fse
PHPで検索機能を作ってます。
通常の検索機能はできたのですが
-(マイナス)を付けた文字を除く機能はどうやるとよいのでしょうか?
0547nobodyさん2007/04/21(土) 07:23:57ID:???
正規表現による置き換え。
$str = "abc123+-=";
$newstr = preg_replace('/-/', '', $str);
echo $newstr;
0548nobodyさん2007/04/21(土) 07:28:15ID:???
>>547
何をやってるんだこの人は…
0549nobodyさん2007/04/21(土) 07:32:01ID:???
>>548
いちいち煽らないで間違ってると思うなら正しい答えかけよ。
0550nobodyさん2007/04/21(土) 07:40:22ID:???
>>547
今できてるところを晒したら?
じゃないと質問があいまいで答えようがねーずら
0551nobodyさん2007/04/21(土) 07:51:37ID:???
abc123+-=
abc123+ -=
=入らないって事?
0552nobodyさん2007/04/21(土) 08:05:54ID:???
いつもの人じゃないの?放置でおk
0553nobodyさん2007/04/21(土) 08:19:11ID:???
>>547
>正規表現による置き換え。
には吹いたw

どこに正規表現使ってるのww

答えstr_replace
0554nobodyさん2007/04/21(土) 09:33:51ID:???
574がなにをやりたいのかはわからんが、
/-/ だって立派な正規表現だろ
0555nobodyさん2007/04/21(土) 09:37:36ID:???
ああ、546に対する答えか。547は。なにがやりたいかもわかるな。
>>553はいつもの人か?
0556nobodyさん2007/04/21(土) 11:40:10ID:PuJ1NL9p
構造について質問です。よくある会員登録フォーム・申込みフォームでは、

個人情報+企業情報+アンケート

などの入力枠がありますが、これらの保存先はすべて同じファイル(もしくはDB)
上にした方が良いのでしょうか?それか、用途毎に分けた方が良いのでしょうか?

1つにするとファイルを分ける手間が減りますが、ログが長くなって重くなる気がします。
かといって複数に分けても処理が早くなるのかもわかりませんし・・。
0557nobodyさん2007/04/21(土) 11:53:38ID:???
複数に分ける r + w * 3
一つにまとめる r + w *1
05585562007/04/21(土) 12:11:59ID:???
>>557
と言う事は、やっぱり1つにまとめた方が、処理も早いわけですかね?
DBの場合、全部一つにするとフィールド数が多くなって、それだけ処理が
遅くなると思っていました。(前にこのスレでも言われたような・・。)

それにDBでもテキストログでも長くなると見づらいと思っていたのですが、
プログラム的には処理が早いほうが良いので、1つにまとめた方が良いですね。
0559nobodyさん2007/04/21(土) 12:30:40ID:???
フィールド数を増やすのは最悪の手法
正規化で検索してきてください
05605562007/04/21(土) 14:05:14ID:???
>>559
それじゃ、やっぱり分けた方が良いのですか?
これまでは正規化を考慮して、複数テーブルに分けていました。

ただ、>>556に書いた用途だと分けた方が処理が早くなるのか遅くなるのか
よくわからなくなって、質問した次第です。

今までは、分けて、必要な時のみ情報を追加していました。
(例えば、企業情報が入力されていない場合は、
 企業情報用のテーブルに追加しない など)
0561nobodyさん2007/04/21(土) 14:14:20ID:???
1カ所でしか使わないなら分ける必要なんてなくね?
0562nobodyさん2007/04/21(土) 14:17:31ID:???
>>559
会員登録時に企業を選択式にでもするの?

>>556
会員登録でアンケートというと普通一過性の情報なので
こいつだけ外に出しておいた方がいいかもしれない

申し込みフォームというと「システム的に情報を再利用せず
あとは人間が読むだけ」って感じをイメージしたけど
そういう場合は一まとめにしたCSVがあると便利
0563いつもの人 ◆3Htx6mDqZs 2007/04/21(土) 14:17:31ID:???
ログファイルはfp最後にしたら最速、ヨルダンまでぶっ飛ぶからDB1択
そんなに速度にこだわるのはなに?
05645562007/04/21(土) 14:30:49ID:???
>>561
自分もそう思って質問した次第です。

>>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:???
初心者は教えてgooで聞くほうが的を得た回答や回答率もいいよ。
0567nobodyさん2007/04/21(土) 18:11:02ID:7D1RcruI
FTPでアップロードをして「更新日時」が新しくなってしまったファイルがあるのですが、
PHPで(Linuxのコマンドライン?)更新日時を古く変更などすることはできますでしょうか?
0568nobodyさん2007/04/21(土) 18:20:42ID:vgvHFl4R
無理だとは思うが
フォームを使わずにPOSTデータ送信とかできないよな
0569いつもの人 ◆3Htx6mDqZs 2007/04/21(土) 18:28:40ID:???
>>567 touch
>>568 fsocket
0570いつもの人 ◆3Htx6mDqZs 2007/04/21(土) 18:30:58ID:???
fsockopen だった
0571nobodyさん2007/04/21(土) 18:45:47ID:RkazuUUh
すみません、質問です。
Smartyってありますけど、皆さん使ってますか?
MVC実現のために便利と本には書いてありますけど
必ずしも必須ではないし、変なエラーもおおいみたいだしで気後れしつつ、
気になっている状態です。
(サンプル動かしてるけどエラー多発でイライラです)

どうなんですか? 
プロとして活躍されてる人の現場では利用して当たり前なんでしょうか?
僕はシロウトです。(デザイナが幅を広げたくてphpやってます)
0572nobodyさん2007/04/21(土) 18:52:42ID:???
>>571
当たり前でもないし別にいらない
0573nobodyさん2007/04/21(土) 18:54:55ID:7D1RcruI
>>569
ありが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:???
そこでロム組みのおれが参戦しますよ
0576nobodyさん2007/04/21(土) 19:21:37ID:???
>>573
ファイルの所有者じゃないと更新時間の任意変更はできないんじゃね
スクリプト実行時のユーザが誰か調べてみ
0577nobodyさん2007/04/21(土) 19:50:08ID:sL28nTPU
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
05785732007/04/21(土) 20:24:34ID:7D1RcruI
>>576
FTPでアップしたファイルだと、ファイル所有者が自分のユーザ名になってました。
面倒だけど、PHPからファイル作成して所有者apacheのファイルを作ってから
touch()でOKでした。ありがとうございました。
0579nobodyさん2007/04/21(土) 21:07:50ID:???
>>566
聞いたが答えこない…
ちと難しいこと言ったかな
0580nobodyさん2007/04/21(土) 23:30:34ID:0pUFJgAt
PHPを勉強しようと思うのですが、本買う金も、近くに書店もないので、分かりやすい解説サイトを教えていただけませんか?
0581nobodyさん2007/04/21(土) 23:41:57ID:???
>>580
http://www.php.net/manual/ja/
0582nobodyさん2007/04/21(土) 23:42:14ID:Ja/OZfS8
初めて2、3ヶ月
さて次は何をやったらいいんだろうか・・・
今までHTML→JS→FLASH(AS)とやってきました
付け加えるとPHPとプログラムじゃないけど
リナックスも少しかじりました
0583nobodyさん2007/04/21(土) 23:45:41ID:???
>>582
ここは人生相談スレじゃないんだが。
0584nobodyさん2007/04/22(日) 00:01:12ID:???
>>582
会計
0585nobodyさん2007/04/22(日) 00:49:17ID:J1vbWRUn
array([0]=>'foo',[1]=>'bar')をarray('foo'=>'bar')にする配列関数ってありますか?
0586nobodyさん2007/04/22(日) 00:52:39ID:???
jsって今更勉強する必要ある?
0587nobodyさん2007/04/22(日) 00:54:33ID:Du7ZfW0q
>>581
ありがとうございます。
よくみたら>>1に書いてあったんですね^^;
よく読まずに失礼しました。
0588nobodyさん2007/04/22(日) 00:59:20ID:???
>>585 配列関数のところ探してみるといいよ^^

>>586
googleが使いまくってるから勉強してもいいと思う
0589nobodyさん2007/04/22(日) 03:43:29ID:???
>>586
それがJavascriptのことならば、Ajaxでググってみると勉強する必要があるかどうか判断できると思う。
0590nobodyさん2007/04/22(日) 04:48:40ID:???
jsに完全にとってかわるスタンダードは無いわけで、「今更」って表現は理解して無いゆえの表現な気がする。
0591nobodyさん2007/04/22(日) 05:05:28ID:6BzHCPPl
PDOにインサートした行の主キーを返してくれる関数ってありますか?
0592nobodyさん2007/04/22(日) 05:30:29ID:???
GoogleマップのせいでAjaxが一気にはやってから
非同期通信してない普通のJavaScriptつかってる
サイトが増えたけどマジで勘弁してほしい
本気でうっとしいぐらいJavaScriptはちゃんと動かない
0593nobodyさん2007/04/22(日) 05:41:10ID:???
それjsが悪いんじゃなくて、使い方が悪いだけじゃねぇの・・
0594nobodyさん2007/04/22(日) 06:13:24ID:???
作ったやつがヘボなだけ…といいたいところだが、
javaScriptの互換性問題は、ブラウザのベンダーもヘボだからなあ。
標準のテストケースくらい作ってそれにパスしたものだけを
リリースするって態勢を何故とれない。
0595nobodyさん2007/04/22(日) 07:04:12ID:???
そういえばPHPProってサイトがあるんだけど
そこって関数にポインタもっていくとその関数
マニュアルがポップアップしてくる。(JavaScript)

で、ポインタを関数からはずすとポップアップが
消えるんだけど30%の確立で消えずにずっと画面
に残る

ああいうのが一番イライラする
0596nobodyさん2007/04/22(日) 09:06:59ID:???
すれ違いではあるが
Javascriptは
オブジェクト指向の言語だからな。
HTMLをかじったくらいのやつがまともにかけるはずがない。
外出だがブラウザの互換性も面倒だし。
それにまともな書籍がペーパーバックしかないしな。
0597nobodyさん2007/04/22(日) 09:08:27ID:???
>>585
ない。組み合わせでやるしかない。
0598nobodyさん2007/04/22(日) 09:15:48ID:???
combineじゃだめ?
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:???
Smarty.class.php の 1095行目で、おそらく store.tpl を include しようとしているが、store.tpl が開けず読み込めてない。
たぶん store.tpl が存在しないか、テンプレートディレクトリの指定とかが間違ってるんでしょ。
0601nobodyさん2007/04/22(日) 12:20:47ID:ctFC3eVb
PHPで、

list($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
>>600
なるほど! すぐ確認してみます!!
ありがとう!
0603nobodyさん2007/04/22(日) 13:24:04ID:XnNxCKoz
セッションの仕組みを検証しています。

ブラウザの更新ボタンを猛連射すると、セッションが切れる場合があります。
HTTP リクエスト、レスポンス上の Cookie のセッション ID のやり取りには問題はないので、
サーバ側の session_start あたりのPHPの処理が追いつかないからですかね?
他にも session_regenerate_id 等を処理しています

// リロードしまくる相手は切れてしまっても問題ないとは思いますが
0604nobodyさん2007/04/22(日) 13:43:58ID:???
>>603
セッションの生存期間はどうしてる?
更新連打でセッションが切れるのは生存期間の切れたセッション
をガーベジコレクタが片付けるからだろう
0605nobodyさん2007/04/22(日) 13:52:34ID:yrmSDayR
>>598
用途が違うから出来ないんじゃないの?


>>601
言ってることが不明。
list($abc,$def) = explode('/',$_SERVER['PATH_INFO']);
でなにを取得したいの?
$a = explode('/',$_SERVER['PATH_INFO']);
print_r($a);
してごらんよ。/abc/defなら配列4個になってるはずだ。
パラメタ1つ目(abc)なのはあたりまえだし。
06066032007/04/22(日) 14:07:18ID:XnNxCKoz
>>604
session.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:dThJ7LN8
関数のパラメーターの数って指定数があるのでしょうか?

function hogeHoge($aaa,$bbb,$ccc,$ddd,$eee,$fff,$ggg){
}

とすると、Missing argument 5 というエラーが出ました。
サーバはPHP5です。
0608nobodyさん2007/04/22(日) 14:30:58ID:???
>>607
hogeHoge(1,2,3,4);
とかにしているからでしょ
function hogeHoge($aaa='mmm',$bbb='zzz',$ccc=TRUE,....
と、ちゃんと初期値を書くこと。
0609nobodyさん2007/04/22(日) 14:42:39ID:???
文字列にインデントを入れる関数はありますか?
もしくは\nみたいなものでも良いんですが・・・
0610nobodyさん2007/04/22(日) 14:58:07ID:???
>>609
ID出して質問しなおすこと
06116032007/04/22(日) 15:02:39ID:XnNxCKoz
度々すみません。

PDO で 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 したことないし、英語も自信ない)
0612nobodyさん2007/04/22(日) 15:42:00ID:???
>>611
やりたければどうぞ。
英語なんか他のbugレポートを真似すりゃいいんじゃね?
0613nobodyさん2007/04/22(日) 15:52:39ID:???
↑一生懸命検索してきたけど何もわからず的の得ない回答

以下、負け犬の遠吠え禁止
06146032007/04/22(日) 16:17:12ID:XnNxCKoz
>>612
最新の CVS 版入れてもでないか確認して、
PHP を --enable-debug でリビルドして
gdb でバックとレースした内容を添えて、
さらに英語で送るとか、へたれの俺には敷居が高い・・

誰かに変わって報告してもらうにも、環境によって出る出ないがあるかもしれないし。
とりあえず、余裕ができたら自分でやってみます。

>>613
まぁそんな言い方せずに
06156122007/04/22(日) 16:36:13ID:???
>>614
bug reportで、最後の「英語」の敷居それ自体は低い。
むしろ問題は、本当に、snapshot入れて出るのかどうかってことと、
出てレポートした後、feedbackするのを放置しがちってところだと思う。

>>613
segfaultに関するようなことはPHP Bugsとの関係でやることであって、それだけのスキルを
603はもってるでしょ。レス見れば判る。
0616nobodyさん2007/04/22(日) 16:53:21ID:???
>>603
エキサイト翻訳

文体は短く切りながら書く。正しい日本語、漢字にできる語句は漢字を使う。
06176072007/04/22(日) 16:55:51ID:???
>>608
教えていただいたようにするとエラーが出ませんでした。
ありがとうございました。
0618nobodyさん2007/04/22(日) 17:10:14ID:0zzEw5U5
19860523
から現在まで何年経っているか
簡単に出力する関数とかないですか
年齢チェックをしたいので…
0619nobodyさん2007/04/22(日) 17:18:27ID:???
マニュアルはどこまで読みましたか?
0620nobodyさん2007/04/22(日) 17:26:45ID:???
>>618
そのフォーマットで、単に年齢出せればいいんだったら日付関数なんかも使わず
$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で終わるような気がする。
0622nobodyさん2007/04/22(日) 18:57:36ID:???
>>596
サイ本は結構楽しいけど
まだ3版だとしたら、ちと古いがな
0623nobodyさん2007/04/22(日) 20:59:08ID:bqPmYs5Q
PHP+PostgreSQLで今サイトを作っているんですが、
なぜか表示ができません。
DBの接続もOKでPHPinfoも出るのですが、
これ文字化けが原因で表示されないということって
ありますか?
0624nobodyさん2007/04/22(日) 21:04:15ID:???
結果の中身が空なんだろ
0625nobodyさん2007/04/22(日) 21:06:05ID:???
>>623
ソースを出せ

または全ての変数で var_dump するなりチェックしましょう
0626nobodyさん2007/04/22(日) 21:12:30ID:???
もしくはcharsetでUTF-8指定してないからとかな
0627nobodyさん2007/04/22(日) 21:48:44ID:bqPmYs5Q
<?
require('./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:???
EUCで投稿するなよ・・・
0629すいません。623です。上もソースです。2007/04/22(日) 21:49:25ID:bqPmYs5Q
<table border=1 cellpadding=4 cellspacing=0>
<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:???
EUC(笑)
0631nobodyさん2007/04/22(日) 21:50:23ID:???
<input type=submit value='ナミマソ'>

並マンコってどんなだよ
0632nobodyさん2007/04/22(日) 21:53:46ID:???
で、なにを論評しろと言うのだ?
0633nobodyさん2007/04/22(日) 21:54:31ID:???
必要なのは init.php の中身じゃね。
っていうかそのぐらいの判断が出来ないんなら、一からテキスト買って勉強したほうがいいよ。

いきなり難しい事を飛ばしてやっても無理。
0634nobodyさん2007/04/22(日) 21:57:51ID:bqPmYs5Q
<input type=submit value='ナミマソ'>
を直せばいいのかな?
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:???
もう全部統一してEUCならEUC一式にしろよ
0637nobodyさん2007/04/22(日) 22:02:19ID:???
本を参考にしても環境に合わないとか色々あるけどなあ
とりあえずなんでEUCに拘ってるんだ
0638nobodyさん2007/04/22(日) 22:28:45ID:???
じゃあUTF8に統一っていったら・・・ループするのか?
0639nobodyさん2007/04/22(日) 22:36:26ID:bqPmYs5Q
EUCにしました。
文字のめちゃくちゃなところを直せば動くかな?
どうでしょうか?
後、誰も同じ本もっていないのかな?
もしかして俺だけ?
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:???
627に質問がなにひとつ書いてない件について
0645nobodyさん2007/04/22(日) 23:35:27ID:???
要するにID出しての、単なる荒らしってことで
0646nobodyさん2007/04/22(日) 23:45:04ID:iPHGhE3V
ライブラリを作りたいのですが、
class〜でクラスでライブラリを貯めていくのと、
function〜でユーザー関数をファイルにただ詰め込むのは
どちらが推奨でしょうか?
はやりフレームワークのようにclassを使うのが妥当でしょうか?
ある程度たまってきたら全部公開したいと思っているので、
みなさまのご意見をお聞かせください。
0647nobodyさん2007/04/22(日) 23:52:34ID:???
1週間に1回は出てくるOOPの是非はいい加減テンプレに入れるべき

>>646
どっちでもいいよ好きなように作ってください
0648nobodyさん2007/04/22(日) 23:56:59ID:???
DBに格納する前にエスケープ処理をすれば
取り出すときにhtmlspecialcharsしなくてもいいと思うのですが
あるスレで格納する前は処理しなくて取り出すときにhtmlspecialcharsするような
ことが書いてあったのですがどちらがいいのでしょうか?
0649nobodyさん2007/04/22(日) 23:59:50ID:???
>>646
根本的にクラスの捉え方を間違ってる
>>648
理由が分からないなら後者
0650nobodyさん2007/04/23(月) 00:06:03ID:???
理由がわかっても後者をすすめる
0651nobodyさん2007/04/23(月) 00:08:17ID:???
理由が分かったら前者を選ばないと思う
0652nobodyさん2007/04/23(月) 00:09:12ID:???
>>648
変数を何らかの文法の中に埋め込む(HTMLとして出力する、SQL文を発行する、JSONとして出力する)
際にエスケープ。
理由はエスケープの目的(文法上のエラーや意図しない動作を防ぐ)と手段(エスケープ)
の対応が明確になり、必要十分なエスケープ処理を行えるから。

0653nobodyさん2007/04/23(月) 00:09:18ID:???
高木さんの言うこともわからんでもないけど、
結局あれこれあるから、最終viewのところで制御するのが安全だなあ。
0654nobodyさん2007/04/23(月) 00:11:05ID:???
でも格納前にSQLインジェクション対策はしろよな!

格納前というか発行前か?
0655nobodyさん2007/04/23(月) 00:16:17ID:???
クエリ文字列を形成するときかな
0656nobodyさん2007/04/23(月) 00:27:38ID:???
たかぎくんも意見も大事だと思うけど、あの人は自分の意見が絶対だと思ってるとこがやだ
0657nobodyさん2007/04/23(月) 00:34:41ID:???
>>648
ttp://takagi-hiromitsu.jp/diary/20051227.html#p02

>>654-655
prepareStatement使ってればあんま意識しないけどな
magic quoteがONだとややこしいことになるけど
0658nobodyさん2007/04/23(月) 02:01:49ID:J6ot4vJK
すいません。
627です。
この文字ばけを直せばきちんと表示されるでしょうか?
これが質問です。
よろしくお願い致します。
0659nobodyさん2007/04/23(月) 02:03:16ID:???
>>658
直してみたら分かるんじゃない?
0660nobodyさん2007/04/23(月) 02:03:23ID:Ks2m9GLI
何?
文字化けで直らないと文字化け直さないの?
見てあげたいけど携帯だしどうしようもない…
0661nobodyさん2007/04/23(月) 02:18:40ID:???
>>658
お前あのソースどっからコピーしたの?

エディタからソースをそのままコピー?
それともブラウザで何も表示されてない状態で
右クリックしてソースを表示したのをコピー?

なんか後者の気がムンムンするんだけど・・・
もしそうならちゃんと結果は返ってきてるんだから
100%文字コードの設定だろう。

ちょっとブラウザの表示からエンコード変えてみれ
0662nobodyさん2007/04/23(月) 02:21:23ID:Ks2m9GLI
>>661
ソースコピーしたらphp表示されなくね?
DWのソースコピーしたらこうなるよ
06636612007/04/23(月) 03:03:56ID:???
俺としたことがあああああああああああああああ
0664nobodyさん2007/04/23(月) 03:06:15ID:???
>>627 はphp.ini の short_open_tag がoffなのに、<? だけで書いてる臭い。
0665nobodyさん2007/04/23(月) 03:21:53ID:J6ot4vJK
意味がよくわからないのですが、直してまたうPします。
ありがとうございました。
0666nobodyさん2007/04/23(月) 08:28:11ID:???
サーバに定期的にデータを蓄積していき、そのデータ数が一定の値を越えたら処理を実行させる
というような使い方をしたいのですが、
PHPでもcronなどを使えば実現できますがそういう処理はJAVA Servletやアプリケーションサーバ
向きかなと思いましてどうしようか悩んでいます.
どちらがいいでしょうか?経験者の方などがいましたら違いを教えてください.
06676662007/04/23(月) 08:28:41ID:sNG4PNgp
ID出し忘れたので出しときます
0668nobodyさん2007/04/23(月) 08:47:16ID:LOUhoqIW
それトリガーじゃね?
0669nobodyさん2007/04/23(月) 09:09:25ID:???
前スレにwebcronというやつが紹介されてたのを思い出した
0670nobodyさん2007/04/23(月) 09:15:04ID:???
>>666
一番金のかからないやり方で実装すればいんじゃね
つか、なんでその文脈でサーブレットがでてくるのかわかんね
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>の下に付け加えたのですが、反映されませんでした。
アドバイス頂けないでしょうか。 よろしくお願いします。
06736722007/04/23(月) 10:05:42ID:oOc9kXWC
訂正です。

編集したのはメインスクリプト、
#-----------------------------------------------
# フレーム部分(menu)
#-----------------------------------------------
以下の部分でした。
0674nobodyさん2007/04/23(月) 10:19:31ID:???
>>672
そこのどれだよ!

アドバイス
人の質問を見て、何を提示すれば回答が得やすいか考える。
0675nobodyさん2007/04/23(月) 10:33:47ID:sNG4PNgp
>>670
servletやjspに関してあまり知らないので見当はずれなことを言っていたらすみません.
ただ、クライアントのリクエストに関わらず処理させるサーバにWeb特化のPHPは向いてないと聞いたので、
どのようなシステムを使うのが良いのか知りたかったので質問しました。
0676nobodyさん2007/04/23(月) 10:39:19ID:???
>>675
一般解は無いよ。
もっと情報出せば答えが出るかもしれないけど。
0677虚弱PHP2007/04/23(月) 10:42:53ID:???
>>603
ブラウザの処理の途中でリロードされてるんじゃないかな?
session_regenerate_idでIDが変更されたのに、
変更前のセッションIDを送ってるとか。
0678虚弱PHP2007/04/23(月) 10:46:04ID:???
>>675
俺の周りではshellとPerl使ってる人が多かったかな。
俺はPHPのシステムだったら、バッチ処理もPHPで書いてた。
0679nobodyさん2007/04/23(月) 10:57:35ID:???
>>674
失礼しました。

#-----------------------------------------------
# フレーム部分(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:???
だから何加えたんだよ
06816482007/04/23(月) 11:07:10ID:???
ありがとうございました
よくわかりました

たかぎさんのサイト面白いです
0682nobodyさん2007/04/23(月) 11:34:54ID:???
>>680
<!--nobanner-->
0683nobodyさん2007/04/23(月) 15:34:47ID:Ks2m9GLI
実務経験なしでフリーランスのアシスタントすることになったが不安
0684nobodyさん2007/04/23(月) 15:35:31ID:???
>>683
イキロ
0685nobodyさん2007/04/23(月) 15:46:15ID:EsFw1dKU
http://aaaa .com/ が公開サイトでのドメインだとします。
会員登録などしてログイン情報をセッションで持ち回る事で、
会員専用のページなどにもアクセス出来ます。

それはわかるのですが、SSLを使った場合はどうなるのでしょうか?
ただリンクをhttps://aaa .com/にすればいいだけなのでしょうか?
SSLのディレクトリにあるファイルでsession_start()とすれば、公開サイトの
会員IDなどが引き継げるのでしょうか?

独自ドメインでSSLを使ったサイトを作成した事がないので、気になりました。
0686nobodyさん2007/04/23(月) 15:58:34ID:qAG2+B55
youtubeみたいなサイトつくってみたいんだけど、
参考サイトありますか?

特に動画アップロードの作り方が詳しくでているところ希望します。
0687nobodyさん2007/04/23(月) 16:22:09ID:???
動画もファイルもアップロードは同じ
FLASH板いけ
0688nobodyさん2007/04/23(月) 16:24:52ID:???
正規表現じゃなくて[A-Z0-9]を文字列として表示するにはどうすればええのん?
$unko 1++; とか以外の方法で。
0689nobodyさん2007/04/23(月) 16:37:07ID:???
>>688
日本語でおk
0690nobodyさん2007/04/23(月) 16:39:32ID:???
688は自己解決しますた
メタ文字のことです、、、うへへ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
>>692
クラス => 素材(変数)と料理の本(メソッド)
インスタンス=> ↑を準備した台所

ちょっと違うか

>>693
関数の使いどころ間違ってないか?
頻度の多い処理は、関数を作るべき
06956932007/04/23(月) 17:21:45ID:???
>>694
頻度の多い処理の中に、いろんな変数を参照する物があるんだけど、
そういう場合、その処理に使う変数をすべて関数内にいれなきゃいけないよね?
それをするのにソースが複雑になりすぎて、後から見直すと「どうだっけかな?」
っと思う時がある。俺の書き方が悪いのかもしれないが。
0696nobodyさん2007/04/23(月) 17:27:39ID:???
>>685
それで問題ないよ
0697nobodyさん2007/04/23(月) 17:42:20ID:???
>>691
宣伝乙
通報しますた
0698nobodyさん2007/04/23(月) 17:45:32ID:???
>>695
自分で作った関数の使い方忘れてたら元も子もないわな
PHP Doc みたいに、説明文書いておけば?
0699nobodyさん2007/04/23(月) 18:03:03ID:???
関数の前にコメントでどういうものか記述するわな普通。
0700nobodyさん2007/04/23(月) 18:03:29ID:???
頻度関係なく関数は数行でぱっと見理解できる程度に分けたいけど
匿名関数つかえね
0701nobodyさん2007/04/23(月) 18:49:46ID:YDuj5yCb
while文を変数に代入することってできますか?
0702nobodyさん2007/04/23(月) 18:52:17ID:YDuj5yCb
自己解決しなすった
0703虚弱PHP2007/04/23(月) 19:01:59ID:???
>>695
おそらく関数間の依存関係が強すぎるんだね。
そうだとしたら設計の問題。

それ以外だったら、オブジェクトにまとめて関数に渡せばOK。
0704nobodyさん2007/04/23(月) 19:05:39ID:???
PHP5では参照渡しってデフォなんですよね?
以下の場合、&$hogeはどんな解釈になるんですか?
また、どっちがはやい?
class hoge {
foo($hoge) {
echo $hoge;
}
foo2(&$hoge) {
echo &$hoge;
}
}
0705nobodyさん2007/04/23(月) 19:11:51ID:wES6lMlt
個人的好みを聞きます。初期config設定をするとき
1)override予定していないものは、出来るだけ定数にする
2)定数できるものも変数でやっちゃう
どっち派ですか?

あとconfigファイルは
1)phpファイルに書き込むか
2)iniあるいはcsv風テキスト
3)xmlなど
どれ派ですか?

あっしは(1)-(3)なんですけど。
0706nobodyさん2007/04/23(月) 19:14:18ID:???
>>704
気になるならベンチ計ればいいだろうが馬鹿か?
07077042007/04/23(月) 19:17:45ID:???
>>706
計ったに決まってるでしょ…
私の環境だとたいした差がないし、どう違うのか分からないから聞いてるんですけど!
バカとは失礼な!
0708nobodyさん2007/04/23(月) 19:22:55ID:???
大差ないなら大差ないんだろ
07097042007/04/23(月) 19:30:33ID:???
>>708
わかんないんなら黙っててくれる?
興味あるから知りたいだけですから…
あんたみたいな大雑把な人はプログラミング向いてないからやめた方がいいよ(迷惑だし)
0710nobodyさん2007/04/23(月) 19:37:26ID:???
>>706
>>708
ネタにマジレス(・∀・)カッコワルイ
0711nobodyさん2007/04/23(月) 19:39:19ID:???
>あんたみたいな大雑把な人はプログラミング向いてないからやめた方がいいよ
(´,_ゝ`)プッ
0712nobodyさん2007/04/23(月) 19:40:08ID:???
春ですね^^
07137042007/04/23(月) 19:40:52ID:???
>>710さん
ネタじゃないですよ…○;ω;)…
クダラナイ質問ではありますが…
0714虚弱PHP2007/04/23(月) 19:49:15ID:???
>>704
オブジェクトは参照渡しだけど他はPHP4と変わらず。
速度はZendエンジンがごちゃごちゃやるはずなのでコード依存じゃないかな。
07157042007/04/23(月) 19:53:37ID:???
>>714
ありがとうございます
>>ほか
みんなヒドイです…
ネットでいじめられてるみたいでショックでした さよなら
0716nobodyさん2007/04/23(月) 19:53:53ID:???
はいさようなら
07177042007/04/23(月) 19:58:49ID:???
>>715-716
市ね!
じゃあな
0718nobodyさん2007/04/23(月) 20:01:09ID:???
自分の環境が信じられないのに他人の環境は信じれるのか
0719nobodyさん2007/04/23(月) 20:04:19ID:???
1→001
10→010
と修正したいのですが、
どうすればいいでしょうか?
0720nobodyさん2007/04/23(月) 20:08:28ID:???
>>718
と言うより自分でテストしたにも関わらず
匿名掲示板で他人の意見聞いてそれを信じられるってとこがもうやばいなw
07216722007/04/23(月) 20:17:35ID:???
>>672ですが答えていただけませんか??
0722nobodyさん2007/04/23(月) 20:41:05ID:???
>>721
>>674もいってるがそのサイトの
どのプログラムの
どのファイルなのかわかんねーと
わかんねーよ!!

ついでに、どう修正したのかも載せとくとか考えようぜ
質問の仕方が悪い

あと、そのサイトのプログラム
PHP使う意味あるの、って書き方だな…読みずらすぎ
0723nobodyさん2007/04/23(月) 20:43:46ID:???
>>719
sprintf
0724nobodyさん2007/04/23(月) 21:06:21ID:???
>>722
では改めて。
プログラムはこれです。 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:???
head
}
0726nobodyさん2007/04/23(月) 21:19:25ID:???
>>724
plink.phpの154行目に以下を挿入
 $nobanner = ('left'==$frame) ? "\n<!--nobanner-->\n" : '';

すぐその下の<head>を以下に置き換え
 <head>' . $nobanner . '

なお、なにが起きても当局は一切関知しない
0727nobodyさん2007/04/23(月) 21:19:37ID:???
>>724
・DLできません
・だから何を追加したんだ?
0728nobodyさん2007/04/23(月) 21:21:45ID:???
高度な釣りだ
07297242007/04/23(月) 21:31:56ID:???
>>726
お手数お掛けします。
追加してみましたが、やはり全てのページで広告が消えてしまうのでダメでした。

>>727
直リンクだと弾かれるようです。 http://www.rocomotion.jp/php/p_link.php の下のほうにスクロールすると
Download linkが出るので、お手数ですがそこから落として貰えませんか。
あと追加の件ですが、>>724に書いてます…
0730nobodyさん2007/04/23(月) 21:35:03ID:???
と思ったら出来てました。
>>726さん有難う御座いました。
0731nobodyさん2007/04/23(月) 21:39:39ID:???
コピペ属性の教えて君は図々しいのが多いな
07327192007/04/23(月) 21:54:11ID:???
>>723
レスサンクスです、
001は数字ではなく文字列としてしか扱えないのでしょうか?

例えば、001 に1を足して002にしたい場合、
一旦1に戻して、sprintf使うしか無理なのでしょうか?
001から直接002にすることは不可能でしょうか?
0733nobodyさん2007/04/23(月) 22:24:27ID:???
001はどう考えても文字列だろ
07347192007/04/23(月) 22:49:33ID:???
>>733
そうですか・・・・orz

ちなみに
sprintfでがんばろうと思ったのですが
1から001への変更方法はsprintf("%03d", 1)
でよいかと思いますが、
001から1への変更方法が思いつきません。
こちらもsprintfでいけるのでしょうか?
0735nobodyさん2007/04/23(月) 22:58:12ID:???
intval($val)
sprintf("%d", $val);
0736nobodyさん2007/04/23(月) 23:01:32ID:???
IDを001にするみたいな事は、サニタイズと一緒で表示する直前にやった方が良いよ。
0737nobodyさん2007/04/23(月) 23:09:18ID:???
サニタイズいうと高木センセが怒っちゃうからメ!!w
0738nobodyさん2007/04/23(月) 23:19:38ID:+n8U2EAi
WEB上で動画のサムネイルを表示させたいんだけど、どっかにサンプルコードまたは参考サイトないですかね?
0739nobodyさん2007/04/23(月) 23:26:04ID:???
サンプルないですかじゃねーよ
まず自力で探せよ
googleでもyahooでも簡単にみつかるだろが
0740nobodyさん2007/04/23(月) 23:26:39ID:???
>>734

$foo = 1;
sprintf ("%03d", $foo);
$foo++;
sprintf ("%03d", $foo);
0741nobodyさん2007/04/23(月) 23:29:28ID:+n8U2EAi
>>739
だってお目当てのものが見つからなかったんだもん。
だから諸兄たちに聞いてんのさっ
0742nobodyさん2007/04/23(月) 23:31:13ID:???
だったらどのページを見て、そこのどこが気に入らなかったかぐらい書けよ
環境に制限があるならそれも書け
二度手間になるだろ
0743nobodyさん2007/04/23(月) 23:39:47ID:+n8U2EAi
動画 サムネイル 作成 PHP コード スクリプト
このあたりのキーワード絡めてググったかな〜

ffmpegってのにピピンときたが、よくわがんね。


オレの頭に制限ありってとこだ。
0744nobodyさん2007/04/23(月) 23:42:47ID:???
言われたことにまともに答えられないのなら無視して構わないんじゃね?
0745nobodyさん2007/04/23(月) 23:43:50ID:???
>>741
こんなんめっかった
ttp://ffmpeg-php.sourceforge.net/

英語は頑張って読め
0746nobodyさん2007/04/23(月) 23:51:20ID:WTwJGp5Q
uge|hoge|hage@huge.com
みたいに、名前とメアドが区切られてるのを一行とし、
それを何個か作ったのを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
$tmp .= $fname."|".$lname."|".$email."\ n";
}
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
$usr = $_GET['id'];

$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:???
list($fname,$lname,$mail) = fgetcsv($listf,4096,"|");
はwhileの中でやろうね
0752nobodyさん2007/04/24(火) 00:35:19ID:eGs+hfXK
どうやら自己解決できました。
お手数かけました。ありがとうございます。
0753nobodyさん2007/04/24(火) 00:44:36ID:???
自己解決したらそれ書けよ
0754nobodyさん2007/04/24(火) 00:47:09ID:???
phpはオブジェクトのメソッド呼び出しに->使うんですか
気持ち悪いんですけど。そんなところまでperl真似なくて
いいと思うんですけど。
0755nobodyさん2007/04/24(火) 00:51:31ID:???
::のほが気持ち悪い
0756nobodyさん2007/04/24(火) 00:53:19ID:???
気持ち悪いならPHPつかなけりゃいいだけの話
他にもたくさんwebで使えるいい言語はあるぜ
0757nobodyさん2007/04/24(火) 00:57:16ID:???
アロー演算子ってPerlとPHPにしか無いの?
0758nobodyさん2007/04/24(火) 00:59:10ID:???
>>757
C/C++でもある。
0759nobodyさん2007/04/24(火) 01:01:07ID:???
あとPHPの$記号って何か意味あるんですか。
変数の前に$記号しかないなら、無くても同じだと思うんですが。
$記号打とうとして#と打ち間違えたりして、毎回いらいらするんですが。
0760nobodyさん2007/04/24(火) 01:02:35ID:???
>>759
是非英語配列をお勧めするのだ
0761nobodyさん2007/04/24(火) 01:03:42ID:???
PHPを捨ててCかJavaへ逝きなさい
0762nobodyさん2007/04/24(火) 01:03:47ID:???
$がつけば変数ってことでたとえば

$a = 'baka';
$b->$a; // $a->baka

みたいなことができる。なんに使うのか? って疑問に思うだろうけど、
結構これは使い出がある。なんとも汚い文法だとは思うけどもね。
0763nobodyさん2007/04/24(火) 01:03:58ID:???
じゃあruby使えよ
0764nobodyさん2007/04/24(火) 01:10:47ID:???
XML扱う方法がRubyじゃ良くわからなかったので
PHPでやってみてたんですが、Rubyだけで何でもできるようになりたいです。
0765nobodyさん2007/04/24(火) 01:21:12ID:???
http://www.nslabs.jp/ruby-rexml.rhtml
07667622007/04/24(火) 01:25:32ID:???
>>763
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・・・あたし悔しい!みたいな?
0769nobodyさん2007/04/24(火) 01:56:15ID:???
>>762
可変変数はインスタンス量産する時に必要になる
0770nobodyさん2007/04/24(火) 02:30:08ID:???
>>754
遅レスだが、CGI=Perlっていうのが今でも当たり前になってるだろ?
PHPが浸透してきているとはいえ、今でもWebのシェアはPerlが大半を占めている。
Web特化というのが売りのPHPは、当然Perlを一番意識している。
なんでPerlに大部分が似ているかというと答えは簡単。
Perlユーザーを移行させるのが狙い。
他にもJavaやCからの移行者を増やすためにそれらの言語に似た処理を取り入れてる。
そして新規参入のプログラマにもとっつきやすい言語となっている。
利用者を増やすというのは勝ち残る為に一番の条件なのだよ。
0771nobodyさん2007/04/24(火) 02:35:22ID:???
そしてperlはshとCの記法を踏襲したとっつきやすい言語。

・・・のはずであった。
0772nobodyさん2007/04/24(火) 02:41:44ID:???
クラスの継承はJavaでもPHPでもextends
コレは全く問題ない。

だがしかし!
C#の「:」だけは許せねぇ!
ソースをざっと読んだだけじゃ見落としちゃうじゃないか!
0773nobodyさん2007/04/24(火) 08:00:41ID:???
趣味でPHPやってたんだけど
学校でCとかJavaやると時々変数に$付けてしまう
0774nobodyさん2007/04/24(火) 08:18:37ID:???
>>759
     あとPHPの$記号って何か意味あるんですか。
     変数の前に$記号しかないなら、無くても同じだと思うんですが。
     $記号打とうとして#と打ち間違えたりして、毎回いらいらするんですが。

この中で変数はどれですか? $記号ですか?
0775nobodyさん2007/04/24(火) 08:29:55ID:???
>>773
たくさん言語覚えてる人なんていっぱいいるし慣れればなんとかなるもんさ。
0776nobodyさん2007/04/24(火) 08:39:47ID:???
理系の俺は自然言語よりは楽だ
0777nobodyさん2007/04/24(火) 12:55:14ID:sEkvt9e4
カレンダーで六曜(六輝)を表示する方法ってありますでしょうか
0778nobodyさん2007/04/24(火) 13:00:34ID:???
鯖にインストールされてるPHPのモジュールを見る方法はありますか?
phpinfoみたいなやつです
0779虚弱PHP2007/04/24(火) 13:02:54ID:???
>>777
http://www.php.net/manual/ja/function.date.php
0780nobodyさん2007/04/24(火) 13:03:04ID:???
>>778
おまいは何を言ってるんだ。
phpinfoに書いてるだろ。
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虚弱PHP2007/04/24(火) 13:13:22ID:???
>>777
おっと、勘違い。
標準関数では無いと思う。
http://shain.tomocreative.net/2007/04/post_2.html
0785虚弱PHP2007/04/24(火) 13:17:42ID:???
>>783
あれ、CAPTCHAというやつなので、検索してみてください。
0786nobodyさん2007/04/24(火) 13:22:26ID:???
そういう名前でしたか、Thx >785
0787nobodyさん2007/04/24(火) 13:57:37ID:???
CAPTCHAでガチャピソさんを思い出すのって俺だけ?
0788nobodyさん2007/04/24(火) 14:20:59ID:43dSuuSB
[環境]
PHP4.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
0790nobodyさん2007/04/24(火) 14:35:44ID:???
>>788
質問評価:5点
0791nobodyさん2007/04/24(火) 14:41:12ID:???
>>788
とりあえずstr_replaceじゃなく、htmlspecialcharsを使っとけ
タイミングとしては、「送信されたとき」というよりむしろ「表示するとき」にhtmlspecialcharsを呼び出せば間違いは減る
0792nobodyさん2007/04/24(火) 14:58:28ID:43dSuuSB
>>791
791さん、ありがとうございます。
htmlspecialcharsで出力すると、&lt; &gt;と、そのまま&lt:&gt;
がブラウザに出力されます。実体参照に戻されて、<>等と出力されるはずが、
そのまま出力されます。
htmlspecialcharsを使用するときは、何か特別な設定がいるんでしょうか?
m(..)m
0793nobodyさん2007/04/24(火) 15:01:19ID:43dSuuSB
もう少し色々調べて、トライ&エラーしてみます。
0794nobodyさん2007/04/24(火) 15:03:46ID:???
レン鯖でインストールしてくれないモジュールとかを使いたいときどうすればいいですか?
0795nobodyさん2007/04/24(火) 15:09:53ID:???
>>788
確認画面でhiddenに埋め込む方にはnl2brをかけなくていい
(表示する方だけにnl2brを行えばいい)
0796nobodyさん2007/04/24(火) 15:22:16ID:43dSuuSB
>>791
Success!!です。成功しました。とても助かりました。
今やっている部分を頭の中にまとめて理解したいと思います。
791さんのおかげで、モヤモヤが今スッキリしていきそうです。
(まだ、完全に理解していないw)パターンで覚えるよりも、仕組みをキッチリ
理解していこうと思います。速レスでとても感謝しています。
ありがとうございました。m(__)m
0797nobodyさん2007/04/24(火) 16:26:10ID:???
>>777
俺が昔作ったやつ
http://nike.s151.xrea.com/qreki.phps
0798nobodyさん2007/04/24(火) 16:27:18ID:???
>>797
うわぁ^^;相当暇だったんだな
07996032007/04/24(火) 16:41:18ID:YIKrD66n
>>677
あれから調べてみましたが、
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虚弱PHP2007/04/24(火) 16:47:27ID:???
>>799
俺も推測でしかないけど、
session_regenerate_id()で問題出ないなら、
余計にsession_regenerate_id(true)の問題じゃなくて、
ブラウザ側の問題だと思うよ。

ブラウザがサーバーから返されたCookieヘッダを解釈・設定する前に
F5押したとかじゃないかなぁと思うんだけど。
0801nobodyさん2007/04/24(火) 16:48:18ID:???
>>797
お前相当暇人だなw
不覚にもこれには笑ったぜw
ttp://nike.s151.xrea.com/okki.php
0802nobodyさん2007/04/24(火) 16:57:34ID:EJNwdirJ
>>794
適当な場所にライブラリパスを通して、そこにファイルコピーすればいい
0803nobodyさん2007/04/24(火) 17:11:14ID:???
>>797
なにやってるのかさっぱり分かんねぇorz
0804nobodyさん2007/04/24(火) 17:11:47ID:???
>>801
なんだよこれw
0805nobodyさん2007/04/24(火) 17:12:19ID:???
>>801
ちょwさっきと比べてデカくなってないかw
08066032007/04/24(火) 17:17:38ID:YIKrD66n
>>800
どうも
>>603 で書いたとおり、HTTP リクエスト、レスポンス上で見る限りは
Cookie, Set-Cookie は切り替わったものを正しくやり取りしてるんですよね

今、独自 DB コンテナの方で session_regenerate_id(true) の相当の機能を
作成中でして、これで連続リロードしてみれば
ブラウザ側動作の影響かどうかある程度はっきりすると思います

ブラウザ側動作の影響なら、連続リロードした人間だけの問題になりそうなので
この件は無視できそうです

>>801
わらた
08077972007/04/24(火) 17:58:01ID:???
作ったのは間違いで参考元のを書き直しただけでした
>>803俺も何やってるのかさっぱりわからん
0808nobodyさん2007/04/24(火) 18:27:05ID:???
おっきワロスwwwwwwwwww
0809nobodyさん2007/04/24(火) 18:33:05ID:???
おっきのソースがないぞ
0810虚弱PHP2007/04/24(火) 18:45:46ID:???
>>806
うむむ。そうかぁ。
save_handlerがmmだと切れるって話があったような気がするんだけど、
今回はfilesみたいだしね。
08116032007/04/24(火) 19:25:37ID:YIKrD66n
>>810
そちらのご推測通りでした
独自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:???
おっきのソースください
0813虚弱PHP2007/04/24(火) 19:55:52ID:???
>>811
ご苦労様。
検証は参考になりました。なるほど。
0814nobodyさん2007/04/24(火) 22:36:23ID:DXOCGV6O
質問させてください

長ったらしいテキストファイルの1部分のみ情報を取り込みたいのですが、
そういうのに適した関数等はありますでしょうか。
0815nobodyさん2007/04/24(火) 22:39:13ID:???
fopen
0816nobodyさん2007/04/24(火) 22:55:02ID:???
fopenよりfileやfile_get_contentsのほうがいいんじゃね
0817nobodyさん2007/04/24(火) 23:10:20ID:???
>>816 IDだそうね^^
0818nobodyさん2007/04/24(火) 23:38:17ID:???
youtubeなどのフラッシュをRimoやニコのように動画データだけ抜き出したいのですが、
それらの仕組み、もしくはそのシステムが構築できてあるソースのURLなど知っている人がいましたら教えていただけないでしょうか。
0819nobodyさん2007/04/24(火) 23:38:55ID:???
それどっかのブログで検証してたよ
URLはシラネ
0820nobodyさん2007/04/24(火) 23:51:38ID:???
まず自分で調べたのか?調べたなら成果も書く
youtubeは解析されまくってるから仕様なんかはすぐ出てきそうだけど
0821nobodyさん2007/04/25(水) 01:01:57ID:j8qAcKjI
.htaccessで文字コードをEUCにしたんだが
PHP見るとデフォルトでSJISになる
PHPに記述しないでデフォルトをEUCにできないかな
0822nobodyさん2007/04/25(水) 01:05:05ID:???
>>817
^^?
0823nobodyさん2007/04/25(水) 01:50:29ID:???
>>821
んならばHTMLのMETAタグでどうだ!
0824nobodyさん2007/04/25(水) 01:52:00ID:j8qAcKjI
>>823
本のサンプル全部に記述がだるい…
0825nobodyさん2007/04/25(水) 01:58:40ID:???
そういうのって保存時のエンコード指定してないからじゃない?
タグに記述してもPHPで指定しても文字化けすることもあるしね
EmEditorとかで保存時のエンコードをEUCに設定すればいいと思ふ
未確認
0826nobodyさん2007/04/25(水) 01:59:40ID:???
というかShift-JISで保存してるからだろ
0827nobodyさん2007/04/25(水) 02:01:56ID:j8qAcKjI
EUCで保存してあります…
0828nobodyさん2007/04/25(水) 02:03:16ID:???
じゃあおまえのPHPがSJIS好きだってことで諦めろ、おまえのせいじゃない。
0829nobodyさん2007/04/25(水) 02:03:56ID:???
じゃPHPのmb_string関連
0830nobodyさん2007/04/25(水) 02:10:20ID:j8qAcKjI
EUCで設定してあります…


EUCに嫌われたかな
0831nobodyさん2007/04/25(水) 02:19:38ID:???
mb_stringで指定しても無理だって話じゃないの?
それ前提で話してるのかと思ったけど
0832nobodyさん2007/04/25(水) 02:23:29ID:???
ブラウザのキャッシュが残ってるとかじゃないの?
そういうレベルの質問にしか見えない。
0833nobodyさん2007/04/25(水) 02:26:57ID:???
>>821
.htaccessの設定と
<html>のmetaタグの設定出しなさい。
0834nobodyさん2007/04/25(水) 02:28:29ID:j8qAcKjI
キャッシュでしたさーせん
0835nobodyさん2007/04/25(水) 02:34:58ID:???
        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
     ̄
0836nobodyさん2007/04/25(水) 02:35:23ID:???
         ┌
         \
           >
          /
     (^^)/  なんてこったい!
    /\ ̄\
   /   \  \
  <      |   |
   \   / ̄ ̄\
    ゝ /       \
     /          >
    /        /
   /        /
0837nobodyさん2007/04/25(水) 02:36:25ID:???
>>834
うわ・・・原因探ってた時間返せ
0838nobodyさん2007/04/25(水) 02:56:56ID:???
いつも思うんだが、文字化けも一人で解決できない様な奴は
output_bufferingをonなんかにするなって話じゃない?
PHP初めて3年半たつがoutput_bufferingなんて一度もonにしたことねぇ
0839nobodyさん2007/04/25(水) 03:01:34ID:???
テスト環境や自鯖なら好き勝手にphp.iniいじれるけどな。
0840nobodyさん2007/04/25(水) 03:04:32ID:???
キャッシュ残していたのが原因で同じように一日潰したことがあったが、
そのときからキャッシュは1MBまでに制限してる。

更新する度にページをダウンロードするようには設定できないのかな。
0841nobodyさん2007/04/25(水) 03:12:30ID:???
レン鯖でも.htaccessで設定すりゃいいじゃんoutput_bufferingくらい
0842nobodyさん2007/04/25(水) 03:14:01ID:???
全てのレン鯖でhtaccessが使えると思ったら大間違いだぜ。
0843nobodyさん2007/04/25(水) 03:14:46ID:???
環境に左右されないようなプログラムを目指せよ
0844nobodyさん2007/04/25(水) 03:17:52ID:???
なんでいきなりoutput_bufferingの話になってんだ?
0845nobodyさん2007/04/25(水) 03:49:52ID:???
おっきが output_buffering を利用している模様
0846nobodyさん2007/04/25(水) 04:18:44ID:???
なんにしろブラウザのキャッシュにoutput_bufferingは関係ないな。
0847nobodyさん2007/04/25(水) 08:57:51ID:???
レン鯖でいきなり開発とかすんなよ!
0848nobodyさん2007/04/25(水) 09:36:06ID:Hk5iwc7F
GETを使って動的ページを作ろうと思うのですが
たとえば
index.php?hoge=0001
というページは存在するので、問題なく表示します。しかし
index.php?hoge=0002

index.php?hoge=
などのような場合今だと白紙?のページになります。
そこを、404や403を返すようにしたいのですが、どうすれば出来るのでしょうか?
0849nobodyさん2007/04/25(水) 09:44:28ID:???
header()
0850nobodyさん2007/04/25(水) 11:53:14ID:???
>>848
if (存在しないページ) {
header( レスポンスコード404を送る );
// 以下自分の好きな404のページ
?>
<html>
404 そんなページはないでやんす
</html>
<?php
exit;
}
?>
0851nobodyさん2007/04/25(水) 12:54:42ID:j8qAcKjI
>>840
キャッシュが3GBになってたよ…
0852nobodyさん2007/04/25(水) 12:54:59ID:1/ImtFz/
現在はカテゴリ一覧とか広告バナーとか
アクセスする度にDBから読み込まれている状態になっているのですが、
これだとサーバに負荷がかかって、ページの読み込みが遅くなる気がします。

こういう、あまり変動しないデータを読み込んで表示させる場合、
どういう風なソースを書けばいいのでしょうか?
0853nobodyさん2007/04/25(水) 13:04:12ID:???
>>852
DB 側を更新したらその HTML 吐き出すとか
ページ丸ごとが難しければ、部分部分を吐いて include とか
08548522007/04/25(水) 13:42:18ID:???
>>853
例えばこういう流れでしょうか?

DBにカテゴリを登録(編集)→静的なHTMLページを作成
→そのHTMLを公開するサイトで読み込み

現在は、カテゴリ一覧の部分は別ファイルにしてincludeするようにしています。
そのファイル内にwhile($row = mysql_fetch_array($res)){ 〜 } 
みたいなソースを書いて、カテゴリ一覧を表示していました。

ちょっとHTMLの件は試してみます。ありがとうございました。
0855nobodyさん2007/04/25(水) 14:17:54ID:???
>>854
静的なHTMLページを表示すればいいじゃん
てかコードで説明するな。口で説明しろ。
0856nobodyさん2007/04/25(水) 14:21:27ID:???
>>855
??
0857nobodyさん2007/04/25(水) 14:27:36ID:???
>>856
!?!?
0858nobodyさん2007/04/25(水) 14:39:28ID:???
>>855
??
>>856
!!
>>857
?!?!
0859nobodyさん2007/04/25(水) 14:50:14ID:???
die('ぬるぽ');
0860nobodyさん2007/04/25(水) 15:21:00ID:???
>>858
??
0861nobodyさん2007/04/25(水) 15:35:07ID:dvPhqtzS
>>855 ^^ ><
0862nobodyさん2007/04/25(水) 15:54:34ID:???
http://plog.pya.jp/program/php/lesson07/sample01.html
このURLのスクリプトなら動くんだけど、スマートにしようと書き換えてみた。
すると、書き込んでも空の行が増えていくだけ。
なんですか?
08638622007/04/25(水) 15:55:24ID:???
form.php

<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>
08648622007/04/25(水) 15:56:44ID:???
<html>
<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:???
意味不明
日本語勉強してから来いカス
08668622007/04/25(水) 15:58:15ID:???
× なんですか
○ なんでですか
0867nobodyさん2007/04/25(水) 16:01:36ID:???
>>864にコピーミスあり
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:???
原因が知りたい
08708622007/04/25(水) 16:21:14ID:???
間違いがあってわかりづらいと思うので、最初から書き直します。
08718702007/04/25(水) 16:23:37ID:???
http://plog.pya.jp/program/php/lesson07/sample01.html

このURL内のコーディングなら動くんだけど、スマートにしようと書き換えてみた。
すると、書き込んでも空の行が増えていくだけ。
なぜでしょうか?

以下のような具合
――――――――――――――――

一行掲示板
書き込む内容を入力してください。
----------------------------------------
|入力フォーム| |書込|
----------------------------------------

記事NO.0:

----------------------------------------
記事NO.1:

----------------------------------------
記事NO.2:

----------------------------------------
0872nobodyさん2007/04/25(水) 16:24:19ID:???
いや、もう書かないで
08738702007/04/25(水) 16:24:47ID:???
まずはサイト例(ちゃんと動く)form.php

<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>
08748702007/04/25(水) 16:25:35ID:???
サイト例 sample.php

<?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:???
死ね
08768702007/04/25(水) 16:26:47ID:???
書き換え版 form.php

<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>
08778702007/04/25(水) 16:27:30ID:???
書き換え版 sample.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>
0878nobodyさん2007/04/25(水) 16:29:51ID:???
そんなのも一人でどうにか出来ない様な奴が
スマートとかほざくなよw
段階踏んでから言えカスが
0879nobodyさん2007/04/25(水) 16:33:01ID:???
>>870酷すぎ
リアルで死ね
0880nobodyさん2007/04/25(水) 16:34:04ID:???
>>878
了解
0881nobodyさん2007/04/25(水) 16:43:37ID:j8qAcKjI
PHP4でsimplexmlが使えないのですが
代わりになる関数はありませんか?
0882nobodyさん2007/04/25(水) 16:45:41ID:???
PHP5を使えばいいんじゃね?
0883nobodyさん2007/04/25(水) 16:47:18ID:j8qAcKjI
さくら鯖が5対応してないんで
0884nobodyさん2007/04/25(水) 16:54:22ID:???
>>883
え、さくらってそうなんだ。
古い鯖利用だからか?

wing2.jpならいけるよ。
初年2000円で独自ドメイン運用可
翌年以降1500円。
0885nobodyさん2007/04/25(水) 16:55:40ID:j8qAcKjI
co.jpてどの鯖でも使えたっけ?
0886nobodyさん2007/04/25(水) 17:04:25ID:???
>>885
DNSサーバー側で飛ばす先のIPアドレス設定さえすれば関係あんめな。
ドメインが取れるか自体は別問題
0887nobodyさん2007/04/25(水) 17:20:37ID:???
>>884
なにこれ安すぎ
信用はできないけど面白いな
0888nobodyさん2007/04/25(水) 17:26:19ID:???
wing2
http://pc11.2ch.net/test/read.cgi/hosting/1154825445/
好きに評価したらいい
俺は絶対に遠慮する鯖です
0889nobodyさん2007/04/25(水) 17:28:40ID:???
>>888
ゲェ・・・ありがとう。
0890nobodyさん2007/04/25(水) 18:08:21ID:bcYDhRpq
PHPでajax使うのはどのライブラリがベストですか?
0891nobodyさん2007/04/25(水) 18:35:42ID:???
>>883
5を独自コンパイルすればいいじゃん。簡単だよ。
どうせcgi版なんだから。
0892nobodyさん2007/04/25(水) 18:50:52ID:???
>>887
スタッフ募集ここんとこずっとかけてないか?
激安サーバーで給料安いから、最近言われるITの3K化の代表格みたいなんじゃないか?

ただ、あなたも知らなかったように、まだマイナーだから負荷は軽いんじゃない?

メールもやってるが、メジャーサイトへのメアド登録でフリーメアドとして弾かれなかった。
それだけマイナー。
0893nobodyさん2007/04/25(水) 19:48:06ID:???
隠れてないででてこいや
かもんムムキチい
0894nobodyさん2007/04/25(水) 19:49:51ID:???
>>893
誤爆?
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:???
k
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:???
SLEEP 30
0901nobodyさん2007/04/25(水) 21:30:13ID:???
>>900
サンクスです!
そんな便利な命令があるとは知らなかったです
0902nobodyさん2007/04/25(水) 21:34:24ID:Hk5iwc7F
>>849-850
レスありがとう〜
不眠続きで今起床しました。

これからやってみます!
0903nobodyさん2007/04/25(水) 21:55:58ID:???
>>899
Aが完了するまでシェルスクリプト自身がブロックするように、
(シェルスクリプト内でバックグラウンドプロセスを立ち上げないように、)
シェルスクリプトを工夫するほうが簡単確実。
無理ならPHPでsleepとfile_existsをループ。
0904nobodyさん2007/04/25(水) 22:15:02ID:ooT1ogQP
質問スマソ

PEARの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
2つのファイルを同時に編集・削除するときその関係性も保証するためにトランザクションみたいな機能ってありませんか?
やっぱり最大限安全な順番を採るしかないんですか?
0908nobodyさん2007/04/25(水) 23:53:02ID:???
>>904
httpから書けばできると思います、強引で汚いですけど

>>906
confでモジュール読み込んでしてます?
あと[L]の前に半角スペース要りませんでしたっけ

またRewriteRule のfirst argは.htaccessのpathですが
second arg はベースが指定してない場合はdocument root からのpathです
0909nobodyさん2007/04/25(水) 23:56:03ID:???
> あと[L]の前に半角スペース要りませんでしたっけ
確認した所必要ないですね
0910nobodyさん2007/04/26(木) 00:06:50ID:???
>>907
http://jp.php.net/manual/ja/ref.sem.php
セマフォ

Windows環境も対応したいなら原始的にロックファイル作って。
0911nobodyさん2007/04/26(木) 00:16:17ID:???
>>906
404になるとすれば、多分
^/( ←ここ
^( ←こうだろうな
0912nobodyさん2007/04/26(木) 00:29:33ID:???
ccessって、俺が間違えたから皆使うのか!?
それとも、もともと皆がccessって使ってるのか!?
0913nobodyさん2007/04/26(木) 00:30:47ID:???
関数を忘れてしまったので質問させてください
文字列を、指定した文字で区切り、配列に分割する
関数の名前は何でしたでしょうか・・・
0914nobodyさん2007/04/26(木) 00:33:30ID:???
>>912
なんだか知らんが病院紹介しようか?
0915nobodyさん2007/04/26(木) 00:33:54ID:???
>>913
split
explode
09169062007/04/26(木) 00:47:15ID:b54Zcwq0
みなさんありがとうございます!
/ が余計だったようです・・・
詰まってて簡単な事も見逃していたようです。
表示されてわかったのですが、[L]の前には半角スペースは必要でした。
ない場合は、表示された「hello[L]になるようです。

ほんとうに助かりました!
0917nobodyさん2007/04/26(木) 01:19:01ID:???
>>916
まずはエラーログチェックの癖をつける。
09188482007/04/26(木) 01:54:55ID:fEqE9au7
>>850
すみません。
考えてみたのですが、まったく理解できません・・・
もう少し噛み砕いて教えていただけないでしょうか?

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:g6GrkNsN
if($number = "0001"){
include("0001.php");
}else{
header("Location:http://qawsedrftgyhujikol/";);
}
0920nobodyさん2007/04/26(木) 02:03:35ID:???
>>918
すごく噛み砕いてソースの具体例まで出してくれたのが850だと思うが。
理解できないならどこが理解できないか言ってくれないとこっちも全く理解できないんですよ。
0921nobodyさん2007/04/26(木) 02:04:59ID:???
>>918はelseの存在を知っているのか?
0922nobodyさん2007/04/26(木) 02:13:35ID:???
>>915
ありがとうございます
09238482007/04/26(木) 02:25:03ID:fEqE9au7
みなさんレスありがとうございます。
やってみようとしたところ、鯖の緊急メンテに入ってしまいました。
数時間のメンテらしいのでメンテ明けにやってみます。

0924nobodyさん2007/04/26(木) 02:48:03ID:???
だからレン鯖で開発するなと何度言えば
09258482007/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
09278482007/04/26(木) 05:09:41ID:fEqE9au7
>>926
レスありがとう。
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:???
>>927
}else{
header("HTTP/1.0 404 Not Found", true, 404);
require "/library/error/error.php";
exit;
}

}else{
Location("http://自分のサーバの存在しないURL");
exit;
}
09298482007/04/26(木) 07:28:15ID:fEqE9au7
>>928
何度も申し訳ありません。
}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:???
もうgdgd
0931nobodyさん2007/04/26(木) 12:15:12ID:MU7hy9Ys
phpを勉強しています。
参考にしている本のサンプルコードに

while($false !== ($entry = $d->$read())) {
(中略)


というコードが出てきました。
これはどういう意味でしょうか?
特に$d->$read()この「->」の意味が分かりません。
どなたかお分かりになるかた、教えてください。
0932nobodyさん2007/04/26(木) 12:20:49ID:???
           ∧∧
           /⌒ヽ) now loading ...
          i三 ∪      
         〜三 |       
          (/~∪
        三三
      三三
    三三
  三三
三三

0933nobodyさん2007/04/26(木) 12:24:05ID:???
>>931
点プレに入ってたかもshirenが
アロー演算子でググれ
0934nobodyさん2007/04/26(木) 12:38:43ID:???
>>931
そういう時は「php 演算子」でぐぐろう
0935nobodyさん2007/04/26(木) 12:48:32ID:???
どうでもいい雑談だけど
==より===で比較するほうが場合によっては処理が早くなったりするのかね
0936nobodyさん2007/04/26(木) 12:52:50ID:???
かおそー
0937nobodyさん2007/04/26(木) 12:52:58ID:???
>>935
場合によってはというより普通に速い。
気にするほどでもないけど。
0938nobodyさん2007/04/26(木) 12:53:39ID:???
936は誤爆
09399312007/04/26(木) 13:00:30ID:MU7hy9Ys
>933,934
レスありがとうございます。
クラス内で使用することがあることは知っていたのですが、
そのサンプルコードの中には1度もクラスが書かれていません。
ぐぐったところグローバル変数にも関係するようなのですが、
筋としてはそちらっぽいです。
もう少し調べます。ありがとうございます。
0940nobodyさん2007/04/26(木) 13:04:16ID:???
>>939
例えばこんなの
http://jp.php.net/manual/ja/class.dir.php
0941nobodyさん2007/04/26(木) 13:05:36ID:???
おぶじぇくと
0942nobodyさん2007/04/26(木) 13:13:53ID:???
雑談2
===による厳密な比較ってPHPだけ?
他の言語では==で厳密に比較されるが一般的なのかしら
0943nobodyさん2007/04/26(木) 13:30:51ID:???
つ型
0944nobodyさん2007/04/26(木) 13:31:30ID:???
比較されないと思う

0945nobodyさん2007/04/26(木) 13:39:50ID:???
以前booleanとNumberで===のベンチした時は10%程度速くなった記憶
0946nobodyさん2007/04/26(木) 13:42:22ID:???
10%とか処理速度が正確に分かるのか?
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_Treeについて教えてください。

こんな感じに書いてあるんですが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>で送信した場合画面が切り替わってしまうのですが、
これを遷移させずにデータを送信する方法は何か有りませんでしょうか…
0955nobodyさん2007/04/26(木) 15:03:04ID:???
>>954
ID出さない奴に質問する権利はない
0956nobodyさん2007/04/26(木) 15:03:35ID:???
指定した部分だけ取得ってどこにも指定してないじゃん
09579542007/04/26(木) 15:05:23ID:6G3Gma2a
>>955
すみません、忘れていました…
0958nobodyさん2007/04/26(木) 15:09:39ID:???
>>957
画面切り替えが嫌ならJavaScript使え
って、JavaScript全然知らんがな
0959nobodyさん2007/04/26(木) 15:11:33ID:UlKx/JN4
>>956
指定の仕方がわからないんです…。

phpspotのサンプルでは
$children = $root->children;
って感じになってるんですが
$childrenをprint_rしても配列がいっぱいで…
0960nobodyさん2007/04/26(木) 15:15:49ID:???
>>957
socket
0961nobodyさん2007/04/26(木) 15:16:51ID:???
>>959
子ノード以下のオブジェクトが返ってきてるんじゃないの?
見たい部分をそのまま指定すりゃいいじゃん。
マニュアルは読んだの?
0962nobodyさん2007/04/26(木) 15:31:18ID:UlKx/JN4
>>961

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] => 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
>>963
スマソ…これ全部一文です。
0965nobodyさん2007/04/26(木) 15:39:02ID:???
>>964
お前、ソース見ろ
0966nobodyさん2007/04/26(木) 15:39:11ID:???
>>962
マニュアル読んでどこが分からなかったの?
09679542007/04/26(木) 15:43:20ID:6G3Gma2a
>>960
有難うございます。調べたところ、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
>>965
これって$content[ ][ ][ ][ ]ってな感じで探ってくってことでしょうか…?

>>966
http://pear.plus-server.net/package.xml.xml-tree.xml-tree.get.html
この辺かと…
全部じゃなくて指定した部分だけを返すって事ができないのでそこで悩んでおります。
09699542007/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:???
>>968
$root->children[1]->children[1]->content
みたいにアクセスするっぽいけど。

そんな事より、公式に書いてある通りXML_SerializerかPHP5でSimpleXMLとか使ったほうがいいよ。
0972nobodyさん2007/04/26(木) 16:00:29ID:???
>>968
XMLツリーを取得したらあとは自分で指定するだけ。
PHPの基本的な配列とオブジェクト操作の話。
SimpleXMLやらのサンプルにも載ってる。

>>970
他サイトを読み込んでformのvalueのところ取ってくればok
0973nobodyさん2007/04/26(木) 16:05:14ID:UlKx/JN4
>>971 >>972
なるほど…こうすれば良かったんですか。
ありがとうございます。

SimpleXMLはサーバーがphp4しか対応してないのでできませんでした、
XML_Serializerをちょっと見てみます。
0974nobodyさん2007/04/26(木) 16:05:47ID:???
>php4しか対応してないので
>php4しか対応してないので
>php4しか対応してないので
>php4しか対応してないので
>php4しか対応してないので
0975nobodyさん2007/04/26(木) 16:09:20ID:???
今時どこの糞サーバだ
0976nobodyさん2007/04/26(木) 16:10:17ID:UlKx/JN4
>>974
…失礼しました。
レンタルなので自分の環境ではphp4しか使えません。
0977nobodyさん2007/04/26(木) 16:15:49ID:???
今時PHP4なんかやってらんないしサーバ変えたら?
0978nobodyさん2007/04/26(木) 16:16:09ID:g6GrkNsN
さくら鯖がphp4だからおわってるな
0979nobodyさん2007/04/26(木) 16:16:18ID:???
>>974
は勘違いしたと見た
0980nobodyさん2007/04/26(木) 16:21:34ID:UlKx/JN4
>>977
会社で指定されたサーバなので変更ができないんです…。
なんとか使い方わかりました。
ありがとうございました。
0981nobodyさん2007/04/26(木) 16:22:14ID:???
>>974
ID出さなくて良かったな
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:???
jじゃずっと4のままで大変だね
0987nobodyさん2007/04/26(木) 18:18:16ID:???
メンテ終了がアナウンスされれば移行するだろ
0988nobodyさん2007/04/26(木) 18:42:09ID:???
sakuraなら自分でインスコすればいいじゃん
0989nobodyさん2007/04/26(木) 18:48:45ID:???
>>983
変えるとしても、準備期間で最低でも告知から1ヶ月ぐらいは無理だろうね。
Xreaとかそこら辺の安い鯖借りておけば良いと思うよ。
0990nobodyさん2007/04/26(木) 23:25:16ID:???
>910
読んでみましたところ排他制御の機能のようです
知りたかったのは1度に2つのファイルを編集レてて片方だけが異常終了した場合の不都合を防ぐ方法だったのですが
セマフォで出来るもんですか

もうすぐ次スレになっちゃうけど
0991nobodyさん2007/04/27(金) 00:19:43ID:1wO6WmX/
Eclipsを入れようか迷い中
今、WAMP+DWで組んでるが
EclipsってPHP開発ソフトと見ておk?
0992nobodyさん2007/04/27(金) 00:32:58ID:???
PHP開発ソフトじゃなくてPHPも開発出来るソフトかな
PHPオンリーならやっぱZendの方が向いてるかも。
0993nobodyさん2007/04/27(金) 00:34:10ID:???
そいえば、DelphiForPHP買った人いる?
どんな感じなんだろう。
0994nobodyさん2007/04/27(金) 00:34:53ID:1wO6WmX/
>>992
サンクス
Zendにしてみるお

フリーだよな・・・
0995nobodyさん2007/04/27(金) 00:37:22ID:???
Zendはフリーじゃねぇだろう
Eclipsはフリーなんだから迷う前に使ってみればいいだろう
0996nobodyさん2007/04/27(金) 00:38:59ID:???
vim
0997nobodyさん2007/04/27(金) 01:40:47ID:???
Flashでプリントスクリーンした画像をPHPで書き出しって無理だわな
0998nobodyさん2007/04/27(金) 01:59:04ID:???
>>997
画像ファイルとして保存しておけばimgタグでドン!
0999nobodyさん2007/04/27(金) 02:20:19ID:???
今発行されてるPHPの雑誌ってある?
最近見なくなったよな・・・
1000nobodyさん2007/04/27(金) 04:34:40ID:???
しるかバカ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。