【PHP】下らねぇ質問はここに書き込みやがれ 62
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/01/10(木) 18:09:19ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2008/01/10(木) 18:09:21ID:???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)、起動&再起動あたり
0003nobodyさん
2008/01/10(木) 18:09:23ID:???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.を参照
0004nobodyさん
2008/01/10(木) 18:09:25ID:???21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0005nobodyさん
2008/01/10(木) 18:09:25ID:???■本家マニュアル 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/
0006nobodyさん
2008/01/10(木) 18:09:26ID:???【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/
0008nobodyさん
2008/01/10(木) 18:23:06ID:???もっと、短く簡潔にまとめろよ。
話が長い使えない上司と一緒。
0009nobodyさん
2008/01/10(木) 18:24:15ID:???0010nobodyさん
2008/01/10(木) 18:24:23ID:???/ ☆ ヽ
0く━=ニニ二>
//(●) (●) \
/ ヘ (__人__) | ■■ 自宅警備員へお知らせ! ■■
/ヽノ彡,,.. .|∪| /
/ 丿,, /\ヽノ/ゝ 丶 2008年1月11日午前6時(日本時間)より
(  ̄jヽ,/_l ヽ 「2ちゃんねる」が12時間にわたって停止
\ ____ ̄{。 _____ } します。自宅警備を強化し待機せよ。
ヽ、,,_, {---} }。 {---} j
【2ちゃんねる停止】 2ちゃんねるが12時間にわたって停止
http://mamono.2ch.net/test/read.cgi/newsplus/1199955812/
0011nobodyさん
2008/01/10(木) 18:53:18ID:???' ∧ 《 /: : : : : : /': : : : /: : : : : :/: :/: : |: : : : : : ',
/ /: :ゝ《 ,: : : : : : /: : : :/: : : : : /: /: /: : /: :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《 |\ / ( / 》 《
0012nobodyさん
2008/01/10(木) 22:09:38ID:RXHuRxCJphp-4.2.2-17.src.rpmからrpmbuildしようとするもエラーが出てしまいました。
どなたか、上記のような事を試した人おりませんでしょうか?
また、成功した方がいましたら是非ご教授下さい。宜しくお願いいたします。
0013nobodyさん
2008/01/10(木) 22:39:53ID:SBFfSjuOmail関数で送信されるメールの中身を表示させる方法ってありますか?
FALSEが返ってきてメールが送れていないみたいなので、中身を確認したいと思っています
どうかご教授お願いします。
0014nobodyさん
2008/01/11(金) 00:25:07ID:???ちょっと難しい質問が来ると絶句して何もレスしなくなる件について
0015nobodyさん
2008/01/11(金) 00:44:55ID:9vffPb9l記憶違いですかね?
0018nobodyさん
2008/01/11(金) 01:10:04ID:9vffPb9l'SELECT * FROM user WHERE num=$num'
の$numが展開されるみたいなやつです
シングルクォートの中でも展開されるみたいな説明文を読んだ記憶が
0019nobodyさん
2008/01/11(金) 01:24:11ID:???つまるところこれは違うということかい?
http://jp.php.net/manual/ja/ref.pdo.php#pdo.prepared-statements
PHPの言語仕様上シングルクォート内で変数が展開されることはないよ。
0020nobodyさん
2008/01/11(金) 01:27:41ID:???こういうのじゃなくて?
あとはプリペアードステートメントの事をなんか間違って覚えてるとか
0021nobodyさん
2008/01/11(金) 01:33:05ID:9vffPb9l勘違い確定かも
以前PDOの検索結果を渡り歩いているときに見たような気がしたんだが
?を置き換えるように$varもPDOが自動的に展開するようなのがあるのかなと思ってた
0022nobodyさん
2008/01/11(金) 04:25:12ID:???"ABC",123,"DEF"GHI",456
の時に、
ABC
123
DEF
456
となってしまいました。
「DEF」を「DEF"GHI」でとる方法有れば教えてください。
それと
>17. CSVやTSVのファイルをスマートに扱いたい
> → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
これが気になったのですが、どんな症状が出るか?どこか解説無いでしょうか?
0023nobodyさん
2008/01/11(金) 04:30:26ID:???0024nobodyさん
2008/01/11(金) 09:02:44ID:???0025nobodyさん
2008/01/11(金) 10:01:21ID:???この時、何らかの問題により一部のサーバー郡及びネットワーク全体に繋がらなくなる
トラブルが発生した場合は、最大12時間のダウンタイムを頂戴する場合がございます事を
ご了承ください。
0026nobodyさん
2008/01/11(金) 10:16:11ID:???0027nobodyさん
2008/01/11(金) 12:48:19ID:???0028nobodyさん
2008/01/11(金) 14:07:34ID:???0030nobodyさん
2008/01/11(金) 15:59:45ID: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>";
}
}
0031nobodyさん
2008/01/11(金) 16:03:50ID:???http://jp2.php.net/manual/ja/function.file.php
>ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。
0032nobodyさん
2008/01/11(金) 19:29:13ID:???試しにサーバーのスタートアップフォルダを指定したら
普通にサーバーのスタートアップにWEB経由でバッチファイルをアップロードできたんですが・・・・
すっげーこえーんだが・・・
0033nobodyさん
2008/01/11(金) 19:50:19ID:???winサーバーのスタートアップにバッチファイルを送り込んで、再起動時にバッチファイルを自動実行させて
サーバーをクラッキングor起動不可能に出来るのか?
PHP5.2.3
なんじゃそりゃ。PHPこえー
0034nobodyさん
2008/01/11(金) 19:51:29ID:???0035nobodyさん
2008/01/11(金) 20:05:37ID:???よくわからんが、スタートアップフォルダを指定したのは誰?
わざわざ、そういうサーバプログラムを作らなければ、クライアントプログラムから
アップロード先ディレクトリを指定することはできないよね?
http://www.php.net/manual/ja/ini.core.php#ini.upload-tmp-dir
0036nobodyさん
2008/01/11(金) 20:16:21ID:???アクセス禁止にしたところ、企業からアクセスできないという苦情があり、
裁判も辞さないなどと脅されています。
ただ、proxyはphpと共鳴してい発生するものであって、
proxyを個別にとって違法性を叫んでも意味がないと思うのですが、
phpの設定でどうにかなりましたか?
0037nobodyさん
2008/01/11(金) 20:30:45ID:???0039nobodyさん
2008/01/11(金) 20:42:17ID:???そうなんですよね。私は、有料会員制のサイトをやっていまして、
料金だけとってアクセスできないのは詐欺じゃないか、と猛抗議で。
こちらとしては、HTTP_VIAやHTTP_X_FORWARDED_FORが来ているのでアクセスを禁止しているだけと
口頭やメールで説明しているのですが、分からないの一点張りで平行線のままです。
私としては、意図的にその企業をアクセス禁止にしている訳ではないので全くの濡れ衣です。
0041nobodyさん
2008/01/11(金) 20:51:51ID:???その企業がアクセスしてきたら、これを出力してやれ
for ($i = 0; $i < 10000000000000000; %i++) {
echo "<img scr='a://baka'>";
echo "<img scr='http://www.2ch.net/'>";
}
0042nobodyさん
2008/01/11(金) 20:53:40ID:???0043nobodyさん
2008/01/11(金) 20:56:12ID:???ありがとうございます。確かにそうですね。
ちょっとソースを改造してみます。
>>42
するどい。やっぱり分かりました?
0044nobodyさん
2008/01/11(金) 21:03:54ID:???ところでITで裁判て裁判官もよく分かってないから
とんでも判決くらうこともあるから注意しろよ
0045nobodyさん
2008/01/11(金) 21:05:03ID:???0046nobodyさん
2008/01/11(金) 21:27:00ID:???って懐かしいな
でもこれFDドライブないと意味ないよな
0047nobodyさん
2008/01/12(土) 00:21:20ID:???法律を作って厳罰化してくれ。
プロキシサーバー接続禁止法
第1条 (プロキシサーバーでの接続禁止)
何人も、プロキシサーバーを経由して接続してはいけない。
第2条 (罰則)
第1条違反したものは、無期若しくは5年以上の懲役に処する。
0049nobodyさん
2008/01/12(土) 01:01:54ID:???ttp://labs.unoh.net/2007/06/how-to-create-rss-feeds-with-php.html
0052nobodyさん
2008/01/12(土) 01:18:54ID:???0053nobodyさん
2008/01/12(土) 01:20:12ID:???ってか、今更かよwww
0055nobodyさん
2008/01/12(土) 13:20:29ID:???っ「大学内串」
0056nobodyさん
2008/01/12(土) 16:03:26ID:aex5ZIdgそのファイルの更新日時を出力するというプログラムを組んでいるのですが、
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秒
-------------------------------------------------------
どうかよろしくお願いします。
0057nobodyさん
2008/01/12(土) 16:09:00ID:???005856
2008/01/12(土) 16:14:57ID:aex5ZIdgうーん・・・どうしてもディレクトリを指定した場合のみ「Warning: filemtime()」というエラーが出てしまいます・・・
4行目がいけないというのは分かってはいるのですが、どうしたらいいか・・・
0059nobodyさん
2008/01/12(土) 16:15:21ID:???0060nobodyさん
2008/01/12(土) 16:22:50ID:???readdir()はファイルパスじゃなくファイル名を返すから、
ディレクトリパスを付加しないといけない。
面倒なのでRecursiveDirectoryIteratorとかglob()を使うという選択肢もある。
006156
2008/01/12(土) 16:36:53ID:aex5ZIdg色々とありがとうございます。
やってみます。
0063nobodyさん
2008/01/12(土) 16:48:07ID:br4QB1Gf前の入力画面に戻るというプログラムを作っています。
戻るボタンはonclick='history.back()を利用しており、入力画面に戻った時には
直前に入力した内容が残っておりました。
しかし、セッション管理をしたく、session_start()の文を追加すると、戻るボタン
で戻った際に、直前に入力した内容が消えてしまいます。
onclick='history.back()から戻ったときのみsession_start()を省略するととか
出来ますでしょうか?何かヒントだけでも頂けないでしょうか?
よろしくお願い致します。
0064nobodyさん
2008/01/12(土) 16:51:36ID:lZDx/D8Eファイルをブラウザで開いたときに実行されるプログラムに
エラー(noticeレベルでも)が多いと、ページの表示に時間がかかると考えて
良いんでしょうか?
エラー発生→エラーログに書き込む→大量なら時間がかかる→表示遅くなる
ってこと?
また、php側でこのエラーログへの書き込みを抑制する方法ってありますか?
いちいち警告してくれなくても実用上問題ないって場合、そういうのが
あると助かります。 それとも、そんな制御しないほうがいいかな?
0066nobodyさん
2008/01/12(土) 17:28:06ID:lZDx/D8Eどうもです
どうやって制御するんでしょう? すみません、教えてください
0067nobodyさん
2008/01/12(土) 17:32:50ID:???このあたりの話なのかな。
http://jp.php.net/manual/ja/ref.session.php#ini.session.cache-limiter
> デフォルトは、nocacheです。
0068nobodyさん
2008/01/12(土) 19:19:53ID:g6/EhvFhif (isset($_COOKIE["guest"])) {
echo 'ただいまログイン中。';
} else {
echo 'ただいまログアウト中。';
}
で、クッキーに値が入っていても毎回ログアウトの表示がなされます。原因わかりますでしょうか。
ちなみに上記ファイルは他のPHPからincludeで呼び出しています。php4.4.7 さくらインターネットです。
0070nobodyさん
2008/01/12(土) 19:24:50ID:???0071nobodyさん
2008/01/12(土) 19:31:36ID:???var_dump($_COOKIE); だと思うが、いかがか?
007268
2008/01/12(土) 19:35:19ID:g6/EhvFh<?php
if (var_dump($_COOKIE["guest"])) {
echo 'ただいまログイン中。';
} else {
echo 'ただいまログアウト中。';
}
?>
としてみたら、
NULL ただいまログアウト中。
と表示されました。
クッキーは
setcookie("guest", "guest", time()+3153600, "/");
で入れています。
0073nobodyさん
2008/01/12(土) 19:36:47ID:???ハァ?
007468
2008/01/12(土) 19:48:32ID: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になります。
0075nobodyさん
2008/01/12(土) 19:49:16ID:???007668
2008/01/12(土) 19:52:31ID:g6/EhvFhsetcookie("guest", "guest", time()+3153600, "/");
で入れています。
007868
2008/01/12(土) 20:07:26ID:g6/EhvFhA.php部分→「array(1) { ["guest"]=> string(5) "guest" } 」
B.php部分→「NULL」
と表示されます。(同じページに表示されます。)
また、すべてのPHPはフォルダは違えど同じドメイン上に存在しています。
0079nobodyさん
2008/01/12(土) 20:28:02ID:???これからコツコツとPHP勉強するならどの教材がオススメ?
「独習PHP」というのにちょっとひかれているのですが…。
0081nobodyさん
2008/01/12(土) 20:44:35ID:???>>1
>まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
>PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
>◆質問する時の注意
>・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0082nobodyさん
2008/01/12(土) 20:47:18ID:C+S8ANQWHTTP error, got response: HTTP/1.1 404 Not Found
Didn't receive 200 OK from remote server. (HTTP/1.1 404 Not Found)
というエラーが出てしまいます。
これってどうすればいいんですか?
008368
2008/01/12(土) 20:49:49ID:g6/EhvFh同じドメイン上、違うフォルダに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 さくらインターネットです。よろしくお願いします。
0085nobodyさん
2008/01/12(土) 21:02:26ID:???008668
2008/01/12(土) 21:11:51ID:g6/EhvFhなぜなんでしょうか。。。原因わかりません。
今判明したのですが、B.phpを単独で表示させると
array(1) { ["guest"]=> string(5) "guest" }
と表示されるので、phpの記述ミス等は無さそうです。。
0087nobodyさん
2008/01/12(土) 21:23:51ID:???大きく変更があった。ttp://pear.php.net/ を参照。
>>86
>>83にあるコードそのものなら問題は起きない筈。
実際その数行のコードだけで試してみたら動作すると思うよ。
include時に httpから始めてたりしたら笑うな
008883
2008/01/12(土) 21:38:01ID:g6/EhvFh>include時に httpから始めてたりしたら笑うな
そのとおりでした。。解決しました。
皆さんありがとうございました!
0089nobodyさん
2008/01/12(土) 21:38:08ID:C+S8ANQWthx.
とりあえずやってみたんですが、
# 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
というというエラーが・・・・・・
009089
2008/01/12(土) 21:58:02ID:???自己解決しました
0092nobodyさん
2008/01/12(土) 23:26:50ID:???0093nobodyさん
2008/01/13(日) 09:27:43ID:rbyeeIhv�Aecho "f_cate1>>>".$_POST["$f_cate1"]; とやって、
�@の方は
array(21) { ["act"]=> string(6) "修正" ["f_cate1"]=> string(37) "FOODメニューのカテゴリ名1"〜
って中身返すのに、
�Aはf_cate1>>> ってだけで中身返さない
なんで? ちなみにソース見ようとするとキャッシュがクリアされたから再送信しますていう(firefox)
0094nobodyさん
2008/01/13(日) 09:57:05ID:???また、$_POST[$f_cate1] と $_POST["f_cate1"] も違う。
009593
2008/01/13(日) 10:11:54ID:rbyeeIhvありがとうございます、var_dumpをみると、値の引渡し自体は上手くいってると
考えていいんですよね? ただ引き出し方がおかしいだけで…
今までこの程度で詰まったことなかったので逆に戸惑っています
寝ぼけて変なことやってるかなぁ
0096nobodyさん
2008/01/13(日) 10:42:01ID:???http://www.php.net/manual/ja/language.types.string.php
009793
2008/01/13(日) 11:07:41ID:???$_POST["$f_cate1"];じゃなくて.$_POST['f_cate1'];ですね 恥ずかしい…
>>94 >>96 ありがとうございました
0098nobodyさん
2008/01/13(日) 17:24:32ID:0nLyIgyH希望する動作は、キーと値の保持がされつつ、$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);
0099nobodyさん
2008/01/13(日) 17:27:47ID:???0100nobodyさん
2008/01/13(日) 17:52:28ID:???2.女にはちんこが無いのにどうやって小便するのかが謎
3.女にちんこが無いというのは都市伝説で実は股に挟んでるだけじゃないのか?
おながいします
0101nobodyさん
2008/01/13(日) 17:53:07ID:k2tfZ1QQ$hoge = preg_replace('/^[ ]*(.*?)[ ]*$/', '$1', $hoge);
という処理をしています。(全角スペースも除去)
EUC-JPでは問題なく動いていたのですが、UTF-8ではうまくいきません。
具体的には、先頭のひらがなカタカナが化けます。漢字や半角英数は問題ないようです。
あいうえお→・・いうえお
何かよい方法はありますか?
0102nobodyさん
2008/01/13(日) 17:53:58ID:???レスありがとうございます。
array_multisort()を使ってどのように書けば良いかも教えていただいて良いですか?
0104nobodyさん
2008/01/13(日) 17:59:10ID:???preg_replace('/^[ ]*(.*?)[ ]*$/u', '$1', $hoge);
これで。修飾子については
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
を。
0106nobodyさん
2008/01/13(日) 18:03:22ID:???どのような引数を渡せば良いのかが、どうにもイメージ出来ないのです。
よろしければサンプルとしてどのようにするかを見せていただけると、
それを元に理解が出来るかもしれないので助かります。
0107nobodyさん
2008/01/13(日) 18:04:46ID:???サンプル→http://php.net/array_multisort
0110nobodyさん
2008/01/13(日) 18:44:50ID:???(名)スル
内容を細かく吟味しつつ、丁寧に読むこと。熟読。
「古典を―する」
0111nobodyさん
2008/01/13(日) 22:36:50ID:zh5BCzxe前者のメリットは、staticにした方が早い。
名前空間がないので、クラスを名前空間代わりに使ってstaticで呼び出しているだけで関数と差異はない。
Singletonが実装できる。(インスタンスを一つだけに制限できる)
逆にインスタンス化する場合のメリットは、
クラス内でプロパティを共有できる。
複数のオブジェクトが必要な場合、インスタンス化が必須。
自分の中でいくつか考えてみたので、何かフィードバックください。
0112nobodyさん
2008/01/13(日) 22:41:28ID:???hoi
http://www.nextindex.net/java/static.html
0113nobodyさん
2008/01/13(日) 23:03:49ID:zh5BCzxeありがとうございます。staticについてちょっと理解が深まりました。
ウェブアプリだったらユーザーからのリクエストに応じて処理して返すだけだったら、
ほとんどstaticで済む気がするのに、
全体的にstaticが使われるのが少ない気がするんですがなんででしょうか。
0114nobodyさん
2008/01/13(日) 23:07:07ID:???Javaスレいって聞いてきな。
あっちは純粋なオブジェクト指向言語だしいい回答が返ってくると思う。
少し前にJavaメインでやってるPGの知り合いに同じような質問ぶつけてみたが忘れたぜ・・・
0115nobodyさん
2008/01/13(日) 23:36:29ID:???staticで呼び出さないほうが良いよ遅いし
0116nobodyさん
2008/01/13(日) 23:43:20ID:???全てインスタンスにしとけばOK
0117nobodyさん
2008/01/14(月) 00:33:13ID:fNJFgJhzウェブアプリでDBやLOGオブジェクトなんかは全部staticでいいと思うんです。
でも、インスタンス化されている場合も多くてこれは実装が下手なのか何か意味があるのか分からないしだいです。
>>114
やっぱJavaですかね。いってきます。
0118nobodyさん
2008/01/14(月) 00:56:54ID:eVMtNzBzORACLEだとSYSDATE等が使えるのですがMYSQLでは使えないのでしょか?
INSERT INTO TB_TEST
(
C1_NAME,
C2_DATE
)
VALUES
(
'NAME',
date --DATEでも駄目。
)
日時を登録するには何型を設定すれば良いのでしょか?
0120nobodyさん
2008/01/14(月) 01:22:05ID:eVMtNzBzスレチだったかもしれません。これだけ質問させてください。
お願い致します。
実は、NOW()ですと確かに登録は出来るのですが
'2009-11-11'
こういうデータが登録されてしまいます。
私が登録したいのは、年・月・日・時間・分・秒(つまり"sysdate"
も格納したいのです。
※データカラムをDATE型では無く、TIMESTAMP型にすれば良いのでしょうか?
そしてinsert時には"NOW()"では無く、Oracleで言うところの"SYSDATE"に
相当するコマンドを入れなければ行けないかと思いますが、MySqlの場合です
と何になるのでしょか?
0121nobodyさん
2008/01/14(月) 01:27:43ID:???datetime型だと日付と時間
TIMESTAMPだとunixタイムスタンプ
timestampはnullを指定するかその項目を指定しなかったら
insert時に自動で値が入る(更新時にも変わる)
それ以外の場合はmysqlにNOW()って関数があるから
''無しでNOW()って書けば良い
アプリ側の時間に合わせるならphp側でてきとーに整形して
つっこんでやって
0122120
2008/01/14(月) 01:44:20ID:eVMtNzBz詳しい解説をして頂きまして、本当にありがとうございます。
勉強になります。
0123nobodyさん
2008/01/14(月) 12:57:52ID:???募集条件 やる気のある方 PHPやJavaをやったことのある方歓迎(独学可)
面接官 PHPの経験があるってことはWebアプリにたいしてのノウハウはある程度あるのかな?
俺 はい一般人よりはそれなりに
面接官 おkwww採用wwwwwwww研修がんwwwwwばwww
そんなこんなでPHPが好きだったからこの誰でもおkみたいな会社に入ったわけだ
先輩 PHPの案件はないからVB勉強して下さい(本どっさり)
全俺が泣いた
0124nobodyさん
2008/01/14(月) 13:29:47ID:???0125nobodyさん
2008/01/14(月) 13:35:53ID:???こんなんだから業務で使えるPHPエンジニア育たないんだよね
このPHP冷遇の時代を乗り切らないと完全に趣味言語になってしまう
PHPの地位をもっとあげるために
Zendをはじめ開発陣は企業に使ってもらえるようなアイデアや仕様を取り込んでくれないとな・・・
もっともこんな状態なのは日本だけなのかもしれないけど
0126nobodyさん
2008/01/14(月) 13:56:31ID:???こんな国は発展しないよな
0127nobodyさん
2008/01/14(月) 14:01:56ID:eVMtNzBzVB位やれ
俺はこれくらいはマスターしている(業務レベルで)
C#/VB.net/VB6.0/C++/ASP.net(C#・VB.net)/PHP5/
Java/Windwsシェル/Unix-C/Cobole/PL_SQL
0128nobodyさん
2008/01/14(月) 14:02:45ID:???0129nobodyさん
2008/01/14(月) 14:03:50ID:???0130nobodyさん
2008/01/14(月) 14:08:14ID:???知ってるの並べたとかじゃないの?ねえどうなの?www
0131nobodyさん
2008/01/14(月) 14:16:49ID:???0132nobodyさん
2008/01/14(月) 14:29:03ID:eVMtNzBzMySQLなんて書いてないでしょ?
cobolね。
0133nobodyさん
2008/01/14(月) 14:33:26ID:???0134nobodyさん
2008/01/14(月) 14:33:50ID:???0135nobodyさん
2008/01/14(月) 14:34:50ID:eVMtNzBz0136nobodyさん
2008/01/14(月) 14:56:57ID:???0137nobodyさん
2008/01/14(月) 15:05:57ID:???今日はこの辺が
http://pc11.2ch.net/test/read.cgi/php/1197383840/l50
0139nobodyさん
2008/01/14(月) 15:23:53ID:kFFYYs1+ページ全てをデータベースに放り込んで、
そこから当てはまるURLを取得して表示しているのですか?
もっと簡単な方法とかありましたら教えてください。
0141nobodyさん
2008/01/14(月) 15:35:41ID:kFFYYs1+つまり、ページは自動生成ということですか?
ってことは、既に複数のページを作成してしまったから無理かorz
0142nobodyさん
2008/01/14(月) 15:38:47ID:???>ページは自動生成ということですか?
YES。ブログみたいのを思い浮かべれば簡単じゃないかな。
最初からちゃんと設計しないとだめだねえ。
Namazuでもつかっとけばおk
0143nobodyさん
2008/01/14(月) 15:39:32ID:kFFYYs1+やっちまったZE☆
Google様にお世話なります・・・。
0144nobodyさん
2008/01/14(月) 15:41:21ID:???GoogleのAPI使ってもいいと思うけど。
http://code.google.com/apis/ajaxsearch/
0145144
2008/01/14(月) 15:41:53ID:???0146nobodyさん
2008/01/14(月) 15:42:03ID:???0148nobodyさん
2008/01/14(月) 16:04:24ID:HAlmIBpUtplファイルというのが
syntaxerrorで動かない。 linuxのapacheだと動くのだろうか?
ちょっとぐぐったがでてこない。
www.itmedia.co.jp/enterprise/0401/23/epn01_5.html
↑ここが参照元
tplファイルをphpに関連つけるには?
php5.2です。
0149nobodyさん
2008/01/14(月) 16:15:02ID:???includeで読み込まれて使われてるとかだろ
つうか当たり前の話だが拡張子phpにしないとphpとして動作しない
anhttpdとかマイナーなの使ってないでapacheにして下さい
tplをphpとして動かしたいというならapacheでそういう設定にすればいいんじゃね?
0151nobodyさん
2008/01/14(月) 18:01:11ID:hiecVsD+「【PHP】下らねぇ質問はここに書き込みやがれ 62」という文字列があった場合
自動的に「【PHP】下らねぇ質問はここに書き込みや....」という感じに文字列を省略させたいのですが、
どうしたらよいでしょうか?
0154nobodyさん
2008/01/14(月) 18:34:26ID:kFFYYs1+PHPで吐き出したXMLを読み込もうとするとこのようなエラーが出てしまいます。
YahooのRSSを真似たので、中身は同じだと思うのですが、なぜこんなエラーが出るのでしょうか
0155nobodyさん
2008/01/14(月) 18:35:43ID:hiecVsD+ありがとうございます。できました。
0156nobodyさん
2008/01/14(月) 18:36:16ID:kFFYYs1+サーセン
0157nobodyさん
2008/01/14(月) 18:45:35ID:???http://jp.php.net/manual/ja/function.mb-strimwidth.php
専用の関数があるよー。
0158nobodyさん
2008/01/14(月) 20:18:32ID:???0160nobodyさん
2008/01/14(月) 23:07:59ID:???文字列切り取りもmb_substerよりこっちのがいいよ
0161nobodyさん
2008/01/14(月) 23:08:26ID:???0162nobodyさん
2008/01/15(火) 00:20:26ID:Yg4ty3XIPHPの特徴を学びながら、コードを書いていきたいなと思っています。
以下のサイトで、PHPのメリットを読んだのですが、Perlとの違いで
大きな部分はイメージやPDFファイルが作れたりするところですよね。
http://www.php.net/manual/ja/intro-whatcando.php
まずは、Perlで自作した掲示板をPHPに移植するところから
やってみようと思ったのですが、この移植の場合は、特にメリットや
書き方のスタイルに違いは無いと思ったのですが、それであっているのでしょうか?
処理内容
・ユーザの書き込みをログファイルに書き込む。
・ログファイルの内容をhtml出力する。
・検索をし、該当するデータのみを表示させる。
プログラミングの全体構成
・POSTのデータを取得し、処理を行う関数を振り分ける。
・各種パラメータはグローバル変数で設定する。
0166nobodyさん
2008/01/15(火) 10:31:18ID:???>大きな部分はイメージやPDFファイルが作れたりするところですよね。
Perlやったことないから知らないけど、なくても自作すれば作れるようになるでしょ。(大変そうだけど)
Perlって構文が特殊だから少し戸惑うだろうけど慣れればほぼ一緒。
書き方のスタイルは少し違ってくるだろうけど、大きなメリットは別にないんじゃない?
強いて言うなら小規模の物ならPerl/CGIと比べてパフォーマンス面で優れてるぐらいかな。
最近のPC事情を考えるとその辺は割りとどうでもいいような気はするけどね。
それよりDB使った掲示板にこの際移行してみたら?
0167nobodyさん
2008/01/15(火) 10:47:34ID:9YYFPVXqShift_JIS⇔sjis
EUC-JP⇔ujis
のような相互変換をしてくれる関数とかありませんか?
0168nobodyさん
2008/01/15(火) 13:07:16ID:SIMemfh4<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ファイルの文字コードを変更して保存しても意味がないようでした。
よろしくお願いします。
0169nobodyさん
2008/01/15(火) 13:22:57ID:???文字コードじゃなく、urlencodeされた状態のままになってる。
普通は$_POSTで取得したときに勝手にデコードされてるはずなんだが・・・
0170168
2008/01/15(火) 13:48:56ID:SIMemfh4urldecode ($test);
を使ってデコードすることで解決しました。
処理を掲示板に組み込むので、全ての変数にこれを入れておきたいと思います。
ありがとうございました。
0171nobodyさん
2008/01/15(火) 14:06:19ID:???preg_replace( array( '/UTF-8/', '/Shift_JIS/', '/EUC-JP/' ), array( 'utf8', 'sjis', 'ujis' ), $string );
0172nobodyさん
2008/01/15(火) 14:07:04ID:???0173nobodyさん
2008/01/15(火) 14:08:09ID:9YYFPVXqありがとうございます。
専用の関数はないのですね。
自分で作ってみます。
0174nobodyさん
2008/01/15(火) 15:28:05ID:???0175nobodyさん
2008/01/15(火) 15:44:28ID:???0176nobodyさん
2008/01/15(火) 16:05:50ID:9YYFPVXq0177nobodyさん
2008/01/15(火) 17:36:36ID:WIMu7eDHメールフォーム作ってその内容をメールで通知するとすると、
やはりメールサーバが必要になるんですか?
そこまでフォローしてくれる関数とかはないの?
0179nobodyさん
2008/01/15(火) 17:39:51ID:???0180177
2008/01/15(火) 18:10:26ID:WIMu7eDH0181nobodyさん
2008/01/15(火) 18:17:27ID:???PHPで、入力結果をcsvに結果を書き出すアンケートプログラムを作りたいのですが、
肝心のPHPの部分が分かりません。分かる方いたらお願いします。
HTTP側の画像はこれです。
ttp://uproda11.2ch-library.com/src/1159458.jpg
0183nobodyさん
2008/01/15(火) 18:19:24ID:???0185nobodyさん
2008/01/15(火) 18:44:12ID:???そんなんじゃ3万くれたらやってあげよう。とか言われるぜ。
0187nobodyさん
2008/01/15(火) 19:48:43ID:S1LM8YrJまたはダウンロードする方法があれば教えてください!
↓このサイトが、どうやってRSSを読み込んで表示させているのか知りたいので・・・
ttp://owata-net.com/
0188nobodyさん
2008/01/15(火) 19:58:06ID:???0189nobodyさん
2008/01/15(火) 20:07:50ID:???>サイトで使われているPHPのソースを見る方法
出来るわけない。出来たとしたらそれはセキュリティホール。
DBの接続情報なんか書いてるものが外部から見えたら大変だろ。
RSSなんてxmlなんだから専用の関数使うか、
構文解析して表示してるだけに過ぎない。
0190nobodyさん
2008/01/15(火) 20:13:45ID:???>>187
ソース公開してなきゃ無理。
ソース抜けたらセキュリティなんかあったもんじゃねえでしょ。
RSS読込んで表示させたいだけなら、そういうライブラリやフレームワーク探すのが手軽かな。
php5だとZend Frameworkのとか
0191nobodyさん
2008/01/15(火) 20:14:13ID:???0192nobodyさん
2008/01/15(火) 20:33:19ID:S1LM8YrJ>>190
なるほど・・・回答ありがとうございます!
初心者なのでソースを見て研究しようかと思ったのですが
PHPソースって見れないものなのですね。
0193nobodyさん
2008/01/15(火) 21:15:27ID:???0194nobodyさん
2008/01/16(水) 00:02:57ID:UPc0pgTuトランザクション処理増やすとpg_execute()でこけちゃうんだよね。
もしプリペアとトランザクションが併用できないなら教えてください。
0195nobodyさん
2008/01/16(水) 00:35:09ID:???0196nobodyさん
2008/01/16(水) 01:21:17ID:fdtlATv5例えば、PerlだとActivePerl(とPostgreSQLのWindows版)みたいなものです。
開発しながら動作確認をレンタルサーバでやると迷惑がかかりますが、
そのサーバとは別にLinuxでマシンを組むしかないのかの確認をしたくて
こちらで質問してみました。
0197nobodyさん
2008/01/16(水) 01:29:27ID:???0198nobodyさん
2008/01/16(水) 01:31:05ID:???0200nobodyさん
2008/01/16(水) 01:37:24ID:fdtlATv5すばやい回答ありがとうございました。
XAMPPとか準備されてるのですね。そちらをもう少し調べてやってみます。
0201nobodyさん
2008/01/16(水) 01:38:44ID:???AN HTTPDやウィンドウズ版のapache
というサーバーソフトがある。
これ入れたらローカルPCで動作する。
0203nobodyさん
2008/01/16(水) 03:02:16ID:???0204nobodyさん
2008/01/16(水) 03:07:26ID:???ゴミが増えるだけだしね。
テスト用の別マシンかVMでやるなら話は別だけど。
0205nobodyさん
2008/01/16(水) 07:47:11ID:???Windows版のApacheやMySQLはサービスとして動くので、
一度インストールすれば後は手間がかからない。
ローカルマシンでテスト後、本番サーバーに転送というのが
普通の開発方法だと思うが。
0206nobodyさん
2008/01/16(水) 08:48:57ID:???0207nobodyさん
2008/01/16(水) 10:18:31ID:???Windowsでやりたくないならそれにインスコすればいいのに
変な日本語になってるけどキニシナイでくれ
0208nobodyさん
2008/01/16(水) 10:56:03ID:zeEvpiQl0209nobodyさん
2008/01/16(水) 11:19:50ID:jNLvN05l演算子なら比較演算子でなくても何でもOKですよ。
型を含めた同一性を比較するなら===でOK
0210nobodyさん
2008/01/16(水) 11:20:38ID:???http://jp.php.net/manual/ja/control-structures.switch.php
===演算子以外では全て緩やかな比較のなはず。strictオプションがある関数もあるけど。
0211nobodyさん
2008/01/16(水) 11:22:58ID:jNLvN05l0212208
2008/01/16(水) 11:59:52ID:zeEvpiQlswitchのcase x:の比較のことです。
有難う御座いました。
0213nobodyさん
2008/01/16(水) 17:26:39ID:zeEvpiQlTest();
}
このclassの定義の仕方ってどういう意味なのでしょうか?
普段は
class hogehoge{
function 〜
}
のようにするのですが・・・
0214nobodyさん
2008/01/16(水) 17:35:15ID:???0215nobodyさん
2008/01/16(水) 17:40:14ID:???>このclassの定義の仕方ってどういう意味なのでしょうか?
何を聞きたいの?extendsを聞きたいのかメソッドの書き方を聞きたいのかわからん
0216nobodyさん
2008/01/16(水) 17:42:40ID:???0217nobodyさん
2008/01/16(水) 17:54:30ID:???継承される側をスーパークラスと呼んで、される側をサブクラスと呼ぶ。
class B extends A
の場合BがAのサブクラスでAがスーパークラス。
どういうときに使うかというとスーパークラスのメソッドをオーバーライドして使う時とかに使う。
なんていっても理解できないと思うので、
OOP勉強したいならJavaの入門書でも読むといいよ。
0218nobodyさん
2008/01/16(水) 17:58:58ID:???こんな書き方しないっていったのね
interfaceやabstractでも修飾子は必要だし
コンストラクタやメソッドもfunctionつけて中身ちゃんと書かないといけないし
0219nobodyさん
2008/01/16(水) 18:07:16ID:???記述はどちらも同じなのですが……
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は存在します。
なぜエラーが出るのか分かる方がいましたら返答お願いします。
0221nobodyさん
2008/01/16(水) 18:12:03ID:???0222nobodyさん
2008/01/16(水) 18:12:35ID:???test.txtのパーミッションを666にする。
0223nobodyさん
2008/01/16(水) 18:14:58ID:???アップロード時に手動でパーミッション変えるか、
初期設定用みたいなPHP用意してchmodで変えるかどっちがいいの?
つうかchmodってセーフモードじゃ使えないから前者でやってるんだけど。
0224nobodyさん
2008/01/16(水) 18:18:51ID:???個人的には、ファイルがなければ作成・パーミッション設定のがいいかと思う
いや、俺の独断と偏見だから参考にしないほうがいいかもしれんが
0225nobodyさん
2008/01/16(水) 18:52:58ID:???0226nobodyさん
2008/01/16(水) 20:16:57ID:zeEvpiQlなんとなくだけど理解できました〜。
0227nobodyさん
2008/01/16(水) 20:34:24ID:???include_path = ".;C:\xampp\php\PEAR\;C:\xampp\php\Smarty\"
php.iniだと成功するんだが
parse_ini_fileの場合、""内の「;」がコメント扱いになってしまう・・・
0228nobodyさん
2008/01/16(水) 20:55:39ID:???0229nobodyさん
2008/01/16(水) 21:02:32ID:???また可能であればどのようにすればよいのでしょうか?
0230nobodyさん
2008/01/16(水) 21:15:03ID:???0231nobodyさん
2008/01/16(水) 21:16:34ID:???それよりもwebサーバの(拡張)機能を使った方がいいんじゃないかな。
apacheならmod_bwshareとか。
0232nobodyさん
2008/01/16(水) 21:37:18ID:???0233nobodyさん
2008/01/16(水) 21:45:34ID:???0234229
2008/01/16(水) 21:48:38ID:???一般的な無料のレンタルWEB鯖とかの話です
そういう場合はアパッチの設定なんてできないですよね
クライアント一人あたりのDL速度を調整するような関数なりプログラムなんかはないということでしょうか
0235nobodyさん
2008/01/16(水) 21:59:12ID:???0236nobodyさん
2008/01/16(水) 22:09:56ID:???挙句の果てにタイムアウトで鯖から接続切られたりとか。
一人の人に接続(帯域)を占有されたくないってのが元々の目的なら、
一定時間内に同一IPの人がダウンロードできる数を制限する、とかの方が簡単でいいんじゃないかな。
そういうのなら誰かが作ったのが配布サイトに転がってたりするんじゃないかな。
てか、別にPHPじゃなくてもよくね?
0237nobodyさん
2008/01/16(水) 22:10:19ID:???レベルひっくw
低脳な、学歴のないやつばっかだなここ・・・
0238nobodyさん
2008/01/16(水) 22:18:04ID:???0239nobodyさん
2008/01/16(水) 22:22:36ID:???0240nobodyさん
2008/01/16(水) 23:24:15ID:???0241nobodyさん
2008/01/17(木) 00:05:52ID:???0242nobodyさん
2008/01/17(木) 00:15:23ID:???0244nobodyさん
2008/01/17(木) 00:59:14ID:???0245nobodyさん
2008/01/17(木) 01:02:00ID:ckn0RAb7で、アップしてサイズ変更・保存というプロセスは最後まで上手くいってるんですが、
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」は
存在してるし、だからこそちゃんとリサイズと保存まで出来てるのではと思います
同じようなエラー(少なくとも見た目の動作はちゃんとしてるのにエラーがでる)を
経験した方いないですか? どのように解決しました?
また、このエラー?をログに書き出ないようにする方法はないでしょうか?
よろしくお願いします
0246nobodyさん
2008/01/17(木) 05:19:51ID:???いやエラーでてるんだったら結果が正しく見えてようが、とにかく該当箇所はおかしいんだろ。
出来てるのではと思います、とかじゃなくて、エラーが出力される以上まずはコードを疑ってかかれよ。
普通に使ってる分にはPHP自体がバグってることはそうそうねーから。
0247nobodyさん
2008/01/17(木) 08:28:29ID:???「PHPからの警告!/../../test/img/user/pic3.jpgがありません」
って言われているのに「私は/../../test/img/user/pic3.jpgのリサイズと保存は出来ている
と思います」と頑なに主張する245が可愛い
0249nobodyさん
2008/01/17(木) 08:55:04ID:???0250nobodyさん
2008/01/17(木) 09:12:48ID:O85eEBCtvar_dump($db);
NULLすら表示されませんorz
エラーも出ないし(他のエラーは出ます、error_reporting = 2047、display_error = On)
これのあとにechoなどしても表示されません・・・。
まじ簡便orz
どうすれば表示されるのでしょうか
0251nobodyさん
2008/01/17(木) 09:21:06ID:???die($db->getMessage());
}
0252nobodyさん
2008/01/17(木) 09:30:00ID:???ある変数をセッションに登録するときに、
$_SESSION['hoge'] = base64_encode(serialize($hoge));
とやって、参照するときには
$hoge = unserialize(base64_decode($_SESSION['hoge']));
としてました。
これって、いったい何のメリットがあるんでしょうか?
配列とかオブジェクトをセッションに登録できる、ってことですか?
0253nobodyさん
2008/01/17(木) 09:31:46ID:???http://jp.php.net/serialize
0254nobodyさん
2008/01/17(木) 10:16:24ID:O85eEBCtそれでも何も表示されないです。
0255nobodyさん
2008/01/17(木) 10:40:10ID:O85eEBCtautoExecuteでクエリは実行したのにDBに格納されてない・・・。
PEAR::DBマジで死ねヽ(`Д´ )ノ
0260258
2008/01/17(木) 13:05:00ID:O85eEBCt0261nobodyさん
2008/01/17(木) 13:57:20ID:HX+GAcfV画像なのに、gifとかjpgではなく
http://www.datadepot.org/fr/glosp.php
みたいなphpファイルになってたんですけど、これって何ですかね?
どうやってphpで画像を表示させてるんでしょうか?
また、わざわざphpで表示させるメリットは何かあるんですかね?
0262nobodyさん
2008/01/17(木) 14:08:20ID:???0264261
2008/01/17(木) 14:26:40ID:HX+GAcfV何のメリットがあるのかな?
0265nobodyさん
2008/01/17(木) 14:26:59ID:???だからPHPを通して画像が出力される
0266nobodyさん
2008/01/17(木) 14:31:39ID:???相場とかリアルタイムに動くじゃん
そんなの固定イメージ作って手動更新なんてしないでしょ
リアルタイムに動く相場のデータとかを別にとっておいて
そのデータをもとに動的にグラフを生成してるってだけ
0267261
2008/01/17(木) 14:43:08ID:HX+GAcfVたぶん元画像のおいてあるサイトはリファラー監視していて
<IMG src="http://○○○.jpg">のような単純な直リンクは弾いてると思うんですが、
php経由の直リンクならすり抜けちゃうのかなと思いました。
また以前、phpは動的なプログラム?だからphpによる直リンクは著作権に触れない?みたいな
変な情報聞いたことがあって、それでこのサイトはphpで直リンクやってるのかな?と思いました。
0268nobodyさん
2008/01/17(木) 14:44:39ID:???0269nobodyさん
2008/01/17(木) 14:49:11ID:???何を言ってるかよくわからんが難しいこと考えすぎ。
どうみてもGDでグラフ出力してるだけだろ。
JpGraphとかその辺使ってみるといい。
出力するときヘッダでmimeタイプ送ればphpの拡張子でイメージ表示される。
0270nobodyさん
2008/01/17(木) 14:50:43ID:???MySQLの時代キター?
PHPもSunに買収されてしまえばいいのに。
0272nobodyさん
2008/01/17(木) 16:07:39ID:???これ作りたい
loop(5){
〜〜5回繰り返し処理〜〜
}
0273nobodyさん
2008/01/17(木) 16:08:56ID:???0274nobodyさん
2008/01/17(木) 17:02:18ID:FPY6k7hv0278274
2008/01/17(木) 17:33:42ID:FPY6k7hv0279nobodyさん
2008/01/17(木) 17:34:08ID:???0280nobodyさん
2008/01/17(木) 17:34:21ID:???$$kより
${$k}のが好きだわ
0281nobodyさん
2008/01/17(木) 18:21:16ID:???$kk = $v;
}
なら、extractとやりたいことは一緒かな?
0282nobodyさん
2008/01/17(木) 18:34:14ID:???0283nobodyさん
2008/01/17(木) 19:14:17ID:???0284nobodyさん
2008/01/17(木) 20:09:40ID:???ディレクターとかデザイナっぽい。
0285nobodyさん
2008/01/17(木) 20:12:14ID:???0286nobodyさん
2008/01/17(木) 21:37:21ID:???User というクラスと、 なんか適当なオブジェクト(例えば Item とか) があたとするよな。
それで、このItemはUserによって編集できたりできなかったりするわけだ。
その場合、この権限のチェックはどのクラスにどういった感じで実装するのがいい?
class Item
{
function canEdit(User $user) {
// なんかの処理
return true;
}
}
みたいな感じにするのがいいのか、User クラスに実装するのがいいのか、それとも別のクラスを作成したほうがいいのか。
おしえてガリレオ!
0287nobodyさん
2008/01/17(木) 22:04:08ID:???0288nobodyさん
2008/01/17(木) 22:29:10ID:???クラスを作るときに最初に、
class doHoge{
var $hoge;
var $hogehoge;
}
みたいに書いてるときあるけど、これってメンバのスコープとかデフォルト値を明示的に宣言してるだけであって、
デフォルトのスコープであれば、この宣言は必要ない?
0289nobodyさん
2008/01/17(木) 22:39:44ID:???0290286
2008/01/17(木) 23:05:26ID:???すまん、まじでどう実装するのがよいかわかんねーんだ。
0292nobodyさん
2008/01/17(木) 23:14:03ID:???0293286
2008/01/17(木) 23:59:54ID:5odDHjy8えーと、ユーザーがItemのデータを編集したり、削除したりする権限です。
Itemは例なので、ブログのエントリーでも、商品でも何でもいいんだけど、
それを編集できる人が設定されていて、それをチェックするロジックが必要なんです。
それをどこに実装するのがスマートっつーか定石っつーかその辺を知りたいんですよ。
0295nobodyさん
2008/01/18(金) 01:12:48ID:3giek1Ynたまに
「現在の閲覧者は***人です。」
といったサイトがありますがあれはどうやって行っているのでしょか?
サイトにアクセスがされたら、各クライアント毎にセッションを張り
その数をカウントし、一定間隔でクライアント側で再アクセスを
する事により動的に表示しているのでしょか?
0296nobodyさん
2008/01/18(金) 01:24:05ID:???画像を保存してあるサーバーはPHP5.2.5、受け取りはPHP4.4.7です。
受け取りの方でPOSTされたりしたら、imagecreatejpegやらで画像ファイルを取得して、それを自分のサーバーに保存するという手段もありますが、
今回は$_FILESでうけとって処理をしたいのです。
よろしくお願いします。
0297nobodyさん
2008/01/18(金) 01:24:37ID:???>えーと、ユーザーがItemのデータを編集したり、削除したりする権限です。
あほか!そのくらいはわかるわ。
どういう風にシステムで持っているわけ?
むしろ誰(どのオブジェクト)がその権限を持っているわけ?
っていうか自分の書いたレスを100回読んだらどこに実装したらいいか見えてくるんちゃう?
例えば、
コンビニでジュースを買うのにそれを買えるかどうかは
ジュースがわかるわけでも店員がわかるわけでもなく
本人が金持ってるかどうか確認したらええだけやん。
0299nobodyさん
2008/01/18(金) 02:03:08ID:???ページが遷移するまで普通は変わらないんじゃない?
アクセスした時点での閲覧者数を表示するのが一般的なんじゃないかと。
もしリアルタイムでやっているのならAjax使ってやるんじゃないかな。
0300296
2008/01/18(金) 02:18:49ID:Jr2FhrEe0301nobodyさん
2008/01/18(金) 03:10:49ID:3giek1Ynそうですね。確かに。。。
>アクセスした時点での閲覧者数を表示するのが一般的なんじゃないかと。
この「閲覧者数」はどの様にして集計しているのでしょか?
私が思いつく一つの方法として10分間の間のアクセス数を取得し
「現在の閲覧者数」にしようかと思っています。
が、しかしこの方法ですとスマートで無い気がします。
何か良い方法はありますでしょか?
0302nobodyさん
2008/01/18(金) 03:21:13ID:???0305301
2008/01/18(金) 03:31:42ID:3giek1Ynありがとうございます。
明日(今日か)また試してみようと思います。
今日はもう寝ます。おやすみなさい^^;
0306nobodyさん
2008/01/18(金) 04:04:46ID:???で実行しようとしたら、ソースが表示されて終わってしまいます。
実行権限あたえてるのに。
助けて!
0307nobodyさん
2008/01/18(金) 04:12:47ID:???httpd.confとかいじれるの?
弄れるなら
AddHandler php5-script .php
AddType text/html .php
の追加とか
0308296
2008/01/18(金) 08:43:16ID:Jr2FhrEePEAR使えばできるんですね。
方法がまったく思い浮かずにできないのかと思っていました。
ソースのぞいて勉強します。 ありがとうございました。
0309nobodyさん
2008/01/18(金) 10:33:12ID:JPL9CEzOという文字列から、
"A"のある場所を取得する方法はありませんでしょうか?
1つだけ取得するのではなく、複数ある場合は複数取得したいのです。
0310nobodyさん
2008/01/18(金) 11:00:08ID:???$a = split("A",$text);
とやって、文字列を数える方法とか。
もっとスマートな方法がありそうな気もするけれど。。。
0311nobodyさん
2008/01/18(金) 11:05:12ID:???$i = strlen($text);
$a = strpos($text, 'A', 0);
$i > $a である限り以下の処理をする。
$a = strpos($text, 'A', $a);
0312nobodyさん
2008/01/18(金) 11:09:39ID:???$ary = split('A',$text);
$cnt = count($ary);
0313nobodyさん
2008/01/18(金) 11:11:34ID:JPL9CEzOありがとうございます。
そんな方法があったのですか・・・
0314nobodyさん
2008/01/18(金) 11:35:21ID:???0315nobodyさん
2008/01/18(金) 11:42:35ID:JPL9CEzOhttp://viprog.so.land.to/show.php?id=61
キーワードを全角半角など色々なパターンにして配列で返すのですが・・・。
使用目的:データベースで検索するときにパターン化してORで繋げると類似検索みたいになる
>>214
function v(){ return "piece"; }
echo v('A');
0316nobodyさん
2008/01/18(金) 11:50:14ID:???吹いた
0317nobodyさん
2008/01/18(金) 12:02:54ID:???0318nobodyさん
2008/01/18(金) 12:08:41ID:TUomNt9J継承したときにスーパークラスのフィールドを参照する方法を教えてください。
$superとかしてみたのですが無理っぽいので。
0320nobodyさん
2008/01/18(金) 13:05:01ID:TUomNt9J失礼。環境はPHP5.25です。
0321nobodyさん
2008/01/18(金) 13:52:07ID:???0322nobodyさん
2008/01/18(金) 14:07:32ID:???<?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バージョンや区切り文字、エラーの処理などについては
指定されていなかったので、こちらで勝手に解釈した。
0324nobodyさん
2008/01/18(金) 14:14:38ID:???0325nobodyさん
2008/01/18(金) 14:26:10ID:???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
0327nobodyさん
2008/01/18(金) 14:34:59ID:???0328nobodyさん
2008/01/18(金) 15:16:14ID:JPL9CEzOsimplexml_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)
0329nobodyさん
2008/01/18(金) 15:16:54ID:JPL9CEzO<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>
0330nobodyさん
2008/01/18(金) 16:52:19ID:???くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
0331質問
2008/01/18(金) 16:53:39ID:e2DNo7Zr送信時にmail()関数を使って送信する
という使い方をしています。
しかしメール送信時にmail()関数を使うと
送信アドレスの間違いなどで不達の時のエラーメッセージが
鯖管のアノニマス@hoge.comに逝ってしまい確認が取れません。
これを回避するため素直にsmtpなどで送信したいのですが
どうしたらいいのでしょうか?
0332nobodyさん
2008/01/18(金) 16:54:52ID:JPL9CEzO・URLで接続失敗
・外部リソース"URL"の読み込み失敗
エラーが分かっても原因がわからないと意味ないです
0333nobodyさん
2008/01/18(金) 17:13:03ID:???$q5 = ereg_replace(",", "、", $q5);
$q5 = ereg_replace("\r|\n", "<br>", $q5);
これで問題ないでしょ?あとは、以下の機能をつけるくらいの話でしょ。
・リファラを見てはじく。
・フォームをhtmlからphpに変えて、hiddenにランダムな数値を入れておいて確認する。
・IPアドレスも登録して、一生涯に一度しか投稿できなくする。
他にあったらお願いします。
0337331
2008/01/18(金) 18:04:41ID:e2DNo7Zr即レスありがとうございます。
それも考えたのですが
この際送信メールそのものも
メールサーバに保存しておければいいかな
と考えまして質問してみました。
0338nobodyさん
2008/01/18(金) 18:56:28ID:???ヽ'::':/
}:::{
|:::l
r:ャ l:::|
l:(.ノ:::l
,.r:::''::::::::::::::)
.〈;;;:::::::::::::::゛:i,,__,〃
/~:::y'''::::-:::〈ー‐’
かぶと虫さんがこのスレに遊びに来ました。
0339nobodyさん
2008/01/18(金) 19:10:24ID:???スクリプト内から呼び出すもんだと思ってたわ
もう、フレームワーク自体に組み立ててしまうのか・・・。
0340nobodyさん
2008/01/18(金) 19:16:30ID:???0342nobodyさん
2008/01/18(金) 19:24:05ID:UtEgGG7xやりたい事としては、whoisの実行結果を取得したいのですが、
execを使う以外に実現できる方法はありますか?
よろしくおねがいします。
0343nobodyさん
2008/01/18(金) 19:30:02ID:???0344nobodyさん
2008/01/18(金) 20:06:58ID:QH3r72PN書き込みを出来るようになっています。
それで、たとえばスケジューラのDBテーブルへの書き込みを会員領域以外からは
いっさい受け付けなくすることはできるでしょうか? ディレクトリ指定というか、、
もし出来たらアドバイスお願いします よろしくお願いします
あと、SQLインジェクション対策についてですが、
たとえばプルダウンで時間選択するとき、0〜23までの値が入るのは確定してると
思いますが、このパラメータにも半角チェックや最大値チェックすべきなのか…?
主義とやる気の問題だとは思いますが、皆さんそこまでやってますか?
0345nobodyさん
2008/01/18(金) 20:51:03ID:???0348nobodyさん
2008/01/18(金) 20:58:14ID:???0350nobodyさん
2008/01/18(金) 21:40:53ID:emyOBJ8O1つ目のサーバから、2つ目のサーバへテキストファイルの書き込みをするPHPスクリプトを作りたくて
ぐぐったり書籍を見て調べました。
ですが、どう書けばよいのかがわかりません。
プロの方には初心的な質問で恐縮ですが
参考になるスクリプトか、ページを教えていただけませんか?よろしくお願いします。
0351nobodyさん
2008/01/18(金) 21:45:33ID:???web制作版で依頼してきなさい
0352nobodyさん
2008/01/18(金) 21:48:43ID:???リモートファイルの更新は技術的には可能。
0354350
2008/01/18(金) 21:57:51ID:???0355nobodyさん
2008/01/18(金) 22:07:12ID:???0356nobodyさん
2008/01/18(金) 22:10:34ID:emyOBJ8O>351
PHPについての質問だったのでこちらに書き込みしました。
プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
>352
はい、用途としては2つ目のサーバは友人にもFTPのユーザとパスワードを与えて
使ってもいいよと言って友人専用のディレクトリを使わせています。(サーバ屋の規約範囲内でです)
私が元々使っていたサーバはPHP4に対応していまして、2つ目のサーバはPHP5に対応しています。
ですので、丸ごと引越ししたかったのですが、なぜだか2つ目のサーバでPHPのスクリプトが動かなかったので
丸ごとの引越しを断念して、1つ目のサーバで使っているものはそのままのサーバで使っています。(お気に入りにいれているので使い勝手としてはあまり気になりません)
そこで、私が使っているプログラムの機能で(ただの掲示板なのですが)
私の方で書き換えたデータを、友人のページ(これも掲示板みたいなやつで2つ目のサーバにあります)にも
表示させてよと言われたので、>352さんの仰るリモートファイルの更新というものをしたいと考えています。
1つ目のサーバ →→ 2つ目のサーバ
という形でテキストファイルを更新させることで内容を同期させたと思っています。
2つ目のサーバ →→ 1つ目のサーバ
という形での内容の同期(読み込み?)でもいいのですが、正直どちらの形が良いのか、
初心者なために判断がつかないのが現状です。
すみません、長文になってしまいました。
なんか分からないところがあったら指摘してください。追加で説明をしたいと思います。
よろしくおねがいします。
0357nobodyさん
2008/01/18(金) 22:11:50ID:???> プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
> プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
( ゚д゚ )
0358nobodyさん
2008/01/18(金) 22:20:06ID:emyOBJ8O>353
ほとんど個人の用途なのですが、基本的に掲示板とかなのでテキストファイルもありますが
少しですが画像もあります。
2つ目のサーバを貸している友人も含め(数人ですが皆仲間ウチです)、元々はこの掲示板を使って備忘録がわりにしたりしていました。
1つ目のサーバの要領が50M程度だったので、流石に数人分の記録でも溢れてしまいました。
>354
さすがにポエムは恥ずかしいのでアップロードできません。
(隠れて書いたりもしていません)
>355
>PHPからftpで接続できるから、それでファイル開いて更新できるよ。
!?????????
すみません、ftpとはFFFTPのことですか?
FFFTPは使っているのですが、PHPとの連携ができるのですか!?
なんか解釈が間違っていたらすみません...
0359nobodyさん
2008/01/18(金) 22:20:52ID:???0360nobodyさん
2008/01/18(金) 22:21:26ID:???0361nobodyさん
2008/01/18(金) 22:23:51ID:emyOBJ8Oすみません、なにか変なことを書いたでしょうか(>_<)???
【PHP】下らねぇ質問はここに書き込みやがれ 62
とタイトルに書いてあったので...
私にとって難しい悩みでも、プロの方にはくだらないのかなぁと...
0362nobodyさん
2008/01/18(金) 22:34:46ID:???0363nobodyさん
2008/01/18(金) 22:37:12ID:???とりあえず、テンプレ&マニュアル読んだ?
つ http://jp2.php.net/manual/ja/features.remote-files.php
ここあたり読めば幸せになれるんじゃない?
0364nobodyさん
2008/01/18(金) 22:37:43ID:???0365nobodyさん
2008/01/18(金) 22:42:49ID:???練り餌はもっと錬らなきゃ。
0366nobodyさん
2008/01/18(金) 22:56:37ID:emyOBJ8O罠とはなんでしょうか?
>360
荒れるのであまりそのようなことは...
>362
ぐぐってみます。ありがとうございます。
>363
マニュアルは見てみましたが、見当違いのところを見ていたのかもしれません。
参考になりそうな感じがしますので、見てみたいと思います。
ありがとうございました。
>364
...
>365
釣りじゃないです↓
0367nobodyさん
2008/01/18(金) 22:57:44ID:???0368nobodyさん
2008/01/18(金) 23:04:14ID:???0369nobodyさん
2008/01/18(金) 23:10:29ID:???構うだけ博之の思う壺だよ
0370nobodyさん
2008/01/18(金) 23:14:50ID:???0371nobodyさん
2008/01/18(金) 23:27:28ID:???0372nobodyさん
2008/01/18(金) 23:56:31ID:pg2V70jWある掲示板はPHPファイルが一つのみ
ある掲示板はaction,view,resなどに色んなphpファイルがあり
その下にもサブディレクトリがありかなり複雑になってる。
ただし、一つ一つのスクリプトは小さい。
これってどうしてこういう違いになってるんだろう?
何か、開発してる人毎に開発方法が違うんだろうか?
phpspot.net/php/pgPHP%81%95CSS%8Cf%8E%A6%94%C2.html
↑この掲示板はファイルが多く理解できない。
何か開発するに至って参考となるものありますか?
本はマンモス本、サンプル集等いくつか買い集めたが
今ひとつ掴みきれない。
ネックの一つは開発したときのデバック方法。
サイトはPHP4のソースが圧倒的に多いのだが
漏れのPHP5の環境で動かない、場合によっては更にエラー番号も返さない。
みんなどうやって開発してるのだろう?
0373nobodyさん
2008/01/19(土) 00:14:15ID:???0374nobodyさん
2008/01/19(土) 00:16:31ID:???逆に全角じゃないと見にくいからダメだというヤシもいるんだぞ。
問題ないなら、変なこだわり持つな。
心の病気になるぞ。
0375nobodyさん
2008/01/19(土) 00:17:37ID:???0376nobodyさん
2008/01/19(土) 00:18:52ID:???0377nobodyさん
2008/01/19(土) 00:21:32ID:???PHPはご存知のように一つのファイルに詰め込むことも
いくつかのファイルに分割することもできる。
ただ一つのファイルにすべてを詰め込むと、どの箇所でどの処理をしているかがわかりにくくなることが多い。
ということで通常は機能ごとにファイルを分けたり、クラスごとに分けたりする。
PHP5で動くようにしたらええやん。
デバッグ中はエラーも表示するようにする。
詳細は>>1
0379372
2008/01/19(土) 00:32:21ID:uG/K5st/わかりました。
特に開発環境とかが各自で違うとかではないという事ですかね。
(理解できないのは己の頭が悪い、知識がないとかのの問題なのだろうか)
デバックの仕方とかもよくわからんけど
もうちょっと勉強して出直します。
0380nobodyさん
2008/01/19(土) 00:40:40ID:???0381nobodyさん
2008/01/19(土) 00:53:48ID:???0382381
2008/01/19(土) 00:54:18ID:FuloTUhnよろしくお願いします
0383nobodyさん
2008/01/19(土) 01:01:29ID:???http://jp.php.net/manual/ja/function.gettype.php
http://jp.php.net/manual/ja/function.get-class.php
ほい。
0384nobodyさん
2008/01/19(土) 01:25:50ID:???0385381
2008/01/19(土) 01:37:05ID:FuloTUhnありがとう 助かりました
0386nobodyさん
2008/01/19(土) 02:27:23ID:???全米が泣いた。
0387nobodyさん
2008/01/19(土) 05:24:17ID:nyppE0sx2回質問したが全くレスがない。
ちょっと難しい論点を出すと、全く歯が立たないんだなぁ。
このスレの住民の能力が手に取るように分かった。
0388nobodyさん
2008/01/19(土) 05:25:34ID:???0389nobodyさん
2008/01/19(土) 05:46:08ID:???> 2回質問したが全くレスがない。
> ちょっと難しい論点を出すと、全く歯が立たないんだなぁ。
お前の質問の仕方が悪いんだろ。人のせいにするな。
0390nobodyさん
2008/01/19(土) 07:36:55ID:???debug:【和称】デバッグ
デバックではないアホ
0391nobodyさん
2008/01/19(土) 07:58:06ID:???「鯖」とか普通に使ってたりするんだよな。
っていうか、何でFFFTPが急に出てくるのか分からない。
0393nobodyさん
2008/01/19(土) 08:39:29ID:uG/K5st/古フランス語puc由来なので
デバックで濁らないのが本来の発音、アホ。
0394nobodyさん
2008/01/19(土) 08:54:19ID:uG/K5st/英貴族は当初は濁らなかったんだよ。
デパック。
0396339
2008/01/19(土) 09:18:23ID:???Cakeのアプリ作成の動画があったから見たら、そんな使い方してたのよ
http://p4life.jp/cake/
FWがどんな感じで動くのかわからないときにこういう動画見たから、
てっきりFW自体がそういうものだと思い込んでた
ちとZend調べてきまー
0397nobodyさん
2008/01/19(土) 09:43:37ID:ctJIPU4vclass 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をするメリットはあるのでしょうか?
0398397
2008/01/19(土) 09:46:29ID:ctJIPU4vメソッドの継承は、別クラスからClass::hogehoge()で呼べばいいだけで・・・あれ?
0399nobodyさん
2008/01/19(土) 09:55:10ID:???0400397
2008/01/19(土) 09:57:16ID:ctJIPU4v普通に便利ですねこれ
ただ、使い方間違えるとゴチャゴチャになりそうで怖いです・・・
0401nobodyさん
2008/01/19(土) 10:12:49ID:???0402397
2008/01/19(土) 10:16:08ID:ctJIPU4v自分の解釈では
「メソッド・メンバ変数の継承」
class Aで使っていたメソッドやクラスをclass Bに継承させると考えていいのですよね?
0403nobodyさん
2008/01/19(土) 11:39:42ID:FuloTUhngettypeで判別したらstringになってたんですが、コレは仕様ですよね?
数字のままdbに保存→引き出し をする方法はないですか?
0404nobodyさん
2008/01/19(土) 11:44:11ID:???>>397のソースは不可解。
includeみたいなものだと勘違いしてない?
>class Aで使っていたメソッドやクラスをclass Bに継承させると考えていいのですよね?
A(スーパークラス)で定義したメソッドやフィールド(メンバ変数)をB(Aのサブクラス)で継承する。
またはAで別クラスを継承してた場合、そのクラスのものも継承する。
継承についてはオーバライドやポリモーフィズム(多態性)を理解しないと使うのは難しいと思う。
0406nobodyさん
2008/01/19(土) 11:56:23ID:QtJ57h/6参考にしながら書いてみたのですが、重い処理をしているのではないかとか、
間違ったコーディングをしているのではないか、と不安になってここで質問してみました。
どうぞよろしくお願い致します。
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"];
0407nobodyさん
2008/01/19(土) 11:58:19ID:QtJ57h/6// 未入力チェック。いきなり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;
0408nobodyさん
2008/01/19(土) 12:00:13ID:QtJ57h/6// 連投拒否
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>";
}
?>
終わり
0409nobodyさん
2008/01/19(土) 12:22:27ID:t8kHENxA$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;
0410nobodyさん
2008/01/19(土) 12:44:54ID:???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は表示されないからねっ
0411nobodyさん
2008/01/19(土) 12:48:04ID:???俺も単なる関数の集合としか使えてなかったけど
Zend Framework使ったらオブジェクト指向の利点が体感できたよ。
0412nobodyさん
2008/01/19(土) 12:56:38ID:???なんでq5だけに改行や','が入ってくるって決め付けてるのさ
0413403
2008/01/19(土) 13:15:48ID:???>保存する直前でintに変えてから保存すれ
フォームでsubmitした時点で文字列になっちゃうわけですかね?
気づかなかった、確認してみるよ ありがとう
0415nobodyさん
2008/01/19(土) 13:20:28ID:CC01YTh8アマゾンAWSECSというwebサービスからXMLを取得
→XMLファイルに保存
→XSLTファイルを作成(画像URLとタイトル抜き出し)
→PHPのxslt_process関数を用いてXSLTを適用しHTMLを出力
ってな事をしたました。
リロード7回に1回の割合で上手く表示されるのですが、
ほとんどの場合空白ページが表示されてしまいます。
これを回避する方法はありませんでしょうか?
原因すらよくつかめてませんで_(_ _;)_
なにか考えられることありませんでしょうか?
ブラウザはIEとFireFoxで試したのですがIEのほうが少し空白になる割合が低そうです。
コード・サンプルなどは要望がありましたらUPしますけど。
0416nobodyさん
2008/01/19(土) 13:29:11ID:???ちゃうだろ、例えpostで取得した時点で文字列だとしてもクエリ発行の際に
クオーテーションで囲むか否かで数値として入れるか文字列として入れるかが変わる
0419nobodyさん
2008/01/19(土) 13:32:21ID:???0420nobodyさん
2008/01/19(土) 13:41:16ID:???データベースに書き込んだ時点で、PHPでどういう型で
扱っていたかなんか忘れ去られる。
SQLで数値をクォーテーションでくくったからと言って
数値で記録されるというわけでもない。そもそも数値だろうが文字だろうが
全部クォーテーションでくくって何の問題もない。
データベースにはPHPの型情報なんて記録されていないんだから、
データベースから取得した時点で型がどうなるかは、データベースと
そのスキーマ定義と読み込むときに使用するPHPライブラリに依存する。
まあ、普通はデータベースのフィールドの型になるだろうが例外もあるだろう。
つまりだ、なんのデータベースを使って、テーブルのフィールドの型が
どうなっていて、どのライブラリを使ったか書けという話。
0421406
2008/01/19(土) 13:42:58ID: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は表示されないからねっ
自分の環境で動かしていて気づいていなかったのですが、
確かにおっしゃる通りですね。スコープを考えていませんでした。
0422403
2008/01/19(土) 13:48:09ID:???ほんとだ、、SQL送信直前にintvar()したけど、取得したら文字列でした
最終的に、取得値をNullと0で区別したいんですが…
取得値に対して再度intvar()しなきゃいけないのかな やっても
登録するカラムのデフォルト値がNULLなんで、
if(intvar(取得値)===0){〜〜;} ってした場合、NULLを拾ってきた場合も
処理してしまいますよね? めんどくさいなー
0423406
2008/01/19(土) 13:48:56ID:QtJ57h/6> なんでq5だけに改行や','が入ってくるって決め付けてるのさ
これは、誰かがformを自作して変なデータを入力しようとするのを
防ぐという意味合いですよね?
Q1〜Q4においても、入力されるデータにチェックをかける必要が
ありますね。
0424415
2008/01/19(土) 13:51:52ID:???//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を指定)はなんら問題なく表示されてます。
0425nobodyさん
2008/01/19(土) 13:57:12ID:???0426415
2008/01/19(土) 14:00:16ID:CC01YTh8どうも借りてるレンタルサーバ(ロリポ)でおかしく、サクラだと何の異常もなくうごいたので、
どうもレンタルサーバの負荷もしくは環境かなと。
迷惑かけてすいませんでしたー。
>>425ごもっともw
0428nobodyさん
2008/01/19(土) 14:56:18ID:???420よめよ。。
だいたいオマエのDBは文字列型も数値型も両方同じフィールドに入るのかと。
アドホッククエリ書いてる気がするんだけど、そうなら連結してる変数を
intに変えようが全く意味がないし。
nullと0の区別はPHPのように型が緩い言語ではやりにくい。
ライブラリとか使ってるなら勝手に変換されちゃうこともあるんでさらに。
なので数値型のフィールドではnot null制約しといて規定値0にしてる。
0429403
2008/01/19(土) 15:27:14ID:???すみません、422書いてる間に420のレスもらってたみたいで読めてませんでした
カラムはint型でデフォルトがNULLです
0だと後々の処理の中で意味を持ってしまうので(>>422)そうしたつもりだったんですが
いっそのことNULL指定もしない空欄にすべきでした
PHPが型指定あいまいってのを今回ようやく痛感した感じです
>>420
>データベースにはPHPの型情報なんて記録されていないんだから、
確かに…って感じです ありがとうございました
0430nobodyさん
2008/01/19(土) 15:30:26ID:???0431nobodyさん
2008/01/19(土) 16:19:11ID:???0432nobodyさん
2008/01/19(土) 17:53:09ID:???お前はbugのこともバクと呼んでいるんじゃないのか?w
http://e-words.jp/w/E38387E38390E38383E382B0.html
0433nobodyさん
2008/01/19(土) 17:53:12ID:???0435350
2008/01/19(土) 18:05:25ID:yodDlY2F昨日は皆様ありがとうございました。
参考にさせて頂いたページや、他のページも見ながらとりあえず読み込むことができるスクリプトを書いてみようと思い、
ちょっと書いてみましたが上手くいきません。
ファイルへのアクセスはできているようですが、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;
?>
0437nobodyさん
2008/01/19(土) 18:12:55ID:???0439nobodyさん
2008/01/19(土) 18:41:47ID:???何がやりたいのかよくわからんけど
echo file_get_contents("http://example.com/test.log");
じゃだめなのか
0440nobodyさん
2008/01/19(土) 18:49:35ID:???それは君の使っているサーバの仕様も関係することだから、
その具体的なサイトを書いてくれないと話は進まないぞ。
0442nobodyさん
2008/01/19(土) 19:03:12ID:???0443nobodyさん
2008/01/19(土) 19:07:03ID:???0444nobodyさん
2008/01/19(土) 19:13:58ID:???レベル ヒック (ドイツの思想家 1906-1972)
0445nobodyさん
2008/01/19(土) 20:31:01ID:???SELECTした値をカラムの型に合わせて(というかDBが返してきた型そのままで)
ちゃんと取得できるライブラリやフレームワークもあるけど、PHPだとどうかなあ?
ある程度やってくと、型が緩いってのはデメリットだと思うようになったりするんだよね。
ぼやいても仕方がないので、それを考慮してあらかじめ回避しとくしかない。
個人的には言語に関係なく、数値型のカラムの0に意味を持たせるのは避けたほうがいいと
思ってる。型に厳格な言語なら、nullと0の区別はつくけどね。
0446nobodyさん
2008/01/19(土) 21:57:02ID:FuloTUhncmdで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の形で
インストール自体は成功してます)
0447nobodyさん
2008/01/19(土) 22:37:05ID:???extension=php_exif.dll
extension=php_mbstring.dll
↑これじゃ、駄目で
extension=php_mbstring.dll
extension=php_exif.dll
↑こうしないと駄目
php_exif.dll は php_mbstring.dll がロードされてないとロードできないから、
その様なエラーメッセージボックスが表示される
0448nobodyさん
2008/01/19(土) 23:55:53ID:???どこで配布してるん?
0450448
2008/01/20(日) 00:25:15ID:y4+xWtE50451448
2008/01/20(日) 00:32:24ID:???0452448
2008/01/20(日) 00:36:18ID:y4+xWtE5してねーよハゲ太郎
0453448
2008/01/20(日) 00:47:43ID:???rsswriterってダウンロード元のリンクが切れてるんですが、
どこで配布しているかご存知の方いませんか?
0454446
2008/01/20(日) 00:52:46ID:jGlr+mbdすごい! ほんとにそうなってました。
で、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変ですか?
0455nobodyさん
2008/01/20(日) 01:01:36ID:???http://www.php.net/downloads.php
ここでダウンロードしたらiniに書いてるよ。
0456446
2008/01/20(日) 01:27:57ID:jGlr+mbdありがとうございます しかしダウンロードした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の個数分というわけじゃないですが、これも関係してるんでしょうか?
0458nobodyさん
2008/01/20(日) 02:08:22ID:???糞zendの .ini ファイルなんて信用するなよw
windows のインストーラー壊れたまま、chm 文字化け放置してるぐらいなんだからw
で、pdo 使いたいみたいだが、これもロードの順序あるんだわw
extension=php_pdo.dll
をとにかく前の方に記述してみな
0459nobodyさん
2008/01/20(日) 03:36:50ID:???ディレクトリ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']));
}
?>
ですが、エラーはないのですが、もちろんファイルを消してくれることもありませんでした。
どうかよろしくお願いします助けてください
0460459
2008/01/20(日) 03:39:35ID:SGo/1Pd2Apache 2.0 Handler
でし
0461nobodyさん
2008/01/20(日) 03:40:23ID:SGo/1Pd20462nobodyさん
2008/01/20(日) 03:55:05ID:???^ ここ
不特定多数が利用する仕組みなら、ディレクトリトラバーサル対策に
realpath()とか使って想定されたパスかどうかチェック
0463nobodyさん
2008/01/20(日) 03:56:35ID:???0464nobodyさん
2008/01/20(日) 04:04:20ID:???Apache 2.0 Handler
でし!!(*'-^)d
0465nobodyさん
2008/01/20(日) 04:23:04ID:GtMoA5jMそして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
0466nobodyさん
2008/01/20(日) 04:35:41ID:???もっとシンプルな方法があるかも知れんが
0467nobodyさん
2008/01/20(日) 04:43:07ID:SGo/1Pd2おお!
realpathとmethod="post"つかったら
とりあえずはファイル削除することができました!
ありがとうございました!
0468nobodyさん
2008/01/20(日) 04:43:21ID:???0469nobodyさん
2008/01/20(日) 05:26:38ID:???$test1 = 'test';
$test[0] = 'test';
$test2['test'] = 'OK';
print "$test2[$test1]\n"; ←�@
print "$test2[$test[0]]\n"; ←�A
�@は上手くいきますが�Aは上手くいきません
�Aのように、連想配列の添え字を配列にすることはできないのでしょうか
0470nobodyさん
2008/01/20(日) 05:32:19ID:???$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);
俺ならクエリーで全部済ませちゃうな
0471nobodyさん
2008/01/20(日) 05:36:17ID:???ダブルクォーテーション外せば通るよ
外すのが嫌なら
print "{$test2[$test[0]]}\n";
こんな風に{}で囲めば良い
0472nobodyさん
2008/01/20(日) 05:41:31ID:???出来ました、ありがとうございます^^
0475nobodyさん
2008/01/20(日) 14:33:02ID:???相変わらずレベル低すぎ
0476nobodyさん
2008/01/20(日) 14:58:37ID:GtMoA5jM勉強してみようと思います。
>>470さん
ありがとうございます。解決しました。
でも、よくよく考えてみると態々PHPで整形する必要性は全く無いですね^^;
でもPHP関数の勉強になるので今回は敢えてPHPで実装してみようと思います。
0479nobodyさん
2008/01/20(日) 17:50:56ID:???まぬあるに書いてあるよ
>>478
全てタイムスタンプを基準としてstrtotime使ったほうが楽でないか?
0480nobodyさん
2008/01/20(日) 18:04:17ID:???0481nobodyさん
2008/01/20(日) 18:13:45ID:???0486nobodyさん
2008/01/20(日) 19:31:35ID:???ttp://www.php.net/manual/ja/language.types.string.php#language.types.string.parsing.complex
ついでに、三項演算子の説明
ttp://www.php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary
0487459
2008/01/20(日) 19:53:47ID:???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でやってみました
よろしくお願いします。
0488nobodyさん
2008/01/20(日) 19:54:28ID:SGo/1Pd20489nobodyさん
2008/01/20(日) 19:55:38ID:SGo/1Pd20490nobodyさん
2008/01/20(日) 19:55:46ID:???0491nobodyさん
2008/01/20(日) 19:59:16ID:???0493nobodyさん
2008/01/20(日) 20:14:34ID:GtMoA5jM勉強用に人様の作ったサーバ(自宅サーバも含む)で公開されて
いるPHPスクリプトファイルを見る(参照)事って可能でしょうか?
今、PHPのコードは現在、我流で色々作っている為、
はたしてこう言う(我流コード)作りで良いのか?
と不安になったりします。
※Googleで調べたところクライアントからサーバにアクセスをすると
そのタイミングでphp ⇒ html に変換される為「不可能」との
事でした。
もしソースを参照する方法をご存知の方がいらっしゃいましたら
ご伝授願います。
0494nobodyさん
2008/01/20(日) 20:17:08ID:???0495nobodyさん
2008/01/20(日) 20:27:17ID:GtMoA5jM無理ですか。。。
Pearという物には触れた事が無いのでちょっとぐぐってみます。
あとは、職場でPHP(Java)開発をしている人と仲良くなって
ちゃっかりソースを頂こうと思います。(これってマズイ???)
ドトネト畑でして、業務レベルPHPコードが未だ現状では書けません。
0496nobodyさん
2008/01/20(日) 20:29:12ID:???危ないから、普通はそんなことはさせないようになってると思う。
例えば、会員用のログイン画面をPHPで作ってる人が居たとする。
そのPHPソースが見れるということは、どのデータベーステーブルを参照して認証してるとかの情報がわかってしまうだろう?
人様の作ったものを勝手に見るような事は考えずに、わからなかったら当面はここで質問するといい。
で、レベルが上がったら質問する側から答える側にまわれるようになるといいな。
ここのやつは、口は悪いやつも居るがみんな根はいいやつばかりだよ。
教える気もないやつは、おそらくこのスレを見もしないだろう?
がんばれ。
0497nobodyさん
2008/01/20(日) 20:30:34ID:???0498nobodyさん
2008/01/20(日) 20:39:29ID:???問題が起きるプログラムであるか、ないか。そこが大事。
過程より結果だ。
0499nobodyさん
2008/01/20(日) 20:44:34ID:???わかったことだけをスレチになろうが関係なく書き込んで
優越感に浸ろうとするが、当人は恥をかいてることに気づいていない
0500nobodyさん
2008/01/20(日) 20:47:57ID:???>>498
私も同意見です。
まずは、仕様通りに動かさせることが先決だと思う。
その後に、コードの簡素化やなるべくメモリを消費させないような仕様に変更して
価値の向上を目指す方が良いと思う。
自分の力量以上のことをやって、先に美しいコードを書こうとしていつまで経っても
完成しないのでは意味がない。
レベルは圧倒的に違うとは思うが、企業でもベータ版のソフトからどんどんユーザのニーズを取り入れたり
もっと良いものにしたりして使い勝手の良いものにしているのだし。
0501nobodyさん
2008/01/20(日) 20:48:21ID:???前者の方が良い。
あとソースコードから勉強するより、オライリーあたりの本でも読んだほうが良いと思う。
0502nobodyさん
2008/01/20(日) 20:49:12ID:???0503nobodyさん
2008/01/20(日) 20:51:09ID:???レベルひっくw
0505nobodyさん
2008/01/20(日) 20:58:38ID:???view-source: http://example.com/index.php
0506nobodyさん
2008/01/20(日) 21:09:40ID:???この場合、機能拡張をするとか、他人のソースを引き継ぐ話じゃないだろ。
システムとして動かす時、このコードでいいのか不安だという話だろ。
「そういう不安は持つ必要ない」でいいんでないの?
0507nobodyさん
2008/01/20(日) 21:16:48ID:???コードの可読性は、自分しか読まない場合でも十分意味がある。
0508nobodyさん
2008/01/20(日) 21:19:06ID:???いやそれは必要だと思うがw
493が具体的に何の話をしているのかによる。
セキュリティなのかコーディングスタイルなのか関数を再発明しているのか構造の効率化なのか何なのか。
俺が思うにろくにリファレンスも読んでいないレベルのような気もするが。
0509nobodyさん
2008/01/20(日) 21:20:32ID:???0510nobodyさん
2008/01/20(日) 23:12:37ID:???自由に認めているからどう書けばよいのかとかそういう議論に
なっていくんだろうな。プログラミングの永遠のテーマだ。
しかし、こういうテーマをずっと考えてばかりいる奴は何も進まないのは確かだ。
0511nobodyさん
2008/01/20(日) 23:17:07ID:???そりゃ間違いもいろいろあるさ。
読み方も書き方も初めてなんだ、自分が書いた文章が正しいのかそれとも他に参考になるような文章があるのか
誰だって、最初は迷うだろ。
0512nobodyさん
2008/01/21(月) 00:19:08ID:???0513350
2008/01/21(月) 00:32:11ID:YgC1PUVS皆様に教えていただいたページなどを参考にスクリプトを書いてみました。
片方のサーバから、もう片方のサーバに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);
0515nobodyさん
2008/01/21(月) 00:46:52ID:DIuX2u4Gif ($area > 0)
1行のみの処理
if ($area > 0)
{
複数行の処理
}
のように来年度からきまったのだけど、とてもやりにくい。 どうすればいい?
0516nobodyさん
2008/01/21(月) 00:47:34ID:???0517350
2008/01/21(月) 01:09:35ID:YgC1PUVS初心者ですみません。
これで問題ないものだと思ったのですが。 すみません、教えてください
0518nobodyさん
2008/01/21(月) 01:09:51ID:???1行
else
{
複数
}
0519350
2008/01/21(月) 01:12:42ID:YgC1PUVSもしかして、10行目ですか?
ftp_put($ftps, $dir."/".$upload_file, $upload_file, FTP_ASCII);
ローカルにあるファイルを指定してるところが、書き漏れていました。
0521nobodyさん
2008/01/21(月) 01:26:17ID:???よく懲りないで来るね。
0522350
2008/01/21(月) 01:41:12ID:YgC1PUVSまったくわかっていませんでした。お心遣い感謝します。
>>521
煽られても仕方ないと思っています。
私がバカなので皆様にご迷惑をかけて申し訳なく思っています。
あのコードのどこがいけなかったのか、わからないので
すみませんが、教えてください
0525nobodyさん
2008/01/21(月) 01:51:54ID:???いいから答えだせや、クズ。笑ってやるからよ。
>マニュアルは読んだのか?
当たり前じゃネーか。 マニュアルマニュアルってうるせーんだよ、ハゲ。
0526nobodyさん
2008/01/21(月) 04:35:04ID:???0527nobodyさん
2008/01/21(月) 07:35:29ID:???0528459
2008/01/21(月) 08:00:48ID:iStOW3ryif($_POST['filename']){
unlink($_POST['filename']);
print("success!");
}
としてみると問題なく削除することができました。
これをディレクトリを指定して、その中のファイルを削除するようにしたいのですが
その記述の仕方がわかりません
どうか教えていただけないでしょうか。よろしくおねがいします。
0529nobodyさん
2008/01/21(月) 08:44:41ID:???$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
あたりを参考に。
0530459
2008/01/21(月) 09:33:46ID:???できました!
おっしゃ通りまだセキュリティー面をぜんぜん考えていないので
言われたのを参考に調べてみます!
うやむやがすっきりしましたありがとうございました
0531nobodyさん
2008/01/21(月) 09:55:59ID:???php5.2.0-8
php5-gd
imagecolorallocatealphaで透過しようとすると、透過出来ないんだけど
マニュアルのサンプルの実行結果
ttp://sylphys.ddo.jp/upld2nd/pc3/src/1200876868577.png
何とかならないかな・・・
0532nobodyさん
2008/01/21(月) 09:59:54ID:kkXgkN55リクエスト時にそのページにジャンプする方法はありますか?
headerか何かでリクエスト+Locationができれば嬉しいのですが・・・。
0533nobodyさん
2008/01/21(月) 10:08:56ID:???0534nobodyさん
2008/01/21(月) 10:09:52ID:kkXgkN55それを、POSTリクエストを含めて行いたいのです。
0535532
2008/01/21(月) 10:22:37ID:kkXgkN55外部の検索エンジンで、キーワードの取得がGETのとき、
header("Location: http://example.com/?q=hogehoge");
で、キーワードも表示されますが、キーワードの取得がPOSTのとき、
header("Location: http://example.com/; 何らかの形でPOST送信");
のようにできないでしょうか?
0536nobodyさん
2008/01/21(月) 11:31:24ID:???/* POST送信 */
header('Location: http://example.com');
もしくはPEAR::HTTP_RequestならaddHeaderとか
0537nobodyさん
2008/01/21(月) 11:33:26ID:kkXgkN55location前にPOSTを送信するとできるのですか、有難う御座います。
早速試してみます
0538nobodyさん
2008/01/21(月) 11:50:53ID:???mb_convert_encoding($value, "EUC-JP", "EUC-JP");
mb_convert_encoding($value, "UTF-8", "UTF-8");
こういう記述って問題ないよな
0539nobodyさん
2008/01/21(月) 11:58:39ID:???0542nobodyさん
2008/01/21(月) 14:50:55ID:kkXgkN55ちなみに使いたい関数はmb_convert_encoding()です。
変数を受け渡す前に行わずに、テンプレートに受け渡してから行う方法があれば教えてください。
0545nobodyさん
2008/01/21(月) 15:12:14ID:kkXgkN55調べても、出てくるのはテンプレート内でのif文・foreach文などのループ文や、
テンプレート内でSESSION・環境変数を使うようなことばかりで、
関数を使うにあたっての記事は見当たりませんでした。
0547nobodyさん
2008/01/21(月) 15:18:17ID:???http://www.smarty.net/manual/ja/language.function.php.php
http://www.smarty.net/manual/ja/language.function.eval.php
0548nobodyさん
2008/01/21(月) 15:26:37ID:???テンプレートに合わせた文字コードで渡せばいいんじゃないか?
0550nobodyさん
2008/01/21(月) 16:00:44ID:???PHP Editorでフォルダ消しても、表示から消えるが、
実際フォルダ残ったまんまだし・・・
0551nobodyさん
2008/01/21(月) 16:01:41ID:???0552nobodyさん
2008/01/21(月) 16:05:05ID:???煽ることしか出来ない厨か・・・
冬休みまだ続いているの?あ、ニートですか、ごめんね^^;
0553nobodyさん
2008/01/21(月) 16:06:38ID:???> 実際フォルダ残ったまんまだし・・・
> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・
> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・
> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・
> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・
> PHP Editorでフォルダ消しても、表示から消えるが、
> 実際フォルダ残ったまんまだし・・・
0555nobodyさん
2008/01/21(月) 16:11:00ID:???0556nobodyさん
2008/01/21(月) 16:14:14ID:???0557nobodyさん
2008/01/21(月) 16:23:18ID:???0559nobodyさん
2008/01/21(月) 16:46:45ID:???プロジェクトの概念が理解できないのなら、センスないから
辞めた方がいいぞ。他の言語のIDEもそうなっているんだから。
0560nobodyさん
2008/01/21(月) 16:46:53ID:???おまえらカントンはよくないよ、カントンだけは・・・
0561nobodyさん
2008/01/21(月) 19:03:00ID:FJRU+V1H時間を参照してるわけ?
apacheのインストールもphpのインストールも自分でしたけど、
時間設定した記憶はないし… もしかしてOSの時間?
もしそうなら、サーバの調子が狂ったらどうするの?
0563nobodyさん
2008/01/21(月) 19:31:06ID:???自分のローカルPCにApacheとPHPを入れて、BIOSの時間設定を変更して
プログラムを実行してみてからこい。
0565nobodyさん
2008/01/21(月) 19:40:46ID:???板違いとは思うが。
http://ja.wikipedia.org/wiki/Network_Time_Protocol
0566561
2008/01/21(月) 20:04:03ID:???確かに板違いでした、申し訳ない
0567nobodyさん
2008/01/21(月) 20:12:02ID:???phpのデーターセンターって火災報知機の設置はどうなっているの?
火災報知機をつけたってアナウンスが来てないけど。
0568nobodyさん
2008/01/21(月) 20:46:27ID:MggCWroJsmartyのテンプレートを利用ユーザに編集させてたいと思っているのですが、
{include file=index.php}などされるとソースが見えてしまいます。
なんとかできないでしょうか?
templatesフォルダ外は見れないかなと思ったのですが、includeできるようです。
テンプレート内で使える関数を指定できるとかないですよね?
0570531
2008/01/21(月) 21:05:43ID:QMxieb83・サンプルをそのまま動かしただけ
・E_ALLでもエラーは吐かないようなのでdebianの問題なのかもしれません。
debianスレで質問するよりこちらの方が的確な回答が得られるかと思ったので
よろしくお願いします。
0571nobodyさん
2008/01/21(月) 21:18:09ID:???うろ覚えだが、↓みたいな設定で出来たかと
$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;
0572nobodyさん
2008/01/21(月) 21:24:49ID:Oosg4/rN動かしてみようと思い。少しがんばって
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
0573nobodyさん
2008/01/21(月) 21:28:31ID:???の2行目でincludeが正常に行われていない
3,4行目も同様。
0574nobodyさん
2008/01/21(月) 21:29:19ID:???( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
\/ /
 ̄ ̄ ̄
( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
\/ /
 ̄ ̄ ̄
0575568
2008/01/21(月) 22:00:04ID:MggCWroJ有難うございます。助かりました!
0576nobodyさん
2008/01/21(月) 22:02:48ID:???その程度のことで罵声飛ばすようならば辞めた方がいいよ。
怒りすぎるとストレスで身体が持たないから。
サーバ移転する時とか、「動くはずだけど動かないなぁ」
なんてことしょっちゅうだから。
0577nobodyさん
2008/01/21(月) 22:07:04ID:???warningの数で判断するなんて何という初心者
0578nobodyさん
2008/01/21(月) 22:10:17ID:???エラーになれるまでは毎回調べてたからな
0579nobodyさん
2008/01/21(月) 22:15:40ID:???その本は本棚にしまっておいて、もう一度書店へ行って来い。
0580nobodyさん
2008/01/21(月) 22:25:59ID:???0581nobodyさん
2008/01/21(月) 22:56:53ID:???サンプル集5一つもうごかん(ワロタ)
0582nobodyさん
2008/01/21(月) 22:59:19ID:???0583nobodyさん
2008/01/21(月) 23:19:39ID:???0584nobodyさん
2008/01/21(月) 23:20:28ID:???0585nobodyさん
2008/01/21(月) 23:23:32ID:???0586nobodyさん
2008/01/21(月) 23:24:29ID:???PHPならやってくれるかもな
0587nobodyさん
2008/01/21(月) 23:25:28ID:???0588nobodyさん
2008/01/21(月) 23:26:29ID:???0589nobodyさん
2008/01/21(月) 23:34:53ID:???0590nobodyさん
2008/01/21(月) 23:37:36ID:cWI2M6j4・テキストフィールドにダブルクォートで文字を囲んで送信すると入力された情報が返されず、
何も入力されていないメールが送られてきます。
・シングルクォート、\をいれると前に\がついてしまいます。(こんなカンジ→\'\\)
フォームはHTMLで作成しています。確認画面のフォームに stripcslashes($_POST[name])を
かけておりブラウザ上だとシングルクォートと\は除去されているのですが、メールだと除去されてません。
ダブルクォート、シングルクォート、\が付いた文字列をPHP・HTMLにどのように記述すれば、
メールにきちんと送られるようになるのでしょうか?どうか教えてください。
Apache/2.0.59 (Win32) PHP/5.2.4を使っています。
0591nobodyさん
2008/01/21(月) 23:40:40ID:sm/tfw0Iどうやるの?
iniファイルをロードする関数探してるんだけど、見つからない。
.htaccess で overrideするのかな。
それとも iniファイルをパースして、ini_setするの?
0592nobodyさん
2008/01/21(月) 23:42:16ID:???0593nobodyさん
2008/01/21(月) 23:42:45ID:???0595nobodyさん
2008/01/21(月) 23:47:17ID:???.access って書いたはずなのに、.aは消えるのか。知らなかった
0599nobodyさん
2008/01/22(火) 00:10:34ID:???0600nobodyさん
2008/01/22(火) 00:16:28ID:???0601nobodyさん
2008/01/22(火) 00:22:30ID:???マニュアルはしつこく見てるんだけどさ、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
これだって思ったけど、これはオプション単位だし。
0603nobodyさん
2008/01/22(火) 00:44:24ID:m0vD4BDSPHPで下記のようなことをやりたいと思ってます。
http://www.cme.com/trading/dta/del/globex.htmlのサイトから
動的に
NIKKEI のデータ値とJ-YENのデータ値を抽出して
NIKKEI 12815.0 -745
J-YEN .009475 +81
みたいな感じで自前のWeb上に表示することは可能でしょうか?
可能であれば、どういった関数を使えば良いでしょうか?
お願いします。
0605nobodyさん
2008/01/22(火) 00:48:28ID:nORw9PK8590の者です。
magic_quotes_gpc = Offにするとその後どうするんですか?
確かphp.iniで設定ができますよね?
0607nobodyさん
2008/01/22(火) 00:59:25ID:m0vD4BDS著作権の問題さえクリアできれば、PHPで可能ということでしょうか?
個人的にデスクトップの片隅に小さくブラウザで表示させておきたいんですが・・。
(定期的にリロードさせて更新させる)
0610nobodyさん
2008/01/22(火) 01:15:03ID:???fileとかでページを取ってくる。
preg_matchあたりで必要な部分を取り出す。
後は好きにドゾー
正規表現は別スレがあるのでそちらで
0611nobodyさん
2008/01/22(火) 01:15:36ID:m0vD4BDSレスありがとうございます。
可能ということですので、頑張って勉強してみます。
>>609
負けてますんで、勘弁して下さい。(ノ_-。)
0612nobodyさん
2008/01/22(火) 01:18:05ID:m0vD4BDSヒントありがとうございます。
良い情報頂きました。
0613nobodyさん
2008/01/22(火) 01:32:39ID:???お金がなさすぎて困ってます!!!!
0614nobodyさん
2008/01/22(火) 02:18:59ID:???この仕事してるかヒッキー以外無理と思う。
0615nobodyさん
2008/01/22(火) 02:20:23ID:???0616nobodyさん
2008/01/22(火) 07:42:20ID:vHhiKcdC例えば
ID,属性1,属性2,属性3,名前
というスキーマがあり,それぞれ属性に数字で情報が格納されるとします。
この属性の意味を日本語のラベルを付けて表示するのは,PHP側で出力時に変換するのが一般的なんでしょうか?
それともラベルテーブルを別に作って結合させるのが良いでしょうか.
端的で申し訳ないですが,経験者の方がいましたらアドバイスお願いします.
0617nobodyさん
2008/01/22(火) 07:51:52ID:???SQLを実行した結果を受け取る時点で文字列にしておくのが一般的。
氏名:ID,属性1,属性2,属性3,名前
属性:ID,属性名
とすると、以下のような文を実行することになる。(長くなりすぎるため
一部省略している)
SELECT 氏名.ID, 氏名.属性1, 属性.属性名
FROM 属性 INNER JOIN 氏名 ON 属性.ID = 氏名.属性1;
0618nobodyさん
2008/01/22(火) 09:13:31ID:???>ディレクトリから次のファイルのファイル名を返します。 ファイル名はファイルシステム上に格納されている順番で返されます。
これをなんとか格納した順で返したいところ
0619nobodyさん
2008/01/22(火) 09:23:35ID:???0620nobodyさん
2008/01/22(火) 09:38:38ID:???0622nobodyさん
2008/01/22(火) 10:01:54ID:???0623nobodyさん
2008/01/22(火) 10:02:27ID:???個人的には「楽で早い」より「管理がし易い」のほうがいいと思うが・・・。
まぁ、クラス化しちゃえばどうでもいっか
0624nobodyさん
2008/01/22(火) 10:32:21ID:???ソースコードの中に実データを保管するのは気持ち悪くね?
0625nobodyさん
2008/01/22(火) 10:37:54ID:2lDbj7KP「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を開くととても時間がかかるので気になりました
0626nobodyさん
2008/01/22(火) 10:39:25ID:???JAVAもRubyも出来ないようなWEBプログラマーは死ぬの?
0627nobodyさん
2008/01/22(火) 10:43:19ID:eDYfSsSA道具にこだわってる君が死ぬことだけは確実。
肝心なことは言語じゃない、何を作るかなんだな。
0628nobodyさん
2008/01/22(火) 10:52:46ID:???CSVファイルで持てばいい。
include一回すればおしまい。
DB使ってる奴って何でもかんでもテーブルで持ちたがるだよな。
SQL発行が如何に負荷が高い処理かよく考えてほしい。
0631nobodyさん
2008/01/22(火) 11:03:04ID:2lDbj7KPごめ、ただ鯖が重たかっただけだorz
0633nobodyさん
2008/01/22(火) 15:32:00ID:Oa0QX3V3$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に格納されているなど)。
0635nobodyさん
2008/01/22(火) 15:40:39ID:???>>624
CSVファイルで持てばいい。
include一回すればおしまい。
DB使ってる奴って何でもかんでもテーブルで持ちたがるだよな。
SQL発行が如何に負荷が高い処理かよく考えてほしい。
0636nobodyさん
2008/01/22(火) 15:42:09ID:???0638nobodyさん
2008/01/22(火) 15:55:17ID:???0640nobodyさん
2008/01/22(火) 16:03:34ID:???0641nobodyさん
2008/01/22(火) 16:07:45ID:???0643634
2008/01/22(火) 16:10:41ID:???strtotimeの範囲って19700101〜でいいんだよな?
でも、それ以前でも自動的に取得できなかったかな・・・?
処理はだいぶ遅くなるけど
0644nobodyさん
2008/01/22(火) 17:36:03ID:omtXdBd7質問ですが、下記のようなプログラム(ファイル名 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>
0645nobodyさん
2008/01/22(火) 17:48:34ID:???書いてある意味教えてください
|= これと
0x0001 これと
<< これの意味が分かりません
教えてくださいえらい人
0646nobodyさん
2008/01/22(火) 17:51:06ID:???|= << これとこれ
0x0001これは?
0648644
2008/01/22(火) 18:07:37ID:omtXdBd7html間違ってますか?
一応 htmlは知ってるのですが。
ヒントPLZ
0649nobodyさん
2008/01/22(火) 18:12:16ID:???ヒドイコードだなw
ヒント echo $_POST['abc'];
$birth = $_POST['abc'];
0650644
2008/01/22(火) 18:14:47ID:omtXdBd7ありがとうございます。
表示されました。
0651nobodyさん
2008/01/22(火) 18:16:57ID:???http://jp.php.net/manual/ja/language.variables.external.php
>>645
http://jp.php.net/manual/ja/language.operators.bitwise.php
http://jp.php.net/manual/ja/language.types.integer.php
0653644
2008/01/22(火) 20:07:55ID:omtXdBd7ありがとうございます。
見て理解できました。
サンクスコ
0654nobodyさん
2008/01/22(火) 20:54:43ID:???http://www.php.net/manual/ja/language.operators.bitwise.php
0x0001は16進数で1
0xからはじまるのは16進数
意味はちょっとわからんが、ビット演算子なんて普通使わないから気にする必要ないぜ。
0655nobodyさん
2008/01/22(火) 20:57:25ID:ie4F05t5Bクラスに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ですか?
質問の箇所以外にも変なところがありましたらすみません
よければそれもあわせてご意見ください
0656nobodyさん
2008/01/22(火) 21:11:58ID:???もうちょっとクラスが何かとかどういう使い方するかを勉強した方がいいよ
まぁかなり強引だが動的にメソッド作ることもできるけど。。。
0657nobodyさん
2008/01/22(火) 21:13:40ID:???0658655
2008/01/22(火) 21:17:19ID:ie4F05t5あまり考えずに使ってました
0659nobodyさん
2008/01/22(火) 22:51:24ID:Jy6n3MIdブラウザ
0660nobodyさん
2008/01/22(火) 23:03:21ID:???継承したほうでswitchAry()を再定義(オーバーライド)する。
>echoってまずいんですか?
あんまりよくない。
Javaだと必ず呼び出されるメインメソッドで他のメソッドを呼び出して表示するね。
PHPの場合、インスタンス化した後の処理でechoを使うといい。
switchAry()の返り値をStringにして
$obj = new A();
echo $obj->switchAry($name, $n);
見たいな感じで。
>質問の箇所以外にも変なところがありましたらすみません
>よければそれもあわせてご意見ください
未定義の変数使ったりソースが不自然。ちゃんとしたコードをまず書けるようにしましょう。
0661nobodyさん
2008/01/22(火) 23:08:28ID:???0662nobodyさん
2008/01/22(火) 23:11:20ID:???0663655
2008/01/22(火) 23:18:30ID:ie4F05t5詳しい説明ありがとう
今、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を継承させるつもりだったんですが、
これって動作しないですか? 別ファイルのクラスを継承するって無理なんでしょうか?
試してるんですが、動きません
0664nobodyさん
2008/01/22(火) 23:37:50ID:???実装して欲しい部分を切り離して
派生クラスで再定義できるようにしてあげるのが一つの手段。
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);
}
}
0665655
2008/01/23(水) 00:01:36ID:TY7vcim1どうもありがとうございます
理解できたら凄く役立ちそうなことを教えてくれてるようですが、知識不足です
勉強します、ありがとう
0666nobodyさん
2008/01/23(水) 02:26:15ID:???0667nobodyさん
2008/01/23(水) 02:28:06ID:???0668nobodyさん
2008/01/23(水) 02:32:13ID:???必ずechoの処理はどこかに入るんだから
どこでechoするかってだけの話だろ
0669助けて下さい;;
2008/01/23(水) 02:38:46ID:Q533T7oxhttp://kissho.xii.jp/1/src/1jyou24922.txt.html
MagpieRSSを使いRSSを取得してくれるスクリプトです。
これをRSS記事の最新順に上から並んでほしいのですが、
このソースのままではサイト順にしか並びません;;
どこをいじってあげれば新着記事順に並び替えができるでしょうか?
もしよろしければ教えて下さい;;
色々なサイトでソースを比較していじったりしましたが出来ませんでした;;
0670nobodyさん
2008/01/23(水) 02:45:08ID:???0671nobodyさん
2008/01/23(水) 02:49:03ID:???ふざけてるってヒドイよぉ;;
^^
0672助けて下さい
2008/01/23(水) 03:07:53ID:Q533T7ox以後気をつけさせて頂きます。
0673nobodyさん
2008/01/23(水) 03:10:02ID:???0674nobodyさん
2008/01/23(水) 03:11:58ID:???/;;;;;;;;;;,-'''" ゙'''ヽ;;;;;;ヽ ←>>671
/;;;;;;;;;''' ヽ;;;;l
/;;;;;;;;;'" _ヽ、 【ちてきしょうがいしゃ】
i';;;;;;;;;;; ,,;;;;;;-=ヽ、
|;;;;;;;;;;| ,,,,,;;;;;;;;;-、 ‐'"゙_,,,,,,,_\
|;;;;;;;;/ /-─'''''''"ヽ "‐=二 ̄ヽ、 まちのにんきもの
|;;;;;;| '",,,-==‐ ヽ " 、 ヽ
,┴、;| ==ニ-‐'" , ヽ、 ゙i ちてきといっても
|l |ヽl /l .)\ i
\|lノl /└-‐ヽ-‐' ヽ i あたまがいいわけではない
l、 ゙| / ,,---'ニ=メ i .|
ヽ-i i' /-l「ヽ┼+// ;; /
ヽ、 ヽ=ヽ─++-''ノ /、
,,,,\ ヽ ゙‐─''''''"~ / ヾヽ、
,,-''''" \ / )
\ヽ、 / /
0675nobodyさん
2008/01/23(水) 03:13:48ID:???/ ________人 \
ノ::/━━ ヽ ヽ
|/-=・=- ━━ \/ i
/::::::ヽ―ヽ -=・=-_ ヽ i
|○/ 。 /::::::::: /⌒)
|::::人__人:::::○ ヽ )
ヽ __ \ /
\ | .::::/.| /. / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ ヽ::::ノ丿 / < ちんちん シュッ!シュッ!シュッ!
しw/ノ___-.イ. \_______________
∪
0677nobodyさん
2008/01/23(水) 03:20:23ID:???一番下の方にある
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();
って感じで出力バッファ取得する方が楽だとは思うけど
0678nobodyさん
2008/01/23(水) 03:22:42ID:???原因箇所特定してからわからないなら書き込んでくれ。
丸投げの質問はここじゃ受け付けてないし、スクリプト改造はスレ違い。
RSSに記事が作られた日時が記述されているならそれでソートすればいいんじゃないの?
とヒントだけ。
0679nobodyさん
2008/01/23(水) 03:23:42ID:???偽・スルー みんなにスルーを呼びかける。実はスルーできてない。
予告スルー レスしないと予告してからスルーする。
完全スルー スレに参加すること自体を放棄する。
無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。
失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。
願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。
激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。
疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。
乞食スルー 情報だけもらって雑談はスルーする。
質問スルー 質問をスルーして雑談を続ける。
思い出スルー 攻撃中はスルーして、後日その思い出を語る。
真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。
偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。
4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
0680nobodyさん
2008/01/23(水) 04:20:15ID:???DB接続情報(IPやID,パスワード)って、どうやて管理していくのがよいでしょう?
一般に公開するアプリなので、ファイルへ格納しているだけだと
簡単にばれるのでは?と不安です
何かよい手段あれば紹介してください
0681助けて下さい
2008/01/23(水) 04:23:39ID:Q533T7ox親切に教えて頂きありがとうございます。
試行錯誤頑張って結果にだしたいと思います。
夜中なのに本当にありがとうございます。
>>678
はい、次回からどこをどのようにしてとまともな質問をさせて頂きます。
気分を害してすいませんでした。
0683nobodyさん
2008/01/23(水) 05:12:34ID:???ファイルへじゃなくて、テーブルに格納でいいんでないの?
(DBがファイルベースだと論外)
SQLインジェクションなどに気をつけてアプリを組めばおk
0685nobodyさん
2008/01/23(水) 06:30:04ID:???一般に公開ってフリーウェアってことかね?
共有鯖の場合、CGIで動かしてSuEXECでもしてないと
同居ユーザが何のPHPソフトウェア動かしているか調べて
予想できる場所インクルードするだけでおkって恐れはあるだろうね
0686nobodyさん
2008/01/23(水) 06:53:12ID:???偶然アクセスしたユーザがソース保存、脆弱性暴露して
祭りになった某画像掲示板があったな。
0687nobodyさん
2008/01/23(水) 07:58:59ID:???0689nobodyさん
2008/01/23(水) 08:16:21ID:???ドキュメントの可視性や拡張子の関連性がそもそも分かってないんだろ
0690nobodyさん
2008/01/23(水) 08:25:16ID:???お前エスパーだな。すごい。
0691nobodyさん
2008/01/23(水) 09:09:10ID:???実際に行っているのは
$str = preg_replace('/\'/', "\\'", $str);
くらいですか?
0692nobodyさん
2008/01/23(水) 09:12:17ID:???0693nobodyさん
2008/01/23(水) 10:06:00ID:???0695nobodyさん
2008/01/23(水) 12:26:41ID:???0697nobodyさん
2008/01/23(水) 13:00:13ID:???0698nobodyさん
2008/01/23(水) 16:11:22ID:???まさにKYの典型www
0699nobody
2008/01/23(水) 16:30:45ID:02waJQswpreg_much関数を調べてみたのですが、書き方がいまいち
わかりません。
どなたか教えてください。
0700nobodyさん
2008/01/23(水) 16:32:21ID:???↑読める?
0702nobody
2008/01/23(水) 16:34:39ID:02waJQsw0704nobodyさん
2008/01/23(水) 16:47:50ID:???0706nobodyさん
2008/01/23(水) 16:52:19ID:???http://jp.php.net/manual/ja/function.preg-match.php
$string = '<a href="hoge.html">hoge</a>';
if (preg_match("/<^a.+>.*<\/a>/", $string)) {
}
正規表現のとこは適当
0707nobodyさん
2008/01/23(水) 16:52:43ID:???ゆとり乙
「正規表現」は答えじゃなくて入り口だ
じゃあお前は答えをそのまま書くのか?
それが>>702のためになると思っているのか?
0708nobodyさん
2008/01/23(水) 16:52:53ID:???0709nobodyさん
2008/01/23(水) 16:52:54ID:???0711nobodyさん
2008/01/23(水) 16:58:45ID:???問題となってる部分がこれ
'INSERT INTO `bbsTable` (`id`, `title`, `comment`) VALUES ('''', '.$title.', '.$comment.')';
うまくいかないんだよ_| ̄|○
誰か教えてくれ…。
0713マニュアルマニュアルってうっせーんだよ
2008/01/23(水) 16:59:13ID:???マニュアル坊しねや
0714nobodyさん
2008/01/23(水) 16:59:34ID:???正規表現は人によって書き方はまだらだし読みにくいという理由で複数人プロジェクト向け
個人で使うなら正規表現を覚えれれば正規表現使うのが最良
0715nobodyさん
2008/01/23(水) 17:00:55ID:???マニュアルも読まないで他人に全て頼るやつはPHPやらないでほしい
自分のためならまわりの負担を考えない馬鹿はおとなしく金を払うべき
0716nobodyさん
2008/01/23(水) 17:02:18ID:???コマンドラインに投げる感じでおk
mysql_query("insert into table(id,name,body)values('$id','$name','$body')", $mysql_connect);
0719nobodyさん
2008/01/23(水) 17:07:23ID:???phpの場合は、INSERT文を実行する前にTRUNCATE TABLE `bbsTable`を実行しないと、
失敗することがある。だから、前処理としてやっておいた方がいいよ。
0721nobodyさん
2008/01/23(水) 17:11:49ID:???おもろいからいいけど
0722nobodyさん
2008/01/23(水) 17:12:36ID:???0723nobodyさん
2008/01/23(水) 17:14:03ID:???0724nobodyさん
2008/01/23(水) 17:19:52ID:???0725nobodyさん
2008/01/23(水) 17:21:51ID:???0726nobodyさん
2008/01/23(水) 17:22:58ID:???0729nobodyさん
2008/01/23(水) 17:27:00ID:???俺もそのうちの一人ですが何か
0730nobodyさん
2008/01/23(水) 17:27:45ID:???コマンド投げたほうが楽なのに
0731nobodyさん
2008/01/23(水) 17:29:41ID:???0732nobodyさん
2008/01/23(水) 17:31:56ID:???なんでもGUIよりCUIの優位性を必要以上に主張したがる奴は、
なんでも正規表現と連呼するやつと性質が似ている。
0733nobodyさん
2008/01/23(水) 17:35:33ID:???レコードを表示する時には、phpMyAdminよりもマシなGUIがあるだろと。
適材適所を考えろバカ
0734nobodyさん
2008/01/23(水) 17:37:38ID:???0737nobodyさん
2008/01/23(水) 17:47:30ID:???逆にMySQLのこれからにおおいに期待だぜ
0738nobodyさん
2008/01/23(水) 17:56:03ID:???無料じゃ使えないOSになったしなぁ。MYSQLも同じ運命か・・・
0739nobodyさん
2008/01/23(水) 17:59:21ID:???むしろ今のMySQL ABのコンサルティングとかのサポートは高額なので、
Sunになっても変わらんっていうかちょっと安くなるかも。
0741nobodyさん
2008/01/23(水) 18:09:36ID:???0742nobodyさん
2008/01/23(水) 18:23:20ID:???MySQLの従業員もそのままSun傘下に入ったしこれからも基本的な体制は変わらず
Javaとの連携を強めるとかそっちがねらいなんじゃね?
0743nobodyさん
2008/01/23(水) 18:25:38ID:???その正規表現ならaタグじゃないのも引っかかると思うが・・・
>>718
バッククォートはつけたほうが良い
というかMySQL使うならNavicatが便利すぎる(2万~3万ぐらいする)
0745nobodyさん
2008/01/24(木) 00:03:59ID:???最初のテーブル作るときは(create)普通に使うだろ
あとdropもテーブルに入ってるデータ見ながらやったほうが安心できる
0746nobodyさん
2008/01/24(木) 00:47:06ID:???select用のviewを他に用意して、drop、alterも同様。select構文以外は殆どコマンド打ってるがなー。
0747nobodyさん
2008/01/24(木) 00:55:38ID:???何が入ってようと消えるだけじゃん。
0748nobodyさん
2008/01/24(木) 01:21:39ID:???0750nobodyさん
2008/01/24(木) 03:26:18ID:???0751nobodyさん
2008/01/24(木) 04:05:50ID:???http://thumb.uploda.org/file/uporg1215609.jpg
0752nobodyさん
2008/01/24(木) 05:37:04ID:oseLc3nhフォームの登録が完了したとき、SQLの2重送信を防ぐために別のページに
転送させることがあると思います。
そのとき、転送先のページに登録したデータの一部をPOSTの形で引き継ぐことは
出来ないでしょうか?
header locationのような形での移動を考えると、GETなら出来そうですが… POSTは無理でしょうか
0753nobodyさん
2008/01/24(木) 05:43:59ID:???0754752
2008/01/24(木) 06:04:12ID:oseLc3nhありがとうございます 確かにその手がありました
ちょっといろいろ試してみます ありがとう
0755nobodyさん
2008/01/24(木) 10:27:34ID:???まずEclipseの使い方がわからない\(^o^)/
0756nobodyさん
2008/01/24(木) 10:32:31ID:???0757nobodyさん
2008/01/24(木) 10:32:59ID:???eclipsewikiで調べろ
まぁ解らんなら
http://mergedoc.sourceforge.jp/
ここにあるphpのやつでも使えば良いんじゃないかな
個人的にはPDTよりPHPEclipseだけど。。。
0758nobodyさん
2008/01/24(木) 10:36:38ID:???うーん、VS.NETをお遊び程度で使ったくらいだったからなぁ・・・
PHP IDEだと、Zend Frameworkとの相互性があるとかないとか聞いたから、
とりあえずPHP IDEを導入してみた。
ZF入門書も買っちゃったから俺ハジマタ
0759nobodyさん
2008/01/24(木) 10:38:35ID:???0760nobodyさん
2008/01/24(木) 10:40:31ID:???0762nobodyさん
2008/01/24(木) 10:42:45ID:???あー、普通のプロジェクト開発は大丈夫
ただ、インクルードパスの設定とかhtaccessの作成をエクスプローラーに反映させたりするのがわからん/(^o^)\
昔は統合開発環境スレあったからそっちで聞けたのになぁ
そういやあのスレなんでもう立たないんだろうか
0763nobodyさん
2008/01/24(木) 10:56:34ID:???要らん機能が多いけど、普通にお勧め
0765nobodyさん
2008/01/24(木) 11:04:18ID:???eclipse pdt に一致する日本語のページ 約 51,700 件中 1 - 10 件目 (0.17 秒)
仕事で既存アプリ(数千ファイル)の改修・ドキュメント化を
PDT+xdebug+simpletest+subclipseでやってるけど、良い感じ。
0767nobodyさん
2008/01/24(木) 11:09:19ID:???分かればとても便利なのだけれど。ZendDebuggerとの連携がすばらしい。
0769nobodyさん
2008/01/24(木) 12:01:34ID:???一時的に必要なデータファイルを作って、一定時間後とかアクセスがあったら
とかの条件で消す、というような仕組みをPHPで実現するような方法は
ありますか?
データファイルを出力するようなページを用意してそれをflashに食べさせる
方がスマートでしょうか。
0770nobodyさん
2008/01/24(木) 12:06:04ID:???直接データに触れなくすれば何でもできるべ
0771nobodyさん
2008/01/24(木) 14:16:49ID:GkmSThHq[mail function]
; For Win32 only.
SMTP = ***.***.jp
smtp_port = 25
こんな風に設定しました。
いざphpからメールを送ってみると、
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Authentication required
というエラーが発生し送れませんでした。
調べてみると、送信する前にPOPの認証が必要みたいだったんですが、
phpでこれを実現するにはどういう風にプログラムしたらいいでしょうか。
0772nobodyさん
2008/01/24(木) 14:27:11ID:a44FeVCdhttp://downloads.zend.com/pdt/all-in-one/
から落としてきてデバッガの読み込みはできたんですけど
プロジェクトやPreferenceでPHPが認識されてないんですがどうすればインストールできますか?
0773nobodyさん
2008/01/24(木) 14:31:32ID:???SMTP_AUTHを使う。
メールサーバ入れてSMTPサーバをlocalhostにする。
認証要らないサーバを使う。
0774nobodyさん
2008/01/24(木) 14:52:43ID:???しかも動的に 無理かな
0775nobodyさん
2008/01/24(木) 14:59:30ID:oseLc3nh1)記入フォーム 2)確認ページ 3)登録ページ(SQL) 4)完了ページ
という流れがあって、登録ページは登録完了後すぐに4の完了ページに
リダイレクトされるとします。(リロードによる二重送信防止のため)
で、リダイレクト先の完了ページで登録内容を修正したいと思ったユーザが、
ブラウザのバックボタンを押すと確認ページに戻り、そこで「登録」することで
結局2重送信の形になってしまいます
どうしたらいいでしょうか? バックボタン使用禁止などのメッセージを置く以外に
良い方法ないですか?
一度目の登録時に登録完了のフラグを持たせて、用意した「書き直す」ボタンでhidden送信しても
ブラウザの戻るボタン使われたら元も子もないですよね…
みなさんどうやってるんですか?
一応調べたんですが、「戻るボタン使用禁止メッセージ」を使うというのが多くて、
それ以外の考え方が聞きたくてお尋ねしました よろしくお願いします
0777nobodyさん
2008/01/24(木) 16:25:49ID:5srzkiIlViewのパスを
$view = setScriptPath("example");
と設定しますが、
全てのページでViewのスクリプトを置く場所はかわらないので一括指定したいと思うのですが、
フロントで指定する方法はありませんでしょうか?
0778nobodyさん
2008/01/24(木) 16:55:47ID:???http://pc11.2ch.net/test/read.cgi/php/1160156955/
こちらへどうぞ
0779nobodyさん
2008/01/24(木) 17:00:52ID:???わからんなら
http://mergedoc.sourceforge.jp/
こっちにあるPDT使っとけ
PDT自体は同じものかちょっと古いものだろうし
他に必要になりそうなプラグインも入ってるから普通にオススメ(日本語化も含む)
0780nobodyさん
2008/01/24(木) 17:12:56ID:GkmSThHqありがとうございます。
お客さんのサーバなので、あまりいじれないんですよね。
教えていただいた方法をそれぞれ調べてみたんですが、pearが必要だったりするみたいなんですが、
php_init()関数ぐらいしか使えない状況下でも可能な方法ってないでしょうか?
0781nobodyさん
2008/01/24(木) 17:15:05ID:???PEAR以前にメール送信するにはメールサーバーが必要
案外、なんでもPHPでできると思いがちなんだが、メール関係はPHP・Webサーバーの設定だけじゃダメ
0783nobodyさん
2008/01/24(木) 17:34:14ID:GkmSThHqメールサーバはあるんですよ。
ただ、そこから送信するには、POP認証が必要ということで困っている状態です。。
>>782
え?そうなんですか?
みなさんありがとうございます。
ちょっと調べてみます。
0784nobodyさん
2008/01/24(木) 17:36:06ID:???なくてもできるけどな。
0785nobodyさん
2008/01/24(木) 17:51:59ID:GkmSThHqまじですか?
どういった方法で?
0786nobodyさん
2008/01/24(木) 17:56:26ID:???0788nobodyさん
2008/01/24(木) 18:15:08ID:???http://phpspot.org/blog/archives/2005/12/pop_before_smtp.html
これ読んでpopbeforsmtpで送れば?
0789nobodyさん
2008/01/24(木) 19:31:02ID:???俺はlinuxでしか動かないのがあるからlinux上でデバッグしようかとおもってるんだけど
仮想にぶち込んで低パフォーマンスだからeclipse動くか心配
0790nobodyさん
2008/01/24(木) 19:31:59ID:???kwsk
0792nobodyさん
2008/01/24(木) 19:43:49ID:???サーバ部分だけ仮想でLinuxいれりゃいいじゃん
FTPなり共有ファイルコピーなり少し手間はかかるが
0793nobodyさん
2008/01/24(木) 19:51:17ID:???phpizeいるもん全般とか…
>FTPなり共有ファイルコピー
あぁそれだよなー
一手間かかるのがあれだがやむを得ないかもしれない
0794nobodyさん
2008/01/24(木) 19:58:18ID:???0795nobodyさん
2008/01/24(木) 20:13:07ID:???エディタはeclipse。
vmにwinscpでログインしてコマンドからミラーリングアップロードを使う。
そするとローカルで保存sすればvmに自動で同期される。
んで、ブラウザでvm叩く
( ^ω^)うまー
0796nobodyさん
2008/01/24(木) 20:15:05ID:???( ^ω^)うまー ← レベルひっくw
無知ってしあわせですわねwwwww
0798nobodyさん
2008/01/24(木) 21:01:43ID:vo4pqLSehttp://journal.mycom.co.jp/column/ide/006/index.html
を参考にやったんだけどZendに置いてあるPDTはPHPプラグイン入ってないの?
これでやるにはどうすればいいの?
0799nobodyさん
2008/01/24(木) 21:10:35ID:9zAbxKxRPHPで、変数1(数字以外の文字列)が変数2(こちらも数字以外の文字列)と等しければtrueを返す条件文を書きたいのですが、何かいい方法はないでしょうか?
数値以外の文字列の比較が出来る関数とかがあったりするんでしょうか、
それとも正規表現使ってマッチさせるとかそんな感じでしょうか?
0800nobodyさん
2008/01/24(木) 21:11:59ID:???===演算子は型の比較まで行う
他にもgettypeで変数の型を調べることができるからそれを応用する方法もある
0801nobodyさん
2008/01/24(木) 21:13:41ID:???=== (厳密に比較したい)
0802799
2008/01/24(木) 21:16:09ID:???ありがとうございます!
0803779
2008/01/24(木) 21:31:25ID:???PHPプラグインが何を指してるかあれだが・・・
PDTとはEclipseにPHPの開発環境を実装するためのプラグインの事
他にもPHPEclipseやKoebiStudioてのもある
これらの開発環境にはPHP本体は入ってないので別途インストールする必要がある
Zendにおいてあるやつも俺が紹介したサイトにあるやつも
同じPDTで違いがあるとすればバージョンぐらいの差
それ以外でPDTの差は無い
英語が解らんならPleiadesってプラグインを
入れておけば良い
大抵のプラグインと本体が日本語化される
まぁそこらへんの必要なものが入ったのが779で紹介したURLにあるやつな訳だが・・・
0804nobodyさん
2008/01/24(木) 23:27:37ID:???それはGUI派かCUI派かであっておっさんか否かじゃなかろ
ガキでも必要ありゃviに慣れてvimやらemacs使い始めるもんだ
0805nobodyさん
2008/01/24(木) 23:43:09ID:???ガキじゃ必要でもそんなもの使おうなんて思わん
0808nobodyさん
2008/01/25(金) 00:56:25ID:???「edlinでconfig.sys弄ってます」みたいなw。
0809nobodyさん
2008/01/25(金) 01:31:14ID:???0810nobodyさん
2008/01/25(金) 02:15:07ID:???0812nobodyさん
2008/01/25(金) 03:05:06ID:???使いやすいエディタならなんでもかまわないし、たいしたこと言ってるわけではないけど、
IDEの話が出てる最中にvim使ってるとかはタイミング的に悪かったな。
そもそもUnix系でしか動かないものを開発するというのはまれなわけで、
大多数はVMで開発する必要もなければWindows以外で開発する必要もない。
そんな中で"普通に"という言葉を使ったのもまずかったな。
別に開発してるとしかいってないのだが、話の脈略で薦めているようにも見えてしまうわけで。
0813nobodyさん
2008/01/25(金) 04:07:47ID:HQAGAWGB設定を済ませて phpmyadmin にアクセスすると、
「mcrypt 拡張をロードできません。PHP の設定を確認してください」
と言われるので、続けて mcrypt libmcrypt もインストールしたんですが、
やはり変化がありません。
/etc/php.ini をいじるんだろうと思うんですが、
どのように設定すればいいんでしょうか?
http://jp.php.net/mcrypt に書いてあるとおり、
php をコンパイルし直さねばならないのでしょうか?
CentOS 4.6 x86 用の php は --with-mcrypt されてないようなので。。。
0814nobodyさん
2008/01/25(金) 04:47:30ID:???print("下らねぇ<b>質問</b>");
?>
の<b>のように、print()で<font>が使えると便利だと思うのですが
例えば<font color>とか、
こういうフォントを変えることができるものは<b>のほかにないでしょうか?
よろしくお願いします。
0815nobodyさん
2008/01/25(金) 04:54:23ID:???スタイルシートでも使えよと
0816nobodyさん
2008/01/25(金) 04:54:50ID:???>>1
それから
http://www.google.com/search?q=HTML&hl=ja&lr=lang_ja&num=100
0817nobodyさん
2008/01/25(金) 05:11:57ID:???>>816
あぁすみません・・
聞きたかったのは、print()で<b></b>や<I></I>が使えたので
色もこの調子で変えられないかとhtmlタグを探していて
fontがあったのですが、エラーが出たので
font的なものがあるのかなと聞いてみたのですが
ないようですね。言われるようにスタイルシートや別の方法を探してみます
ありがとうございました
0818nobodyさん
2008/01/25(金) 05:14:20ID:???htmlの話はすんなぼけ二度とくんな
0819nobodyさん
2008/01/25(金) 05:27:43ID:???>エラーが出たので
ダブルクオテーション(")で囲ってるときに
文字列でダブルクオテーションを使う場合エスケープしましょう
print ("<font color=\"red\">あいうえお</font>");
シングルのほうがこの場合は楽だけど
print ('<font color="red">あいうえお</font>');
どっちみちfontは古いし今や使われていないのでスタイルシート使いましょう
そしてhtmlだけの質問はWeb制作板だから次回からご注意あれ
0820nobodyさん
2008/01/25(金) 05:59:43ID:???PHPで文字列などを出力するのに使うprintやechoは、htmlのソースとして出力する。
つまりprint内にhtmlのコードを書けば当然htmlのソースとして反映される。
print内に<b></b>を書くことで太字になったのはphpの機能の一部というわけではなく、
phpがhtmlのソースとしてそのまんま<b></b>という文字列を出力しているから。
<font color="">でエラーが出たのは上の人が指摘してる通りエスケープ忘れ。
print "";で囲う""は、最初の"が表示する開始点をあらわし、2度目の"が終点をあらわす。
つまり
print "あ"いうえお"; というコードがあった場合、
phpは『あ』だけを表示しようとするが、『あ』の後ろに続くコードが『:(セミコロン)』で終わっていないためエラーを吐く。
この場合『あ』の後に続く『"』は文字列として表示したいわけで、
そういう場合エスケープ記号『\』を『"』の前におくと、その『"』は文字列として扱われることになる。
print "あ\"いうえお";
0821nobodyさん
2008/01/25(金) 06:00:49ID:???レベルが低いから?
0822nobodyさん
2008/01/25(金) 06:02:14ID:???そういうスレだし。お前を含めて煽ってるやつが馬鹿なだけ。
0823nobodyさん
2008/01/25(金) 06:05:25ID:???0824nobodyさん
2008/01/25(金) 06:06:10ID:RlEjDmZc「スレッドを最新更新順でソートして表示させる」というところで苦戦しています。
例えが下手でわかりにくいかもしれませんが、3回新規投稿が行われた場合に
・スレッドNo.3
・スレッドNo.2
・スレッドNo.1
の様に順番に表示させる事はもちろんできるのですが、
その後に2つめの投稿記事へ返信があった場合に
・スレッドNo.2
・スレッドNo.3
・スレッドNo.1
という様に更新された順に表示するにはどうすれば良いでしょうか?
自分なりに考えてみましたが、
1)スレッドNoを記載したテキストファイルを用意する
2)新規投稿が行われた場合は、ファイル内の最上部に追記
3)返信が行われた場合は、ファイル内の該当のスレッドNoを最上部に移動
4)閲覧する際にテキストファイルに記載された順番で出力する
という方法くらいしか思いつきませんでした…。
根本的に何か間違っている様な気がするのですが、アドバイス頂けると助かります。
0825nobodyさん
2008/01/25(金) 06:12:47ID:???更新日時を正の整数に置き換えてソート。簡単じゃん
0826nobodyさん
2008/01/25(金) 06:22:17ID:???DBで設計すれば楽なのに。
>>825のやりかただけだと親子関係がめちゃくちゃになるんで、
親子関係の情報もとって、更新日時でソートしたあとに、親子関係でソート。
さらにそのままだと親スレが一番下になるんで、
親子関係でさらに配列分けて配列を逆にしてから最後にくっつける。
0827nobodyさん
2008/01/25(金) 06:26:26ID:???0828nobodyさん
2008/01/25(金) 06:26:57ID:???むしろ面倒だから統一して管理したほうがよさげ(初心者用)
0829nobodyさん
2008/01/25(金) 06:37:31ID:???0830nobodyさん
2008/01/25(金) 06:40:06ID:???テキスト管理について意見を言わせれると的外れ発言のオンパレードww
0831nobodyさん
2008/01/25(金) 06:43:51ID:???簡単な処理ならともかく掲示板レベルはあきらかにDBのほうが効率的
ていうかさっきから煽ってるやつは同一人物?朝っぱらから元気だな
0832nobodyさん
2008/01/25(金) 06:45:03ID:???pgdbの存在を知らなかったりして
0833830
2008/01/25(金) 06:47:55ID:???ファイルの更新日時でソートするだけとかwwwwwwwwwwwwwwwww
0834nobodyさん
2008/01/25(金) 07:01:01ID:???ってことで、愚民の俺らにその高尚な脳味噌で考えた具体例を教えてくれよ
期待してるぜ
0835nobodyさん
2008/01/25(金) 07:02:20ID:???お前は何をいってんの?
更新日時をログに記録してるってことだろ。
日本語もわからないの?
0836830
2008/01/25(金) 07:03:07ID:???0837nobodyさん
2008/01/25(金) 07:07:24ID:???0838nobodyさん
2008/01/25(金) 07:10:38ID:???対人関係下手で家を出れない引きニートはかわいそうですね。
0840nobodyさん
2008/01/25(金) 07:53:35ID:???大体あってんじゃないの。
TEXTベースでやるのなら
1.スレッドNOを覚えているファイルを作る
2.新しい投稿があったら1を見てそれをファイル名とするファイルを生成し
投稿内容を書き込む
3.返信のときはすでにあるファイルをサーチし、投稿内容をマージ
返信に上限を付けるならここで上限チェック。
4.表示はいったん全ての投稿ファイルのタイムスタンプを読み込み
ソートして、出力順を決定する。
5.出力順に投稿ファイルを開き、内容を出力する。
6.実際には古いファイルを消去する仕組みも必要でしょう。
新しい投稿をトリガーにして、一定期間投稿のない投稿ファイル
=タイムスタンプが古いを削除する。
0841nobodyさん
2008/01/25(金) 08:56:06ID:???タイムスタンプを読み込んでソートするってことは
返信の際にそのファイルのタイムスタンプも更新してるわけだから
そのついでに最上段に持っていけば表示の時にソートする必要ないんじゃね?
そしたら古いファイルの削除も最下段を削除するだけで済む
age、sage機能をつけるんならいるだろうけど
0842nobodyさん
2008/01/25(金) 09:57:59ID:rbOm8Vt/来たメールのエンコーディングを調べる方法はありますか?
ヘッダー情報に文字コードがなかったので・・・
0844nobodyさん
2008/01/25(金) 11:33:44ID:KgKyfu/6.htaccessでやるべきか、phpの403で拒否するか、
もしくは、ルーティングテーブルで拒否するか、
よく分からないのですが、どれでやるのがベストですか?
宜しくお願いします。
0846nobodyさん
2008/01/25(金) 11:47:22ID:???> どれでやるのがベストですか?
抽象的杉。
サーバの移項も考えるかとか、負荷の量とか、改変の頻度とか、
それを作業する環境は何かなどいろんな尺度があるので、目的次第。
0847nobodyさん
2008/01/25(金) 11:52:40ID:???そりゃハードレベルでできるならそれが一番いいよ。
phpは最終手段。
phpよりhtaccess、htaccessよりルータ。
0848nobodyさん
2008/01/25(金) 11:55:06ID:KgKyfu/6すみません。もう少し具体的に書かせて頂きます。
使用サーバーは、さくら株式会社が提供する専用サーバーで、移行の予定はないです。
負荷は、不明ですが、よく中国や台湾から大量のアクセスでサーバーが落ちるという話を聞くので、
それに堪えられるようにしたいです。
よく分からないですが、1秒間に1万回リクエストされても耐えられれば大丈夫だと思います。
改変は随時です。怪しいIPアドレスは拒否するように定期メンテします。
0849nobodyさん
2008/01/25(金) 12:29:05ID:???0854nobodyさん
2008/01/25(金) 15:49:54ID:???なんでみんなこんなめんどうなもん使うんだろうってずっと避けてたよ
0855nobodyさん
2008/01/25(金) 15:53:58ID:rbOm8Vt/http://example.com/
のソースの文字コードを知りたいのですが、
metaタグから取得する以外にどのような方法があるのでしょうか?
レスポンスヘッダーから簡単に取得できないですかね?
0856855
2008/01/25(金) 16:02:45ID:rbOm8Vt/0857nobodyさん
2008/01/25(金) 16:21:17ID:???0858855
2008/01/25(金) 16:22:48ID:rbOm8Vt/それが気になったんです。
detectはheaderのcontent-typeの情報を受け継いでいるのか、
PHP側のアルゴリズムで解釈しているのか、その辺りの仕組みがよくわからないのです。
アルゴリズムで解釈しているのであれば、headerの値を受け取ったほうがより確実のようが気がします。
0859nobodyさん
2008/01/25(金) 16:30:11ID:???0860855
2008/01/25(金) 16:32:49ID:rbOm8Vt/YahooやGoogleでの検索で文字化けしたページが見つからないのがすごい・・・。
というか、文字化けしているページを弾いてるだけなのかな?
とりあえず、有難う御座いましたー。
0861nobodyさん
2008/01/25(金) 16:34:23ID:???http headerの文字コードはWebサーバ側で設定された値か、metaタグで指定された値になるんじゃなかったかな。
どちらにせよ人間が指定したものなので、信頼はできなさそうだが
0862nobodyさん
2008/01/25(金) 16:38:49ID:Lm6JW6Xcini_set('display_errors', 'On');をプログラムの先頭に記述しても真っ白のままです。
他になにかエラー表示関係の設定項目ってありましたっけ?
0863nobodyさん
2008/01/25(金) 16:40:35ID:rbOm8Vt/error_reporting
0864nobodyさん
2008/01/25(金) 16:43:34ID:Lm6JW6Xc6143なので、問題ないと思います。
0865nobodyさん
2008/01/25(金) 16:45:33ID:???php.iniの設定は?
それのdisplay_errorが0なら
ini_setする前にエラーが出ている可能性もある。
0866nobodyさん
2008/01/25(金) 17:25:45ID:Lm6JW6Xc0ですが、ini_setする前にエラーは無いです。
ローカルで試すとうまくいくのです
0867nobodyさん
2008/01/25(金) 17:34:44ID:???ini_setする前に何か行っている動作あったりする?
もしくは、ini_setを記述しているファイルが他のファイルから読み込まれるものだったり
0868nobodyさん
2008/01/25(金) 18:35:24ID:Lm6JW6Xc全く無いです。
<?php
ini_set('display_errors', 'On');
echoooooo "a";
?>
こんなんでも真っ白になります。
0869nobodyさん
2008/01/25(金) 18:37:59ID:???phpinfoしてみたらちゃんとini_set反映されてた?
ini_set('display_errors', 'On');
phpinfo();
0870nobodyさん
2008/01/25(金) 18:39:52ID:???ネタじゃないならphp.iniか.htaccessで
display_startup_errorsをonにする
それでも出ないなら出力処理してないだけだろ
0871nobodyさん
2008/01/25(金) 20:55:40ID:???基本的には>>847の考え方でいいと思う。
まずは、ルーターのみにしておいて、アクセス解析も同時に行う。
アクセス解析に不安なログが出ているようであれば、.htaccessも入れる。
ソフトの対応はリソースの消費も考えないといけないので、最初は
入れないで良いと思うというのが私の意見。
サーバのrootもってやるわけではない場合、セキュリティーにおいては
何処まで信頼するかは意見が分かれるところなので、最初から.htaccessまで
いるという人もいるだろう。
0872nobodyさん
2008/01/25(金) 23:06:00ID:KgKyfu/6アドバイスありがとうございました。
ルーティングテーブルでやればいいんですね。ありがとうございます。
私の場合、専用サーバーといっても、ルーターの設定はいじれないので、
webサーバー内のルーティングテーブルで設定します。
今までレン鯖(xrea)だったので、php以外の知識が要求されて四苦八苦中です。
助かりました。
0873nobodyさん
2008/01/25(金) 23:57:41ID:???0874nobodyさん
2008/01/26(土) 00:27:44ID:???こんなのがあるが相変わらずphpはハブられてる
http://www.void.in/wiki/Universalchardet
0877nobodyさん
2008/01/26(土) 10:03:21ID:uPT20mdm0878非通知
2008/01/26(土) 10:10:49ID:uPT20mdmダイジェスト認証した後にユーザ名を表示のしたいのですが、どうやって表示させるのでしょうか?
でゆうか、http://www.phppro.jp/phpmanual/php/features.http-auth.htmlの『例 34-2. Digest HTTP 認証の例』をつかうと『PHP_AUTH_DIGEST 変数を精査する
』の部分で『誤った証明書です!』と出力されるってことは、どこが原因なのでしょうか?
エロい人、おせーて(・∀・)
0879nobodyさん
2008/01/26(土) 10:27:04ID:???変更したのであれば変更点を書かないとわからない
0880非通知
2008/01/26(土) 10:58:46ID:???+---追加----
| <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');
0882nobodyさん
2008/01/26(土) 11:49:23ID:???正規表現廚が必死
↓
0883nobodyさん
2008/01/26(土) 13:22:00ID:???0884nobodyさん
2008/01/26(土) 15:15:58ID:???それとも何か一冊買った方が良いでしょうか?
0885nobodyさん
2008/01/26(土) 15:35:06ID:2Pi/4pg1データベースと連携するも、何の機能も無い簡単な掲示板は無事作れました。
今pear pagerを使ってページネーション機能を付けようとしているところです。
その過程でコケました。
pagerを使うためには配列形式のデータを渡さないといけない
→データベースから受け取る連想配列を1セット(名前や本文など)ずつ配列に入れなおす
という作業をしていますが、うまくいかないので見ていただきたいです。
それと上の作業の中で 配列の中に配列を入れる ということをしていますが、
その場合は 例えば配列data[1]の中の配列innerのidを取得したい場合
$hoge = 〜 どのように書けばいいのでしょうか。よろしくお願いします。
0886nobodyさん
2008/01/26(土) 15:36:33ID:2Pi/4pg1$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単独での動作もうまくいきました。
0887nobodyさん
2008/01/26(土) 15:37:57ID:2Pi/4pg1Warning: 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
0888nobodyさん
2008/01/26(土) 15:43:06ID:???つまりこういうことか…?
0889nobodyさん
2008/01/26(土) 15:49:08ID:???http://www.php.net/
>>886
関数に$resを渡す。
ページャー使うくらいPEARを身に付けてるならMDB2使えばいいのに。素の関数よりは便利だよ。
0891nobodyさん
2008/01/26(土) 16:29:12ID:2Pi/4pg1すいません、聞いといてアレなんですけど、もう少し具体的にお願いします。($resってリソース型ですよね・・・
PEARはつまみ食い程度に使ってます。以前HTML quickformを使ったとき、融通が全然きかなかったこともあり敬遠してました。
(ある程度 型 が決まっているからPEARなんでしょうけど・・)
手元の本にもDBアクセスはPEARを推奨してました。pagerが実装できたらそっちにもいきたいと思います。
0894nobodyさん
2008/01/26(土) 17:13:46ID:???$a == ".@." にif文とかを組みあわせればいいはずなのにうまくいかない どうして?
0895nobodyさん
2008/01/26(土) 17:19:53ID:???0896nobodyさん
2008/01/26(土) 17:19:55ID:Cad1bcuYphp側で処理速度が格段に上がる方法ってどのようなものがありますか?
MYSQLだと、参照系TBLをメモリーテーブルにするとか、
Apatchだと、プロセス数を増やしたり、1.3から2.0に上げる
方法などが考えられると思うのですが。php側の最適化の方法がよくわかりません。
宜しくお願いします。
0897nobodyさん
2008/01/26(土) 17:20:42ID:???それだと$aが.@.の時しか一致しないよ
preg_matchとかeregあとはstrposとかで確認しれ
0898nobodyさん
2008/01/26(土) 17:25:02ID:???こっちでやるんじゃないの?
$a = "aaaaa@aaaaaaa";
if( ereg("@", $a) ){
echo "true";
}else{
echo "false";
}
0899nobodyさん
2008/01/26(土) 17:26:02ID:???0900nobodyさん
2008/01/26(土) 17:26:20ID:???あとXdebugのプロファイラ機能つかって遅い場所早くするとか
0901nobodyさん
2008/01/26(土) 17:29:33ID:???<?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);
?>
0905nobodyさん
2008/01/26(土) 17:45:47ID:???0906nobodyさん
2008/01/26(土) 17:52:10ID:???関数名もっと考えてつけなよ
例えばこの場合getBbsData()とか
http://jp.php.net/manual/ja/function.mysql-fetch-array.php
とりあえず少しずつこれ見ながらやっていきな
0907nobodyさん
2008/01/26(土) 17:57:40ID:???0908nobodyさん
2008/01/26(土) 19:19:30ID:???0909nobodyさん
2008/01/26(土) 19:25:52ID:???3日後に -> ファイル作成時の時間を調べる関数 + 現在の時間を調べる関数 (※)
消去する -> 消去する関数
※の「3日後」は他にも幾つかやり方がある。
0910nobodyさん
2008/01/26(土) 19:43:54ID:???頭の中には copy unlink とあとdate関数とかの時間系の関数 があるんですが、
「3日後にunlinkを実行」をどこに指定してやればいいのかで困っています。クッキーだと引数にあったんですが、
0911nobodyさん
2008/01/26(土) 19:53:25ID:???0912nobodyさん
2008/01/26(土) 21:05:43ID:???自動的に判定処理を実行させたいのか(させたいなら間隔はいくらか)
もしくはユーザがアクセスしたときに判定処理を実行できればいいのか
どちらかによる
0913nobodyさん
2008/01/26(土) 21:49:32ID:???0914nobodyさん
2008/01/26(土) 21:59:22ID:???現在の時間を調べる・・・(2)
(2)−(1)>=3日間 が真だったらファイル削除
という話ではなくて?
0915nobodyさん
2008/01/26(土) 22:16:21ID:???その場合 その削除プログラムをどこに組み込むか や コピーしたファイルの名前をどこかに保存する
とかいうことも考えないといけなくなる。
0916nobodyさん
2008/01/26(土) 22:19:41ID:???参考としてファイルを削除するソースを書いておく。
削除対象のファイル名:西暦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 );
?>
0917nobodyさん
2008/01/26(土) 22:25:31ID:???http://framework.zend.com/manual/ja/zend.date.html
0918nobodyさん
2008/01/26(土) 23:19:04ID:???なんだこの後付け設定ww
0919nobodyさん
2008/01/26(土) 23:21:14ID:???0920nobodyさん
2008/01/26(土) 23:43:30ID:???pearのHTTP_Downloadがダウンローダーの実装を手助けしてくれる。
>>916
何もしないなら無駄なブロックは無くそうぜ
0921nobodyさん
2008/01/27(日) 00:27:25ID:???0922nobodyさん
2008/01/27(日) 00:53:44ID:???/ ― \ ┏┛/ ―\ ┏┛
/ (●) \ヽ ・. /ノ (●)\ ・
/ (⌒ (●) /. | (●) ⌒)\
/  ̄ヽ__) / | (__ノ ̄ |
/´ ___/ \ /
| \ \ _ノ
| | /´ `\
--------------------------------------
このスレはあなたにとって役に立ちましたか?
○ 非常に役にたった
○ 役にたった
○ どちらともいえない
○ 役に立たなかった
● 全く役にたたなかった
0923nobodyさん
2008/01/27(日) 00:58:59ID:IFsQu3P4if(($name=="yamada")||($name=="tanaka")){〜〜;}
条件部分で、使ってる変数が同じなのを利用してもっとシンプルに書く書き方がないか
知りたいんです ないんでしょうか?
0924nobodyさん
2008/01/27(日) 01:04:47ID:???switch($name){
case "yamada":
処理1();
break;
case "tanaka":
処理2();
break;
default:
処理3();
}
0926nobodyさん
2008/01/27(日) 01:09:53ID:???>>820
エスケープでできました
スタイルシートも使ってやってみようと思います
以後気をつけます
ありがとうございました!
0927nobodyさん
2008/01/27(日) 01:17:10ID:???もしかしたらif文の内容が>>923みたいな場合だけじゃないかもしれないし
選択肢の一例として挙げただけだから。
0928nobodyさん
2008/01/27(日) 01:20:16ID:???笑うことないだろ。
ファイルをコピーして作ってから3日後には削除するという
ことだから、そういう命名規則だとプログラム上で便利だという意味だ。
>>919
「なんか」って何だよ
>>920
無駄なブロックは消しておきます。
0929nobodyさん
2008/01/27(日) 01:25:56ID:???勝手に要件を変更するなよ。
0930nobodyさん
2008/01/27(日) 01:27:44ID:???文字列の条件候補がもっと多い場合は、あらかじめ配列にいれて
おいてループしながら確認する場合が多い。
何を持ってスマートというかにもよるけれど、この方法だと、
条件確認部分が横に長くならないし、候補の文字列格納部分を
見やすく書くことが出来る。
0932nobodyさん
2008/01/27(日) 01:33:31ID:???> 普通は作成日とか更新日を見るもんだろ。
そうなの?あおりとかじゃなくて、どういう状況の時にそれがあるの?
定期バックアップとか取るのなら、ファイル名にしとけば早いと
思ってたけど、ファイル名取得は重いって事?
0933923
2008/01/27(日) 01:37:13ID:???if文て三項演算子みたいな面白い表現もあるので、他にないかなーって思ってたんですが、、
ないっぽいですね
if($name=="yamada"||"tanaka"||"kato"){print "success";}else{print "miss!";}
とかできたらいいのに。923みたいにカッコがどんどん増えてくと見づらくてしょうがない
どうもありがとうございました switchも適宜使いますね>>924
0934923
2008/01/27(日) 01:42:39ID:???おお、ありがとう!
in_arrayって知りませんでした、大発見て気分です!
使わせていただきます、ありがとう!
0936nobodyさん
2008/01/27(日) 02:47:34ID:???0937nobodyさん
2008/01/27(日) 02:49:47ID:???if( preg_match('/^(yamada|tanaka|kato)$/', $name) ){ print "success"; }
else{ print "miss!"; }
みたいにすればできるけど正規表現理解せずにやっても別の問題起きかねないしその方法のが無難かな。
>>880
>| <Directory "/usr/local/apache2/htdocs/member>
手入力なら関係ないかもしれんけどダブルクオート閉じてなくない?
0938nobodyさん
2008/01/27(日) 02:50:30ID:???0939nobodyさん
2008/01/27(日) 02:51:19ID:???0940nobodyさん
2008/01/27(日) 04:54:36ID:???<!-- test -->
<p>abcd</p>
efgh
ijkl
<!-- /test -->
というのの<!-- test -->と<!-- /test -->の間を抽出したいのですが
preg_match('/<!-- test -->(.*)<!-- test -->/', $buf,$match);
echo $match[0];
でうまくいきません
どうすればいいでしょうか
0941nobodyさん
2008/01/27(日) 04:55:39ID:???preg_match('/<!-- test -->(.*)<!-- /test -->/', $buf,$match);
です
0943nobodyさん
2008/01/27(日) 05:13:57ID:???じゃ
preg_match("/<!-- test -->(.*)<!-- \/test -->/s", $buf, $match);
echo $match[1];
で
$match[0]だとマッチした全体が表示されるので(.*)のとこは[1]ね
0944nobodyさん
2008/01/27(日) 05:35:40ID:???できました
ありがとうございます
0945初心者です
2008/01/27(日) 06:05:29ID:fV3Opxe0phpでmysqlにレコードを追加したいのですが、
$area = 5;
$sql = "insert into area_tbl (area) values ('.$area.')";
$res = mysql_db_query($db,$sql);
では追加できるのですが、
$area = array(10,10);
では追加できません。
arrayの使い方もよくわからない素人ですが
何卒よろしくお願いします。
0946nobodyさん
2008/01/27(日) 06:14:46ID:???次
0947初心者です
2008/01/27(日) 06:16:46ID:fV3Opxe00948nobodyさん
2008/01/27(日) 08:19:55ID:???なぜかは解らんがあれは正規表現で問題があった
多分あれが書かれた時のPHPのバージョンと今のバージョンでは
正規表現の書き方が多少変わったんじゃないかと
正規表現をこれに変更
@(\w+)=([\'"]?)([^\s\2,]+)\2@
$data[$m[1]] = $m[3] ? $m[3] : $m[4];
この部分を
$data[$m[1]] = $m[3];
に変更でいけると思う
0949nobodyさん
2008/01/27(日) 09:05:40ID:???君らphpとか使ってて恥ずかしくないの?
0950nobodyさん
2008/01/27(日) 12:10:01ID:???MSなんか関係あるの?出資や買収でもしたってニュースあったっけ?
IISでPHPに(ある程度)対応するし、提携もしたからその話なのかな。
>君らphpとか使ってて恥ずかしくないの?
んじゃまずYahooとかにその台詞いいなよ。
0951nobodyさん
2008/01/27(日) 12:47:09ID:???言ってみて
0952nobodyさん
2008/01/27(日) 13:02:37ID:???>>949さんは、きっと違いますよね^^
0953nobodyさん
2008/01/27(日) 13:29:23ID:???array_map
array_filter
array_reduce
aray_walk
create_function
とかを使うと、少し気が紛れる。おれはだけど。
0954”削除”の件を質問したもの
2008/01/27(日) 13:37:35ID:???この削除プログラムをどこに利用するかというと 仮登録→本登録 っていうありきたりの流れの中で
仮登録が済んだら本登録画面をmd5で名前を適当に変えてコピってユーザに渡しといて3日後には消す って感じで使いたいんです。
ですからファイル名自体に日付け っていうのはちょっと・・・です
やはりコピったときに コピったファイル名と日付け をデータベースにいれといて そのあとに消す
っていうのが一番オーソドックスな方法ですかね。。。
dbを参照して自動消去するプログラムは1日おきにcronから実行させるって感じで。
このプログラム自体(セキュリティー面やら)みんなに叩かれそうです
0955nobodyさん
2008/01/27(日) 13:37:58ID:???ご両親もそうなのかい?
0956nobodyさん
2008/01/27(日) 14:02:19ID:???なんでファイルを使う必要があるのかそもそも分からん。
要するに、仮登録がすんだら、有効期限3日の間に本登録にしないと
仮登録のデータ消しますよ?ってことだよね。
そのユーザー固有のデータと仮登録日をDBに記録しといて、
「本登録画面」とやらはこのデータを参照するPHPで表示すればいい
気がするんだけど。
物理的にファイルとして存在した方がいいって場合ももちろんある
んだけど、こういうやり方も検討した方がいいかもね。
0957nobodyさん
2008/01/27(日) 14:07:58ID:???ま、掲示板なんかで、サーバの負荷を減らすために
ログファイルからhtmlファイルを作っておいて、
参照は〜.phpではなく、〜.htmlにアクセスさせる
というものがあるけれど、それにあたるものかな?
0958nobodyさん
2008/01/27(日) 14:23:04ID:???{
echo "<p>3~10文字ですよ</p>";
exit();
}
上で質問したものですが、、、これは正規表現として正しい?
0959”削除”の件を質問したもの
2008/01/27(日) 14:31:34ID:???確かにそうですね。プログラムを作る初期の段階で「ファイルをつくらなきゃ」っていう固定観念が生まれてたみたいです。
とすると、ファイルを削除する必要がなくなって 本登録時にDBにアクセスして今の日付けと比較すればいいわけですね。
解決?プログラミング作業に戻ってみます。どうもありがとうございます。
0961nobodyさん
2008/01/27(日) 14:41:31ID:???0962nobodyさん
2008/01/27(日) 14:43:04ID:???・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0963nobodyさん
2008/01/27(日) 14:52:14ID:???0964nobodyさん
2008/01/27(日) 15:03:42ID:???オーバーチュアーのコンバージョンカウンタを突っ込むには、
<html><head>(タグ)</head><body></body></html>を加えないとダメ?
それとももっと簡素化出来る方法がありますか?
ど素人につき、意味がわからない質問になっているかもしれません。
0965nobodyさん
2008/01/27(日) 15:04:41ID:cIwbO15Iid漏れ
0966nobodyさん
2008/01/27(日) 15:07:56ID:???0967nobodyさん
2008/01/27(日) 15:13:30ID:???0968nobodyさん
2008/01/27(日) 15:26:35ID:???0970nobodyさん
2008/01/27(日) 15:31:48ID:cIwbO15I説明ページ→転送ページ(PHP)→商品ページ
という状況で、転送に便利なPHPを使っていたんですけど、
そこに効果測定用のオーバーチュアーのコンバージョンカウンタを
埋め込みたいのです。
どうやったら埋め込めますか?という初歩的な質問です。
コンバージョンカウンタはJAVA SCRIPTで出来ています。
0971nobodyさん
2008/01/27(日) 15:46:18ID:???ブラウザ依存かもしれんけど
0972nobodyさん
2008/01/27(日) 15:52:28ID:???お陰で自分で考える手間が省けるので、時間の節約にもなって仕事にゆとりが出てきた。
今日は、休日だから日頃のお礼を言うよ。サンクス。
0973nobodyさん
2008/01/27(日) 16:10:53ID: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
なぜ?
0974nobodyさん
2008/01/27(日) 16:16:13ID:???最後の " がひとつ多い
0975nobodyさん
2008/01/27(日) 16:18:34ID:???1gyagu = \"アルミ缶の(ry\"";
だっけか
0976973
2008/01/27(日) 16:25:16ID:jK32tI//>>975 うは。うまくいきました。すいません\ってどういう意味でつか???
0977nobodyさん
2008/01/27(日) 16:29:36ID:???0978nobodyさん
2008/01/27(日) 16:32:42ID:???http://jp.php.net/manual/ja/language.types.string.php
というかSQLに於いて文字列リテラルはシングルクォート。
SQLでダブルクォートはテーブルやコラム名の大文字小文字を区別したり、
予約語と被らないようにするための物。
0979nobodyさん
2008/01/27(日) 16:36:55ID:???基礎中の基礎だからちゃんと覚えような
0980nobodyさん
2008/01/27(日) 16:44:58ID:???すごいんだかすごくないんだか
0981nobodyさん
2008/01/27(日) 16:49:37ID:IHMN/CyjJava Scriptの使用はなし、
あくまでPHP単体での取得方法があればお願いします。
0982973
2008/01/27(日) 17:19:50ID:jK32tI//0985nobodyさん
2008/01/27(日) 17:44:37ID:cIwbO15I有り難うございます。
となると、どうやるんでしょうか(^^;
0986nobodyさん
2008/01/27(日) 17:45:55ID:DYynvymq<html>
<body>
こんにちは みなさん
お元気ですか
</body>
</html>
というhtmlファイルがあったとして、
<body>から</body>の間だけ取得するにはどうしたらいいですか?
$file = file_get_contents ("hello.html");
この後どうしたらいいのでしょうか
0988nobodyさん
2008/01/27(日) 17:56:44ID:DYynvymqありがとうございました
0989973
2008/01/27(日) 18:18:31ID:jK32tI//http://pc11.2ch.net/test/read.cgi/php/1201425479/
0991nobodyさん
2008/01/27(日) 18:22:16ID:IHMN/Cyj>>983
それでOKです。串さされたらどうしようもないですし。
方法を教えてもらえませんか?
専用の変数があるんでしょうか?
0992nobodyさん
2008/01/27(日) 18:22:17ID:???なんで62から61になるんだよ
0993nobodyさん
2008/01/27(日) 18:23:03ID:jK32tI//0994nobodyさん
2008/01/27(日) 18:24:51ID:???0995nobodyさん
2008/01/27(日) 18:26:39ID:???0996nobodyさん
2008/01/27(日) 18:27:49ID:+7hlQOJN,,、,、,,, / \〇ノゝ∩ < 野朗共!1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0997nobodyさん
2008/01/27(日) 18:28:28ID:IHMN/Cyj0998nobodyさん
2008/01/27(日) 18:29:46ID:???0999nobodyさん
2008/01/27(日) 18:29:57ID:jK32tI//1000nobodyさん
2008/01/27(日) 18:30:02ID:Nkn4j03s10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。