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

このエントリーをはてなブックマークに追加
1nobodyさん
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
2nobodyさん:2008/01/10(木) 18:09:21 ID:???
【簡易FAQ】 (1/3)
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プログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
3nobodyさん:2008/01/10(木) 18:09:23 ID:???
【簡易FAQ】 (2/3)
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.を参照
4nobodyさん:2008/01/10(木) 18:09:25 ID:???
【簡易FAQ】 (3/3)
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
5nobodyさん:2008/01/10(木) 18:09:25 ID:???
関連リンク
■本家マニュアル   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/
6nobodyさん:2008/01/10(木) 18:09:26 ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/
7nobodyさん:2008/01/10(木) 18:16:49 ID:???
>>1 乙

前スレ>>1000 GJ!
8nobodyさん:2008/01/10(木) 18:23:06 ID:???
テンプレ長すぎwww
もっと、短く簡潔にまとめろよ。
話が長い使えない上司と一緒。
9nobodyさん:2008/01/10(木) 18:24:15 ID:???
別にいいじゃん7秒でテンプレ貼れるんだから。
10nobodyさん:2008/01/10(木) 18:24:23 ID:???
       √ ̄ヽ--ヘ
      /    ☆ ヽ
      0く━=ニニ二>
     //(●)  (●) \
    / ヘ  (__人__)    |   ■■ 自宅警備員へお知らせ! ■■
   /ヽノ彡,,..  .|∪|   /
  /  丿,,  /\ヽノ/ゝ 丶    2008年1月11日午前6時(日本時間)より
 (       ̄jヽ,/_l   ヽ   「2ちゃんねる」が12時間にわたって停止
  \     ____ ̄{。 _____ }  します。自宅警備を強化し待機せよ。
   ヽ、,,_,  {---} }。 {---} j

