【PHP】下らねぇ質問はここに書き込みやがれ 61
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/12/19(水) 03:33:51ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2007/12/19(水) 03:33:53ID:???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さん
2007/12/19(水) 03:33:54ID:???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さん
2007/12/19(水) 03:33:54ID:???21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0005nobodyさん
2007/12/19(水) 03:33:55ID:???■本家マニュアル 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さん
2007/12/19(水) 03:33:56ID:???【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/
0007nobodyさん
2007/12/19(水) 04:40:48ID:???php5でwindowsです。
いろいろ探しましたが、
http_clientとか
--with-openssl でコンパイルするとか
php4ts.dllを差し替えるとか
どれもphp5でwindowsだと無理?と思われました。
本当に無理なのでしょうか?
0008nobodyさん
2007/12/19(水) 08:48:39ID:???rubyなら簡単に取得できる
0010nobodyさん
2007/12/19(水) 10:21:11ID:???preg_match("/<p.*?NGWORD.*?<\/p>/", "<p id=A><p id=B><a >NGWORD</a></p></p>", $r);
結果:<p id=A><p id=B><a >NGWORD</a></p>
id=Aは余分です。こういうものなのでしょうか?
さくらで試したのでphp4だと思います。
0012nobodyさん
2007/12/19(水) 12:20:31ID:F1MTppUBを入力してSUBMITすると、受け取ったPHPでは"\\'\\\\\\'"と入っています。
エンコードされないデータを取得するにはphp://inputを使うしかないんでしょうか?
0013nobodyさん
2007/12/19(水) 12:23:25ID:???0014nobodyさん
2007/12/19(水) 12:28:34ID:???http://jp.php.net/manual/ja/function.get-magic-quotes-gpc.php
ここみながら確認しる
onならoffへ変更してあげてね
0015nobodyさん
2007/12/19(水) 12:31:22ID:???1000だったら、php全滅
@一昔前はPerlの達人と恐れられたが、Rubyのクラスが分けわからず時代に乗り遅れた化石Perler
AJAVAの思想は素晴らしいのに周りに理解者が少なく、コストの問題でクライアントがPHPを指定してきて嫌々やらされているJAVAer
B周りはネット全盛なのに、未だにSoketプログラムが理解できずネットの海に出られない鎖国状態のVisualStudioer
CwebデザイナーはPHPぐらいできないとゴミと言われて、いつの間にかPGにさせられてしまった自称webデザイナー
Dプログラマーという職業に憧れているけど、PG的思考ができずに指をくわえて見ていることしかできないゲーマー
さあレッツ プロファイリング!
0016nobodyさん
2007/12/19(水) 12:36:47ID:???0019nobodyさん
2007/12/19(水) 12:40:41ID:F1MTppUB002012
2007/12/19(水) 12:44:48ID:???以下、ttp://phpspot.net/php/man/php/wrappers.php.htmlからの抜粋ですが、
php://input は、POST の生データの読み込みを 許可します。
これは $HTTP_RAW_POST_DATA に比べて メモリ消費量が少なく、特別な php.ini ディレクティブを設定する 必要がありません。
php://input は、 enctype="multipart/form-data" に対しては 使用できません。
0022教えて下さい
2007/12/19(水) 17:15:38ID:n596SeRoここで配布されているファイルをUTF-8にソースコードを変えたんですが、
148行目ぐらいの
// 投稿処理
function send() {
$data = file("./lineboard/log.txt");
$newtime = time();
この投稿処理の項目がshift-jisでエラーコードが返されるのでUTF-8でエラー表示をかえしたいんですが
どこをいじってあげればいいのかアドバイスくれないでしょうか。
sjisコードをutf-8で置き換えたんですが、エラーの時の投稿処理される
メッセージが長すぎますなどがsift-jisで返されるので文字化けしていまいます。
0023nobodyさん
2007/12/19(水) 17:43:52ID:???print "<head>\n";
print "<meta name=\"robots\" content=\"index,follow\">\n";
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n";
print "<meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n";
print "<meta http-equiv=\"content-script-type\" content=\"text/javascript\" />\n";
print "</head>\n";
これでいけました
解決
0024nobodyさん
2007/12/19(水) 18:53:57ID:E60FAw4Dちょっと迷っています。ちなみに可変変数を使っているので私にはむずかしく、、助言をお願いしたいしだいです。
原文は
$data = "FIELD_$j";
$data = $$data;
という2文です。ちなみにforループの中で$jをカウント変数で使っています。
FIELD_$jというのは、WEBページのテキストボックスに上からFIELD_0,FIELD_1...と
つけた名前です(<input type="text" name="FILED_0">という感じで)。
レジスターグローバルをオフにしているため、
$_POST['FIELD_$j']としなくてはならないのですが、そうするためには
$data = "_POST['FIELD_$j']";
$data = $$data;
で文法的に正解でしょうか?よろしくお願いします。
0025nobodyさん
2007/12/19(水) 20:30:00ID:???0027nobodyさん
2007/12/19(水) 21:36:30ID:???アクセスカウンタを例にしますと、
テキストのログファイルを読み込ませるほうがよいのでしょうか?
この程度でもDBと連携させたほうが効率が良いのでしょうか?
簡単なものはテキスト、中規模以上はDBって感じでしょうか?
小さくてもアクセス頻度が高い場合はDBのほうが安全なのでしょうか?
速度、鯖の負荷、その他ありましたら教えてください
よろしくおねがいします
0029nobodyさん
2007/12/19(水) 21:42:39ID:???$data = "_POST['FIELD_$j']";
$data = $$data;
↓
$data = $_POST["FIELD_$j"];
この一行でOKでは
なんて本、それ
0031nobodyさん
2007/12/19(水) 22:14:57ID:???>>30
http://pc11.2ch.net/db/
0032nobodyさん
2007/12/19(水) 22:29:41ID:???知ったかはヤメロ。
アクセスログをDBなんかでやったら、
通常のレン鯖で1時間3000PVでコネクションオーバーでエラーが出る。
0034nobodyさん
2007/12/19(水) 23:52:23ID:???今はとりあえずストリームソケット用いてやっています・・・
0035nobodyさん
2007/12/19(水) 23:56:55ID:???>通常のレン鯖で1時間3000PVでコネクションオーバーでエラーが出る。
出ないし。
ていうか、DBより1時間に3000PVとか転送量のほうが問題だ。
0036nobodyさん
2007/12/20(木) 00:01:22ID:???0037nobodyさん
2007/12/20(木) 00:09:19ID:???0038nobodyさん
2007/12/20(木) 00:28:55ID:???0039nobodyさん
2007/12/20(木) 01:39:32ID:???簡単なものでテキストで処理したほうが楽だと思うならそうすればいいし
普段からDB使ってるしDBのほうが楽だと思うならそうすればいい
0040nobodyさん
2007/12/20(木) 02:17:17ID:???0042nobodyさん
2007/12/20(木) 02:36:41ID:???レンタルサーバだからといって、多少負荷がかかるにしろ、
その程度のリクエストでDBがパンクしてたらDBなんて許可しないし、
そんな簡単にダウンするほど信頼性の低いもんじゃない。
Googleなんて分散してるとはいえ、1台あたり1秒にどんだけこなしてると思ってるんだ?
0043nobodyさん
2007/12/20(木) 04:35:22ID:???0044nobodyさん
2007/12/20(木) 04:45:08ID:???年賀状欲しい人は、住所と名前を書いてもらえば出します。
0045nobodyさん
2007/12/20(木) 06:10:17ID:8BakDrsf(http://pc11.2ch.net/test/read.cgi/php/1196511516/814)
今作ってる会員システムでは
1)ログインID,ログインPassを使って登録済み情報からユーザ名とidを抜き出す
2)それぞれセッションに入れて
ユーザ名は「○○さんの管理ページ」の表記に使う
idはいろんな情報を登録・更新するときのキーに使う
という風にしています。これはまずいんでしょうか?
また、会員エリア内でフォーム記入→確認ページ という流れで、
修正時に記入ページに戻るときにもフォームに値を入れるためにセッション使ってます
これもまずいとすればこの部分はどうしたらいいんでしょうか?
0047nobodyさん
2007/12/20(木) 08:21:04ID:???0048nobodyさん
2007/12/20(木) 09:07:38ID:???http://pc11.2ch.net/test/read.cgi/php/1196511516/814
↑
これには「セッションなんてログインしたときだけ値を持たせる 」
とは書いてあるけど、
0049nobodyさん
2007/12/20(木) 09:10:35ID:???005045
2007/12/20(木) 09:26:29ID:8BakDrsfどうもです あれこれサイト見て勉強します
>>48
どうもです まずい というのは上記の程度のセッションの利用でも、それをきっかけに
のっとりとかされてしまうのかなぁと、、
「修正シーン」に記入値をセッション引用して入れるのも、「ログインしたときだけ値を持たせる」の
ルールからすればダメなのかな、など気になります(別のやり方が思いつかない)
>>49さんの言うとおりhiddenでまわす方法があるのも調べてわかりましたが、
そしたら全部のリンクがpostになる?わけで、デザイン的にいやだしと、、
気が向いたときに回答いただけたら十分なのでよろしくお願いします
自分でも引き続き調べてみますので
0051nobodyさん
2007/12/20(木) 12:01:24ID:???セッションで管理すべきもの。
今画面に何を表示しているかについては、議論なり判断があって良いと思うけど、
これについては、個人的には hidden 推奨。
0052nobodyさん
2007/12/20(木) 12:04:00ID:???0053nobodyさん
2007/12/20(木) 12:11:34ID:???0054nobodyさん
2007/12/20(木) 12:53:32ID:???005545
2007/12/20(木) 14:09:16ID:8BakDrsfえ? つまりフォームの記入(修正)ページに入れる値は、hiddenですか?
てことは確認ページで
<input type="hidden" name="namae" />などしてキープして、
戻るボタンにjavascriptかなんかで修正ページに向けてsubmitするの?
ちょっと本屋で見てこよう、、
0056nobodyさん
2007/12/20(木) 14:12:30ID:???005751
2007/12/20(木) 14:43:41ID:???JavaScript使用可の前提で書くけど、どっちにするかといえば、Hiddenにする。
自分が作るなら、確認用ページはJavascriptで生成するようにする。
確認ページ表示に、サーバに問い合わせる情報が必要であればAjax的な方法で取得する。
携帯みたいな通信コストが無視できない場合は、セッションでの管理も考えるけど。
0058nobodyさん
2007/12/20(木) 14:49:48ID:???サーバーサイドで完結してたほうがいいような気がするが。
006045
2007/12/20(木) 21:21:17ID:???なるほど 携帯とPCで使い分けするんですね、考えたこともありませんでした
あの、最後にひとつだけ聞きたいんですが
<input type=text name=namae>ってのが記入ページにあったとき、
確認ページは
<form action=kanryou.php>
<input type="hidden" name="namae" value="<? echo $_POST['namae']; ?>">
<input type="submit" value="完了ページへ">
</form>
ていう完了ページに飛ぶ用のフォームと
<form action="kinyu.php">
<input type="hidden" name="namae" value="<? echo $_POST['namae']; ?>">
<input type="submit" value="戻って修正">
</form>
という修正ページに飛ぶ用のフォーム2つを用意するんでしょうか?
フォームは一個で、クリックされたサブミットボタンに応じてactionの値を切り替えるの?
いい加減しつこいとは思うので、本当に暇な人、答えてくれれば結構です。sageます
0061nobodyさん
2007/12/20(木) 21:39:52ID:???0062nobodyさん
2007/12/21(金) 00:43:35ID:???<input type="submit" name="action" value="確認">
<input type="submit" name="action" value="修正">
っていう風にすれば、$_POST["action"]を取得することでどの画面をだせば
いいかは分かるんで、確認画面にフォーム二つもいらない。
書き込みも確認も書き込み完了も、どの画面も全部同じひとつのPHPで扱うけどね。
わざわざ三つとかに分けたりしない。
フォーム入力値の受け渡しはセッションでやった方が楽だけど、既出の
通りブラウザ複製などの場合値が書き換わっちゃうのでやらない。
携帯ならこの問題がないけど、セッション使えないのもあるのでやっぱ
hidden使うかなあ。
セッション使うって言ってる人はこの問題にどう対応してるのか不思議。
0063nobodyさん
2007/12/21(金) 00:59:28ID:9upg4HjCセッションを使うことによってセキュリティーは向上するけど、
多用しすぎることで、パフォーマンスが劣化し、結果的にセキュリティーが劣化するというジレンマ。
例えて言えば、医学が進歩して寿命が延びることで、不労人口が増えて、
結果的に人類が滅びるというジレンマだよ。
つまり、目先の良さにばかりいくと、長期的には全く逆の結果になるということ。
0064nobodyさん
2007/12/21(金) 01:03:49ID:???セッション多用してメモリがいっぱいいっぱいになる可能性があるってーなら解るが
0066nobodyさん
2007/12/21(金) 01:12:13ID:9upg4HjC想像力働かせろよ。
プログラマー脳の典型だよ、まぁ設計には一生なれないな、お前は。
200歳まで生きられる医術・薬品が開発される
↓
生殖機能を持たない、エネルギーだけを消費する不労生体が増える
↓
1人の若者が100人の老体を面倒見る。仕事している暇がない。
↓
国家財政破綻、国力ゼロ、防衛能力ゼロ
↓
発展途上国の台頭、テロリストの台頭
↓
国際経済破綻、無政府状態
0067nobodyさん
2007/12/21(金) 01:15:58ID:???何故に?
0069nobodyさん
2007/12/21(金) 01:17:13ID:???可用性が低下するので、広義のセキュリティが低下したと言えなくも無い。
0071nobodyさん
2007/12/21(金) 01:26:24ID:9upg4HjC人を批判する前に、原因と結果の繋がりを細かく検証しろよ。
セッション多用
↓
メモリー消費、オーバーフロー
↓
HDDへのスワップが多発
↓
システムが不安定
↓
HDDの中身が画面に表示される
↓
セキュリティー劣化
0072nobodyさん
2007/12/21(金) 01:28:42ID:1HbS1x3e参照渡しすると、値が書き換えられて帰ってくることを期待してるようなソースに見えるのが嫌。
例えば、実は値を変更するまではマジックコピー的に処理してるとかだと気がラクになるんだけど。
0073nobodyさん
2007/12/21(金) 01:30:19ID:???多用してるのが解ってるならだいたいピーク時にどれぐらい消費してるとか
そういうのをチェックしてない時点でダメなんだろ
0075nobodyさん
2007/12/21(金) 01:35:41ID:1HbS1x3eありがとう。気がラクになった。
面倒でなければ、情報ソースかヒントだけでも教えてくれるとありがたい。
0076nobodyさん
2007/12/21(金) 01:51:45ID:???記事自体は凄く古いが
http://www.sound-uz.jp/php/test/first2.html
ここだったと思う
まぁphpのサイトにもパフォーマンスのためだけに使うなって書いてるし
http://www.php.net/manual/ja/language.references.return.php
それでも気になるならmemory_get_usageとか使って
メモリの消費量をチェックしてみるといいかもね
0079nobodyさん
2007/12/21(金) 05:02:52ID:k3WWlkOg指定した数の乱数順列を生成する関数とかってありますか?
例えば10を指定した場合、
4,3,2,9,8,7,10,1,6,5
3,6,4,2,1,9,7,10,8,5
のような並びで配列とかに格納してくれるような感じで。
もし知っている方いましたら教えてください。
お願いします。
0082nobodyさん
2007/12/21(金) 10:14:56ID:O7QmdYOiローカルテストのためWindowsXPにApache/2.0.61(Win32) PHP/5.25をインストーラーでインストールしたのですが、
パスを指定してアクセスすると.phpのファイルだけHTTP500内部サーバーエラーが出て表示してくれません。
.htmlは表示されますし、.pqpとか適当な拡張子をつけたファイルも表示はしてくれました。
Apache MonitorではPHPのバージョン表記もされていて、
インストールは完了しているようなのですが、何か原因が分かればお願いします。
0084nobodyさん
2007/12/21(金) 11:18:19ID:???こんな中で開発に携わっている人いる?
いや、一つのメソッドでもいいので実装したら、
それだけで経歴書に「phpの開発メンバー」とかって書けるかなぁ、って。
出来たら、自分が作ったメソッドに自分の名前の一部で使えたら最高なんだけど。
0086nobodyさん
2007/12/21(金) 11:54:40ID:???0087nobodyさん
2007/12/21(金) 11:55:36ID:???0088nobodyさん
2007/12/21(金) 11:59:36ID:???0089nobodyさん
2007/12/21(金) 12:04:23ID:???単にPHP自体の開発が出来るということを示したいだけなら、
野良モジュールをpeclにでも登録すれば?
あるいはメインストリームなモジュールのバグ一覧を見て、
未解決のバグのパッチを辛抱強く投げつづけるか。
そうでなければ、本家MLに参加して議論とパッチの応酬を繰り返すとか。
しかし経験からいわせてもらうと、PHPの開発がホイホイ出来る奴は
PHP言語を使う仕事にはなかなかつかせてもらえない罠
0090nobodyさん
2007/12/21(金) 12:10:20ID:???『排他ロック中には他のプロセスが割り込めないので
ロックは1つかければ十分』…と聞いたんですが
例えば…
$lock_fp = fopen("lock.txt","w");
flock($lock_fp,LOCK_EX);
$fl = fopen("data.dat","w");
if($fl){
fwrite($fl,$write_data);
fclose($fl);
}
fclose($lock_fp);
こうしておけば、data.datの方もlock.textがロック解除されるまでは
書き込んだりできないんでしょうか?
0091nobodyさん
2007/12/21(金) 12:29:26ID:???なるほど、参考になるわ。ありがとう。もしかして、開発メンバー?
>しかし経験からいわせてもらうと、PHPの開発がホイホイ出来る奴は
>PHP言語を使う仕事にはなかなかつかせてもらえない罠
これは、どうして?
PHPを開発した人は守秘義務とかに縛られて、
PHPを使った開発はできないとか?
>>90
これ、ちょうど俺が実装したかったロジックだ。なんというタイミング。
俺が実装したいメソッドは、一つのメソッドで面倒なロックをやってくれるもの。
boolean write_data_with_safety_lock($file_name, $data)
ファイル名と書き込みデータを引数で渡せば、
ロック機構を実装したこのメソッドが安全に書き込めるというメソッド。
このメソッド作ったら、絶対php6.0とかに採用されると思っているんけど。ニーズも絶対あるし。
0092nobodyさん
2007/12/21(金) 12:47:28ID:???0093nobodyさん
2007/12/21(金) 13:02:05ID:S3fUHMf0<?php だけで、最後の ?> は付けないってのがあったと思うんだけど
これって個人的にはすごく気持ち悪いんですが、こんなもんなんでしょうか?
0095nobodyさん
2007/12/21(金) 13:10:57ID:???表示される事による見つけにくーいバグを回避する事ができる
と俺は勝手に解釈
まぁ画像をphpで出力されてたりとか
携帯向けにHTML出力する時にこういうので苦労した事あったから
俺はつけないけど
0096nobodyさん
2007/12/21(金) 13:13:40ID:???>>PHP言語を使う仕事にはなかなかつかせてもらえない罠
>これは、どうして?
単なる元野良モジュール作者だけど、
単純にCでマルチプラットフォームな開発が出来る奴ぁそれを仕事にした方がぶっちゃけ収入が良いのです。
0098nobodyさん
2007/12/21(金) 14:35:20ID:J4pqu08c0099nobodyさん
2007/12/21(金) 15:20:15ID:???0100nobodyさん
2007/12/21(金) 15:46:33ID:???0101nobodyさん
2007/12/21(金) 15:53:53ID:???変数に格納するにはどうしたらいいんでしょうか。
初心者質問スマソ。
0102nobodyさん
2007/12/21(金) 16:01:46ID:???> ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
> ・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
> ・ 己の行った操作、変更などを詳しく明記すること。
> ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
> ・ 質問者として、態度をわきまえること。
> ・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0103nobodyさん
2007/12/21(金) 16:03:59ID:???http://www.php.net/manual/ja/language.types.string.php
0104101
2007/12/21(金) 16:04:34ID:???<a href="index.html">2ちゃんねる</a>だったら
↓
echo "<a href=\"index.html\">2ちゃんねる</a>";とするか
echo '<a href="index.html">2ちゃんねる</a>';とすることで解決しました。
君たちみたいなバカに聞いたのが間違いでした、ニートどもは黙って職安いきなさいクズ
0105nobodyさん
2007/12/21(金) 16:11:34ID:Bll92VntDB更新を処理ごとに複数の関数で作成する場合は
エラー時にロールバックするためにそれぞれの関数の頭に
$db = $this->backend->getDB();
$db->db->autocommit(false);
$db->begin();
これを書く必要がありますか?
それとも
$db = $this->backend->getDB();
だけでOKですか?
0107nobodyさん
2007/12/21(金) 16:23:19ID:???$db->begin();
のみでOK
0108101
2007/12/21(金) 16:40:25ID:???ありがとう。専ブラなんでsageチェック外すの忘れてました。
>>104さん、他人を騙ってる割にはいい人ですね感謝。
010990
2007/12/21(金) 16:57:32ID:mXpbsFrGあらかじめロックファイルの方で排他ロックを制御できれば
処理が簡単でいいなぁ、と思ったんですが、>>90のやり方で
data.datに対しての同時書き込みは防げますでしょうか?
0110nobodyさん
2007/12/21(金) 17:00:05ID:mCAqxYSIPHPをどこにはさんでよいのかがわかりません。
一覧ページで再生する曲をチェックし、フォームで取得しています。
form actionで指定したページに
<OBJECT ID='Player' width='300' height='48'
CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>
<PARAM name='autoStart' value='true'>
<PARAM name='URL' value='file_name.asx'>
<embed src='file_name.asx' autostart='true' width=300 height=48></embed>
</OBJECT>
を記述しています。
PHP5.2.4 APACHE2
よろしくお願いいたします。
0111nobodyさん
2007/12/21(金) 17:00:17ID:bUxsI4En入力されたID・パスが違うときはエラー画面に飛ばす処理が上手くいきません
session_start();
/* ログイン情報問い合わせ-----------------------------------------*/
require_once 'config.inc.php';//DB接続関連の設定ファイルの読み込み
require_once 'adodb/adodb.inc.php';//ADOdbモジュール読み込み
$DB = NewADOConnection(_DB_TYPE);//接続の設定
$DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME);
if(!$DB){//接続エラー時
header("Location: /system/index.html?ec=1");?//エラーページへ
exit;
}
php部分は上記の記述だけですが、表示すらされません。リダイレクトもされません
//if文の中のheader;とexit;をコメントアウトすれば、省略されてる
<html>タグ以下のページデザイン部分が表示されます
headerはすべての出力よりも先に書くというルールは知ってるんですが
何も出力してないはずでわけがわかりません
低レベルですみません、教えてください
0112nobodyさん
2007/12/21(金) 17:01:30ID:bUxsI4En×入力されたID・パスが違うとき
○接続エラーのとき
0114nobodyさん
2007/12/21(金) 17:02:43ID:???0115nobodyさん
2007/12/21(金) 17:15:35ID:???あるだろボケ
http://pc11.2ch.net/test/read.cgi/php/1186096518/
0116105
2007/12/21(金) 17:35:04ID:Bll92Vntありがとうございます。助かりました。
>>106
すいませんでした。Ethna固有の機能ではなかったので「Ethnaの環境でやってます」という意識でした。
0119110
2007/12/21(金) 18:42:10ID:mCAqxYSIやってみたのですが、やっぱりページカウンターになってしまいました。
if(isset($_POST['maker'])) {
$db = new mysqli("*","*","*","*");
$stt = $db->prepare("select * from music_lank where url=?");
$stt->bind_param("s",$_POST['maker']);
$stt->execute();
if($stt->fetch()!==TRUE) {
$sql="insert into music_lank(url,count) values(?,1)";
}
else {
$sql="update music_lank set count=count+1 where url=?";
}
$stt->close();
$stt2 = $db->prepare($sql);
$stt2->bind_param("s",$_POST['maker']);
$stt2->execute();
$db->close();
print("
<OBJECT ID='Player' width='300' height='48'
CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>
<PARAM name='autoStart' value='true'>
<PARAM name='URL' value='ASX/{$_POST['maker']}.asx'>
<embed src='ASX/{$_POST['maker']}.asx' autostart='true' width=300 height=48></embed>
</OBJECT>
<br>
");
}
冒頭の「isset」が原因なのはわかるんですが
埋め込みのメディアプレーヤーの再生ボタンを
押した瞬間にPHPを発動できれば解決なんですが・・・。
0120nobodyさん
2007/12/21(金) 19:39:49ID:???0121110
2007/12/21(金) 19:49:36ID:mCAqxYSI0122nobodyさん
2007/12/21(金) 19:55:42ID:???>埋め込みのメディアプレーヤーの再生ボタンを
>押した瞬間にPHPを発動できれば解決なんですが・・・。
むり。どうしてもやりたいならAjaxとかFlashつかえ
0123nobodyさん
2007/12/21(金) 19:57:20ID:???2.FlashでActionScriptで組み込む
0124110
2007/12/21(金) 20:00:51ID:mCAqxYSI無理でしたか。それが分かっただけで一歩進めました。
ありがとうございました。
>>123
ありがとうございます。
0125nobodyさん
2007/12/22(土) 00:11:25ID:???ttp://localhost/rawurlencode(UTF8なファイル名).html
のようにアクセスすると、ローカル上の
UTF8なファイル名.html
ではなく
SJISなファイル名.html
にアクセスしにいくんですが、これってどういう理屈かご存知の方いませんか?
firefox, ie7 共になります。
これって windows じゃなくて linux サーバ上だと
EUCなファイル名.html
を見にいったりすることになるんですかね?厄介。
0126nobodyさん
2007/12/22(土) 00:13:29ID:???◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0127nobodyさん
2007/12/22(土) 00:15:38ID:YFLFW+ip〜〜
EOF
ってのがよくあるけど、この〜〜の部分で関数を実行できないの?
echo <<<EOF
<td>$hoge->gethoge(1);</td>
EOF
って感じ。関数でなく、変数を書いてその値を表示ならできたんだけど。。
0128nobodyさん
2007/12/22(土) 00:26:48ID:???>>1
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0129nobodyさん
2007/12/22(土) 00:45:03ID:VmEGw74Tよく、以下の表示を見るのですが、これはどのように制御しているのでしょうか?
セッション数を取得して閾値を越えたら、この表示を出すといった処理なのでしょうか?
私も作りたいとは考えているのですが、何を基準にしていいいのか分かりません。宜しくお願いします。
現在アクセスが集中しています。
現在アクセスが集中しており表示しにくい状態となっております。
申し訳ございませんが、しばらく時間を置いてからアクセスするようお願いいたします。
0133133
2007/12/22(土) 03:51:34ID:PQDDH9MU→メールが送られてきて、リンクをクリックすると本登録
→サーバスペースやメールboxが作られる
この一連の動作を自分のサイトで実現しようと思ったら何を勉強すればいいだろうか。
phpとDB系を組み合わせればできる?
0134nobodyさん
2007/12/22(土) 04:03:34ID:???DB関連でエラー出たらそれ出してるんだと思ってた。。
セッションやApacheへの接続数より、DBがボトルネックになることが
多い気がするし、「現在アクセスが集中しています。」の表示が出るまで
ちょっと時間かかるサイトが多いし。
ただしDB接続エラーでこれ出すだけでもDBに負荷かかるんで、132の言う
通りApacheでやるのが一番いいかなあ。
Apacheの設定、PHPでセッション数、DBの接続エラー全部でそういう処理
入れといて、DBの接続エラー出る前にApacheの接続数の上限に達する
ようにうまく調整するのが一番よさそう。
0135nobodyさん
2007/12/22(土) 04:21:23ID:???メールサーバとサーバOSもかな。Webサーバもね。
・仮登録メールを受信してPHPを実行する仕組みが必要。これはメールサーバ。
本登録用のメールはPHPがメーラーの役割を果たして、メールサーバ利用して
返信する。
・サーバスペースは物理的にHDDにフォルダ作ることになるから、PHPからシェル
コマンド叩くとかの処理がいる。手動であらかじめ作っといて、空きがないなら
登録拒否とかでもいいかもだけど。。
・メールボックス作成はやったことないんでよくわからん。
コマンドラインでそういう処理ができるメールサーバはありそうだから、やっぱり
PHPから実行することになるかな。これも手動であらかじめ、ってできるかもだけど。
・Webサーバの知識はWebアプリ作る以上当たり前。
その機能を実装するだけなら通り一遍の知識でも動くと思うけど、
サーバスペース貸与サービスってレンタルサーバでできるのかな?
できないなら自分でサーバたてて運用することになるんで結構大変。
特にメールサーバは下手に立てるとWebサーバ以上に迷惑をかけることになるので。
知り合いがそういうサービス個人でやってたけど、自宅にサーバ
置いてたしなあ。
0136127
2007/12/22(土) 05:00:56ID:???一旦外で実行してから読み込めばいいんですね どうもお騒がせしました
0137nobodyさん
2007/12/22(土) 05:57:17ID:???分かりにくい質問だけどメールサーバ関係ないんだろ?
セッションやmd5でユニークな値を持つチケットを発行すれば済む話
0138133
2007/12/22(土) 06:35:51ID:???実は趣味で自宅鯖立てて、最近スペース貸出を考えているのですよ。
それでそんなプログラムできればいいかな、と。
PHPって結構いろんなことできるんですね。PHPを習得するとともに、まずメル鯖立てるために固定IPゲットせねばw
135さんのレスをもとに勉強の方針立てて頑張りたいと思います。
ところでこんな時間にレス、て何者?w
0139nobodyさん
2007/12/22(土) 09:36:10ID:???自鯖立てるのは結構だが、質問内容からするとかなり不安なので、
最初は審査はさんで手動登録にするとして、鯖管としての勉強をするのが第一。
踏み台になって周りに迷惑かけないようにね。
0141nobodyさん
2007/12/22(土) 11:21:56ID:JyLvDbSdPEARでDB.phpが読み込まれているかチェックするために
クラスチェック("DB")のようにしたいのです
0142nobodyさん
2007/12/22(土) 11:24:26ID:JyLvDbSd0143nobodyさん
2007/12/22(土) 13:21:02ID:iV97cpSOこれを数式だと解釈して 1+2+3 (= 6) を返すような関数て
ありましたかね?
0145nobodyさん
2007/12/22(土) 13:36:39ID:iV97cpSO$str = "1+2";
echo $str. "\n";
eval("\$str2 = $str ;");
echo $str2. "\n";
解決した。
0146138
2007/12/22(土) 13:46:19ID:???まあ鯖管やるといろいろと勉強になるし、がんばってくれ。
ただ139と同意見でもあるので、いっぺんにいろいろやろうとせずに
PHPならPHPだけって感じでやっていったほうがいいと思う。
メールサーバは半日放置すればすぐ踏み台にされるし、他のメール
サーバの管理者から文句が来たり、ISPその他から警告来ることがあるよ。
0147nobodyさん
2007/12/22(土) 15:17:14ID:JyLvDbSd$structure = Mail_mimeDecode::decode($params);
をしたときに、メールの件名・本文の文字コードを取得したいのですが、
本文はcontent-typeにありますけど、件名がありません。
どこで取得すればよいのでしょうか?
0148nobodyさん
2007/12/22(土) 15:29:17ID:XDbomIjm勉強したいので。。独学ですが、普通の本のソースじゃものたりなくなりました。。
よろしくお願いします。
0150148
2007/12/22(土) 15:40:37ID:XDbomIjmどうもありがとうございます。その2つをとりあえず見てみます。あと、思いついたんですが
洋書でいいのないですかね?あっちの方が本格的な気がして。。洋書でいいのを知っている方
教えてください。よろしくお願いします。
0151nobodyさん
2007/12/22(土) 15:49:04ID:???あまり使われてないようだけど、#がスクリプトに混ざってたりしたら気持ちわるかったりするのかな
#昔書いたスクリプトで、いたるところにコメントで/* */を使ってあるのをメンテしてて、
#/* */使って問題箇所を切り分けようとしたら酷い目にあった
0153nobodyさん
2007/12/22(土) 15:54:32ID:???PHP5でクラス使ってるのが所望なら、mediaWIKIおすすめ
俺はめまいがして静かにエディタを閉じたけどw
0154nobodyさん
2007/12/22(土) 15:54:49ID:???evalで実行してます。
(計算機のようなものです)
でもこうすると、ユーザーがたとえばファイル読み書きなんかの
命令を入れたら実行されてしまいます。
なんかいい方法はありますか?
ちなみに単純な計算機ではなく、関数など複雑な
式を入力することが出来きることが条件です。
0155nobodyさん
2007/12/22(土) 15:55:21ID:???動物本でも読んだら?
0156nobodyさん
2007/12/22(土) 16:00:36ID:???で、どんなIPアドレスでもネットワーク内ある(trueになる)という、
物凄いバグありバージョンがあったな
設置だけして使ってはいなかったけど
0158nobodyさん
2007/12/22(土) 16:23:32ID:???自分も式を扱うプログラム書いてるけど、色々処理が必要なので真面目にパースしてる。
簡単に済ませるなら、正規表現で計算式以外の要素が無い事を確認するのが良いんじゃないかと思う。
正規表現では対応しにくいようなら、Tokenizer使って分解してチェックじゃないかな。
http://jp2.php.net/tokenizer
0160nobodyさん
2007/12/22(土) 18:52:20ID:???>>1
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0161148
2007/12/22(土) 19:01:21ID:???しかし、ソースを打ちたい。。
>>153 MediaWikiをググって見てみました。今のところどういうものかわかりませんが
時間ができたらよく調べてみようとおもいます。どうも有用な情報ありがとうございました。
お二方、お礼が遅くなりすみませんでした。ありがとうございました。
0164nobodyさん
2007/12/23(日) 01:20:47ID:???0165nobodyさん
2007/12/23(日) 01:28:41ID:???というか違う事が書いてあったら困る。
0166nobodyさん
2007/12/23(日) 02:11:39ID:???もう少しで新しいバージョンのが出るらしい。
今気付いたけど、Amazon見ても目次もないから買おうか迷ってる人が判断できないな。
もったいない。
この本には、中括弧の置き方くらいの事に関しても、BSD style, GNU style,
K&R style のそれぞれの説明とかがある。
あと、Extensionの説明だけでなく、「Writing SAPIs and Extending the Zend Engine」
なんて章があって、SAPIで使ってる構造体から説明してる。
データベースマッピングの複数のデザインパターンの説明もあって、
The Active Record Pattern とかいろいろ書いてある。
もちろんその他には、エラーハンドリング、テンプレートシステム、テスト、
キャッシング、セッション、認証、RPC、プロファイリングとかの説明もある。
なんて言うか、本格的。
なんで日本語訳されてないんだろう。
0167nobodyさん
2007/12/23(日) 03:32:32ID:KIQSv7/M<?
$hoge = 'a';
〜インクルードここまで
$hoge = 'b';
?>
[include.php]
<?
include 'a.php';
echo $hoge;
?>
$hoge = a にしたい場合、ifで制御する方法はありませんか?
include_break();みたいな
0168167
2007/12/23(日) 03:33:34ID:KIQSv7/M0169nobodyさん
2007/12/23(日) 04:06:10ID:???0170nobodyさん
2007/12/23(日) 04:16:30ID:???わざわざ難しく考えないで、今できる知識で組めよ。
コードを今の10倍の量を書いたとき、新しい技法を覚えるってことよ
0171nobodyさん
2007/12/23(日) 04:57:03ID:???htmlquickformでメールフォームを作りたいのですが、その過程でprocess関数を使うところでつまづいてしまいました。
process('test',false)としてfunction test($values)と受け取るのですが、
具体的にvaluesが何の値を受け取っているのかがよく分からないのです。
下のコードでいうと
function mail($values)
{
mb_send_mail(??????????????);
}
のところで、「valuesって一体何?」と思うわけです。
直感的にmb_send_mail(:::@:::,$subject,$body);としてもダメなようですし、、、混乱してます。(C→phpとやってきたからかな、、、
0172nobodyさん
2007/12/23(日) 04:57:57ID:???$form->addElement('header',NULL,'お問い合わせ');
$form->addElement('text','name','名前');
$form->addElement('text','mail','メールアドレス');
$form->addElement('text','subject','件名');
$form->addElement('text','body','本文');
$form->addElement('submit','sbm','送信');
$form->addRule('name','名前を入力してください。','required','client');
$form->addRule('mail','メールアドレスを入力してください。','required','client');
$form->addRule('mail','メールアドレスを正しく入力してください。','email','client');
$form->addRule('body','本文を入力してください。','required','client');
$form->setRequiredNote('<font color="Red">*</font> 必須項目です。');
$form->setJsWarnings('入力ミスによりエラーが発生しました。','エラーをご確認の上、再度[送信]ボタンをクリックしてください。');
if($form->validate())
{
$form->process('mail',FALSE);
}
else
{
$form->display();
}
function mail($values)
{
mb_send_mail(??????????????);
}
?>
0173nobodyさん
2007/12/23(日) 05:00:50ID:???・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0174nobodyさん
2007/12/23(日) 06:07:25ID:???<data>
aaa
<p>bbb</p>
ddd
</data>
てなXMLの"aaa"とか"ddd"のようなTextノードにはどうやって
アクセスしたらいいでしょう??
asXML()すると復元できるんだよなぁ
0175nobodyさん
2007/12/23(日) 06:23:36ID:/N04QiDASimpleXMLElementで、
<data>
aaa
<p>bbb</p>
ddd
</data>
てなXMLの"aaa"とか"ddd"のようなTextノードにはどうやって
アクセスしたらいいでしょう??
asXML()すると復元できるんだよなぁ
1つ思いついたのは、
$dom = dom_import_simplexml($xml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);
とやる。
ってこれじゃーSimpleXMLの意味がない
0176nobodyさん
2007/12/23(日) 07:02:39ID:???単独のテキストノードなの?
aaa〜dddまでひとつのノードじゃないかって気がするんだけど。
<data></data>しかないじゃん。
さらにそのサンプルは<data>zzz</data>にしてる気がするんだけど、
"aaa"や"ddd"へのアクセスってのとの関連がよくわからん。
0177nobodyさん
2007/12/23(日) 07:13:23ID:???<?xml version='1.0' standalone='yes'?>
<data>
<content>aaa</content>
<content><p>bbb</p></content>
<content>ddd</content>
</data>
ってことになるのかな。
$dom->content[0]で"aaa"、$dom->content[2]で"ddd"が取得できる。
後半意味が分からんのは変わらんので、
http://jp2.php.net/manual/ja/ref.simplexml.php
ここの例の部分よく読んで意図がちゃんと分かるように書き込みやがれこのキャベツ野郎。
あ、書いたXMLが正しいかどうかはとりあえずメモ帳当たりにコピペしてXMLで
保存してIEあたりで開けば分かるよ。
0178nobodyさん
2007/12/23(日) 07:19:03ID:???ここ紛らわしいかな。
$xml = new SimpleXMLElement($xmlstr); //$xmlstrには177のXML文字列が入る
$content0 = $xml->content[0]; // aaa
$content2 = $xml->content[2]; // ddd
ってことね。
0179175
2007/12/23(日) 07:45:21ID:/N04QiDAaaa
<p>bbb</p>
ddd
</data>
この状態でXMLとして正しくてDOMで厳密にいうと、
Elementノードdataの最初の子はTextノードで、"\naaa\n"となる。
2番目の子は、Elementノードpで最後の子がTextノードの"\nddd\n"。
んで、SimpleXMLElementから、"\naaa"などのTextノードにアクセスしたい。
$sXML = new SimpleXMLElement($xml);
$dom = dom_import_simplexml($sXml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);
ってやると、結果は
<data>zzz<p>bbb</p>
ddd
</data>
となる。
'zzz'の部分を"\nzzz\n"とすれば、
<data>
zzz
<p>bbb</p>
ddd
</data>
こうなる。
0180175
2007/12/23(日) 07:49:19ID:/N04QiDAちゃんと書くとこう。
<?
$xml = <<<XML
<data>
aaa
<p>bbb</p>
ddd
</data>
XML;
$sXml = new SimpleXMLElement($xml);
$dom = dom_import_simplexml($sXml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);
echo $sXml->asXML();
?>
0181nobodyさん
2007/12/23(日) 10:36:41ID:???というか、ヒアドキュメント外で実行した関数の値(プルダウン表示)を中に
持ち込めない状況です
$address1_PD = $callData->makeKenPd("address1",$address1,1);
(↑の関数は、<option val=n>nName</option>を40回ほどループしてprintします)
echo <<<DOC
<select name="address1">
$address1_PD;
</select>
DOC;
とやってもうまくいきません $address1_PD = print($callData〜 なども
試したんですがダメでした
お手数をおかけしますが、回答お願いします php5 apache2 winxpです
0182nobodyさん
2007/12/23(日) 10:37:51ID:6DPIzhWOアドバイスよろしくお願いします
0183nobodyさん
2007/12/23(日) 11:22:06ID:???0184nobodyさん
2007/12/23(日) 11:42:34ID:MvcJEZMNA,B,C,D,E
F,G,H,I,J
K,L,M,N,O
という内容のテキストファイルcount.txtから
$handle = fopen("count.txt", "r");
$data = fgetcsv($handle);
for ($c=0; $c < 5; $c++) {
echo $data[$c];
}
fclose($handle);
というコードを用いてファイル内容を表示させようとしてるのですが
一行目までのABCDEまでしか値を取得出来ません。
二行目を抜き出すにはどんな条件を設定すればいいのでしょうか。
PHPManualを見ても、どの条件が該当するのか分からなかったので
よろしくお願いします。
0185nobodyさん
2007/12/23(日) 11:53:45ID:???http://jp2.php.net/manual/ja/function.fgetcsv.php
例をよく見ろ
0186nobodyさん
2007/12/23(日) 12:12:21ID:MvcJEZMNすみません、質問が悪かったですね。
Manualでは表示のためにwhileでfor文を繰り返してることは分かるのですが
!== FALSEがファイルの終端での全処理終了条件であることを除けば
単純にfor文を繰り返してるだけに見えるんです。
ABCDEABCDE...とループを繰り返さないための条件が何処に該当するのか、
ご教授お願いします。
0188nobodyさん
2007/12/23(日) 13:01:34ID:MvcJEZMNwhileの継続条件で用いられているfgetcsvが、
同時にポインタを進める役割も果たしてたということですか。
ポインタについてあまり学んでいないので気づきませんでした。
回答ありがとうございました。
0189nobodyさん
2007/12/23(日) 13:06:40ID:Dd+txFZ/変換するコマンド、をexecさせたいのですが、
どうしても引数を受け取る関数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが引数のファイル
$hugaがconvertした後のファイル
としたいのですが、失敗してしまいます。
0190nobodyさん
2007/12/23(日) 13:25:53ID:???0191nobodyさん
2007/12/23(日) 13:37:38ID:???FATをNTFSに変換するコマンドconvertをPHPのexec関数で実行させたいのですが
どうしても出力を受け取る第二引数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが変換するファイル名
$hugaが変換後のファイル名
としたいのですが、失敗してしまいます。
0192nobodyさん
2007/12/23(日) 13:39:07ID:j7tEfXX4PHP+PostgresqlまたはPHP+mysqlでシステム
を作ろうと思うのですが、PHP5が認識をしてくれません。
PHP info();でその部分がでてきません。
なんのパッケージをインストールしたらいいのでしょうか?
OSはFedora core4です。
板違いかもしれませんが、よろしくお願いします。
0194nobodyさん
2007/12/23(日) 13:48:06ID:???0195194
2007/12/23(日) 13:48:45ID:???0197nobodyさん
2007/12/23(日) 14:55:33ID:???普通はyumでいれればパッケージ全部はいるはずだが、あとはphp-mysqlを入れればよいはず。php関連に限っていえばね
0198176
2007/12/23(日) 15:49:32ID:???そのXMLであってるのか。。
DOM的には確かにノードの扱いはそうなると思うけど、XML的には
\naaa\n<p>bbb</p>\nddd\n がひとつのノードになるのは確かだと思う。
なので、
・DOM使ってXML的にもノードがばらけるように変換する。
・XML文字列を適当に文字列変換する。
くらいしかやっぱりないような気がするけどなあ。
0199nobodyさん
2007/12/23(日) 16:13:53ID:???\naaa\nはTextNode
<data></data>、<p></p>はElementNode
firstChildNode、SiblingNodeとNodeTypeとかでとれる気もするけどXMLってそういう使い方はしない気がする。
そしてSimpleXMLElementにそれがあるかどうかは知らない。
0200nobodyさん
2007/12/23(日) 17:04:49ID:4Xlz9Mdeif (empty($var1) && empty($var2) && empty($var3))
今こんな風になってます。
0201nobodyさん
2007/12/23(日) 17:13:25ID:???0202nobodyさん
2007/12/23(日) 17:52:07ID:???0204175
2007/12/23(日) 18:08:04ID:/N04QiDAXPathでもXQueryでもSAXとかも全部別々にあつかうし
XMLでも、それぞれ別にあつかうよ
>>198
それについては、>>179-180に
結論としては、やっぱ無理っぽい
SimpleXMLElementって名前な時点で、Elementノードしか
無理じゃないかな〜て気はしてたんだ
それでもやるなら、SimpleXMLElement派生させるなりHelper関数用意するしかないっぽい
0205175
2007/12/23(日) 18:11:12ID:/N04QiDA>>204において
>>175 → >>198
>>198 → >>199
です。
0206nobodyさん
2007/12/23(日) 18:11:19ID:???変数限定(返り値や即値は使えない)ってことと
UndefinedVariableエラーにならないってとこらが違うかな。
0208nobodyさん
2007/12/23(日) 19:56:37ID:Lt3D3ribサンプル集を買ってきたんですが
$select = "select * from hoge where name = $hage";
$query = mysql_query($select);
$result = mysql_result($query,0,0);
などと書いてた事が
$db = new mysqli(-------);
$aa = $db->prepare("select * from hoge where name = ?");
$aa->bind_param("s",$jakld);
みたいな文に変わってるのですが、結局どっちでもいいのでしょうか?
かなり戸惑ってまして一から勉強しないと全く分からない状態で・・。
0210nobodyさん
2007/12/23(日) 20:04:09ID:???mysql関数を使うスタイルとmysqliを使うのは
好き好きでいい(でもPHP5以降ならmysqli使った方がスタイルが入り混じらないので良い)
けど、後者のサンプルにあるプリペアードクエリの発行の仕方は反映した方が良いよ。
0211nobodyさん
2007/12/23(日) 20:23:13ID:???練習したり、ちょっとした使い捨てでないなら、どっちもよくない
PDOでもadodbなりPEARのライブラリなり、何でもよいが、
なんらかのインターフェイスでラップするべき
お薦めは、PDOだ。
0212nobodyさん
2007/12/23(日) 20:24:33ID:2UmaE0fQ0213208
2007/12/23(日) 20:38:27ID:Lt3D3ribありがとうございます。
prepareはたしか、パフォーマンスの向上と自動的にエスケープ
されるんでしたよね。
>>211
参考になります。ありがとうございました。
>>212
PHP Data Objects (PDO)
俺が説明するより検索したほうが確かな情報が得られると思うので。
0214208
2007/12/23(日) 20:51:51ID:Lt3D3ribmysql4.1移行はmysqliを使わないとだめなんですね。。
サーバーが4.1以降だからmysqli使わないと・・・。
勉強しなおしか・・・。
0215nobodyさん
2007/12/23(日) 21:04:06ID:???0216208
2007/12/23(日) 21:34:13ID:Lt3D3ribえ?
試してみましたがエラーになってしまいます・・。
0217nobodyさん
2007/12/23(日) 21:38:57ID:???エラーを晒さないと解らないな
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
0218208
2007/12/23(日) 21:44:48ID:Lt3D3rib大変失礼しました。。。
平凡なエラーなんですが
Call to undefined function mysql_connect
です。
なんか凡ミスしてるっぽいなぁ・・・。
0219nobodyさん
2007/12/23(日) 21:56:53ID:???0220nobodyさん
2007/12/23(日) 22:15:35ID:???エスパーなので、Windowsだということも判るし
php_mysqli.dllが読み込まれてるのに
php_mysql.dllは読みこまれてないということも判る。
0221208
2007/12/23(日) 22:18:13ID:Lt3D3ribあなたの言うとおり!
ありがと。
0222nobodyさん
2007/12/23(日) 22:20:25ID:???0223nobodyさん
2007/12/23(日) 23:00:41ID:???0224nobodyさん
2007/12/24(月) 00:05:58ID:???0225nobodyさん
2007/12/24(月) 00:48:15ID:sRF6QhUmfedora core4 php mysql インストールで
ググッてみたんですが、でてきません。
また、今後はどこの板で聞けばいいでしょうか?
後postgresqlも認識してくれないのですが。
php-mysqlと同じでいいのでしょうか。
すいませんが、よろしくお願いします。
このことに関するサイトがあれば教えてください。
0226221
2007/12/24(月) 00:59:41ID:PecBMOMkここじゃだめかしら?
http://www.fedoraz.com/
0228nobodyさん
2007/12/24(月) 02:52:04ID:???その内容が画面に出た際、xxx.incの何行目のエラーとか出た。
試しに、xxx.incのURLで指定したら、そのソースが丸見えwwで、
その中にDBの接続のためのパラメータ(ID、PWDまで)まで書かれている。
こんな馬鹿な作りをしているサイトに天誅を下そうと思うのだが、
面白い天誅の食らわし方ない?
知っている人も結構多い、大きめのサイトなんだが。
0229nobodyさん
2007/12/24(月) 03:11:37ID:???は?直ちに管理者にその旨を連絡するべきなのに、悪用しようなんてお前が逆にリアル天誅を食らうだけだから
一応言っておくと、明示的に公開されていないものに対してのアクセスで逮捕された前例もある
0230192です。
2007/12/24(月) 03:19:58ID:sRF6QhUmpostgresqlも使いたいのですが、yumでphp側のインストール
はなにをすればよいでしょうか?
サイトがあれば、サイトはありがたくブックマークしました。
0231208
2007/12/24(月) 05:28:08ID:PecBMOMk「リアル天誅」ウケたwwwww
>>230
ごめんよ。fedora core4 とか初耳だし
OS違うとそんなにインストの方法が変わるなんて
知らないし、教えてあげられんよ。。。
0233nobodyさん
2007/12/24(月) 08:41:55ID:???じゃ、リアル天誅を食らわないように、日本の捜査権が及ばないクラッキング集団のサイトとかないの?
そこで、IDとPWDさらせば問題ないってことだよね?
0234nobodyさん
2007/12/24(月) 09:30:50ID:P1UMzL+uCSVのフィールド囲み記号は「"」で指定すると、
データの数値で「"」で囲まれていない部分があると読み込んでくれません。
(「フィールド数が合わない」とエラーが出ます。)
もともとこういう仕様なのでしょうか・・・?
それだと、ダウンロードしてきたデータが読み込めなくて大変です
(基本的に「"」で囲まれているのは文字列だけなので)
0235nobodyさん
2007/12/24(月) 09:49:55ID:???やー、考え浅いぞ
そういう奴らそもそも裏取るまで行動起こさないし、まずそういう情報投げた奴を洗うし叩くし。要はここと大差ねえな
そういう厨房っぽい所存でいくなら、ハッカーになりたがってるご同類の
サイトの掲示板にでも書き込んだ方がいいんじゃねえの。
無論揉め事になったら煽動で関わった事になるけどな
忠告はした
alt.2600あたりでぐぐってあとはお好きなように。類似のアレなのも色々芋蔓で引っかかるでしょう
一応先に自衛でtorやらのなんとかする品物でも入れとけよ
0236nobodyさん
2007/12/24(月) 10:14:28ID:???詳しくサンクス。参考になった。
最近多いんだよな。素人のくせに自鯖立てて踏み台にされて迷惑掛けているやつとか、
簡単に会員の個人情報がわかるようなサイトとか、
こういうのは天誅を下さないとダメだろうなぁ。
こういう奴に限って、過失を認めず、過失を認めても誤って終わりとか。
警察や役所やプロバイダーやクレジット会社から個人情報が流出しても、損害賠償なんてしないし、天誅しかないな。
0237nobodyさん
2007/12/24(月) 10:17:04ID:???一時期毎日のようにサラ金業者から電話に掛かってきた。
テレビで報道されているのを知って、苦情言っても、
謝っても、それは私たちから漏れている情報ではないかの一点張り。理不尽な世の中に天誅を。
0238nobodyさん
2007/12/24(月) 10:34:27ID:???もっと理性的な説諭の手段がありそうなもんだが。
ま、ただの感想だ。流してくれや
0239192
2007/12/24(月) 11:13:48ID:sRF6QhUmこれがみつかった。
ほかにないかな?
0240192
2007/12/24(月) 11:14:47ID:sRF6QhUm上記のがみつかったのですが、
ほかにもっと詳しく書いてあるサイトはないかな?
知っている人よろしくです。
0241nobodyさん
2007/12/24(月) 11:23:36ID:???どこで躓いたのか明記しないと誰も有益な情報返せないんじゃないかな
只でさえfcな人がどんだけ見てるのか判らんのだし。
linux板とか当たってみるのもありかも
0242nobodyさん
2007/12/24(月) 12:32:11ID:???ブラウザはFireFoxを使ってるんだけどアドレスバーから「http://localhost/abc.php」と打つと
問題なくページが表示されるんだけどフォルダからダブルクリックで「abc.php」を開くと
ブラクラみたいにタブが無限に開いていってしまう (; ´Д`)
どうしたらいいんですか・・・・?
0244nobodyさん
2007/12/24(月) 15:48:25ID:tHEPo1ls<input type="text" name="text">
<input type="submit" value="test1" name="test1">
<input type="submit" value="test2" name="test2">
</form>
こんな感じでformの中にinput-submitのボタンが複数あって、
押したボタンによってPHP側で"text"の処理分けしたいんですが、
valueの値で判定するしかないんでしょうか。
valueだとボタンの名前として表示されるため他の方法を探しています。
0246nobodyさん
2007/12/24(月) 16:27:38ID:???0247244
2007/12/24(月) 17:11:12ID:tHEPo1lsvalueの値だけは違いがありますね。
input-submitじゃなくて
button-submitを使いボタン名をvalueとは別に設定することで解決しました。
レスありがとうございました。
0248nobodyさん
2007/12/24(月) 17:19:57ID:???本当にありg(ry
0249244
2007/12/24(月) 17:29:41ID:tHEPo1ls本当にありがとうございました…。
0250244
2007/12/24(月) 17:54:23ID:tHEPo1ls<button type="submit" value="test" name="test1">内容</button>
だとvalueに設定されているtestは送信されなくて、内容が送信されるようですね。
手元のHTML本ではvalueが送信値となってますが、仕様変更でもあったのか。
>>248さんのご指摘とは違い他フォームの内容もちゃんと送信される模様です。
0251nobodyさん
2007/12/24(月) 18:18:44ID:???嘘だろうと思って動作確認したらIE7では確かにそう動いた。
ちなみにFireFox2 Opera9 ではvalue値が送信されてる。(IE7と動作が異なる)
PHPの話題じゃないけど、RFC的にはどうなんだろ。
<html>
<head><title>test</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<?php print_r($_GET); ?>
<hr/>
<form action="test.php" method="get">
<button type="submit" value="test" name="test1">内容</button>
</form></body></html>
0252245,248
2007/12/24(月) 19:02:38ID:???以下のコードで、
・name1 name2 のいずれかをクリックした時に、3,4は送信されるべきでは無い
・name3 name4 のいずれかをクリックした時に、value3またはvalue4が送信されるべき
DOMの扱い時にも同様の支障がでてくる。
なので、buttonを使うより、input type=button を使う方が良い。(buttonに比べて表示の自由度は落ちる)
検証用コード
<html><body><form>
<input type="submit" name="name1" value="value1"></input>
<input type="submit" name="name2" value="value2"></input>
<button type="submit" name="name3" value="value3">3</button>
<button type="submit" name="name4" value="value4">4</button>
</form><p>
<?php
var_export($_GET);
?>
</p></body></html>
0253nobodyさん
2007/12/24(月) 22:47:49ID:???IE7でも相変わらず腐ってるんだな・・
0254nobodyさん
2007/12/25(火) 08:19:17ID:???取得したいのですが、基本的に不可能でしょうか?
ZendFrameworkのZend_Mail使ってみたんですが、
オブジェクト指向を完全に理解していないオイラには
かなりつらい部分があったので、imap関数に移ろうとしてるのでつが。
0255255
2007/12/25(火) 09:05:15ID:Coxwnlyhその中のメールフォームサンプルを自分のサイトの隅っこに置いて、apacheを起動させて動作確認してみたところ、
フォームに文字入れて確認画面に進み、送信を押すと 本当は「送信成功しました。or失敗しました。」と表示されるはずが、何も
表示されず、メールも送られていません。php.iniはデフォのままなんで、そこがダメなんじゃないかと思うのですが、
どうなんでしょう。書籍には何も書いてないです。
0256nobodyさん
2007/12/25(火) 10:39:57ID:???そういう本(書いてない本)多いけど
0257nobodyさん
2007/12/25(火) 11:11:07ID:???何時もphp.iniに書く時に迷う・・・
0258nobodyさん
2007/12/25(火) 11:15:16ID:M0LvCdnx送信しましたor失敗しました あたりのソースうp
質問ですが、SQLインジェクション対策ってどうしてます?
自分はMySQLを使っていたので、mysql_real_escape_strngを使っていたのですが、
他のデータベースでも書き換えなくていいように、全てのデータベースで活用できるような
インジェクション対策などありませんでしょうか?
0260nobodyさん
2007/12/25(火) 12:06:36ID:???0261nobodyさん
2007/12/25(火) 13:18:29ID:???parse_ini_file("test.ini",true);
で読み込むとshift_jisで読み込まれちゃうんですが、ファイル読み込みのエンコーディングをUTF-8にしたいんです。
iniや表示するphpファイルは全てUTF-8になっています。
php.iniでファイル読み込みのエンコードとかでしょうか?
iniの中身は
------------------
[友達]
"佐藤" = "コスプレ"
"伊藤" = "女装"
------------------
0263nobodyさん
2007/12/25(火) 13:31:06ID:Kk9QHm5Itest.iniってファイルを
parse_ini_file("test.ini",true);
で読み込むとshift_jisで読み込まれちゃうんですが、ファイル読み込みのエンコーディングをUTF-8にしたいんです。
iniや表示するphpファイルは全てUTF-8になっています。
php.iniでファイル読み込みのエンコードとかでしょうか?
iniの中身は
------------------
[友達]
"佐藤" = "コスプレ"
"伊藤" = "女装"
------------------
PHP Version 5.2.4
0265nobodyさん
2007/12/25(火) 14:41:28ID:Kk9QHm5Iそうなんですか、それでも文字コードの問題は残るので解決方法があればお願いします。
ひとまずキーにダブルクォートで動いてはいます。
0266nobodyさん
2007/12/25(火) 14:45:46ID:???一応ご報告を
0267nobodyさん
2007/12/25(火) 14:47:22ID:V7kmAO2b$bbb[0]['abc']="表示テスト";
$a=<<<EOS
<table>
<tr>
<td>$bbb[0]['abc']</td>
</tr>
</table>
EOS;
print $a;
EOS内で連想配列の変数を簡単に吐き出す方法はありますか?
そのままだと Array['abc'] となってしまいます・・。
変数に入れ直せば良いのですが種類が多いと大変で・・
皆さんはどうやってますでしょうか。
0268nobodyさん
2007/12/25(火) 14:51:23ID:ek1/aJk1WEBサーバーでSSLを設定してそこにPHPファイルを配置したところ、httpでのアクセスだとPHPは正常
に動くんですが、httpsだと何故か404になってしまいます。
他の形式(aspx、txtや画像)はhttpでもhttpsでも問題無く動くのでアクセスしているフォルダが違うとかは
考えられず、httpだとPHPは動くのでPHP自体がおかしいってことも考えられず…。
通常のSSLの設定は終えていますが、PHPをSSLに配置する際は他に何か設定等必要なんでしょうか?
環境ですが、
Windows2000ServerSP4 + IIS5.0 + PHP5.2.5 (+ VisualStudio2003)
です。
よろしくです。
0270nobodyさん
2007/12/25(火) 14:57:18ID:V7kmAO2b即答ありがとうございます!それだけで良かったんですね
基本的な方法が分からずにいろんな遠回り処理した上で
えーーそんな簡単にできたの・・みたいな事がよくあります
有難うございました。
0274nobodyさん
2007/12/25(火) 16:32:12ID:???フリーので。
0276nobodyさん
2007/12/25(火) 16:41:01ID:Kk9QHm5Iすいません ><
ID出し忘れたので偽者と思われないようにも返信しときます・・
0278nobodyさん
2007/12/25(火) 17:37:59ID:???EmEditor→phpエディタ→phpeclipse→zend
と使ってきたけど俺はphpeclipseが一番使いやすかった
0279nobodyさん
2007/12/25(火) 19:39:53ID:YdyXWQpGhttp://headlines.yahoo.co.jp/hl?a=20071225-00000912-san-soci
<futoji>元福岡地検検事正で公証人の絹川信博さんの話</futoji> 「鑑定結果が今後、民事訴訟の証拠として採用される可能性は十分ある。
民事分野でも、ポリグラフの活用範囲が広がる可能性がある」
0280nobodyさん
2007/12/25(火) 20:31:12ID:qdKsQYMAarray("aaa" => "bbb", "ccc" => "ddd" "???" => "fff")
この配列から「三個目の要素」であること、又は「値がfff」であることから、
不明なキー名である???のみを抜き出したいのですがどのような方法があるでしょうか。
よろしくお願いします。
0281nobodyさん
2007/12/25(火) 20:43:37ID:???http://www.php.net/manual/ja/function.array-search.php
0282nobodyさん
2007/12/25(火) 21:14:34ID:qdKsQYMA普通に定義されてるんですね。回答ありです。
0285nobodyさん
2007/12/26(水) 00:57:00ID:???×imagejpeg ($image_new , $uploadfile , $quality);
○imagejpeg ($image_new , $image_temp , $quality);
にして、
/usr/bin/convert オプション $image_temp $uploadfile;
にすると、
PHP Parse error: syntax error, unexpected '/'
in /home/webmaster/blog/nucleus/plugins/NP_ImageLimitSize.php on line 65,
referer: http://******/nucleus/plugins/mediatocu/media.php
と、出ました、フルパスで書けば問題無いと思ったのですが、どのようにコマンドを挿入すればいいでしょうか?
function event_PreMediaUpload(&$data) {
$collection = $data['collection'];
$uploadfile = $data['uploadfile'];
$filename = $data['filename'];
// evaluate the filetype from the filename
$filetype = strtolower(substr($filename, strpos($filename, ".")+1));
0286285
2007/12/26(水) 00:57:53ID:???if ($filetype=='jpg' || $filetype=='jpeg') {
$size=getimagesize($data['uploadfile']);
// size[0] is the image width
if ($size[0]>$this->getOption('maxwidth')) {
$newheight = $this->getOption('maxwidth') * $size[1]/$size[0];
$image_orig = imagecreatefromjpeg($uploadfile);
$image_new = imagecreatetruecolor($this->getOption('maxwidth'), $newheight);
$quality = $this->getOption('quality');
imagecopyresampled($image_new, $image_orig, 0, 0, 0, 0, $this->getOption('maxwidth'), $newheight, $size[0], $size[1]);
imagejpeg ($image_new , $uploadfile , $quality);
※※※
// clear the memory
imagedestroy($image_orig);
imagedestroy($image_new);
}
}
0289285
2007/12/26(水) 01:10:06ID:???○:これしか思いつきません
0290nobodyさん
2007/12/26(水) 01:39:36ID:???Linux界隈、ディストリ間の差異大杉でFreeBSD派にはついていけねえな
0291nobodyさん
2007/12/26(水) 03:42:29ID:???0292nobodyさん
2007/12/26(水) 04:19:38ID:???0293nobodyさん
2007/12/26(水) 04:56:01ID:???> PHP Parse error: syntax error, unexpected '/'
PHPの文法レベルでエラーが出てるんだからフルパスとかコマンドの違いとか全然関係ねーよ。
> /usr/bin/convert オプション $image_temp $uploadfile;
> にすると、
ってこれ、PHPのソース中にシェルコマンドを生で書いてるのか?
PHPはシェルスクリプトじゃねーぞ?
system()とか使えよ。
0294nobodyさん
2007/12/26(水) 10:54:23ID:WFCxb7oZどのような実装方式が一番楽な方法でしょうか?
例
ローカルphpが、サーバー側phpを呼び出す
サーバー側phpが処理を実行し、実行結果を返す
ローカルphpがサーバー側のphpの実行結果を受け取り、その実行結果により処理を条件分岐する
このような感じで、サーバー側の実行結果によってローカルの実行結果が異なります。
ソケット通信での実装を考えたのですが、少々面倒なので、もっと簡易にできる方法があれば助かります。
宜しくお願いします。
0295nobodyさん
2007/12/26(水) 11:57:31ID:???レスポンス速度重視でないならば、http で通信すればいいんじゃないの。サーバは apache経由にして。
0296nobodyさん
2007/12/26(水) 11:58:07ID:???0297nobodyさん
2007/12/26(水) 12:17:11ID:???PHPネタじゃないけど、soapってどうなの?
以前 Javaでやったときは、なんか中途半端に隠蔽されて自由度が低いだけって印象なんだけど。
0298nobodyさん
2007/12/26(水) 13:15:38ID:???auto_prepend_fileを使いたいのですが、
一部のディレクトリんは適用させたくないのですが、
その場合どのように記述すれば良いのでしょうか?
0299298
2007/12/26(水) 13:16:09ID:0y2BVKsSお願いします
0300nobodyさん
2007/12/26(水) 13:30:41ID:???0301nobodyさん
2007/12/26(水) 13:33:05ID:0y2BVKsSありがとうございます
すみません、書き忘れていました
レンタル鯖の仕様によりhtaccessでのphp_value・flagが仕様できないのですorz
0302nobodyさん
2007/12/26(水) 15:08:20ID:???0303nobodyさん
2007/12/26(水) 15:14:38ID:???と続くからなw
0304nobodyさん
2007/12/26(水) 15:54:46ID:???0305nobodyさん
2007/12/26(水) 16:07:23ID:5CJgBllV(ログインフォームの次の会員トップページの処理です)
0)session_start(); (タイムアウト設定も同時にする)
1)$_SESSION['LogIn']=0;//ログイン状態のフラグの用意
2)1)をチェック →0なら3)
3)POSTされたid,passwordをもとにログイン処理 →LogIn=1にする
4)以降のページでは0〜3を(外部ファイル化して)最初にチェック
※3)のPOSTデータがなければ警告画面に遷移
PEAR:AUTHも考えたんですが、ログインフォームと認証後トップページを
同じにしなきゃだめっぽいんでやめました
環境はPHP5,APACHE2です
0308305
2007/12/26(水) 16:32:50ID:5CJgBllVLogInは初期化しません 最初にチェックするだけです
あと、今思ったんだけど、最初のログイン時にランダム値を持たせといて(DBにも登録)
それもリクエストごとにチェックするとかの方がいいのかな?
それがセッション名(?)てことだからわざわざやらなくていいんでしょうか?
0309nobodyさん
2007/12/26(水) 16:53:52ID:???誰がログインしているのかという、「ログインユーザのID」を管理した方が良いと思う。
ログイン後は、それが誰だかわからなくても良いなら、別に良いけど。
0310305
2007/12/26(水) 17:23:39ID:5CJgBllVログイン開始と終了を記入するテーブルみたいなのを作るわけですか?
考えたこともなかったです。
ログイン状態のチェックだけなら305の内容でokなんでしょうか 度々すみません
0311nobodyさん
2007/12/26(水) 17:33:52ID:???「ログイン状態のチェック」が「だれかがログインしているが判定できる」なら、305の内容でOK。
普通は、このセッションでログインしているのが誰かも判らないと困るんじゃないかと。
0312305
2007/12/26(水) 17:53:13ID:5CJgBllVしかしセッションの知識が不足でよく理解できません
idに依存したセッション名を発行するのかな、、 ちょっと勉強してきます
ありがとうございました
0313nobodyさん
2007/12/26(水) 18:50:16ID:7SSM1+qDキーボードからそのまま受け取ったデータaを
cに変更して<textarea>に出力する ことはできますでしょうか?
いろいろ調べて下記のようなものを書いてみましたが、できません。
<form>
<textarea>
<?php
set_time_limit(0);
($stdin = fopen("php://stdin", "r"));
$s = trim(fgets($stdin, 256));
if($s == "a"){
$s = "c";
}
print $s;
?>
</textarea>
</form>
ハッスルサーバを使っていて、phpはバージョン4.3です。
初心者の質問で申し訳ありませんが、どうかよろしくお願いします。
0314はっしゅ(前すれ703)
2007/12/26(水) 19:02:23ID:drjhjm0k回答ありがとうごいました。
レベル低すぎて誰も答えてくれないのであきらめてたんですが、今日見たら回答きてたのでお礼に伺いました。
またわからないことあったら教えてください。
遅ればせながらありがとうございました。
0315nobodyさん
2007/12/26(水) 20:44:56ID:???JavaScript使うかAjax使わないと無理
phpはサーバーサイドスクリプトです
0316315
2007/12/26(水) 20:45:19ID:???0317nobodyさん
2007/12/26(水) 20:45:33ID:???意味がわからない キーボードから受け取ったデータってなんだ?
サーバの送受信はするの? しないんだったらphpじゃなくてjavascriptでしょ
具体的にどういう操作と結果がほしいのかわからなきゃ回答不可だよ
0318nobodyさん
2007/12/26(水) 22:33:52ID:???ノシ
0319nobodyさん
2007/12/26(水) 22:40:10ID:???$black =& $white;
unset($white);
print $black; //snow
これで snowが出力されるんだけど、$blackは$whiteの参照になってるから
unset($white)で$blackの値も破棄されるんじゃないの?
なぜsnowがprintされるのかわかりません。
0320nobodyさん
2007/12/26(水) 22:46:40ID:???http://jp2.php.net/manual/ja/function.unset.php
>参照渡しされた変数が関数内で unset() された場合に、 ローカル変数のみが破棄されます。
>呼出側の環境でその変数は、 unset() がコールされる前と同じ値を保持します。
って書いてあるから良いんじゃないの。
0322319
2007/12/26(水) 22:54:50ID:???参照渡しの場合はローカル変数しかunsetされないでいいんかな
0323nobodyさん
2007/12/26(水) 23:00:42ID:???「>」を入れると
勝手に「>」にエスケープされるんですが、
ホワイ?
特に htmlspecialcharsとかかけてないんですが。。。
0324nobodyさん
2007/12/26(水) 23:11:12ID:???勝手にエスケープされるんでつね。。。
mb_send_mail( $this->af->get('to'), $this->af->get('subject'), $this->af->get('body') );
みたいな送信の仕方できないですが、
一回エスケープしたのを戻すとかの作業するのが一般的なんでしょうか
0325324
2007/12/26(水) 23:20:58ID:???ethna関係ないっぽいです、普通にやってむりぽでした。
0326nobodyさん
2007/12/26(水) 23:53:50ID:5CJgBllVHeader関数(location)がエラー起こします。ほかに方法はないんでしょうか?
echoでjavascript出力もできますがそれはあんまりなので、、 よろしくお願いします
0327nobodyさん
2007/12/27(木) 00:13:03ID:kzcBaheO飛ばしたいページのファイルをincludeすればいいんじゃね?
0329nobodyさん
2007/12/27(木) 00:39:58ID:???単に、header関数の前に何か出力されちゃってるんでない?
それか場所の指定に変数を使ったりしてるならそこがおかしいか。
0330nobodyさん
2007/12/27(木) 00:54:22ID:???キャッシュが効いて動作がおかしくなったりもするがな<header()
0331326
2007/12/27(木) 00:57:52ID:k02W1D9gありがとうございます
前に一度相談してて、自力解決めざしたんですができなかったんです
詳細は>>111です 今apacheのエラーログ見たところ、
PHP Parse error: syntax error, unexpected T_EXIT in
C:\\Program Files\\Apache Group\\Apache2\\htdocs\\system\\admin\\hoge\\index.php on line 14,
referer: http://localhost/system/ …らしいです
14行目は>>111のexit;なので、コメントアウトしたら(//exit;)今度は
unexpected '}'〜〜 と出ました。ただのif文なのに意味がわかりません
ググっても出てこないし、気が向いた方教えてください お願いします
0332nobodyさん
2007/12/27(木) 01:10:18ID:???エラーの行なんて参考でしかないから
/* */で囲みながら範囲をせばめてエラーで出てる箇所特定しろよ
どうせ、おっぱいかっこ{}の数があってないとか、そういうのだろ
0334255
2007/12/27(木) 03:55:57ID:tJxOOzWu<?php
// メール送信先を指定します。
$to = "実際は指定しました。";
// フォームの値を取得します。
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach($_POST as $k => $v){
// 「magic_quotes_gpc = On」のときはエスケープ解除
if (get_magic_quotes_gpc()) {
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
}
else {
exit();
}
// メール本文を組み立てます。
$naiyou = "お名前:$name\n
メールアドレス:$from\n
タイトル:$title\n
内容:$naiyou\n"
0335255
2007/12/27(木) 03:56:48ID:tJxOOzWuand $naiyou != "" ) {
if (mb_send_mail($to, $title, $naiyou, "From:$from")) {
echo "メールを送信しました";
}
else {
echo "メール送信失敗です";
}
}
?>
0336sage
2007/12/27(木) 05:13:26ID:aXynhXDHちなみにEUC-JPです。
ファイルを確認した所、保存時では「+%CC%A3%C1%B9+」とurlencodeされているのですが
webで表示(print $_COOKIE[hoge];)するときだけバグります。
64encodeしてから食わし、64decodeして吐かすとも考えたのですが、
ファイル全部の保存と表示部分を直すことは大量すぎて辛いっす。
何かいい解決策は有りませんでしょうか。
0337336
2007/12/27(木) 05:28:15ID:???追加ですが「あへあへ噌」や「味噌漬け」はバグりません。
0338326
2007/12/27(木) 05:57:19ID:k02W1D9gありがとうございます
構文エラーということで、{の閉じ忘れなどチェックしてもなかったので、
ソースをガンガン削っていったら
1)これは動作する
<?php
header("Location: http://www.yahoo.co.jp/");
?>
2)これは動作しない
<?php
header("Location: http://www.yahoo.co.jp/");
exit;
?>
という状況になりました。ホントに上のソース以外一切何も書いてません
誰か同じ症状になった方いないですか? 参った、、
PHP5.2.3 winXP apache2です
0339nobodyさん
2007/12/27(木) 09:19:36ID:jblLPn+aドメインを正規表現を使って省こうとしているのですが、
このようなドメインが有効なのですが、
ドメインの2番目で3文字以上ないといけないのではないでしょうか?
ドメイン名の規約とかないでしょうか?
http://www.ms.com/
(モルガンスタンレー証券)
0341nobodyさん
2007/12/27(木) 09:26:19ID:???例えば
header("Location: ./");
@file_put_contents("nnnnnnn.txt", "test" ,FILE_APPEND);//ファイル作成
とすると、表示はジャンプで終わるが読み込み処理は終わらずにファイルも作られる。
header("Location: http://www.yahoo.co.jp/");exit;
@file_put_contents("nnnnnnn.txt", "test" ,FILE_APPEND);
だとexitで終了され、ファイルは作られない。
exit終了しない場合の後述によるエラー文表記は動作が不安定なので一概に言えない。
if(!$a){header("Location: http://www.yahoo.co.jp/");exit;}
などとしてでも、Locationにexitはセットと考えた方がいい。
でもexitつけたら動作しないというのは初耳。
0342nobodyさん
2007/12/27(木) 09:27:56ID:NgfmXqR6>>317
>>333
313で質問したものです、
ご回答ありがとうございました。
javascriptを勉強してみたいとおもいます。
0343nobodyさん
2007/12/27(木) 09:29:13ID:???0344nobodyさん
2007/12/27(木) 09:33:20ID:???SESSION使うと「戻る」が使えなくなるから、ユーザーがウザがるよ。
COOKIEでいいんじゃない?
めっちゃ重要なセキュリティーが必要?
0345nobodyさん
2007/12/27(木) 10:40:08ID:???んなこたーない
0346326=305
2007/12/27(木) 10:41:55ID:k02W1D9gありがとうございます 結局これは僕の環境の異常という他ないんですかね?
php.iniで自動的に全ファイルに共通読み込みさせる機能がONになってるのかと思い
チェックしたんですがそれも問題ありませんでした…
もうあきらめてjavascript出力してリダイレクトさせることにしました
回答いただいた方、ありがとうございました
>>344
「戻る」が使えないってどういうことでしょう?
本やサイトを見るとセッションを使ってるので自分もそうしようと思っただけで
深い判断はありませんでした
今は>>309さんのいう“誰がログインしているのかという「ログインユーザのID」を管理”
の方が気になってたんですが、、
「めっちゃ重要なセキュリティー」は意識してません 普通の会員システムで十分です
なんかすみません、わからないことだらけで
0347nobodyさん
2007/12/27(木) 12:00:59ID:???「戻る」操作をするとブラウザ上の表示とセッション変数の状態が食い違うことがあることを
言ってるんだと思う。
セッションの使い方によっては「戻る」操作を禁止するのは定石だけど、セッションを使うと
ページ戻りできないって話はおかしい。少なくもログインチェックに使用しただけで、
ページ戻り出来ないってのはあんまりすぎる。
0348344
2007/12/27(木) 13:16:55ID:???SESSIONをかましたページでデータの送信等をした際に
ブラウザの戻るや進むで前の画面に戻ろうとすると
「セキュリティーのどうたら」ってエラー文がでて、送信前の入力データが消えたり
新しくリロードしないとページが表示されないようになる。
セッション値とかは関係ないけど、上記理由で
普通の感覚で「戻る」と「進む」が使えないから
ID新規作成とか、何回もログインしない部分だけをセッション使用にして
ログインとか一般的な頻発部分はクッキーの方がいいと書いたのです。
例、ログインID-A(mailとか)/Passの入力→ID-B(Noとか)と暗号化したPASSのクッキーを発行
各ページでクッキーによって本人承認を行い、1日〜4週間&ログアウトでクッキーを消滅させる。
暗号化といえばPHP5の初期設定のままで、md5(一方向)、base_64encode、
urlencode、mb_convert_encoding以外に使えるものってないですかね?
C++のXORみたいなのは用意されてないのかな・・・
0349344
2007/12/27(木) 13:21:00ID:???0351nobodyさん
2007/12/27(木) 13:36:30ID:???XORを用意ってビット演算子はあるんだからそれくらいの手間をケチるなよ。
...rot13とかなかったっけ? あとcryptも
0352nobodyさん
2007/12/27(木) 13:43:05ID:???>「セキュリティーのどうたら」ってエラー文がでて、送信前の入力データが消えたり
>新しくリロードしないとページが表示されないようになる。
これはフォーム送信した後に戻ろうとしたら「再送信します OK?」っていうアレのこと?
セッションとは関係なくない?
0353nobodyさん
2007/12/27(木) 13:45:14ID:???てゆーかセッションわかってる?
0355nobodyさん
2007/12/27(木) 14:17:26ID:???それは、no-cache の話じゃないかな。sessionを使うと自動的にno-cacheにしてしまうような
フレームワークがあっても不思議じゃないけど、一般論として、sessionを使うとno-cacheになると
いうものではない。
>>344は、特定の環境で教えられたんじゃないかって気がする。
0356nobodyさん
2007/12/27(木) 14:17:58ID:???crypt() = 一方向ハッシュ化 $1$Ze5.ut0.$9k5PF7d6Wogm4fjfYcViE0
cryptってmd5より有名だったと知らなかったPHP暦1年の俺が来たよ
str_rot13についてはマイナーすぎて今知った
0357nobodyさん
2007/12/27(木) 14:31:22ID:???思ってたんだけど、最近はcryptといえば単方向ハッシュであるものを言うようになったのか。
確かにPHPのマニュアルにも単方向って書いてあるし、何時の間にって感じなんだけど。
0358344
2007/12/27(木) 14:40:06ID:???>>347>>350-355
暗号化について解説ありがとうございます。早速今日から使ってみます。
sessionについても丁寧なご説明ありがとうございます。
今調べたらまさにその通りでした。>>305>>346さんゴメンナサイ。
2年も間違ったまま覚えてたってやっべえ恥ずい。
どれぐらいって恥ずかしい性癖とかばれたぐらい?
反省してROMに戻ります。
0359nobodyさん
2007/12/27(木) 15:45:25ID:???たぶんUnixとかネットワーク関係プログラマ界隈では
crypt といえば crypt(3) のこと。
PHPのcryptもcrypt(3)の単なるラッパのはず。
>>356
rot13はたぶん一番古くて一番有名なそして一番弱い暗号だぞ!
シーザーさんをなめるな!
0360nobodyさん
2007/12/27(木) 16:52:06ID:???0361nobodyさん
2007/12/27(木) 18:06:57ID:???本人は芝居上手だと勘違いしているが、押し付けがましいパフォーマンスに過ぎない。
0362nobodyさん
2007/12/27(木) 18:27:55ID:???0363nobodyさん
2007/12/27(木) 23:42:07ID:???0364nobodyさん
2007/12/28(金) 01:18:59ID:x8Ui+5jw次元数が任意の多次元配列で、その配列の要素数を数えながら
次元を自動的にさかのぼる処理をさせたいと思っています。
具体例を書くと、配列 $arr が下記のようなものだったとして、
Array
(
[0] => hoge
[1] => Array
(
[0]=> koke
[1]=> moke
)
)
$arr[1]の要素数(2)を取得できるようにしたいと思っています。
この時、この配列の内容は事前に分かっていないため、
count($arr) が1以上ならば、その要素を調べ、
更に配列あればが自動的に添え字を付加して(ここでは「count($arr[0])」として)
上位次元を走査するような方法を思いつきました。
そこで変数に格納した添え字を配列変数に付加したかったのですが、
その方法が分かりません。
感覚的には、 $index = "[1]"; だったとしてとして
$arr{$index}{$index} が 「 $arr[1][1] 」となり、「moke」を取得する、
というような動作を希望していますが、$index が文字列のためうまくいきません。
何か他に望む処理を行える方法があるでしょうか?
よろしくご教示ください。
0365nobodyさん
2007/12/28(金) 01:28:39ID:???>>$index が文字列のためうまくいきません。
ここの意味が分からない。
$arr["$index"]["$index"]
って話じゃなくて?
0367nobodyさん
2007/12/28(金) 01:35:23ID:???$index = "1";
$arr["$index"]["$index"]
みたいな形がやりやすい方法です。
0368364
2007/12/28(金) 01:53:54ID:???みなさんレスありがとうございます。
その問いが来るかな、とは思っていたのですが、うまく説明できませんでした。
>>364 の例でいうと、$arr が何次元の配列なのか事前に分からないところが
ネックとなります。
つまり処理を行う前に最高次元が「$arr[]」なのか、「$arr[][]」なのか、
「$arr[][][]」なのかが分からないため、決め打ちできないということが問題です。
そのため、「[]」の角括弧を最初から書いておく「$arr["$index"]」方式では
対応できないので、角括弧を後から自由に付加できるような形を
求めていたというわけです。
例えば、$i = 1; で $index = "[$i]"; ならば、
$arr . $index で「 $arr[1] 」となって欲しいと思っていました。
このような目的を満たす処理方法はありますでしょうか?
引き続き、よろしくお願いします。
0369nobodyさん
2007/12/28(金) 02:02:57ID:???再帰的な手法は分かる?
「再帰的関数 php」とかでググッてみるといい
0370nobodyさん
2007/12/28(金) 02:08:52ID:???home2/hoge4
home/hoge2
home/hoge3
home2/hoge5
これを
-----------------
home
hoge
hoge2
hoge3
home2
hoge4
hoge5
-----------------
と表示させられるように配列処理したいのですが、
良い方法思いつきません、
お助けを。
0371nobodyさん
2007/12/28(金) 02:10:06ID:???・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0372364
2007/12/28(金) 02:21:01ID:x8Ui+5jw申し訳ありません。
>>364 の「この時、この配列の内容は事前に分かっていないため」で
伝わるかと思い込んでしまいました。
再帰処理については知っています。
今回の処理も再帰処理で、と思っていたのですが、
どうしても配列変数の添え字を自動生成する方法の所が分からなかったのです。
何か方策はありますでしょうか?
>>371
重ね重ね失礼しました。追記いたします。
サーバのOS: 「Windows2000」
Webサーバ: 「Apache 2.0.59」
PHPのバージョン: 「4.4.7」
以上の環境です。
なおこの環境は、OS 以外は利用しているレンタルサーバのスペックを
模倣したもので、この環境下での動作を求めています。
0373nobodyさん
2007/12/28(金) 03:04:11ID:???/でexplode()してキーと値に宛えば。
>>372
どうにも難しい処理だから微妙だけど
eval("return \$arr{$index};")
とか。
0374370
2007/12/28(金) 03:17:21ID:???詳しくキボンヌ
0375nobodyさん
2007/12/28(金) 04:14:13ID:???つまり
home2/hoge4
を分割して
$hoge["home2"] = "hoge4";
って形にすれ
0376nobodyさん
2007/12/28(金) 04:44:15ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0377255
2007/12/28(金) 06:41:54ID:rEU4Fn3c<?php
if (mail('ac10@fb3.so-net.ne.jp','titile','message'))
echo "<b>SUCCESS TO SEND</b><BR>";
else
echo "<b>fail to mail</b><BR>";
?>
でfail to mailという方が出ます。
恐らくphp.iniの設定が不足しているんだと思いますが、
php.iniのsendmail_pathについてまだよく分かっておらず、とりあえずデフォのままにしてます。
ポート25は開けていませんがこれでいいのでしょうか。
0378255
2007/12/28(金) 06:46:39ID:rEU4Fn3cというログが出ました。
0379255
2007/12/28(金) 06:48:30ID:rEU4Fn3cとあったので別にパーミッションは良いかと思います、、、もしかしたら
bin_tをhttpd_sys_content_tにしなければならないですか。
0380nobodyさん
2007/12/28(金) 07:40:41ID:???良く調べてみたら。隅々まで。
http://bbs.fedora.jp/read.php?FID=2&TID=1428
ちょっとググってみたかんじだと SELinuxがどうのこうの、って
話がいくつか出てくるけど
0381255
2007/12/28(金) 08:10:09ID:rEU4Fn3cろぐ追加です。
[Fri Dec 28 06:18:37 2007] [notice] caught SIGTERM, shutting down
[Fri Dec 28 06:18:48 2007] [notice] SELinux policy enabled; httpd running as context user_u:system_r:httpd_t:s0
[Fri Dec 28 06:18:48 2007] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Dec 28 06:18:48 2007] [notice] Digest: generating secret for digest authentication ...
[Fri Dec 28 06:18:48 2007] [notice] Digest: done
[Fri Dec 28 06:18:49 2007] [notice] Apache/2.2.6 (Unix) DAV/2 mod_layout/4.0.1a PHP/5.2.4 mod_ssl/2.2.6 OpenSSL/0.9.8b configured -- resuming normal operations
sh: /usr/sbin/sendmail: Permission denied
もう少しググってみることにします。selinuxには気づきませんでせした。
0382255
2007/12/28(金) 08:12:50ID:rEU4Fn3csendmailpathの意味するところが分からなくて、、、
0383nobodyさん
2007/12/28(金) 08:19:14ID:/nAj2CVOその中にあるファイルはリファラがkaiin/内のファイルじゃない場合強制ログアウト
という処理にしたらセキュリティ上がるかなぁと思ってます
この処理をする場合、効率よくリファラチェックする方法はないでしょうか?
ひたすらif&orでやってけばいいんでしょうが何かみっともないので、、
また、そもそも↑みたいなことやっても意味ないですか?
ファイルをDLして手を加えられる侵入に対策したいと思ったんですが…
0384nobodyさん
2007/12/28(金) 08:30:44ID:???mail()を実行すると、
Windowsの場合 : メールサーバに接続する(ネットワーク越し) - php.iniのSMTP
Linuxなど : メール送信用のプログラムを呼び出す(プログラムの引数) - php.iniのsendmail_path
のように、OSごとに違った挙動をする。
>>383
ノートン先生のようにデフォルトの設定でrefererを送信しないものもある。
>ファイルをDLして手を加えられる侵入に対策したい
何をしたいのかよく分からないが、特定の人言い換えりゃ特定の情報を送信してくるブラウザを
識別するには次のどれかだろうね。
・cookie
・セッション(まぁ、これもcookieの場合もあるが)
・WebサーバのBasic認証とかDigest認証とか
0385255
2007/12/28(金) 08:34:06ID:rEU4Fn3cwindows:mail()→ネットワークに接続
linux:mail()→mail program呼び出し→ネットワークに接続
みたいな感じに理解しました、(あってるかな。。。)
0386nobodyさん
2007/12/28(金) 08:47:14ID:/nAj2CVOノートンてリファラ送信しないんですか じゃあダメですね、やめときます
ありがとうございました
0387nobodyさん
2007/12/28(金) 11:31:19ID:???早速、phpも仕事を土管とやってみましたが、
やはりmb_系の関数が絵文字処理で悩まされました。
mb_をpregと統一して総合文字列関数として再スタートさせるべきではないでしょうか?
それでは、来年も良いお年をお過ごし下さい。
0388nobodyさん
2007/12/28(金) 12:52:34ID:gGF8c07cサーバーのスクリプトが終了したときに返却されるレスポンスのパケットはどこにいくのでしょうか?
サーバーの動作が遅いのですが、このパケットが行き先を失って、
ルーター内で無限ループしているってことは考えられますか?
送信要求しておいて、ページが表示されないからって閉じられるクライアントをどうにかしたいのですが、そうもいかないので。
0389nobodyさん
2007/12/28(金) 13:04:54ID:???無料レンタ鯖にデータ飛ばして、そこから送信して、必要なら戻ってくるようにすれば無問題。
使い慣れないメール設定やほーと設定で悩んでいる人にオススメ。
0390nobodyさん
2007/12/28(金) 13:14:14ID:???http://jp2.php.net/ignore_user_abort
http://ja.wikipedia.org/wiki/Transmission_Control_Protocol
0391nobodyさん
2007/12/28(金) 17:13:21ID:???「天皇陛下もやっているPEARの活用講座」
という本を出すことになりました。宜しくお願いします。
0392nobodyさん
2007/12/28(金) 18:45:23ID:???「将軍様もやっているPECLの活用講座」
という本を出すことになりました。宜しくお願いします。
0393nobodyさん
2007/12/28(金) 21:09:26ID:41MrW7lh[notice] Parent: child process exited with status 3221225477 -- Restarting.
というメッセージをApacheのログに残して落ちるようになってしまいました。
多分、再帰に失敗してスタックオーバーフローか何かになっているのだと思うのですが、
例えば例外をスローしてくれたりする設定のような、場所を特定する良い方法はないでしょうか?
環境は、PHP5.2 Apache2.0 WindowsXP です。
フレームワークは使用していません。
ご存知の方、教えてください。よろしくお願いします。
0394nobodyさん
2007/12/28(金) 22:07:55ID:/nAj2CVOこの問題はどう解決したらいいんでしょう? 同一IDで後から入ってくる人を有効にすべき?
仕組みとしてはどういうものが理想ですか?
今考えてるのは、会員情報の管理テーブルに、現行のセッション名を保持するカラムを作って、
各アクションごとにブラウザが持ってるものと保存してるセッション名とを比較する
→不一致の場合強制ログアウト
というものです
どうなんでしょう ご意見いただければ幸いです よろしくお願いします
0397394
2007/12/28(金) 22:28:49ID:/nAj2CVOそれでいいじゃんと言われても…
念のためググって調べて考えた上で質問させてもらいました
不快にさせたんならすみません
0399393
2007/12/28(金) 22:44:02ID:41MrW7lhこれを再帰している箇所に埋め込む事にしました。
0400nobodyさん
2007/12/28(金) 22:44:30ID:???二重ログイン禁止したいならそれでいいんじゃないかな。
後から来た方を拒絶しようにも、明示的にログアウトしてくれる人ばかり
じゃないしね。
一定時間経ったらログアウトって仕組みにしても、その間最ログインできないし。
0401nobodyさん
2007/12/29(土) 04:16:39ID:???開発を始めてみたのですが、一点質問させていただいてもよろしいでしょうか。
a.html 内でに b.phpというファイルをインクルードし、a.html内でb.phpの関数を呼び出し
実行したいのですが、うまく実行することができずに悩んでいます。
<?php include('./b.php'); ?>
<html><head></head>
<body>
<?php b_test(); ?>
</body>
</html>
といった具合です。
b_testの内容は、単純に文字列をprintしているだけなのですが
実行されず、ブラウザ上でソースを見るとそのままphpの記述が
残されている状況です。
各所で見て回った簡単なカウンタ等のアプリで同様の記述を行っているものもあり
自分も同じようなことをやってみようと思ったのですが、何か問題がありますでしょうか。
もしくは、他にhtml内でphpの関数を呼び出すのに適したやり方はございますでしょうか。
ご教示お願いいたします。
環境は、windowsXPにxamppを使用し、apache2.2.6とphp5.2.5をインストールしています。
mb_string系を有効にした程度で、ほとんど設定ファイルは弄っていません。
0402nobodyさん
2007/12/29(土) 04:44:46ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0403nobodyさん
2007/12/29(土) 04:45:44ID:???0405nobodyさん
2007/12/29(土) 11:02:50ID:???GETでマルチバイト文字を送れないので
変換すべきと思われるンですが
どんな関数でそれをやればよいですか?>
0406nobodyさん
2007/12/29(土) 11:25:51ID:???0408nobodyさん
2007/12/29(土) 15:00:42ID:???前は、質問したら丁寧に教えてくれたし5分以内には的確な回答がきた。
今は、質問するとニートとか氏ねとかそんなのが殆ど。
ストレスを発散する場所を間違えないで欲しい。
0410nobodyさん
2007/12/29(土) 15:11:14ID:???0412nobodyさん
2007/12/29(土) 15:36:55ID:???0414nobodyさん
2007/12/29(土) 17:09:40ID:???$anser = '氏ね';
}else{
$anser = '市ね';
}
0416nobodyさん
2007/12/29(土) 17:27:27ID:???0417nobodyさん
2007/12/29(土) 17:56:44ID:tcLiBXazという連想配列を、
array('Apple' 'りんご' 'Orang' 'みかん');
という配列に変換したいんですが、どうすれば良いでしょうか?
0418nobodyさん
2007/12/29(土) 18:06:27ID:???foreach ($array as $key => $val) {
$new_array[] = $Key;
$new_array[] = $val;
}
0419nobodyさん
2007/12/29(土) 18:19:38ID:???$b = array_keys($a);
$c = array_values($a);
$d = array();
for ($i = 0; $i <= count($a) - 1; $i++) {
array_push($d, $b[$i], $c[$i]);
}
print_r($d);
0420nobodyさん
2007/12/29(土) 18:23:01ID:tcLiBXaz天才だ!
有り難うございます。
0421419
2007/12/29(土) 18:23:05ID:???気にしないでくれ
0422nobodyさん
2007/12/29(土) 18:48:40ID:WA8jVfpj仕様というより、何の不都合があるのかという意味で。
0423nobodyさん
2007/12/29(土) 18:52:50ID:???0424nobodyさん
2007/12/29(土) 18:56:45ID:yIBMpd500425nobodyさん
2007/12/29(土) 18:56:45ID:WA8jVfpjむしろ、継承だと出来ないんじゃないの?
0427nobodyさん
2007/12/30(日) 01:39:18ID:???何に依存するんでしょうか?
CRLFになったり、LFになったりして困ってまつ
0428nobodyさん
2007/12/30(日) 01:42:14ID:???自分でsetしたcookieではなくて、外部鯖から返されるcookieの値を取得したいんだけど
0430nobodyさん
2007/12/30(日) 01:46:14ID:???0431nobodyさん
2007/12/30(日) 02:34:00ID:+D3WOxGf1. htmlに書くname属性に日本語を利用しても問題無いでしょうか?
2. htmlのフォームからphpの変数に変換するツール等は無いでしょうか?
例:html:<INPUT type="text" name="name"> ⇒ php:$name = $_POST['name'];
0434nobodyさん
2007/12/30(日) 02:57:38ID:???0435nobody
2007/12/30(日) 03:15:18ID:8C08uScj0436nobodyさん
2007/12/30(日) 03:21:54ID:???0437nobody
2007/12/30(日) 03:35:21ID:8C08uScj[1]=>1
[2]=>0
[3]=>1
[4]=>0
の$a["a"][0],$a["a"][1],$a["a"][2]の値です
0438nobodyさん
2007/12/30(日) 03:38:15ID:???0439nobodyさん
2007/12/30(日) 04:45:05ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0440nobodyさん
2007/12/30(日) 05:31:14ID:???お前いい加減うざいよ
わざわざ>>1貼る必要ないだろ
冬休みだからって何回繰り返してるんだよ池沼
せめて>>1嫁ぐらいに留めとけ
0441nobodyさん
2007/12/30(日) 05:38:36ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0442nobodyさん
2007/12/30(日) 05:44:17ID:???さすが冬休み
0443nobodyさん
2007/12/30(日) 06:49:36ID:???0444255
2007/12/30(日) 07:51:44ID:G9WMPe2A0445255
2007/12/30(日) 08:01:43ID:G9WMPe2A0446nobodyさん
2007/12/30(日) 08:41:04ID:???エラーが出てて表示させないで真っ白になってるんと違う
0447255
2007/12/30(日) 08:52:27ID:G9WMPe2A、、、先ほど少し進展がありました。
#setenfoce 0
#restorecon -R /var
を設定することでメール関数がokを返すようになりました。
上のはselinuxを無効にするという意味で、下のは、、、どういう意味だろう。
(cd http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20619&forum=10
でもメールがこない。。。httpdのerroelogを見てみると
Domain of sender address apache@localhost.localdomain
→やっぱりsendmailの設定をいじらないといけないのかなと思い、
とりあえず#sendmail 自分のメルアド
〜〜〜
としてsendmailをテストしてみると無事に自分のアドレス(プロバイダからもらったやつ)に届く
sender addressを設定しなくてもグローバルな環境でメール送れるじゃん
となって今また悩んでいるところです。
0448255
2007/12/30(日) 08:54:11ID:G9WMPe2A0449nobodyさん
2007/12/30(日) 09:06:56ID:???あとif文でOKとか、そういうんじゃなくて、
PHPが吐くwarningとかnoticeとかもみてるのかな?
> Domain〜〜〜does not exit
does not exist? 自分宛に送ったメイルの差出人も localhost.localdomainに
なってるのかな?
0450255
2007/12/30(日) 09:46:25ID:G9WMPe2Aす。
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
to=<:::::::::@fb3.so-net.ne.jp>, ctladdr=<apache@localhost.localdomain>
(48/48),
delay=00:00:17, xdelay=00:00:17, mailer=esmtp, pri=120328,
relay=mxin2.ms.so-net.ne.jp.
[202.238.83.12], dsn=5.1.8, stat=User unknown
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
lBTNdSJQ004414: DSN: User unknown
>>Does not exitst
自分宛(?.so-net.ne.jp)に送ったメールの差しだし人が
localhost.localdomaiになってる可能性大です。
この場合やはりsendmailの設定を変更すべきなのでしょうか。
上にも書いた通り端末からsendmailを利用して自分宛(?.so-net.ne.jp)に
送った場合成功するので、
どこを変更すればいいのかで悩んでいます。
0451nobodyさん
2007/12/30(日) 10:04:09ID:???0452nobodyさん
2007/12/30(日) 11:35:19ID:???正月っぽいの
0453nobodyさん
2007/12/30(日) 11:40:04ID:???でおみくじが引けるよ!
0454nobodyさん
2007/12/30(日) 11:48:59ID:???0455nobodyさん
2007/12/30(日) 11:59:43ID:???> メールの差しだし人が
> localhost.localdomaiになってる可能性大です。
俺mail関数使ったことないんで間違ってるかもしれないけど
これ見た感じだと→ http://jp.php.net/manual/ja/function.mail.php
「メールを送信する際には、必ず From ヘッダが含まれていなければなりません」
とかいてあるけど「可能性大」ってのは自分で「localhost.localdomail」のメアドを
指定した、っていう意味?
0456455
2007/12/30(日) 12:13:57ID:???0457nobodyさん
2007/12/30(日) 12:28:12ID:???ctladdr=<apache@localhost.localdomain>
ctladdr - The ``controlling user'', that is, the name of the user whose credentials we use for delivery.
こいつは mb_send_mailの4だったか5番目だったかのパラメータで設定したものが使われる。
指定してなきゃ、sendmailを呼び出したプロセスの所有者が使われるんだったかな。
で、apacheになるっと。
その部分を除いてPHPには全く関係無く、”sendmailを適切に設定していないことが原因” だから板違い。
Linux板か自宅鯖板のsendmailスレで、どういうメル鯖の構成(ISPのメル鯖に全部投げとか)にするかを書いた上で聞けばいいよ。
0458nobodyさん
2007/12/30(日) 13:13:30ID:???登録後のIDとPASSの管理をファイルでしようと思うんですが、
セキュリティを向上させるための定石というのはあるのでしょうか。
また、どのようにユーザーがログインする時はPOSTでデータを送信、
その後はセッションでログイン情報を維持という風にしたいのですが
これは特に問題ありませんよね?
0460255
2007/12/30(日) 16:15:22ID:G9WMPe2A0461nobodyさん
2007/12/30(日) 16:50:41ID:???とりあえず、オライリーの「sendmail」を読むことを勧める。
0463nobodyさん
2007/12/30(日) 19:23:36ID:???<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>
↑をまるごと変数に入れるにはどうすればいいでしょうか・・・
0464463
2007/12/30(日) 19:26:45ID:MvMxVYb6申し訳ない
0465nobodyさん
2007/12/30(日) 19:27:27ID:???0466nobodyさん
2007/12/30(日) 19:29:49ID:???$hoge = "
<<< HTML
<tr>
<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>
HTML;
";
0468nobodyさん
2007/12/30(日) 19:42:11ID:???なんか、色々間違ってる気がする。
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
0469nobodyさん
2007/12/30(日) 20:02:47ID:1r819gof昔マンモス本の中身ダウンロードできるサービスがあったような気がするんだけど、
ああいうの今もないでしょうか?
あったら教えてほしいです、田舎に帰って勉強したいんだけど、
でかい本持ち歩くのキツイ、、
0470nobodyさん
2007/12/30(日) 20:08:55ID:lUFWIq2Zコントローラーで
$title = "タイトル";
require("hoge.php");
exit;
とかみたいなやりかたってダメ?
他に何かいい方法あるかなー?
っていうかviewを別にするならテンプレート使わないといけないのかな?
0471nobodyさん
2007/12/30(日) 20:12:51ID:lUFWIq2Zttp://www.php.net/download-docs.php
0472nobodyさん
2007/12/30(日) 20:18:46ID:???すいませんわがままだと思うんですが
Web上で参考になるセキュリティ対策のサイトというのはないでしょうか・・・
0473469
2007/12/30(日) 20:24:49ID:1r819gofすごい! ほんとにあったんですね!! 大感謝です
ありがとう!
0475nobodyさん
2007/12/30(日) 20:38:53ID:???レスありがとうございます
↑の書き方で例を表示することはできたんですが、
自分の場合"あああ"、”いいい”の部分も<?=$hogehoge?>の様に変数になっていて、
このまま実行してもセルの中が空になります
変数に変数を代入しようとしてるのが問題だと思うんですが、どうにかならないでしょうか
ローカルでテストしてる場合OSとPHPのバージョンは自分の環境を書けばいいんでしょうか
WindowsでPHP5.25なのですが
0476463
2007/12/30(日) 20:39:38ID:MvMxVYb6申し訳ない
0477nobodyさん
2007/12/30(日) 20:44:11ID:lUFWIq2Z変数を『{}』でくくるか、
文字列と変数を『.』で繋げればいいんじゃない。
0478nobodyさん
2007/12/30(日) 20:48:41ID:???0479431
2007/12/30(日) 21:24:43ID:+D3WOxGfレスありがとうございます。
とりあえずやりたいことは出来そうです。
もう少し勉強してみます。
0480463
2007/12/30(日) 21:58:49ID:MvMxVYb6$hoge="<tr>\n<td class="hoge2"><?=hoge3?></td>\n</tr>";
変数と言うか、<td>〜</td>間にPHPの書式を書こうとするとだめみたいです
<td class="hoge2">のようにタグの中だと効くのですが、<?=hoge3?>は無いものとして扱われてます
<?=hoge3?>を{}や''で囲むとその囲んだ記号だけ表示されます
0481nobodyさん
2007/12/30(日) 22:00:51ID:???$html = '<a href="hoge.html" onclick="alert(\'ラヴィ\')">'.$hoge.'</>'.NEW_LINE.
'以上ラヴィでした';
こんな感じで書いてるなー
#てーか携帯でソース書くの辛いな
0482nobodyさん
2007/12/30(日) 22:09:56ID:???ヒアドキュメントとかアホじゃねーのか。
0483nobodyさん
2007/12/30(日) 22:22:57ID:???ヒアドキュメントと文字列に差はないと思うけど。
0484nobodyさん
2007/12/30(日) 22:24:45ID:???0485nobodyさん
2007/12/30(日) 22:28:09ID:UcZOMDnE展開したと思う。
0486484
2007/12/30(日) 22:34:14ID:???自重します。
0487nobodyさん
2007/12/30(日) 22:35:18ID:???普通に$unkoとかは展開されてる
0488nobodyさん
2007/12/30(日) 23:08:06ID:WyJGCA3Eどうすれば いいだろうか?
クリックしても .bat / .exeみたいに 動かないし…
0490nobodyさん
2007/12/30(日) 23:16:28ID:???0491nobodyさん
2007/12/30(日) 23:51:59ID:???0493nobodyさん
2007/12/31(月) 02:01:26ID:ye8NBX1lそのままログイン後の画面を表示させるか、
入力フォームに値を入れてボタンを押させるか、
どっちが主流?
0494nobodyさん
2007/12/31(月) 02:05:01ID:???0495nobodyさん
2007/12/31(月) 02:07:28ID:???ソフトウェア開発のがリスクがない分楽かもしれん
0496nobodyさん
2007/12/31(月) 02:22:13ID:???IDやPASSをそのまま入れてる訳ではないけど
ログインしたままが多いんじゃないかな(Googleとかニコ動とかそうだし)
0497nobodyさん
2007/12/31(月) 03:43:38ID:???普通にhiddenでIDとPASSをやり取りしてページを移動していますよね、
これってセキュリティ的にどうなんですか?。。
0498nobodyさん
2007/12/31(月) 03:55:53ID:???0499nobodyさん
2007/12/31(月) 04:08:11ID:???ログイン画面でID・PASSを送信、ハッシュ化、
それに応じたハッシュがあればセッションを作成してページ間の移動に利用、
ページを移動したらセッションを破棄、また移動時にセッションを作成、破棄・・・
というの無知ながら考えたんですが、これはセキュリティとサーバーの負担から考えてどうなんでしょう・・・。
どなたかご教授お願いいたします。
0500nobodyさん
2007/12/31(月) 04:09:21ID:???0501nobodyさん
2007/12/31(月) 04:44:33ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0502nobodyさん
2007/12/31(月) 04:46:57ID:???0503nobodyさん
2007/12/31(月) 04:59:41ID:???0504nobodyさん
2007/12/31(月) 05:18:46ID:???0505nobodyさん
2007/12/31(月) 10:13:13ID:???0506nobodyさん
2007/12/31(月) 14:09:09ID:ExHZywTcXMLの加工そのものは成功してて、IEなんかのブラウザで見てる分には問題ないんですが、
Ajaxで非同期受信すると、responce has no propertiesとなってしまいます。
(status=4を受信できないっぽい)
上記のエラーは、FirefoxのFirebagで見てます。
Firebag上は、ちゃんとXMLが取得できてるので、php側からstatusの4を送信できればいいんだと思うんだけど、やり方わかる人っていますか?
0507nobodyさん
2007/12/31(月) 14:09:53ID:ExHZywTc0508nobodyさん
2007/12/31(月) 14:21:09ID:???0509nobodyさん
2007/12/31(月) 14:21:27ID:???わかる人、経験した人ってのは案外多いもんです。
0510nobodyさん
2007/12/31(月) 14:29:56ID:ExHZywTc何を出力すればいいんだろ?
>>508
してないです。
>>509
はぁ・・・
0511455
2007/12/31(月) 14:32:14ID:???HTTPのことを全く理解せずにAjaxとかやってるやつって
色々大変なんだろうなー
0512nobodyさん
2007/12/31(月) 14:33:17ID:???header("Content-Type: application/xml; charset=utf-8");
0513nobodyさん
2007/12/31(月) 14:37:06ID:ExHZywTc0514nobodyさん
2007/12/31(月) 14:39:10ID:ExHZywTcAjaxやったことない人からすると、羨ましいですか?
>>512
はい、それです。やっぱ実力のある人は回答をスパッと出しますね。
実力無い人って、なんでウザイんですかね?
0516nobodyさん
2007/12/31(月) 14:43:42ID:???「実力のある人は回答をスパッと出しますね」
実力のないやつがえらそうにこういうこと言うのって恥ずかしいなあ。
"responce has no properties"
"Firebag"
この手の注意力散漫なやつはくだらない打ち間違いで時間を無駄にするタイプ。(中学生か?)
ふつーにFirefox使ってりゃ、この手のバカが打ち間違えないように
赤い下線で打ち間違いを教えてくれるのに、それでも間違えるってのは真性だなあ
0517nobodyさん
2007/12/31(月) 14:45:09ID:???はやく「php側からstatusの4を送信」してみろよカスが
0518nobodyさん
2007/12/31(月) 15:11:38ID:ExHZywTcそんなに悔しかったんですか?(w
久しぶりに必死な人を見ました。
今年の歳暮れも大変だと思いますが(w 頑張って下さいね。
0519nobodyさん
2007/12/31(月) 15:23:53ID:???Firebag(笑)
> 上記のエラーは、FirefoxのFirebagで見てます。
> Firebag上は、ちゃんとXMLが取得できてるので、
0521nobodyさん
2007/12/31(月) 15:28:11ID:???0522nobodyさん
2007/12/31(月) 15:28:26ID:???/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ 上記のエラーは、FirefoxのFirebagで見てます。
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0525nobodyさん
2007/12/31(月) 16:18:07ID:???/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ php側からstatusの4を送信
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / //
| :::::::::::(⌒) | | | / ゝ :::::::::::/ だっておwwwwwwwww
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / /
| | l||l 从人 l||l l||l 从人 l||l バンバン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0526nobodyさん
2007/12/31(月) 18:23:23ID:ExHZywTcまぁリアルで高校生なんですけど、高校生より劣っていることが
そんなに悔しかったんですか?(w
0527nobodyさん
2007/12/31(月) 18:26:45ID:ExHZywTcPHPは1年だけど(w
おっさん、めげるな!
0528nobodyさん
2007/12/31(月) 18:29:44ID:???いい加減しつこい。
0529nobodyさん
2007/12/31(月) 18:36:41ID:???0531nobodyさん
2007/12/31(月) 18:41:07ID:???0532nobodyさん
2007/12/31(月) 18:41:25ID:???0533nobodyさん
2007/12/31(月) 18:44:12ID:3CT6jxWV正規表現で<a href=""></a>を加えて置換する以外に何か方法ありますか?
0535nobodyさん
2007/12/31(月) 18:52:11ID:???0538533
2007/12/31(月) 19:02:09ID:3CT6jxWVありがとうございました。
都合のいい正規表現を考えるか、探した方が良さそうですね。
0539nobodyさん
2007/12/31(月) 19:36:21ID:???ちょww質問の意味を汲み取れてない馬鹿はお前だろww
投稿フォームでアドレスの入力があった場合のオートリンクの話をしてるのに
なんでURL入力欄を設けるとかイミフなこといっちゃってるわけ?wwww
0540nobodyさん
2007/12/31(月) 19:43:39ID:???低学歴は数年後にちゃんとみじめな人生送ることになってるから
放置しておいてやろう
家が金銭的に小康状態を保っているから
他にやることが無いから書き込みをしているんだ
今の彼は最高に輝いている
0541nobodyさん
2007/12/31(月) 19:47:16ID:???1. URL入力欄
http://www.example.com/ (自サイトのURL)
2. 投稿フォーム
こんにちは。よかったらサイトに遊びに来てください。
最近 http://www.2ch.net/ にもたまに出没しています。
1と2で張られたリンクには関連性はないだろ。
0543nobodyさん
2007/12/31(月) 22:34:43ID:zQ+yU81P<name>ひろゆき</name>
って文字列があるとして、ここから「ひろゆき」だけを抜き出すには、どんな方法がスマートなの?
substrとstrposでゴチャゴチャ処理するのが嫌なんだけど。
0546nobodyさん
2007/12/31(月) 22:46:18ID:zQ+yU81Pxmlって言ってないのに気を遣ってくれてありがとう。
simplexml使ってみます
0547nobodyさん
2007/12/31(月) 23:01:32ID:fLI7N5P/エラーを返す方法ってありますか?
そもそもそんなこと気にしないで良いんでしょうか?
0548nobodyさん
2007/12/31(月) 23:04:14ID:???order deny,allow
deny from all
allow from localhost
みたいな
0549nobodyさん
2007/12/31(月) 23:07:17ID:???0550nobodyさん
2007/12/31(月) 23:07:40ID:???localhost許可する必要すらないよ。
普通に全て拒否すればおk
0551nobodyさん
2007/12/31(月) 23:12:28ID:???そういうのは気にして無いな。
その他には、他の人と重複するけど、
・Webサーバから直接アクセスできない場所に置く
・htaccessを使うなどして、アクセスを制限する
・設定ファイルなどで定数を設定して、インクルードファイル内でそれを確認
ってところかな。
0552nobodyさん
2007/12/31(月) 23:22:44ID:???0553nobodyさん
2007/12/31(月) 23:26:57ID:???0554nobodyさん
2008/01/01(火) 00:01:03ID:???0555nobodyさん
2008/01/01(火) 00:03:26ID:QS3lzF/U勉強になりました
あけましておめでとうございます!
0557nobodyさん
2008/01/01(火) 01:54:00ID:mia1J22wPHP5.2.5 (cli) を使用しています。
1. PHPスクリプトのエンコードはUTF-8
mb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');
2. http://2ch.net/ を fsock で取得(これは問題なし)
3. mb_convert_encoding で UTF-8 に変換(これも問題なし)
4. その文字列を正規表現で処理…(ここで問題発生)
//if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動かない(エラーも吐かずに停止状態になる)
if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動く
print_r($matches);
else echo 'NO MATCH';
正規表現的に問題は無いと思うのですが…
「(?!</div>)」を消したり、「(?:.|\s)」を「(?:.|s)」や「.」にすると動きます。
「.」が改行にマッチするので、「.」に置換すればいいのですが、何故この様な事になるのか解りません。
何か無限ループ的なことになっているような気も…
0558nobodyさん
2008/01/01(火) 02:58:34ID:mia1J22whttp://abc.s65.xrea.com/prox/wiki/?plugin=attach&pcmd=open&file=mb_eregi_test.php&refer=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C0
0559nobodyさん
2008/01/01(火) 03:19:28ID:mia1J22wMLog: [PHP-users 29514] Re:UTF-8、正規表現で全角スペースがヒットしないことがある?
http://mlog.euqset.org/archives/php-users.php.gr.jp/29514.html
見たいなのも有るようなので、仕様(納得行かないのでバグのような気がしますが)でしょうか・・・?
0561nobodyさん
2008/01/01(火) 04:44:18ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0563nobodyさん
2008/01/01(火) 06:09:31ID:???RubyやPythonやJavaScriptでは、既存のクラスに対してあとからインスタンスメソッドやクラスメソッドを追加できるんですが、同じことをPHPでしようとして、やり方が分からず困ってます。
なおこの質問はPHP批判ではなく純粋に質問なので、「Ruby使えやボケ」とかはなしでお願いします。
0565nobodyさん
2008/01/01(火) 06:18:22ID:???PHPをハックすればできるんじゃない?
ていうか既存のクラスいじるとかトリッキーなことしないで、
継承してからいじればいいと思う。
クラスの再利用ってそういうものでしょ。
0566nobodyさん
2008/01/01(火) 06:45:56ID:???継承すると別のクラスになります。
使おうとしいてるライブラリがクラス名を固定しているため、他のクラスは使えません。
factory methodとかDIコンテナを使っていればいいのですが、そうではないので、継承では解決できません。
0567nobodyさん
2008/01/01(火) 06:52:45ID:???何のクラスにどういうメソッドを追加しようとしてんの?
0568nobodyさん
2008/01/01(火) 06:59:41ID:???止まってるんじゃなくて、マッチングに時間がかかってるだけみたい。
対象文字列を短くしたら、数秒で終わるようになった。
たぶんeregi()のマッチングアルゴリズムがまずいんだろう。
UTF-8でいいなら、mb_eregi()のかわりにpreg_match()を使って、パターンに u オプション使えばいい。
それから、質問するときは現象が発生する最小限のコードにしてほしい。
getPage()とかいらんから、対象文字列を短くしてコードに貼付けるべし。
0569nobodyさん
2008/01/01(火) 07:02:35ID:???0570nobodyさん
2008/01/01(火) 07:03:40ID:???privateやprotecedになっているインスタンス変数に対して、publicなアクセッサを定義したいというだけです。
他人が作ったまずい設計のクラスを、なんとかして使わなければいけないときに、RubyやPythonだとなんとかできてしまうので、同じことがPHPでもできたらいいなと思って。
0571nobodyさん
2008/01/01(火) 07:19:12ID:???0572nobodyさん
2008/01/01(火) 07:37:33ID:9i91PKAGphp_qrってのを使おうと思ったんですが、インスコまではやったんだけど
php_output_from_zvalがみつかんねぇってこと言われました
php_output_from_zvalってなんのパッケージ入れればいいんですか?
0573nobodyさん
2008/01/01(火) 07:46:35ID:???0574nobodyさん
2008/01/01(火) 07:54:18ID:9i91PKAGphp4なんですが、php_qr-0.1.0.tgzとphp_qr-0.1.3.tgzを試したんですが出来ませんでした。
php4ではどのバージョンを使えばいいんでしょうかね?
とりあえずエラーメッセージ載せておきます
Warning: dl(): Unable to load dynamic library '/usr/lib/php4/qr.so' - /usr/lib/php4/qr.so: undefined symbol: php_output_from_zval in /var/www/html/index.php on line 3
0575nobodyさん
2008/01/01(火) 09:04:48ID:???有難うございます。色々試してみた所、仰るとおり、
PHP5だと何故か異常に時間が掛かるだけで(PHP4だと一瞬)、固まっている訳ではなかったようです。
どういう表現&対象文字列だと遅くなるのかがよく解らなくて困りますが…
一応、テストに使用したスクリプト、対象のソース、結果を纏めた物を用意してみました。
http://abc.s65.xrea.com/prox/wiki/?plugin=attach&pcmd=open&file=mb_eregi-test.zip&refer=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C0
後、異常に遅い表現は、preg_match + i,s,uオプション ではマッチしないようです(PHP4.4.7のmb_eregiだとマッチする)。
もう訳が解りません…
0577574
2008/01/01(火) 09:54:04ID:???php_qr.cの594行目のチェックをはずしたらうまく行ったっぽい
0578nobodyさん
2008/01/01(火) 10:08:13ID:???//if (preg_match('{<div[^>]*>(?:(?!</div>)(?:.|[\r\n]))*?管轄裁判所)}isu', $body, $matches)) // NO MATCH(何故一致しないのかわからない…)
i,s,uはパターン修飾子だから、 /正規表現/isu の書式じゃないの?
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
他人が書いてるものを見るとわけがわからなくて嫌いになりそうになるよな。
0584nobodyさん
2008/01/01(火) 14:43:07ID:???0585nobodyさん
2008/01/01(火) 15:02:55ID:???0586nobodyさん
2008/01/01(火) 15:06:59ID:???ただ100行のコードが1万行になるわけではないだろ?
せいぜい数行〜数十行増えるだけのはずだ
そうなると体感動作速度は一緒だし実測しても変わらない
気にする必要はないからわかりやすく書くよろし
間違っても条件文で読みにくい三項演算子なんて使うなよ
0587nobodyさん
2008/01/01(火) 15:31:35ID:???0590nobodyさん
2008/01/01(火) 15:35:06ID:???あとで使い勝手とか教えてくれたら嬉しい。
0593nobodyさん
2008/01/01(火) 17:29:15ID:F2c2JMdrクッキーを与えるドメインとは別のドメインを書いても
別のドメインでそのクッキーを使えるようにはならないのでしょうか?
やってみたけど上手くいかないので、やり方が悪いのか根本的に出来ないのかを知りたいです。
0594nobodyさん
2008/01/01(火) 17:31:31ID:???$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
この記述でクエリの送信に失敗しました と出るのですが
記述が間違っているんでしょうか?
0595nobodyさん
2008/01/01(火) 17:43:33ID:???多分だけど、それが可能だとしたら他のドメインのcookieを書き換える事が可能ということに
なるので、ブラウザ側が許可しない気がする。
0596nobodyさん
2008/01/01(火) 17:49:21ID:???mysql は使ってないから、詳しくは知らないけど、これで調べれば少しは判るかも。
http://jp.php.net/manual/ja/function.mysql-error.php
0597nobodyさん
2008/01/01(火) 18:02:26ID:???その関数を使ってみたところ
単純にデータベース接続が完了してなかったみたいでしたorz
くだらない質問にありがとうございました。
0598nobodyさん
2008/01/01(火) 19:52:12ID:gtyeLFx+setcookie("pass", $pass,time()+60*60*24*30);
$pass = $_COOKIE["pass"];
if($pass == abc){BBSを表示}
を使って、簡単なログイン制限を掛けてるのですが、
この処理のあるbbs.phpを直接表示した場合、IE7.0でもFireFoxでも全く問題なく処理されるのですが、
bbs.phpをIE7.0でインラインフレームを使い入れ子にした場合、
フォームの処理を行うとクッキーがクリアされて、またpassの入力画面に戻ってしまいます。
FireFoxでは問題ないようなのですが、インラインフレームの利用で何か特別な問題が起こることはあるのでしょうか?
0599nobodyさん
2008/01/01(火) 21:46:01ID:???同じPCから複数のユーザとしてログインする必要がないなら、 setcookieで path とか domain も指定すれば
cookieが共有される気がする。
0600nobodyさん
2008/01/01(火) 22:55:23ID:???class Foo {
static Map table = new HashMap();
static { // static initializer
table.put("<", "lt");
table.put(">", "gt");
table.put("&", "amp");
table.put("¥"", "quot");
}
}
0602598
2008/01/01(火) 23:04:36ID:gtyeLFx+ここでも仕様が違うんですね。
他の方法を試してみます、どもでした。
0603nobodyさん
2008/01/01(火) 23:30:56ID:???ハァ?何これフザケテンノ?
http://php.liukang.com/manual/ja/tokens.php
ぐぐってみたら同じこと思った人がいたようで
http://p0t.jp/mt/archives/2006/08/paamayim_nekudo.html
0604nobodyさん
2008/01/01(火) 23:43:58ID:???0605nobodyさん
2008/01/02(水) 03:58:58ID:xlZOpAZW投稿フォーム改造して画像レスを送ってみたら
アップロードされちゃったんですが見ることができません。
これをHTMLやヘッダに手を加えて画像レスが見れる状態のHTMLを送って
もらうことはできますでしょうか?
PHPを使ってる掲示板なのでここで質問してみました
よろしくお願いします
0606nobodyさん
2008/01/02(水) 04:25:51ID:zb153+EZみたいな可変する文字列のn番目に文字列"\n"を挿入する場合、
substrで切り出してシコシコ成形する以外にスマートな方法ありませんか?
0607nobodyさん
2008/01/02(水) 04:44:42ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0608nobodyさん
2008/01/02(水) 06:24:31ID:XSzMXv90$obj->NAMAE で名前カラムのデータが求められるとします(カラム名は必ず大文字)
で、上記の呼び出しを関数化したとき
function yobidashi($name){
$name=strtoupper($name);
return $obj->name;
}
としても上手くいきません
$obj->の後に続くのはカラム名でなければいけないからなんですが、
どういう書き方にしたらいいのかわかりません
どなたかアドバイスお願いします
0610nobodyさん
2008/01/02(水) 07:34:16ID:???0611nobodyさん
2008/01/02(水) 07:51:34ID:???0612nobodyさん
2008/01/02(水) 08:26:14ID:???いまいち状況がワカラン中でレスをするが・・・・
return $obj->$name;
これでどう?
関数呼び出す時は呼び出し方の例も記載すると
レスし易いと思う
0616nobodyさん
2008/01/02(水) 10:06:19ID:???evalを使うしか思いつかない。
http://jp.php.net/manual/ja/function.eval.php
return eval('return $obj->'.$name.';');
ってかんじかな。
0617nobodyさん
2008/01/02(水) 10:12:07ID:???単純に$obj->$nameでOKでした すみません、クダ質で…
evalとかglobalとか調べてついでに覚えます
ほんとにありがとう
0619nobodyさん
2008/01/02(水) 12:44:05ID:???0620nobodyさん
2008/01/02(水) 12:52:33ID:???0621nobodyさん
2008/01/02(水) 14:12:54ID:???0623nobodyさん
2008/01/02(水) 19:05:49ID:???Windowsでの話ならその通り。あくまで中身がPerlだったらの話だけど。
別にActive Perlじゃなくてもいいけど、定番だし普通これかな。
Linuxがどうかは知らない。
んでPHPと関係ないんで、次からはスレちゃんと選んでね。
0624nobodyさん
2008/01/02(水) 19:27:01ID:???0625nobodyさん
2008/01/02(水) 20:42:30ID:lW+cmhhePHPとPerlを同じものと勘違いしていました すみません
0626nobodyさん
2008/01/02(水) 21:55:46ID:XSzMXv900627nobodyさん
2008/01/02(水) 22:08:15ID:???0628nobodyさん
2008/01/02(水) 22:08:22ID:???想定用途 : 得ろサイトの直リンクのURLを文字列として持っていて、
それがまだ取得可能かどうか調べたい
答え : getimagesize() で充分。
getimagesize(そのURL)、あるいはファイルを取得してから、getimagesize()
0629nobodyさん
2008/01/02(水) 22:14:46ID:???掲示板を作ってみようと思うんだけど、クラス……というかオブジェクト指向がいまいち理解出来ない。
やっぱし、これくらい使いこなせないと掲示板自作するのは早いかな。
0630626
2008/01/02(水) 22:19:01ID:XSzMXv90ありがとう
if(file_exists("http://jp2.php.net/images/php_snow.gif")){
echo "ファイルあったよ";
}else{
echo "ファイルなかった";
}
というのを試したんだけど、「なかった」と言われます
マシン内の画像で試してもそういわれます。絶対存在してるのに、、
何が原因でしょうか?
php5 apache2 winXPでやっています
0632nobodyさん
2008/01/02(水) 22:37:22ID:???0633nobodyさん
2008/01/02(水) 22:38:43ID:???bbsなんてそんなの理解せんでもできるよ
ただ後のメンテを考えるなら覚えた方が良いかも
あとから直すのなんてめんどくさくてやってられねーとなる
0634nobodyさん
2008/01/02(水) 22:39:17ID:???0637629
2008/01/02(水) 22:54:29ID:???荷がだいぶ軽くなったよ。
いろいろ、PHPの参考書とかネット上のOOP関連の文献を読み漁ってみたけど、やっぱりモヤッとしてた。
何にせよ、ありがとう。
0638nobodyさん
2008/01/02(水) 23:10:10ID:???クラスとオブジェクト指向っていうのはそれとはまた違ったものなの?
0639nobodyさん
2008/01/02(水) 23:12:39ID:???実際に自分でコードを書いてみて体で体験して初めて感覚がつかめる。
その感覚こそが大事。つまりオナニーだけしていてはダメで、
実際に女に入れてみなければ真理はつかめないということ。
そして真理をつかんだなら、ぜひオウム真理教の再興を祈念し、入信することを勧めたい。
0641nobodyさん
2008/01/02(水) 23:18:30ID:???関数でハンドルを取る奴があるとするだろ?
例としてファイルハンドルとしようか
fread(file,num)
↑をOOPではハンドルを主体にして呼ぶ↓という感じ
file->fread(num)
メソッドに操作対象を渡すか、操作対象からメソッドを呼ぶかという違い
0642nobodyさん
2008/01/02(水) 23:19:38ID:???class と function はまったく別物。
http://www.php.net/manual/ja/language.oop5.basic.php
0643nobodyさん
2008/01/02(水) 23:25:06ID:EFH6C9iGクラスについておぼえときます・・・
0644nobodyさん
2008/01/03(木) 01:26:52ID:PuYJW96Tをechoした時
"aaa","bbb","ccc"
と表示させたいのですが、forを使う以外の方法はありませんでしょうか?
0648nobodyさん
2008/01/03(木) 02:08:57ID:???0649nobodyさん
2008/01/03(木) 04:45:11ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0650nobodyさん
2008/01/03(木) 08:23:14ID:9iX7ULguここにある?filename=**で**をincludeするのが危険なのはわかったんだけど、こういうのも危なかったりする?
$text = htmlspecialchars($_GET['text']);
$textfile= './txt/'.$text.'.txt';
readfile($textfile);
0651nobodyさん
2008/01/03(木) 09:11:37ID:???text=../../hogehoge みたいなアクセスも出来てしまう気がする。
ディレクトリ指定が不要なら basenameを使うべき。
http://jp2.php.net/manual/ja/function.basename.php
あとファイル名に対して htmlspecialchars を使うのに、意味があるのかちょっと疑問。
0652nobodyさん
2008/01/03(木) 09:15:33ID:???ためしにtext=../../hogehoge
htmlspecialchartは元ソースに$textがなかったときに{$text}がみつかりませんでした。って表示してるからだ。ごめん消し忘れた。
0653650
2008/01/03(木) 09:21:41ID:9iX7ULguためしにこのphpファイルと同じディレクトリにaaa.txtを置いて?text=../aaa ってやってもWarning: readfile(./txt/../aaa.txt) [function.readfile]: failed to open stream: No such file or directory in C:\www\aaa.php on line *。になる。
0654650
2008/01/03(木) 09:25:59ID:9iX7ULgu0655650
2008/01/03(木) 09:47:57ID:9iX7ULguできればディレクトリ指定でファイルを読み込みたいんだけど、どうにかならないものですかね・・・
0656650
2008/01/03(木) 09:56:17ID:9iX7ULguごめん俺書き込みすぎだ。
0657nobodyさん
2008/01/03(木) 10:16:03ID:???0658nobodyさん
2008/01/03(木) 10:27:05ID:???$textfile = './txt/'.$page.'.txt';
}else{
$textfile= './txt/error.txt';
}
こんなかんじになりました。大丈夫かな・・・
>>651と>>657ありがとう。
0659626
2008/01/03(木) 10:33:10ID:uA4WBKbOお手隙の方、意見いただけると嬉しいです お願いします
0660nobodyさん
2008/01/03(木) 10:40:55ID:???>>628 >>632 が不憫すぎる。
原因は
http://jp.php.net/manual/ja/function.file-exists.php
http://jp.php.net/manual/ja/wrappers.http.php
0661nobodyさん
2008/01/03(木) 14:38:25ID:sD9SHXAaこれだと、セッションを破棄・ブラウザを閉じるかしない限り、
下記のように、他のページへ一旦移動してまた戻ってくることができますよね
ログイン画面→ID・PASS認証・セッション発行→専用ページ→他の見知らぬサイト→専用ページ
見知らぬサイト へ行ったら
専用ページへ直接入れないようにしてしまいたいんですがどういう手があるんでしょうか。
ちなみにセッション管理でやりたいんですが。。
0662nobodyさん
2008/01/03(木) 15:45:13ID:???0663nobodyさん
2008/01/03(木) 16:03:13ID:???0664nobodyさん
2008/01/03(木) 16:16:18ID:???「気がする」じゃ、何の説得力もない。
学生ならバカ学生で済むが、社会人でそんな安い了見で仕事しているなら死んだ方がいい。
お前は人間の屑。
0666>>661
2008/01/03(木) 16:21:10ID:???0667nobodyさん
2008/01/03(木) 16:25:54ID:???0668nobodyさん
2008/01/03(木) 16:26:17ID:???0669nobodyさん
2008/01/03(木) 16:28:33ID:EPFlyde6ユーザーがフォームよりデータをサーバに送信後、サーバ側での処理についてご質問させていただきます。
1.ユーザーから送られてきたデータと、ログファイルの最終行のデータを比べる
2.1のデータがお互い違うデータであれば書き込み
このような処理を思いつきました。しかし、これだと2回ログファイルを開くことになるのですが、どなたか
もっとこうしたほうがいいっていうのがありましたらご指摘アドバイスお願いいたします。
0670>>661
2008/01/03(木) 16:29:57ID:???一番重要なこと忘れてました;
専用ページは複数あって、その橋渡しにセッションを使っているんです。
セキュリティ面でセッションがいいかと思って。。
0671!omikuji !dama
2008/01/03(木) 16:31:50ID:???・セッションデータに時間情報を入れて、専用ページではその時間情報ではじく。
3秒ルールみたいなものだから厳密には要求通りじゃないが、
セッションハンドラを使えば簡単に実装できる。
・専用ページ内での遷移は全てAjaxで行い、ブラウザの履歴・キャッシュを無意味なものにする
めんどくさい
・そもそも外のページに行ってもいいじゃないか。
重要なデータが漏れるのなら、サイト自体の作りに問題がある
0672nobodyさん
2008/01/03(木) 16:35:44ID:???http://www.phppro.jp/school/phpschool/vol22/2
ここが参考になると思います
0674nobodyさん
2008/01/03(木) 16:54:28ID:+JPyHTOV本に付いてきたサンプルを実行させた所、
-------------------------------------------
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client]
We encountered an error at our end while processing your request.
Please try again in C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\
amazon.php:22 Stack trace: #0 [internal function]:
SoapClient->__call('KeywordSearchRe...', Array) #1
C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\amazon.php(22):
SoapClient->KeywordSearchRequest(Array)
#2 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\amazon.php on line 22
-------------------------------------------
この様なエラーが出てしまい実行できませんでした。
自分でエラーの出てる箇所を追ってはみたのですが、どうしても分からず困っています。
どうかよろしくお願いします。
ソースはこれです
http://ranobe.com/up/src/up248796.zip
0675nobodyさん
2008/01/03(木) 16:55:06ID:???リンクのみでキーの受け渡しを行えば多分いけるはず
あとついでだからsession_regenerate_idで
毎回sessionid変えてやればいいんでない?
0676nobodyさん
2008/01/03(木) 17:09:46ID:???21行目でエラー返ってるのに
22行目で変換しようとしてexception発生してるんじゃないかな
http://jp.php.net/manual/ja/function.is-soap-fault.php
0677>>661
2008/01/03(木) 17:16:44ID:sD9SHXAaユーザ側が下手しなければセキュリティ的にも一番理想的かもしれない
ちょっと試してみます
0678nobodyさん
2008/01/03(木) 17:16:53ID:???0679nobodyさん
2008/01/03(木) 17:17:02ID:???ぐぐると色々出てくる、なんなんだろうね。
http://www.google.co.jp/search?hl=ja&q=amazon+soap+We+encountered+an+error&btnG=%E6%A4%9C%E7%B4%A2&lr=
0680674
2008/01/03(木) 17:52:55ID:+JPyHTOV色々とありがとうございます。参考になります。
もうちょい調べて頑張ってみます。
>>678
確か無くても実行できるはずなので、プログラム側の問題かと思います・・
0681626
2008/01/03(木) 18:21:01ID:???気づかずすみませんでした
いまさらですが、getimagesizeを使わせてもらいました。
が、上手くいきません
とりあえずもうしばらく自分でがんばってみます ありがとうございました
0682nobodyさん
2008/01/03(木) 18:23:33ID:???それだとさ
セッションIDの含まれたURLを保存しといただけで
直接専用ページに入れるんじゃ?
セキュリティ敵にもよくないんでは
0683nobodyさん
2008/01/03(木) 18:34:04ID:???自分でやろうとしているところを邪魔して悪いが、うまくいくっぽい。XP/PHP5 実行はコマンドライン。
<?php
checkValidImageUrl('http://jp.php.net/images/php_snow.gif');
checkValidImageUrl('http://jp.php.net/images/php_snow2.gif');
function checkValidImageUrl($url) {
if (@getimagesize($url)) {
echo "$url is valid.\n";
} else {
echo "$url is unvalid.\n";
}
}
?>
0684nobodyさん
2008/01/03(木) 18:35:43ID:???0685nobodyさん
2008/01/03(木) 18:39:27ID:???0686nobodyさん
2008/01/03(木) 18:45:42ID:???file_exists は stat ファミリで、http/httpsはstatをサポートしてないから、onにしても動かないはず。
0687>>661
2008/01/03(木) 19:02:25ID:sD9SHXAaそうなんですか
もうなんかどーにもorz
0688nobodyさん
2008/01/03(木) 19:05:42ID:???過去のセッションを適切に破棄してやればそれは無い
破棄しなくても可能な時間はセッションの有効期限内のみだし
php5.1以降であれば
session_regenerate_id(true);
とすることで自動的に破棄される
あとはリロード時のURLチェック等入れればいける
0689nobodyさん
2008/01/03(木) 19:07:22ID:???0690>>661
2008/01/03(木) 19:22:21ID:sD9SHXAaphpゲームを開発してて、戻るボタンでNPCにまた話しかけたりとか無くしたいんです。
(でもこれってSESSION使えば二重処理とか発生することはないなそういえば・・・。)
とりあえず戻るボタン押したり、他のサイト行ったら
ページが表示されないようにできればこちらは万々歳ですから
>>675使ってみます。
0691nobodyさん
2008/01/03(木) 19:24:01ID:???phpに詳しい奴ちょっと来い
http://yutori.2ch.net/test/read.cgi/news4vip/1199354355/l50
0692>>661
2008/01/03(木) 19:38:02ID:sD9SHXAaちょっとみてきます
0694nobodyさん
2008/01/03(木) 21:56:40ID:???絶対に出力後が代入されてしまうのですが
0695nobodyさん
2008/01/03(木) 22:01:34ID:???0696nobodyさん
2008/01/03(木) 22:07:30ID:???0697nobodyさん
2008/01/03(木) 22:08:14ID:???0698nobodyさん
2008/01/03(木) 22:10:13ID:???0699 ◆SHiMA//5DA
2008/01/03(木) 22:11:06ID:DBOTcnZE0700nobodyさん
2008/01/03(木) 22:26:00ID:???0701nobodyさん
2008/01/03(木) 22:28:23ID:???どういうことなのかよく分からんが、第6感を働かせて
みたところ、「issetで存在を確認したい変数を関数の
引数に入れて処理させるだけの話じゃないのか」という
結論に達した。
もしくは関数呼ぶ前にifなりなんなりで処理してしまうとか。
……>>694が意味不明でやっぱりよく分からんな。
0702nobodyさん
2008/01/03(木) 23:02:36ID:???書き込み多いので変なことにならないか心配すぎる
0703nobodyさん
2008/01/03(木) 23:04:04ID:???0704nobodyさん
2008/01/03(木) 23:06:12ID:???0705nobodyさん
2008/01/03(木) 23:22:41ID:???0706nobodyさん
2008/01/03(木) 23:48:17ID:???RDBMSにはファイルのロック以上に緻密なロックの仕組みがあり、それを
知らないと意図通りの更新や読み出しができないことはある。
なのでそれはきちんと勉強した方がいい。
MySQLにどの程度実装されているかは知らないけど、ファイルロックよりは
安全にデータの更新や参照ができるはず。
0707nobodyさん
2008/01/04(金) 00:52:28ID:Qh7lpWjFglobal $wpdb;→$random_idにランダムな記事のIDを指定をし、そのIDに基づいて
query_posts('page_id=urlencode($random_id)');
while (have_posts()) : the_post();
ループ
endwhile
としているのですが、どうもうまくいきません。
query_posts('page_id=urlencode($random_id)');
の部分の書き方がおかしいのかと思いますが、どうすればいいのかわからないのでおしえていただけませんか。
0708nobodyさん
2008/01/04(金) 04:38:17ID:eljYrwXkerror_reporting(E_ALL);
class Hoge
{
public static $name = 'test';
}
$obj = new Hoge;
echo Hoge::$name; //test
echo $obj->name; //Notice: Undefined property: Hoge::$name
echo $obj::name; //Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
phpではインスタンスからはstatic変数にアクセスできないってことなんでしょうか?
他にどういう方法がありますか?
(アクセサ使えって話かもしれないけど)
0709nobodyさん
2008/01/04(金) 04:45:07ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0710nobodyさん
2008/01/04(金) 05:30:54ID:???http://www.php.net/manual/ja/language.oop5.static.php
0711nobodyさん
2008/01/04(金) 07:51:10ID:???windows
preg_replaceでーを比較しようとしたところ
for character class at offsetというエラーがでました。
SJISだからかなとおもってEUC-JPに変換してみましたがやはり同じエラーがでました。
どうしてなんでしょうか?
0713711
2008/01/04(金) 10:02:56ID:z4j42IHm0714nobodyさん
2008/01/04(金) 10:10:03ID:???変換ができてないとか
SJISだとエラー吐くよ
0715nobodyさん
2008/01/04(金) 10:12:04ID:eljYrwXkそれは勿論読んだ上の質問。
その例で言うと
print $foo::$my_static . "\n";
がパースエラーになるんだけどなんで?
0716nobodyさん
2008/01/04(金) 10:49:17ID:???>〜中略〜
>print Foo::$my_static . "\n";
読んだ、ねぇ
0717nobodyさん
2008/01/04(金) 11:59:14ID:???質問者はインスタンス経由でstaticフィールド変数にアクセスする書式がないのか聞いてるんでしょ?
>>715
でも、
http://www.php.net/manual/ja/language.oop5.static.php
>static なメンバは、インスタンス化されたクラスオブジェクトから アクセスすることはできません (static なメソッドからは可能です) 。
ってはっきり書いてあるから、疑問を持つ余地はないかと。
マニュアルページのサンプルがエラーになるのは、どうかと思うが。
0718nobodyさん
2008/01/04(金) 12:23:57ID:???windows のセットアップバイナリは壊れたまんまだし、
.chm のヘルプファイルのキーワード文字化けも一向に直そうとしないし…
0719nobodyさん
2008/01/04(金) 14:12:45ID:KzTuE4cgなぜか、下記スクリプトでは動きません。(結果が表示されません。echo date をはずしてもブランクが表示されます)ご教授ください。
<?php echo date("y.m.d H:i:s", filemtime("http://xxx.com/index.php")); ?>
サーバー:さくら
バージョン:4.4.7
0721719
2008/01/04(金) 14:23:57ID:KzTuE4cg/homeからのパスに書き直したら取得できました。
ありがとうございました。
0722nobodyさん
2008/01/04(金) 16:07:08ID:WmrqhPBtstrtr($word," "," ");
これで変換出来るのですが、複数の全角スペースが含まれている時、
1つの半角スペースにしたいです。その場合、もっとも簡単な方法(関数)
はありますでしょうか?(forを使う方法は自分で試しました。)
0723nobodyさん
2008/01/04(金) 17:02:46ID:HZMzJv1w勉強のため、ユーザーがフォームから名前を入力して、ファイルに記録する簡単なスクリプトを書いて練習してます。
そこで名前は18バイトまでの入力を受付け、それ以上の入力はもう一度やりなおしさせるためのチェックをしてみました。
半角1文字=1バイト、全角文字1文字=2バイトとして計算したいのですが、ここで詰まっております。
UTFなため全角文字を3バイトとなってしまいます。
$_POST['name']←これがユーザーが入力した名前が入ってる変数です
ためしに、フォームより、名前「あああ」を入力してみたとして、6バイトとしてサーバで解釈したいのですが、
echo strlen($_POST['name']);←これだと半角1バイトですが、全角3バイトで9と表示されます。
echo mb_strlen($_POST['name'], "UTF8")←これは3と表示されます。
どなたかご教授お願いします。
0724nobodyさん
2008/01/04(金) 17:16:24ID:???http://jp.php.net/manual/ja/function.mb-strwidth.php
こいつでどないかな。
0725nobodyさん
2008/01/04(金) 17:47:17ID:???> echo mb_strlen($_POST['name'], "UTF8")←これは3と表示されます。
9バイトで3文字→一文字3バイト、ってわかるのなら
一文字2バイト換算で 3文字 x 2バイト = 6って計算はできるよね
ぢゃあ、strlenで10バイト、mb_strlenで4文字だったら、
「半角」の文字数を x 「全角」の文字数を y と置いて
連立二次方程式の解の公式を使って、
半角の字数と全角の字数を計算して、
x + y * 2 を求めりゃいいんじゃないの
(深く考えずに書いているので、まにうけないでください)
0727nobodyさん
2008/01/04(金) 18:15:59ID:???0728nobodyさん
2008/01/04(金) 19:00:42ID:HZMzJv1wありがとうございます。そのやり方で解決しました。
0730nobodyさん
2008/01/04(金) 22:13:43ID:jY1Gv87H<input type=text name=url value="$_POST['URL']" />
としたんですが、ブラウザのフォームには表示されません
$_POST['URL']にはhttp://www.sample.com/が代入されてるのをソースでは
確認できたんですが、、 なぜでしょうか?またどうしたらいいですか?
0731nobodyさん
2008/01/04(金) 22:14:29ID:???0732nobodyさん
2008/01/04(金) 22:49:56ID:mPgF8z0i実際作るとなるとどうやっていいのかさっぱりで…。
色々サンプル(pukiwiki, XOOPS)を見てみたんですが、うーんと唸ってしまいます。
初心者向けのわかりやすい、また短めのサンプルコードなどありましたら教えて頂けませんか?
よろしくお願いします。
0735nobodyさん
2008/01/05(土) 00:43:33ID:???「オブジェクト指向をできるようにした言語」と「オブジェクト指向であろうとした言語」には習得効率の差がある
それで学習したら戻ってくればおk
OOPL/デザパタの各種利点・欠点を把握した上で「どうPHP上で生かそうか」という頭になりさえすればいいのだ
0737nobodyさん
2008/01/05(土) 01:06:52ID:???PHP5は、けっこうマトモなオブジェクト指向言語だと思うけど。
0738nobodyさん
2008/01/05(土) 01:12:16ID:???0739nobodyさん
2008/01/05(土) 01:15:50ID:???0740nobodyさん
2008/01/05(土) 01:16:12ID:???0741nobodyさん
2008/01/05(土) 01:17:42ID:???0742nobodyさん
2008/01/05(土) 01:18:08ID:???0744nobodyさん
2008/01/05(土) 02:14:09ID:9q7TTvct$file = fopen("ログファイル.txt", "r");
↑のようにログファイルを読み込み、項目の抽出・判定を
行うスクリプトを作っています。
職場のLinux環境では、正常に動くのですが、
家のLinuxでは、ログファイルの読み込みが出来ず、
項目の抽出が出来ず空欄となります。
スクリプト自体にはエラーは出ずに、読み込みだけ出来ていない状態です。
家のlinuxがおかしいと思い、簡単なファイルを読み込む
テストスクリプトで試したところ、テストスクリプトでは、
家のlinuxでも正常に読み込めました。
テストスクリプトも本番用スクリプトをコピーしたもので、
スクリプトの行数が違うくらいで特に差がありません。
(テスト50行、本番700行)
同じ記述なのに、fopen出来たり出来なかったりするような
状況なのですが、解決方法等ありますでしょうか。
0745代行者
2008/01/05(土) 02:15:45ID:???職場のはパスが通ってるとか。
0746nobodyさん
2008/01/05(土) 02:16:11ID:???0749744
2008/01/05(土) 02:54:41ID:9q7TTvct良く見たら、fopenの問題では無く、preg_matchが動作していませんでした。
テストスクリプトで動作していたのは、eregでした。
職場はPHP4環境ですが、preg_matchが正常に動作します。
家でも最初、PHP4環境で試したのですが、動作せず、PHP5にあげてしまいました。
php.ini等にpreg_matchが正常に動作するような設定等無いでしょうか。
権限も疑ったのですが、パーミッションは755で、グループはrootとなっております。
0750nobodyさん
2008/01/05(土) 03:43:12ID:???0751nobodyさん
2008/01/05(土) 04:44:06ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0752nobodyさん
2008/01/05(土) 06:37:12ID:???俺様のNGトラップによってあぼんされました。たくさん仕掛けてるから何でひっかかったんだか気になるけどどうでもいい
0754nobodyさん
2008/01/05(土) 08:03:39ID:???その話はここで突っ込むと、宗教戦争にしかならないからなー。
何を「マトモ」か言い始めると、JavaもC++も含めてどの言語だって批判の俎上に上げられてしまう。
絶対Smalltalkがどうのとか言い出す奴出て来るしw
PHPは実用的な仕組みを色々借りて来てるけど、良い悪いじゃなく
「なぜこういう仕様になった/なってるのか」みたいな視点で
学びにくい点もあると思うよ。
PHPに斬新な言語であってもらう必要はないから、悪い事じゃないけど。
0755nobodyさん
2008/01/05(土) 10:07:31ID:???0756nobodyさん
2008/01/05(土) 10:10:03ID:???十分マトモだと思ってる。
OOであることとは関係がないけど、相性の良さから有ったほうが良いと思うのは、ガベジコレクションと例外処理。
PHPの言語仕様がキレイかと言われれば相当疑問だけど、それとOO言語としてどうかという話は別物だと思ってる。
0757nobodyさん
2008/01/05(土) 10:21:24ID:???0758nobodyさん
2008/01/05(土) 10:26:15ID:???相当荒れているということか?
0762761
2008/01/05(土) 10:41:17ID:???Webアプリでも複雑なデータ構造をメモリに持つ場合、やっぱり free/delete だと、ちょっとつらい。
0763nobodyさん
2008/01/05(土) 11:15:29ID:???自分は1/10くらい貰ってるんだけど
0764nobodyさん
2008/01/05(土) 11:17:36ID:???SOHOやフリーで細々食え出した奴 27人目
http://pc11.2ch.net/test/read.cgi/hp/1197725381/
0765nobodyさん
2008/01/05(土) 12:06:41ID:fWLhflwQ具体的に何処がいいのかが良く分かりません。
例えば、PerlのDBIは、データベースからデータを取る場合、
以下のようなモジュールを使えば非常に便利です。
selectrow_array、selectcol_arrayref、selectall_arrayrefなど。
これ以上の機能のモジュールがPHPにはあるということなのでしょうか。
サイトをいくつか検索してみたのですが、思うような
情報が得られませんでしたので、ここで質問してみました。
ヒントとなるキーワードだけでも良いので、よろしくお願いします。
0766nobodyさん
2008/01/05(土) 12:17:21ID:???http://jp.php.net/manual/ja/ref.pdo.php
こんなんとか。
0768nobodyさん
2008/01/05(土) 12:49:37ID:???と言ってみる
0769nobodyさん
2008/01/05(土) 15:33:31ID:???0771nobodyさん
2008/01/05(土) 18:28:48ID:Dao7FJFaheader("Content-Length: ".$content_length);
header("Content-Type: audio/mpeg");
$fp = fopen($file_path,"rb");
while($buf = fread ($fp, 4096)){
echo $buf;
}
fclose($fp);
tp://foo.jp/hogehoge.php?id=xxx にアクセスすると、上記のような感じでサーバー上にあるmp3やmp4を読み込んで
ブラウザ上で再生させたいのだが、ファイルがダウンロードされてしまう。
普通にtp://foo.jp/hogehoge.mp3 とファイルを置いてアクセスするとプレイヤが起動して再生するようにしたいのだが、
どうすれば良いでしょう?Content-Type をいろいろ変えてみたんですが・・・。
0773nobodyさん
2008/01/05(土) 19:22:00ID:Dao7FJFaありがとう、うまくいったよ。ほんとうにありがとう
0775nobodyさん
2008/01/05(土) 23:27:19ID:BCQmUqUR取得することできますか? RSSのないページです。
ヒントがあれば教えてください、検索してみます。
いまんとこ見つけれてません。
0776nobodyさん
2008/01/05(土) 23:31:51ID:???取得した内容を調べる。
さぁ、分かんないのはどぉーこだ?
0778nobodyさん
2008/01/06(日) 00:56:47ID:???0779nobodyさん
2008/01/06(日) 02:00:46ID:???$contents = file_get_contents($url);
$retAry = array();
preg_match('!<title[^>]*>(.*)</[^>]*>!',$contents,$retAry);
return $retAry[1];
}
0780nobodyさん
2008/01/06(日) 02:12:36ID:Njbvq9C9以下のコードではipアドレスが取得出来ませんでした。
$ip = $_SERVER['REMOTE_ADDR'];
そこで、以下のように書いてみると取得できました。
$ip = getenv("REMOTE_ADDR");
FORMタグにてPOSTされたものも、以下のコードでは
取得できなかったのですが、
上記getenvにあたる関数はないのでしょうか。
$pos = $_POST['test'];
よろしくお願いします。
0781nobodyさん
2008/01/06(日) 02:28:45ID:???まさかとは思うがphpのバージョンって4.1より古い?
$_HTTP_POST_VARSとか$_HTTP_GET_VARSん使ってみるといいかも
0782nobodyさん
2008/01/06(日) 02:52:45ID:???0783780
2008/01/06(日) 02:54:37ID:Njbvq9C9教えていただいたコードを使ってみたり、
phpのバージョンをしらべてみたりしてみます。
0784nobodyさん
2008/01/06(日) 04:36:15ID:5j6bL89Becho "両方成功";
}
だとhoge()に成功しないとhuga()を実行してくれませんよね。
hoge()に関係なくhuga()も実行したい場合に以下のコードを書いてみたんですが、あまりスマートじゃない気がします。
何かもっといい方法がありましたら教えてください。
$bool1 = hoge();
$bool2 = huga();
if ($boo1 && $bool2) {
//何かの処理
}
0785nobodyさん
2008/01/06(日) 04:43:56ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0788nobodyさん
2008/01/06(日) 06:39:21ID:++XQtjIdzip.lib.phpやZipArchive()を試しに使用しており、出来る限り一時ファイルを作成したくないため
直接クライアントに送信するよう書いてみましたが、ファイルによってはメモリがきついです
何か上手な方法はありますか?
0789nobodyさん
2008/01/06(日) 06:46:09ID:???0790nobodyさん
2008/01/06(日) 06:56:26ID:++XQtjId0791nobodyさん
2008/01/06(日) 10:42:16ID:???やったこと無いけど、 if(hoge() & huga()) みたくビット演算にすれば出来るかも。
まぁ、他の人がコード読んだらバグにしか見えないから止めたほうがいいとは思うけど。
0792nobodyさん
2008/01/06(日) 11:22:00ID:???メモリ的に無理だと、対処しようが無いでしょ。
例えば、検索結果で100万件が1ページで表示されるようにしないのは、
メモリが関係しているから。
なので、ページを分割するか、途中で処理を無理やり止めてしまうか
しか方法はない。
0793nobodyさん
2008/01/06(日) 11:39:16ID:???下を見ればキリがないっていうけど、ここの回答者はひどいなw
0794nobodyさん
2008/01/06(日) 11:47:02ID:???0795nobodyさん
2008/01/06(日) 11:47:08ID:???0796nobodyさん
2008/01/06(日) 11:54:25ID:???いや、ここは週に1回、優越感をひたるために来てるからw
ってか、おまいら学歴低そうだな。IQ100はあるか?
PHPなんて下等ランゲなんかやってると、そのうちホームレスになるぞw
0797nobodyさん
2008/01/06(日) 11:56:18ID:???0798nobodyさん
2008/01/06(日) 13:51:41ID:???0799nobodyさん
2008/01/06(日) 14:06:59ID:???0800nobodyさん
2008/01/06(日) 14:08:00ID:???あんまり上げすぎると、体は大人!頭脳はじっちゃん! になっちまうから注意。な。
PHPの質問マダー?
0801nobodyさん
2008/01/06(日) 14:56:41ID:???0802nobodyさん
2008/01/06(日) 14:58:09ID:???ごめんなさい。もう書かないので許して頂けませんか。。
ちなみに>>801さんのIQはいくつでしょうか・・?
やはり801でしょうか。。
0803nobodyさん
2008/01/06(日) 15:05:59ID:???ここにいる人は人間的にもレベルがひくいっすねw
0804nobodyさん
2008/01/06(日) 15:19:16ID:???0807nobodyさん
2008/01/06(日) 15:50:31ID:???0808nobodyさん
2008/01/06(日) 15:55:37ID:???$_FILESの内容、処理だけでも大変そう
実メモリ、memory_limitの値を見てみたい
0809nobodyさん
2008/01/06(日) 16:09:02ID:???少ないメモリで動かすのは不安があるけど、実メモリそんなに使うかな。
0810nobodyさん
2008/01/06(日) 16:10:38ID:???まさか・・ね。
0811nobodyさん
2008/01/06(日) 16:19:39ID:???流石にチェックしてないのかな
自分のところengine offとかにしても、経由して他のところ
いたずらされるかもしれんけど
0812809
2008/01/06(日) 16:24:04ID:j3gkesVW昔読んだ Java Servletで作ってあったやつはそういう作りだったから、ありえない話でもない。
最近のは知らないけど、ServletAPIだとリクエストはメモリに展開されて受け渡されたから、
servlet側ではどうしようもなかったはず。
0813nobodyさん
2008/01/06(日) 16:24:29ID:???0814nobodyさん
2008/01/06(日) 16:28:07ID:???これを10時20分30秒と時・分・秒と分けて表示する方法ありますか?
0816nobodyさん
2008/01/06(日) 16:54:42ID:???0817nobodyさん
2008/01/06(日) 16:58:30ID:???0818nobodyさん
2008/01/06(日) 17:50:49ID:???こちらでお伺いします。
SELECT id FROM test WHERE id=1 or id=2 or id=3
として、IDが1か2か3のデータを出したいと思います。
上記のSQLなら3つのレコードがヒットします。
idを検索する数だけid=を付けるのは変だと思うのですが、
どういう書き方をしたらいいのでしょうか?
0819nobodyさん
2008/01/06(日) 17:53:20ID:???オプティマイザ的に差があるかどうかは知らん。
0820nobodyさん
2008/01/06(日) 18:12:36ID:???0821nobodyさん
2008/01/06(日) 18:15:15ID:???これはダメなのか?
0822nobodyさん
2008/01/06(日) 18:22:46ID:???PHPは色んな関数があるな、ほんと。
でも idate の第2引数は int型(timestamp) みたい。
http://php.benscom.com/manual/ja/function.idate.php
文字列になってるなら explodeで良いんじゃないの。
0823nobodyさん
2008/01/06(日) 19:19:38ID:???SQLは長くしすぎると文法では問題なくてもエラーが出て動かなくなったりするよ。
長くならなければ、プログラムで文字列を自動的につなげてやるのもいいと思うけど、
BETWEEN を使った方がいいと思う。
構文の書き方においてはここでは聞かないでね。
0825nobodyさん
2008/01/06(日) 19:34:04ID:???PCの電源を切った時やインターネットとの通信を切断した場合などはグローバルIPアドレスが変更になります。
また常時通信状態にしておいてもプロバイダ側の都合で不定期に変更になる場合があります。
0827nobodyさん
2008/01/06(日) 19:50:18ID:???http://pc11.2ch.net/db/
0829nobodyさん
2008/01/06(日) 23:03:03ID:???0830nobodyさん
2008/01/06(日) 23:10:12ID:???phpは未完の大器であり(あってほしい)、終わりはないという意味を込めて、
finallyを実装していない。これはマジな話。
0831nobodyさん
2008/01/06(日) 23:25:57ID:???0833nobodyさん
2008/01/07(月) 00:01:12ID:???0834nobodyさん
2008/01/07(月) 00:19:41ID:???php4までは
$obj = new hoge();
$hoge = $obj;
で$hogeにコピーできてたんだけど
php5からはコピーできなくなっちゃったので
$hoge = clone $obj;
でコピーするようになった
0835nobodyさん
2008/01/07(月) 00:31:43ID:???ありがd
0836nobodyさん
2008/01/07(月) 00:44:50ID:???0837nobodyさん
2008/01/07(月) 00:49:41ID:???ぐぐったらcronの名前の由来はクロノスからきてるらしい。なんかすげー。
0838nobodyさん
2008/01/07(月) 00:58:35ID:???KWSK
0839nobodyさん
2008/01/07(月) 01:03:00ID:???0840nobodyさん
2008/01/07(月) 02:23:52ID:???0841nobodyさん
2008/01/07(月) 02:34:35ID:???今度全角英数で書き込んだら、
今日の午前9時にこのスレに凄いこと書き込むぞ。
0842nobodyさん
2008/01/07(月) 02:37:59ID:???きめぇからヤメロ。
今度全角英数で書き込んだら、
今日の午前9時にこのスレに凄いこと書き込むぞ。
0843nobodyさん
2008/01/07(月) 02:38:47ID:???0844nobodyさん
2008/01/07(月) 03:13:09ID:???0845nobodyさん
2008/01/07(月) 03:24:18ID:???0846nobodyさん
2008/01/07(月) 04:16:51ID:???0847nobodyさん
2008/01/07(月) 04:43:31ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0848nobodyさん
2008/01/07(月) 04:46:18ID:???体内時計狂ってるぞw
0849nobodyさん
2008/01/07(月) 05:20:42ID:???0850nobodyさん
2008/01/07(月) 05:20:42ID:???0851nobodyさん
2008/01/07(月) 06:03:31ID:???0852nobodyさん
2008/01/07(月) 06:35:03ID:???いい加減元の流れに戻してください
0853nobodyさん
2008/01/07(月) 10:45:04ID:???回答者のレベルひっくw
さすが ピーエイチピーーーーーーーー
0855nobodyさん
2008/01/07(月) 13:46:16ID:???$valueを参照する予定がなくても?
0856nobodyさん
2008/01/07(月) 14:58:28ID:???CLASS config {
// 基本設定クラス
}
CLASS DB {
//DB関連のクラス
}
CLASS main {
// メインとなる処理を行うクラス
}
mainがconfig,dbを継承できるようにしたいです。
configがdbを継承すると3つが継承されるんですが、それだとすべてのアクセス時にDB接続を行ってしまうので避けたいです。
0857nobodyさん
2008/01/07(月) 15:07:17ID:???多重継承がない言語では委譲として実装するのが定石
http://ja.wikipedia.org/wiki/委譲
>>855
何を心配しているのか、わからない。
0859nobodyさん
2008/01/07(月) 19:11:38ID:???0860nobodyさん
2008/01/07(月) 20:06:15ID:???あるディレクトリ以下のファイルが更新された場合、
その最終更新時刻を表示するということをやりたいのですが、
どうにもあまり良い方法が浮かびません。
$dir="/file/";
if (file_exists($dir)) {
$filetime=date ("m/d/Y H:i:s.", filemtime("$dir"));
}
一応このようなことをやってみたのですが、/file/のみの更新時間しか表示されません。
それ以下の階層に関しても全て含んだ上で、最も遅い最終更新時刻を得るには
どのようにしたら良いのでしょうか。
拙い説明で済みませんが、宜しくご教授下さい。
0861nobodyさん
2008/01/07(月) 20:14:41ID:???更新されるんじゃなかったか。
ディレクトリ内で最も最終更新日時が最近のを取得したいとかだったら、
scandirみたいなことして一覧を取得してソートするのがいいんじゃないだろうか。
0862nobodyさん
2008/01/07(月) 20:15:28ID:???>>1
http://www.php.net/manual/ja/function.opendir.php
0863nobodyさん
2008/01/07(月) 20:24:24ID:???たとえば最後に/file/file2/a.phpのようなファイルを更新した時、
その最終更新時刻を表示させたいのですが、やってみてもダメでした。
>>862
質問に夢中で環境を失念しておりました、済みません。
Debian、PHP5、apache2です。
0866nobodyさん
2008/01/07(月) 21:09:31ID:???回答しろ、カスども。
0867nobodyさん
2008/01/07(月) 21:17:25ID:???0868nobodyさん
2008/01/07(月) 21:50:16ID:???foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($last = new SplFileInfo('/file/'))) as $entry)
if($entry->getMTime() >= $last->getMTime())
$last = $entry;
echo date('Y/m/d H:i:s',$last->getMTime()),' ',$last;
無駄にSPLを使ってみたの図。
0869nobodyさん
2008/01/07(月) 21:54:45ID:???そのような他システムに依存するようなパラサイトなプログラムは設計者としては最低。
システムの不確定要素を増やし、バグポイントを増やすだけ。
最近、こういう安易な発想でシステムを組もうとするやつがうちの会社にも湧いて呆れるよ。
0870nobodyさん
2008/01/07(月) 21:58:34ID:???0871nobodyさん
2008/01/07(月) 22:37:58ID:???多量に発行すると後々大変な事になるけど
0872nobodyさん
2008/01/07(月) 22:58:24ID:???0873nobodyさん
2008/01/07(月) 23:20:23ID:???0876nobodyさん
2008/01/07(月) 23:42:36ID:???0877nobodyさん
2008/01/07(月) 23:49:34ID:L/merKP+formとかでメソッドはPOSTなのにアクションの指定で
aaa.php?aiueo=なんとかと指定しても良いものなのでしょうか?
動くのはわかるのですが推奨しない等ありましたらご教示お願いします。
0878nobodyさん
2008/01/08(火) 00:00:06ID:???0879nobodyさん
2008/01/08(火) 00:11:26ID:jfnuwFREというのをもっと簡略化出来ませんかね?
MySQLのINみたいに。
0880nobodyさん
2008/01/08(火) 00:15:15ID:???0881nobodyさん
2008/01/08(火) 00:16:26ID:???0882nobodyさん
2008/01/08(火) 00:19:33ID:???0883nobodyさん
2008/01/08(火) 00:19:51ID:???わかんないなら、わかんないって言えよ。レベルひくいなぁ。・・
0884nobodyさん
2008/01/08(火) 00:22:22ID:???すみません、==にするの忘れてました・・・。
で、in_arrayということは、配列にするわけですよね?
そうすると、array("aaa","bbb","ccc")
という処理が入るので、あまり使い勝手が良くないんです。
>>881
普段は879のソースとswitchを使っていますが、
妙にコードが長くなるので、短くできないかな?と思いまして。
0887nobodyさん
2008/01/08(火) 00:28:27ID:???「処理が入る」を誤解してたら悪いが、配列を別の変数に入れなくても
if (in_array($test, array('aaa', 'bbb', 'ccc')))
とすれば879より行数も減るし構造的にも好ましいと思うぞ。
あとは自分で関数化するか。
0889nobodyさん
2008/01/08(火) 00:30:08ID:???なるほど。。たしかにこれの方が構造的にわかりやすいですね。
こちらをin_arrayを使うようにしてみます。ありがとうございました。
0890nobodyさん
2008/01/08(火) 04:45:12ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0891nobodyさん
2008/01/08(火) 11:30:36ID:???date('H' ,(int)$time);,date('i' ,(int)$time);,date('s' ,(int)$time);
上記で時・分・秒と表示できそうなんですが違う値が表示されます
他に使い方ありますか
0892nobodyさん
2008/01/08(火) 11:39:23ID:M0cxpji0まずはタイムスタンプについて勉強しような
0894nobodyさん
2008/01/08(火) 11:50:23ID:???ここが使えそうです.やってみます
ttp://oshiete1.goo.ne.jp/qa3475658.html
0895nobodyさん
2008/01/08(火) 12:32:51ID:???変なのが湧かない様に質問はあげてIDつけろ。
http://jp.php.net/manual/ja/function.explode.php
http://www.php.net/manual/ja/function.strptime.php
0896nobodyさん
2008/01/08(火) 13:06:54ID:Y4XNoL9Vどのような関数を使えば簡単に取得することが可能でしょうか?
取得するサーバはhttpdとは限らないです。
0897nobodyさん
2008/01/08(火) 13:14:47ID:???AJAVAの思想は素晴らしいのに周りに理解者が少なく、コストの問題でクライアントがPHPを指定してきて嫌々やらされているJAVAer
B周りはネット全盛なのに、未だにSoketプログラムが理解できずネットの海に出られない鎖国状態のVisualStudioer
CwebデザイナーはPHPぐらいできないとゴミと言われて、いつの間にかPGにさせられてしまった自称webデザイナー
Dプログラマーという職業に憧れているけど、PG的思考ができずに指をくわえて見ていることしかできないゲーマー
さあレッツ プロファイリング!
0898nobodyさん
2008/01/08(火) 13:26:58ID:???0900nobodyさん
2008/01/08(火) 15:07:32ID:???しねっくす゛は知らんがな><
0901nobodyさん
2008/01/08(火) 16:10:29ID:???0902nobodyさん
2008/01/08(火) 16:26:43ID:???ピーエイチピーーーーーーーー wwwww
0903nobodyさん
2008/01/08(火) 16:31:09ID:???0904nobodyさん
2008/01/08(火) 17:03:55ID:???足利義寧
七尾藩足利家十九代当主
(財)室町文庫理事長
(株)足利地所社長
北陸銀行相談役顧問
北陸電力相談役顧問
北國銀行顧問
北國新聞顧問
能登国出身会会長
0905nobodyさん
2008/01/08(火) 18:09:16ID:lZ/KTkrGから必要な攻撃を受けているの弾きたいのですが、
.htaccessで、したのように設定しても弾かずにスルーしてしまいます。
order allow,deny
allow from all
deny from .asianetcom.net
phpのREMOTE_ADDRで弾くしかないのでしょうか?
宜しくお願いします。
0907nobodyさん
2008/01/08(火) 18:34:31ID:???0908nobodyさん
2008/01/08(火) 19:12:45ID:EQjeskZgsqlite_query を実行して得られる結果ハンドルをcloseする関数が見当たらないのですが、
結果ハンドルはcloseしなくて良いんでしょうか?
http://www.php.net/manual/ja/ref.sqlite.php
0909nobodyさん
2008/01/08(火) 19:16:58ID:YuL/x3ifデコードはする必要ある?
0910nobodyさん
2008/01/08(火) 19:33:57ID:???エンコードは意識しなくて良い。
http://www.php.net/manual/ja/language.variables.external.php
ただ、magic_quoteには注意が必要。
http://www.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc
0911nobodyさん
2008/01/08(火) 21:31:46ID:???ピーエイチ ピーーーーーー wwwwwww
0913nobodyさん
2008/01/08(火) 22:47:08ID:EQjeskZgopenっていうか、sqlite_query実行すると戻り値として生成されます。
http://www.php.net/manual/ja/function.sqlite-query.php
0914nobodyさん
2008/01/08(火) 23:29:44ID:???お前らは、小学生かなんか?
0915nobodyさん
2008/01/08(火) 23:40:48ID:???0916nobodyさん
2008/01/08(火) 23:43:49ID:???DBをデービーって発音しないあなたは学生かなんか?
「ディー」とか「ティー」とかいうと、電話なんかで聞き取りづらい
と感じる人が多く、聞き返されることが少なくない。
だからDは「デー」、Tは「テ(ry
もしかして、社長を捕まえて堀江呼ばわりする秘書は失礼な奴
系のネタだった?
0917nobodyさん
2008/01/08(火) 23:46:00ID:???kwsk
0918タヌキ ◆kN93rkdiOs
2008/01/09(水) 01:46:23ID:1HfuVzUDSQliteのデータベースに登録してある日本語のデータが検索してもヒットしません。
半角英数のデータは問題なくヒットします。
Webページのencodeの宣言はUTF8を指定しています。
どうすればよいでしょうか。御教授下さい。
Apache2.2.4
PHP 5.2.4を使用しています。
0919nobodyさん
2008/01/09(水) 01:51:06ID:???0920nobodyさん
2008/01/09(水) 02:04:50ID:???特に何も設定した覚えも無いけど、自分はUTF-8で問題なく検索できてる。
DB中にUTF-8で格納されているか/SQLはUTF-8で生成されているか確認してみたら?
0923nobodyさん
2008/01/09(水) 02:25:45ID:???kwsk
0924nobodyさん
2008/01/09(水) 02:28:56ID:???美人?秘書「堀江は現在席を外しております」
ゆとり「社員が社長を呼び捨てwwwww」
ってやつじゃないか?
0929nobodyさん
2008/01/09(水) 05:53:49ID:???(ジャンプする)ときはMETAタグを使えばいいんでしょうか?
0930nobodyさん
2008/01/09(水) 06:06:09ID:???0931nobodyさん
2008/01/09(水) 06:52:34ID:???〈\_/ /
'´ ̄ ,z≧D≦ \ /.
/´⌒/| /'⌒ l ) え
| /Tメ| /ヘヾハ ) ど l .
|/ l! ∨ l! |`ト ) ん l .
| 、_ 、_,Y ) だ ! .
|///r─‐┐//〉| ) け .
\|、_V⌒V イヽ| ) } .
ト、__了 /j ) {
\ //r'´ \
0932nobodyさん
2008/01/09(水) 06:54:46ID:???0933nobodyさん
2008/01/09(水) 07:51:23ID:???case 1:
header('Location: a.php');
exit;
case 2:
include_once('hoge,php');
break;
case 3:
echo '<html><header><meta http-equiv="Refresh" content="0;URL=hoge.php"></header></html>';
exit;
}
ってとこか?w
0934nobodyさん
2008/01/09(水) 08:01:09ID:???0935920
2008/01/09(水) 09:14:03ID:???まぁ、>>921は最近荒らしてるバカが詐称してるだけだろうから、どうでもいいけど。( ゚д゚)、ペッ
0936nobodyさん
2008/01/09(水) 11:16:51ID:???毎日ほぼ同じぐらいの時間だったから
てっきり自動かと思ってたんだが
0937nobodyさん
2008/01/09(水) 11:27:31ID:???0939nobodyさん
2008/01/09(水) 15:42:49ID:kGicjkjvif($_POST['submit'] == "cookie"){
setcookie("test", "testest", 0);
$test = $_COOKIE['test'];
}
htmlが(bodyのみ)
<form action="cookie.php" method="POST">
<p><input type="submit" name="submit" value="cookie"></p>
<p>$test</p>
</form>
のようなファイルを作りました。
1回ボタンを押して、クッキーがセットされますが$testにはまだ値が入っていません。
2回目以降はtestestが表示されるのですが1回目で表示させたいのです。
何か方法があればよろしくお願いします。
0940nobodyさん
2008/01/09(水) 15:52:27ID:???setcookie("test", "testest", 0);
$test = "testest";
}
でいいじゃまいかw
0941nobodyさん
2008/01/09(水) 15:54:45ID:???をした時点ではクッキーは発行されてないから
$_COOKIEで取得はできない
0942nobodyさん
2008/01/09(水) 15:54:56ID:???$test = 'testest';
setcookie("test", $test, 0);
} else {
$test = $_COOKIE['test'];
}
でどう?
0943nobodyさん
2008/01/09(水) 15:59:44ID:kGicjkjvcookieの値自体はではなく、そのタイミングで発行できるか重要でした。
>>941
なるほど。わかりました。
Location辺りで1回飛ばしてみようと思います。
0944nobodyさん
2008/01/09(水) 16:13:59ID:???それで良いなら別に良いんだけど、1回ボタンを押したとき画面には $test の値が表示されなくても、
ブラウザに cookie は設定されてるよ。
0945nobodyさん
2008/01/09(水) 16:20:05ID:kGicjkjv0946nobodyさん
2008/01/09(水) 16:28:13ID:???まあやっていくうちに分かるさ。
0947nobodyさん
2008/01/09(水) 16:50:12ID:lojqq5Hc100〜200行程度のCSVファイルがあり、それの特定行から特定行までを読み込むにはどうすれば良いでしょうか?
データ自体のCSVファイルと別に、インデックス用のCSVファイルがあり、何行目から何行目に
必要なデータがあるのか予め分かるようになっています。
fgetcsvで1行ずつ読み込みができるという所までは分かったのですが、
これを使ってデータ呼び出しの度に[1行目から読み込み]→[必要な行に到達したか判定]を繰り返すしかないのでしょうか?
毎回1行目から呼び出すのは効率が悪そうなので、できるならば、直接その行を呼び出せれば嬉しいです。
失礼な部分があったら申し訳ありません。
よろしくお願いします。
0948nobodyさん
2008/01/09(水) 17:07:57ID:???0950nobodyさん
2008/01/09(水) 17:26:08ID:???whileで頭から読んで改行を数えるかだろうなぁ
0951nobodyさん
2008/01/09(水) 17:32:20ID:???PHP5ならSplFileObject->seek()で行単位シーク出来るよ。
SPLが使えなけりゃ指定回数fgetsかしら。
0952nobodyさん
2008/01/09(水) 18:22:21ID:???http://jp.php.net/manual/ja/function.file-get-contents.php
>もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。
って書いてあるけど、その対応してるOSって何があるだろ?
この件で使えそうな file 関数もメモリマッピングを使おうとするのかよくわからんし。
http://jp.php.net/manual/ja/function.file.php
0953nobodyさん
2008/01/09(水) 19:52:58ID:???http://jp.php.net/manual/ja/function.stream-get-line.php
正直使った事ないけどw
0954nobodyさん
2008/01/09(水) 19:56:00ID:???0955nobodyさん
2008/01/09(水) 20:05:21ID:???0957nobodyさん
2008/01/09(水) 21:34:58ID:???http://www.tt.rim.or.jp/~rudyard/torii009.html
0958素人
2008/01/09(水) 21:35:29ID:4fMiWS+zWEBプログラム板に行くとなぜかサーバに接続出来ず、
仕方が無いので、プログラマの皆さんに質問させてください。
次が全く分かりません。
【環境】
PHP5 + MySQL5.0 + Windows XP (Home) + Apache
【事象】
WEB画面から入力された値をDBに登録(Insert)するという
単純な処理を実装してみたところ、半角数字なら問題無く登録出来
るのですが全角(日本語等)が登録データに含まれているとなぜか
登録が出来ません。
(しかもエラーも何も表示されない。)
エスケープシーケンス回りを疑ってはみたものの、そもそも特殊文字
など入力していません。
(例:' " & ・・・等)
0960素人
2008/01/09(水) 22:13:06ID:4fMiWS+zmysql_error()を実行したところ次のエラーメッセージが表示されました。
【実行SQL】
insert into tab1 values('485','あいうえお','あいうえお')
【エラー】
Incorrect string value: '\x82\xA0\x82\xA2\x82\xA4...' for column 'name' at row 11366
numberが [485] のデータを登録しました
しかし、実行してエラーになったSQLをMySQL上から実行すると普通に
登録出来ました。。。
何が原因でしょうか?
0961nobodyさん
2008/01/09(水) 22:20:13ID:???それより登録できてないくせに登録しましたと表示するエラー処理のほうも何とかすれ
0962素人
2008/01/09(水) 22:34:08ID:4fMiWS+zそうですね<numberが [485] のデータを登録しました >
の出力は削除します。
MySQLでの文字コードを調べてみたところ次の通りです。
character_set_system
の部分を【sjis】に統一すれば良いでしょか?
________________________________________
show variables like '%char%';
________________________________________
_______________________________________
Variable_name Value
________________________________________
| character_set_client | sjis
| character_set_connection | sjis
| character_set_database | sjis
| character_set_filesystem | binary
| character_set_results | sjis
| character_set_server | sjis
| character_set_system | utf8
| character_sets_dir |
C:\Program Files\MySQL\MySQL Server 5.0
\share\charsets\ |
0963素人
2008/01/09(水) 22:35:12ID:4fMiWS+z【補足】
1.*.phpファイルは、サクラエディタで編集し保存時には
文字コードとして<SJIS>を使用しています。
2.ブラウザは<Lunascape4>を使用しており、文字コードの
デフォルトのチェックは次の通りです。
表示(V) ⇒エンコード(D) ⇒ 日本語(シフト JIS)
0964nobodyさん
2008/01/09(水) 22:46:39ID:???表示関係全部utf-8にしといたほうが幸せになるぞ
0966素人
2008/01/09(水) 23:02:41ID:4fMiWS+z先ほどPCを再起動してみたのですがやはり全角文字だと文字化けします。
一度全てutf-8にしてみようかと思います。
【エラー内容】
Incorrect string value:
'\x82\xA0\x82\xA0\x82\xA0...' for column 'name' at row 11366
>>965
php.iniの事でしょうか?
0968nobodyさん
2008/01/09(水) 23:07:51ID:???あとmy.cnfでskip-character-set-client-handshakeとか
キーの重複は関係ないか
0969nobodyさん
2008/01/09(水) 23:11:45ID:???数メガの容量のファイルを読み込んで、配列にいれる。
それをPHPで一度に処理して表示したいんですが、
サーバーへの負担はどのくらいになるのでしょうか?
レンタルサーバーを借りていて、あまり処理が重かったら迷惑かなと思いまして。
0970素人
2008/01/09(水) 23:24:08ID:4fMiWS+zありがとうございます!!解決しました!!
0971素人
2008/01/09(水) 23:24:40ID:4fMiWS+zphp.iniもSJISです。
0972nobodyさん
2008/01/10(木) 01:01:47ID:nr809F9h配列ひとつ用意して、それに要素100個入れてフラグとして利用するのでは
どっちが処理早い?
プロのプログラマってそういう処理速度考えて作業してるんでしょ?
そういうのの代表例教えて ケースバイケース過ぎて無理かな
0974nobodyさん
2008/01/10(木) 02:42:44ID:???フラグを使わないコーディングが出来るように勉強しろよ。
趣味でやっているなら、動けばいいと思うけどな。趣味ならな。
0975nobodyさん
2008/01/10(木) 04:44:00ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0976nobodyさん
2008/01/10(木) 08:42:00ID:???質問者にID表示をさせてるがこれトリップでも問題なくない?
IDなんてIP変われば変わるんだし
0977nobodyさん
2008/01/10(木) 09:09:13ID:jxxVBXDnjpgならimagecreatefromjpeg()で問題ないんだけど、BMPのことはマニュアルにも載ってないみたいで。
0978nobodyさん
2008/01/10(木) 09:54:38ID:???なんかのエクステンション使うとかしないと無理
bmp→jpgとかならimagecreateの下の方にやり方が載ってる
0979nobodyさん
2008/01/10(木) 10:03:32ID:jxxVBXDn0980nobodyさん
2008/01/10(木) 10:07:02ID:cQpcF1mTPCサイトを作ってる会社と携帯サイトを作ってる会社、
どっちで働こうか迷ってるんだけど、
PCサイトと携帯サイトのプログラミングって全然違うもんなの?
いろんなスキルを身に付けるならPCサイトの方が良さそうな気がするんだけど、
どうなんでしょうか?
0981nobodyさん
2008/01/10(木) 10:17:29ID:???0982nobodyさん
2008/01/10(木) 10:18:01ID:???現実見ろよ
http://d.hatena.ne.jp/waseda23/20071225/1198573722
0983nobodyさん
2008/01/10(木) 10:38:53ID:???0984nobodyさん
2008/01/10(木) 12:41:02ID:???> いろんなスキルを身に付けるならPCサイトの方が良さそうな気がするんだけど
いろんなスキルを身につけたいならむしろPCサイトと
同様の事を求められるのにキャリアや機種による制約が多い
携帯サイトの方が良いと思う
0985nobodyさん
2008/01/10(木) 12:44:34ID:???>プロならフラグを100個も使うようなコーディングはしない
むしろプロの方が"ちゃんと"そういう方法を採用するだろ。
今日日メモリなんて只みたいなもんだからな。
0986nobodyさん
2008/01/10(木) 12:59:31ID:???会社としても高い仕事やりたいわけよ
となると仕事で使うのはASP.NET>Java>PHPとなってくるわけよ
PHPだけのとこにはいかないほうがいいよ
安い給料がさらに安くなるぜ
0987nobodyさん
2008/01/10(木) 14:02:43ID:???状態遷移を有効に使う
0988nobodyさん
2008/01/10(木) 14:39:44ID:???0989nobodyさん
2008/01/10(木) 15:04:58ID:???0991nobodyさん
2008/01/10(木) 15:19:40ID:???0992nobodyさん
2008/01/10(木) 16:08:06ID:???フラグって上げ下げ(2値)か、せいぜい3値程度で
100もの値を保持するのはステイタスだよな。
>>972は100個のフラグの処理の話と解釈してるが
そこで「状態遷移を有効に使う」方法ってどんなの?
0994nobodyさん
2008/01/10(木) 16:52:35ID:???0995nobodyさん
2008/01/10(木) 16:57:27ID:???>>993みたいな初心者は口出さないでアホな質問だけしてろよ。
0996nobodyさん
2008/01/10(木) 17:00:26ID:???0997nobodyさん
2008/01/10(木) 17:12:39ID:???0998nobodyさん
2008/01/10(木) 17:31:13ID:???0999nobodyさん
2008/01/10(木) 18:09:43ID:???http://pc11.2ch.net/test/read.cgi/php/1199956159/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。