【2ちゃんねる停止】 2ちゃんねるが12時間にわたって停止
http://mamono.2ch.net/test/read.cgi/newsplus/1199955812/
11nobodyさん:2008/01/10(木) 18:53:18 ID:???
  ゝ _{  《 ー/: : : : : : //: : : : : : : : : : : : : : : :l: : : : : :',
    ' ∧ 《  /: : : : : : /': : : : /: : : : : :/: :/: : |: : : : : : ',
   / /: :ゝ《   ,: : : : : : /: : : :/: : : : : /: /: /: : /: :l: : : : : ',
   / /: : : : 《  l: : : : : : l: : /: : : : : /: /:/: : /: : l|: : : : : :l
  l: /: : : : : :》ー:!: : : :-‐1:´: :_; :-‐≠: ///: : :∧: : l|: : : :l : |
  l/: : : : : : :《 ∧: : : : : |三ー-/、/´  〃::/ ハ: :l|: : : :l : |
  /: r ⌒)\: 《 ハ.: : : : :!ヘヤテ云圷ミー /イ示テイ: :∨: : :/: :/
 'r=',イ {  ヘ《  \: : |\とう斗′   辷ぅ イ:l: :/: :/l/:/  下らねぇ質問は
/f´/ l  レ⌒ヌ《   ーi\\ 丶      ,!   /、l:/://》 /'´    ここに書き込みやがれ
: }/  l     r' ヘ》   |トヽ  c- ァ    ィ》 /イ ー《      ちび
: :|   |     {   《     | > 、 _,. <´j_ 《      》
: :|   |    レ⌒l《   |\ /      ( / 》    《
12nobodyさん:2008/01/10(木) 22:09:38 ID:RXHuRxCJ
CenOS5に、諸事情でphp-4.2.2-17をインストール必要が出たのですが、
php-4.2.2-17.src.rpmからrpmbuildしようとするもエラーが出てしまいました。

どなたか、上記のような事を試した人おりませんでしょうか?
また、成功した方がいましたら是非ご教授下さい。宜しくお願いいたします。
13nobodyさん:2008/01/10(木) 22:39:53 ID:SBFfSjuO
現在zabian上でPHP-4.2.2を使用しております。

mail関数で送信されるメールの中身を表示させる方法ってありますか?
FALSEが返ってきてメールが送れていないみたいなので、中身を確認したいと思っています

どうかご教授お願いします。
14nobodyさん:2008/01/11(金) 00:25:07 ID:???
普段、馬鹿だとかアホとか罵っている奴が、
ちょっと難しい質問が来ると絶句して何もレスしなくなる件について
15nobodyさん:2008/01/11(金) 00:44:55 ID:9vffPb9l
PDOでシングルクォートの中の変数を展開できるようなのを見かけた記憶があるんだけど、
記憶違いですかね?
16nobodyさん:2008/01/11(金) 00:56:19 ID:???
>>14
それがくだスレの責任品質です。
17nobodyさん:2008/01/11(金) 01:00:53 ID:???
>>15
プレースホルダのことか?
18nobodyさん:2008/01/11(金) 01:10:04 ID:9vffPb9l
>>17
'SELECT * FROM user WHERE num=$num'
の$numが展開されるみたいなやつです

シングルクォートの中でも展開されるみたいな説明文を読んだ記憶が

19nobodyさん:2008/01/11(金) 01:24:11 ID:???
>>18
つまるところこれは違うということかい?
http://jp.php.net/manual/ja/ref.pdo.php#pdo.prepared-statements

PHPの言語仕様上シングルクォート内で変数が展開されることはないよ。
20nobodyさん:2008/01/11(金) 01:27:41 ID:???
$sql = "SELECT * FROM user WHERE num='$num'";
こういうのじゃなくて?
あとはプリペアードステートメントの事をなんか間違って覚えてるとか

21nobodyさん:2008/01/11(金) 01:33:05 ID:9vffPb9l
すいません
勘違い確定かも
以前PDOの検索結果を渡り歩いているときに見たような気がしたんだが
?を置き換えるように$varもPDOが自動的に展開するようなのがあるのかなと思ってた
22nobodyさん:2008/01/11(金) 04:25:12 ID:???
fgetcsvで読んだときに、文字列中の”を取得する方法って無いでしょうか?
"ABC",123,"DEF"GHI",456
の時に、
ABC
123
DEF
456
となってしまいました。
「DEF」を「DEF"GHI」でとる方法有れば教えてください。

それと
>17. CSVやTSVのファイルをスマートに扱いたい
> → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
これが気になったのですが、どんな症状が出るか?どこか解説無いでしょうか?
23nobodyさん:2008/01/11(金) 04:30:26 ID:???
パラメータにstring $escapeってのがあるじゃん
24nobodyさん:2008/01/11(金) 09:02:44 ID:???
あれ?まだ2ch動いてんの?
25nobodyさん:2008/01/11(金) 10:01:21 ID:???
この切り替え作業が予定通り進みましたら、約1秒のダウンタイムで切替が完了します。
この時、何らかの問題により一部のサーバー郡及びネットワーク全体に繋がらなくなる
トラブルが発生した場合は、最大12時間のダウンタイムを頂戴する場合がございます事を
ご了承ください。

26nobodyさん:2008/01/11(金) 10:16:11 ID:???
ってことは、どっかでトラぶっているってことか?
27nobodyさん:2008/01/11(金) 12:48:19 ID:???
約1秒のダウンタイムで切替が完了します。
28nobodyさん:2008/01/11(金) 14:07:34 ID:???
わずか1_秒で赤射蒸着を完了する
29nobodyさん:2008/01/11(金) 15:24:57 ID:???
>>22
それはCSVのフォーマットが間違ってる。
フィールド中に"を含む場合は""としなけりゃならん。
30nobodyさん:2008/01/11(金) 15:59:45 ID:Y50d6JUn
ファイルから、特定の文字列ではまれた部分をブラウザに表示させないよう
にしたいのですが、どうもうまくいきません。
何が間違っているのか検討がつきません。お力をお貸し下さい。

hoge.file
行1
行2
<--
コメント1
コメント2
コメント3
-->
行4
行5
[EOF]

show.php
$strings = file("hoge.file");
$mode = false;
foreach($strings as $str){
if(strcmp($str,"<--") == 0){
$mode = true;
}else if(strcmp($str,"-->") == 0){
$mode = false;
}

if($mode == false){
echo "$str<br>";
}
}
31nobodyさん:2008/01/11(金) 16:03:50 ID:???
>>30
http://jp2.php.net/manual/ja/function.file.php
>ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。
32nobodyさん:2008/01/11(金) 19:29:13 ID:???
アップロードPHPで、アップロード先を
試しにサーバーのスタートアップフォルダを指定したら

普通にサーバーのスタートアップにWEB経由でバッチファイルをアップロードできたんですが・・・・

すっげーこえーんだが・・・
33nobodyさん:2008/01/11(金) 19:50:19 ID:???
なんでもないPHPのアップロードプログラムで、(オーバーフロー攻撃も何もない、そこらのアップロードPHP)
winサーバーのスタートアップにバッチファイルを送り込んで、再起動時にバッチファイルを自動実行させて
サーバーをクラッキングor起動不可能に出来るのか?
PHP5.2.3

なんじゃそりゃ。PHPこえー
34nobodyさん:2008/01/11(金) 19:51:29 ID:???
腹減った…飯にするか。
35nobodyさん:2008/01/11(金) 20:05:37 ID:???
>>32
よくわからんが、スタートアップフォルダを指定したのは誰?

わざわざ、そういうサーバプログラムを作らなければ、クライアントプログラムから
アップロード先ディレクトリを指定することはできないよね?
http://www.php.net/manual/ja/ini.core.php#ini.upload-tmp-dir
36nobodyさん:2008/01/11(金) 20:16:21 ID:???
proxyから偽装投稿があったので、proxyが吐くHTTPヘッダーがあるものを
アクセス禁止にしたところ、企業からアクセスできないという苦情があり、
裁判も辞さないなどと脅されています。
ただ、proxyはphpと共鳴してい発生するものであって、
proxyを個別にとって違法性を叫んでも意味がないと思うのですが、
phpの設定でどうにかなりましたか?
37nobodyさん:2008/01/11(金) 20:30:45 ID:???
アクセスできないから裁判ってどんな中二企業だよ
38nobodyさん:2008/01/11(金) 20:34:37 ID:???
>>32
んなのPHPに限らず、そう指定すれば当たり前だろに
39nobodyさん:2008/01/11(金) 20:42:17 ID:???
>>37
そうなんですよね。私は、有料会員制のサイトをやっていまして、
料金だけとってアクセスできないのは詐欺じゃないか、と猛抗議で。

こちらとしては、HTTP_VIAやHTTP_X_FORWARDED_FORが来ているのでアクセスを禁止しているだけと
口頭やメールで説明しているのですが、分からないの一点張りで平行線のままです。

私としては、意図的にその企業をアクセス禁止にしている訳ではないので全くの濡れ衣です。
40nobodyさん:2008/01/11(金) 20:50:43 ID:???
>>39
企業どうこうは知らんが、そこのプロキシサーバだけ許可してから
他のプロキシはじけばいいんじゃねぇの?
41nobodyさん:2008/01/11(金) 20:51:51 ID:???
>>39
その企業がアクセスしてきたら、これを出力してやれ
for ($i = 0; $i < 10000000000000000; %i++) {
  echo "<img scr='a://baka'>";
  echo "<img scr='http://www.2ch.net/'>";
}
42nobodyさん:2008/01/11(金) 20:53:40 ID:???
なんだエロサイトか
43nobodyさん:2008/01/11(金) 20:56:12 ID:???
>>40>>41
ありがとうございます。確かにそうですね。
ちょっとソースを改造してみます。
>>42
するどい。やっぱり分かりました?
44nobodyさん:2008/01/11(金) 21:03:54 ID:???
有料でバカそうな客だしなw
ところでITで裁判て裁判官もよく分かってないから
とんでも判決くらうこともあるから注意しろよ
45nobodyさん:2008/01/11(金) 21:05:03 ID:???
礼なんか言ってる暇があったら、はやくしろ、さっさとしろ、いいからしろ
46nobodyさん:2008/01/11(金) 21:27:00 ID:???
<img src="a://baka">
って懐かしいな
でもこれFDドライブないと意味ないよな
47nobodyさん:2008/01/12(土) 00:21:20 ID:???
プロ串は、犯罪ということを認識させるために、
法律を作って厳罰化してくれ。

プロキシサーバー接続禁止法
第1条 (プロキシサーバーでの接続禁止)
何人も、プロキシサーバーを経由して接続してはいけない。

第2条 (罰則)
第1条違反したものは、無期若しくは5年以上の懲役に処する。
48nobodyさん:2008/01/12(土) 00:33:54 ID:???
>>47
け、携帯の立場は?
49nobodyさん:2008/01/12(土) 01:01:54 ID:???
RSS/RDF/ATOM 出力するライブラリいいのないですか?
ttp://labs.unoh.net/2007/06/how-to-create-rss-feeds-with-php.html
50nobodyさん:2008/01/12(土) 01:04:04 ID:???
>>48
携帯は、串じゃなくてgetewayだから無問題。
51nobodyさん:2008/01/12(土) 01:12:58 ID:???
>>49
確認してないから多分だが
pearにあるんじゃない?
52nobodyさん:2008/01/12(土) 01:18:54 ID:???
2kgwwwww
53nobodyさん:2008/01/12(土) 01:20:12 ID:???
変なサンタ来たーーーー
ってか、今更かよwww
54nobodyさん:2008/01/12(土) 03:20:57 ID:???
>>50
そういやniftyのなんちゃらセキュロティ使うと思い切り串の環境変数吐くのを思い出した
55nobodyさん:2008/01/12(土) 13:20:29 ID:???
っ「社内串」
っ「大学内串」
56nobodyさん:2008/01/12(土) 16:03:26 ID:aex5ZIdg
指定したディレクトリ「cache」からファイル一覧を取得して、
そのファイルの更新日時を出力するというプログラムを組んでいるのですが、

opendirでカレントディレクトリ「opendir("./");」を指定した場合はきちんと表示されるのですが、
cacheディレクトリ、「opendir("/cache/");」と指定するとどうしてもエラーが出てしまいます。
-------------------------------------------------------
以下がソースです。

<?php
$strDir=opendir("/cache");
while($strFle=readdir($strDir)){
$localday = date("Y年m月d日 H時i分s秒",filemtime ($strFle));
print($strFle."<br>".$localday."<hr>");
}
closedir($strDir);

?>
-------------------------------------------------------
以下がエラーメッセージです

Warning: filemtime() [function.filemtime]:
stat failed for date.txt in
C:\Program Files\Apache Group\Apache2\htdocs\php\rss\file2.php on line 4
date.txt
1970年01月01日 09時00分00秒
-------------------------------------------------------

どうかよろしくお願いします。
57nobodyさん:2008/01/12(土) 16:09:00 ID:???
opendir("cache"); 
5856:2008/01/12(土) 16:14:57 ID:aex5ZIdg
>>57
うーん・・・どうしてもディレクトリを指定した場合のみ「Warning: filemtime()」というエラーが出てしまいます・・・
4行目がいけないというのは分かってはいるのですが、どうしたらいいか・・・
59nobodyさん:2008/01/12(土) 16:15:21 ID:???
./date.txt は存在しないからじゃないの
60nobodyさん:2008/01/12(土) 16:22:50 ID:???
>>56
readdir()はファイルパスじゃなくファイル名を返すから、
ディレクトリパスを付加しないといけない。
面倒なのでRecursiveDirectoryIteratorとかglob()を使うという選択肢もある。
6156:2008/01/12(土) 16:36:53 ID:aex5ZIdg
>>60
色々とありがとうございます。
やってみます。
62nobodyさん:2008/01/12(土) 16:37:57 ID:???
>>61
マジレスすると、おまえ自身がこの世に存在してないからだよ。

63nobodyさん:2008/01/12(土) 16:48:07 ID:br4QB1Gf
入力画面でOKボタンを押すと入力内容の確認画面に移り、戻るボタンを押すと
前の入力画面に戻るというプログラムを作っています。

戻るボタンはonclick='history.back()を利用しており、入力画面に戻った時には
直前に入力した内容が残っておりました。

しかし、セッション管理をしたく、session_start()の文を追加すると、戻るボタン
で戻った際に、直前に入力した内容が消えてしまいます。

onclick='history.back()から戻ったときのみsession_start()を省略するととか
出来ますでしょうか?何かヒントだけでも頂けないでしょうか?

よろしくお願い致します。
64nobodyさん:2008/01/12(土) 16:51:36 ID:lZDx/D8E
phpというより、apacheの問題かもしれないですが…
ファイルをブラウザで開いたときに実行されるプログラムに
エラー(noticeレベルでも)が多いと、ページの表示に時間がかかると考えて
良いんでしょうか?
エラー発生→エラーログに書き込む→大量なら時間がかかる→表示遅くなる
ってこと?

また、php側でこのエラーログへの書き込みを抑制する方法ってありますか?
いちいち警告してくれなくても実用上問題ないって場合、そういうのが
あると助かります。 それとも、そんな制御しないほうがいいかな?
65nobodyさん:2008/01/12(土) 17:23:41 ID:???
>>64
普通制御するだろ
66nobodyさん:2008/01/12(土) 17:28:06 ID:lZDx/D8E
>>65
どうもです
どうやって制御するんでしょう? すみません、教えてください
67nobodyさん:2008/01/12(土) 17:32:50 ID:???
>>63
このあたりの話なのかな。

http://jp.php.net/manual/ja/ref.session.php#ini.session.cache-limiter
> デフォルトは、nocacheです。
68nobodyさん:2008/01/12(土) 19:19:53 ID:g6/EhvFh
    <?php
      if (isset($_COOKIE["guest"])) {
        echo 'ただいまログイン中。';
      } else {
        echo 'ただいまログアウト中。';
      }

で、クッキーに値が入っていても毎回ログアウトの表示がなされます。原因わかりますでしょうか。

ちなみに上記ファイルは他のPHPからincludeで呼び出しています。php4.4.7 さくらインターネットです。
69nobodyさん:2008/01/12(土) 19:22:59 ID:???
>>68
var_dump($_COOKIE);
70nobodyさん:2008/01/12(土) 19:24:50 ID:???
制御の仕方もわからんやつが気にするレベルのロスじゃねーよ
71nobodyさん:2008/01/12(土) 19:31:36 ID:???
君が次に書くべきコードは、
var_dump($_COOKIE); だと思うが、いかがか?
7268:2008/01/12(土) 19:35:19 ID:g6/EhvFh
>>69 ありがとうございます。

    <?php
      if (var_dump($_COOKIE["guest"])) {
        echo 'ただいまログイン中。';
      } else {
        echo 'ただいまログアウト中。';
      }
    ?>

としてみたら、
 NULL ただいまログアウト中。
と表示されました。

クッキーは
    setcookie("guest", "guest", time()+3153600, "/");
で入れています。
73nobodyさん:2008/01/12(土) 19:36:47 ID:???
>    if (var_dump($_COOKIE["guest"])) { 
ハァ?
7468:2008/01/12(土) 19:48:32 ID:g6/EhvFh
すいません。初心者で。

ページの別の場所で
var_dump($_COOKIE);
を実行したところ、
array(1) { ["guest"]=>  string(5) "guest" }
が表示されました。

ひとつのページに NULL とそうでないのが共存することはあるのでしょうか。

ちなみにファイル構造は

----A.php----
<?php
include("B.php");
var_dump($_COOKIE);
?>

----B.php----
<?php
var_dump($_COOKIE);
      if (isset($_COOKIE["guest"])) {
        echo 'ただいまログイン中。';
      } else {
        echo 'ただいまログアウト中。';
      }
?>

みたいになっていて、B.phpの方がNullになります。
75nobodyさん:2008/01/12(土) 19:49:16 ID:???
setcookieは?
7668:2008/01/12(土) 19:52:31 ID:g6/EhvFh
setcookieは別のC.phpで
setcookie("guest", "guest", time()+3153600, "/");
で入れています。
77nobodyさん:2008/01/12(土) 20:00:49 ID:???
>>74
B.php の var_dump の出力結果は?
自分は、これから外出するんで、回答はできないけど。
7868:2008/01/12(土) 20:07:26 ID:g6/EhvFh
まとめると
A.php部分→「array(1) { ["guest"]=>  string(5) "guest" } 」
B.php部分→「NULL」
と表示されます。(同じページに表示されます。)

また、すべてのPHPはフォルダは違えど同じドメイン上に存在しています。

79nobodyさん:2008/01/12(土) 20:28:02 ID:???
プログラミング経験なし。28のWEBデザイナーです。

これからコツコツとPHP勉強するならどの教材がオススメ?
「独習PHP」というのにちょっとひかれているのですが…。
80nobodyさん:2008/01/12(土) 20:39:45 ID:???
>>78
小出しであいまいにじゃなくて全てを正確に出して
81nobodyさん:2008/01/12(土) 20:44:35 ID:???
>>79
>>1
>まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
>PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。

>◆質問する時の注意
>・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
82nobodyさん:2008/01/12(土) 20:47:18 ID:C+S8ANQW
pearをアップグレードしようとしたら

HTTP error, got response: HTTP/1.1 404 Not Found
Didn't receive 200 OK from remote server. (HTTP/1.1 404 Not Found)

というエラーが出てしまいます。
これってどうすればいいんですか?
8368:2008/01/12(土) 20:49:49 ID:g6/EhvFh
>>68です。すべてのデータをまとめます。(不要部分削除)

同じドメイン上、違うフォルダに3つのPHPがあり、それぞれ

----A.php----
include("B.php");
echo 'A部分:';
var_dump($_COOKIE);

----B.php----
echo 'B部分:';
var_dump($_COOKIE);

----C.php----
setcookie("guest", "guest", time()+3153600, "/");

です。

C.phpを実行したあとに、A.phpを表示させると

B部分:NULL
A部分:array(1) { ["guest"]=>  string(5) "guest" }
(↑当然ですが、ひとつのページに表示されます)

と表示がでます。最終的にはB.phpでcookieによる
条件分岐を実施したいのですが、B部分でcookieに値が
入っていないので断念しています。

B部分でもcookieが読み込めない理由がわかれば教えてください。
php4.4.7 さくらインターネットです。よろしくお願いします。
84nobodyさん:2008/01/12(土) 21:01:28 ID:???
>>83
俺の環境でやったらA部分も出たよ
85nobodyさん:2008/01/12(土) 21:02:26 ID:???
間違えた,B部分ね
8668:2008/01/12(土) 21:11:51 ID:g6/EhvFh
>>84
なぜなんでしょうか。。。原因わかりません。

今判明したのですが、B.phpを単独で表示させると
array(1) { ["guest"]=>  string(5) "guest" }
と表示されるので、phpの記述ミス等は無さそうです。。
87nobodyさん:2008/01/12(土) 21:23:51 ID:???
>>82
大きく変更があった。ttp://pear.php.net/ を参照。

>>86
>>83にあるコードそのものなら問題は起きない筈。
実際その数行のコードだけで試してみたら動作すると思うよ。
include時に httpから始めてたりしたら笑うな
8883:2008/01/12(土) 21:38:01 ID:g6/EhvFh
>>87
>include時に httpから始めてたりしたら笑うな

そのとおりでした。。解決しました。
皆さんありがとうございました!
89nobodyさん:2008/01/12(土) 21:38:08 ID:C+S8ANQW
>>87
thx.
とりあえずやってみたんですが、

# pear upgrade --force http://pear.php.net/get/Archive_Tar http://
pear.php.net/get/XML_Parser http://pear.php.net/get/Console_Getopt
downloading Archive_Tar-1.3.2.tgz ...
Starting to download Archive_Tar-1.3.2.tgz (17,150 bytes)
......done: 17,150 bytes
downloading XML_Parser-1.2.8.tgz ...
Starting to download XML_Parser-1.2.8.tgz (13,476 bytes)
...done: 13,476 bytes
downloading Console_Getopt-1.2.3.tgz ...
Starting to download Console_Getopt-1.2.3.tgz (4,011 bytes)
...done: 4,011 bytes
No handlers for package.xml version 2.0

というというエラーが・・・・・・
9089:2008/01/12(土) 21:58:02 ID:???
スマソ
自己解決しました
91nobodyさん:2008/01/12(土) 22:31:33 ID:???
>>88
だから
>正確に出して
って書いたのに。
どんだけ他人の時間と労力を無駄にしたと思ってるんだ。
92nobodyさん:2008/01/12(土) 23:26:50 ID:???
情報小出し厨は放置の方向で
93nobodyさん:2008/01/13(日) 09:27:43 ID:rbyeeIhv
@var_dump($_POST);
Aecho "f_cate1>>>".$_POST["$f_cate1"]; とやって、
@の方は
array(21) { ["act"]=> string(6) "修正" ["f_cate1"]=> string(37) "FOODメニューのカテゴリ名1"〜
って中身返すのに、
Aはf_cate1>>> ってだけで中身返さない

なんで? ちなみにソース見ようとするとキャッシュがクリアされたから再送信しますていう(firefox)
94nobodyさん:2008/01/13(日) 09:57:05 ID:???
$_POST["$f_cate1"] と $_POST["f_cate1"] とは違うから。
また、$_POST[$f_cate1] と $_POST["f_cate1"] も違う。
9593:2008/01/13(日) 10:11:54 ID:rbyeeIhv
>>94
ありがとうございます、var_dumpをみると、値の引渡し自体は上手くいってると
考えていいんですよね? ただ引き出し方がおかしいだけで…
今までこの程度で詰まったことなかったので逆に戸惑っています
寝ぼけて変なことやってるかなぁ
96nobodyさん:2008/01/13(日) 10:42:01 ID:???
9793:2008/01/13(日) 11:07:41 ID:???
すみません、解決しました ボケボケでした
$_POST["$f_cate1"];じゃなくて.$_POST['f_cate1'];ですね 恥ずかしい…

>>94 >>96 ありがとうございました
98nobodyさん:2008/01/13(日) 17:24:32 ID:0nLyIgyH
以下で使っているuksort()と同じ動きをするように出来る組み込み関数ってありますか?
希望する動作は、キーと値の保持がされつつ、$array[$hoge]の順番を$array[$hoge]['priority']の値でソートしたいのです。

<?php
function callback($a1, $a2){
return $a1['priority'] > $a2['priority'];
}
$array = array(
'therd' => array(
'c1' => 3,
'c2' => 'c',
'priority' => '2',
),
'first' => array(
'c1' => 1,
'c2' => 'a',
'priority' => '0',
),
4 => array(
'c1' => 3,
'c2' => 'c',
'priority' => '4',
),
'second' => array(
'c1' => 2,
'c2' => 'b',
'priority' => '1',
),
);
uksort($array,'callback');
var_dump($array);
99nobodyさん:2008/01/13(日) 17:27:47 ID:???
あれいまるちそーと
100nobodyさん:2008/01/13(日) 17:52:28 ID:???
1.学校で性教育を受けたがどうやって卵子と精子が出会うのかが謎
2.女にはちんこが無いのにどうやって小便するのかが謎
3.女にちんこが無いというのは都市伝説で実は股に挟んでるだけじゃないのか?
おながいします
101nobodyさん:2008/01/13(日) 17:53:07 ID:k2tfZ1QQ
trimの代わりに
$hoge = preg_replace('/^[  ]*(.*?)[  ]*$/', '$1', $hoge);
という処理をしています。(全角スペースも除去)
EUC-JPでは問題なく動いていたのですが、UTF-8ではうまくいきません。
具体的には、先頭のひらがなカタカナが化けます。漢字や半角英数は問題ないようです。
あいうえお→・・いうえお

何かよい方法はありますか?
102nobodyさん:2008/01/13(日) 17:53:58 ID:???
>>99
レスありがとうございます。
array_multisort()を使ってどのように書けば良いかも教えていただいて良いですか?
103nobodyさん:2008/01/13(日) 17:56:41 ID:???
>>102
どの辺がわからんの?
104nobodyさん:2008/01/13(日) 17:59:10 ID:???
>>101
preg_replace('/^[  ]*(.*?)[  ]*$/u', '$1', $hoge);
これで。修飾子については
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
を。
105nobodyさん:2008/01/13(日) 17:59:10 ID:???
>>101
正規表現の検証とかはしてないけど/regex/ => /regex/u でいけると思う。
106nobodyさん:2008/01/13(日) 18:03:22 ID:???
>>103
どのような引数を渡せば良いのかが、どうにもイメージ出来ないのです。
よろしければサンプルとしてどのようにするかを見せていただけると、
それを元に理解が出来るかもしれないので助かります。
107nobodyさん:2008/01/13(日) 18:04:46 ID:???
108nobodyさん:2008/01/13(日) 18:09:04 ID:???
>>107
精読します。ありがとうございました。
109101:2008/01/13(日) 18:15:23 ID:???
>>104-105
それでいけました。ありがとうございます。
110nobodyさん:2008/01/13(日) 18:44:50 ID:???
せいどく 【精読】
(名)スル
内容を細かく吟味しつつ、丁寧に読むこと。熟読。
「古典を―する」
111nobodyさん:2008/01/13(日) 22:36:50 ID:zh5BCzxe
PHP5でクラスメソッドをstaticにして呼び出すのとインスタンス化して呼び出す決定的な差がピンときません。

前者のメリットは、staticにした方が早い。
名前空間がないので、クラスを名前空間代わりに使ってstaticで呼び出しているだけで関数と差異はない。
Singletonが実装できる。(インスタンスを一つだけに制限できる)

逆にインスタンス化する場合のメリットは、
クラス内でプロパティを共有できる。
複数のオブジェクトが必要な場合、インスタンス化が必須。

自分の中でいくつか考えてみたので、何かフィードバックください。
112nobodyさん:2008/01/13(日) 22:41:28 ID:???
113nobodyさん:2008/01/13(日) 23:03:49 ID:zh5BCzxe
>>112
ありがとうございます。staticについてちょっと理解が深まりました。

ウェブアプリだったらユーザーからのリクエストに応じて処理して返すだけだったら、
ほとんどstaticで済む気がするのに、
全体的にstaticが使われるのが少ない気がするんですがなんででしょうか。
114nobodyさん:2008/01/13(日) 23:07:07 ID:???
>>113
Javaスレいって聞いてきな。
あっちは純粋なオブジェクト指向言語だしいい回答が返ってくると思う。
少し前にJavaメインでやってるPGの知り合いに同じような質問ぶつけてみたが忘れたぜ・・・
115nobodyさん:2008/01/13(日) 23:36:29 ID:???
ループ回数が多い中で呼び出すなら
staticで呼び出さないほうが良いよ遅いし
116nobodyさん:2008/01/13(日) 23:43:20 ID:???
インスタンスメソッドとクラスメソッドの区別がつかないうちは
全てインスタンスにしとけばOK
117nobodyさん:2008/01/14(月) 00:33:13 ID:fNJFgJhz
インスタンスとクラスの違いは理解しているつもりなんですが、
ウェブアプリでDBやLOGオブジェクトなんかは全部staticでいいと思うんです。
でも、インスタンス化されている場合も多くてこれは実装が下手なのか何か意味があるのか分からないしだいです。

>>114
やっぱJavaですかね。いってきます。
118nobodyさん:2008/01/14(月) 00:56:54 ID:eVMtNzBz
PHP上から次のSQL文を実行しているのですがエラーになります。
ORACLEだとSYSDATE等が使えるのですがMYSQLでは使えないのでしょか?

INSERT INTO TB_TEST
(
C1_NAME,
C2_DATE
)
VALUES
(
'NAME',
date --DATEでも駄目。
)

日時を登録するには何型を設定すれば良いのでしょか?
119nobodyさん:2008/01/14(月) 01:12:17 ID:???
>>118
sqlの構文だろ?なんでphpスレなんだ
mysqlのスレで聞けば良いのに
now()
120nobodyさん:2008/01/14(月) 01:22:05 ID:eVMtNzBz
>>119
スレチだったかもしれません。これだけ質問させてください。
お願い致します。

実は、NOW()ですと確かに登録は出来るのですが
'2009-11-11'
こういうデータが登録されてしまいます。

私が登録したいのは、年・月・日・時間・分・秒(つまり"sysdate"
も格納したいのです。

※データカラムをDATE型では無く、TIMESTAMP型にすれば良いのでしょうか?
そしてinsert時には"NOW()"では無く、Oracleで言うところの"SYSDATE"に
相当するコマンドを入れなければ行けないかと思いますが、MySqlの場合です
と何になるのでしょか?

121nobodyさん:2008/01/14(月) 01:27:43 ID:???
date型は日付だけ
datetime型だと日付と時間
TIMESTAMPだとunixタイムスタンプ
timestampはnullを指定するかその項目を指定しなかったら
insert時に自動で値が入る(更新時にも変わる)

それ以外の場合はmysqlにNOW()って関数があるから
''無しでNOW()って書けば良い

アプリ側の時間に合わせるならphp側でてきとーに整形して
つっこんでやって
122120:2008/01/14(月) 01:44:20 ID:eVMtNzBz
>>121さん
詳しい解説をして頂きまして、本当にありがとうございます。
勉強になります。
123nobodyさん:2008/01/14(月) 12:57:52 ID:???
会社 PHPやJavaを使用したWeb開発
募集条件 やる気のある方 PHPやJavaをやったことのある方歓迎(独学可)

面接官 PHPの経験があるってことはWebアプリにたいしてのノウハウはある程度あるのかな?
俺 はい一般人よりはそれなりに
面接官 おkwww採用wwwwwwww研修がんwwwwwばwww

そんなこんなでPHPが好きだったからこの誰でもおkみたいな会社に入ったわけだ

先輩 PHPの案件はないからVB勉強して下さい(本どっさり)

全俺が泣いた
124nobodyさん:2008/01/14(月) 13:29:47 ID:???
辞めろ
125nobodyさん:2008/01/14(月) 13:35:53 ID:???
PHPの案件安いからって零細企業でも蹴ってるとこあるけど
こんなんだから業務で使えるPHPエンジニア育たないんだよね
このPHP冷遇の時代を乗り切らないと完全に趣味言語になってしまう
PHPの地位をもっとあげるために
Zendをはじめ開発陣は企業に使ってもらえるようなアイデアや仕様を取り込んでくれないとな・・・
もっともこんな状態なのは日本だけなのかもしれないけど
126nobodyさん:2008/01/14(月) 13:56:31 ID:???
日本人は自分を安売りすることを「誠意を見せる」ことと勘違いしている
こんな国は発展しないよな
127nobodyさん:2008/01/14(月) 14:01:56 ID:eVMtNzBz
>>123
VB位やれ

俺はこれくらいはマスターしている(業務レベルで)
C#/VB.net/VB6.0/C++/ASP.net(C#・VB.net)/PHP5/
Java/Windwsシェル/Unix-C/Cobole/PL_SQL

128nobodyさん:2008/01/14(月) 14:02:45 ID:???
MySQLは?
129nobodyさん:2008/01/14(月) 14:03:50 ID:???
マスターしてる奴がこのスレで質問すんのかw
130nobodyさん:2008/01/14(月) 14:08:14 ID:???
ID消し忘れ恥ずかしいwwwww
知ってるの並べたとかじゃないの?ねえどうなの?www
131nobodyさん:2008/01/14(月) 14:16:49 ID:???
こぼーれ
132nobodyさん:2008/01/14(月) 14:29:03 ID:eVMtNzBz
MySQLは知らん。
MySQLなんて書いてないでしょ?

cobolね。
133nobodyさん:2008/01/14(月) 14:33:26 ID:???
phpはマスターしてるんだw
134nobodyさん:2008/01/14(月) 14:33:50 ID:???
おちこぼーれなんだな
135nobodyさん:2008/01/14(月) 14:34:50 ID:eVMtNzBz
まぁ、PHPは他の言語と比べてかなり簡単だからね。

136nobodyさん:2008/01/14(月) 14:56:57 ID:???
PHP質問スレじゃなくて雑談スレみたいなのないかな
137nobodyさん:2008/01/14(月) 15:05:57 ID:???
138nobodyさん:2008/01/14(月) 15:22:16 ID:???
>>137
サンクス

PHP総合雑談スレでも立ててみるわ
139nobodyさん:2008/01/14(月) 15:23:53 ID:kFFYYs1+
サイト内検索はどうやって作っているのでしょうか。
ページ全てをデータベースに放り込んで、
そこから当てはまるURLを取得して表示しているのですか?

もっと簡単な方法とかありましたら教えてください。
140nobodyさん:2008/01/14(月) 15:33:39 ID:???
>>139
ページを作ってからデータベースに放り込むのではなく、
データベースに放り込んだものからページを生成する。
141nobodyさん:2008/01/14(月) 15:35:41 ID:kFFYYs1+
>>140
つまり、ページは自動生成ということですか?
ってことは、既に複数のページを作成してしまったから無理かorz
142nobodyさん:2008/01/14(月) 15:38:47 ID:???
>>140
>ページは自動生成ということですか?
YES。ブログみたいのを思い浮かべれば簡単じゃないかな。
最初からちゃんと設計しないとだめだねえ。
Namazuでもつかっとけばおk
143nobodyさん:2008/01/14(月) 15:39:32 ID:kFFYYs1+
>>142
やっちまったZE☆
Google様にお世話なります・・・。
144nobodyさん:2008/01/14(月) 15:41:21 ID:???
データベースに移行して、既に作成してある複数のページはデータベースに放り込めばいいじゃん。
GoogleのAPI使ってもいいと思うけど。

http://code.google.com/apis/ajaxsearch/
145144:2008/01/14(月) 15:41:53 ID:???
リロードしてなくて俺脂肪wwwwwwwwwww
146nobodyさん:2008/01/14(月) 15:42:03 ID:???
phpで全HTML読み込んでstrpos()でもかけりゃおk
147nobodyさん:2008/01/14(月) 15:44:23 ID:???
>>146
お前頭いいな
148nobodyさん:2008/01/14(月) 16:04:24 ID:HAlmIBpU
WINのanhttpdで phpファイル動かそうと思ったが
tplファイルというのが
syntaxerrorで動かない。 linuxのapacheだと動くのだろうか?
ちょっとぐぐったがでてこない。
www.itmedia.co.jp/enterprise/0401/23/epn01_5.html
↑ここが参照元

tplファイルをphpに関連つけるには?
php5.2です。
149nobodyさん:2008/01/14(月) 16:15:02 ID:???
tplとか見るからにただのテンプレートファイルだろ
includeで読み込まれて使われてるとかだろ

つうか当たり前の話だが拡張子phpにしないとphpとして動作しない
anhttpdとかマイナーなの使ってないでapacheにして下さい
tplをphpとして動かしたいというならapacheでそういう設定にすればいいんじゃね?
150nobodyさん:2008/01/14(月) 16:20:48 ID:???
>>148
使ったことないけど、それはサーバ側で設定するしかない。
151nobodyさん:2008/01/14(月) 18:01:11 ID:hiecVsD+
PHPで掲示板を製作しているのですが、
「【PHP】下らねぇ質問はここに書き込みやがれ 62」という文字列があった場合
自動的に「【PHP】下らねぇ質問はここに書き込みや....」という感じに文字列を省略させたいのですが、
どうしたらよいでしょうか?
152nobodyさん:2008/01/14(月) 18:13:23 ID:???
>>151
まずはチンポ洗って清潔にしてからこいや。
そんときゃ詳しく教えたる。

153nobodyさん:2008/01/14(月) 18:13:55 ID:???
>>151
substr
strlen
154nobodyさん:2008/01/14(月) 18:34:26 ID:kFFYYs1+
Warning: simplexml_load_file() [function.simplexml-load-file]: http://example.com/xml.php parser error : Premature end of data in tag rss

PHPで吐き出したXMLを読み込もうとするとこのようなエラーが出てしまいます。
YahooのRSSを真似たので、中身は同じだと思うのですが、なぜこんなエラーが出るのでしょうか
155nobodyさん:2008/01/14(月) 18:35:43 ID:hiecVsD+
>>153
ありがとうございます。できました。
156nobodyさん:2008/01/14(月) 18:36:16 ID:kFFYYs1+
とおもったら閉じタグなかったorz
サーセン
157nobodyさん:2008/01/14(月) 18:45:35 ID:???
158nobodyさん:2008/01/14(月) 20:18:32 ID:???
何でもあるなw
159nobodyさん:2008/01/14(月) 21:19:43 ID:???
>>157
吹いたwwwwwwwwwww
160nobodyさん:2008/01/14(月) 23:07:59 ID:???
丸めるのもmb_substerより優秀なので
文字列切り取りもmb_substerよりこっちのがいいよ
161nobodyさん:2008/01/14(月) 23:08:26 ID:???
あ、mb_substrな・・・
162nobodyさん:2008/01/15(火) 00:20:26 ID:Yg4ty3XI
これまで、Perlでプログラミングをしていて、PHPは全くの初心者です。
PHPの特徴を学びながら、コードを書いていきたいなと思っています。
以下のサイトで、PHPのメリットを読んだのですが、Perlとの違いで
大きな部分はイメージやPDFファイルが作れたりするところですよね。
http://www.php.net/manual/ja/intro-whatcando.php

まずは、Perlで自作した掲示板をPHPに移植するところから
やってみようと思ったのですが、この移植の場合は、特にメリットや
書き方のスタイルに違いは無いと思ったのですが、それであっているのでしょうか?

処理内容
・ユーザの書き込みをログファイルに書き込む。
・ログファイルの内容をhtml出力する。
・検索をし、該当するデータのみを表示させる。

プログラミングの全体構成
・POSTのデータを取得し、処理を行う関数を振り分ける。
・各種パラメータはグローバル変数で設定する。
163nobodyさん:2008/01/15(火) 00:55:25 ID:???
>>162
まずはチンポ洗って清潔にしてからこいや。
そんときゃ詳しく教えたる。


164nobodyさん:2008/01/15(火) 02:12:22 ID:???
>>162
PerlもPHPも出来ることは一緒
なのでやることも一緒
165nobodyさん:2008/01/15(火) 03:16:32 ID:???
>>160
優秀についてkwsk
166nobodyさん:2008/01/15(火) 10:31:18 ID:???
>>162
>大きな部分はイメージやPDFファイルが作れたりするところですよね。
Perlやったことないから知らないけど、なくても自作すれば作れるようになるでしょ。(大変そうだけど)

Perlって構文が特殊だから少し戸惑うだろうけど慣れればほぼ一緒。
書き方のスタイルは少し違ってくるだろうけど、大きなメリットは別にないんじゃない?
強いて言うなら小規模の物ならPerl/CGIと比べてパフォーマンス面で優れてるぐらいかな。
最近のPC事情を考えるとその辺は割りとどうでもいいような気はするけどね。

それよりDB使った掲示板にこの際移行してみたら?
167nobodyさん:2008/01/15(火) 10:47:34 ID:9YYFPVXq
UTF-8⇔utf8
Shift_JIS⇔sjis
EUC-JP⇔ujis

のような相互変換をしてくれる関数とかありませんか?
168nobodyさん:2008/01/15(火) 13:07:16 ID:SIMemfh4
<form name="test" method="post" action="index2.php">
<input type="text" name="test"/><input type="submit"/>
</form>
<?php
$test = $_POST['test'];
echo $test;
?>

上記のようなフォームを送信後、その値を表示する簡単なプログラムを作ったのですが
携帯電話(au)から入力して送信すると文字化けしてしまいます。

123→123\0
あいう→%82%a0%82%a2%82%a4\0

上記のようになってしまうのですが、正常に表示させるにはどういった処理が必要なのでしょうか?
phpファイルの文字コードを変更して保存しても意味がないようでした。
よろしくお願いします。
169nobodyさん:2008/01/15(火) 13:22:57 ID:???
>>168
文字コードじゃなく、urlencodeされた状態のままになってる。
普通は$_POSTで取得したときに勝手にデコードされてるはずなんだが・・・
170168:2008/01/15(火) 13:48:56 ID:SIMemfh4
urlencodeで検索した結果
urldecode ($test);
を使ってデコードすることで解決しました。
処理を掲示板に組み込むので、全ての変数にこれを入れておきたいと思います。
ありがとうございました。
171nobodyさん:2008/01/15(火) 14:06:19 ID:???
>>167
preg_replace( array( '/UTF-8/', '/Shift_JIS/', '/EUC-JP/' ), array( 'utf8', 'sjis', 'ujis' ), $string );
172nobodyさん:2008/01/15(火) 14:07:04 ID:???
レベルh(ry
173nobodyさん:2008/01/15(火) 14:08:09 ID:9YYFPVXq
>>171
ありがとうございます。
専用の関数はないのですね。
自分で作ってみます。
174nobodyさん:2008/01/15(火) 15:28:05 ID:???
クラスに変数を渡すとき面倒だから一括してglobal化してんだけど、何か問題あります?
175nobodyさん:2008/01/15(火) 15:44:28 ID:???
おっしゃってる意味がわかりません
176nobodyさん:2008/01/15(火) 16:05:50 ID:9YYFPVXq
もしかしてevalの中でfunction内にあるfunction使えない!?
177nobodyさん:2008/01/15(火) 17:36:36 ID:WIMu7eDH
質問です
メールフォーム作ってその内容をメールで通知するとすると、
やはりメールサーバが必要になるんですか?
そこまでフォローしてくれる関数とかはないの?
178nobodyさん:2008/01/15(火) 17:39:48 ID:???
>>177
メールはPHPの範囲外
なので鯖が必要
179nobodyさん:2008/01/15(火) 17:39:51 ID:???
ねーよハゲ
180177:2008/01/15(火) 18:10:26 ID:WIMu7eDH
わかりました、ありがとう
181nobodyさん:2008/01/15(火) 18:17:27 ID:???
質問です、よろしくおねがいします。
PHPで、入力結果をcsvに結果を書き出すアンケートプログラムを作りたいのですが、
肝心のPHPの部分が分かりません。分かる方いたらお願いします。
HTTP側の画像はこれです。
ttp://uproda11.2ch-library.com/src/1159458.jpg
182nobodyさん:2008/01/15(火) 18:19:11 ID:???
>>181
釣りだよな?
183nobodyさん:2008/01/15(火) 18:19:24 ID:???
死ね
184nobodyさん:2008/01/15(火) 18:40:45 ID:???
>>1も読んでないし、釣確定
185nobodyさん:2008/01/15(火) 18:44:12 ID:???
入力画面作ったので処理部分作ってくださいってか?w
そんなんじゃ3万くれたらやってあげよう。とか言われるぜ。
186nobodyさん:2008/01/15(火) 18:51:33 ID:???
>>181
3万くれたらやってあげよう。
187nobodyさん:2008/01/15(火) 19:48:43 ID:S1LM8YrJ
サイトで使われているPHPのソースを見る方法、
またはダウンロードする方法があれば教えてください!

↓このサイトが、どうやってRSSを読み込んで表示させているのか知りたいので・・・
ttp://owata-net.com/
188nobodyさん:2008/01/15(火) 19:58:06 ID:???
つ、釣られるもんかっ!
189nobodyさん:2008/01/15(火) 20:07:50 ID:???
>>187
>サイトで使われているPHPのソースを見る方法
出来るわけない。出来たとしたらそれはセキュリティホール。
DBの接続情報なんか書いてるものが外部から見えたら大変だろ。
RSSなんてxmlなんだから専用の関数使うか、
構文解析して表示してるだけに過ぎない。
190nobodyさん:2008/01/15(火) 20:13:45 ID:???
最初はみんなそんなレベルから始まるもん・・・とかフォロー

>>187
ソース公開してなきゃ無理。
ソース抜けたらセキュリティなんかあったもんじゃねえでしょ。
RSS読込んで表示させたいだけなら、そういうライブラリやフレームワーク探すのが手軽かな。
php5だとZend Frameworkのとか
191nobodyさん:2008/01/15(火) 20:14:13 ID:???
あら随分出遅れて被ってしまった。すまんですよ
192nobodyさん:2008/01/15(火) 20:33:19 ID:S1LM8YrJ
>>189
>>190
なるほど・・・回答ありがとうございます!
初心者なのでソースを見て研究しようかと思ったのですが
PHPソースって見れないものなのですね。
193nobodyさん:2008/01/15(火) 21:15:27 ID:???
いろいろ探すとソースを別途公開してるオープンソースというものがあるので参考にしてください。
194nobodyさん:2008/01/16(水) 00:02:57 ID:UPc0pgTu
pg_prepare()とpg_execute()使ってinsert実行したいんだけど、
トランザクション処理増やすとpg_execute()でこけちゃうんだよね。

もしプリペアとトランザクションが併用できないなら教えてください。
195nobodyさん:2008/01/16(水) 00:35:09 ID:???
板違い
196nobodyさん:2008/01/16(水) 01:21:17 ID:fdtlATv5
PHP+DBをローカルマシン(Windows2000やXP)で動かす方法ってあるのでしょうか。
例えば、PerlだとActivePerl(とPostgreSQLのWindows版)みたいなものです。
開発しながら動作確認をレンタルサーバでやると迷惑がかかりますが、
そのサーバとは別にLinuxでマシンを組むしかないのかの確認をしたくて
こちらで質問してみました。
197nobodyさん:2008/01/16(水) 01:29:27 ID:???
Windows版バイナリを落としてきて入れる
198nobodyさん:2008/01/16(水) 01:31:05 ID:???
XAMPP
199nobodyさん:2008/01/16(水) 01:31:41 ID:???
>>196
ActivePerlも「やり方」覚えただけなんだろうな・・。
普通にできるよ。
200nobodyさん:2008/01/16(水) 01:37:24 ID:fdtlATv5
>>197-199
すばやい回答ありがとうございました。
XAMPPとか準備されてるのですね。そちらをもう少し調べてやってみます。
201nobodyさん:2008/01/16(水) 01:38:44 ID:???
>>196
AN HTTPDやウィンドウズ版のapache
というサーバーソフトがある。
これ入れたらローカルPCで動作する。
202nobodyさん:2008/01/16(水) 01:59:19 ID:???
>>200
初心者にXAMPPはおすすめできない
203nobodyさん:2008/01/16(水) 03:02:16 ID:???
俺も最低一回は自分でhttpd.confやphp.ini弄って起動まで持ってくべきだと思うなあ
204nobodyさん:2008/01/16(水) 03:07:26 ID:???
鯖管になるわけじゃないんだしそこまでしなくてもいいようなきも・・・
ゴミが増えるだけだしね。
テスト用の別マシンかVMでやるなら話は別だけど。
205nobodyさん:2008/01/16(水) 07:47:11 ID:???
>>196
Windows版のApacheやMySQLはサービスとして動くので、
一度インストールすれば後は手間がかからない。
ローカルマシンでテスト後、本番サーバーに転送というのが
普通の開発方法だと思うが。
206nobodyさん:2008/01/16(水) 08:48:57 ID:???
ゆとり世代なんだろよ
207nobodyさん:2008/01/16(水) 10:18:31 ID:???
つーかPC作らなくても仮想PCってのがあるんだから
Windowsでやりたくないならそれにインスコすればいいのに

変な日本語になってるけどキニシナイでくれ
208nobodyさん:2008/01/16(水) 10:56:03 ID:zeEvpiQl
switchの比較って===でしたっけ?
209nobodyさん:2008/01/16(水) 11:19:50 ID:jNLvN05l
>>208
演算子なら比較演算子でなくても何でもOKですよ。
型を含めた同一性を比較するなら===でOK
210nobodyさん:2008/01/16(水) 11:20:38 ID:???
>>208
http://jp.php.net/manual/ja/control-structures.switch.php
===演算子以外では全て緩やかな比較のなはず。strictオプションがある関数もあるけど。
211nobodyさん:2008/01/16(水) 11:22:58 ID:jNLvN05l
つか俺は何を言ってんだか...無視してくれ
212208:2008/01/16(水) 11:59:52 ID:zeEvpiQl
ごめんなさい
switchのcase x:の比較のことです。
有難う御座いました。
213nobodyさん:2008/01/16(水) 17:26:39 ID:zeEvpiQl
class example extends hogehoge{

  Test();

}

このclassの定義の仕方ってどういう意味なのでしょうか?

普段は
class hogehoge{
  function 〜
}
のようにするのですが・・・
214nobodyさん:2008/01/16(水) 17:35:15 ID:???
そんな書き方しない
215nobodyさん:2008/01/16(水) 17:40:14 ID:???
>>213
>このclassの定義の仕方ってどういう意味なのでしょうか?
何を聞きたいの?extendsを聞きたいのかメソッドの書き方を聞きたいのかわからん
216nobodyさん:2008/01/16(水) 17:42:40 ID:???
extendsのほうだろ
217nobodyさん:2008/01/16(水) 17:54:30 ID:???
extendsは継承。
継承される側をスーパークラスと呼んで、される側をサブクラスと呼ぶ。
class B extends A
の場合BがAのサブクラスでAがスーパークラス。
どういうときに使うかというとスーパークラスのメソッドをオーバーライドして使う時とかに使う。

なんていっても理解できないと思うので、
OOP勉強したいならJavaの入門書でも読むといいよ。
218nobodyさん:2008/01/16(水) 17:58:58 ID:???
>Test();
こんな書き方しないっていったのね
interfaceやabstractでも修飾子は必要だし
コンストラクタやメソッドもfunctionつけて中身ちゃんと書かないといけないし
219nobodyさん:2008/01/16(水) 18:07:16 ID:???
移転前のサーバーでは問題無かったのですが、移転後のサーバーで下記のようなエラーが出ました。
記述はどちらも同じなのですが……

Warning: fopen(text.txt) [function.fopen]: failed to open stream : Permission denied in (URL〜)index.php on line 206

206行目は
$fp = fopen("text.txt", "r+");
と記述しています。
もちろんtext.txtは存在します。
なぜエラーが出るのか分かる方がいましたら返答お願いします。
220nobodyさん:2008/01/16(水) 18:09:56 ID:???
>>219
文字通り、パーミッションじゃないの?
221nobodyさん:2008/01/16(水) 18:12:03 ID:???
chmod("text.txt", 0666);
222nobodyさん:2008/01/16(水) 18:12:35 ID:???
少しは英語読もうぜ・・・ゆとりならしょうがないけど。
test.txtのパーミッションを666にする。
223nobodyさん:2008/01/16(水) 18:14:58 ID:???
ふとおもったんだけど、ログとかのファイルって、
アップロード時に手動でパーミッション変えるか、
初期設定用みたいなPHP用意してchmodで変えるかどっちがいいの?
つうかchmodってセーフモードじゃ使えないから前者でやってるんだけど。
224nobodyさん:2008/01/16(水) 18:18:51 ID:???
>>223
個人的には、ファイルがなければ作成・パーミッション設定のがいいかと思う

いや、俺の独断と偏見だから参考にしないほうがいいかもしれんが
225nobodyさん:2008/01/16(水) 18:52:58 ID:???
どんだけ逃げ腰だよw
226nobodyさん:2008/01/16(水) 20:16:57 ID:zeEvpiQl
サンクス
なんとなくだけど理解できました〜。
227nobodyさん:2008/01/16(水) 20:34:24 ID:???
php.iniを読み込むのと、自作iniをparse_ini_fileで読み込んだときと全然処理が違うのねorz

include_path = ".;C:\xampp\php\PEAR\;C:\xampp\php\Smarty\"

php.iniだと成功するんだが

parse_ini_fileの場合、""内の「;」がコメント扱いになってしまう・・・
228nobodyさん:2008/01/16(水) 20:55:39 ID:???
その発想は無かったわ
229nobodyさん:2008/01/16(水) 21:02:32 ID:???
鯖上にあるファイルをクライアントがDLするときに、クライアント一人あたりのDL速度を制限することは可能ですか?
また可能であればどのようにすればよいのでしょうか?
230nobodyさん:2008/01/16(水) 21:15:03 ID:???
帯域制限はサーバの設定
231nobodyさん:2008/01/16(水) 21:16:34 ID:???
どうしてもPHPでやりたいの?sleepとか使って出力速度の調整をする感じ。

それよりもwebサーバの(拡張)機能を使った方がいいんじゃないかな。
apacheならmod_bwshareとか。
232nobodyさん:2008/01/16(水) 21:37:18 ID:???
ソフトウェアレベルでやる話じゃないような希ガス
233nobodyさん:2008/01/16(水) 21:45:34 ID:???
ソフトウェアレベルでやる話だと思うんだけど。
234229:2008/01/16(水) 21:48:38 ID:???
すいません
一般的な無料のレンタルWEB鯖とかの話です
そういう場合はアパッチの設定なんてできないですよね
クライアント一人あたりのDL速度を調整するような関数なりプログラムなんかはないということでしょうか
235nobodyさん:2008/01/16(水) 21:59:12 ID:???
無料レンタル鯖でDL負荷気にするようなコンテンツはやらないのが原則
236nobodyさん:2008/01/16(水) 22:09:56 ID:???
真面目に速度計算とか調整とかするとトンでもなく負荷が増えるだろうね。
挙句の果てにタイムアウトで鯖から接続切られたりとか。

一人の人に接続(帯域)を占有されたくないってのが元々の目的なら、
一定時間内に同一IPの人がダウンロードできる数を制限する、とかの方が簡単でいいんじゃないかな。
そういうのなら誰かが作ったのが配布サイトに転がってたりするんじゃないかな。
てか、別にPHPじゃなくてもよくね?
237nobodyさん:2008/01/16(水) 22:10:19 ID:???


   レベルひっくw

   低脳な、学歴のないやつばっかだなここ・・・ 


238nobodyさん:2008/01/16(水) 22:18:04 ID:???
※餌を与えないでください
239nobodyさん:2008/01/16(水) 22:22:36 ID:???
学歴のないとかおかしな日本語使う低脳は帰れよ。
240nobodyさん:2008/01/16(水) 23:24:15 ID:???
高卒しね。
241nobodyさん:2008/01/17(木) 00:05:52 ID:???
中卒の俺はセーフらしい。やっぴー(^O^)/
242nobodyさん:2008/01/17(木) 00:15:23 ID:???
PHP面白いよね
243nobodyさん:2008/01/17(木) 00:40:14 ID:???
>>241
俺も中卒^w^
244nobodyさん:2008/01/17(木) 00:59:14 ID:???
※撒餌禁止区域です。

245nobodyさん:2008/01/17(木) 01:02:00 ID:ckn0RAb7
php5で、GDを使ってアップロードしたファイルをリサイズするプログラムを組んでいます
で、アップしてサイズ変更・保存というプロセスは最後まで上手くいってるんですが、
apacheのエラーログにはエラーが出てしまいます

PHP Warning: imagecreatefromjpeg(../../../test/img/user/pic3.jpg)
[<a href='function.imagecreatefromjpeg'>function.imagecreatefromjpeg</a>]:
failed to open stream: No such file or directory
というエラーが出るんですが、実際には「../../../test/img/user/pic3.jpg」は
存在してるし、だからこそちゃんとリサイズと保存まで出来てるのではと思います

同じようなエラー(少なくとも見た目の動作はちゃんとしてるのにエラーがでる)を
経験した方いないですか? どのように解決しました?
また、このエラー?をログに書き出ないようにする方法はないでしょうか?
よろしくお願いします
246nobodyさん:2008/01/17(木) 05:19:51 ID:???
>>245
いやエラーでてるんだったら結果が正しく見えてようが、とにかく該当箇所はおかしいんだろ。
出来てるのではと思います、とかじゃなくて、エラーが出力される以上まずはコードを疑ってかかれよ。
普通に使ってる分にはPHP自体がバグってることはそうそうねーから。
247nobodyさん:2008/01/17(木) 08:28:29 ID:???
ワラタ
「PHPからの警告!/../../test/img/user/pic3.jpgがありません」
って言われているのに「私は/../../test/img/user/pic3.jpgのリサイズと保存は出来ている
と思います」と頑なに主張する245が可愛い
248nobodyさん:2008/01/17(木) 08:40:15 ID:???
>>245
俺もその関数を使ってアップロードされた画像をリサイズ処理してるけどなんら問題ない
249nobodyさん:2008/01/17(木) 08:55:04 ID:???
マニュアルもろくに読まないで関数使ってるゆとりだろ。
250nobodyさん:2008/01/17(木) 09:12:48 ID:O85eEBCt
$db =& DB::connect("pgsql://root@localhost/abs");
var_dump($db);

NULLすら表示されませんorz
エラーも出ないし(他のエラーは出ます、error_reporting = 2047、display_error = On)
これのあとにechoなどしても表示されません・・・。

まじ簡便orz

どうすれば表示されるのでしょうか
251nobodyさん:2008/01/17(木) 09:21:06 ID:???
if (PEAR::isError($db)) {
    die($db->getMessage());
}
252nobodyさん:2008/01/17(木) 09:30:00 ID:???
他人が作ったスクリプトのソースを見ていて疑問に思ったのですが
ある変数をセッションに登録するときに、
$_SESSION['hoge'] = base64_encode(serialize($hoge));
とやって、参照するときには
$hoge = unserialize(base64_decode($_SESSION['hoge']));
としてました。
これって、いったい何のメリットがあるんでしょうか?
配列とかオブジェクトをセッションに登録できる、ってことですか?
253nobodyさん:2008/01/17(木) 09:31:46 ID:???
254nobodyさん:2008/01/17(木) 10:16:24 ID:O85eEBCt
>>251
それでも何も表示されないです。
255nobodyさん:2008/01/17(木) 10:40:10 ID:O85eEBCt
[last_query] => INSERT INTO hogehoge (id,name,address,telephone,email,keyword,catch_copy) VALUES (60006,'test','大阪府 ','','','','test')

autoExecuteでクエリは実行したのにDBに格納されてない・・・。
PEAR::DBマジで死ねヽ(`Д´ )ノ
256nobodyさん:2008/01/17(木) 10:59:02 ID:???
>>255
もうやめれば?
257nobodyさん:2008/01/17(木) 11:32:50 ID:???
>>255
つかドキュメント読んだ?
258nobodyさん:2008/01/17(木) 12:59:55 ID:???
>>255
普通にpg_connectとかで接続はできるの?
259nobodyさん:2008/01/17(木) 13:03:14 ID:???
>>258
getOne(SELECT文)での取得はできたので、DBには接続されています。
260258:2008/01/17(木) 13:05:00 ID:O85eEBCt
ID出し忘れましたorz
261nobodyさん:2008/01/17(木) 13:57:20 ID:HX+GAcfV
素朴な疑問なんですけど、サイトにある画像を右クリック→プロパティで見たら、
画像なのに、gifとかjpgではなく

http://www.datadepot.org/fr/glosp.php

みたいなphpファイルになってたんですけど、これって何ですかね?
どうやってphpで画像を表示させてるんでしょうか?
また、わざわざphpで表示させるメリットは何かあるんですかね?
262nobodyさん:2008/01/17(木) 14:08:20 ID:???
うpろだとか使ったこと無いの?
263nobodyさん:2008/01/17(木) 14:25:39 ID:???
>>261
グラフみたいだしGD使ってるだけでしょ。
264261:2008/01/17(木) 14:26:40 ID:HX+GAcfV
イメージ関数でやれば可能みたいなのは分かったんですが、
何のメリットがあるのかな?
265nobodyさん:2008/01/17(木) 14:26:59 ID:???
PHPで画像を生成してると言ったほうがわかりやすいだろうか
だからPHPを通して画像が出力される
266nobodyさん:2008/01/17(木) 14:31:39 ID:???
>>264
相場とかリアルタイムに動くじゃん
そんなの固定イメージ作って手動更新なんてしないでしょ
リアルタイムに動く相場のデータとかを別にとっておいて
そのデータをもとに動的にグラフを生成してるってだけ
267261:2008/01/17(木) 14:43:08 ID:HX+GAcfV
ぶっちゃけた話、上記のサイトは他サイトの画像を引っ張ってきてるみたいなんですが、
たぶん元画像のおいてあるサイトはリファラー監視していて
<IMG src="http://○○○.jpg">のような単純な直リンクは弾いてると思うんですが、
php経由の直リンクならすり抜けちゃうのかなと思いました。

また以前、phpは動的なプログラム?だからphpによる直リンクは著作権に触れない?みたいな
変な情報聞いたことがあって、それでこのサイトはphpで直リンクやってるのかな?と思いました。
268nobodyさん:2008/01/17(木) 14:44:39 ID:???
?ばっかりだなw
269nobodyさん:2008/01/17(木) 14:49:11 ID:???
>>267
何を言ってるかよくわからんが難しいこと考えすぎ。
どうみてもGDでグラフ出力してるだけだろ。
JpGraphとかその辺使ってみるといい。
出力するときヘッダでmimeタイプ送ればphpの拡張子でイメージ表示される。
270nobodyさん:2008/01/17(木) 14:50:43 ID:???
http://internet.watch.impress.co.jp/cda/news/2008/01/17/18139.html

MySQLの時代キター?
PHPもSunに買収されてしまえばいいのに。
271nobodyさん:2008/01/17(木) 15:12:12 ID:???
>>267
単にAPIが提供されてるだけじゃねえの?
272nobodyさん:2008/01/17(木) 16:07:39 ID:???
独自で繰り返しの命令文を作るってできないですかね

これ作りたい

loop(5){

〜〜5回繰り返し処理〜〜

}
273nobodyさん:2008/01/17(木) 16:08:56 ID:???
作れば?
274nobodyさん:2008/01/17(木) 17:02:18 ID:FPY6k7hv
$$k = $v の左辺の意味がわかりません
275nobodyさん:2008/01/17(木) 17:03:40 ID:???
>>274
$k = "test";
$$k = "お母さん";

echo $test;
276nobodyさん:2008/01/17(木) 17:21:48 ID:???
俺は>>275のソースの $test の意味が分かりません。
277nobodyさん:2008/01/17(木) 17:26:06 ID:???
>>276
275を実行してみればどういうことかわかるでしょ
わからないならセンスないからやめたほうがいい
278274:2008/01/17(木) 17:33:42 ID:FPY6k7hv
>>275 端的な回答どうもありがとうございます。理解できました。
279nobodyさん:2008/01/17(木) 17:34:08 ID:???
こういう使い方があると知らなくてもなんとなく眺めて分かるだろうに
280nobodyさん:2008/01/17(木) 17:34:21 ID:???
個人的には
$$kより
${$k}のが好きだわ
281nobodyさん:2008/01/17(木) 18:21:16 ID:???
foreach($hoge as $k => $v) {
  $kk = $v;
}
なら、extractとやりたいことは一緒かな?
282nobodyさん:2008/01/17(木) 18:34:14 ID:???
$$kだった。typo
283nobodyさん:2008/01/17(木) 19:14:17 ID:???
ID:HX+GAcfVの迷走ぶりにワロタ
284nobodyさん:2008/01/17(木) 20:09:40 ID:???
半端に知識あるから余計なことに気が回るんだよね。
ディレクターとかデザイナっぽい。
285nobodyさん:2008/01/17(木) 20:12:14 ID:???
なんで、「お母さん」なの?
286nobodyさん:2008/01/17(木) 21:37:21 ID:???
あのさ、ちょっと教えて。

User というクラスと、 なんか適当なオブジェクト(例えば Item とか) があたとするよな。

それで、このItemはUserによって編集できたりできなかったりするわけだ。
その場合、この権限のチェックはどのクラスにどういった感じで実装するのがいい?

class Item
{
  function canEdit(User $user) {
    // なんかの処理
    return true;
  }
}

みたいな感じにするのがいいのか、User クラスに実装するのがいいのか、それとも別のクラスを作成したほうがいいのか。
おしえてガリレオ!



287nobodyさん:2008/01/17(木) 22:04:08 ID:???
canEditはねーよ・・・
288nobodyさん:2008/01/17(木) 22:29:10 ID:???
クラス関連で質問なんだけど
クラスを作るときに最初に、
class doHoge{
var $hoge;
var $hogehoge;
}
みたいに書いてるときあるけど、これってメンバのスコープとかデフォルト値を明示的に宣言してるだけであって、
デフォルトのスコープであれば、この宣言は必要ない?
289nobodyさん:2008/01/17(木) 22:39:44 ID:???
あるとなしでは大違い
290286:2008/01/17(木) 23:05:26 ID:???
>> 287
すまん、まじでどう実装するのがよいかわかんねーんだ。
291nobodyさん:2008/01/17(木) 23:08:50 ID:???
>>286
権限って何よ?
まずはその説明を。
292nobodyさん:2008/01/17(木) 23:14:03 ID:???
モハメドあた
293286:2008/01/17(木) 23:59:54 ID:5odDHjy8
>>291
えーと、ユーザーがItemのデータを編集したり、削除したりする権限です。
Itemは例なので、ブログのエントリーでも、商品でも何でもいいんだけど、
それを編集できる人が設定されていて、それをチェックするロジックが必要なんです。

それをどこに実装するのがスマートっつーか定石っつーかその辺を知りたいんですよ。

294nobodyさん:2008/01/18(金) 00:01:52 ID:???
>>288
メンバ変数がなんなのか調べて来い
295nobodyさん:2008/01/18(金) 01:12:48 ID:3giek1Yn
質問です。
たまに

「現在の閲覧者は***人です。」

といったサイトがありますがあれはどうやって行っているのでしょか?
サイトにアクセスがされたら、各クライアント毎にセッションを張り
その数をカウントし、一定間隔でクライアント側で再アクセスを
する事により動的に表示しているのでしょか?
296nobodyさん:2008/01/18(金) 01:24:05 ID:???
サーバーに保存してあるjpgデータを他のサーバーにPOSTして、受け取り側で$_FILESで取得したいのですが、できますでしょうか?

画像を保存してあるサーバーはPHP5.2.5、受け取りはPHP4.4.7です。
受け取りの方でPOSTされたりしたら、imagecreatejpegやらで画像ファイルを取得して、それを自分のサーバーに保存するという手段もありますが、
今回は$_FILESでうけとって処理をしたいのです。

よろしくお願いします。
297nobodyさん:2008/01/18(金) 01:24:37 ID:???
>>293
>えーと、ユーザーがItemのデータを編集したり、削除したりする権限です。
あほか!そのくらいはわかるわ。
どういう風にシステムで持っているわけ?
むしろ誰(どのオブジェクト)がその権限を持っているわけ?

っていうか自分の書いたレスを100回読んだらどこに実装したらいいか見えてくるんちゃう?

例えば、
コンビニでジュースを買うのにそれを買えるかどうかは
ジュースがわかるわけでも店員がわかるわけでもなく
本人が金持ってるかどうか確認したらええだけやん。
298nobodyさん:2008/01/18(金) 01:28:28 ID:???
299nobodyさん:2008/01/18(金) 02:03:08 ID:???
>>295
ページが遷移するまで普通は変わらないんじゃない?
アクセスした時点での閲覧者数を表示するのが一般的なんじゃないかと。
もしリアルタイムでやっているのならAjax使ってやるんじゃないかな。
300296:2008/01/18(金) 02:18:49 ID:Jr2FhrEe
ID忘れました。 お願いします。
301nobodyさん:2008/01/18(金) 03:10:49 ID:3giek1Yn
>>299
そうですね。確かに。。。
>アクセスした時点での閲覧者数を表示するのが一般的なんじゃないかと。
この「閲覧者数」はどの様にして集計しているのでしょか?

私が思いつく一つの方法として10分間の間のアクセス数を取得し
「現在の閲覧者数」にしようかと思っています。

が、しかしこの方法ですとスマートで無い気がします。
何か良い方法はありますでしょか?




302nobodyさん:2008/01/18(金) 03:21:13 ID:???
ない




303nobodyさん:2008/01/18(金) 03:21:27 ID:???
>>296
pearのHTTP_Requestでも使えば?
304nobodyさん:2008/01/18(金) 03:22:55 ID:???
>>301
自分でセッション管理してセッション数を表示すればいいんじゃ
305301:2008/01/18(金) 03:31:42 ID:3giek1Yn
>>303さん,304さん
ありがとうございます。
明日(今日か)また試してみようと思います。

今日はもう寝ます。おやすみなさい^^;
306nobodyさん:2008/01/18(金) 04:04:46 ID:???
PHP5 hoge.php
で実行しようとしたら、ソースが表示されて終わってしまいます。
実行権限あたえてるのに。
助けて!
307nobodyさん:2008/01/18(金) 04:12:47 ID:???
>>306
httpd.confとかいじれるの?
弄れるなら
AddHandler php5-script .php
AddType text/html .php
の追加とか
308296:2008/01/18(金) 08:43:16 ID:Jr2FhrEe
>>303
PEAR使えばできるんですね。
方法がまったく思い浮かずにできないのかと思っていました。
ソースのぞいて勉強します。 ありがとうございました。
309nobodyさん:2008/01/18(金) 10:33:12 ID:JPL9CEzO
$text = "ABCDALSKEAICCOSASDFF";
という文字列から、
"A"のある場所を取得する方法はありませんでしょうか?
1つだけ取得するのではなく、複数ある場合は複数取得したいのです。
310nobodyさん:2008/01/18(金) 11:00:08 ID:???
>>309
$a = split("A",$text);
とやって、文字列を数える方法とか。
もっとスマートな方法がありそうな気もするけれど。。。
311nobodyさん:2008/01/18(金) 11:05:12 ID:???
こっちがいいかな。

$i = strlen($text);
$a = strpos($text, 'A', 0);

$i > $a である限り以下の処理をする。
$a = strpos($text, 'A', $a);
312nobodyさん:2008/01/18(金) 11:09:39 ID:???
簡単なのは310の方のような
$ary = split('A',$text);
$cnt = count($ary);
313nobodyさん:2008/01/18(金) 11:11:34 ID:JPL9CEzO
>>310-311
ありがとうございます。
そんな方法があったのですか・・・
314nobodyさん:2008/01/18(金) 11:35:21 ID:???
$this->v('A');
315nobodyさん:2008/01/18(金) 11:42:35 ID:JPL9CEzO
こういうの作ってみたのですが、もっと効率の良い方法とかありますか?
http://viprog.so.land.to/show.php?id=61

キーワードを全角半角など色々なパターンにして配列で返すのですが・・・。

使用目的:データベースで検索するときにパターン化してORで繋げると類似検索みたいになる

>>214
function v(){ return "piece"; }


echo v('A');
316nobodyさん:2008/01/18(金) 11:50:14 ID:???
echo v('A');

吹いた
317nobodyさん:2008/01/18(金) 12:02:54 ID:???
うまいことすんなぁ
318nobodyさん:2008/01/18(金) 12:08:41 ID:TUomNt9J
自クラスのフィールドを参照する場合$thisを使いますが、
継承したときにスーパークラスのフィールドを参照する方法を教えてください。
$superとかしてみたのですが無理っぽいので。
319nobodyさん:2008/01/18(金) 12:37:53 ID:???
320nobodyさん:2008/01/18(金) 13:05:01 ID:TUomNt9J
>>319
失礼。環境はPHP5.25です。
321nobodyさん:2008/01/18(金) 13:52:07 ID:???
parentはstaticしか使えないんだっけ
322nobodyさん:2008/01/18(金) 14:07:32 ID:???
>>181
<?php
$q1 = $HTTP_POST_VARS["Q1"];
$q2 = $HTTP_POST_VARS["Q2"];
$q3 = $HTTP_POST_VARS["Q3"];
$q4 = $HTTP_POST_VARS["Q4"];
$q5 = $HTTP_POST_VARS["Q5"];
$line = $q1 . "," . $q2 . "," . $q3 . "," . $q4 . "," . $q5 . "\n";
$fp = fopen("test.dat", "a");
fwrite($fp, $line);
fclose($fp);
?>
<html><body>
ご回答ありがとうございました。<br>
<a href="test.html">戻る</a>
</body></html>

※フォームをtest.html、ログファイルをtest.datとし、
同じディレクトリに置いた場合。
phpバージョンや区切り文字、エラーの処理などについては
指定されていなかったので、こちらで勝手に解釈した。
323nobodyさん:2008/01/18(金) 14:08:54 ID:???
>>322
アバウトすぎてワロタ
324nobodyさん:2008/01/18(金) 14:14:38 ID:???
A1 ぼくは,まあまあ,好きです
325nobodyさん:2008/01/18(金) 14:26:10 ID:???
>>321
http://jp.php.net/manual/ja/language.oop5.paamayim-nekudotayim.php の Example#3

このレスかいて、paamayim-nekudotayim って何だろうって思って調べたら、ヘブライ語らしい。(゚Д゚)
http://p0t.jp/mt/archives/2006/08/paamayim_nekudo.html
326nobodyさん:2008/01/18(金) 14:28:56 ID:???
>>325 
訂正というか、よくみたら、マニュアルにもヘブライ語ってかいてあった。
327nobodyさん:2008/01/18(金) 14:34:59 ID:???
インスタンスもOKなんだね。当たり前か。
328nobodyさん:2008/01/18(金) 15:16:14 ID:JPL9CEzO
自分で吐き出したXML文を、別のスクリプトで読み込ませたいのですが、

simplexml_load_file(URL);
にすると、

Warning: simplexml_load_file(URL) [function.simplexml-load-file]: failed to open stream: Connection refused
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "URL"

とエラーが出ます。

XMLはHotPepperを真似て作ったようなもので、下記のようになっています。
headerはapplication/xmlを吐き出しています。
何か対処法はありませんでしょうか?

↓続き(XML)
329nobodyさん:2008/01/18(金) 15:16:54 ID:JPL9CEzO
<?xml version="1.0" encoding="UTF-8" ?>
 <result>
 <subject>検索結果</subject>
 <count>2</count>
 <word>居酒屋</word>
 <lat>35.1245214</lat>
 <lon>139.54231</lon>
 <items>
  <item>
   <name>〜</name>
   <address>〜</address>
   <email>〜</email>
   <telephone>〜</telephone>
   <message>〜</message>
  </item>
 </items>
</result>
330nobodyさん:2008/01/18(金) 16:52:19 ID:???
エラー読む気ないんだったらこっち池

くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
331質問:2008/01/18(金) 16:53:39 ID:e2DNo7Zr
現在レンタル鯖でIMAP関数でメールを読み
送信時にmail()関数を使って送信する
という使い方をしています。
しかしメール送信時にmail()関数を使うと
送信アドレスの間違いなどで不達の時のエラーメッセージが
鯖管のアノニマス@hoge.comに逝ってしまい確認が取れません。
これを回避するため素直にsmtpなどで送信したいのですが
どうしたらいいのでしょうか?
332nobodyさん:2008/01/18(金) 16:54:52 ID:JPL9CEzO
>>330
・URLで接続失敗
・外部リソース"URL"の読み込み失敗

エラーが分かっても原因がわからないと意味ないです
333nobodyさん:2008/01/18(金) 17:13:03 ID:???
>>322にこれを追加。
$q5 = ereg_replace(",", "、", $q5);
$q5 = ereg_replace("\r|\n", "<br>", $q5);
これで問題ないでしょ?あとは、以下の機能をつけるくらいの話でしょ。
・リファラを見てはじく。
・フォームをhtmlからphpに変えて、hiddenにランダムな数値を入れておいて確認する。
・IPアドレスも登録して、一生涯に一度しか投稿できなくする。
他にあったらお願いします。
334nobodyさん:2008/01/18(金) 17:15:38 ID:???
>>331
ごくごく素直にsendmail -fを使うのは?
335nobodyさん:2008/01/18(金) 17:38:23 ID:???
>>332
そもそもそれエラー原文じゃないんじゃないのか?
336nobodyさん:2008/01/18(金) 18:00:15 ID:???
どーでもいいが
>>334のはmailの第5引数につけれるよ
337331:2008/01/18(金) 18:04:41 ID:e2DNo7Zr
>>334
即レスありがとうございます。
それも考えたのですが
この際送信メールそのものも
メールサーバに保存しておければいいかな
と考えまして質問してみました。
338nobodyさん:2008/01/18(金) 18:56:28 ID:???
           __  __
           ヽ'::':/
            }:::{
            |:::l
          r:ャ l:::|
          l:(.ノ:::l
        ,.r:::''::::::::::::::)
       .〈;;;:::::::::::::::゛:i,,__,〃
      /~:::y'''::::-:::〈ー‐’

かぶと虫さんがこのスレに遊びに来ました。
339nobodyさん:2008/01/18(金) 19:10:24 ID:???
フレームワークって、PEARやSmartyみたいに外部に置いといて、
スクリプト内から呼び出すもんだと思ってたわ

もう、フレームワーク自体に組み立ててしまうのか・・・。
340nobodyさん:2008/01/18(金) 19:16:30 ID:???
逆に考えるんだ、“フレームワークがスクリプトを呼び出すのさ”と考えるんだ
341nobodyさん:2008/01/18(金) 19:17:09 ID:???
>>340
!!

しかし、URL直下にフレームワーク置くとか心配だわ
342nobodyさん:2008/01/18(金) 19:24:05 ID:UtEgGG7x
xreaをつかっているのですが、safeモードのせいかexecを実行することができません。
やりたい事としては、whoisの実行結果を取得したいのですが、
execを使う以外に実現できる方法はありますか?
よろしくおねがいします。
343nobodyさん:2008/01/18(金) 19:30:02 ID:???
344nobodyさん:2008/01/18(金) 20:06:58 ID:QH3r72PN
今、会員システムを作っていて、その会員領域からいろんなスケジュールやBBSへの
書き込みを出来るようになっています。
それで、たとえばスケジューラのDBテーブルへの書き込みを会員領域以外からは
いっさい受け付けなくすることはできるでしょうか? ディレクトリ指定というか、、
もし出来たらアドバイスお願いします よろしくお願いします

あと、SQLインジェクション対策についてですが、
たとえばプルダウンで時間選択するとき、0〜23までの値が入るのは確定してると
思いますが、このパラメータにも半角チェックや最大値チェックすべきなのか…?
主義とやる気の問題だとは思いますが、皆さんそこまでやってますか?
345nobodyさん:2008/01/18(金) 20:51:03 ID:???
> プルダウンで時間選択するとき、0〜23までの値が入るのは確定してると思いますが
346nobodyさん:2008/01/18(金) 20:56:32 ID:???
>>339
通常前者だと思うが。
ドキュメントルート以下に置いたフレームワーク自体に組み立てるFWって何?
347nobodyさん:2008/01/18(金) 20:57:40 ID:???
>>344
逸る気持ちは分かるが手近な先輩に指導してもらうなりテキスト読むなりして
ちゃんと勉強したほうがいい
348nobodyさん:2008/01/18(金) 20:58:14 ID:???
' OR 1=1--で一発だなw
349nobodyさん:2008/01/18(金) 21:18:23 ID:???
>>339
Zendは外部に置いといて呼び出すけどな。
350nobodyさん:2008/01/18(金) 21:40:53 ID:emyOBJ8O
サーバの要領が少なすぎて足りなくなった為、他社で2つ目のサーバを借りたのですが
1つ目のサーバから、2つ目のサーバへテキストファイルの書き込みをするPHPスクリプトを作りたくて
ぐぐったり書籍を見て調べました。
ですが、どう書けばよいのかがわかりません。
プロの方には初心的な質問で恐縮ですが
参考になるスクリプトか、ページを教えていただけませんか?よろしくお願いします。
351nobodyさん:2008/01/18(金) 21:45:33 ID:???
だが断る
web制作版で依頼してきなさい
352nobodyさん:2008/01/18(金) 21:48:43 ID:???
どういう用途でそういう処理が必要かによると思う。
リモートファイルの更新は技術的には可能。
353nobodyさん:2008/01/18(金) 21:54:15 ID:???
>>350
数百メガもテキストファイルで何に使ってんの?
354350:2008/01/18(金) 21:57:51 ID:???
ポエムです。
355nobodyさん:2008/01/18(金) 22:07:12 ID:???
PHPからftpで接続できるから、それでファイル開いて更新できるよ。
356nobodyさん:2008/01/18(金) 22:10:34 ID:emyOBJ8O
書き込みありがとうございます。

>351
PHPについての質問だったのでこちらに書き込みしました。
プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...

>352
はい、用途としては2つ目のサーバは友人にもFTPのユーザとパスワードを与えて
使ってもいいよと言って友人専用のディレクトリを使わせています。(サーバ屋の規約範囲内でです)

私が元々使っていたサーバはPHP4に対応していまして、2つ目のサーバはPHP5に対応しています。
ですので、丸ごと引越ししたかったのですが、なぜだか2つ目のサーバでPHPのスクリプトが動かなかったので
丸ごとの引越しを断念して、1つ目のサーバで使っているものはそのままのサーバで使っています。(お気に入りにいれているので使い勝手としてはあまり気になりません)

そこで、私が使っているプログラムの機能で(ただの掲示板なのですが)
私の方で書き換えたデータを、友人のページ(これも掲示板みたいなやつで2つ目のサーバにあります)にも
表示させてよと言われたので、>352さんの仰るリモートファイルの更新というものをしたいと考えています。

1つ目のサーバ →→ 2つ目のサーバ
という形でテキストファイルを更新させることで内容を同期させたと思っています。

2つ目のサーバ →→ 1つ目のサーバ
という形での内容の同期(読み込み?)でもいいのですが、正直どちらの形が良いのか、
初心者なために判断がつかないのが現状です。

すみません、長文になってしまいました。
なんか分からないところがあったら指摘してください。追加で説明をしたいと思います。
よろしくおねがいします。
357nobodyさん:2008/01/18(金) 22:11:50 ID:???
> プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
> プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
> プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...

( ゚д゚ )
358nobodyさん:2008/01/18(金) 22:20:06 ID:emyOBJ8O
350です

>353
ほとんど個人の用途なのですが、基本的に掲示板とかなのでテキストファイルもありますが
少しですが画像もあります。
2つ目のサーバを貸している友人も含め(数人ですが皆仲間ウチです)、元々はこの掲示板を使って備忘録がわりにしたりしていました。
1つ目のサーバの要領が50M程度だったので、流石に数人分の記録でも溢れてしまいました。

>354
さすがにポエムは恥ずかしいのでアップロードできません。
(隠れて書いたりもしていません)

>355
>PHPからftpで接続できるから、それでファイル開いて更新できるよ。
!?????????
すみません、ftpとはFFFTPのことですか?
FFFTPは使っているのですが、PHPとの連携ができるのですか!?
なんか解釈が間違っていたらすみません...
359nobodyさん:2008/01/18(金) 22:20:52 ID:???
これは罠よ!
360nobodyさん:2008/01/18(金) 22:21:26 ID:???
死ね
361nobodyさん:2008/01/18(金) 22:23:51 ID:emyOBJ8O
>357
すみません、なにか変なことを書いたでしょうか(>_<)???
【PHP】下らねぇ質問はここに書き込みやがれ 62
とタイトルに書いてあったので...
私にとって難しい悩みでも、プロの方にはくだらないのかなぁと...
362nobodyさん:2008/01/18(金) 22:34:46 ID:???
http_requestでpost投げるのが手っ取り早い
363nobodyさん:2008/01/18(金) 22:37:12 ID:???
>>350
とりあえず、テンプレ&マニュアル読んだ?
http://jp2.php.net/manual/ja/features.remote-files.php
ここあたり読めば幸せになれるんじゃない?
364nobodyさん:2008/01/18(金) 22:37:43 ID:???
きっとポコチン美女よ!
365nobodyさん:2008/01/18(金) 22:42:49 ID:???
釣り道具は立派だが餌が弱いな。
練り餌はもっと錬らなきゃ。
366nobodyさん:2008/01/18(金) 22:56:37 ID:emyOBJ8O
>359
罠とはなんでしょうか?

>360
荒れるのであまりそのようなことは...

>362
ぐぐってみます。ありがとうございます。

>363
マニュアルは見てみましたが、見当違いのところを見ていたのかもしれません。
参考になりそうな感じがしますので、見てみたいと思います。
ありがとうございました。

>364
...

>365
釣りじゃないです↓
367nobodyさん:2008/01/18(金) 22:57:44 ID:???
何↓って?
368nobodyさん:2008/01/18(金) 23:04:14 ID:???
←なんだろうね?
369nobodyさん:2008/01/18(金) 23:10:29 ID:???
こいつはプロID
構うだけ博之の思う壺だよ
370nobodyさん:2008/01/18(金) 23:14:50 ID:???
とうとう全res始めたか
371nobodyさん:2008/01/18(金) 23:27:28 ID:???
ヒント:サクラ要員
372nobodyさん:2008/01/18(金) 23:56:31 ID:pg2V70jW
掲示板のソースをみてPHPを勉強しようとしてる初心者だが、
ある掲示板はPHPファイルが一つのみ
ある掲示板はaction,view,resなどに色んなphpファイルがあり
その下にもサブディレクトリがありかなり複雑になってる。
ただし、一つ一つのスクリプトは小さい。
これってどうしてこういう違いになってるんだろう?
何か、開発してる人毎に開発方法が違うんだろうか?
phpspot.net/php/pgPHP%81%95CSS%8Cf%8E%A6%94%C2.html
↑この掲示板はファイルが多く理解できない。

何か開発するに至って参考となるものありますか?
本はマンモス本、サンプル集等いくつか買い集めたが
今ひとつ掴みきれない。

ネックの一つは開発したときのデバック方法。
サイトはPHP4のソースが圧倒的に多いのだが
漏れのPHP5の環境で動かない、場合によっては更にエラー番号も返さない。
みんなどうやって開発してるのだろう?
373nobodyさん:2008/01/19(土) 00:14:15 ID:???
全角厨ウゼー
374nobodyさん:2008/01/19(土) 00:16:31 ID:???
>>373
逆に全角じゃないと見にくいからダメだというヤシもいるんだぞ。
問題ないなら、変なこだわり持つな。
心の病気になるぞ。
375nobodyさん:2008/01/19(土) 00:17:37 ID:???
またプロ名無しか
376nobodyさん:2008/01/19(土) 00:18:52 ID:???
いらん書込はいいからさっさと答えろ。
377nobodyさん:2008/01/19(土) 00:21:32 ID:???
>>372
PHPはご存知のように一つのファイルに詰め込むことも
いくつかのファイルに分割することもできる。

ただ一つのファイルにすべてを詰め込むと、どの箇所でどの処理をしているかがわかりにくくなることが多い。
ということで通常は機能ごとにファイルを分けたり、クラスごとに分けたりする。

PHP5で動くようにしたらええやん。
デバッグ中はエラーも表示するようにする。
詳細は>>1
378nobodyさん:2008/01/19(土) 00:27:18 ID:???
>>372
楽して身に付けようとしてるなら無理だからやめとけ.悪いこと言わんから.
379372:2008/01/19(土) 00:32:21 ID:uG/K5st/
>>377
わかりました。
特に開発環境とかが各自で違うとかではないという事ですかね。
(理解できないのは己の頭が悪い、知識がないとかのの問題なのだろうか)

デバックの仕方とかもよくわからんけど
もうちょっと勉強して出直します。
380nobodyさん:2008/01/19(土) 00:40:40 ID:???
デバックの意味も分かってないんじゃないの
381nobodyさん:2008/01/19(土) 00:53:48 ID:???
質問です 変数に収まっている値のデータ型を判別する関数ってありますか?
382381:2008/01/19(土) 00:54:18 ID:FuloTUhn
しまった うっかり下げてしまいました
よろしくお願いします
383nobodyさん:2008/01/19(土) 01:01:29 ID:???
384nobodyさん:2008/01/19(土) 01:25:50 ID:???
FFFTPやらデバックやら…
385381:2008/01/19(土) 01:37:05 ID:FuloTUhn
>>383
ありがとう 助かりました
386nobodyさん:2008/01/19(土) 02:27:23 ID:???
"デバック" に一致する日本語のページ 約 228,000 件中 1 - 50 件目 (0.39 秒)

全米が泣いた。
387nobodyさん:2008/01/19(土) 05:24:17 ID:nyppE0sx
ここのスレホント役に立たない。
2回質問したが全くレスがない。
ちょっと難しい論点を出すと、全く歯が立たないんだなぁ。
このスレの住民の能力が手に取るように分かった。
388nobodyさん:2008/01/19(土) 05:25:34 ID:???
※餌を与えないでください
389nobodyさん:2008/01/19(土) 05:46:08 ID:???
>>387
> 2回質問したが全くレスがない。
> ちょっと難しい論点を出すと、全く歯が立たないんだなぁ。

お前の質問の仕方が悪いんだろ。人のせいにするな。
390nobodyさん:2008/01/19(土) 07:36:55 ID:???
bug :【和称】バグ
debug:【和称】デバッグ

デバックではないアホ
391nobodyさん:2008/01/19(土) 07:58:06 ID:???
こういうことに固執して書き込みする奴って、
「鯖」とか普通に使ってたりするんだよな。

っていうか、何でFFFTPが急に出てくるのか分からない。
392nobodyさん:2008/01/19(土) 08:30:40 ID:???
>>391
わかるわかるwwwwwwww

ヒント >>358
393nobodyさん:2008/01/19(土) 08:39:29 ID:uG/K5st/
>>390
古フランス語puc由来なので
デバックで濁らないのが本来の発音、アホ。
394nobodyさん:2008/01/19(土) 08:54:19 ID:uG/K5st/
ガリア訛りのロマンシュ語。
英貴族は当初は濁らなかったんだよ。
デパック。
395nobodyさん:2008/01/19(土) 09:02:37 ID:???
>>392
なるほど。ありがとう。
396339:2008/01/19(土) 09:18:23 ID:???
>>346
Cakeのアプリ作成の動画があったから見たら、そんな使い方してたのよ
http://p4life.jp/cake/

FWがどんな感じで動くのかわからないときにこういう動画見たから、
てっきりFW自体がそういうものだと思い込んでた

ちとZend調べてきまー
397nobodyさん:2008/01/19(土) 09:43:37 ID:ctJIPU4v
extendsについて質問です。

class A {
  public function Test(){
    echo "TEST";
    return 0;
  }
}

class B extends A {
  function Test2(){
    echo "Hello ";
    parent::Test();
  }
}

$extends = new B();
$extends->Test2;

この場合、「Hello TEST」と表示されますが、
extendsなしで、
parent::Test();を
A::Test();とすればいいのに
extendsをするメリットはあるのでしょうか?
398397:2008/01/19(土) 09:46:29 ID:ctJIPU4v
ああ、メンバ変数が継承されているのかΣ
メソッドの継承は、別クラスからClass::hogehoge()で呼べばいいだけで・・・あれ?
399nobodyさん:2008/01/19(土) 09:55:10 ID:???
出っ歯9本
400397:2008/01/19(土) 09:57:16 ID:ctJIPU4v
すみません、extends理解できました
普通に便利ですねこれ

ただ、使い方間違えるとゴチャゴチャになりそうで怖いです・・・
401nobodyさん:2008/01/19(土) 10:12:49 ID:???
多分色々間違って覚えてるんだろうな
402397:2008/01/19(土) 10:16:08 ID:ctJIPU4v
>>401
自分の解釈では
「メソッド・メンバ変数の継承」

class Aで使っていたメソッドやクラスをclass Bに継承させると考えていいのですよね?
403nobodyさん:2008/01/19(土) 11:39:42 ID:FuloTUhn
フォームで半角英数字を入力して、DBに登録して、それを後で引き出して
gettypeで判別したらstringになってたんですが、コレは仕様ですよね?
数字のままdbに保存→引き出し をする方法はないですか?
404nobodyさん:2008/01/19(土) 11:44:11 ID:???
無意味に継承してどうするのと。
>>397のソースは不可解。
includeみたいなものだと勘違いしてない?

>class Aで使っていたメソッドやクラスをclass Bに継承させると考えていいのですよね?
A(スーパークラス)で定義したメソッドやフィールド(メンバ変数)をB(Aのサブクラス)で継承する。
またはAで別クラスを継承してた場合、そのクラスのものも継承する。

継承についてはオーバライドやポリモーフィズム(多態性)を理解しないと使うのは難しいと思う。
405nobodyさん:2008/01/19(土) 11:47:41 ID:???
>>403
仕様。
>数字のままdbに保存
保存する直前でintに変えてから保存すればいいじゃないか。
406nobodyさん:2008/01/19(土) 11:56:23 ID:QtJ57h/6
数日前にPHPをやり始めた者です。勉強がてら、>>181の回答にあたるものを>>322
参考にしながら書いてみたのですが、重い処理をしているのではないかとか、
間違ったコーディングをしているのではないか、と不安になってここで質問してみました。
どうぞよろしくお願い致します。

test.php ファイルの内容
<?php
// 日付、IPアドレスを取得
$date = getdate();
$day = $date["year"] . sprintf("%02d",$date["mon"]) . sprintf("%02d",$date["mday"]);
$ip = getenv("REMOTE_ADDR");

// 重複入力チェック。同じ日に同じIPアドレスからであると、はじく。
$fp = fopen("test.dat", "r");
if($fp == false){ printf("<html><body>エラー:ログファイルが開けません。</body></html>");return;}
while( !feof($fp) ){
$read_line = fgets($fp, 1024);
$file_day_ip = split(",", $read_line);
if( ( $file_day_ip[0] == $day )and( $file_day_ip[1] == $ip ) ){
consecutive_error_html();
return;
}
}
fclose($fp);

// POSTを受け取る。
$q1 = $HTTP_POST_VARS["Q1"];
$q2 = $HTTP_POST_VARS["Q2"];
$q3 = $HTTP_POST_VARS["Q3"];
$q4 = $HTTP_POST_VARS["Q4"];
$q5 = $HTTP_POST_VARS["Q5"];
407nobodyさん:2008/01/19(土) 11:58:19 ID:QtJ57h/6
>>406のつづき

// 未入力チェック。いきなりtest.phpにアクセスしてきた時にもはじく処理。
if( ($q1=="")or($q2=="")or($q3=="")or($q4=="") ){
input_error_html();
return;
}

// 任意入力欄にて、CSVで使用している文字を変更する。
$q5 = ereg_replace(",", "、", $q5);
// 任意入力欄にて、改行を <br> に変更する。
$q5 = ereg_replace("\r|\n", "<br>", $q5);

// 文字列をつなげてファイルへ書込み
$write_line = $day . "," . $ip . "," . $q1 . "," . $q2 . "," . $q3 . "," . $q4 . "," . $q5 . "\n";
$fp = fopen("test.dat", "a");
if($fp == false){ echo "<html><body>エラー:ログファイルが開けません。</body></html>"; return;}
if(flock($fp, LOCK_EX)){
fwrite($fp, $write_line);
}else{
echo "<html><body>エラー:ログファイルのロックが出来ません。</body></html>";
return;
}
fclose($fp);
finish_html();
return;
408nobodyさん:2008/01/19(土) 12:00:13 ID:QtJ57h/6
>>407のつづき

// 連投拒否
function consecutive_error_html(){
echo "<html><title>エラー</title><body>";
echo '<div align="center"><b>エラー:連投ですか?</b><br>';
echo "$ip<br>";
echo '<a href="test.html">戻 る</a></div>';
echo "</body></html>";
}
// 入力不備
function input_error_html(){
echo "<html><title>エラー</title><body>";
echo '<div align="center"><b>エラー:Q1〜Q4すべてを選択して下さい。</b><br>';
echo '<a href="test.html">戻 る</a></div>';
echo "</body></html>";
}
// データ登録完了
function finish_html(){
echo "<html><body>";
echo '<div align="center"><b>ご回答ありがとうございました。</b><br>';
echo '<a href="test.html">戻る</a></div>';
echo "</body></html>";
}
?>

終わり
409nobodyさん:2008/01/19(土) 12:22:27 ID:t8kHENxA
// POSTを受け取る。
$q1 = $HTTP_POST_VARS["Q1"];
$q2 = $HTTP_POST_VARS["Q2"];
$q3 = $HTTP_POST_VARS["Q3"];
$q4 = $HTTP_POST_VARS["Q4"];
$q5 = $HTTP_POST_VARS["Q5"];

この部分

$HTTP_POST_VARSは古い$_POSTに変更
値は配列にしたほうが後々楽

$Q[1] = isset($_POST['Q1']) ? $_POST['Q1'] : null;
$Q[2] = isset($_POST['Q2']) ? $_POST['Q2'] : null;
410nobodyさん:2008/01/19(土) 12:44:54 ID:???
日付は$day = date('Ymd');にできる

if( ( $file_day_ip[0] == $day )and( $file_day_ip[1] == $ip ) ){
これは
if($file_day_ip[0] == $day && $file_day_ip[1] == $ip){
でいい下の$q1〜等もそう

$HTTP_POST_VARSは$_POSTでいいし
$ip = getenv("REMOTE_ADDR");
の部分は$ip = $_SERVER['REMOTE_ADDR'];に置き換えられる

あと重複チェックなら1行ずつ取得して
文字列一致を探した方が早いんじゃ?

それとCSVで使用している文字を変更するとあるが
勝手に入力値を変更するはどうかと
やるならダブルクォーテーションで囲って
ダブルクォーテーションを&quot;に置き換えた方が良い

あと自作関数だがエラーと完了のみにして
function error($errMsg,$title='',$param=null){
エラー処理(かくのめんどくせ)
}
因みに連投拒否のところに書いてある$ipは表示されないからねっ
411nobodyさん:2008/01/19(土) 12:48:04 ID:???
>>402
俺も単なる関数の集合としか使えてなかったけど
Zend Framework使ったらオブジェクト指向の利点が体感できたよ。
412nobodyさん:2008/01/19(土) 12:56:38 ID:???
>324でも書いたけど
なんでq5だけに改行や','が入ってくるって決め付けてるのさ
413403:2008/01/19(土) 13:15:48 ID:???
>>405
>保存する直前でintに変えてから保存すれ

フォームでsubmitした時点で文字列になっちゃうわけですかね?
気づかなかった、確認してみるよ ありがとう
414nobodyさん:2008/01/19(土) 13:18:45 ID:???
>>403
dbから取得した時点で既に文字列
415nobodyさん:2008/01/19(土) 13:20:28 ID:CC01YTh8
どなたかお助けください。
アマゾンAWSECSというwebサービスからXMLを取得
→XMLファイルに保存
→XSLTファイルを作成(画像URLとタイトル抜き出し)
→PHPのxslt_process関数を用いてXSLTを適用しHTMLを出力

ってな事をしたました。
リロード7回に1回の割合で上手く表示されるのですが、
ほとんどの場合空白ページが表示されてしまいます。

これを回避する方法はありませんでしょうか?
原因すらよくつかめてませんで_(_ _;)_
なにか考えられることありませんでしょうか?

ブラウザはIEとFireFoxで試したのですがIEのほうが少し空白になる割合が低そうです。

コード・サンプルなどは要望がありましたらUPしますけど。
416nobodyさん:2008/01/19(土) 13:29:11 ID:???
>>413-414
ちゃうだろ、例えpostで取得した時点で文字列だとしてもクエリ発行の際に
クオーテーションで囲むか否かで数値として入れるか文字列として入れるかが変わる
417nobodyさん:2008/01/19(土) 13:29:15 ID:???
>>415
原因すらつかめてないならコード晒そうよ
出せない部分は伏字とかで良いから
418nobodyさん:2008/01/19(土) 13:30:20 ID:???
>>415
まずどの時点で想定外の結果になっているかを把握
419nobodyさん:2008/01/19(土) 13:32:21 ID:???
データをどう扱うかは結局PHP側でどうにかしないと
420nobodyさん:2008/01/19(土) 13:41:16 ID:???
馬鹿ばっかり。

データベースに書き込んだ時点で、PHPでどういう型で
扱っていたかなんか忘れ去られる。

SQLで数値をクォーテーションでくくったからと言って
数値で記録されるというわけでもない。そもそも数値だろうが文字だろうが
全部クォーテーションでくくって何の問題もない。

データベースにはPHPの型情報なんて記録されていないんだから、
データベースから取得した時点で型がどうなるかは、データベースと
そのスキーマ定義と読み込むときに使用するPHPライブラリに依存する。
まあ、普通はデータベースのフィールドの型になるだろうが例外もあるだろう。

つまりだ、なんのデータベースを使って、テーブルのフィールドの型が
どうなっていて、どのライブラリを使ったか書けという話。
421406:2008/01/19(土) 13:42:58 ID:QtJ57h/6
みなさん、丁寧なご回答をありがとうございます。
古い表記を知らなかったなど、変なコーディングをしていたことに気づき、
勉強になりました。

>>409
古い表記とかあるのですね。調べてみます。
確かに、受け取るデータは配列に入れて管理すると楽になりますね。
ループで一気に処理など出来ますし。

>>410
私はつい、(...)and(...)を使ってしまうへんな癖があるようです。直します
IPアドレス取得のコードは表記が古かったのですね。

> あと重複チェックなら1行ずつ取得して
> 文字列一致を探した方が早いんじゃ?
これは、具体的にはsplit(",",$read_line)を使用せずに、
例えば以下のようにするという意味でよろしいのでしょうか。
$day_ip = $day . "," . $ip;
if(preg_match($day_ip, $read_line))

> それとCSVで使用している文字を変更するとあるが
> 勝手に入力値を変更するはどうかと
確かに言われてみるとそうですね。"にしてみます。

> あと自作関数だがエラーと完了のみにして
> function error($errMsg,$title='',$param=null){
言われてみて、そういうまとめ方がいいなと気づきました。
構造的に似たような関数になってますしね。

> 因みに連投拒否のところに書いてある$ipは表示されないからねっ
自分の環境で動かしていて気づいていなかったのですが、
確かにおっしゃる通りですね。スコープを考えていませんでした。
422403:2008/01/19(土) 13:48:09 ID:???
>>414
ほんとだ、、SQL送信直前にintvar()したけど、取得したら文字列でした
最終的に、取得値をNullと0で区別したいんですが…
取得値に対して再度intvar()しなきゃいけないのかな やっても
登録するカラムのデフォルト値がNULLなんで、
if(intvar(取得値)===0){〜〜;} ってした場合、NULLを拾ってきた場合も
処理してしまいますよね? めんどくさいなー
423406:2008/01/19(土) 13:48:56 ID:QtJ57h/6
>>412
> なんでq5だけに改行や','が入ってくるって決め付けてるのさ
これは、誰かがformを自作して変なデータを入力しようとするのを
防ぐという意味合いですよね?
Q1〜Q4においても、入力されるデータにチェックをかける必要が
ありますね。
424415:2008/01/19(土) 13:51:52 ID:???
<?php
//header("Content-Type:text/html;charset=EUC-JP");
$strDir=dirname(__FILE__);
$strXml=$strDir."/[****].xml";
$strXsl=$strDir."/[****].xsl";
$objPrc=xslt_create();
$result=xslt_process($objPrc,$strXml,$strXsl);
//print(mb_convert_encoding($result,"EUC-JP","UTF-8"));
if ($result){
print $result;
}else{
print"errno=".xslt_errno($objPrc);
print"err =".xslt_err($objPrc);
}
xslt_free($objPrc);
?>


あいよー汚いソースですんません。PHP側のソースはこんだけ
XSLTは静的に(XML文書内にXSLTを指定)はなんら問題なく表示されてます。

425nobodyさん:2008/01/19(土) 13:57:12 ID:???
もっとも正しい答えは「今さらAWSなんてやめとけw」
426415:2008/01/19(土) 14:00:16 ID:CC01YTh8
すいません。今いろいろ試して解ったのですが
どうも借りてるレンタルサーバ(ロリポ)でおかしく、サクラだと何の異常もなくうごいたので、
どうもレンタルサーバの負荷もしくは環境かなと。

迷惑かけてすいませんでしたー。

>>425ごもっともw
427nobodyさん:2008/01/19(土) 14:02:07 ID:???
>>420
お前が一番バカで口だけの存在だよ
428nobodyさん:2008/01/19(土) 14:56:18 ID:???
>>422
420よめよ。。
だいたいオマエのDBは文字列型も数値型も両方同じフィールドに入るのかと。
アドホッククエリ書いてる気がするんだけど、そうなら連結してる変数を
intに変えようが全く意味がないし。

nullと0の区別はPHPのように型が緩い言語ではやりにくい。
ライブラリとか使ってるなら勝手に変換されちゃうこともあるんでさらに。
なので数値型のフィールドではnot null制約しといて規定値0にしてる。
429403:2008/01/19(土) 15:27:14 ID:???
>>428
すみません、422書いてる間に420のレスもらってたみたいで読めてませんでした
カラムはint型でデフォルトがNULLです
0だと後々の処理の中で意味を持ってしまうので(>>422)そうしたつもりだったんですが
いっそのことNULL指定もしない空欄にすべきでした
PHPが型指定あいまいってのを今回ようやく痛感した感じです

>>420
>データベースにはPHPの型情報なんて記録されていないんだから、
確かに…って感じです ありがとうございました
430nobodyさん:2008/01/19(土) 15:30:26 ID:???
PHPの型指定の曖昧さは他の箇所でのことなんだけど
431nobodyさん:2008/01/19(土) 16:19:11 ID:???
int のカラム SELECT した結果て intで入るっけ?
432nobodyさん:2008/01/19(土) 17:53:09 ID:???
>>393
お前はbugのこともバクと呼んでいるんじゃないのか?w
http://e-words.jp/w/E38387E38390E38383E382B0.html
433nobodyさん:2008/01/19(土) 17:53:12 ID:???
関数によるでしょ
434nobodyさん:2008/01/19(土) 17:53:46 ID:???
>>432
いまさら蒸し返すなよ粘着野郎。
435350:2008/01/19(土) 18:05:25 ID:yodDlY2F
350です。
昨日は皆様ありがとうございました。
参考にさせて頂いたページや、他のページも見ながらとりあえず読み込むことができるスクリプトを書いてみようと思い、
ちょっと書いてみましたが上手くいきません。
ファイルへのアクセスはできているようですが、echoした結果が'<'としか出ません。
どこが間違っているのか添削をお願いできないでしょうか?
よろしくお願いします。

<?php
$log = "http://www.xxxxxx.com/test.log";
$size = sizeof($log);

$handle = fopen($log, "r");
if (!$handle) {
echo "<p>Unable to open remote file.\n";
exit;
}
$line = stream_get_line($handle, $size);
fclose($handle);

print $line;
?>
436nobodyさん:2008/01/19(土) 18:07:33 ID:???
>>435
君、才能ないから百姓でもしてな
それが最終的に君のためになるんだよ。
437nobodyさん:2008/01/19(土) 18:12:55 ID:???
こいつの書き込みを読むたびに笑ってしまうのだが、ウケ狙いなのか?w
438nobodyさん:2008/01/19(土) 18:14:06 ID:???
むしろ本気だから面白いんだろう

>>435
二万で目的のもの作ってやるよ
439nobodyさん:2008/01/19(土) 18:41:47 ID:???
>>435
何がやりたいのかよくわからんけど
echo file_get_contents("http://example.com/test.log");
じゃだめなのか
440nobodyさん:2008/01/19(土) 18:49:35 ID:???
>>435
それは君の使っているサーバの仕様も関係することだから、
その具体的なサイトを書いてくれないと話は進まないぞ。
441350:2008/01/19(土) 18:57:53 ID:???
>>440
具体的なサイトは晒せません。ごめんなさい。
もういいです。

>>436 死ねクズ

442nobodyさん:2008/01/19(土) 19:03:12 ID:???
偽者だろうけど真面目な話題中に茶化すなよ屑
443nobodyさん:2008/01/19(土) 19:07:03 ID:???
どこが真面目なのか僕にはわっかりましぇーん
444nobodyさん:2008/01/19(土) 19:13:58 ID:???


  レベル ヒック (ドイツの思想家 1906-1972)


445nobodyさん:2008/01/19(土) 20:31:01 ID:???
>>429
SELECTした値をカラムの型に合わせて(というかDBが返してきた型そのままで)
ちゃんと取得できるライブラリやフレームワークもあるけど、PHPだとどうかなあ?
ある程度やってくと、型が緩いってのはデメリットだと思うようになったりするんだよね。
ぼやいても仕方がないので、それを考慮してあらかじめ回避しとくしかない。

個人的には言語に関係なく、数値型のカラムの0に意味を持たせるのは避けたほうがいいと
思ってる。型に厳格な言語なら、nullと0の区別はつくけどね。
446nobodyさん:2008/01/19(土) 21:57:02 ID:FuloTUhn
すみません、設定について質問します
cmdでpearのライブラリをインストールしようとしたら(php.exeの実行)、
「php_mbstring.dllが見つからなかったためインストール失敗しました」という
メッセージが出ます。(その後も立て続けに○○が見つからないという警告が出ます)
phpinfo()で調べたら
extension_dir C:\PHP\ext となっていて、その中にphp_mbstring.dllが入ってました
php.iniのextension=php_mbstring.dllもコメント解除してあります

何が原因でしょうか? それとも見るところが間違ってますか?
環境はphp5.2.3でapache2、windowsXPです

(さらにいうと、アラート表示はするものの、C:\php\PEAR\Calendarの形で
インストール自体は成功してます)
447nobodyさん:2008/01/19(土) 22:37:05 ID:???
ひょっとして php.ini がこうなってるんじゃね?

extension=php_exif.dll
extension=php_mbstring.dll
↑これじゃ、駄目で

extension=php_mbstring.dll
extension=php_exif.dll
↑こうしないと駄目

php_exif.dll は php_mbstring.dll がロードされてないとロードできないから、
その様なエラーメッセージボックスが表示される
448nobodyさん:2008/01/19(土) 23:55:53 ID:???
rsswriterってダウンロード元のリンクが切れてるんだけど、
どこで配布してるん?
449nobodyさん:2008/01/20(日) 00:15:54 ID:???
>>1
450448:2008/01/20(日) 00:25:15 ID:y4+xWtE5
ID公開おk
451448:2008/01/20(日) 00:32:24 ID:???
事故快尻しました
452448:2008/01/20(日) 00:36:18 ID:y4+xWtE5
>>451
してねーよハゲ太郎
453448:2008/01/20(日) 00:47:43 ID:???
>>450は偽者です。

rsswriterってダウンロード元のリンクが切れてるんですが、
どこで配布しているかご存知の方いませんか?
454446:2008/01/20(日) 00:52:46 ID:jGlr+mbd
>>447
すごい! ほんとにそうなってました。
で、php_exif.dllよりもmb_string.dllを先にして再起動後
pear install -f Spreadsheet_Excel_Writer としたんですが、
今度は「OCI.dllが見つからなかったため失敗」と言われました
どうしたらいいんでしょうか? .dllの記述順って厳格に決まってるんですか?
あるならどこかそれを確認できるサイトないでしょうか?
また、実際php.iniにはphp_pdo_oci.dllとphp_pdo_oci8.dllはあったけど
oci.dllはありませんでした ※でもやはりインストール自体は成功してます

http://hey.chu.jp/up/source3/No_12545.txtなんですが
僕のphp.iniのextension変ですか?
455nobodyさん:2008/01/20(日) 01:01:36 ID:???
>>454
http://www.php.net/downloads.php
ここでダウンロードしたらiniに書いてるよ。
456446:2008/01/20(日) 01:27:57 ID:jGlr+mbd
>>455
ありがとうございます しかしダウンロードしたphp5.2.5のphp.ini見てみると、
自分のものと記述の順序同じです
ていうか、php_exif.dllがmb_string.dllよりも先にあります
(447さんの推奨順序とちがう、、) これはいいのかな?

あと、apacheのエラーログ見ると、
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll'
というエラーが延々出ています
.dllの個数分というわけじゃないですが、これも関係してるんでしょうか?
457nobodyさん:2008/01/20(日) 01:45:51 ID:???
>>456
小出しか
458nobodyさん:2008/01/20(日) 02:08:22 ID:???
>>456
糞zendの .ini ファイルなんて信用するなよw
windows のインストーラー壊れたまま、chm 文字化け放置してるぐらいなんだからw

で、pdo 使いたいみたいだが、これもロードの順序あるんだわw
extension=php_pdo.dll
をとにかく前の方に記述してみな
459nobodyさん:2008/01/20(日) 03:36:50 ID:???
htmlの削除フォームから、ファイル名を入れ、
ディレクトリAにアップロードされたファイルaを
削除しようと、

unlink(basename($_POST['filename']));

を使おうとしたのですが、ディレクトリA内の指定の仕方がわからなくて困っています。
$dir = "./A/"として
unlink(basename($dir,$_POST['filename']));などいろいろやってみたのですがうまくいきませんでした
詳しくは、

html側
<form action="delete.php" method="">
<input type="text" name="filename" value="">
<input type="submit" name="delete" value="delete">
</form>

php側
<?php

if($_POST['filename']){
unlink(basename($_POST['filename']));
}

?>

ですが、エラーはないのですが、もちろんファイルを消してくれることもありませんでした。
どうかよろしくお願いします助けてください
460459:2008/01/20(日) 03:39:35 ID:SGo/1Pd2
windows xp
Apache 2.0 Handler
でし
461nobodyさん:2008/01/20(日) 03:40:23 ID:SGo/1Pd2
→です
462nobodyさん:2008/01/20(日) 03:55:05 ID:???
unlink(basename($dir.$_POST['filename']));
             ^ ここ
不特定多数が利用する仕組みなら、ディレクトリトラバーサル対策に
realpath()とか使って想定されたパスかどうかチェック
463nobodyさん:2008/01/20(日) 03:56:35 ID:???
あと、 method="post"としないとGETになるよ
464nobodyさん:2008/01/20(日) 04:04:20 ID:???
windows xp
Apache 2.0 Handler
でし!!(*'-^)d
465nobodyさん:2008/01/20(日) 04:23:04 ID:GtMoA5jM
現在、PHPの勉強様に掲示板を作っています。
そしてDBより取得した「DateTime型」の値を2chの様に

2008/01/20(日) 00:15:54

といった形式で表示するにはどうすれば良いでしょか?
1※レコードセットで取得しておりまして、DBより取得した値は
 「2008-01-17 01:13:47」
 の様な形で入っています。

2※次のサイトを参考に見ているのですがどうしても2chの様な
文字列で出力する事が出来ません。

http://www.scollabo.com/banban/php/php_12.html

466nobodyさん:2008/01/20(日) 04:35:41 ID:???
preg_match→mktime→dateとか
もっとシンプルな方法があるかも知れんが
467nobodyさん:2008/01/20(日) 04:43:07 ID:SGo/1Pd2
>>462-463
おお!
realpathとmethod="post"つかったら
とりあえずはファイル削除することができました!
ありがとうございました!
468nobodyさん:2008/01/20(日) 04:43:21 ID:???
469nobodyさん:2008/01/20(日) 05:26:38 ID:???
初歩的な質問をさせていただきます

$test1 = 'test';
$test[0] = 'test';
$test2['test'] = 'OK';

print "$test2[$test1]\n";   ←@
print "$test2[$test[0]]\n";  ←A

@は上手くいきますがAは上手くいきません
Aのように、連想配列の添え字を配列にすることはできないのでしょうか
470nobodyさん:2008/01/20(日) 05:32:19 ID:???
>>465
$timestamp = strtotime('2008-01-17 01:13:47');
$weekNum = date('w',$timestamp);
$week = '';
switch($weekNum) {
 case 0:
  $week = '日';
  break;
 case 1:
  $week = '月';
  break;
 case 2:
  $week = '火';
  break;
 case 3:
  $week = '水';
  break;
 case 4:
  $week = '木';
  break;
 case 5:
  $week = '金';
  break;
 case 6:
  $week = '土';
  break;
}
$date = date('Y/m/d('.$week.') H:i:s',$timestamp);

俺ならクエリーで全部済ませちゃうな
471nobodyさん:2008/01/20(日) 05:36:17 ID:???
>>469
ダブルクォーテーション外せば通るよ

外すのが嫌なら
print "{$test2[$test[0]]}\n";
こんな風に{}で囲めば良い
472nobodyさん:2008/01/20(日) 05:41:31 ID:???
471さん
出来ました、ありがとうございます^^
473nobodyさん:2008/01/20(日) 06:41:24 ID:???
>>470
馬鹿すぎだろ。せめて配列に入れとけよ。
474nobodyさん:2008/01/20(日) 07:14:25 ID:???
>>473
確かにそうだなw
寝ぼけてたw
475nobodyさん:2008/01/20(日) 14:33:02 ID:???


相変わらずレベル低すぎ


476nobodyさん:2008/01/20(日) 14:58:37 ID:GtMoA5jM
>>466さん,>>468さん
勉強してみようと思います。


>>470さん
ありがとうございます。解決しました。
でも、よくよく考えてみると態々PHPで整形する必要性は全く無いですね^^;
でもPHP関数の勉強になるので今回は敢えてPHPで実装してみようと思います。
477nobodyさん:2008/01/20(日) 17:33:41 ID:???
>>471
たまにそんな風に{}で囲むことがある場合があるけど、その場合の{}の意味合いはどう解釈するものなの?
478nobodyさん:2008/01/20(日) 17:50:05 ID:???
>>465
strftime でおk
479nobodyさん:2008/01/20(日) 17:50:56 ID:???
>>477
まぬあるに書いてあるよ
>>478
全てタイムスタンプを基準としてstrtotime使ったほうが楽でないか?
480nobodyさん:2008/01/20(日) 18:04:17 ID:???
おまえらのレベルの低さは産まれつきなのか?親がIQが低いと悲惨よのぅ。
481nobodyさん:2008/01/20(日) 18:13:45 ID:???
レベル低いだの煽ってる馬鹿はID出して素晴らしい解答してやってくれ
482nobodyさん:2008/01/20(日) 18:45:01 ID:???
>>481
学歴とIQの低いおまえらに俺様が回答しても、高度すぎて理解でけへんやろw

483nobodyさん:2008/01/20(日) 18:52:33 ID:???
>>479
できればそのURLを教えてちょんまg
お願い
484nobodyさん:2008/01/20(日) 18:54:34 ID:???
>>480
さっき俺んちの親が泣いてたのは、それが原因だったのか……orz =3
485nobodyさん:2008/01/20(日) 19:03:28 ID:???
>>483
何のURL?
486nobodyさん:2008/01/20(日) 19:31:35 ID:???
487459:2008/01/20(日) 19:53:47 ID:???
また問題が発生してしまいました。
Apache 2.0 Handlerのlocalhostでは動くのですが、
レンタルサーバーに同じものを設置するとエラーがでてしまいます。
html側
method="post" に変更だけ

php側
<?php

$real_path = realpath("./data/");
if(unlink($real_path.$_POST['filename'].)){

print("success!");

}

?>


エラー内容
Parse error: syntax error, unexpected ')' in /home/users/7e/****/www/********/1/delete.php on line 9
----------------------

if(unlink($real_path.$_POST['filename'].)){ で ” でくくってみたり . を加えてみたりしたのですが
余計にエラーがひどくなってしまって、この状態が一番エラー文が少なかったです。
消したいファイルと、そのファイルが入ってるディレクトリの属性は、それぞれ604と777でやってみました
よろしくお願いします。
488nobodyさん:2008/01/20(日) 19:54:28 ID:SGo/1Pd2
age
489nobodyさん:2008/01/20(日) 19:55:38 ID:SGo/1Pd2
ちなみにon line 9の部分がif(unlink($real_path.$_POST['filename'].)){ のラインでした
490nobodyさん:2008/01/20(日) 19:55:46 ID:???
ちょ
491nobodyさん:2008/01/20(日) 19:59:16 ID:???
このスクリプトは動かないままにしておいた方が幸せな気がする。
492nobodyさん:2008/01/20(日) 20:02:42 ID:???
>>487
localhostでは動いたんか。ふーん
>>491に一票
493nobodyさん:2008/01/20(日) 20:14:34 ID:GtMoA5jM
ちょっと皆さん質問させて下さい。日付の質問をした者です。

勉強用に人様の作ったサーバ(自宅サーバも含む)で公開されて
いるPHPスクリプトファイルを見る(参照)事って可能でしょうか?

今、PHPのコードは現在、我流で色々作っている為、
はたしてこう言う(我流コード)作りで良いのか?

と不安になったりします。

※Googleで調べたところクライアントからサーバにアクセスをすると
そのタイミングでphp ⇒ html に変換される為「不可能」との
事でした。

もしソースを参照する方法をご存知の方がいらっしゃいましたら
ご伝授願います。

494nobodyさん:2008/01/20(日) 20:17:08 ID:???
無理。公開されているソースを探せ。初めはPearなんかお勧め。
495nobodyさん:2008/01/20(日) 20:27:17 ID:GtMoA5jM
>>494
無理ですか。。。
Pearという物には触れた事が無いのでちょっとぐぐってみます。

あとは、職場でPHP(Java)開発をしている人と仲良くなって
ちゃっかりソースを頂こうと思います。(これってマズイ???)

ドトネト畑でして、業務レベルPHPコードが未だ現状では書けません。

496nobodyさん:2008/01/20(日) 20:29:12 ID:???
>>493
危ないから、普通はそんなことはさせないようになってると思う。
例えば、会員用のログイン画面をPHPで作ってる人が居たとする。
そのPHPソースが見れるということは、どのデータベーステーブルを参照して認証してるとかの情報がわかってしまうだろう?

人様の作ったものを勝手に見るような事は考えずに、わからなかったら当面はここで質問するといい。
で、レベルが上がったら質問する側から答える側にまわれるようになるといいな。

ここのやつは、口は悪いやつも居るがみんな根はいいやつばかりだよ。
教える気もないやつは、おそらくこのスレを見もしないだろう?

がんばれ。
497nobodyさん:2008/01/20(日) 20:30:34 ID:???
正常に動けばいいんだよ。体裁や作りなんてその後の話。
498nobodyさん:2008/01/20(日) 20:39:29 ID:???
プログラムの書き方なんて関係ないだろ。
問題が起きるプログラムであるか、ないか。そこが大事。
過程より結果だ。
499nobodyさん:2008/01/20(日) 20:44:34 ID:???
スーパープログラマーでもないやつが
わかったことだけをスレチになろうが関係なく書き込んで
優越感に浸ろうとするが、当人は恥をかいてることに気づいていない
500nobodyさん:2008/01/20(日) 20:47:57 ID:???
>>497
>>498
私も同意見です。
まずは、仕様通りに動かさせることが先決だと思う。
その後に、コードの簡素化やなるべくメモリを消費させないような仕様に変更して
価値の向上を目指す方が良いと思う。
自分の力量以上のことをやって、先に美しいコードを書こうとしていつまで経っても
完成しないのでは意味がない。
レベルは圧倒的に違うとは思うが、企業でもベータ版のソフトからどんどんユーザのニーズを取り入れたり
もっと良いものにしたりして使い勝手の良いものにしているのだし。
501nobodyさん:2008/01/20(日) 20:48:21 ID:???
個人的には、動かなくても読めるコードは直せば良いけど、動くけど読めないコードは修正できないから、
前者の方が良い。

あとソースコードから勉強するより、オライリーあたりの本でも読んだほうが良いと思う。
502nobodyさん:2008/01/20(日) 20:49:12 ID:???
オライリーの本に何書いてあんの?
503nobodyさん:2008/01/20(日) 20:51:09 ID:???


   レベルひっくw



504nobodyさん:2008/01/20(日) 20:58:02 ID:???
>>502
セキュリティとか色々。
でもよく考えたら、プログラミングの作法についてはあんまり書いてなかったかも。
505nobodyさん:2008/01/20(日) 20:58:38 ID:???
>>503 こういうことか?w

view-source: http://example.com/index.php
506nobodyさん:2008/01/20(日) 21:09:40 ID:???
>>501
この場合、機能拡張をするとか、他人のソースを引き継ぐ話じゃないだろ。
システムとして動かす時、このコードでいいのか不安だという話だろ。
「そういう不安は持つ必要ない」でいいんでないの?
507nobodyさん:2008/01/20(日) 21:16:48 ID:???
可読性の低いコードは、安心して動かせるものか確認するのが難しい。
コードの可読性は、自分しか読まない場合でも十分意味がある。
508nobodyさん:2008/01/20(日) 21:19:06 ID:???
>>506
いやそれは必要だと思うがw
493が具体的に何の話をしているのかによる。
セキュリティなのかコーディングスタイルなのか関数を再発明しているのか構造の効率化なのか何なのか。
俺が思うにろくにリファレンスも読んでいないレベルのような気もするが。
509nobodyさん:2008/01/20(日) 21:20:32 ID:???
CodeGolfじゃあるまいし後々自分でも読めないようなコード書く奴は氏ねばいいのに。
510nobodyさん:2008/01/20(日) 23:12:37 ID:???
どのプログラミングにもいえる話だが、ソースの書き方のスタイルを
自由に認めているからどう書けばよいのかとかそういう議論に
なっていくんだろうな。プログラミングの永遠のテーマだ。
しかし、こういうテーマをずっと考えてばかりいる奴は何も進まないのは確かだ。
511nobodyさん:2008/01/20(日) 23:17:07 ID:???
日本生まれの日本育ちな中学生が、英語勉強してるようなもんだろ。
そりゃ間違いもいろいろあるさ。

読み方も書き方も初めてなんだ、自分が書いた文章が正しいのかそれとも他に参考になるような文章があるのか
誰だって、最初は迷うだろ。
512nobodyさん:2008/01/21(月) 00:19:08 ID:???
昔はvirtualaveっつーサイトがあっていろんなソース見放題だったんだがな
513350:2008/01/21(月) 00:32:11 ID:YgC1PUVS
350です。
皆様に教えていただいたページなどを参考にスクリプトを書いてみました。
片方のサーバから、もう片方のサーバにFTP接続でファイルをアップロードするスクリプトです。
きちんとアップロードされていました。
教えてくださった皆様、ありがとうございました。

以下は書いてみたスクリプトです。

$ftps = ftp_connect($host);
$result = ftp_login($ftps, $username, $password);
if (!$result) {
echo "接続に失敗しました。\n";
return;
}
ftp_pasv($ftps, true);
ftp_chdir($ftps, $dir);
ftp_put($ftps, $dir."/".$upload_file, FTP_ASCII);
ftp_quit($ftps);
514nobodyさん:2008/01/21(月) 00:44:56 ID:???
>>513
うーん、そんなんじゃだめだね
515nobodyさん:2008/01/21(月) 00:46:52 ID:DIuX2u4G
社内のコーディング規約で

if ($area > 0)
1行のみの処理


if ($area > 0)
{
複数行の処理
}


のように来年度からきまったのだけど、とてもやりにくい。 どうすればいい?
516nobodyさん:2008/01/21(月) 00:47:34 ID:???
好きなように書いてバレるまで黙っておく
517350:2008/01/21(月) 01:09:35 ID:YgC1PUVS
>>514
初心者ですみません。
これで問題ないものだと思ったのですが。 すみません、教えてください
518nobodyさん:2008/01/21(月) 01:09:51 ID:???
if( ・・・ )
 1行
else
{
 複数
}
519350:2008/01/21(月) 01:12:42 ID:YgC1PUVS
>>514
もしかして、10行目ですか?
ftp_put($ftps, $dir."/".$upload_file, $upload_file, FTP_ASCII);
ローカルにあるファイルを指定してるところが、書き漏れていました。
520nobodyさん:2008/01/21(月) 01:18:47 ID:???
>>519
>>514はいつもの基地外だろうからスルー推奨
521nobodyさん:2008/01/21(月) 01:26:17 ID:???
350は煽られるかもしれないのに
よく懲りないで来るね。
522350:2008/01/21(月) 01:41:12 ID:YgC1PUVS
>>520
まったくわかっていませんでした。お心遣い感謝します。

>>521
煽られても仕方ないと思っています。
私がバカなので皆様にご迷惑をかけて申し訳なく思っています。

あのコードのどこがいけなかったのか、わからないので
すみませんが、教えてください
523nobodyさん:2008/01/21(月) 01:43:08 ID:???
>>519
君は百姓してろと忠告されたはずだ。
それが最終的には君とご家族のためになるんだよ。

524nobodyさん:2008/01/21(月) 01:48:40 ID:???
>>523
むやみやたらに煽るなガキめ
簡単なコードも書けんなら寝てろ暇人

>>522
マニュアルは読んだのか?
525nobodyさん:2008/01/21(月) 01:51:54 ID:???
>>524
いいから答えだせや、クズ。笑ってやるからよ。

>マニュアルは読んだのか?

当たり前じゃネーか。 マニュアルマニュアルってうるせーんだよ、ハゲ。


526nobodyさん:2008/01/21(月) 04:35:04 ID:???
いいからケツだせや、クズ。入れてやるからよ。
527nobodyさん:2008/01/21(月) 07:35:29 ID:???
「サーバの仕様が関係する」といわれた時、痛いサイトがさらされるかと期待してたのに・・・
528459:2008/01/21(月) 08:00:48 ID:iStOW3ry
あれから少しいじってみて、単純に同じディレクトリのファイルを消すように

if($_POST['filename']){

unlink($_POST['filename']);
print("success!");

}

としてみると問題なく削除することができました。
これをディレクトリを指定して、その中のファイルを削除するようにしたいのですが
その記述の仕方がわかりません
どうか教えていただけないでしょうか。よろしくおねがいします。
529nobodyさん:2008/01/21(月) 08:44:41 ID:???
>>528
$dir = "../images/";

if ($_POST['filename']) {
unlink($dir . $_POST['filename']);
# unlink("../images/" . $_POST['filename']);
pring("success!");
}

で出来る。 外部からディrクトリも指定したいなら
$dir = $_POST['dir'];
に替える。
固定のディレクトリでいいのなら$dirに任意のディレクトリを入力しておく。

ただ今のままじゃ想定しないディレクトリ内のファイルも消されてしまう。
$_POST['filename']に ../test.jpeg とか入力されるとそのファイルが削除されてしまう。
$_POST['filename']は正規表現などで、英数字とドットのみは受け付けないようにするなどしたほうがよい。
続いて、ファイルやディレクトリ(外部から指定するようにしたばあい)の存在チェックも忘れずに。
file_exists
is_file
is_dir
あたりを参考に。
530459:2008/01/21(月) 09:33:46 ID:???
>>529
できました!
おっしゃ通りまだセキュリティー面をぜんぜん考えていないので
言われたのを参考に調べてみます!
うやむやがすっきりしましたありがとうございました
531nobodyさん:2008/01/21(月) 09:55:59 ID:???
debian4.0 r2
php5.2.0-8
php5-gd

imagecolorallocatealphaで透過しようとすると、透過出来ないんだけど

マニュアルのサンプルの実行結果
ttp://sylphys.ddo.jp/upld2nd/pc3/src/1200876868577.png

何とかならないかな・・・
532nobodyさん:2008/01/21(月) 09:59:54 ID:kkXgkN55
HTTPリクエスト時に、POSTでリクエストして、結果を取得できますが、
リクエスト時にそのページにジャンプする方法はありますか?

headerか何かでリクエスト+Locationができれば嬉しいのですが・・・。
533nobodyさん:2008/01/21(月) 10:08:56 ID:???
header('Location: http://example.com');
534nobodyさん:2008/01/21(月) 10:09:52 ID:kkXgkN55
>>533
それを、POSTリクエストを含めて行いたいのです。
535532:2008/01/21(月) 10:22:37 ID:kkXgkN55
すみません、質問の仕方を変えてみます。
外部の検索エンジンで、キーワードの取得がGETのとき、

header("Location: http://example.com/?q=hogehoge");
で、キーワードも表示されますが、キーワードの取得がPOSTのとき、

header("Location: http://example.com/; 何らかの形でPOST送信");
のようにできないでしょうか?
536nobodyさん:2008/01/21(月) 11:31:24 ID:???
>>535
/* POST送信 */
header('Location: http://example.com');

もしくはPEAR::HTTP_RequestならaddHeaderとか
537nobodyさん:2008/01/21(月) 11:33:26 ID:kkXgkN55
>>536
location前にPOSTを送信するとできるのですか、有難う御座います。
早速試してみます
538nobodyさん:2008/01/21(月) 11:50:53 ID:???
mb_convert_encoding($value, "SJIS", "SJIS");
mb_convert_encoding($value, "EUC-JP", "EUC-JP");
mb_convert_encoding($value, "UTF-8", "UTF-8");

こういう記述って問題ないよな
539nobodyさん:2008/01/21(月) 11:58:39 ID:???
parse errorやwarningは出ないかと
540nobodyさん:2008/01/21(月) 12:23:59 ID:???
541nobodyさん:2008/01/21(月) 12:33:53 ID:???
542nobodyさん:2008/01/21(月) 14:50:55 ID:kkXgkN55
Smartyで使うテンプレート内で、PHP文を使うことは可能ですか?
ちなみに使いたい関数はmb_convert_encoding()です。
変数を受け渡す前に行わずに、テンプレートに受け渡してから行う方法があれば教えてください。
543nobodyさん:2008/01/21(月) 15:06:07 ID:???
>>542
Smarty使ったことないけど多分可能
headerで指定すればいいはず。
544nobodyさん:2008/01/21(月) 15:09:05 ID:???
>>542
お前少しは自分で調べろよ
545nobodyさん:2008/01/21(月) 15:12:14 ID:kkXgkN55
>>544
調べても、出てくるのはテンプレート内でのif文・foreach文などのループ文や、
テンプレート内でSESSION・環境変数を使うようなことばかりで、
関数を使うにあたっての記事は見当たりませんでした。
546nobodyさん:2008/01/21(月) 15:16:14 ID:???
>>545
ID真っ赤だぞpgr
547nobodyさん:2008/01/21(月) 15:18:17 ID:???
548nobodyさん:2008/01/21(月) 15:26:37 ID:???
そもそもテンプレートに渡してからmb_convert_encodingをする意味がわからない。
テンプレートに合わせた文字コードで渡せばいいんじゃないか?
549nobodyさん:2008/01/21(月) 15:36:33 ID:???
>>548
頭悪いからじゃないの?
550nobodyさん:2008/01/21(月) 16:00:44 ID:???
PHP Editor使いにくいな
PHP Editorでフォルダ消しても、表示から消えるが、
実際フォルダ残ったまんまだし・・・
551nobodyさん:2008/01/21(月) 16:01:41 ID:???
は?
552nobodyさん:2008/01/21(月) 16:05:05 ID:???
>>544=>>546=>>549=>>551
煽ることしか出来ない厨か・・・
冬休みまだ続いているの?あ、ニートですか、ごめんね^^;
553nobodyさん:2008/01/21(月) 16:06:38 ID:???
> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・

> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・

> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・

> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・

> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・

> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・
554nobodyさん:2008/01/21(月) 16:09:33 ID:???
>>553
日本語が理解できないのか
どこの国のニートさんですか?^^;
555nobodyさん:2008/01/21(月) 16:11:00 ID:???
煽ってるやつを煽ってるやつって・・・
556nobodyさん:2008/01/21(月) 16:14:14 ID:???
$_GET = $_POST;
557nobodyさん:2008/01/21(月) 16:23:18 ID:???
全員ID消してるし全部自演だろ?
558nobodyさん:2008/01/21(月) 16:24:50 ID:???
>>552
ID出してから言えよクズ
559nobodyさん:2008/01/21(月) 16:46:45 ID:???
なにやらごたごたもめてるのは、プロジェクトビューでのことか?
プロジェクトの概念が理解できないのなら、センスないから
辞めた方がいいぞ。他の言語のIDEもそうなっているんだから。
560nobodyさん:2008/01/21(月) 16:46:53 ID:???


 おまえらカントンはよくないよ、カントンだけは・・・


561nobodyさん:2008/01/21(月) 19:03:00 ID:FJRU+V1H
クダ質なんだけど、date()で返す時間とか月とかは、そのphpが入ってるサーバの
時間を参照してるわけ?
apacheのインストールもphpのインストールも自分でしたけど、
時間設定した記憶はないし… もしかしてOSの時間?
もしそうなら、サーバの調子が狂ったらどうするの?
562nobodyさん:2008/01/21(月) 19:14:06 ID:???
>>561
サーバの時間て何?Apacheて個別に時間設定できたっけ?
563nobodyさん:2008/01/21(月) 19:31:06 ID:???
>>561
自分のローカルPCにApacheとPHPを入れて、BIOSの時間設定を変更して
プログラムを実行してみてからこい。
564nobodyさん:2008/01/21(月) 19:34:14 ID:???
>>563
ケツ拭いてから出直してこい
565nobodyさん:2008/01/21(月) 19:40:46 ID:???
566561:2008/01/21(月) 20:04:03 ID:???
ありがとう
確かに板違いでした、申し訳ない
567nobodyさん:2008/01/21(月) 20:12:02 ID:???
火災報知機が義務化されるらしいが、
phpのデーターセンターって火災報知機の設置はどうなっているの?
火災報知機をつけたってアナウンスが来てないけど。
568nobodyさん:2008/01/21(月) 20:46:27 ID:MggCWroJ
smartyについての質問ですが、該当スレがdat落ちしていたためこちらで質問です。

smartyのテンプレートを利用ユーザに編集させてたいと思っているのですが、
{include file=index.php}などされるとソースが見えてしまいます。
なんとかできないでしょうか?
templatesフォルダ外は見れないかなと思ったのですが、includeできるようです。
テンプレート内で使える関数を指定できるとかないですよね?
569nobodyさん:2008/01/21(月) 20:55:35 ID:???
570531:2008/01/21(月) 21:05:43 ID:QMxieb83
ID表示を忘れてました。

・サンプルをそのまま動かしただけ
・E_ALLでもエラーは吐かないようなのでdebianの問題なのかもしれません。

debianスレで質問するよりこちらの方が的確な回答が得られるかと思ったので
よろしくお願いします。
571nobodyさん:2008/01/21(月) 21:18:09 ID:???
>>568
うろ覚えだが、↓みたいな設定で出来たかと

$this->security = true;
$this->security_settings["INCCLUDE_ANY"] = false;
$this->security_dir = "/path/to/templates";
$this->trustes_dir = "/path/to/php";
$this->use_sub_dirs = false;
572nobodyさん:2008/01/21(月) 21:24:49 ID:Oosg4/rN
PHP5サンプル集というの買って
動かしてみようと思い。少しがんばって
pear,smarty,DB,authと設定してて一部動いたのだが
別のプログラム読むとこのウォーニンの量!!!
なんじゃこりゃ。
何処までおれの時間奪う気だ、死ね!!!!!
頼むから死んでくれ!

Warning: include(jpgraph/jpgraph.php) [function.include]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php on line 2

Warning: include() [function.include]: Failed opening 'jpgraph/jpgraph.php' for inclusion (include_path='/php/auth/') in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php on line 2

Warning: include(jpgraph/jpgraph_pie.php) [function.include]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php on line 3

Warning: include() [function.include]: Failed opening 'jpgraph/jpgraph_pie.php' for inclusion (include_path='/php/auth/') in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php on line 3

Warning: include(jpgraph/jpgraph_pie3d.php) [function.include]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php on line 4

Warning: include() [function.include]: Failed opening 'jpgraph/jpgraph_pie3d.php' for inclusion (include_path='/php/auth/') in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php on line 4

Fatal error: Class 'PieGraph' not found in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php on line 5
573nobodyさん:2008/01/21(月) 21:28:31 ID:???
C:\Program Files\Apache Group\Apache2\htdocs\samples\chap4\graph\chart.php
の2行目でincludeが正常に行われていない
3,4行目も同様。
574nobodyさん:2008/01/21(月) 21:29:19 ID:???

  ( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄

  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄
575568:2008/01/21(月) 22:00:04 ID:MggCWroJ
>>571
有難うございます。助かりました!
576nobodyさん:2008/01/21(月) 22:02:48 ID:???
>>572
その程度のことで罵声飛ばすようならば辞めた方がいいよ。
怒りすぎるとストレスで身体が持たないから。
サーバ移転する時とか、「動くはずだけど動かないなぁ」
なんてことしょっちゅうだから。
577nobodyさん:2008/01/21(月) 22:07:04 ID:???
JpGraphロードしてないだけだろ。
warningの数で判断するなんて何という初心者
578nobodyさん:2008/01/21(月) 22:10:17 ID:???
まぁ初めはみんなこんなもんだろ。

エラーになれるまでは毎回調べてたからな
579nobodyさん:2008/01/21(月) 22:15:40 ID:???
身の程を知らず、背伸びをして書籍を買うからそういう風になるんだよ。
その本は本棚にしまっておいて、もう一度書店へ行って来い。
580nobodyさん:2008/01/21(月) 22:25:59 ID:???
PHP 5.2.5をmake testしたら2008年問題が発生しやがったです、こんちくしょーっ!
581nobodyさん:2008/01/21(月) 22:56:53 ID:???
初期設定で
サンプル集5一つもうごかん(ワロタ)
582nobodyさん:2008/01/21(月) 22:59:19 ID:???
perlとは違う難しさがあるからな、初期設定でperlはほぼ動く、phpはほぼ動かない。
583nobodyさん:2008/01/21(月) 23:19:39 ID:???
素のままセットアップするとphpinfoすら動かんことがあるからな
584nobodyさん:2008/01/21(月) 23:20:28 ID:???
extensionとセキュリティ関連はともかく、設定を全てデフォルトに戻してくれるような関数ってないのかな。
585nobodyさん:2008/01/21(月) 23:23:32 ID:???
設定ファイルを上書き
586nobodyさん:2008/01/21(月) 23:24:29 ID:???
再インストール関数か
PHPならやってくれるかもな
587nobodyさん:2008/01/21(月) 23:25:28 ID:???
で、次バージョンでやっぱり辞めますとか?w
588nobodyさん:2008/01/21(月) 23:26:29 ID:???
そうじゃなくて、実行中のプロセスだけ。
589nobodyさん:2008/01/21(月) 23:34:53 ID:???
デフォルトの設定ファイルをどっかに置いとけば不可能ではない
590nobodyさん:2008/01/21(月) 23:37:36 ID:cWI2M6j4
メールフォームで質問です。
・テキストフィールドにダブルクォートで文字を囲んで送信すると入力された情報が返されず、
何も入力されていないメールが送られてきます。
・シングルクォート、\をいれると前に\がついてしまいます。(こんなカンジ→\'\\)
フォームはHTMLで作成しています。確認画面のフォームに stripcslashes($_POST[name])を
かけておりブラウザ上だとシングルクォートと\は除去されているのですが、メールだと除去されてません。

ダブルクォート、シングルクォート、\が付いた文字列をPHP・HTMLにどのように記述すれば、
メールにきちんと送られるようになるのでしょうか?どうか教えてください。
Apache/2.0.59 (Win32) PHP/5.2.4を使っています。
591nobodyさん:2008/01/21(月) 23:40:40 ID:sm/tfw0I
>>589
どうやるの?

iniファイルをロードする関数探してるんだけど、見つからない。
.htaccess で overrideするのかな。
それとも iniファイルをパースして、ini_setするの?
592nobodyさん:2008/01/21(月) 23:42:16 ID:???
だが断る
593nobodyさん:2008/01/21(月) 23:42:45 ID:???
.access って書いたはずなのに、.aは消えるのか。知らなかった。
594nobodyさん:2008/01/21(月) 23:43:16 ID:???
>>591
ヒント:一から関数作る
595nobodyさん:2008/01/21(月) 23:47:17 ID:???
593 名前:nobodyさん[sage] 投稿日:2008/01/21(月) 23:42:45 ID:???
.access って書いたはずなのに、.aは消えるのか。知らなかった
596nobodyさん:2008/01/21(月) 23:49:05 ID:???
>>594
そうなのか。処理が遅くなりそうだから、あきらめることにした。
597nobodyさん:2008/01/21(月) 23:53:12 ID:???
>>595
(半角で).htaccess ですた。(´・ω・`)
もう寝よ。
598nobodyさん:2008/01/22(火) 00:08:09 ID:???
>>596
phpの日本語ヘルプファイル落としてインデックス眺めてみろ
599nobodyさん:2008/01/22(火) 00:10:34 ID:???
全角厨死ね
600nobodyさん:2008/01/22(火) 00:16:28 ID:???
omaekososine
601nobodyさん:2008/01/22(火) 00:22:30 ID:???
>>598
マニュアルはしつこく見てるんだけどさ、iniファイル以外での設定方法で見つかったのは、

http://jp2.php.net/manual/ja/function.ini-set.php
http://jp2.php.net/manual/ja/configuration.changes.php

ぐらいで、一瞬、
http://jp2.php.net/manual/ja/function.ini-restore.php
これだって思ったけど、これはオプション単位だし。

602nobodyさん:2008/01/22(火) 00:24:08 ID:???
>>590
よくわからんが、とりあえず
magic_quotes_gpc = Off
603nobodyさん:2008/01/22(火) 00:44:24 ID:m0vD4BDS
すみません、ちょっとお尋ねします。
PHPで下記のようなことをやりたいと思ってます。

http://www.cme.com/trading/dta/del/globex.htmlのサイトから
動的に
NIKKEI のデータ値とJ-YENのデータ値を抽出して

NIKKEI   12815.0   -745
J-YEN   .009475    +81

みたいな感じで自前のWeb上に表示することは可能でしょうか?
可能であれば、どういった関数を使えば良いでしょうか?
お願いします。
604nobodyさん:2008/01/22(火) 00:46:23 ID:???
>>603
当該企業と正式な契約を行えば可能です。
605nobodyさん:2008/01/22(火) 00:48:28 ID:nORw9PK8
>>602
590の者です。
magic_quotes_gpc = Offにするとその後どうするんですか?
確かphp.iniで設定ができますよね?
606nobodyさん:2008/01/22(火) 00:51:57 ID:???
>>605
602じゃないけどとりあえずApacheを再起動したら?
607nobodyさん:2008/01/22(火) 00:59:25 ID:m0vD4BDS
>>604
著作権の問題さえクリアできれば、PHPで可能ということでしょうか?
個人的にデスクトップの片隅に小さくブラウザで表示させておきたいんですが・・。
(定期的にリロードさせて更新させる)
608nobodyさん:2008/01/22(火) 01:05:35 ID:???
>>607
個人で使うなら問題はなし
609nobodyさん:2008/01/22(火) 01:09:11 ID:???
>>607
君の株や為替の儲けの幾ばくかを分けてくれたら作ってあげるよ
610nobodyさん:2008/01/22(火) 01:15:03 ID:???
>>603
fileとかでページを取ってくる。
preg_matchあたりで必要な部分を取り出す。
後は好きにドゾー

正規表現は別スレがあるのでそちらで
611nobodyさん:2008/01/22(火) 01:15:36 ID:m0vD4BDS
>>608
レスありがとうございます。
可能ということですので、頑張って勉強してみます。
>>609
負けてますんで、勘弁して下さい。(ノ_-。)
612nobodyさん:2008/01/22(火) 01:18:05 ID:m0vD4BDS
>>610
ヒントありがとうございます。
良い情報頂きました。
613nobodyさん:2008/01/22(火) 01:32:39 ID:???
1万円で代行します!!!いえ、5000円でも良いです!!!
お金がなさすぎて困ってます!!!!
614nobodyさん:2008/01/22(火) 02:18:59 ID:???
これPHPで詳しくなるには(人を小馬鹿にできるレベル)
この仕事してるかヒッキー以外無理と思う。
615nobodyさん:2008/01/22(火) 02:20:23 ID:???
それは君の能力が低いからだよ(小馬鹿)
616nobodyさん:2008/01/22(火) 07:42:20 ID:vHhiKcdC
DBテーブルからの情報取得に関してなのですが
例えば
ID,属性1,属性2,属性3,名前
というスキーマがあり,それぞれ属性に数字で情報が格納されるとします。
この属性の意味を日本語のラベルを付けて表示するのは,PHP側で出力時に変換するのが一般的なんでしょうか?
それともラベルテーブルを別に作って結合させるのが良いでしょうか.
端的で申し訳ないですが,経験者の方がいましたらアドバイスお願いします.
617nobodyさん:2008/01/22(火) 07:51:52 ID:???
>>616
SQLを実行した結果を受け取る時点で文字列にしておくのが一般的。
氏名:ID,属性1,属性2,属性3,名前
属性:ID,属性名
とすると、以下のような文を実行することになる。(長くなりすぎるため
一部省略している)

SELECT 氏名.ID, 氏名.属性1, 属性.属性名
FROM 属性 INNER JOIN 氏名 ON 属性.ID = 氏名.属性1;
618nobodyさん:2008/01/22(火) 09:13:31 ID:???
>string readdir ( resource dir_handle)
>ディレクトリから次のファイルのファイル名を返します。 ファイル名はファイルシステム上に格納されている順番で返されます。

これをなんとか格納した順で返したいところ
619nobodyさん:2008/01/22(火) 09:23:35 ID:???
一言でいうと面倒くさい。よーやるは。
620nobodyさん:2008/01/22(火) 09:38:38 ID:???
あんたらよーやる、寒心、寒心!
621nobodyさん:2008/01/22(火) 10:00:11 ID:???
>>616
PHP側で配列作っておいて、属性を要素にして引いたほうが楽だし速いと思うけどね。
622nobodyさん:2008/01/22(火) 10:01:54 ID:???
保証するか?ダメなら賠償請求するぜ。
623nobodyさん:2008/01/22(火) 10:02:27 ID:???
616じゃないが
個人的には「楽で早い」より「管理がし易い」のほうがいいと思うが・・・。
まぁ、クラス化しちゃえばどうでもいっか
624nobodyさん:2008/01/22(火) 10:32:21 ID:???
CSVファイルでやっているならまだしも、DB使っている状況で、
ソースコードの中に実データを保管するのは気持ち悪くね?
625nobodyさん:2008/01/22(火) 10:37:54 ID:2lDbj7KP
気になったんだんですが、URLで
http://example.com/tag_ホゲホゲ.html
これを開くと
http://example.com/tag_%A5%B3%A5%F3%A5%D3%A5%CB%A5%A8%A5%F3%A5%B9%A5%B9%A5%C8%A5%A2.html
みたいにキーワード部分がURLエンコードされますが、
これはブラウザ側で変換しているのでしょうか?
それとも、サーバーからのリクエストでしょうか・・・。

こういう形式のURLを開くととても時間がかかるので気になりました
626nobodyさん:2008/01/22(火) 10:39:25 ID:???
PHPなんて化石みたいなPerl使いが次世代のRubyについていけなくて泣く泣く使っているようなものだろ
JAVAもRubyも出来ないようなWEBプログラマーは死ぬの?
627nobodyさん:2008/01/22(火) 10:43:19 ID:eDYfSsSA
>>626
道具にこだわってる君が死ぬことだけは確実。
肝心なことは言語じゃない、何を作るかなんだな。
628nobodyさん:2008/01/22(火) 10:52:46 ID:???
>>624
CSVファイルで持てばいい。
include一回すればおしまい。
DB使ってる奴って何でもかんでもテーブルで持ちたがるだよな。
SQL発行が如何に負荷が高い処理かよく考えてほしい。
629nobodyさん:2008/01/22(火) 10:53:59 ID:???
630nobodyさん:2008/01/22(火) 10:59:41 ID:???
>>625
>こういう形式のURLを開くととても時間がかかるので気になりました

この一文が気になる。
631nobodyさん:2008/01/22(火) 11:03:04 ID:2lDbj7KP
>>630
ごめ、ただ鯖が重たかっただけだorz
632nobodyさん:2008/01/22(火) 13:35:39 ID:???
>>628
SQL発行とCSVのincludeとどれくらい負荷が違うの?
633nobodyさん:2008/01/22(火) 15:32:00 ID:Oa0QX3V3
文字列 20070122 などを YYYYMMDD でフォーマットをしなおしたい場合

$str = '20070122';
if(preg_match("/^([0-9]{4})([0-9]{2})([0-9]{2})$/",$str,$match)){
$str = $match['1'] . '-' . $match['2'] . '-' . $match['3'];
}
print $str; //2007-01-22

とやる以外にスマートな方法はありますでしょうか?
文字列 $str はDBなどに入っているものでも、date()等で取得したものではなく、単純な文字列データです(CSVに格納されているなど)。
634nobodyさん:2008/01/22(火) 15:37:48 ID:???
>>633
date("Y-m-d", strtotime("20070122"));
635nobodyさん:2008/01/22(火) 15:40:39 ID:???
628:nobodyさん:sage:2008/01/22(火) 10:52:46 ID:???
>>624
CSVファイルで持てばいい。
include一回すればおしまい。
DB使ってる奴って何でもかんでもテーブルで持ちたがるだよな。
SQL発行が如何に負荷が高い処理かよく考えてほしい。
636nobodyさん:2008/01/22(火) 15:42:09 ID:???
なんつ〜か…色々と突っ込み所満載なレスだな('A`)
637633:2008/01/22(火) 15:46:07 ID:???
>>634
しまった…その手がありましたか。
ありがとうございます!
638nobodyさん:2008/01/22(火) 15:55:17 ID:???
セキュリティのセの時も知らない様なガキが使いそうだな<csv include
639nobodyさん:2008/01/22(火) 16:01:31 ID:???
>>638
URL直下に置かなければ問題なくね?


まぁ、CSVなんてDB置けないとこで使うようなもんだな
640nobodyさん:2008/01/22(火) 16:03:34 ID:???
CSV includeって何?
641nobodyさん:2008/01/22(火) 16:07:45 ID:???
セキュリティとDBは何の関係もないが
642nobodyさん:2008/01/22(火) 16:08:41 ID:???
>>637
問題ないなら良いけど、タイムスタンプの範囲には注意が必要。
643634:2008/01/22(火) 16:10:41 ID:???
>>642
strtotimeの範囲って19700101〜でいいんだよな?
でも、それ以前でも自動的に取得できなかったかな・・・?
処理はだいぶ遅くなるけど
644nobodyさん:2008/01/22(火) 17:36:03 ID:omtXdBd7
Linux red3 2.4.20-8 redhat 8 php 4.2.2
質問ですが、下記のようなプログラム(ファイル名 sample6.php)で、ボタンを押しても次の画面で入力した数字が表示されません。
なぜでしょうか?

<?
header("Content-type:text/html; charset=euc-jp");
?>
<html>
<head>
<title>サンプル</title>
</head>
<body>

<?
print($abc);
if($birth == "1")
{
print("正解");
}
else{
print ("数字入力してください\n");
}

?>
<form method="POST" action="sample6.php">
1入れて:<input type="text" name="abc"><br>
<input type="submit" value="go">
</form>
</body>
</html>
645nobodyさん:2008/01/22(火) 17:48:34 ID:???
$tmp |= (0x0001) << $_POST['content'][$i];

書いてある意味教えてください
|= これと
0x0001 これと
<<  これの意味が分かりません
教えてくださいえらい人
646nobodyさん:2008/01/22(火) 17:51:06 ID:???
もしかしてビット演算子か
 |= << これとこれ

0x0001これは?
647nobodyさん:2008/01/22(火) 18:00:08 ID:???
>>644
あせらずまずHTMLから勉強しろ
648644:2008/01/22(火) 18:07:37 ID:omtXdBd7
>>647

html間違ってますか?
一応 htmlは知ってるのですが。

ヒントPLZ
649nobodyさん:2008/01/22(火) 18:12:16 ID:???
>>644
ヒドイコードだなw

ヒント echo $_POST['abc'];
$birth = $_POST['abc'];
650644:2008/01/22(火) 18:14:47 ID:omtXdBd7
>>649

ありがとうございます。
表示されました。
651nobodyさん:2008/01/22(火) 18:16:57 ID:???
652nobodyさん:2008/01/22(火) 18:24:29 ID:???
653644:2008/01/22(火) 20:07:55 ID:omtXdBd7
>>651

ありがとうございます。
見て理解できました。

サンクスコ
654nobodyさん:2008/01/22(火) 20:54:43 ID:???
>>645
http://www.php.net/manual/ja/language.operators.bitwise.php

0x0001は16進数で1
0xからはじまるのは16進数

意味はちょっとわからんが、ビット演算子なんて普通使わないから気にする必要ないぜ。
655nobodyさん:2008/01/22(火) 20:57:25 ID:ie4F05t5
クラスの継承について聞きます、よろしくお願いします。
BクラスにAクラスを継承したいと思います
このとき、Aクラス中のメソッド
funciton switchAry($name,$n){
 switch($name){
  case "bird":
  $theAry = $birdAry;
  break;
  case "flog":
  $theAry = $flogAry;
  break;
 }
 echo $theAry[$n];
}

ってのをクラスBに継承しても、分岐条件(case 〜)は既存の"bird","flog"しか
使えないですよね?
つまり他の条件を継承したメソッドの中身にねじ込むなんてのは無理で…
結局そんなことしたかったら新規にメソッドを作るか、元のクラスAの中の
switchAryに追加するしかないという考えでOKですか?

質問の箇所以外にも変なところがありましたらすみません
よければそれもあわせてご意見ください
656nobodyさん:2008/01/22(火) 21:11:58 ID:???
デバッグコードとか以外でメソッドにechoってどうなのよ
もうちょっとクラスが何かとかどういう使い方するかを勉強した方がいいよ

まぁかなり強引だが動的にメソッド作ることもできるけど。。。
657nobodyさん:2008/01/22(火) 21:13:40 ID:???
別にそんくらいよくね
658655:2008/01/22(火) 21:17:19 ID:ie4F05t5
え? echoってまずいんですか?
あまり考えずに使ってました
659nobodyさん:2008/01/22(火) 22:51:24 ID:Jy6n3MId
>>625
ブラウザ
660nobodyさん:2008/01/22(火) 23:03:21 ID:???
>>655
継承したほうでswitchAry()を再定義(オーバーライド)する。

>echoってまずいんですか?
あんまりよくない。
Javaだと必ず呼び出されるメインメソッドで他のメソッドを呼び出して表示するね。
PHPの場合、インスタンス化した後の処理でechoを使うといい。
switchAry()の返り値をStringにして

$obj = new A();
echo $obj->switchAry($name, $n);
見たいな感じで。

>質問の箇所以外にも変なところがありましたらすみません
>よければそれもあわせてご意見ください
未定義の変数使ったりソースが不自然。ちゃんとしたコードをまず書けるようにしましょう。
661nobodyさん:2008/01/22(火) 23:08:28 ID:???
echo 使っても別にいいじゃん。
662nobodyさん:2008/01/22(火) 23:11:20 ID:???
とりあえずfuncitonってのは変だねw
663655:2008/01/22(火) 23:18:30 ID:ie4F05t5
>>660
詳しい説明ありがとう
今、a.class.phpにクラスAを記述、b.class.phpにクラスBを記述してて、
c.phpに
require_once("a.class.php");
require_once("b.class.php");
としました。
で、b.class.phpのクラスBにはクラスAを継承させるつもりだったんですが、
これって動作しないですか? 別ファイルのクラスを継承するって無理なんでしょうか?
試してるんですが、動きません
664nobodyさん:2008/01/22(火) 23:37:50 ID:???
>>655
実装して欲しい部分を切り離して
派生クラスで再定義できるようにしてあげるのが一つの手段。

class Foo {
  public function getHoge($name, $index)  {
    $fuga = $this->getFuga($name);
    return isset($fuga[$index]) ? $fuga[$index] : null;
  }
  protected function getFuga($name) {
    switch ($name) {
      case 'bird': return array(1, 2, 3);
      case 'flog': return array(4, 5, 6);
    }
  }
}

class Bar extends Foo {
  protected function getFuga($name) {
    if ($name == 'phper') { return array(7, 8, 9); }
    return parent::getFuga($name);
  }
}
665655:2008/01/23(水) 00:01:36 ID:TY7vcim1
>>664
どうもありがとうございます
理解できたら凄く役立ちそうなことを教えてくれてるようですが、知識不足です
勉強します、ありがとう
666nobodyさん:2008/01/23(水) 02:26:15 ID:???
echo 嫌厨か
667nobodyさん:2008/01/23(水) 02:28:06 ID:???
いや問題はそこじゃないだろw
668nobodyさん:2008/01/23(水) 02:32:13 ID:???
echoを否定してるわけじゃねえだろ
必ずechoの処理はどこかに入るんだから
どこでechoするかってだけの話だろ
669助けて下さい;;:2008/01/23(水) 02:38:46 ID:Q533T7ox
あるサイトで公開されていたソースなんですが 長いのでテキストファイルでアップしました。

http://kissho.xii.jp/1/src/1jyou24922.txt.html

MagpieRSSを使いRSSを取得してくれるスクリプトです。

これをRSS記事の最新順に上から並んでほしいのですが、
このソースのままではサイト順にしか並びません;;

どこをいじってあげれば新着記事順に並び替えができるでしょうか?
もしよろしければ教えて下さい;;

色々なサイトでソースを比較していじったりしましたが出来ませんでした;;
670nobodyさん:2008/01/23(水) 02:45:08 ID:???
;; ←なにこれ?ふざけてんのか?
671nobodyさん:2008/01/23(水) 02:49:03 ID:???
新参の頃は、おまえらだって使ってただろぉUu
ふざけてるってヒドイよぉ;;

^^
672助けて下さい:2008/01/23(水) 03:07:53 ID:Q533T7ox
ごめんなさい。
以後気をつけさせて頂きます。
673nobodyさん:2008/01/23(水) 03:10:02 ID:???
Uu;;^^
674nobodyさん:2008/01/23(水) 03:11:58 ID:???
             ,,;;;;;;;;;;;;;;;;;;;;;;---、;:;:;:;:;:,,,
           /;;;;;;;;;;,-'''"     ゙'''ヽ;;;;;;ヽ    ←>>671
          /;;;;;;;;;'''           ヽ;;;;l
         /;;;;;;;;;'"             _ヽ、  【ちてきしょうがいしゃ】
         i';;;;;;;;;;;            ,,;;;;;;-=ヽ、
         |;;;;;;;;;;|  ,,,,,;;;;;;;;;-、    ‐'"゙_,,,,,,,_\
         |;;;;;;;;/ /-─'''''''"ヽ   "‐=二 ̄ヽ、  まちのにんきもの
         |;;;;;;|  '",,,-==‐ ヽ  " 、      ヽ
        ,┴、;|  ==ニ-‐'" ,    ヽ、     ゙i   ちてきといっても
        |l |ヽl        /l      .)\    i   
       \|lノl       /└-‐ヽ-‐'    ヽ   i  あたまがいいわけではない
         l、 ゙|      /   ,,---'ニ=メ i  .|
         ヽ-i      i'  /-l「ヽ┼+// ;;  /
          ヽ、    ヽ=ヽ─++-''ノ    /、
           ,,,,\    ヽ  ゙‐─''''''"~    / ヾヽ、
        ,,-''''"   \               / ) 
              \ヽ、           / /
675nobodyさん:2008/01/23(水) 03:13:48 ID:???
           / ̄ ̄⌒γ⌒ヾ
         / ________人   \
        ノ::/━━     ヽ    ヽ
        |/-=・=-  ━━  \/   i
       /::::::ヽ―ヽ -=・=-_ ヽ   i
      |○/ 。  /:::::::::     /⌒)
      |::::人__人:::::○    ヽ )
      ヽ   __ \      /
       \  | .::::/.|       /.    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        \ ヽ::::ノ丿      /   < ちんちん シュッ!シュッ!シュッ!
          しw/ノ___-.イ.      \_______________
           ∪
676nobodyさん:2008/01/23(水) 03:17:24 ID:???
>>674
笑えないからそういうAA貼るな
677nobodyさん:2008/01/23(水) 03:20:23 ID:???
>>669
一番下の方にある
echo '<li>└ <a href="' . $url . '" title="' . $desc . '" target="_blank">' . $title . '</a>';
// 日付フォーマットが任意の物でない場合は更新日の比較をしない
if (preg_match("/^\d{4}\/\d{2}\/\d{2}\s?/", $date)) {
diff_date($date,$days);
}
echo "</li>\n";
}
って部分があるから
ここでechoってせずにを一旦配列にいれて
ソートすれば良いんじゃない

diff_dateで何してるのか解らんから
ob_start();
echo '<li>└ <a href="' . $url . '" title="' . $desc . '" target="_blank">' . $title . '</a>';
// 日付フォーマットが任意の物でない場合は更新日の比較をしない
if (preg_match("/^\d{4}\/\d{2}\/\d{2}\s?/", $date)) {
diff_date($date,$days);
}
echo "</li>\n";
}
$articles[] = ob_get_clean();
って感じで出力バッファ取得する方が楽だとは思うけど
678nobodyさん:2008/01/23(水) 03:22:42 ID:???
>>669
原因箇所特定してからわからないなら書き込んでくれ。
丸投げの質問はここじゃ受け付けてないし、スクリプト改造はスレ違い。

RSSに記事が作られた日時が記述されているならそれでソートすればいいんじゃないの?
とヒントだけ。
679nobodyさん:2008/01/23(水) 03:23:42 ID:???
真・スルー 何もレスせず本当にスルーする。簡単なようで一番難しい。
偽・スルー みんなにスルーを呼びかける。実はスルーできてない。
予告スルー レスしないと予告してからスルーする。
完全スルー スレに参加すること自体を放棄する。
無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。
失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。
願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。
激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。
疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。
乞食スルー 情報だけもらって雑談はスルーする。
質問スルー 質問をスルーして雑談を続ける。
思い出スルー 攻撃中はスルーして、後日その思い出を語る。
真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。
偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。
4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
680nobodyさん:2008/01/23(水) 04:20:15 ID:???
PHPで、DB接続を行うアプリ作るんですけど、
DB接続情報(IPやID,パスワード)って、どうやて管理していくのがよいでしょう?
一般に公開するアプリなので、ファイルへ格納しているだけだと
簡単にばれるのでは?と不安です
何かよい手段あれば紹介してください
681助けて下さい:2008/01/23(水) 04:23:39 ID:Q533T7ox
>>677さん
親切に教えて頂きありがとうございます。
試行錯誤頑張って結果にだしたいと思います。
夜中なのに本当にありがとうございます。

>>678
はい、次回からどこをどのようにしてとまともな質問をさせて頂きます。
気分を害してすいませんでした。

682nobodyさん:2008/01/23(水) 04:28:48 ID:???
>>680
zend guard
683nobodyさん:2008/01/23(水) 05:12:34 ID:???
>>680
ファイルへじゃなくて、テーブルに格納でいいんでないの?
(DBがファイルベースだと論外)
SQLインジェクションなどに気をつけてアプリを組めばおk
684nobodyさん:2008/01/23(水) 05:28:24 ID:???
>>680
一般に公開しない場所に置いとく
685nobodyさん:2008/01/23(水) 06:30:04 ID:???
>>680
一般に公開ってフリーウェアってことかね?
共有鯖の場合、CGIで動かしてSuEXECでもしてないと
同居ユーザが何のPHPソフトウェア動かしているか調べて
予想できる場所インクルードするだけでおkって恐れはあるだろうね
686nobodyさん:2008/01/23(水) 06:53:12 ID:???
そういや数年前、数秒だけWeb鯖の設定ミスってソース丸見え状態、
偶然アクセスしたユーザがソース保存、脆弱性暴露して
祭りになった某画像掲示板があったな。
687nobodyさん:2008/01/23(水) 07:58:59 ID:???
Webサイトを作る時に、JavaにできてPHPにできないことってあります?
688nobodyさん:2008/01/23(水) 08:14:14 ID:???
>>680が言いたいことは良く分からんな。
いろんな解釈が出来てしまう。
689nobodyさん:2008/01/23(水) 08:16:21 ID:???
パスワードの問題ではなく、
ドキュメントの可視性や拡張子の関連性がそもそも分かってないんだろ
690nobodyさん:2008/01/23(水) 08:25:16 ID:???
ひょっとして、PHPソースコードに書く pg_Connect() とかの文字列のことだったのか?
お前エスパーだな。すごい。
691nobodyさん:2008/01/23(水) 09:09:10 ID:???
mysql_real_escape_stringって、
実際に行っているのは
$str = preg_replace('/\'/', "\\'", $str);
くらいですか?
692nobodyさん:2008/01/23(水) 09:12:17 ID:???
全然
693nobodyさん:2008/01/23(水) 10:06:00 ID:???
知り合いがキーワード検索のmethodがPOSTなんだが・・・使いづらいorz
694nobodyさん:2008/01/23(水) 10:46:24 ID:???
>>693
もうちょっと日本語の勉強を・・・
695nobodyさん:2008/01/23(水) 12:26:41 ID:???
知り合いが単語検索の方法が郵便なんだが・・・使いづらい失意体前屈
696nobodyさん:2008/01/23(水) 12:52:42 ID:???
>>695
こういう人最悪。
こういう人って、平気な顔して人の男を寝取るタイプ。
697nobodyさん:2008/01/23(水) 13:00:13 ID:???
ホモ氏ね
698nobodyさん:2008/01/23(水) 16:11:22 ID:???
本人はウケ狙ったつもりが回りはドン引き
まさにKYの典型www
699nobody:2008/01/23(水) 16:30:45 ID:02waJQsw
phpでaタグがあるかないかの分岐を作りたいので
preg_much関数を調べてみたのですが、書き方がいまいち
わかりません。
どなたか教えてください。
700nobodyさん:2008/01/23(水) 16:32:21 ID:???
せいきひょうげん
↑読める?
701nobodyさん:2008/01/23(水) 16:33:01 ID:???
>>699
そんな関数ありません
702nobody:2008/01/23(水) 16:34:39 ID:02waJQsw
preg_match
703nobodyさん:2008/01/23(水) 16:45:20 ID:???
>>702
正規表現があればできるよ
704nobodyさん:2008/01/23(水) 16:47:50 ID:???
文字列処理の質問なら正規表現と答えておけば間違いないと勘違いしている思考停止状態のゆとり。
705nobodyさん:2008/01/23(水) 16:51:51 ID:???
正規表現をまともに使えないゆとり>>704
706nobodyさん:2008/01/23(水) 16:52:19 ID:???
マニュアル見てから質問してくれよ
http://jp.php.net/manual/ja/function.preg-match.php

$string = '<a href="hoge.html">hoge</a>';
if (preg_match("/<^a.+>.*<\/a>/", $string)) {
}

正規表現のとこは適当
707nobodyさん:2008/01/23(水) 16:52:43 ID:???
>>704
ゆとり乙
「正規表現」は答えじゃなくて入り口だ

じゃあお前は答えをそのまま書くのか?
それが>>702のためになると思っているのか?
708nobodyさん:2008/01/23(水) 16:52:53 ID:???
反論されると鸚鵡返しでしか反論できないのが、典型的なゆとり脳の証左
709nobodyさん:2008/01/23(水) 16:52:54 ID:???
<^a.+>.*<\/a>→<a.+>.*<\/a>
710nobodyさん:2008/01/23(水) 16:55:46 ID:???
>>704
正規表現ほどスマートな選択肢ってないと思うが、他にどうやんの?
711nobodyさん:2008/01/23(水) 16:58:45 ID:???
誰か俺にデータベースのSQL文の書き方教えてくれないか?

問題となってる部分がこれ
'INSERT INTO `bbsTable` (`id`, `title`, `comment`) VALUES ('''', '.$title.', '.$comment.')';

うまくいかないんだよ_| ̄|○
誰か教えてくれ…。
712704:2008/01/23(水) 16:58:49 ID:???
>>710
ファイヤーウォール


   マニュアル坊しねや

714nobodyさん:2008/01/23(水) 16:59:34 ID:???
文字分解して1文字ずつ調べる方法とかある
正規表現は人によって書き方はまだらだし読みにくいという理由で複数人プロジェクト向け
個人で使うなら正規表現を覚えれれば正規表現使うのが最良
715nobodyさん:2008/01/23(水) 17:00:55 ID:???
>>713
マニュアルも読まないで他人に全て頼るやつはPHPやらないでほしい
自分のためならまわりの負担を考えない馬鹿はおとなしく金を払うべき
716nobodyさん:2008/01/23(水) 17:02:18 ID:???
>>711
コマンドラインに投げる感じでおk
mysql_query("insert into table(id,name,body)values('$id','$name','$body')", $mysql_connect);
717nobodyさん:2008/01/23(水) 17:04:28 ID:???
>>715
社員乙
718nobodyさん:2008/01/23(水) 17:04:56 ID:???
>>711
>>1

バッククォートいらない
719nobodyさん:2008/01/23(水) 17:07:23 ID:???
>>711
phpの場合は、INSERT文を実行する前にTRUNCATE TABLE `bbsTable`を実行しないと、
失敗することがある。だから、前処理としてやっておいた方がいいよ。
720nobodyさん:2008/01/23(水) 17:10:53 ID:???
>>719
死ね
721nobodyさん:2008/01/23(水) 17:11:49 ID:???
最近このネタ多いな
おもろいからいいけど
722nobodyさん:2008/01/23(水) 17:12:36 ID:???
匿名でも嘘教えて業務に支障が出たら逮捕されるんだろうか
723nobodyさん:2008/01/23(水) 17:14:03 ID:???
嘘を嘘と見抜けない人は2chをry
724nobodyさん:2008/01/23(水) 17:19:52 ID:???
SQL弄ろうかってヤツがTRUNCATEやらDROPやら知らんわけないだろ
725nobodyさん:2008/01/23(水) 17:21:51 ID:???
drop insert updateしか知りませんが何か?
726nobodyさん:2008/01/23(水) 17:22:58 ID:???
ゆとりばっか
727nobodyさん:2008/01/23(水) 17:24:14 ID:???
>>719が弁明に必死と聞いて飛んできますた
電子計算機損壊等業務妨害罪乙であります
728nobodyさん:2008/01/23(水) 17:25:44 ID:???
>>725
createも知らんの?w
729nobodyさん:2008/01/23(水) 17:27:00 ID:???
PHPからMySQL入るやつは大概phpMyAdminだからな

俺もそのうちの一人ですが何か
730nobodyさん:2008/01/23(水) 17:27:45 ID:???
ありえね
コマンド投げたほうが楽なのに
731nobodyさん:2008/01/23(水) 17:29:41 ID:???
あんなバグだらけのもんよく使う気になるね。
732nobodyさん:2008/01/23(水) 17:31:56 ID:???
データを表示するときに、コマンドラインじゃ不便だろ。
なんでもGUIよりCUIの優位性を必要以上に主張したがる奴は、
なんでも正規表現と連呼するやつと性質が似ている。
733nobodyさん:2008/01/23(水) 17:35:33 ID:???
phpMyAdminでcreate,insert,dropする馬鹿がいるか?
レコードを表示する時には、phpMyAdminよりもマシなGUIがあるだろと。
適材適所を考えろバカ
734nobodyさん:2008/01/23(水) 17:37:38 ID:???
というか、もうMySQLからPgSQLに移るだろ、普通の人は・・・
735nobodyさん:2008/01/23(水) 17:39:58 ID:???
>>734
kwsk
736nobodyさん:2008/01/23(水) 17:42:44 ID:???
>>735
ググれ
737nobodyさん:2008/01/23(水) 17:47:30 ID:???
Sunに買収されたんだろ
逆にMySQLのこれからにおおいに期待だぜ
738nobodyさん:2008/01/23(水) 17:56:03 ID:???
redhad linuxも買収されてから、いつのまにか商用になって
無料じゃ使えないOSになったしなぁ。MYSQLも同じ運命か・・・
739nobodyさん:2008/01/23(水) 17:59:21 ID:???
冷静に考えて、MySQLより大きなJavaを無償配布してるSunがMySQLだけ有料ってのは考えにくい。
むしろ今のMySQL ABのコンサルティングとかのサポートは高額なので、
Sunになっても変わらんっていうかちょっと安くなるかも。
740nobodyさん:2008/01/23(水) 18:04:48 ID:???
>>739
冷静に考えて、soralisは有料なんだが・・・
741nobodyさん:2008/01/23(水) 18:09:36 ID:???
Solaris無料じゃん
742nobodyさん:2008/01/23(水) 18:23:20 ID:???
Sunはオープンソースに興味があるからな
MySQLの従業員もそのままSun傘下に入ったしこれからも基本的な体制は変わらず
Javaとの連携を強めるとかそっちがねらいなんじゃね?
743nobodyさん:2008/01/23(水) 18:25:38 ID:???
>>709
その正規表現ならaタグじゃないのも引っかかると思うが・・・

>>718
バッククォートはつけたほうが良い
というかMySQL使うならNavicatが便利すぎる(2万~3万ぐらいする)
744nobodyさん:2008/01/23(水) 23:53:49 ID:???
>>733
フリーのDB管理ツールでいい奴って何?
phpmyadmin以上に便利なの知らないんだけど
745nobodyさん:2008/01/24(木) 00:03:59 ID:???
>>733
最初のテーブル作るときは(create)普通に使うだろ
あとdropもテーブルに入ってるデータ見ながらやったほうが安心できる
746nobodyさん:2008/01/24(木) 00:47:06 ID:???
>>733だけど、コマンド打ったほうが楽だからGUI使ってないだけ。
select用のviewを他に用意して、drop、alterも同様。select構文以外は殆どコマンド打ってるがなー。
747nobodyさん:2008/01/24(木) 00:55:38 ID:???
なんでdropするのに中のデータが気になるんだろ。deleteならまだしも。
何が入ってようと消えるだけじゃん。
748nobodyさん:2008/01/24(木) 01:21:39 ID:???
消していいデータか今一度確認するっていう意味合いなんじゃね?
749nobodyさん:2008/01/24(木) 02:44:57 ID:???
>>744
cseでもつかっとけ
もう更新されてなかった筈だがmysql5とかでも使える
750nobodyさん:2008/01/24(木) 03:26:18 ID:???
もう更新されてないのを勧めるなよww
751nobodyさん:2008/01/24(木) 04:05:50 ID:???
752nobodyさん:2008/01/24(木) 05:37:04 ID:oseLc3nh
質問します
フォームの登録が完了したとき、SQLの2重送信を防ぐために別のページに
転送させることがあると思います。
そのとき、転送先のページに登録したデータの一部をPOSTの形で引き継ぐことは
出来ないでしょうか?
header locationのような形での移動を考えると、GETなら出来そうですが… POSTは無理でしょうか
753nobodyさん:2008/01/24(木) 05:43:59 ID:???
登録したDBから引っ張ってくれば?
754752:2008/01/24(木) 06:04:12 ID:oseLc3nh
>>753
ありがとうございます 確かにその手がありました
ちょっといろいろ試してみます ありがとう
755nobodyさん:2008/01/24(木) 10:27:34 ID:???
PHP IDEを導入したんだが、
まずEclipseの使い方がわからない\(^o^)/
756nobodyさん:2008/01/24(木) 10:32:31 ID:???
それはひどい
757nobodyさん:2008/01/24(木) 10:32:59 ID:???
>>755
eclipsewikiで調べろ

まぁ解らんなら
http://mergedoc.sourceforge.jp/
ここにあるphpのやつでも使えば良いんじゃないかな

個人的にはPDTよりPHPEclipseだけど。。。
758nobodyさん:2008/01/24(木) 10:36:38 ID:???
>>757
うーん、VS.NETをお遊び程度で使ったくらいだったからなぁ・・・
PHP IDEだと、Zend Frameworkとの相互性があるとかないとか聞いたから、
とりあえずPHP IDEを導入してみた。

ZF入門書も買っちゃったから俺ハジマタ
759nobodyさん:2008/01/24(木) 10:38:35 ID:???
PHP IDE = PDTな
760nobodyさん:2008/01/24(木) 10:40:31 ID:???
IDEのインストールや読みもしない書籍から入るのは良くないパターン
761nobodyさん:2008/01/24(木) 10:40:56 ID:???
>>759
うん、でも俺は「PHP IDE」派・・・。
PDTでググると「眼科PDT研究会」とか出てくるのが嫌だ
762nobodyさん:2008/01/24(木) 10:42:45 ID:???
>>760
あー、普通のプロジェクト開発は大丈夫
ただ、インクルードパスの設定とかhtaccessの作成をエクスプローラーに反映させたりするのがわからん/(^o^)\
昔は統合開発環境スレあったからそっちで聞けたのになぁ

そういやあのスレなんでもう立たないんだろうか
763nobodyさん:2008/01/24(木) 10:56:34 ID:???
zend studioでも買えば?
要らん機能が多いけど、普通にお勧め
764nobodyさん:2008/01/24(木) 10:58:10 ID:???
>>763
検討購入中
25,000だったっけ、学生じゃないから安く買えない・・・
765nobodyさん:2008/01/24(木) 11:04:18 ID:???
eclipseスレならム板にあるけど、PDTの使い方ならググった方が早いべ。
eclipse pdt に一致する日本語のページ 約 51,700 件中 1 - 10 件目 (0.17 秒)

仕事で既存アプリ(数千ファイル)の改修・ドキュメント化を
PDT+xdebug+simpletest+subclipseでやってるけど、良い感じ。
766nobodyさん:2008/01/24(木) 11:06:43 ID:???
>>765
数千ファイルSUGEEEEEE
多くて精々50くらいだわ・・・

とりあえずYahooでググってくるわ
767nobodyさん:2008/01/24(木) 11:09:19 ID:???
PDTは、(Java用の)Eclipseと使い方が似ているから、Eclipseを一通り使ってからでないと、ファイルの新規作成すらワケワカメだと思われ。
分かればとても便利なのだけれど。ZendDebuggerとの連携がすばらしい。
768nobodyさん:2008/01/24(木) 11:46:47 ID:???
>>264
4万
まぁ試すだけならzend.comに
お試し用があるから試すといい
769nobodyさん:2008/01/24(木) 12:01:34 ID:???
flashに渡すデータファイルを動的に作りたい、というようなことを考えたとき、
一時的に必要なデータファイルを作って、一定時間後とかアクセスがあったら
とかの条件で消す、というような仕組みをPHPで実現するような方法は
ありますか?

データファイルを出力するようなページを用意してそれをflashに食べさせる
方がスマートでしょうか。
770nobodyさん:2008/01/24(木) 12:06:04 ID:???
PHPでダウンロードとか表示するページを作って
直接データに触れなくすれば何でもできるべ
771nobodyさん:2008/01/24(木) 14:16:49 ID:GkmSThHq
windows版のphpでメール送信を行いたくて、php.iniに

[mail function]
; For Win32 only.
SMTP = ***.***.jp
smtp_port = 25

こんな風に設定しました。
いざphpからメールを送ってみると、
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Authentication required
というエラーが発生し送れませんでした。

調べてみると、送信する前にPOPの認証が必要みたいだったんですが、
phpでこれを実現するにはどういう風にプログラムしたらいいでしょうか。
772nobodyさん:2008/01/24(木) 14:27:11 ID:a44FeVCd
上でPDTの話見て
http://downloads.zend.com/pdt/all-in-one/
から落としてきてデバッガの読み込みはできたんですけど
プロジェクトやPreferenceでPHPが認識されてないんですがどうすればインストールできますか?
773nobodyさん:2008/01/24(木) 14:31:32 ID:???
POP認証入れる。
SMTP_AUTHを使う。
メールサーバ入れてSMTPサーバをlocalhostにする。
認証要らないサーバを使う。
774nobodyさん:2008/01/24(木) 14:52:43 ID:???
GD無理なところで画像リサイズしたりのサムネイル表示させるにはどうすればいい
しかも動的に 無理かな
775nobodyさん:2008/01/24(木) 14:59:30 ID:oseLc3nh
いま、フォームを作っています。
1)記入フォーム 2)確認ページ 3)登録ページ(SQL) 4)完了ページ
という流れがあって、登録ページは登録完了後すぐに4の完了ページに
リダイレクトされるとします。(リロードによる二重送信防止のため)

で、リダイレクト先の完了ページで登録内容を修正したいと思ったユーザが、
ブラウザのバックボタンを押すと確認ページに戻り、そこで「登録」することで
結局2重送信の形になってしまいます
どうしたらいいでしょうか? バックボタン使用禁止などのメッセージを置く以外に
良い方法ないですか?
一度目の登録時に登録完了のフラグを持たせて、用意した「書き直す」ボタンでhidden送信しても
ブラウザの戻るボタン使われたら元も子もないですよね…
みなさんどうやってるんですか?
一応調べたんですが、「戻るボタン使用禁止メッセージ」を使うというのが多くて、
それ以外の考え方が聞きたくてお尋ねしました  よろしくお願いします
776nobodyさん:2008/01/24(木) 15:11:24 ID:???
>>775
ヒント:お前は今どこに書き込んでる?
777nobodyさん:2008/01/24(木) 16:25:49 ID:5srzkiIl
ZendFw使っているのですが、
Viewのパスを
$view = setScriptPath("example");
と設定しますが、
全てのページでViewのスクリプトを置く場所はかわらないので一括指定したいと思うのですが、
フロントで指定する方法はありませんでしょうか?
778nobodyさん:2008/01/24(木) 16:55:47 ID:???
779nobodyさん:2008/01/24(木) 17:00:52 ID:???
>>772
わからんなら
http://mergedoc.sourceforge.jp/
こっちにあるPDT使っとけ
PDT自体は同じものかちょっと古いものだろうし
他に必要になりそうなプラグインも入ってるから普通にオススメ(日本語化も含む)
780nobodyさん:2008/01/24(木) 17:12:56 ID:GkmSThHq
>>773
ありがとうございます。
お客さんのサーバなので、あまりいじれないんですよね。
教えていただいた方法をそれぞれ調べてみたんですが、pearが必要だったりするみたいなんですが、
php_init()関数ぐらいしか使えない状況下でも可能な方法ってないでしょうか?
781nobodyさん:2008/01/24(木) 17:15:05 ID:???
>>780
PEAR以前にメール送信するにはメールサーバーが必要
案外、なんでもPHPでできると思いがちなんだが、メール関係はPHP・Webサーバーの設定だけじゃダメ
782nobodyさん:2008/01/24(木) 17:20:40 ID:???
>>780
pearはコマンドラインからのインストールが必須ってわけじゃないよ
FTPで転送して終わりでも問題ないし
783nobodyさん:2008/01/24(木) 17:34:14 ID:GkmSThHq
>>781
メールサーバはあるんですよ。
ただ、そこから送信するには、POP認証が必要ということで困っている状態です。。

>>782
え?そうなんですか?

みなさんありがとうございます。
ちょっと調べてみます。
784nobodyさん:2008/01/24(木) 17:36:06 ID:???
別にPHPでメール送信するのにメールサーバーは
なくてもできるけどな。
785nobodyさん:2008/01/24(木) 17:51:59 ID:GkmSThHq
>>784
まじですか?
どういった方法で?
786nobodyさん:2008/01/24(木) 17:56:26 ID:???
外部のメールサーバにソケットで接続するんじゃね?
787nobodyさん:2008/01/24(木) 18:04:52 ID:???
>>785
蹴られるのはリレーを頼むからで、直接相手先に送れば蹴られない。
788nobodyさん:2008/01/24(木) 18:15:08 ID:???
>>783
http://phpspot.org/blog/archives/2005/12/pop_before_smtp.html
これ読んでpopbeforsmtpで送れば?
789nobodyさん:2008/01/24(木) 19:31:02 ID:???
おまえらwindowsで開発してる?
俺はlinuxでしか動かないのがあるからlinux上でデバッグしようかとおもってるんだけど
仮想にぶち込んで低パフォーマンスだからeclipse動くか心配
790nobodyさん:2008/01/24(木) 19:31:59 ID:???
>linuxでしか動かない
kwsk
791nobodyさん:2008/01/24(木) 19:42:20 ID:???
>>790
globこういう関数とかだろ
792nobodyさん:2008/01/24(木) 19:43:49 ID:???
仮想上でEclipse動かして開発するんじゃなくて
サーバ部分だけ仮想でLinuxいれりゃいいじゃん
FTPなり共有ファイルコピーなり少し手間はかかるが
793nobodyさん:2008/01/24(木) 19:51:17 ID:???
>linuxでしか動かない
phpizeいるもん全般とか…

>FTPなり共有ファイルコピー
あぁそれだよなー
一手間かかるのがあれだがやむを得ないかもしれない
794nobodyさん:2008/01/24(木) 19:58:18 ID:???
普通にvmware上でvimで開発してるが。
795nobodyさん:2008/01/24(木) 20:13:07 ID:???
俺もvmwareで開発してる。
エディタはeclipse。

vmにwinscpでログインしてコマンドからミラーリングアップロードを使う。
そするとローカルで保存sすればvmに自動で同期される。

んで、ブラウザでvm叩く

( ^ω^)うまー
796nobodyさん:2008/01/24(木) 20:15:05 ID:???


   ( ^ω^)うまー  ← レベルひっくw



    無知ってしあわせですわねwwwww
797nobodyさん:2008/01/24(木) 20:18:12 ID:???
>>794
vimで開発とか特殊すぎて異端だから
Unix世代のよほど古いオッサンしかそんなことしねえよ
798nobodyさん:2008/01/24(木) 21:01:43 ID:vo4pqLSe
>>779
http://journal.mycom.co.jp/column/ide/006/index.html
を参考にやったんだけどZendに置いてあるPDTはPHPプラグイン入ってないの?
これでやるにはどうすればいいの?
799nobodyさん:2008/01/24(木) 21:10:35 ID:9zAbxKxR
間違えてプログラム板で聞いちゃったのでこちらで聞きなおさせてください><

PHPで、変数1(数字以外の文字列)が変数2(こちらも数字以外の文字列)と等しければtrueを返す条件文を書きたいのですが、何かいい方法はないでしょうか?
数値以外の文字列の比較が出来る関数とかがあったりするんでしょうか、
それとも正規表現使ってマッチさせるとかそんな感じでしょうか?
800nobodyさん:2008/01/24(木) 21:11:59 ID:???
>>799
===演算子は型の比較まで行う
他にもgettypeで変数の型を調べることができるからそれを応用する方法もある
801nobodyさん:2008/01/24(木) 21:13:41 ID:???
== (型はどうでもいい)
=== (厳密に比較したい)
802799:2008/01/24(木) 21:16:09 ID:???
なるほど、そんな演算子があったんですね…詳しく調べてみます。
ありがとうございます!
803779:2008/01/24(木) 21:31:25 ID:???
>>798
PHPプラグインが何を指してるかあれだが・・・
PDTとはEclipseにPHPの開発環境を実装するためのプラグインの事
他にもPHPEclipseやKoebiStudioてのもある

これらの開発環境にはPHP本体は入ってないので別途インストールする必要がある

Zendにおいてあるやつも俺が紹介したサイトにあるやつも
同じPDTで違いがあるとすればバージョンぐらいの差
それ以外でPDTの差は無い

英語が解らんならPleiadesってプラグインを
入れておけば良い
大抵のプラグインと本体が日本語化される

まぁそこらへんの必要なものが入ったのが779で紹介したURLにあるやつな訳だが・・・
804nobodyさん:2008/01/24(木) 23:27:37 ID:???
>>797
それはGUI派かCUI派かであっておっさんか否かじゃなかろ
ガキでも必要ありゃviに慣れてvimやらemacs使い始めるもんだ
805nobodyさん:2008/01/24(木) 23:43:09 ID:???
いやおっさんだろ
ガキじゃ必要でもそんなもの使おうなんて思わん
806nobodyさん:2008/01/25(金) 00:11:39 ID:???
>>804
おっさん、そろそろ墓と棺おけでもつくってろや
807nobodyさん:2008/01/25(金) 00:24:25 ID:???
>>806
おまwwwwwそれはひどい
808nobodyさん:2008/01/25(金) 00:56:25 ID:???
てかviて…。
「edlinでconfig.sys弄ってます」みたいなw。
809nobodyさん:2008/01/25(金) 01:31:14 ID:???
昭和のPHPがプンプンするスレですね
810nobodyさん:2008/01/25(金) 02:15:07 ID:???
vim使ってると書いたの俺だが今年24だよ。オッサンかどうかは任せる。プログラムも始めて一年たたないくらいだ。
811nobodyさん:2008/01/25(金) 02:45:58 ID:???
>>810
おまえレベルひくすぎだからもう来なくていいよ。
人に教えられるレベルじゃないぜw
812nobodyさん:2008/01/25(金) 03:05:06 ID:???
>>810
使いやすいエディタならなんでもかまわないし、たいしたこと言ってるわけではないけど、
IDEの話が出てる最中にvim使ってるとかはタイミング的に悪かったな。
そもそもUnix系でしか動かないものを開発するというのはまれなわけで、
大多数はVMで開発する必要もなければWindows以外で開発する必要もない。
そんな中で"普通に"という言葉を使ったのもまずかったな。
別に開発してるとしかいってないのだが、話の脈略で薦めているようにも見えてしまうわけで。
813nobodyさん:2008/01/25(金) 04:07:47 ID:HQAGAWGB
CentOS 4.6 x86 で phpmyadmin をインストールしたんですが、
設定を済ませて phpmyadmin にアクセスすると、
「mcrypt 拡張をロードできません。PHP の設定を確認してください」
と言われるので、続けて mcrypt libmcrypt もインストールしたんですが、
やはり変化がありません。
/etc/php.ini をいじるんだろうと思うんですが、
どのように設定すればいいんでしょうか?
http://jp.php.net/mcrypt に書いてあるとおり、
php をコンパイルし直さねばならないのでしょうか?
CentOS 4.6 x86 用の php は --with-mcrypt されてないようなので。。。
814nobodyさん:2008/01/25(金) 04:47:30 ID:???
<?php
print("下らねぇ<b>質問</b>");
?>

の<b>のように、print()で<font>が使えると便利だと思うのですが
例えば<font color>とか、
こういうフォントを変えることができるものは<b>のほかにないでしょうか?
よろしくお願いします。
815nobodyさん:2008/01/25(金) 04:54:23 ID:???
htmlの質問をここでされても困るんですが
スタイルシートでも使えよと
816nobodyさん:2008/01/25(金) 04:54:50 ID:???
817nobodyさん:2008/01/25(金) 05:11:57 ID:???
>>815
>>816
あぁすみません・・
聞きたかったのは、print()で<b></b>や<I></I>が使えたので
色もこの調子で変えられないかとhtmlタグを探していて
fontがあったのですが、エラーが出たので
font的なものがあるのかなと聞いてみたのですが
ないようですね。言われるようにスタイルシートや別の方法を探してみます
ありがとうございました
818nobodyさん:2008/01/25(金) 05:14:20 ID:???
つか<b>も<I>も使えるわけねぇだろカス
htmlの話はすんなぼけ二度とくんな
819nobodyさん:2008/01/25(金) 05:27:43 ID:???
>>817
>エラーが出たので
ダブルクオテーション(")で囲ってるときに
文字列でダブルクオテーションを使う場合エスケープしましょう

print ("<font color=\"red\">あいうえお</font>");

シングルのほうがこの場合は楽だけど

print ('<font color="red">あいうえお</font>');

どっちみちfontは古いし今や使われていないのでスタイルシート使いましょう

そしてhtmlだけの質問はWeb制作板だから次回からご注意あれ
820nobodyさん:2008/01/25(金) 05:59:43 ID:???
>>817
PHPで文字列などを出力するのに使うprintやechoは、htmlのソースとして出力する。
つまりprint内にhtmlのコードを書けば当然htmlのソースとして反映される。
print内に<b></b>を書くことで太字になったのはphpの機能の一部というわけではなく、
phpがhtmlのソースとしてそのまんま<b></b>という文字列を出力しているから。
<font color="">でエラーが出たのは上の人が指摘してる通りエスケープ忘れ。
print "";で囲う""は、最初の"が表示する開始点をあらわし、2度目の"が終点をあらわす。
つまり
print "あ"いうえお"; というコードがあった場合、
phpは『あ』だけを表示しようとするが、『あ』の後ろに続くコードが『:(セミコロン)』で終わっていないためエラーを吐く。
この場合『あ』の後に続く『"』は文字列として表示したいわけで、
そういう場合エスケープ記号『\』を『"』の前におくと、その『"』は文字列として扱われることになる。
print "あ\"いうえお";
821nobodyさん:2008/01/25(金) 06:00:49 ID:???
初歩的な質問に寛大なのは何故だぜ?
レベルが低いから?
822nobodyさん:2008/01/25(金) 06:02:14 ID:???
>初歩的な質問に寛大
そういうスレだし。お前を含めて煽ってるやつが馬鹿なだけ。
823nobodyさん:2008/01/25(金) 06:05:25 ID:???
すげぇ、ネット上でテリトリーを築いてやがる。
824nobodyさん:2008/01/25(金) 06:06:10 ID:RlEjDmZc
PHPを覚えようと思い手始めにスレッド式の掲示板を作っているのですが、
「スレッドを最新更新順でソートして表示させる」というところで苦戦しています。

例えが下手でわかりにくいかもしれませんが、3回新規投稿が行われた場合に
・スレッドNo.3
・スレッドNo.2
・スレッドNo.1
の様に順番に表示させる事はもちろんできるのですが、
その後に2つめの投稿記事へ返信があった場合に
・スレッドNo.2
・スレッドNo.3
・スレッドNo.1
という様に更新された順に表示するにはどうすれば良いでしょうか?

自分なりに考えてみましたが、
1)スレッドNoを記載したテキストファイルを用意する
2)新規投稿が行われた場合は、ファイル内の最上部に追記
3)返信が行われた場合は、ファイル内の該当のスレッドNoを最上部に移動
4)閲覧する際にテキストファイルに記載された順番で出力する
という方法くらいしか思いつきませんでした…。

根本的に何か間違っている様な気がするのですが、アドバイス頂けると助かります。
825nobodyさん:2008/01/25(金) 06:12:47 ID:???
.logとかに保存すんなら、普通にファイルの更新日時を取得すりゃいんじゃない。
更新日時を正の整数に置き換えてソート。簡単じゃん
826nobodyさん:2008/01/25(金) 06:22:17 ID:???
>>824
DBで設計すれば楽なのに。
>>825のやりかただけだと親子関係がめちゃくちゃになるんで、
親子関係の情報もとって、更新日時でソートしたあとに、親子関係でソート。
さらにそのままだと親スレが一番下になるんで、
親子関係でさらに配列分けて配列を逆にしてから最後にくっつける。
827nobodyさん:2008/01/25(金) 06:26:26 ID:???
vimってEclipseみたいなコード補完やらタイプヒントみたいなものあるんだろうか
828nobodyさん:2008/01/25(金) 06:26:57 ID:???
親子関係ナシのように伺えたのだが、違うのかな。
むしろ面倒だから統一して管理したほうがよさげ(初心者用)
829nobodyさん:2008/01/25(金) 06:37:31 ID:???
適当に作ってDBに移行すればおk
830nobodyさん:2008/01/25(金) 06:40:06 ID:???
さすがDB依存のペチパー
テキスト管理について意見を言わせれると的外れ発言のオンパレードww
831nobodyさん:2008/01/25(金) 06:43:51 ID:???
効率の悪いテキストよりDBをすすめるのは普通の流れだと思うのだが
簡単な処理ならともかく掲示板レベルはあきらかにDBのほうが効率的
ていうかさっきから煽ってるやつは同一人物?朝っぱらから元気だな
832nobodyさん:2008/01/25(金) 06:45:03 ID:???
同意
pgdbの存在を知らなかったりして
833830:2008/01/25(金) 06:47:55 ID:???
DBすする流れじゃなくてログの管理方法そのものについて言ってるんですけどwww
ファイルの更新日時でソートするだけとかwwwwwwwwwwwwwwwww
834nobodyさん:2008/01/25(金) 07:01:01 ID:???
具体例を出さずに人に当たるのは煽りの典型。
ってことで、愚民の俺らにその高尚な脳味噌で考えた具体例を教えてくれよ
期待してるぜ
835nobodyさん:2008/01/25(金) 07:02:20 ID:???
>ファイルの更新日時でソートするだけとかwwwwwwwwwwwwwwwww
お前は何をいってんの?
更新日時をログに記録してるってことだろ。
日本語もわからないの?
836830:2008/01/25(金) 07:03:07 ID:???
つれたつれた^^^^^^^^^^^^^^
837nobodyさん:2008/01/25(金) 07:07:24 ID:???
だめだこいつ何とかしないと
838nobodyさん:2008/01/25(金) 07:10:38 ID:???
今日も朝っぱらからネットで憂さ晴らしですか?
対人関係下手で家を出れない引きニートはかわいそうですね。
839830:2008/01/25(金) 07:25:24 ID:???
>>838
そうなんだよ。つき合ってくれてありがとう(´・ω・`)
今日は散歩にでもいくかな・・
840nobodyさん:2008/01/25(金) 07:53:35 ID:???
>>824
大体あってんじゃないの。
TEXTベースでやるのなら
1.スレッドNOを覚えているファイルを作る
2.新しい投稿があったら1を見てそれをファイル名とするファイルを生成し
投稿内容を書き込む
3.返信のときはすでにあるファイルをサーチし、投稿内容をマージ
返信に上限を付けるならここで上限チェック。
4.表示はいったん全ての投稿ファイルのタイムスタンプを読み込み
ソートして、出力順を決定する。
5.出力順に投稿ファイルを開き、内容を出力する。
6.実際には古いファイルを消去する仕組みも必要でしょう。
新しい投稿をトリガーにして、一定期間投稿のない投稿ファイル
=タイムスタンプが古いを削除する。

841nobodyさん:2008/01/25(金) 08:56:06 ID:???
>>840
タイムスタンプを読み込んでソートするってことは
返信の際にそのファイルのタイムスタンプも更新してるわけだから
そのついでに最上段に持っていけば表示の時にソートする必要ないんじゃね?

そしたら古いファイルの削除も最下段を削除するだけで済む
age、sage機能をつけるんならいるだろうけど
842nobodyさん:2008/01/25(金) 09:57:59 ID:rbOm8Vt/
PEAR::Mail_mimeDecodeを使っているのですが、
来たメールのエンコーディングを調べる方法はありますか?
ヘッダー情報に文字コードがなかったので・・・
843nobodyさん:2008/01/25(金) 10:11:30 ID:???
>>841
ついでに最上段というのがよく分からない。
動的にHTMLファイルを作り直せってこと?
844nobodyさん:2008/01/25(金) 11:33:44 ID:KgKyfu/6
中国や台湾などからのアクセスを拒否する場合、
.htaccessでやるべきか、phpの403で拒否するか、
もしくは、ルーティングテーブルで拒否するか、
よく分からないのですが、どれでやるのがベストですか?
宜しくお願いします。
845nobodyさん:2008/01/25(金) 11:36:31 ID:???
>>844
好きなの使え
846nobodyさん:2008/01/25(金) 11:47:22 ID:???
>>844
> どれでやるのがベストですか?
抽象的杉。

サーバの移項も考えるかとか、負荷の量とか、改変の頻度とか、
それを作業する環境は何かなどいろんな尺度があるので、目的次第。
847nobodyさん:2008/01/25(金) 11:52:40 ID:???
>>844
そりゃハードレベルでできるならそれが一番いいよ。
phpは最終手段。
phpよりhtaccess、htaccessよりルータ。
848nobodyさん:2008/01/25(金) 11:55:06 ID:KgKyfu/6
>>846
すみません。もう少し具体的に書かせて頂きます。
使用サーバーは、さくら株式会社が提供する専用サーバーで、移行の予定はないです。

負荷は、不明ですが、よく中国や台湾から大量のアクセスでサーバーが落ちるという話を聞くので、
それに堪えられるようにしたいです。
よく分からないですが、1秒間に1万回リクエストされても耐えられれば大丈夫だと思います。

改変は随時です。怪しいIPアドレスは拒否するように定期メンテします。
849nobodyさん:2008/01/25(金) 12:29:05 ID:???
全部やれ
850nobodyさん:2008/01/25(金) 12:35:43 ID:???
>>849
わからないなら適当なこというな
全部やってもパフォーマンスが下がるだけで意味がない
851nobodyさん:2008/01/25(金) 12:49:11 ID:???
>>843
スレ一覧が載ってるログを書き直せばいい
表示するときは上から順に読み込めばソートをする必要がなくなる
852nobodyさん:2008/01/25(金) 13:18:41 ID:???
>>851
そりゃ返信を書き込んだ人に対してはいいだろうが、
見に来るだけの人にはその手は使えんでしょう。
853nobodyさん:2008/01/25(金) 15:44:17 ID:???
>>852
2chみたいに書き込みをするとスレ一覧のトップに移動するのが
見に来るだけの人に問題が出るの?
854nobodyさん:2008/01/25(金) 15:49:54 ID:???
なんだPEARってコピーするだけで使えるじゃん。。。
なんでみんなこんなめんどうなもん使うんだろうってずっと避けてたよ
855nobodyさん:2008/01/25(金) 15:53:58 ID:rbOm8Vt/
対象のページ
http://example.com/
のソースの文字コードを知りたいのですが、
metaタグから取得する以外にどのような方法があるのでしょうか?
レスポンスヘッダーから簡単に取得できないですかね?
856855:2008/01/25(金) 16:02:45 ID:rbOm8Vt/
GET投げて返ってきた値のContent-Typeを取得することで解決しました
857nobodyさん:2008/01/25(金) 16:21:17 ID:???
mb使えるならdetectかなんか使った方が確実かもね。
858855:2008/01/25(金) 16:22:48 ID:rbOm8Vt/
>>857
それが気になったんです。
detectはheaderのcontent-typeの情報を受け継いでいるのか、
PHP側のアルゴリズムで解釈しているのか、その辺りの仕組みがよくわからないのです。
アルゴリズムで解釈しているのであれば、headerの値を受け取ったほうがより確実のようが気がします。
859nobodyさん:2008/01/25(金) 16:30:11 ID:???
headerに必ずあるものじゃなかったからな。
860855:2008/01/25(金) 16:32:49 ID:rbOm8Vt/
まぁ、流石にヘッダーにもmetaにも無かったら「文字化けしてください」と申請しているみたいなもんですね。
YahooやGoogleでの検索で文字化けしたページが見つからないのがすごい・・・。
というか、文字化けしているページを弾いてるだけなのかな?
とりあえず、有難う御座いましたー。
861nobodyさん:2008/01/25(金) 16:34:23 ID:???
>>858
http headerの文字コードはWebサーバ側で設定された値か、metaタグで指定された値になるんじゃなかったかな。
どちらにせよ人間が指定したものなので、信頼はできなさそうだが
862nobodyさん:2008/01/25(金) 16:38:49 ID:Lm6JW6Xc
Windowsサーバでエラー表示がされなくて困っています。
ini_set('display_errors', 'On');をプログラムの先頭に記述しても真っ白のままです。
他になにかエラー表示関係の設定項目ってありましたっけ?
863nobodyさん:2008/01/25(金) 16:40:35 ID:rbOm8Vt/
>>862
error_reporting
864nobodyさん:2008/01/25(金) 16:43:34 ID:Lm6JW6Xc
>>863
6143なので、問題ないと思います。
865nobodyさん:2008/01/25(金) 16:45:33 ID:???
>>864
php.iniの設定は?
それのdisplay_errorが0なら
ini_setする前にエラーが出ている可能性もある。
866nobodyさん:2008/01/25(金) 17:25:45 ID:Lm6JW6Xc
>>865
0ですが、ini_setする前にエラーは無いです。
ローカルで試すとうまくいくのです
867nobodyさん:2008/01/25(金) 17:34:44 ID:???
>>866
ini_setする前に何か行っている動作あったりする?
もしくは、ini_setを記述しているファイルが他のファイルから読み込まれるものだったり
868nobodyさん:2008/01/25(金) 18:35:24 ID:Lm6JW6Xc
>>867
全く無いです。

<?php
ini_set('display_errors', 'On');
echoooooo "a";
?>

こんなんでも真っ白になります。
869nobodyさん:2008/01/25(金) 18:37:59 ID:???
echoooooo ワロタ

phpinfoしてみたらちゃんとini_set反映されてた?

ini_set('display_errors', 'On');
phpinfo();
870nobodyさん:2008/01/25(金) 18:39:52 ID:???
なんだネタか
ネタじゃないならphp.iniか.htaccessで
display_startup_errorsをonにする

それでも出ないなら出力処理してないだけだろ
871nobodyさん:2008/01/25(金) 20:55:40 ID:???
>>848
基本的には>>847の考え方でいいと思う。
まずは、ルーターのみにしておいて、アクセス解析も同時に行う。
アクセス解析に不安なログが出ているようであれば、.htaccessも入れる。
ソフトの対応はリソースの消費も考えないといけないので、最初は
入れないで良いと思うというのが私の意見。

サーバのrootもってやるわけではない場合、セキュリティーにおいては
何処まで信頼するかは意見が分かれるところなので、最初から.htaccessまで
いるという人もいるだろう。
872nobodyさん:2008/01/25(金) 23:06:00 ID:KgKyfu/6
>>847>>871
アドバイスありがとうございました。
ルーティングテーブルでやればいいんですね。ありがとうございます。

私の場合、専用サーバーといっても、ルーターの設定はいじれないので、
webサーバー内のルーティングテーブルで設定します。
今までレン鯖(xrea)だったので、php以外の知識が要求されて四苦八苦中です。
助かりました。
873nobodyさん:2008/01/25(金) 23:57:41 ID:???
今日は誰からもレスされなかった(´・ω・`)
874nobodyさん:2008/01/26(土) 00:27:44 ID:???
>>855
こんなのがあるが相変わらずphpはハブられてる
http://www.void.in/wiki/Universalchardet
875nobodyさん:2008/01/26(土) 04:07:23 ID:???
>>874
つまり、どういうこと?
876nobodyさん:2008/01/26(土) 09:02:21 ID:???
>>875
phpはハブられてるってこと
877nobodyさん:2008/01/26(土) 10:03:21 ID:uPT20mdm
878非通知:2008/01/26(土) 10:10:49 ID:uPT20mdm
おやすみのところすみません

ダイジェスト認証した後にユーザ名を表示のしたいのですが、どうやって表示させるのでしょうか?
でゆうか、http://www.phppro.jp/phpmanual/php/features.http-auth.htmlの『例 34-2. Digest HTTP 認証の例』をつかうと『PHP_AUTH_DIGEST 変数を精査する
』の部分で『誤った証明書です!』と出力されるってことは、どこが原因なのでしょうか?

エロい人、おせーて(・∀・)

879nobodyさん:2008/01/26(土) 10:27:04 ID:???
スクリプトをそのままコピペしたなら入力した値が間違ってる

変更したのであれば変更点を書かないとわからない
880非通知:2008/01/26(土) 10:58:46 ID:???
#vim httpd.conf
+---追加----
| <Directory "/usr/local/apache2/htdocs/member>
| AuthType Digest
| AuthName "BIOHAZARD LEVEL 4"
| AuthDigestDomain /member/
| AuthUserFile /tmp/digestpass
| Require valid-user
| </Directory>

#/usr/local/apache2/bin/htdigest -c /tmp/digestpass "BIOHAZARD LEVEL 4" dora
+---------
|Passwd : emon

#vim /member.index.php
+----変更点-----
| $realm='BIOHAZARD LEVEL 4';
| $user=array('dora'=>'emon','unkn'=>'own');
881nobodyさん:2008/01/26(土) 11:42:25 ID:???
>>880
多分だが正規表現がうんこ
882nobodyさん:2008/01/26(土) 11:49:23 ID:???

正規表現廚が必死
883nobodyさん:2008/01/26(土) 13:22:00 ID:???
ふふふ・・・そうじゃないです
884nobodyさん:2008/01/26(土) 15:15:58 ID:???
PHPを勉強しようと思っているのですが、覚えるのにおすすめのサイトってありますか?
それとも何か一冊買った方が良いでしょうか?
885nobodyさん:2008/01/26(土) 15:35:06 ID:2Pi/4pg1
自前の掲示板を作りたくてphpを勉強して実践してるものです。
データベースと連携するも、何の機能も無い簡単な掲示板は無事作れました。
今pear pagerを使ってページネーション機能を付けようとしているところです。
その過程でコケました。

pagerを使うためには配列形式のデータを渡さないといけない
→データベースから受け取る連想配列を1セット(名前や本文など)ずつ配列に入れなおす

という作業をしていますが、うまくいかないので見ていただきたいです。
それと上の作業の中で 配列の中に配列を入れる ということをしていますが、
その場合は 例えば配列data[1]の中の配列innerのidを取得したい場合
$hoge = 〜 どのように書けばいいのでしょうか。よろしくお願いします。
886nobodyさん:2008/01/26(土) 15:36:33 ID:2Pi/4pg1
<?php

$sql = "SELECT * FROM bbsdata ORDER BY id DESC";
$res = mysql_query($sql, $conn) or die("データベースからデータを抽出できませんでした。

");

function createTable()
{
$data = array();
while ($row = mysql_fetch_array($res, MYSQL_ASSOC))
{
$data[] = $row;
}
return $data;
}

$date_array = createTable();
print_r ($data_array);


?>

データベースの接続のところは動作確認してます。fetch単独での動作もうまくいきました。
887nobodyさん:2008/01/26(土) 15:37:57 ID:2Pi/4pg1
エラー付け忘れました
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\web_page\pager_sample.php on line 20
888nobodyさん:2008/01/26(土) 15:43:06 ID:???
http://jp.php.net/manual/ja/language.variables.scope.php
つまりこういうことか…?
889nobodyさん:2008/01/26(土) 15:49:08 ID:???
>>884
http://www.php.net/
>>886
関数に$resを渡す。
ページャー使うくらいPEARを身に付けてるならMDB2使えばいいのに。素の関数よりは便利だよ。
890nobodyさん:2008/01/26(土) 16:29:01 ID:???
>>889
宣伝乙
891nobodyさん:2008/01/26(土) 16:29:12 ID:2Pi/4pg1
>>関数に$resを渡す。
すいません、聞いといてアレなんですけど、もう少し具体的にお願いします。($resってリソース型ですよね・・・

PEARはつまみ食い程度に使ってます。以前HTML quickformを使ったとき、融通が全然きかなかったこともあり敬遠してました。
(ある程度 型 が決まっているからPEARなんでしょうけど・・)
手元の本にもDBアクセスはPEARを推奨してました。pagerが実装できたらそっちにもいきたいと思います。
892nobodyさん:2008/01/26(土) 16:35:23 ID:???
>>891
とりあえず888を読んでから再度お越し下さい
893nobodyさん:2008/01/26(土) 17:07:14 ID:???
>>891
PHP5ならばPDOをお薦めする。
894nobodyさん:2008/01/26(土) 17:13:46 ID:???
$a の文字列が「〜@〜」であることを確かめるプログラムは
$a == ".@." にif文とかを組みあわせればいいはずなのにうまくいかない どうして?
895nobodyさん:2008/01/26(土) 17:19:53 ID:???
エスパー要るな
896nobodyさん:2008/01/26(土) 17:19:55 ID:Cad1bcuY
専用サーバーに引越してシステム変更の自由度が上がったのですが、
php側で処理速度が格段に上がる方法ってどのようなものがありますか?

MYSQLだと、参照系TBLをメモリーテーブルにするとか、
Apatchだと、プロセス数を増やしたり、1.3から2.0に上げる
方法などが考えられると思うのですが。php側の最適化の方法がよくわかりません。
宜しくお願いします。
897nobodyさん:2008/01/26(土) 17:20:42 ID:???
>>894
それだと$aが.@.の時しか一致しないよ
preg_matchとかeregあとはstrposとかで確認しれ
898nobodyさん:2008/01/26(土) 17:25:02 ID:???
>>894
こっちでやるんじゃないの?
$a = "aaaaa@aaaaaaa";
if( ereg("@", $a) ){
echo "true";
}else{
echo "false";
}
899nobodyさん:2008/01/26(土) 17:26:02 ID:???
Apatch って何?
900nobodyさん:2008/01/26(土) 17:26:20 ID:???
memcachedとかeAcceleratorとかZendOptimizerとか使うと良いんじゃない
あとXdebugのプロファイラ機能つかって遅い場所早くするとか
901nobodyさん:2008/01/26(土) 17:29:33 ID:???
スコープ・・・ 考慮に入れた結果真っ白になりました

<?php


$sql = "SELECT * FROM bbsdata ORDER BY id DESC";
$res = mysql_query($sql, $conn) or die("データベースからデータを抽出できませんでした。

");

function createTable($resource)
{
$data = array();
while ($row = mysql_fetch_array($resource, MYSQL_ASSOC))
{
$data[] = $row;
}
return $data;
}

$date_array = createTable($res);
print_r ($data_array);


?>
902nobodyさん:2008/01/26(土) 17:32:19 ID:???
>>899
Apacheの誤字ってことぐらいわかるだろ
いちいちあげ足とるな
903nobodyさん:2008/01/26(土) 17:39:12 ID:???
>>898 ありがとうございます。うまくいけました。ereg 覚えときす。
904nobodyさん:2008/01/26(土) 17:39:42 ID:???
>>901
君は頭も真っ白なんだから、もうその辺で農機具でも洗浄しときなさい。
905nobodyさん:2008/01/26(土) 17:45:47 ID:???
雅子さまが仕事をサボって、このスレで暴れていると聞いて飛んできました。
906nobodyさん:2008/01/26(土) 17:52:10 ID:???
なんでcreateTableでcreateじゃなくてselect送ってんだろ
関数名もっと考えてつけなよ
例えばこの場合getBbsData()とか

http://jp.php.net/manual/ja/function.mysql-fetch-array.php

とりあえず少しずつこれ見ながらやっていきな
907nobodyさん:2008/01/26(土) 17:57:40 ID:???
作成するテーブルはDBのテーブルじゃなくて配列のことなんだろ。
908nobodyさん:2008/01/26(土) 19:19:30 ID:???
PHPから、あるファイルaをbとしてコピーして、そのときから3日後にファイルbを自動で消去するためにはどんな関数を使えばいいでしょうか
909nobodyさん:2008/01/26(土) 19:25:52 ID:???
コピーする仕組み -> コピーする関数
3日後に -> ファイル作成時の時間を調べる関数 + 現在の時間を調べる関数 (※)
消去する -> 消去する関数

※の「3日後」は他にも幾つかやり方がある。
910nobodyさん:2008/01/26(土) 19:43:54 ID:???
>>909 レスありがとうございます。
頭の中には copy unlink とあとdate関数とかの時間系の関数 があるんですが、
「3日後にunlinkを実行」をどこに指定してやればいいのかで困っています。クッキーだと引数にあったんですが、
911nobodyさん:2008/01/26(土) 19:53:25 ID:???
getBbsData(笑);
912nobodyさん:2008/01/26(土) 21:05:43 ID:???
>>910
自動的に判定処理を実行させたいのか(させたいなら間隔はいくらか)
もしくはユーザがアクセスしたときに判定処理を実行できればいいのか
どちらかによる
913nobodyさん:2008/01/26(土) 21:49:32 ID:???
後者でお願いします
914nobodyさん:2008/01/26(土) 21:59:22 ID:???
対象のファイルの時間を調べる・・・(1)
現在の時間を調べる・・・(2)
(2)−(1)>=3日間 が真だったらファイル削除
という話ではなくて?
915nobodyさん:2008/01/26(土) 22:16:21 ID:???
あ〜なるほど。そういう手があったか。
その場合 その削除プログラムをどこに組み込むか や コピーしたファイルの名前をどこかに保存する
とかいうことも考えないといけなくなる。
916nobodyさん:2008/01/26(土) 22:19:41 ID:???
俺はファイル削除の件で書き込みするのはこれが初めてだが、
参考としてファイルを削除するソースを書いておく。

削除対象のファイル名:西暦4桁+月2桁+日2桁+拡張子 (例)20080128.log
今日の日付の取得と削除対象の日の取得は、プログラムをする必要があるが、
簡潔にするため文字列をセットしている。
※このソースは、実行するphpファイルも削除しようとするから注意。

<?php
// 今日の日を取得する。
$date = "20080126";
// 削除対象となる日の設定(これ未満が削除)
$del_date = "20080123";

// ディレクトリのファイルを調べる。
$res_dir = opendir( '.' );
//ディレクトリ内のファイル名を1つずつ取得
while( $file_name = readdir( $res_dir ) ){
$file_date = substr($file_name, 0, 8);
// 対象となる日付より少ないかのチェック。
if($file_date < $del_date){
// ファイルを削除する。
unlink($file_name);
}else{
// 何もしない。
}
}
//ディレクトリ・ハンドルをクローズ
closedir( $res_dir );
?>
917nobodyさん:2008/01/26(土) 22:25:31 ID:???
918nobodyさん:2008/01/26(土) 23:19:04 ID:???
>削除対象のファイル名:西暦4桁+月2桁+日2桁+拡張子 (例)20080128.log
なんだこの後付け設定ww
919nobodyさん:2008/01/26(土) 23:21:14 ID:???
なんか要領が悪そうだ
920nobodyさん:2008/01/26(土) 23:43:30 ID:???
ファイルのDLを全部PHP経由でやればどこでやるかなんて悩まなくてもいいのに。。。
pearのHTTP_Downloadがダウンローダーの実装を手助けしてくれる。

>>916
何もしないなら無駄なブロックは無くそうぜ

921nobodyさん:2008/01/27(日) 00:27:25 ID:???
そこは突っ込みどころじゃない
922nobodyさん:2008/01/27(日) 00:53:44 ID:???
      ___   ━┓  ___    ━┓
     / ―  \  ┏┛/ ―\   ┏┛
    /  (●)  \ヽ ・. /ノ  (●)\  ・
  /   (⌒  (●) /. | (●)   ⌒)\
  /      ̄ヽ__) /   |   (__ノ ̄  |
/´     ___/     \        /
|        \          \     _ノ
|        |          /´     `\
--------------------------------------
このスレはあなたにとって役に立ちましたか?

 ○ 非常に役にたった
 ○ 役にたった
 ○ どちらともいえない
 ○ 役に立たなかった
 ● 全く役にたたなかった
923nobodyさん:2008/01/27(日) 00:58:59 ID:IFsQu3P4
凄く他愛ないんですが、以下のif文ってもっとスマートに書けませんか?
if(($name=="yamada")||($name=="tanaka")){〜〜;}
条件部分で、使ってる変数が同じなのを利用してもっとシンプルに書く書き方がないか
知りたいんです  ないんでしょうか?
924nobodyさん:2008/01/27(日) 01:04:47 ID:???
既知かもしれないけどswitch文っていうのがあるよ

switch($name){
case "yamada":
処理1();
break;

case "tanaka":
処理2();
break;

default:
処理3();
}
925nobodyさん:2008/01/27(日) 01:09:13 ID:???
どー見ても>>923のほうがシンプルだろ
926nobodyさん:2008/01/27(日) 01:09:53 ID:???
>>819
>>820
エスケープでできました
スタイルシートも使ってやってみようと思います
以後気をつけます
ありがとうございました!
927nobodyさん:2008/01/27(日) 01:17:10 ID:???
>>925
もしかしたらif文の内容が>>923みたいな場合だけじゃないかもしれないし
選択肢の一例として挙げただけだから。
928nobodyさん:2008/01/27(日) 01:20:16 ID:???
>>918
笑うことないだろ。
ファイルをコピーして作ってから3日後には削除するという
ことだから、そういう命名規則だとプログラム上で便利だという意味だ。


>>919
「なんか」って何だよ


>>920
無駄なブロックは消しておきます。
929nobodyさん:2008/01/27(日) 01:25:56 ID:???
普通は作成日とか更新日を見るもんだろ。
勝手に要件を変更するなよ。
930nobodyさん:2008/01/27(日) 01:27:44 ID:???
>>923
文字列の条件候補がもっと多い場合は、あらかじめ配列にいれて
おいてループしながら確認する場合が多い。
何を持ってスマートというかにもよるけれど、この方法だと、
条件確認部分が横に長くならないし、候補の文字列格納部分を
見やすく書くことが出来る。
931nobodyさん:2008/01/27(日) 01:33:23 ID:???
>>923
なんで今まで出てこないのか不思議だけども
in_array
932nobodyさん:2008/01/27(日) 01:33:31 ID:???
>>929
> 普通は作成日とか更新日を見るもんだろ。
そうなの?あおりとかじゃなくて、どういう状況の時にそれがあるの?
定期バックアップとか取るのなら、ファイル名にしとけば早いと
思ってたけど、ファイル名取得は重いって事?
933923:2008/01/27(日) 01:37:13 ID:???
答えてくれた人ありがとう
if文て三項演算子みたいな面白い表現もあるので、他にないかなーって思ってたんですが、、
ないっぽいですね
if($name=="yamada"||"tanaka"||"kato"){print "success";}else{print "miss!";}
とかできたらいいのに。923みたいにカッコがどんどん増えてくと見づらくてしょうがない
どうもありがとうございました switchも適宜使いますね>>924
934923:2008/01/27(日) 01:42:39 ID:???
>>930-931
おお、ありがとう!
in_arrayって知りませんでした、大発見て気分です!
使わせていただきます、ありがとう!
935nobodyさん:2008/01/27(日) 02:27:17 ID:9v+HixkY
エロい人じゃなくていいから>>878>>880をおせーて
936nobodyさん:2008/01/27(日) 02:47:34 ID:???
ダイジェスト認証自体使ってる人レアだから返答はあまり期待しないほうがいいよ
937nobodyさん:2008/01/27(日) 02:49:47 ID:???
>>933
if( preg_match('/^(yamada|tanaka|kato)$/', $name) ){ print "success"; }
else{ print "miss!"; }
みたいにすればできるけど正規表現理解せずにやっても別の問題起きかねないしその方法のが無難かな。

>>880
>| <Directory "/usr/local/apache2/htdocs/member>
手入力なら関係ないかもしれんけどダブルクオート閉じてなくない?
938nobodyさん:2008/01/27(日) 02:50:30 ID:???
Basic認証+SSLでセキュア的におk?
939nobodyさん:2008/01/27(日) 02:51:19 ID:???
NG
940nobodyさん:2008/01/27(日) 04:54:36 ID:???
おしえてください

<!-- test -->
<p>abcd</p>
efgh
ijkl
<!-- /test -->

というのの<!-- test -->と<!-- /test -->の間を抽出したいのですが

preg_match('/<!-- test -->(.*)<!-- test -->/', $buf,$match);

echo $match[0];

でうまくいきません

どうすればいいでしょうか
941nobodyさん:2008/01/27(日) 04:55:39 ID:???
↑間違いました
preg_match('/<!-- test -->(.*)<!-- /test -->/', $buf,$match);

です
942nobodyさん:2008/01/27(日) 05:04:57 ID:???
>>940
デリミタを変えるか/をエスケープ
943nobodyさん:2008/01/27(日) 05:13:57 ID:???
あぁ文字列が改行されてるのか

じゃ

preg_match("/<!-- test -->(.*)<!-- \/test -->/s", $buf, $match);
echo $match[1];



$match[0]だとマッチした全体が表示されるので(.*)のとこは[1]ね
944nobodyさん:2008/01/27(日) 05:35:40 ID:???
うおおおおおすごい
できました
ありがとうございます
945初心者です:2008/01/27(日) 06:05:29 ID:fV3Opxe0
教えてください。

phpでmysqlにレコードを追加したいのですが、
$area = 5;
$sql = "insert into area_tbl (area) values ('.$area.')";
$res = mysql_db_query($db,$sql);
では追加できるのですが、

$area = array(10,10);
では追加できません。
arrayの使い方もよくわからない素人ですが
何卒よろしくお願いします。




946nobodyさん:2008/01/27(日) 06:14:46 ID:???
配列を勉強してからこい

947初心者です:2008/01/27(日) 06:16:46 ID:fV3Opxe0
はい。
948nobodyさん:2008/01/27(日) 08:19:55 ID:???
>>935
なぜかは解らんがあれは正規表現で問題があった
多分あれが書かれた時のPHPのバージョンと今のバージョンでは
正規表現の書き方が多少変わったんじゃないかと

正規表現をこれに変更
@(\w+)=([\'"]?)([^\s\2,]+)\2@

$data[$m[1]] = $m[3] ? $m[3] : $m[4];
この部分を
$data[$m[1]] = $m[3];

に変更でいけると思う
949nobodyさん:2008/01/27(日) 09:05:40 ID:???
M$の手に堕ちた鈍物が集うスレですか....
君らphpとか使ってて恥ずかしくないの?
950nobodyさん:2008/01/27(日) 12:10:01 ID:???
>>949
MSなんか関係あるの?出資や買収でもしたってニュースあったっけ?
IISでPHPに(ある程度)対応するし、提携もしたからその話なのかな。

>君らphpとか使ってて恥ずかしくないの?
んじゃまずYahooとかにその台詞いいなよ。
951nobodyさん:2008/01/27(日) 12:47:09 ID:???
じゃあ何を使えば恥ずかしくないの?w
言ってみて
952nobodyさん:2008/01/27(日) 13:02:37 ID:???
他の言語を否定する奴って9割方能無しなんだよね、見てきた限りwwwwwwww
>>949さんは、きっと違いますよね^^
953nobodyさん:2008/01/27(日) 13:29:23 ID:???
まぁ、ハッカーに好まれる言語ではないけど、寧ろそこがいいところでもある。
array_map
array_filter
array_reduce
aray_walk
create_function
とかを使うと、少し気が紛れる。おれはだけど。
954”削除”の件を質問したもの:2008/01/27(日) 13:37:35 ID:???
多くのレスありがとうございます、でもなんか質問したせいで口論が起こっているようで申し訳ないです。
この削除プログラムをどこに利用するかというと 仮登録→本登録 っていうありきたりの流れの中で
仮登録が済んだら本登録画面をmd5で名前を適当に変えてコピってユーザに渡しといて3日後には消す って感じで使いたいんです。
ですからファイル名自体に日付け っていうのはちょっと・・・です
やはりコピったときに コピったファイル名と日付け をデータベースにいれといて そのあとに消す
っていうのが一番オーソドックスな方法ですかね。。。
dbを参照して自動消去するプログラムは1日おきにcronから実行させるって感じで。

このプログラム自体(セキュリティー面やら)みんなに叩かれそうです
955nobodyさん:2008/01/27(日) 13:37:58 ID:???
君達のレベルの低さにはうんざりだよ。

ご両親もそうなのかい?
956nobodyさん:2008/01/27(日) 14:02:19 ID:???
>>954
なんでファイルを使う必要があるのかそもそも分からん。

要するに、仮登録がすんだら、有効期限3日の間に本登録にしないと
仮登録のデータ消しますよ?ってことだよね。
そのユーザー固有のデータと仮登録日をDBに記録しといて、
「本登録画面」とやらはこのデータを参照するPHPで表示すればいい
気がするんだけど。

物理的にファイルとして存在した方がいいって場合ももちろんある
んだけど、こういうやり方も検討した方がいいかもね。
957nobodyさん:2008/01/27(日) 14:07:58 ID:???
私もファイルに保存する必要性がわからない。
ま、掲示板なんかで、サーバの負荷を減らすために
ログファイルからhtmlファイルを作っておいて、
参照は〜.phpではなく、〜.htmlにアクセスさせる
というものがあるけれど、それにあたるものかな?
958nobodyさん:2008/01/27(日) 14:23:04 ID:???
if(!($abc == "[a-zA-Z0-9]{3,10}"))
{
echo "<p>3~10文字ですよ</p>";
exit();
}
上で質問したものですが、、、これは正規表現として正しい?
959”削除”の件を質問したもの:2008/01/27(日) 14:31:34 ID:???
>>456-457さん ご意見どうもありがとうございます。
確かにそうですね。プログラムを作る初期の段階で「ファイルをつくらなきゃ」っていう固定観念が生まれてたみたいです。

とすると、ファイルを削除する必要がなくなって 本登録時にDBにアクセスして今の日付けと比較すればいいわけですね。
解決?プログラミング作業に戻ってみます。どうもありがとうございます。
960nobodyさん:2008/01/27(日) 14:33:17 ID:???
>>958
コードも駄目だし、正規表現も間違ってる
961nobodyさん:2008/01/27(日) 14:41:31 ID:???
どこがまちがっているのですか
962nobodyさん:2008/01/27(日) 14:43:04 ID:???
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
963nobodyさん:2008/01/27(日) 14:52:14 ID:???
テンプレ読まない質問者もそうだが、それに答えてる解答者も同様かそれ以下だな。
964nobodyさん:2008/01/27(日) 15:03:42 ID:???
転送用のPHPファイル(header(location:)のみ指示したファイル)に、
オーバーチュアーのコンバージョンカウンタを突っ込むには、
<html><head>(タグ)</head><body></body></html>を加えないとダメ?
それとももっと簡素化出来る方法がありますか?

ど素人につき、意味がわからない質問になっているかもしれません。
965nobodyさん:2008/01/27(日) 15:04:41 ID:cIwbO15I
>>964です
id漏れ
966nobodyさん:2008/01/27(日) 15:07:56 ID:???
次スレ立てるときにちゃんと削っとけよ・・・質問者IDの件
967nobodyさん:2008/01/27(日) 15:13:30 ID:???
↑チョン
968nobodyさん:2008/01/27(日) 15:26:35 ID:???
テンプレとうざい自己主張はトレードオフだからな。少々は我慢しろ。
969nobodyさん:2008/01/27(日) 15:27:08 ID:???
>>964
意味がわからん
970nobodyさん:2008/01/27(日) 15:31:48 ID:cIwbO15I
>>969
説明ページ→転送ページ(PHP)→商品ページ

という状況で、転送に便利なPHPを使っていたんですけど、
そこに効果測定用のオーバーチュアーのコンバージョンカウンタを
埋め込みたいのです。

どうやったら埋め込めますか?という初歩的な質問です。
コンバージョンカウンタはJAVA SCRIPTで出来ています。
971nobodyさん:2008/01/27(日) 15:46:18 ID:???
Locationヘッダで飛ばしたら本文は読まないと思う
ブラウザ依存かもしれんけど
972nobodyさん:2008/01/27(日) 15:52:28 ID:???
このスレで何回か質問したことあるけど、おれは本当に役に立った。
お陰で自分で考える手間が省けるので、時間の節約にもなって仕事にゆとりが出てきた。
今日は、休日だから日頃のお礼を言うよ。サンクス。
973nobodyさん:2008/01/27(日) 16:10:53 ID:jK32tI//
データベースで不思議なエラーが出ました。

$sql = "SELECT 1gyagu FROM pre_appli WHERE id = 1";
$query = mysql_query($sql,$conn) or die("クエリ失敗");
$result = mysql_result($query,0);
print $result;

id =1 の一発ギャグが表示される

アルミ缶の(ry


$sql = "SELECT 1gyagu FROM pre_appli WHERE 1gyagu = "アルミ缶の(ry"";
$query = mysql_query($sql,$conn) or die("クエリ失敗");
$result = mysql_result($query,0);
print $result;

Parse Error

なぜ?
974nobodyさん:2008/01/27(日) 16:16:13 ID:???
>$sql = "SELECT 1gyagu FROM pre_appli WHERE 1gyagu = "アルミ缶の(ry"";
最後の " がひとつ多い
975nobodyさん:2008/01/27(日) 16:18:34 ID:???
いや、
1gyagu = \"アルミ缶の(ry\"";
だっけか
976973:2008/01/27(日) 16:25:16 ID:jK32tI//
>>974 "SELECT の"と "アルミ缶 の"を最後に閉じるから2ついる
>>975 うは。うまくいきました。すいません\ってどういう意味でつか???
977nobodyさん:2008/01/27(日) 16:29:36 ID:???
続く文字をエスケープ
978nobodyさん:2008/01/27(日) 16:32:42 ID:???
>>976
http://jp.php.net/manual/ja/language.types.string.php
というかSQLに於いて文字列リテラルはシングルクォート。
SQLでダブルクォートはテーブルやコラム名の大文字小文字を区別したり、
予約語と被らないようにするための物。
979nobodyさん:2008/01/27(日) 16:36:55 ID:???
最近エスケープがらみのトラブル多いな
基礎中の基礎だからちゃんと覚えような
980nobodyさん:2008/01/27(日) 16:44:58 ID:???
エスケープ覚える前にデータベースっていうのも学習の順序がおかしいな
すごいんだかすごくないんだか
981nobodyさん:2008/01/27(日) 16:49:37 ID:IHMN/Cyj
PHPでアクセスしてきたクライアントの国名(県名)を取得できませんか?
Java Scriptの使用はなし、
あくまでPHP単体での取得方法があればお願いします。
982973:2008/01/27(日) 17:19:50 ID:jK32tI//
エスケープシークエンス・・・ 一応学習はしてましたが消えかけていました。初めて使いました。ありがとうございました。
983nobodyさん:2008/01/27(日) 17:29:39 ID:???
>>981
正確なクライアントの国名はわからないけど、
最後にどこを経由したかはIPからわかる。
984nobodyさん:2008/01/27(日) 17:33:39 ID:???
>>982
エスケープシークエンス?
ちょっと勘違いしている予感…
985nobodyさん:2008/01/27(日) 17:44:37 ID:cIwbO15I
>>971
有り難うございます。
となると、どうやるんでしょうか(^^;
986nobodyさん:2008/01/27(日) 17:45:55 ID:DYynvymq
hello.html
<html>
<body>
こんにちは みなさん
お元気ですか
</body>
</html>

というhtmlファイルがあったとして、
<body>から</body>の間だけ取得するにはどうしたらいいですか?

$file = file_get_contents ("hello.html");
この後どうしたらいいのでしょうか
987nobodyさん:2008/01/27(日) 17:54:39 ID:???
>>986
>>940-944これのこと?
988nobodyさん:2008/01/27(日) 17:56:44 ID:DYynvymq
preg_matchとやらを使えばいいんですね
ありがとうございました
989973:2008/01/27(日) 18:18:31 ID:jK32tI//
990nobodyさん:2008/01/27(日) 18:20:42 ID:???
>>989
通常は過去ログとかテンプレを全部貼り終えてから告知するもんなのだが。
991nobodyさん:2008/01/27(日) 18:22:16 ID:IHMN/Cyj
ああ埋まってしまう。
>>983
それでOKです。串さされたらどうしようもないですし。
方法を教えてもらえませんか?
専用の変数があるんでしょうか?
992nobodyさん:2008/01/27(日) 18:22:17 ID:???
その前にスレ番が後退しているわけだが
なんで62から61になるんだよ
993nobodyさん:2008/01/27(日) 18:23:03 ID:jK32tI//
サーセンw
994nobodyさん:2008/01/27(日) 18:24:51 ID:???
これはひどい
995nobodyさん:2008/01/27(日) 18:26:39 ID:???
おまえのちんこをぐにぐにふんづけてやる
996nobodyさん:2008/01/27(日) 18:27:49 ID:+7hlQOJN
      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 野朗共!1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
997nobodyさん:2008/01/27(日) 18:28:28 ID:IHMN/Cyj
マニアワナイwwwオワタwww
998nobodyさん:2008/01/27(日) 18:29:46 ID:???
多分1000は俺だろう
999nobodyさん:2008/01/27(日) 18:29:57 ID:jK32tI//
申し訳ないす ぐにぐにしてくださいw
1000nobodyさん:2008/01/27(日) 18:30:02 ID:Nkn4j03s
1000Get!!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。