【PHP】下らねぇ質問はID出して書き込みやがれ 87
質問者はまず
>>1 を良く読むこと(必須!)
次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 86
http://pc11.2ch.net/test/read.cgi/php/1249042741/ ◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.3
【連携ソフトウェア】mysql5.4
【質問内容】○が×で、こういうことです。
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアルを読んでいること(市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
EUCなんて使わないでUTF8推奨
PHPエディタ使ってる初心者は今すぐテキストエディタ+PHP入力補助に乗り換えることを推奨
拒否しました。
新規案件で UTF-8 じゃなくて EUC-JP を選ぶ理由ってなに?
今ってモバイル向けでもUTF-8で行く?
共通で使えるのはS-JISなのは相変わらずだよ ウチはDBをUTF-8でやってるから、内部はUTF-8で入出力のときに変換してる
EUC-JP は効率よくプログラムしやすい。 日本語ならこれが一番良いだろう。 1バイト文字と、漢字の使われる箇所が完全に独立している。
>>9 EUCのデータを溜め込んでいて、それを利用したいから(実装上、
変換すればいいってことじゃなくて)
16 :
nobodyさん :2009/08/28(金) 23:38:36 ID:A7FbEZsL
今日からPHPの勉強をしようと思い早速入門書を買ったのですが早くも意味不明です XAMPPコントロールアプリケーションをインストしたまではいいのですが いきなり次の説明が入力に関する説明です 正直、ハァ?って感じです XAMPPをインストしたら何ができて、これはどういう操作をするものなのかが 書いてありません 入力の説明に入る前にコード自体を何に書けばいいのかもわかりません すいませんがXAMPPで何ができるのか?どんな操作をすればいいのか? コードは何に書けばいいのか?など教えてください
まずはXAMPPでWebサーバを稼働させることから始めようか。 コードを考えるのはその次だよ。そしたらこの下らないスレに来るといい。
18 :
nobodyさん :2009/08/29(土) 00:10:15 ID:5/b4BZna
いろいろ試してますがマジで意味不明です どなたかまずは何をすればいいのか教えてください ちなみにwebサーバを稼動させるの意味すらわかりません とりあえずファイアウォール開いたら、phpmyadminとかいうのと apachaとかいうサイトが開きましたがその後何をすればいいのか 掲載されてないんです 一応phpソースをhtdocsにうんちゃらとか書いてありますが このphpソース(test.php)が何?って感じです
わからない単語が出てきたら「とは」を付けてGoogleで検索するんだ。 たとえばwebサーバなら「Webサーバとは」で検索して上位10ページぐらいを読む。 最初はよく分からんかもしれんが、それを繰り返してればそのうち分かってくるようになる。 分からないことをある程度自分で解決できるようにならないと、この先つらいぞ。
最近こういう人多いよね 自分で調べようとしてない、マニュアルよく読まない、分からなくなったらすぐ人を頼ろうとする わるいことは無いかもしれないが、そういう人相手にすると俺は疲れる
いくらなんでもネタだろ
つか、入力ってなんの入力なんだろう。
>>18 インターネット256倍で勉強しろ
UNPでもいいぞ
26 :
24 :2009/08/29(土) 00:45:43 ID:???
ああすまん >C:\xampp\xampp-control.exeを実行する これの前に C:\xampp\setup_xampp.batを実行するんだと そしたら必要な設定をやってくれる ていうかサイトに説明ご丁寧に書いてるな 本の通りに設定するんじゃなくてXAMPPのサイトの説明みて設定しれ
27 :
nobodyさん :2009/08/29(土) 00:48:20 ID:5/b4BZna
>>24 さん ありがとうございました!
こういう流れを知りたかったんです
助かりました〜^^
>>27 が、のちに世界のWebを変えた男と呼ばれることになろうとは、
まだ誰も知る由はなかったのである。
29 :
nobodyさん :2009/08/29(土) 00:56:14 ID:y35KpugR
すいません、AMFPHPの質問はここでもいいですか?
まあいいんじゃない 回答できる人がいるかどうかは別だが
31 :
29 :2009/08/29(土) 01:28:13 ID:y35KpugR
ありがとうございます。 で、早速質問です。 ------------<amfphp/services/myservice.php>------------ <?php require '../../foo.php' ; class myservice{ function service(){ return foo(); } } ?> ------------<foo.php>------------ <?php $var='...' ; function foo(void){ global $var ; return $var ; } ?> としたとき、../../foo.php内のglobal変数$varがfoo.php内のfunction foo()の中から見えなくなるようですが、これは仕様ですか? AMFのブラウザで見ても(null)が返って来ます。 amfphp-1.9.beta.20080120です。
見れるはずだよ
33 :
29 :2009/08/29(土) 02:27:28 ID:y35KpugR
>>31 ×function foo(void){
○function foo(){
ですね、失礼しました。
>>32 見えるのが仕様、ってことですね、どうもです。
35 :
34 :2009/08/29(土) 03:20:01 ID:QPbyiPRo
ID出すのを忘れていました。 よろしくお願いしますm(__)m
縮小したいってこと? Imagickあたりがいいと思う
>>36 早速レスありがとうございますm(__)m
連番画像をフォルダにまとめて、それを
>>34 のように表示する方法が知りたいです
PC用のwebアルバムのサンプルはよく見かけるのですが
携帯用のwebアルバムが中々見つからなくて困ってます
よろしくお願いしますm(__)m
folder/01.html にアクセスしてきたら テンプレートのimgタグのsrc属性に"folder01.jpg"を書いてやって 普通にHTML出力してやればいいんじゃないかな
>>38 PHPでまとめて処理したいのですが・・・・
また出直してきます。もっと自分で調べてみようと思います
アドバイスありがとうございましたm(__)m
言ってる意味が良く分からないけど glob関数でフォルダ内の画像ファイル名を取って file_put_contents関数でHTMLを生成すればいいんじゃない
>>40 わかりにくくてすみません・・・
でもとても参考になってます。すごく助かります
glob関数で調べたところ、私のやりたいことに少し近づいた気がします
実はPHPなら
>>34 のようなことができる!!という漠然なことしかわからなくて・・・・
でも全体像が見えてきたので、もう少し自分で頑張ってしてみます!
>>41 こちらで質問するまでのレベルに達していませんでした。
でもなんとなくこうやればできるのかな?というのがつかめました
リンクを参考に頑張ってみます!どうもありがとうございます
おいてめえら起きてるか! 質問してやるから気合入れてよく聞けや! 『sqliteを使う場合、何の設定をすればいいのか教えろや』 わからなかったらググって調べてこいよカス共
php.iniを開けばいいと思うよ
45 :
43 :2009/08/29(土) 12:40:59 ID:2HtSJ2jj
php.ini開いたらすぐ使えるんですかーーーーーーーーーーーーーー 100回php.iniを開いてみてくださいーーーーーーーーーーーーーーーーーー しらないならこたえないでください^−^
46 :
nobodyさん :2009/08/29(土) 12:49:15 ID:y35KpugR
直す前には、まず開かなくちゃだろ。
まずPCの電源を入れなきゃだろ
そっか。 まずphp.iniを読むところまでが遠いな。
49 :
nobodyさん :2009/08/29(土) 13:06:51 ID:2HtSJ2jj
夏休みはもうすぐ終わりだぜカスども 46 名前:nobodyさん[] 投稿日:2009/08/29(土) 12:49:15 ID:y35KpugR 直す前には、まず開かなくちゃだろ。 47 名前:nobodyさん[sage] 投稿日:2009/08/29(土) 13:04:41 ID:??? まずPCの電源を入れなきゃだろ 48 名前:nobodyさん[sage] 投稿日:2009/08/29(土) 13:06:01 ID:??? そっか。 まずphp.iniを読むところまでが遠いな。
俺の夏休みはお盆はさんで5連休、で終わり。
あと少しの辛抱だ
52 :
nobodyさん :2009/08/29(土) 17:13:24 ID:1sukvxbv
すみません
>>4 の.8についてなのですが
includeでパラメータを渡す場合、
rank.php?form=new?なら
$_GET['form']='new';include("rank.php");が使える
というところまでググって分かったのですが、
rank.php?form=new&hits=5&a=1という場合は
どのようなコードにすればよろしいでございますでしょうか?
お願いします
>52 include/requireはそんな使い方をするものじゃない。 include/requireされる先には関数を書いておき、実行はincludeする側で行なえ。 ---include.php--- function calcurate_rank_from_score($score){ //..... } ---rank.php--- require("include.php"); $score = calcurate_rank_from_score($_GET['score']);
54 :
nobodyさん :2009/08/29(土) 17:29:42 ID:ViqzAIIX
みんなが使ってるお勧めの開発環境をおしえてー
テラパッド以外つかったことない
56 :
nobodyさん :2009/08/29(土) 17:35:09 ID:1sukvxbv
>>53 rank.php?form=new&hits=5&a=1で出力された内容を
include.phpに読み込みたいんですよ?
もうちょっと質問を整理して書いてもらわないとわからない。 include.php rank.php がなんなのかはこっちはさっぱり分からない
58 :
nobodyさん :2009/08/29(土) 17:59:57 ID:1sukvxbv
>>57 わかるだろ
>>52 で
>>4 の8ってわざわざ指定までしてあるんだし
パラメータのついたファイルをincludeしたいわけ。
また今週も不発かよ
せっかくの週末なのに。このスレ使えねえw
javascriptスレは打てば響くプロが何人か常駐してるってのに
59 :
53 :2009/08/29(土) 18:12:08 ID:???
>rank.php?form=new&hits=5&a=1で出力された内容を >include.phpに読み込みたい なんて処理をしてたらどうやっても死にたくなるような糞コードしか生まれないからな。 要するに、こんな処理が必要になる事自体が絶望的な間違いだって言ってるんだよ。 どうしてもやりたいなら $_GET['form']="new"; $_GET['hits'] = 5; $_GET['a'] = 1; include("rank.php"); rank.phpの出力結果をindex.php内で変数として使いたいならばob_start()などを使う、マニュアル参照。
>>59 でやっと58が何をいいたいのかわかった。
>パラメータのついたファイルをincludeしたいわけ。
なんかここがもう絶望的な質問者との断絶を感じる
62 :
nobodyさん :2009/08/29(土) 18:26:52 ID:i99ZMGbg
>>59 なにを怒ってるのか分からないが
ありがとう。
絶望的な糞コードっていうけど、
それを使うことによってなにか問題が起きたりするんですか?
ファイルをincludeするだけじゃん。
たとえば何個かのapiの雛形があったとしてそれを組み合わせて使いたい時とか
いちいちコードを全部一つにまとめるんですか?
includeした方が良いに決まってる。apiならkeyword=みたいなパラメータがついてて当然ででしょう?
なぜそれが死にたくなるような糞コードになるんだ?
63 :
nobodyさん :2009/08/29(土) 18:34:01 ID:i99ZMGbg
>8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい > → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません お前らは本当は出来るの方法があるのに 出来ないor糞コードと嘘までついてライバルを減らそうとしてるのか? テンプレの改正を要求したいぐらいだ
includeだけでなく、その後ろのコードでも入力としてつかってるかわからん$_GET[] $_POST[] にプログラムの途中に値を入力してまで出力させるコードが糞といわずしてなんというんだ
66 :
nobodyさん :2009/08/29(土) 18:57:01 ID:z0/d5jkZ
プログラミング経験なし、PHPって何?というレベルの自分でも 理解できそうな超初心者にお勧めのPHP入門書がありましたら教えてください ネットの情報ではMySQL入門以前やはじめての人のためのかんたんPHP + MySQL入門 などを勧めてましたがレビュー日時が05年とかなので最近のPHP事情には うといかなと思い購入できません 割と最近に出て上記に当てはまる内容の本がありましたら教えてください
くだ質スレになにを期待してるのやら・・・
>>64 他のモジュールを(いわゆる)「騙す」手法、古くからある。
くそかどうかは状況次第。
だまってfile_get_contentsつかっとけよ webサーバ経由になっちゃうけどスーパーグローバル変数汚すよりいいんじゃねぇのか?
>>62 俺は(59じゃないよ)includeをapi呼び出しに使うなんてことは今まで一度もしたことないな。
しようと考えたことすらない。
必要な関数が入ったライブラリなりをincludeして使用するか、
当該機能をapiとして呼び出したいならxml_rpcなんかを使うのが普通じゃないかな?
phpの実行結果が欲しいならバックシングルクオートでも使っとけ。
>>62 たとえば、同じ事を2箇所でやりたいとき、2箇所でincludeするのか?
includeするファイルの中で関数にしておいて2箇所でび出すほうがいいに決まってる。
ということだ。
んでグローバル変数使うかわりに必要なものだけ引数で渡すのだ。
このスレは優しい人ばかりで大好きです
75 :
nobodyさん :2009/08/29(土) 20:12:45 ID:BJR6Lek4
スレ違いだったらすみません FFFTPを用いてphpファイルをウェブ上で実行させたいのですが ファイルをどこに置いたらいいのかもわからない上に パーミッションとかあって調べてもよくわかりません。 どなたか設置の順序を教えてくれないでしょうか。 超初心者ですみません。
phpファイル作る→FFFTPで送る→ブラウザでURL叩く
78 :
53 :2009/08/29(土) 20:55:23 ID:???
>62 てめえの設計の無能さを棚上げしてガタガタ文句を抜かすその姿勢に、だよ。 $_GETや$_POSTに値を処理の途中で代入する、という事は、ソースコードの全域で$_GETや$_POSTの中身を気にしなければいけない、という事を意味する。 で、お前は「問題ないよ、このキー名はここでしか使ってないから」と言うだろうな。 1年後にそのスクリプトをいじろうとしたとき、どのキーはユーザー入力そのままで、どのキーは自分で改竄した値か、コードを読まずに答えられる自信はあるか? ないだろうからコードを読まなければいけない。さあ、どれ位のコードを読めばいいだろう。 $_GETなどはグローバル変数だから、書き換えのできる範囲はプログラム全域だ。 つまり、1行目から関数呼び出しなどを全て追って、処理される行を全て読まないと、$_GET[$key]が書き換えられているかどうかは判定できない。 ついでにもうひとつ。小さな問題だが、クッキーを使いたくなったとして、どこで出力すればいいか分からない。 例えばそれ以降にしかできない処理結果をクッキーに反映したくなった場合を考えるといい。 それと、「なんでこの文字列がここで出力されてんの?」を調べるのが厄介になる。 echoやprintfを検索しても出てこないからな。呼び出し先のスクリプトを全部読まないといけなくなる。 requireが文字列を出力する事があるのならば、requireしている全てのスクリプトを順に調べるしかない。
グローバル変数の扱いは基本 歳食ったやつは旧世代のシステムで別の人が作ったプログラムのグローバル変数の扱いで相当痛い目みてきてるんだから それぐらい書かせてやろうや
>>58 で
>
>>52 で
>>4 の8ってわざわざ指定までしてあるんだし
>パラメータのついたファイルをincludeしたいわけ。
>また今週も不発かよ
>せっかくの週末なのに。このスレ使えねえw
>javascriptスレは打てば響くプロが何人か常駐してるってのに
ここまで言うお方なので、
>>78 くらいで動じるお方ではないよ、きっと。
もう居ないと思うし。
何やってんだお前ら
たぶん部下が同じような設計したら俺なら首しめるわw
>83 先輩がやった場合にはどうすればいいでしょうか? ('A`)
>>84 力の限りソース(証拠)追いかけてこことこことここでグローバルつかわないでください!
間違う元じゃないですかぁ!って切れ芸見せて最終的に一目置かれるよう心がけましょう。
86 :
nobodyさん :2009/08/29(土) 21:50:07 ID:I4Tr0kdQ
PEAR::DB経由でmysqlを使っていて INSERTやUPDATEする時の文字列に'が入ってるとDB Error: syntax errorになります。 実行前にaddslashesしたら余計な\がついてしまう場合があるのであきらめ、 DBのescapeSimple,quoteSmartを試してみたのですが 'が偶数個続いている場合はうまくいくのですが 1個や奇数個続いた場合にDB Error: syntax errorになります。 ここで行き詰まってしまいました。どうすればいいですかね。
寝ればいいと思う
>>86 なんのためのaddslashesだ、よく考えろ馬鹿。
89 :
nobodyさん :2009/08/29(土) 22:03:00 ID:I4Tr0kdQ
ひでえ。もう死ぬわ。お前らも死ね。
90 :
nobodyさん :2009/08/29(土) 22:40:05 ID:I4Tr0kdQ
関係ないミスだった。正直すまんかった。
面白いなお前
今日は愉快な奴が多いな。
93 :
62 :2009/08/30(日) 00:23:15 ID:Qh3FO8NZ
>>78 あなたは初心の心を忘れてしまったのではないですか?
とりあえずやってみるという精神がもの作りの基本姿勢じゃないですか。
まがりなりにもエラーが出ずに動いているコードを
1年後にどうたらとか、自信がないからとか
何々を使いたくなったら困るからとか仮定の話をされても困りますわ
そん時に考えればいいじょん。
とりあえず情報サンクス
>>93 冗談で首しめてたけど、今の返事で力いれて締めざるを得ないわw
どこでもつかえる便利な変数に値を入れて、使うことの危険性を認識できない限り
おまえが初心者から抜け出すことはできないよ。
95 :
62 :2009/08/30(日) 01:00:29 ID:Qh3FO8NZ
そういう話は僕の要求する動くコードを ここに書いてからにしてください。 糞コードでも実際にそこにある動くコードと 理想論だけの空想上のコードじゃ 僕は前者を選びます。
要求するコードって何なの?
>>66 PHPの絵本、PHPのテクニック、PHP逆引きレシピ、PHP公式マニュアル
>>95 要求がおかしいって言ってるんだと思うよ。
初心の心というが、過去にPHPの講師もしてたけどそんな設計する生徒見たこと無いよ。
一度テンプレートとかフレームワーク使ってみれば?
Beginnerという英単語にそのような訳があるからなのかどうかは知らないが、
>>93 のような
自称「初心者」は困ったものだ。Beginnerという単語は単に「何かを初めて行い始めたばかりの人」という
意味しか無いと思っている。
日本語における「初心」の真意は何だろうか。
世流能楽の大成者・世阿弥は「初心忘るべからず」という諺を残したが、この諺にこそ「初心」の
真意が込められていると思う。
この「初心」には”何かを初めて行い始めた”という状態を指す意味も勿論含まれているが、
”初めてだからこそ、より上を目指して人並み以上に自己努力・自己研鑚する心意気”という意味も
多分に含められているはずだ。だからこそ「初心忘るべからず」という諺が成立するのである。
>>93 のようにBeginnerであるにも拘わらず、少しでも分からないことがあればすぐ人に聞くような
態度を見せる人は、「初心を持つ人」たる「初心者」と自ら名乗るには到底値しない人なのである。
例えば
>>93 のような人が「初心忘るべからず」という態度を取リ続けたらどうだろう。
本人は遅々として成長せず、周囲にだけは多大な迷惑がかかるはずだ。そのような人間には
「初心者」を名乗る資格はない。「ビギナー」「無為(むい)者」等と名乗るべきである。
いいこと言うね。 機会があったら他の連中にも聞かせてやります。
>>95 何でも良いから期待した結果さえ出ていれば良いって考えは早めに捨てたほうが良いぞ。
たまたま動作しているように見えるだけ、バグだらけ、脆弱性だらけ、
メンテナンス性最悪のプログラムを量産することになる。
おそらくはみんな経験不足や時間不足でそういう類のコーディングをしたことがあって、
その経験を元に忠告してくれているわけだし。
言葉遣いの悪い回答者にイラっと来るのは解るが、それでも回答をしてくれているわけだから。
>煽られたときも、無闇に反論せずスルーすること。
という
>>1 のありがたい忠告も心に留めて大人の対応をしよう。
このスレは優しい人ばかりで大好きです
2chの半分は優しさで出来ています。 残り半分はどす黒い何かだけど。
つまり、1スレで考えると500は優しさで残り500は黒い何かか。 優しすぎるなw
>>95 世の中には動かないほうがいいコードがあることもお忘れなく
スパム対策もされず放置されてる掲示板とか
スーパーグローバルを偽装して値突っ込んでincludeして使用したいとか 結局人の作ったものに乗っかってるだけじゃん。初心忘れてるのはどっちだっつーの
108 :
62 :2009/08/30(日) 03:24:52 ID:???
>>70 こっそりfile_get_contentsに書き換えときました
みんなサンキウ
素晴らしいサイトが出来ました
ヤフカテにのっちゃうかもね オホホ。
そりゃおめでとさん
110 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 06:04:57 ID:tzsypg4f
phpでプロトタイプベースのオブジェクト指向は可能ですか?
PHPはクラスベースです
実用にはまったく耐えられないけど マジックメソッド、リフレクション、Closureを利用すればそれっぽく振舞える
113 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 08:30:48 ID:tzsypg4f
114 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 12:25:14 ID:JcI38te4
>>108 きめえ質問者だな出直して来いカス
SMATRYの解説でわかりやすいサイトを誰か教えろ
夏休みもおわるんだしスルーしとけ
糞コードでも無いよりましな事もあるが、 たいていの場合書き直した方がマシ。
まぁみんなもちつけ。 コードまるごとコピペしてきて使おうってやつに、 パクったコードの質の話しても意味無いぞ。
120 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 15:01:15 ID:IUUeO8aY
phpからmysqlのテーブルに格納されている文字列をmysql_fetch_rowだとかmysql_fetch_assocだとかで読み出したときに、 「ソースの表示」をやってみると 「NULL文字を含むファイルです。半角スペースに変換してから表示します」 ってなって読みだした文字列の後に大量の半角スぺース(きっと元はNULL文字)が含まれているのが確認できるんですけど、 コレを無くすにはどうすればいいですかね。 AJAXで読み込んだときにNULL文字以下が表示されなくなってしまって困ってます。 誰か心当たりあったら解決策お願いします。
文字コードがおかしいんじゃね?
122 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 15:09:53 ID:IUUeO8aY
>>121 レスどうもです。
一連の動作に関係のある文字コードはすべてUTF-8で統一してるんですがね…。
文字列自体は問題なく表示できているのですが…
もう少し詳しい解説をお願いできませんか?
もう一回全部確認してみ
深く考えず、さくっとrtrimかなんかで削ればいいんじゃね とりあえず、DB側にはそのヌル文字入ってるの? 格納時と取り出し時どっちが悪いか位は突き止めんとなんともできん。
125 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 15:16:04 ID:IUUeO8aY
>>123 今確認しましたが、
php.iniやmy.conf含め関係するファイルの文字コードはすべてUTF-8で設定できています
うーん、さっぱり対処策が分からない…。
126 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 15:18:23 ID:IUUeO8aY
関数リテラルってなんの利点があるのよ
128 :
120 :2009/08/30(日) 15:24:55 ID:IUUeO8aY
rtrimで上手く行きました。皆さんありがとうございます。 結局なんでNULL文字が入ってしまったんだろう…。
文字コードのせい
130 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 15:53:18 ID:nh5T62Wi
$ggg = $hhhh[$j]; list($no,$now,$name,$email,$sub,$model,$com,$host,$pwd,$ext,$w,$h,$time,$chk) = $log[$ggg]; このコードを1行で書くにはどうしたらいいのでしょうか?
$gggの場所に入れれば?
132 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 16:02:46 ID:JcI38te4
>>115 回答にけちつけた事ないからピンとこないのだよ
精神病院に通ってるだろ。幻覚症状よく見るだろ?
ああ、薬やってんのか、なるほどね
133 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 16:04:58 ID:nh5T62Wi
list($no,$now,$name,$email,$sub,$model,$com,$host,$pwd,$ext,$w,$h,$time,$chk) = $hhhh[$j]; こう入れ子にするとさっきまでエラー出てたんですが 今普通に出来ました、すいません。 何のエラーだったんだろ・・・・・
134 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 16:08:33 ID:nh5T62Wi
list($no,$now,$name,$email,$sub,$model,$com,$host,$pwd,$ext,$w,$h,$time,$chk) = $log[$hhhh[$j]]; こうでした。
変数って共有されるんですか? サーバが勝手に使い分けてくれるんでしょうか。 クライアントAが変数1に"あ"といれた後に クライアントBが変数1に"い"といれ その後クライアントAが変数1を出力したら"あ"とでますよね?
日本語でおk
Cから勉強しようか
>>135 変数は共有されないから、そういう心配は不要。
初心者にこそ最初にポインタのことを教えるべきだよな。と初心者の俺はいつも思ってる。
それよりHTTP手順をまず理解してもらうほうがいいんじゃないのか
どこまで行けば脱初心者なのかいつも悩む。 俺は初心者から抜けたのかな、どうよ?
>>141 文法の使い方がわかる・簡単なスクリプトを書くのが初心者
HTML、データベースなどと連携したスクリプトを書くのが中級者
メールサーバやDBと更なる連携したシステムを作り、セキュリティの高いスクリプトを書かなければならないのが上級者
随分上級者のハードル低いな
「文法の使い方」とか言わなくなれば脱初心者。
>>143 俺にはエキサイトメールやらYahooメールやらのシステムは作れないな〜
大喜利みたいになってきたな。日曜の夕方だけに
上級者でも分かりにくいプログラムを書くのが初心者 初心者でもわかりやすいプログラムを書くのが上級者
人に頼ってプログラムを書くのが初心者 人を使ってプログラムを書かせるのが上級者
>>149 後者は上級者じゃなくてたんなるSEじゃん
はらたいらさんに座布団全部
残り1日か、気を引き締めていこう!
154 :
nobodyさん :2009/08/30(日) 21:48:27 ID:g+ZlVk7y
おい、そこのカス共質問しに来たぞありがたく思いたまえ サクラエディタでPHPを書くときの設定とキーワードファイルの入手先とか全部教えろ
TeraPadでおk
156 :
nobodyさん :2009/08/30(日) 22:03:49 ID:g+ZlVk7y
Terapad (笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
そうだな
>>155 には寺パッドがお似合いだな
本家wikiにあるだろ
開発環境ぐらいググって自分でどうにかしろ コードの話以外をするなら謙虚な態度できけ それができないなら首つって死ね
本人が使いやすかったらおk 食わず嫌いせずに一度使う事をオススメする
ちなみに俺はYokkaって人のエディタ使ってる
viで十分。
<textarea></textarea> でおけ〜。 あとはloda、saveボタンでもつけとけ。
ここの回答者でXAMPPなんて使ってる池沼はもちろんいないよな
バージョン毎の確認がしやすいので WampServer
ローカル環境はxampp。 開発は専用の開発サーバー(Linux系OS)で、だいたいそっちを使うから別に困らん。
166 :
nobodyさん :2009/08/31(月) 00:10:33 ID:fzapoewt
初心者しつもんですみません 配列に番号を振りたいのですが $animal = array('ライオン' , 'うさぎ' , '犬' , 'ねこ'); echo $animal; 1 ライオン 2 うさぎ 3 犬 4 ねこ みたいにしたいです おねがいします
>>166 PHPの配列は、
$配列変数[キー]=値
という構造になってる。
array(いっこめ,にこめ,さんこめ)
という書き方は、キーの部分に自動的に数字を割り当てて
ください、という書き方になる。つまり、「いっこめ」のキーは
ゼロ、にこめのキーは1、さんこめのキーは2になる。
つまり
$配列変数[0]=いっこめ
$配列変数[1]=にこめ
$配列変数[2]=さんこめ
という構造にしてくれるってこと。
なので、
foreach($配列変数 as キー=>値){}
とすれば、{}の中で、キーに指定した変数に、上の[]の中が、
値に指定した変数に、=の右辺の値が入ることになる。
fopenでウェブサーバーからデータを読んだら遅い。 データの量が大きくなればなるほど、 他の言語よりも数倍遅くなることがわかった。
169 :
nobodyさん :2009/08/31(月) 00:51:39 ID:fzapoewt
>>167 たとえばこの場合
foreach($abcd as $k=>$v){
$kを1から番号振るにはどう書けば良いのでしょうか
>>169 プログラミングなんだから少しは自分で考えてみようぜ
171 :
nobodyさん :2009/08/31(月) 01:03:14 ID:fzapoewt
$k = 1;みたいな漢字だと思いますが どこに入れたらいいかわかりません ググッテも出てきませんお願いします
172 :
nobodyさん :2009/08/31(月) 01:10:11 ID:fzapoewt
Google ソースコード検索したら出てきた
>>170 お前使えないな
173 :
nobodyさん :2009/08/31(月) 01:12:50 ID:5YM2F5ha
1からはふれない。 だから表示のときに1を足す。 配列のキーを自由に設定したいなら、array(値リスト)という表記は使わない。 この表記はただの省略形だ。
>1からはふれない。 >だから表示のときに1を足す。 できるが? 2文字追加するだけで
すまん。 でもそれやらんほうがいいと思う。 array表記の配列初期化で初期値指定をいちいち使うと、 処理パターンが広がって後々応用しにくくなると思うから。
そんなことしったこっちゃない
空白除いて3文字の方法なら知ってる。 2文字の方法って?
雑談すんな お前らは聞かれたことだけ 答えてりゃ良いんだ
>>166 $animal = array(1=>'ライオン' , 'うさぎ' , '犬' , 'ねこ');
>>166 ■例1
list($animal[1],$animal[2],$animal[3],$animal[4]) = explode(",", "ライオン,うさぎ,犬,ねこ");
echo $animal[1]; // ライオン
■例2
$animal[1] = "ライオン";
$animal[2] = "うさぎ";
$animal[3] = "犬";
$animal[4] = "ねこ";
echo $animal[3]; // 犬
<ol> <?php $animal = array('ライオン' , 'うさぎ' , '犬' , 'ねこ'); foreach ($animal as $value) { echo "<li>{$value}</li>"; } ?> </ol>
2文字どころじゃないじゃん 2文字でできるらしいが2文字の例は?
>>182 echo "<li>{$value}</li>";
なぜ{}でかこむのか理解不能
>>185 基礎が分かってたら{}でどういうときに囲むのかわかるはずだけどなあ
なんでもかんでもとりあえず囲んでおけばいいって思ってる初心者さんですね、わかりますよ
>>186 この場合はあれだが、コーディング規約でecho内で変数使う場合は必ず{}で囲むって所はあったな。
どこの規約?
可読性の問題だろ ケチつけることじゃあない echo "hoge$hoge" echo "hoge{$hoge}" echo "hoge".$hoge
>>186 明示的にしてるだけだろ
>なんでもかんでもとりあえず囲んでおけばいいって思ってる
そういうクセはつけるべき
>なんでもかんでもとりあえず囲んでおけばいいって思ってる これは頭悪い人の思考
>>191 理由はどうあれ第三者が読みやすいならそれに越したことはない
>>189 ””と''を混同で多用するから、おれは3番目だな
195 :
nobodyさん :2009/08/31(月) 15:19:19 ID:bPBU5kz7
PHPの開発って何のことを言ってるんですか? PHPで何か開発できるんですか? もしかして掲示板を作ることなどを開発って言ってるんですか?
PHPの開発っていったらZendがやってることだろ
っていうか「開発」なんて言ってる人あんまいなくね?
>>194 ちょっと試してみたが、
1と2はほとんど変わらんけど、3は早いな。
可読性もそうだけどよきせぬ変数を呼び出さないため。 ダブルクオート中の文字列中にはいれるクセをつけたほうがいい。 $var = 1; $var2 = 2; ここで12という文字列を表示しようとする。 echo "{$var}2"; //12 echo "$var2"; //2 # 説明上echo $var.$var2にしろというツッコミはなしで このように結果が違ってきてしまう。 通常ではおこりえない現象だが、そういうことも考慮しないといけない。
>>198 echo "hoge", $hoge
(ピリオドじゃなくてカンマね)だと連結自体しないのでもっと速いというのをどっかのサイトで見たことあるな。
自分では検証してないけど。
>>201 状況によらずつけるクセをつけるべきといってるんですよ。
いる、いらないの問題じゃない。
204 :
nobodyさん :2009/08/31(月) 15:36:04 ID:DuhgW8tj
変数$timeに入ってる日時(たとえば2009-04-01 16:48:07)の30分後を取得する方法がわかりません どなたかご教示お願いします
>>202 状況を考えず常に同じことしかしないなんてどんだけ思考停止なの
>>204 unixタイムになおす
30分分のunixタイムをたして元に戻す
>>204 strtotimeと'+30 min'
>>205 状況って・・・
配列使うときだけ使う。俺って状況考えて使い分けできてカッコイイとか思っちゃってるなら、
そもそもそれが間違いですよ。
結局これってコーディングスタイルの問題だし状況もくそもない。
そもそも""の中に変数を書かない癖をつけた方がいいんじゃないの
210 :
208 :2009/08/31(月) 15:43:47 ID:???
ちょっとわかりにくかったね。 一言でいえば「同じことをして当たり前」ということね。
状況を考えないでコーディングしてるんだ。頭固いね。旧世代の遺物だ。
>>209 echo "{$name}さんが{$money}を{$who
>>212 カンマ ピリオド printf sprintf テンプレートエンジン
途中でおくっちまった echo "{$name}さんが{$money}を{$who}さんに振り込みました"; このように変数が増えると連結では結構めんどくさいけどな
>>211 だめだこりゃw
くだらないとこでそんな戯言いってないで、もっとコアな部分で状況を考えてください。
入出力部分に状況もくそもない。
俺も出力とか{}とか連結とかどう使えばいいのか悩んでた。 どうするのがいいわけ? 変数だけでなくdefineしたものの扱いも含めてどうするのが一番美しいの?
普通は可読性やメンテナンス性を重視すると思うけどな。
作ったプログラムを未来永劫書き換えないなら、速度重視や必要最小限のコードってのでもいいと思うが。
ところで、
>>211 みたいなレスはすごく頭悪そうだぞ。
美しさはsprintf
>>217 波括弧で囲むのが可読性とメンテナンス性に優れている根拠を詳しく
俺は長い文章出すなら、ヒアドキュメントと置換か埋め込み使うようにしてる
>>216 多人数開発やソース公開(オープンソース)を前提として
可読性その他凡ミスをふせぐために{}
個人開発でパフォーマンスを求めるなら連結
定数と変数は両者には値が不変か否かの違いしかないので
基本的な扱いは両者一緒
>>218 詭弁ねえ・・・
まぁそう思いたいならそう思ってればいいんじゃないですかね。
とりあえずあなたはくだらないとこで屁理屈のべて難癖つけるのやめてくださいね。
スレが荒れちゃうので。
defineしたマクロを文字列の中に埋め込みとか出力に使う場合って sprintfか連結でしかできないっけ? そのへんの制限も含めてまとめてどうするのがいいのか教えて欲しい
>>220 可読性は一目瞭然だな。
$の有無だけで変数かどうかを判断するのか、{$...}を見て変数と判断するのかを比較すれば、後者の方が明らかにわかりやすい。
メンテナンス性については、上の方でも書かれていたけど、例えば変数の後ろの文字列を書き換える際に、変数名を誤って変えてしまうリスクを減らせる。
ちなみに俺はsprintfやピリオドでの連結とか、場合によって変えてるよ。
でも、
echo "<li>$value</li>";
という選択はまずしないな。
>>220 可読性とメンテナンス性ってのは2つで1つだからね
可読性が高いことはメンテナンス性も高いということ
なぜかは読みやすいほうがわかりやすいということを考えればわかるでしょ?
波括弧がなぜ優れているかというのは
文字列中に現れていればひとめでそれが変数とわかるから
囲ってるのと囲ってないのでは見つけやすさに差が出るというのは想像に容易いね?
perlでeval使って変数展開するのと同じ事ってPHPでもできたっけ?
>>204 $time= '2009-04-01 16:48:07';
preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $time, $d);
$d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1]));
printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]);
民主政権になって全てのソースコードを中国様に開示を義務づけられるので コメントは中国語でね♪
印刷 ?好世界;
>>228 perlだとそんな感じだよな。
$time= '2009-04-01 16:48:07';
print date("Y-m-d H:i:s",strtotime( $time ) + 60*30 );
>>232 echo date('c', strtotime('+30 min', strtotime('2009-04-01 16:48:07')));
結論:「この話はフレイムになる」ってやつだな→{}
けんか腰になりさえしなきゃ、いろんな意見が読めて面白いと思うよ。 元々、perl も php も、美しい一定の方法でコードを入力するって コンセプトじゃなくて、何にでも便利に簡易に書く方法を追求しようって 性格のものじゃん。php は、特に目的がWebに集約されているから、 ゴッタ煮のWeb実装の上じゃ、作り手の書き方も山ほどバリエーション あっていいと思うんだけど。 こういう機能をサポートしているから、こういう書き方に集約したほうが いいってのは、PHPの場合フレームワークとか載せた場合の話になる んじゃないのかな。
>>234 >>184 も学習したしもう炎上することもないんじゃね
何度か{}の話題あったけどここまで盛り上がった記憶はないな
現時点では速度に問題を感じてないから、将来的に改良したければするかも。 $usesだっけ、のほうが見やすいかなと。
いつも思うが 議論であって炎上ではないだろ、この程度。
↑こういう馬鹿がいるからだめなんだよな
結局、なんとなく可読性がいい、なんとなくメンテナンス性がいい、だもん。 個人の主観の域を出ないのさ。 好きなようにやればおk
>個人の主観の域を出ないのさ。 わかってるのに理解不能とかいったわけですね
ID出ない弊害だな。
だな
少なくとも
>>242 はさっき必死だった人物の一人か
ほんとわかりやすいね
どうでもいいやつはレス番に反応することはない
>>242 もそうだが>.246も必死だった人物の1人
見苦しいからそろそろもうだまっとけや
これでいきなりID出たら面白いことになってそうだなwwwwww
249 :
nobodyさん :2009/08/31(月) 18:27:31 ID:mUQDku2B
定数の場合ってこの2種類しかないの? <?php define ("INU","犬"); echo "私は".INU."です<br>"; printf("私は%sです<br>",INU); ?>
>>247 くやしいのはわかったからお前がレスした番号を書けよ
久しぶりに来たけど相変わらずクズが粘着してるなこのスレww
ぴたっと終わらせればいいのに粘着質なアホウがいるからな
>>249 2種類というより、$がついてないと判別できない所では使えない、って事。
表示するだけなら他にprint_r(INU);とかもある。
>>253 うぃ。分かりにくい質問ですいません。
表示文字列に定数文字列を埋め込む方法を聞きたかったのでした。
どうしても 私は{$inu}です 的な書き方が好きで、これぐらい簡単でわかりやすい
書き方がないものなのかなぁとおもってました。
ご回答ありがとうございました。
255 :
nobodyさん :2009/08/31(月) 19:35:31 ID:bPBU5kz7
どこで質問していいかわからないのでここで質問 PHPを覚えれば(ZEND認定資格合格程度の実力)この言語1つで仕事になりますか? よくHTMLやCSSの知識もある程度必要であり、MySQL(これについては意味不明) これらの知識も必要になると目にします 結局のところPHPプログラマーとして仕事に就くために あると望ましい知識はなんでしょうか?
仕事に関する大事な質問を2chでするという非常識さがないことじゃないかな
地方だけどphpプログラマ募集してる求人はみたことねぇなぁ
俺が会社で採用担当だったとして、どれくらい使えるか知るなら、作ったサイトを見せてもらうかなぁ。
どういう立場で仕事をするか、による。 PHPで実用的な作業ができるなら、中小企業なら 喜んで雇い入れるところが結構あると思うよ。 あと、PHPを学ぶなら、Web関連のひと通りの技術 的なところを覚えておいたほうがいいと思う。 ・プロトコルなどの基礎知識 Webの仕組み、サーバーの機能、ブラウザ等のクライアントの機能と 仕組み、メールの仕組み、動画関連の仕組み、DBの仕組みと使い方 ・UNIX UNIXの仕組み、一般的な使い方、Apacheの設定方法、PHPの設定 方法、メール関連アプリケーションの使い方、Shellの使い方、UNIXの ファイルシステム、UNIXの日付表現、UNIXのパス表現、UNIXのネット ワークパス表現など ・Webアプリの知識 PHPの使い方、プログラム経験、Perl/JAVAServletの使い方、PHPとの 違い、主要なフリーRDBMSの設定方法と使い方、CMSを何かしら使える こと、HTML(XHTML/CSS)の作り方、構造など。Javascriptの実装経験、 あと、色の知識とフォントの知識と印刷寸法などの知識(デザイン分野の 人とコミュニケーションするのに必要) こんな感じかなぁ。まぁ全部完璧にできなきゃってわけじゃないけど。
基本情報ぐらい持ってないとPHPだけ出来ても絶対無理
重要なのは学歴と年齢 この分野だから理系のほうが有利だけどプログラム経験がなくても平気 入社してから研修やら勉強やらさせられる 今大学生で20歳前半で卒業見込みなら新卒でいくらでもとってもらえる っていうのは2年ぐらい前の話で今はどうだろう・・・ 零細中小企業は去年は採用取消が多かったし今年もまだ厳しそうだな 既卒で20後半でPHPだけっていうと少し厳しいかもね アルバイトなら平気だと思うからそこからのしあがっていくのもいいんじゃね
263 :
nobodyさん :2009/08/31(月) 20:02:42 ID:bPBU5kz7
回答してくれた方々ありがとうございました 結局PHPと一言でいってもその前後にはいろいろな知識がないと だめだということですね
>>255 言語の知識持ってるぐらいで仕事にならねえよカス
何ができるかだろバカが
PHPでCMSは作れますか?
PHPで55mail程度のwebメールを作れますか?
PHPでSNSは作れますか?
ただ、PHP程度、頭のいいやつならすぐ覚えてしまうからなぁ。 下手に出来ますっていうバカより 出来ないけど憶えますっていう頭いい奴の方が使えるのは事実だろう。
30でPHPしかできない俺オワタ
PHPがちゃんと理解できてるならCとかJavaも出来る、PHPしか出来ないって事は
これ以上は私の口からはとても
269 :
nobodyさん :2009/08/31(月) 22:42:59 ID:2Tu1Bps1
おれは逆だと思うな。 PHPはできるけどjavaは出来ないだと思うよ。 javaができればPHPなんて簡単です。 現に僕はPHPは得意だけどjavaは不得意です。
旧世代言語(Cとか)やっといたほうがつぶしは効く PHPだけしか知らないと他言語いったときその制約に悩む
PHPしかできない人でもクラス・オブジェクトを理解してれば 基本情報の試験でたいした勉強もせずにJavaで合格点は取れると思う ただそれがJavaが出来るということではないと思う
Cの文法に近いのは最低限の文法とリファレンスがあればだいたい書けるようになる。 そのかわりVBの文法が生理的に許せなくなる。
流行の言語(JavaとかPHP)を一生懸命覚えて職についても数年後その言語が主流になっているとは限らない Cとアセンブラ覚えるのがお得
274 :
nobodyさん :2009/08/31(月) 23:05:52 ID:TARgUzzi
【OS名】 linux (レンタルサーバ(XREA)) 【PHPのバージョン】php5.2.5 【連携ソフトウェア】 -- 【質問内容】 SNTPクライアントの動作をするフリーなコードが、どこかに無いでしょうか。 用途としては、時計を合わせ直すのではなく、使用しているレンタルサーバの 時計がどのくらいずれているかを、日に1〜数回調べて記録したい。 ただし通信の遅延時間くらいは考慮したいので、sntpくらいは使いたい(ntpでもいいですけど)。 といったことを考えています。
アセンブラなんて汎用性がなさすぎる もはやOSやエミュレータ開発以外ではネタの域 C++だけできればよい
PHPやってるならActionScriptやってみるのもいいぞ。
コンパイラやJIT最適化、家庭用ゲーム、リアルタイムマルチメディア処理では、アセンブラ含めたコンピュータアーキテクチャの知識は必須 PHPerには不要
ありがとうございます
>>277 ただそれはNTPと自称していますが、実際のところは古い単なるTimeProtocol(Port.37使用)の
やつなんで、目的のものとは違うようです。
>>278 あー、こういうのあったんですね。
SNTPよりさらに簡易でサーバ側処理時間不明なようですが、あっちの処理能力がとても高そうで、
もう無視しちゃっても良さそうだし、とりあえずいけそうかも。
ありがとうございました。
281 :
277 :2009/08/31(月) 23:48:17 ID:???
283 :
nobodyさん :2009/09/01(火) 09:23:51 ID:dJ5gNDTF
変数をよく箱に例えているのをみるのですが、 箱だったら例えば $box = 1; $box = 2; echo $box; で、2が表示されるけど、1のときに一度$boxを空に しなきゃいけないんじゃないんですか? どうして上書き的なことができるんでしょうか。
実際には、箱にせよ中身にせよ物体じゃないから。 物体に例えてる例え話をマジに取りすぎると、悩むかもな。 って、PHPに限らず変数使用するプログラミング言語どれでもだろ。 なんでこのスレ?
算数の文章問題に悩む小学生か
>>283 >どうして上書き的なことができるんでしょうか。
その箱はトランジスタで出来ていて、中に入ってるのは電子だから。
変数とは値に名前を付けるもの、って考え方もあるけど。
たぶん高校生のPC授業で教室で1人いるかいないかぐらいの悩みだな
なんか和むな
289 :
nobodyさん :2009/09/01(火) 10:15:31 ID:iGTqqTEK
ログ検索機能作ってるんですが and検索で複数の絞込みをする際 キーワードの区切りにスペースを付けますよね。 それを受け手のphpで各要素にexplodeで分解する際、 区切り文字として指定する際はメタ文字の\sで指定すればよいのでしょうか?
291 :
nobodyさん :2009/09/01(火) 10:26:31 ID:iGTqqTEK
今オンラインゲーム中でテストサーバー立ち上げようとすると ゲームガードにはじき落とされるッス!
そうですか
293 :
nobodyさん :2009/09/01(火) 11:06:25 ID:N+Abx6OO
ob_get_clean()とob_get_flush()て まったく同じ機能に見えるのですが、 どう使い分けるのですか?
294 :
289 :2009/09/01(火) 11:16:35 ID:iGTqqTEK
試してみたところメタ文字ではなく普通に半角スペースを入れると 正常に分割されました。 ただ、半角&全角スペースに対応させたい場合どうすればよいのでしょうか。
295 :
289 :2009/09/01(火) 11:21:14 ID:iGTqqTEK
すいませんでした、多分全角スペースを半角スペースに置き換える作業を 先に行うようにすればよいのですね。
>>293 画面に出さずに消えるのと
画面に出して消えるのと。
消える、はバッファのことね。
BASICとかいう高級言語(wしか使えなかったオレでもphpを学び始めて一ヶ月でSNSサイトのようなものを作れたから大丈夫
きっとそれは、ある程度の規模のサイトを作るセンスによる所が大きい。
301 :
nobodyさん :2009/09/01(火) 16:31:30 ID:iGTqqTEK
$keyword = ($_POST["keyword"]);
$keyword = preg_replace('/\s+/', ' ', $keyword);
$keyword = preg_replace('/ /', ' AND ', $keyword);
$keyword = explode(" ",$keyword);
echo "\t$keyword[1]\n";
単発or連続した全角、半角スペースを基準に文字を分割したいのですが
いまいちうまくいきませんどこが間違っているのでしょうか?
>>297 さんの言葉を検索したのですがいまいち核心的なものが出てきません。
303 :
nobodyさん :2009/09/01(火) 16:50:16 ID:iGTqqTEK
連続した空白を半角空白に置き換えたいだけなので そういう概念的な事をアドバイス頂いても理解しかねます、すいません。
305 :
nobodyさん :2009/09/01(火) 16:53:52 ID:iGTqqTEK
>>304 あの直後メンテナンスに入りまして
用事の合間合間にググって今に至ります。
306 :
nobodyさん :2009/09/01(火) 16:59:31 ID:iGTqqTEK
$keyword = ($_POST["keyword"]); $keyword = ereg_replace("[ ]+", " ", $keyword); echo "\t$keyword\n"; こういう事か、 自己解決しました。 なんだよ形態素解析ってw
>>301 入力文字列の例と、望む出力を書いてみて。
'/[ ]+/' でいいんじゃないのかな ([]内は全角スペースと半角スペース)
つ[文字コード]
310 :
nobodyさん :2009/09/01(火) 17:06:21 ID:iGTqqTEK
$keyword = "あああ いいい ううう"; ↓ $keyword = "あああ いいい ううう"; こういう事なのですが[]の中身は半角スペースと全角スペースですよね? 正規表現はよくわからないのですがこれだと半角スペースと全角スペースワンセットが 1回以上続く場合になるんじゃないのですか? 半角スペースor全角スペースが一回以上続く場合になるのが不思議です。 それとなぜシングルクォテーション''で囲むと[ ]+の両端に //が要るのかもよくわからず。
311 :
nobodyさん :2009/09/01(火) 17:07:20 ID:iGTqqTEK
>>309 趣旨とは数段違うレベルのアドバイスを出すなんて
オナニー甚だしいですよ。
312 :
nobodyさん :2009/09/01(火) 17:12:11 ID:iGTqqTEK
全角スペースと半角スペースは
>>307 でご解説頂いてました、
失礼しました。
選手ケチって落ちた俺の今の貯金40000だけどみんなどれぐらいもってるのよ?
314 :
313 :2009/09/01(火) 19:44:59 ID:???
ごめん。ごばくしました
315 :
nobodyさん :2009/09/01(火) 21:15:58 ID:FS0m+muw
.NET Frameworkで作成したRSA公開鍵を、PHP(というかOpenSSL)で使いたいんだけど、だれかやり方しりませんか? .NET Framework 側はこんなコード。 Dim rsa As New System.Security.Cryptography.RSACryptoServiceProvider() Dim publicKey = rsa.ToXmlString(False) で、publicKeyの中身はこんな感じ。 <RSAKeyValue> <Modulus>uW9vlDkonsfhEijIoxTI6WGXzvi6l2ZF+xueHVHRrspwLaClxTGGwCE lxnId1I+isHm9EYOG003OSRDkYVxA5wF6/dD0bekwQiBmJDvKqszgI2U9nKr5PEO86MXJ0 FuhjBNdAzHpAsYA8l/ixKr2/+VLnCfPQaSBUjPIOawA4RU=</Modulus> <Exponent>AQAB</Exponent> </RSAKeyValue> これをPHPのOpenSSLライブラリで使いたいんですけど、どうすればいいのかさっぱりです。 ぐぐってもそれらしいのはでてこないし。 どなたかアドバイスお願いします。 ソフト: PHP5.2, CentOS
まずぽまえはOpenSSLの仕様を全部把握してからきたまえ
使うって何がしたいのかもわからん
318 :
315 :2009/09/01(火) 21:37:50 ID:???
>>316 そんなことができるのならここで質問したりしません (;_;)
>>317 もちろんRSA公開鍵として使いたいということです。
OpenSSLで使うPEMファイルとえらいちがいますよね。
PHPでRSA公開鍵使うってどういうこと?
320 :
315 :2009/09/01(火) 21:40:38 ID:???
>>318 さん騙りはやめてください
>>316 さんOpenSSLはVine Linuxにて勉強しましたが、まだまだ勉強不足かもしれません
>>317 さんやりたい事は315で書かせていただきました
321 :
nobodyさん :2009/09/01(火) 22:36:24 ID:iGTqqTEK
>>310 をexplodeしたら配列に分かれることは分かれるんだけど
配列間に半角スペースが入ってtrimでも除去できね。
そのOpenSSLライブラリで求めている形式に変換すれば?
324 :
nobodyさん :2009/09/01(火) 22:50:00 ID:iGTqqTEK
ID:iGTqqTEKは以後放置でおk
327 :
nobodyさん :2009/09/01(火) 22:57:26 ID:iGTqqTEK
>>301 始まり
>>306 やりたい事が出来たように見えたけど・・・・
>>310 細かい部分がよくわからないの(ハァト
>>321 その上やりたい事も出来てなかった♪
これが今の経過です。
なんでtrim利かんのだろう、
それ以前にexplodeで分けた時になんで半角も一緒についてくるのでしょうか。
328 :
nobodyさん :2009/09/01(火) 22:58:33 ID:iGTqqTEK
半角も一緒についてくるのでしょうか。 ↓ 半角スペースも一緒についてくるのでしょうか。
329 :
nobodyさん :2009/09/01(火) 23:10:31 ID:iGTqqTEK
いや、間違えたわ、自己解決しました。
331 :
nobodyさん :2009/09/01(火) 23:39:58 ID:iGTqqTEK
そもそもexplodeでスペースで分割した時 配列要素に半角スペースは入っておらず echo出力した時のタグがスペース空けてただけだった。 そして満を持してforでキーワードの個数分ログを探索ループして キーワードの個数分ヒットカウントある時だけ ある動作をすると言う事をしてるんだけど ログに「あああ いいい ううう」と言うものを用意しても mb_ereg_matchで「あああ」しかヒットカウントに+されないや。 半角スペースがログに混ざってるとなんか悪さするんだろうか。
まあロジック書いてくれないと回答のしようがないよ
>>331 大体そういうときは自分のミス。
処理ごとにvar_dumpなりで値チェックして味噌
334 :
nobodyさん :2009/09/02(水) 00:22:08 ID:4qZICvzT
for($i=0; $i<$threadcount; $i++){//1スレッドに書かれている全書き込み番号を1スレッド分づつ取得 $hit = 0; $writingnumbers = explode(",", $treelog[$i]);//1スレッド分の書き込み番号を[,]を基準に分割し配列として$writingnumbersに格納 $writingnumbercount = count($writingnumbers);//1スレッド分の書き込みナンバー数をカウント for($j=0; $j<$writingnumbercount; $j++){//配列キー番号の開始番号-終了番号を設定し,書き込みナンバーを1つづ出力 $writingnumber = trim($writingnumbers[$j]);//file関数で取り出されたログには改行も含まれ,配列に変換する際空白となって不具合を起こすのでtrimで配列の先頭と終端の空白を除去し$writingnumberへ格納 for($k=0; $k<$keywordcount; $k++){//キーワードの個数分ループさせる $ddd = $writinglog[$writingnumber][6]; echo"本文:$ddd "; echo"キーワード:$keyword[$k] "; echo"ヒットカウント:$hit\n "; if(mb_ereg_match($keyword[$k],"あああ いいい ううう")){←ここであああしか$hit++;されない $hit++; } } } if($hit == $threadcount){ $hitthreadline[] = $i; } }
335 :
nobodyさん :2009/09/02(水) 00:24:08 ID:4qZICvzT
いつも通り改行制限で弾かれたので 主要部分だけあげました。 mb_ereg_matchではスペースなどは全部正規表現に置き換えないと その記号以降検索しなくなるのでしょうか?
またこいつか
ヒットカウントのechoはインクリメントした後にせんとだめだろ 今の状態で正しく動いたとしても 「あああ いいい ううう」で検索したとして ヒットカウント:0 ヒットカウント:1 ヒットカウント:2にしかならん
338 :
nobodyさん :2009/09/02(水) 07:26:13 ID:4qZICvzT
一応それは考慮してあるのですが 現状0,1,1にしかならんのですよね。 ちょっと色々試すために即席出力関数入れてて ややこしくなってますがすいません。 昨日寝る前に調べたら半角スペースは関係ないぽい・・・・ mb_ereg_matchは先頭からの要素からしか調べないとか? 他の検索関数に分の最後尾まで調べるとか言うのあるけれど それは日本語には対応してないそうだし・・・・・ 難しいね検索系は。
ID:4qZICvzTは回答もらったら態度でかくなるので注意
340 :
nobodyさん :2009/09/02(水) 09:35:24 ID:niMKmgqW
【OS名】Windows Vista
【PC名】TOSHIBA Satellite L505-S5971
【CPU名】Intel Core2 Duo T6400 ←注意: 64ビットです
【PHPのバージョン】php-5.3.0-nts-Win32-VC6-x86.msi ←注意: 32ビットです;Non-Thread-Safeです
【連携ソフトウェア】mysql-5.1.37-winx64.msi
【質問内容】
拡張子.phpが認識されていません。
FAQにApacheの設定を見直せとありますが
phpのインストールがうまくいったのかどうかさえ分かりません。
http://y-kit.jp/saba/xp/phpsetup.htm#phpini を見ながら、なるべく近くなるように設定してたんですが
やはり、php.iniの設定はphp4.XXXと出てる時点でかなり違うことに気付きました。
そもそも、Vistaの64ビットでphpは使えるんでしょうか???
もし使えるのであれば、php-5.3.0-nts-Win32-VC6-x86.msi用のphp.iniの変更点を教えていただけませんか?
もう一週間もこの設定だけで悩んでます。どうかお願いします。
なんで64ビットOSで32ビットOS用PHP使ってんの?
343 :
nobodyさん :2009/09/02(水) 10:30:52 ID:4qZICvzT
色々アドバイスを貰っているのに自己解決と言えるんだろうか…
まぁID:4qZICvzTは
>>343 みたいな態度を取るから絡まない方が良いかもしれんな
ID:4qZICvzT 自己解決できるならここ見なくていいしこなくていいよ
>>340 WOW64で32ビットアプリケーションをサポートしていると言ってるから動くでしょうね
というかそのサイトの情報は古すぎ
まずはPHP単体で動く事を確認する
C:\path_to\PHP\php.ini-development を php.ini にリネームして以下の行を書き換えて
書き換え前: ; extension_dir = "ext"
書き換え後: extension_dir = "C:\path_to\PHP\ext"
使う拡張に応じて ;extension=php_mysqli.dll などから行頭のセミコロンをはずすしたら
コマンドラインから C:\path_to\PHP\php -v を実行して確認する
次は C:\path_to\Apache2.2\conf\httpd.conf の末尾に以下の3行を追記
LoadModule php5_module "C:\path_to\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPINIDir "C:\path_to\PHP"
これでApacheが起動できたらペチパーの完成
349 :
nobodyさん :2009/09/02(水) 13:43:04 ID:3YDni9fh
MD5ってどのサーバでやっても同じ結果になりますよね? 下記のコードをAというサーバでやってもBというサーバでやってもCというサーバでやっても同じだと思うんですが 同僚から違うにきまってるじゃんとか言われまして、もしかして俺が間違ってるのかと心配してるんですがどうでしょうか? str = "1234567890"; var_dump(md5($str));
そう変わらない。そいつにはRFC 1321を読ませておけ
>>349 [349] 攻撃:14 素早さ:12 防御:74 命中:71 運:78 HP:189
[同僚] 攻撃:50 素早さ:11 防御:68 命中:33 運:98 HP:132
349 vs 同僚 戦闘開始!!
[349]の攻撃 HIT [同僚]は1のダメージを受けた。
[同僚]の攻撃 HIT [349]は32のダメージを受けた。
[349]の攻撃 HIT [同僚]は1のダメージを受けた。
[同僚]の攻撃 HIT [349]は22のダメージを受けた。
[349]の攻撃 HIT [同僚]は16のダメージを受けた。
[同僚]の攻撃 HIT [349]は1のダメージを受けた。
[349]の攻撃 HIT [同僚]は1のダメージを受けた。
[同僚]の攻撃 HIT [349]は61のダメージを受けた。
[349]の攻撃 HIT [同僚]は1のダメージを受けた。
[同僚]の攻撃 HIT [349]は1のダメージを受けた。
[349]の攻撃 HIT [同僚]は1のダメージを受けた。
[同僚]の攻撃 HIT [349]は1のダメージを受けた。
[349]の攻撃 HIT [同僚]は1のダメージを受けた。
[同僚]の攻撃 HIT [349]は70のダメージを受けた。
[349]の攻撃 HIT [同僚]は28のダメージを受けた。
[同僚]の攻撃 HIT [349]は1のダメージを受けた。
[同僚]が[349]を倒しました(ラウンド数:8)。
魔法のMD5 - MD5バトル
http://www.newspace21.com/mix/btl.php
353 :
349 :2009/09/02(水) 14:08:15 ID:3YDni9fh
354 :
nobodyさん :2009/09/02(水) 14:10:03 ID:4qZICvzT
>>344 多分マジでまともなアドバイス2つぐらいしかないよ。
ログ読んでみ。
アドバイスもらったのは丁寧に返してるし。
きめえ
356 :
nobodyさん :2009/09/02(水) 14:19:37 ID:BwSO72Ni
simplexmlに 「テキストノードと子ノードを両方含むノード」を 扱わせると子ノードが見えなくなるんですが、 扱える方法は有りますか? <node>aaa<node2>bbb<node3>ccc</node3>ddd</node2>eee</node> ↑これをprint_rすると SimpleXMLElement Object ( [node] => aaaeee ←node2以降が見えない )
可逆性回帰でぐぐれカス
なんだこいつ、態度悪いぞ
それ間違ってるよ
362 :
356 :2009/09/02(水) 15:31:15 ID:BwSO72Ni
>>360 >SimpleXMLElementはエレメントノード以外は適当に省いてるので必要ならDOMを使う
膝ポンです
ありがとうございました。
あと357-359(と361)の暇人は放置してました。
悪しからず。
膝ポンWW
膝ポンが流行る予感がするお・・・
>>349 誰も言ってなかったから言うけど
文字コードによって違うよ
UTF-16(BOM付き) "abc" => 041f56792e10fb1958268773add82ab7
UTF-16(BOM無し). "abc" => e3b3a59ebab52ba29d94d94432727ebe
UTF-8 "abc" => 5ff832d9bca8241d653279756f3ccd11
Shift_JIS "abc" => 5ff832d9bca8241d653279756f3ccd11
JIS "abc" => 5ff832d9bca8241d653279756f3ccd11
366 :
nobodyさん :2009/09/02(水) 18:30:09 ID:SiHno5AU
>>347 ありがとうございます。
>まずはPHP単体で動く事を確認する
C:\Program Files (x86)\PHP>php -v
PHP 5.3.0 (cli) (built: Jun 29 2009 21:20:23)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
これはOKですか?
>次は C:\path_to\Apache2.2\conf\httpd.conf の末尾に以下の3行を追記
…ということなので、path_toの部分は自分なりに変えて追記してみました:
LoadModule php5_module "C:\Program Files (x86)\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPINIDir "C:\Program Files (x86)\PHP"
…すると、次のようなエラーが出ます:
httpd.exe: Syntax error on line 484 of C:/Program Files (x86)/Apache Software Fo
undation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files (x86)/PHP/php5a
pache2_2.dll into server: The specified module could not be found.
Note the errors or messages above, and press the <ESC> key to exit.
もちろん、php5apache2_2.dllというファイルは存在しません。
続く
367 :
340 :2009/09/02(水) 18:31:31 ID:SiHno5AU
続き それでいろいろ検索して以下のように変えてみました: <IfModule mod_php5.c> LoadModule php5_module "C:\Program Files (x86)\PHP\php5apache2_2.dll" AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps PHPINIDir "C:\Program Files (x86)\PHP" </IfModule> しかし、また次のようなエラーが出ます: httpd.exe: Could not reliably determine the server's fully qualified domain name , using 192.168.11.17 for ServerName (OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs Note the errors or messages above, and press the <ESC> key to exit. どうすればいいのでしょうか?どうかお願いします。
よめっつってんだろカス
>>365 文字列リテラルのバイナリ表現変えたら変わって当然
そして質問の本質はMD5の結果が環境に依存するかどうか
だから誰も言わない
>>365 安心しろ俺は知らなかったからw
入力が違うんだから当然か
バイナリ単位で例を出せば良かったのに
373 :
340 :2009/09/03(木) 01:14:02 ID:p6GA5kHw
>>368-369 当然読みましたが、書かれている内容が全然分かりません。
特にタイトルが「64ビット版PHPを諦める」となっているのに
最終的な状況では
>・Apacheは64bit版
>・PHPは(32bit版をIISで、)64bit版をApacheで使う設定
と、まるで結局両方とも64bit版を使っているような状況。
解説をお願いします。
374 :
nobodyさん :2009/09/03(木) 05:13:12 ID:27KDtrFX
初心者の人はまずはこれを実行してみて <?php $a="豁サ縺ュ";$b="繧ッ繧ス繧ャ繧ュ";$c="繧・→繧・;$d="繝懊こ"; echo'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><center><br><br>'; for($i=1;$i<=5250000;$i++){ echo $a.$b.$a.$c; if(eregi(0,$i)){echo"<br><font size=\"32\" color=\"red\">".$d."</font><br>"; } } ?>
なぜeregi
【OS名】centOS5 【PHPのバージョン】php5.1 【連携ソフトウェア】postgresql 【質問内容】 PC用のphpサイトをutf-8で作って、 携帯用のサイトはshift_jisで作って同じサーバに置いていますが、 PCから携帯サイトにアクセスすると、必ずutf-8で解釈して文字化けしてしまいます。 ブラウザのメニューで文字エンコードをshift-jisに戻すと直りますが、毎回こうなるのでわずらわしいです。 一発でshift_jisで表示するにはどこをどう設定すればいいのでしょうか?
まじでくだらねぇ質問だわそれは しかもID出してないし ちょっと考えればわかるだろ
378 :
376 :2009/09/03(木) 09:38:17 ID:1V1X7d3I
>>377 すみません。
色々調べたけどわからないのです。
ブラウザに出力される部分だけでいいからソース貼ったら俺がアドバイスしてあげようじゃないか
>>380 それくらいしか思いつかない
あとは保存する時の設定がごっちゃになってるかくらいか
てか
>>374 を借りるが
<?php
$pub=$_GET['pub'];
$a="豁サ縺ュ";$b="繧ッ繧ス繧ャ繧ュ";$c="繧・→繧・";$d="繝懊こ";
if($pub==='pc'){
echo'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><center><br><br>';
for($i=1;$i<=30;$i++){
echo $a.$b.$a.$c;
if(eregi(0,$i)){echo"<br><font size=\"32\" color=\"red\">".$d."</font><br>";}}
}elseif($pub==='ph'){
echo'<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><center><br><br>';
for($i=1;$i<=30;$i++){
echo $a.$b.$a.$c;
if(eregi(0,$i)){echo"<br><font size=\"32\" color=\"red\">".$d."</font><br>";}}
}
?>
index.php?pub=pc
index.php?pub=ph
でちゃんと表示できるかやってみ
レベル低すぎ、氏ね
383 :
340 :2009/09/03(木) 09:59:49 ID:p6GA5kHw
今日も大事件だったな ふぅ、俺は疲れたからもう炭酸ジュース買ってこなくては 炭酸がなくてはなにもできないからな これにて一件落着
いや、あぱっちいじんのはめんどくさいよ でも簡単なんだよ だから自分で調べてできないならやらないほうがいいよ
386 :
340 :2009/09/03(木) 10:11:49 ID:p6GA5kHw
>>385 だから自分で調べてやってるじゃないですか
>>366-367 も自分で修正を加えてます
ただ、Vistaでのインストールは例が少ないうえに
記述が曖昧なのでここで質問しているんです
こういう質問も答えられないならなんのためのスレですか?
VistaがだめならXPにすればいいじゃない はい解決
388 :
376 :2009/09/03(木) 10:16:12 ID:1V1X7d3I
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>タイトル</TITLE> </HEAD> 文字化けするページはこんな感じです。 TeraPadでSJISで保存してアップしてます。 よろしくお願いします。
>>388 普通はhtmlとか書かないよ適当でいーんだよそこらへんは
あとどーゆー状況でサーバーに保存されてるかとかわかんないと答えるのは難しい
1枚で全部やってんのかそれぞれ用意してんのかとか
あとサーバーはあぱっちしかしらないんだ俺は
echo'<head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"></head>';echo'てsつお';
もしくはhtmlをtxtにでも保存して$test=file_get_contents($test.txt);echo$test;とでもして表示されんのかUTF-8なのか
たぶん解決
間違いがあったけどまぁいいや 最終的にUTFで表示されるようなら内容自体をUTFにエンコしてしまえばいい
>>388 文字を出力する前にヘッダを出力。
header("Content-Type: text/html;charset=Shift_JIS");
392 :
376 :2009/09/03(木) 10:43:15 ID:1V1X7d3I
>>391 うまくいきました!ありがとうございます。
phpでもヘッダーを出力しないとダメなんですね・・・・。
その前に呼び出し不可にした時に動かなくなるからhtmlはやめたほうがいい
394 :
340 :2009/09/03(木) 10:53:08 ID:???
>>387 糞の役にも立たないレス、ありがとうございました
395 :
347 :2009/09/03(木) 10:53:21 ID:???
>>366 単体まではok
> もちろん、php5apache2_2.dllというファイルは存在しません。
じゃあ動かないよw
ダウンロードしたパッケージに含まれてなかったかい
いいって事よ
WindowsにApacheってセキュリティ的にどうなの? Windowsをサーバーにしちゃうのってすごくもったいなくない?
>>392 default_charsetの指定がShift_JISであればちゃんと出力されるはず。
default_charsetと異なる文字コードで出力する場合は、当然ながら自分で書かないといけない。
>>392 apacheの設定いじってないなら
AddDefaultCharset UTF-8
ってなってるからだと思うよ。
PHPでcharsetを明示的に指定すれば問題ないけど。
400 :
376 :2009/09/03(木) 11:16:20 ID:1V1X7d3I
>>398 >>399 基本がUTF-8のサイトなんで、デフォルトはいじってないので、多分そのへんはUTF-8になってると思います。
逆にそこをShift_JISにしてしまうと、今度はUTF-8のページが化けちゃいそうなんでいじれなかったです。
携帯ならメーカー別に出力するべきだと思うんだけどなあ
>>376 apache絡みだから細かくは書かんが
AddDefaultCharset UTF-8 が書いてあるとapacheがヘッダとして勝手に追加する
ブラウザ側での優先度がヘッダ→メタだから現象が出るわけだな
コメントアウトにしてメタで明示すれば解決だと思ったのだが…
403 :
340 :2009/09/03(木) 11:50:49 ID:p6GA5kHw
>>395 ありがとうございます。やはりそれでは動きませんか。
php5apache2_2.dllは.msiのインストーラーには含まれていませんでした。
そこで.zipのを解凍してみましたところ、php5apache.dll ならありました(サイズは33KBですよね?)。
php5apache2_2.dllに名前を変えてapacheをスタートしましたが:
httpd.exe: Syntax error on line 484 of C:/Program Files (x86)/Apache Software Fo
undation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files (x86)/PHP/php5a
pache2_2.dll into server: The specified module could not be found.
Note the errors or messages above, and press the <ESC> key to exit. 20...
…のように、またもや同じエラーが出てしまいました
(ファイル名を変更せずにhttpd.confの内容の方を php5apache.dll にしても同じ結果です)。
モジュールが見つからない、と言われましても、ちゃんと指定されたフォルダの下にあるのですが…。
まず、php5apache2_2.dllのサイズの確認をお願いします。
それが合っているとしたら、後はどうすればよいでしょうか?
404 :
376 :2009/09/03(木) 11:56:53 ID:1V1X7d3I
>>401 そこまで高度なサイトじゃないんで、
とりあえずSJISで表示できればOKなんです。
>>402 多分サーバ設定が優先されてるのはわかってたんですが、
UTF-8,SJIS両対応にする設定がわからなかったので質問させていただきました。
apacheをコメントアウトしてれば、メタ情報で振り分けが効いたんですか。
PHPでヘッダが出せるのは知りませんでした。
漢字を含む語句をmb_ereg_matchで抽出しようとしても反応しません、 漢字を含む文章の時は何か他にすべき処理があるのでしょうか? <? if(mb_ereg_match("検索したいです","検索"){ $result="見つかりました"; } echo"$result"; ?>
そんな簡単に検索エンジンが作れると思って? あなたの様な単純な思考の方はインタプリタに向いていません;; 即刻お帰りになって!
今日はじめてきましたよ ちなみに検索すんなら配列+ループしないと無理
409 :
nobodyさん :2009/09/03(木) 12:11:32 ID:XowNo4j0
検索エンジンを作りたいと言うよりも 該当語句を拒絶したいと思い上の例を出しました。 これでは厳しいのでしょうか?
どこから何のコマンドでもってくるか知らないけど除外するにも ループしないとそもそも取得ができないと思うよ
411 :
nobodyさん :2009/09/03(木) 12:16:21 ID:XowNo4j0
すいません、私の勘違いで漢字でも反応しました、失礼しました。
そりゃ反応するだろうよ! だがなその感じが幾多の文字の中に埋もれていた時 果たしてそれを見つけることができるのか!否、できるはずがない なぜなら、足りないからだ お前にはインタプリタを愛する気持ちが足りないからだ そんなことではろくなもんを作れんぞこのあまちょろめ
413 :
nobodyさん :2009/09/03(木) 12:27:19 ID:XowNo4j0
>>410 ややこしい書き方しましたが
一応拒絶文字配列、ループなどは全部作っておりまして
そちらは全てうまく動いておりました。
pregでチェックする変数が改造前のもののままで
まったく関係ないログに繋がっており、
そもそも調べているログ自体に漢字が含まれてないだけでした。
それをpregなどで感じだと反応しないと解釈して
上の簡略化した例題を出しただけでした。
失礼しました。
415 :
347 :2009/09/03(木) 12:30:29 ID:???
>>414 おまえが気持ち悪いデブだわ
もう死んでしまえ
417 :
nobodyさん :2009/09/03(木) 12:37:20 ID:1tYhY7eE
みんなPHPをどう呼んでる? 無難にポフプ?ポフポ?フォプ?
>>417 うちの会社では、
PHPのことは「ピー君」
Perlのことは「パー君」
って呼んでるよ。
420 :
340 :2009/09/03(木) 13:36:49 ID:p6GA5kHw
>>415 ありがとうございます!
やっとApacheがスタートするようになりました!
test.phpの<?php phpinfo(); ?>もちゃんと表示されて
ほっとしているところです。
大変ありがとうございました!m(__)m ハハァー
422 :
sage :2009/09/03(木) 15:13:15 ID:???
$upload = @move_uploaded_file( $_FILES["test_zip"]["tmp_name"], $updir.$file); 問題なければ$uploadにはtrueが入りますが、これは送れたらとにかくtrueという事でしょうか? それともネットワークの問題が発生した場合はリトライや再送が行われてちゃんと送信されていることを確認したからtrueという事でいいんでしょうか? どちらでしょう?
つスレタイ
スレタイ見ましたけど何か問題でもありますか?
うん
何が問題か書いていただけませんか? それともただの煽りのつもりでしたら止めていただきたい
>>427 何で命令されないといけないんですか?
人にものを頼むときはまずあなたが先にするんじゃないでしょうか?
お前が人にものを訊ねてんじゃん
さっきからケンカ腰ですけど何が気に入らないんですか?
IDを出せ、の意味すら分からないんじゃないのかな。 sageないで質問しる。
ID出す出さないの話でここまでレス消費できるあなた方回答者のレベルが伺えます
よっぽのこと「下らねぇレスはここに書き込みやがれ」にスレタイ変えたらいかがですか?
>>422 あーはいはいっ
>>422 よりレベルが低いPHPerが集まっていますので
貴方の高レベルな質問に答えられる人が居ないのかもしれません
どうぞ高レベルな質問に答えてもらえそうなスレッドへの移動をお願いします
さっきからケンカ腰ですけど何が気に入らないんですか?
439 :
422 :2009/09/03(木) 16:07:04 ID:EVSHm/Fb
本物の422です。 sageてしまいました申し訳ないです。 どなたかご回答いただけると幸いです。 >>偽物様 学校はじまってますけど大丈夫ですか?
| ̄``''- 、 | `゙''ー- 、 ________ | ,. -‐ ''´ ̄ ̄`ヽ、_ / |, - '´ ̄ `ヽ、 / / `ヽ、ヽ / _/ ヽヽ/ / / / / / / ヽハ く / /! | 〃 _/__ l| | | | | | | ||ヽ \l// / | /|'´ ∧ || | |ー、|| | | l | ヽ /ハ/ | | ヽ/ ヽ | ヽ | || /|ヽ/! |/ | ヽ / | ||ヽ { ,r===、 \| _!V |// // .! | | || |l |ヽ!'´ ̄`゙ , ==ミ、 /イ川 |─┘ | ハ|| || | """ ┌---┐ ` / // | V !ヽ ト! ヽ、 | ! / //| / ヽ! \ハ` 、 ヽ、__ノ ,.イ/ // | / ┌/)/)/)/)/)/)/)/)/)/)lー/ ` ー‐┬ '´ レ//l/ |/ |(/(/(/(/(/(/(/(/(/(/│|| |\ 〃 r'´ ̄ヽ. | | ト / \ /  ̄`ア | | | ⌒/ 入 〉  ̄二) 知ってるが | | | / // ヽ 〈! ,. -' | | ヽ∠-----', '´ ', | \| | .お前の態度が | |<二Z二 ̄ / ', | | | _r'---| [ ``ヽ、 ', | | | 気に入らない >-、__ [ ヽ ! \.| l. ヽ、 [ ヽ | ヽ| \ r' ヽ、 | これだろ!
>>439 マニュアルによると
>この関数は、filename で指定されたファイルが (PHP の HTTP POST アップロード機構により
>アップロードされたという意味で) 有効なアップロードファイルであるかどうかを確認します。
アップロード済みのファイルとhttpリクエストの内容を比較して、正しいかどうか判定するんだと思う。
リトライとか再送とかは意味がない。
>>422 答えもらえなくなることを恐れて偽者を作って工作乙
>>444 一度叩く事によってもう叩かれないようにする工作乙
446 :
422 :2009/09/03(木) 17:01:47 ID:EVSHm/Fb
>>442-443 ありがとうございます。
ということはtrueが返ってきてればよさそうですね。
一応ハッシュとサイズでも相互に確認はしてますがmove_uploaded_fileの挙動が不明だったので質問させていただきました。
447 :
nobodyさん :2009/09/03(木) 17:54:37 ID:7yrnhTIk
おいクズどもMD5のソースコードを教えろや 知らないなら今すぐ探して来い
448 :
nobodyさん :2009/09/03(木) 18:06:30 ID:1tYhY7eE
>>448 何を諦めるんだバカ
俺が知りたいのは文字を暗号化するそのメカニズムだボケが
MD5は暗号化なんかしないよ。だって復号できないんだから。 まあただ単に「php md5」でぐぐれば、方法はすぐ見つかると思うよ。
453 :
nobodyさん :2009/09/03(木) 18:33:42 ID:1V1X7d3I
このスレが好きです。 でもゾウさんの方がもっと好きです!!
にら
md5 アルゴリズムでググレ
すばらしい釣り師がいるな、ここは。
457 :
nobodyさん :2009/09/03(木) 18:41:09 ID:7yrnhTIk
本当にお前らって使えないのな pythonでMD5のみのソースコード見つけたからPHPに移植するから じゃあなカス共
>>450 ここで聞くようなクズには無理だ、諦めろバカ
移植とかオナニーだな ネイティブでmd5()とかあるのに
>>460 エスパー伊東並みのバカだな
改良して使うに決まってんだろkzg
改良して違う値が出るようにするんだねw
改良wwwwww ネタじゃないのならおそろしい
465 :
nobodyさん :2009/09/03(木) 19:23:27 ID:y6ia/Wj+
MD5なんて辞書攻撃に弱杉て使えるか! 俺が改良してやるんだから感謝しろや!
アルゴリズム自体決まってるんだから、強度の改良は有り得ないな。 MD5の強度に不満があるなら、他のアルゴリズムのものを採用すればいいだけ。 PHP5でデフォだけでも、 md2 md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 こんだけ選べるんだから好きなの使いなはれ。
改良って何を改良するんだよw
研究者でもないのにmd6とか新しいアルゴリズムでも作るんですかね^^;
お前ら電波と遊びすぎだろ。 やけにスレが伸びてると思ったら...。
推測されにくくするんだったら、ASCIIの変換暗号表2つ作って、 MD5化する前とした後にそれ通せばいいじゃんw
暗号表を読まれたらおしまいじゃね?
文字の出現頻度が偏らない1対多の変換表沢山作って、 暗号毎に1枚づつ廃棄したらどうだ? ア、アレ?
廃棄したら毎回暗号化した値が変わっちゃうジャン
474 :
nobodyさん :2009/09/03(木) 22:08:25 ID:Txf1NBdL
MySQLでDB登録してあるキ-ワ-ド項目をPHPでキ-ワ-ド検索させているのですが、カタカナの"メ"や"ー"を入力すると正常に動作しません。 今のところ確認した範囲では他の文字(漢字、英数字共に)では問題なさそうです。 特別な処理が必要なのでしょうか? 勉強しはじめて間もない為、ご教授お願い致します。
475 :
nobodyさん :2009/09/03(木) 22:11:13 ID:x9Ggy8Bu
PHPでは日本語をシングルクオーテーションで囲んでも不具合出る文字とかありませんか? イマイチ安心して使えない
Shift-JIS ?
むしろ今時そんな原始的な問題を抱えてる言語って…
ちゃんとエスケープするとか、文字エンコーディングを正しく扱うとか、必要もないのに SJISで挑戦しようとか思わなければまず問題にならんだろ。
>>475 perlとは違いますからご安心ください
>>474 MySQL/PHPともにUTF-8でやってもそうなるか確認してみてくれ
今日は会社を出てしまったので、明日確認してみます。皆さん、ありがとう御座いました。
482 :
nobodyさん :2009/09/03(木) 23:39:53 ID:bL4gxxos
>>474 Mysqlの構文がおかしいぞってエラーが出てるんだったら,mysql_real_escape_stringが足りないと推理してみる
公式はインストーラーだけしかおいてないでしょ
ソースからビルドしろって事じゃないの?
switch($a){ case 1: 処理1 break; case2 処理2 break; default: 処理1 break; } のようにcase と defaultで処理がかぶるのですが、 case1の処理1を、処理1を書くことなく、defaultでも行う方法はありますでしょうか? switch前に処理1を関数でっていうのも考えたのですが、 あくまでcase 1〜break;で書かれている処理というか、 defaultにきたらcase 1に飛ばす、みたいな動かし方をしたいです。 よろしくおねがいします。
488 :
487 :2009/09/04(金) 05:16:54 ID:2HFtgyVh
id 訂正 switch($a){ case 1: 処理1 break; case 2: 処理2 break; default: 処理1 break; }
>>487 switch($a){
case2
処理2
break;
case 1:
default:
処理1
break;
}
490 :
nobodyさん :2009/09/04(金) 05:39:30 ID:2HFtgyVh
>>489 見事できました。
ありがとうございました。
>>490 あえてcase 1を書く理由がわからないんだけど。
あえて書きたいときもあるだろ
case 1: <case1だけの処理> default: <処理1> break; } とかなら判るが。 どういう値をとりうるか、後でわかりやすいようにということかな? あるいは将来の拡張のためにか。
case 1を書かなくても、case2以外の値は全てdefaultに行ってしまうんだから case 1はいらないとは思うけど、オレもあえて書くことはあるなw
495 :
nobodyさん :2009/09/04(金) 11:33:26 ID:2HFtgyVh
>>491 ,493
>どういう値をとりうるか、後でわかりやすいようにということかな?
>あるいは将来の拡張のためにか。
はい、そういうことです、
今回やりたかったswitchの中身の実際はこんな感じで、
case "top←実際はもっと長ったらしい名前":
トップページのhtmlを表示
break;
case "list":
リストページのhtmlを表示
break;
・
・
( で、http〜〜/top.phpみたいなurlにアクセスがあったら、
引数でtopの部分だけを送るようにRewriteRuleで設定して
getしたそれをswitchで振り分けて、caseに該当しなかったもの(url)は
全てトップページを表示したいなぁ、と思っていたのですが )
新たに拡張されるtopとは別のページが主ページになるかもとも思い、
case "top〜〜"というより、top〜〜という名前を残しておこうとあえて書くことにした、
ということです
JEPGの圧縮率の取得って出来るのでしょうか? 90%の画質で保存した物を読み取るとき90%と読み取れますか?
>>496 無理です
ヘッダーにそのような情報はかかれてません
>>497 やっぱり無理ですかorz
ファイルサイズが同一になる圧縮率を地道に求めていくしかないですね・・・
>>500 getID3()ライブラリ使えばこんな感じでファイル情報が取れる
filesize:132606,
avdataoffset:0,
avdataend:132606,
fileformat:"jpg",
video:{
dataformat:"jpg",
lossless:false,
bits_per_sample:24,
pixel_aspect_ratio:1,
resolution_x:650,
resolution_y:650,
compression_ratio:0.1046201183432
},
とれてもそこのどこに圧縮率が書いてるんだよw
えっ
compression_ratio:0.1046201183432
これってどうやって圧縮率とってんの? ヘッダーにはかかれてないよね
>>502 おお!ありがとうございます!
でも compression_ratioの見方がわからない・・・
>compression_ratioの見方がわからない・・・ 0.104....てことはおよそ10%か、もしくは1-0.104....でおよそ90%かだろ。 そして常識的に考えれば、10%ってのは無いだろ。
>>506 grepして探ってみたら ファイルサイズ / 縦x横xフレームレート みたいなことをしていた
計算してるのか でもそんな単純な計算なんだろうか・・・
少なくともjpegの圧縮率では無いとおもふ
というか作成時にヘッダに書かれていない以上、出せる値は元画像が24bitビットマップと仮定 した場合のサイズから出した圧縮率しかないので参考値として計算してるんじゃないのかそれ。 というのがぐぐって出した結論
そもそもなぜJpeg圧縮率が必要なのか?
514 :
nobodyさん :2009/09/04(金) 23:29:45 ID:SMuY0+hB
JavaScriptのescape関数のようなものは用意されてないのでしょうか? 日本語をエスケープしたいです。
ない ただし移植した関数を作ってくれた人ならいるからググレば1ページ目に答えが載ってます
php escape って検索かけた方が早くない?
517 :
nobodyさん :2009/09/04(金) 23:36:49 ID:SMuY0+hB
検索したところ解決いたしました。 お付き合いいただきありがとうございました。
urlencode
519 :
514 :2009/09/04(金) 23:41:07 ID:SMuY0+hB
ありがとうございます。本当に助かりました。
>>518 soretigaimasuyowwwwwwwww
521 :
nobodyさん :2009/09/05(土) 02:46:25 ID:+RN5RQm0
win版のPHP5.2.10に含まれてるphp_mysql.dllはMySQL5.1使えない不具合は修正されてますか?
PHPでファイルアップローダーにアップすることは出来るでしょうか?
$url = '
http://upload.example.com/up/ ';
$headers = array(
'Accept-Language: ja,en-us;q=0.7,en;q=0.3',
'Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7',
'Accept-Encoding: gzip',
'Referer: '.$url
);
$data = array('name' => 'Foo', 'file' => '@./foo.png');
$option = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_BINARYTRANSFER => true,
CURLOPT_FORBID_REUSE => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2',
CURLOPT_HTTPHEADER => $headers
);
curl_setopt_array($ch,$option);
echo curl_exec($ch);
curl_close($ch);
こんな感じで
525 :
nobodyさん :2009/09/05(土) 13:38:58 ID:eNHBcqFh
.htaccessで特定のファイルにアクセスできなくするというのは ---------------------------------- <Files ~ "\.(dat|log|csv)$"> deny from all </Files> ---------------------------------- このような表記で出来るようなのですが ---------------------------------- <Files ~ "^\.ht"> deny from all </Files> ---------------------------------- こちらのように.htから始まるファイルへのアクセスを拒否するという 設定と重複して表記するのはどのように書くのでしょうか。
PHP関係あんの?
copy()でfailed to open stream: HTTP request failed! が出てしまった場合再試行するような設定は出来ないでしょうか
スレタイ
>>525 誰も国籍の話なんかしてねえよ
形容詞的に朝鮮人って言ってんだ
531 :
nobodyさん :2009/09/05(土) 19:51:04 ID:2P5tyDrH
file_sakusei.phpという1.txt,2txt,3txt,4txt,5txtと5つのファイルをC:\testの中に作る処理をさせたいのですが Webサーバ(Apache)を入れずにPHPを動かすにはどうしたらいいのでしょうか? // file_sakusei.phpの中身 <?php for($i=1;$i<=5;$i++) { $filename = "C:\test/ $fp = fopen($i."txt","a"); fclose($fp); } ?>
php.exe のあるところにパスが通ってれば、 プロンプト>>php file_saksuei.php パスが通ってないなら、 プロンプト>>(php.exeのあるディレクトリ)\php file_sakusei.php でいいんじゃないの?
cd c:\php php file_sakusei.php
534 :
nobodyさん :2009/09/05(土) 20:10:40 ID:2P5tyDrH
できました ありがとうございました
535 :
nobodyさん :2009/09/05(土) 20:41:14 ID:Dg9afmXE
配列のデータを、一行に4つのリストにしようと思っています □□□□ □□□□ □□□□ って感じです 先頭が0なので、foreachのindexをチェックして折り返し(右端)のアイテムにcssを指定したいんですが if($index>0 && $index%3==0){〜〜} って感じにやっていくと、2行目の左から三番目、3行目の2番目部分で処理が適用されてしまいます どうしたらいいでしょうか? お願いします
意味が分からない
if (index % 4 == 3) だったらどうよ?
538 :
nobodyさん :2009/09/05(土) 20:56:01 ID:Dg9afmXE
>>537 いまやってみます、smartyなので記述がややこしくて…
ABCD EFG HI ってなるって事か。 数値って分かってるならforで回してもいいと思う
(index + 1) / 4 にすればいいんじゃ・・・?
/じゃなくて%だ
542 :
nobodyさん :2009/09/05(土) 21:08:03 ID:Dg9afmXE
543 :
nobodyさん :2009/09/05(土) 21:09:03 ID:Dg9afmXE
544 :
nobodyさん :2009/09/06(日) 00:54:52 ID:x5MQbfv+
全文検索フォームを設置するために ・半角・全角空白で切る ・""で囲まれたワードは、そのまま抜き出す という処理をしたいのですが、単純なようで難しいです どう書けばいいですか?
うんこ ちんこ まんこ と文章があった場合 「んこ」だけを取り出す方法はあるでしょうか?
^.んこ
うんこ ちんこ まんこ と文章があった場合 「んこ」だけを除去する方法はあるでしょうか? でした!すみまんm(__)m
後方2文字以外を取り出したいのか 単に同じ位置でかぶった文字以外を取り出したいのか 条件書け あとスレタイを声に出して読んでみろ
この前も質問しにきてた態度が急に偉くなる奴だろ 何度も同じ質問好きだねぇ
ていうかガキかよ
>>544 まずダブルクォートでかこまれた文字列を全部抽出、残り文字列に半角/全角
SPとSP以外の文字が含まれているなら半角/全角SPで再帰的に区切ってまた
抽出、と10秒ぐらいで考えてみた。
>>544 UTF-8限定な。嫌ならmb_ereg*()で考えてくれ
$query = 'foo "bar baz" ほげ "ふが ぴよ"';
preg_match_all('/"[^"]+"|[^"\pZ]+/u', $query, $matches);
var_dump(preg_replace('/\A"|"\Z/u', '', $matches[0]));
553 :
nobodyさん :2009/09/06(日) 03:51:21 ID:JiBjCO1T
「東京 神奈川」みたいにスペースで分けた複数の文字で検索かけることがありますが、 これの検索のロジックって 東京・神奈川それぞれを個別に %東京% みたいにlike検索のキーワードとして、合計2回クエリしてるんでしょうか? select * from `tbl` where `text` like %東京% select * from `tbl` where `text` like %神奈川% みたいに。 sqlスレで聞いた方が良いのかな? 良かったら教えてください、もっと効率的な方法があれば知りたいです。 PHP5.2.8 mysql5です
PHPと関係あんの?
>sqlスレで聞いた方が良いのかな? 「方が良い」どころではないな。
>>552 ありがとうございます
正規表現だけで出来たんですね
\pZなんて初めて見ました
557 :
nobodyさん :2009/09/06(日) 11:25:30 ID:PyWVOJJt
電気屋さんで買ったVista 32bitのセレロンのノートパソコン使ってます PHPをインストールしたいんですがNon Thread SafeとThread Safeのように2つのバージョンがあるのですが どっちをダウンロードしたらいいのかわかりません 鯖はApache2.0を使います どなたかご教示おねがいします
スレッドセーフにしたい時としなくてもいい時で使い分け
559 :
nobodyさん :2009/09/06(日) 11:45:50 ID:uexKxOhU
海外サーバの利用を視野に入れた場合、 開発環境でのphp.ini内のmb_output_handlerの設定は必要でしょうか?
あなたがマルチバイト文字を出力したいのか否か、じゃなかろか?
mb_output_handlerって邪道っぽい
562 :
340 :2009/09/06(日) 12:32:52 ID:???
>>557 Apache2.0を使うのであれば、
>>415 さんが書かれている通り、
php5apache2.dll
の入っている..zipを探せばよいかと思われます。
見つかったら、それに対応する.msiでインストールすると楽かもです。
ちなみに
php-5.3.0-nts-Win32-VC6-x86..zip ←Non-Thread-Safe
にはphp5apache.dllが
php-5.3.0-Win32-VC6-x86..zip ←Thread-Safe
にはphp5apache2_2.dllが
それぞれ入っていたと思います。
どれにphp5apache2.dllが入っているのかは知りません。
過去レス見てもらえば分かると思いますが、自分はズブの素人です。参考までに。
563 :
nobodyさん :2009/09/06(日) 12:40:05 ID:VrUjnvto
テスト問題のアプリを作っているんですが、1問あたり例えば5秒のタイマーをつけて 時間が来たら強制的に次の問題に移るようにしたいんですが、計測もウェブ上の表示も 両方phpで出来るんでしょうか?タイマーの表示にはjavascriptとか併用した方が いいんでしょうか?
564 :
nobodyさん :2009/09/06(日) 13:54:54 ID:n0Ptjs3v
php+ajaxを使うとき、htmlよりもxhtmlのほうがいいでしょうか?
>>563 meta使えばできるけどね
基本的にjavascriptを使わないとできない
>>564 XMLとして扱う必要がなけりゃどっちでもいい
HTML5はHTML?XHTML?こまけぇこたぁいいんだよ!がスタンス
>>562 が何を言っているのか判らない…
タクシー乗り場は何処ですか?と聞いているのに
この地域は○○と○○のタクシー会社が在るって答えているのと同じ気がする
>>567 くだらねぇ煽りをする暇があったら正してやれよ
ApacheのMPMがworkerならスレッドセーフを選ぶ。preforkならどっちでもいい
windowsってpreforkした対応してなかったっけ?
スレタイ
file_get_contentsなどでタイムアウトが起きた場合と成功した場合を分岐させることは出来るでしょうか?
スレタイ
575 :
nobodyさん :2009/09/06(日) 20:42:04 ID:Ht2Eenic
だからそれはPHPの質問なのかと。
ページランクの取り方は、特定の言語やその処理系とは関係無いわな。 と言っても、俺も興味あるけど。
578 :
nobodyさん :2009/09/06(日) 21:23:37 ID:4XhJAyEG
スレタイが「【PHP】下らねぇ質問は―」だと 【】を勝手に修飾だと思って読み飛ばしてしまうのかもしれんな 次スレから「PHPの下らねぇ」に直そうぜ
ん?
ぽにょっぽにょ だろ?wwへはは!!
誤爆
>>575 どうでもいいがIDがNetwork Information Center
Network Interface Card
585 :
nobodyさん :2009/09/07(月) 02:19:26 ID:UnJ+qEbB
そろそろ認定回答者もつくろうぜ
>>579 激しく同意だ
PHP【下らねぇ質問はID出して書き込みやがれ】 87
でもいいくらいだ
気持ちはわかるがそれがルールだから仕方ない
(2+3)*4 = 14 ということですね
(2+3)*4=5
590 :
nobodyさん :2009/09/07(月) 11:39:40 ID:/Vj1biTJ
みなさんこんにちは getimagesizeを使って画像サイズが1pxの画像を noimg.jpgに置き換えるという作業を行いたいのですが 01.jpgが配列$jpgの場合どう書けばいいのかよくわかりません $img = getimagesize("01.jpg"); if ($img[0] == 1) { $img = "noimg.jpg"; } お願いします。
配列$jpgって何?
592 :
nobodyさん :2009/09/07(月) 11:50:40 ID:/Vj1biTJ
すみません説明不足でした $jpg = array("01.jpg", "02.jpg", "03.jpg", "04.jpg", "05.jpg"); アドバイスください
>>592 $path = "ディレクトリ名";
$jpg = array(........................);
として、
foreach($jpg as $one){
$file = $path . $one;
-- ここから $fileを使って必要な処理 --
}
とすればいいんじゃないか
595 :
nobodyさん :2009/09/07(月) 17:27:55 ID:xvWNutga
move_uploaded_fileでアップロードに失敗した際にエラーを確認したいんですが echo "エラーコード".$_FILES["updatefile"]["error"]; としてエラーが出力されません。 正常な場合は0と出力されているので書き方が間違っているわけではなさそうですが エラーが出ない原因というのは何が考えられるのでしょうか?
597 :
595 :2009/09/07(月) 17:42:34 ID:xvWNutga
>>596 こんな感じです。
$judge = @move_uploaded_file( $_FILES["file"]["tmp_name"], $updir . $file);
if($judge == true) {
echo "アップロード成功";
echo "エラーコード".$_FILES["file"]["error"];
}else{
echo "アップロード失敗";
echo "エラーコード".$_FILES["file"]["error"];
}
move_uploaded_file の前の @ を外すべき
ファイルのアップロードに成功したかと アップロードファイルの移動に成功したかは別の話なんじゃ
返す値が決まってる関数に@付けるのって何がしたいのか分からない
>>597 $judge = @move_uploaded_file( $_FILES["file"]["tmp_name"], $updir . $file);
↓
if(move_uploaded_file( $_FILES["file"]["tmp_name"], $updir . $file)){
$judge = move_uploaded_file( $_FILES["file"]["tmp_name"], $updir . $file);
}else{
$judge = NULL;
}
何で同じ関数2回も呼んでるんだよ馬鹿か if($judge = move_uploaded_file( $_FILES["file"]["tmp_name"], $updir . $file)){
>>601 if($judge = move_uploaded_file( $_FILES["file"]["tmp_name"], $updir . $file)){
}else{
$judge = NULL;
}
空のブロックの意味は?
PHPでクッキーを使用して他のページへアクセスする方法はあるでしょうか?
if(isset($_COOKIE["cookie_name"])){ header('Status: 301 Moved Permanently'); header('Location: filename'); exit; }
>>603 >>601 if($judge != move_uploaded_file( $_FILES["file"]["tmp_name"], $updir . $file)){
$judge = NULL;
}
なんだそりゃw
609 :
nobodyさん :2009/09/07(月) 22:03:53 ID:QJJ0t703
index.htmlというXHTMLファイルのソース中の一部に以下のソースがあるとします
<li>
<a href="
http://localhost/index.html ">トップページ</a>
<img src="bannar.gif" />
<p>トップページへのリンクです</p>
</li>
<li>
<a href="
http://localhost/link.html ">リンクページ</a>
<img src="bannar.gif" />
<p>リンクページへのリンクです</p>
</li>
これをpreg_match_allを使って<li>〜</li>の中身を取得したいと思います
<li>〜</li>の数だけ$matchに配列として手に入れたいのですが、全部$match[0]に入ってしまいます
$file = file_get_contents("index.html");
preg_match("#<LI>.*</LI>#";,$file,$match);
echo "<pre>";
print_r($match);
echo "</pre>";
どなたかアドバイスお願いいたします
610 :
nobodyさん :2009/09/07(月) 22:05:25 ID:XKHxCSYl
612 :
nobodyさん :2009/09/07(月) 22:23:49 ID:XKHxCSYl
なるほど それじゃあミスっても何も出てこない罠
613 :
nobodyさん :2009/09/08(火) 04:06:34 ID:qSoCHGpf
横400px縦300pxの画像があります。(hoge.jpg) これを、GDを使って横600px縦400pxの画像のタテヨコ中央に重ねて配置したいです 重ねる画像は黒べたなので、hoge.jpgの周りを600*400になるまで塗りつぶす?処理と 考えてもいいかもしれません どうやったらいいんでしょうか?
css
615 :
nobodyさん :2009/09/08(火) 09:06:32 ID:VHjhEqUT
>>613 その程度なら別にGD使わなくてもimageで出来る
というかCSSで出来る
PHP+Apache+MYSQLシステムのセキュリティの話なんですが、 ユーザ認証とSSLがしっかりしていれば、SQLインジェクションとかの セキュリティのリスクは低いとみてよろしいでしょうか?
>>616 それとこれとは話が別
ユーザ認証とSSLはユーザーを守るための物
安全に承認したユーザーを100%信用してはいけない
618 :
616 :2009/09/08(火) 09:36:35 ID:???
SSL越しに使うシステムで、ユーザ管理がしっかりできており、 ユーザには悪意も過失もない、というのが前提です。
>>61 csrfで正規ログインユーザーにインジェクション用のurlをふませることもできるんじゃないかな。
621 :
616 :2009/09/08(火) 09:39:37 ID:???
すいません、更新せずに書き込んでしまいました。 あとは、PHPの問題というよりも、サーバOSやApacheのセキュリティホールを きちんと潰しているか?という話になりますかね・・・。
悪意、過失の有無でリスクがどうこうなるもんじゃない。 手作業でやるわきゃないんだから。最近じゃ、クロスサイト スクリプティングといって、ユーザーが認証住みのブラウザ の処理に割り込んで、さらに不正な要求をサーバーに投げ させるなんて攻撃もあるぞ。 SQLインジェクションへの対処方法は、正しくユーザーから 投げられたパラメータをエスケープすること。それに尽きる。 エスケープさえしっかりすれば、それがプログラム内部で、 別のスクリプト(この場合はSQL)になったときにその処理が 乗っ取られるなんてことはない。
セキュリティホールをいくら潰しても、なんちゃらインジェクション系の 対策はひたすら地道にやっていかないと駄目だってば。
>>619 これってブラウザのセキュリティパッチをこまめに適用したり、
セキュリティソフトの導入を検討するしかないのかな。
そもそも怪しいサイト見るなってのもあるけど。
結局、セッション乗っ取れる仕様が駄目ってことかな
>>624 根本的には、サイト側のつくりの問題じゃないかな。
削除や書き込み用のアドレスを直で呼び出すとエラーになるような仕掛けで回避。
>>625 csrfにはセッションのっとりは必要ないぞ。
正規ユーザー自身が攻撃を行わされるわけだから。
きちんとメンテされてるフレームワーク使えってことかー!
それをセッションの乗っ取りと表現しているのでは
>>624 今年多くの被害を出したgumblar.cnとかだと、
事前にFTPログイン情報をスパイウェアとかで抜き出しておいて、
それで一般のWEBサイトのhtml等のファイルを全書き換えして
攻撃用のjavascriptを仕込んでいた。
WEB上に被害報告が結構上がっていたけど、
その段階でもセキュリティソフトやブラウザの検知機能はほとんど未対応だった。
いつも自分がみていたサイトや有名なサイトなどが危険な状態になっているわけだから、
javascriptを切っておくか、他のサイトへの転送をはじくようにしておかないと回避は難しいかもね。
>>629 感覚的には判るんだけど、セッション乗っ取り対策がイコールCSRF対策にもなると考えてしまうとまずいだろ
対策の仕方によってはCSRFを防げないだろうし
632 :
nobodyさん :2009/09/08(火) 10:09:38 ID:VHjhEqUT
今までファイルのやりとりを自動でやってきましたがファイルのやりとりが出来なくなりました。 上の方にも出てますがmove_uploaded_fileをcronで叩いてました。 変化として以前はファイルサイズが5M程度でしたが、フィルサイズ40Mくらいになったのでそれが原因ではないかと考えております。 念のためphp.iniのupload_max_filesizeとpost_max_sizeを100Mとしましたが変化なしです。 errorコードは何故か出力されません。move_uploaded_fileの前に@はもちろんつけてません。 考えられる原因が思いつかないのでどなたかアドバイスいただけないでしょうか。
SAASに頼るのはリスクだよ、ってことか。 必ずクローズドなLANからVPN張れるやつにしろと。
>>632 WEBサーバーのエラーログには何も出ていない?
すみません、オライリーのプログラミングPHPのP183なのですが、 printf("%.2f Fは %.2f Cです")という記述があるのですが、 この%(パーセント).(ドット)2fというのは何なんでしょうか? この意味と、こういう文字の事を何と言うのか教えてください
小数点以下2桁表示
マニュアルを見ると、「型指定子」および「精度指定子」とあるね。
%から始まる文字列は、変換指定(conversion specification)。
>>638-641 ありがとうございます
printfではなく、「php %f」とかで調べていたのですが、変な関係のなさそうなのばっか出てて・・・
助かりました
ID出そうぜ。
>>632 move_upload_fileは基本的にアップロードされたファイルを保存するもので
cronで動かす理由がわからん
OSが何か解らんがLinuxだとシステムのログに何か残ってないか?
ファイルサーバのファイルを定期的に拾っていくようなcronのサンプルないですか? いや、便乗で申し訳ないのですが。
すれ違い
便乗がID出さない理由にはならないぜ ていうかシェルスクリプトでやったほうが
cron で php を動かしてってなら出来るんじゃない? php でFTP接続→全部拾ってFTP内は削除ってプログラムなら作ったことはある
>>649 まじっすか!ビンゴです。
サンプルあげてもらえると嬉しいです。
一応PHPだし。
>>650 ID
個人的にはrsync使った方が良いと思うが。
652 :
646 :2009/09/08(火) 11:36:29 ID:fcnz7pKV
おながいします。
653 :
632 :2009/09/08(火) 12:23:27 ID:VHjhEqUT
みなさんありがとうございます。
サーバーを再起動したら何故かいけるようになりました。
また受け側を別のサーバにも移植してみたんですがエラー1が出力されます。
送信側のphp.iniのupload_max_filesizeは変更してありますが、受け取り側でもそういった事が必要ですか?
今まで受け側でそういった事は必要なかったんですが。
>>645 rsyncとか追加出来ないサーバだったので仕方なくphpでやりました・・・
「何故か」って.... php.ini書き換えたら、apache(とは限らんか)再起動はお約束だと思ってたよ、俺。
>>609 量指定子に?がないので最長一致になってる
preg_match_all('#<li>.*?</li>#si', $html, $matches);
>>613 $bg = imagecreatefromjpeg('bg.jpg');
$fg = imagecreatefromjpeg('fg.jpg');
$bgx = imagesx($bg); $bgy = imagesy($bg);
$fgx = imagesx($fg); $fgy = imagesy($fg);
imagecopy($bg, $fg, ($bgx - $fgx) / 2, ($bgy - $fgy) / 2, 0, 0, $fgx, $fgy);
imagejpeg($bg, 'composited.jpg');
656 :
653 :2009/09/08(火) 12:49:05 ID:VHjhEqUT
>>654 すいません。
説明が悪かったです。
php.ini自体はもう数ヶ月前に書き換えてたんですが、なぜファイルが送信できなくなったという状態です。
それが何故か再起動をしたら送れるようになったという状態であります。
まぎらわしくて大変申し訳ない。
657 :
645 :2009/09/08(火) 14:04:37 ID:???
653>rsyncとか追加出来ないサーバだったので仕方なくphpでやりました・・・ そうではなくて なぜファイル操作関数を使わないのかと聞いていたんだ
658 :
653 :2009/09/08(火) 14:09:16 ID:VHjhEqUT
>>657 送信元がPearのHTTPRequestで送ってたので手っ取り早くmove_uploaded_fileを使ってました。
やはりファイル操作したほうがステップ少なくすみそうなんですかね。
659 :
645 :2009/09/08(火) 15:00:53 ID:???
>>653 ああっ謎が解けたよ
AとBがあって送信側のAがCronでBに送信しているって事なんだな
でBがmove_uploaded_fileで受け取っていると
660 :
653 :2009/09/08(火) 15:24:54 ID:VHjhEqUT
>>659 その通りです
わかりにくくてすいません
661 :
nobodyさん :2009/09/08(火) 17:42:22 ID:0iN1Bxbe
だれかPHPの覚える日記がかきたいからぼくのためにスレたててください
ブログでやれ
>>661 ゼロから勉強するなら、まずはWebの仕組みとHTTPからだ
とりあえず、素直な日本語を習得する方が先じゃないかな?
>>661
最近気づいたこと なんだこれ、、、同じ処理の繰り返しじゃん。
結果的にループで回してそのなかで派生させたほうがいい処理でも、 たかが24時間フルパワーで動く機械の上のコード。見易さを優先して 別処理に書いてもいいじゃないか。 何度同じこと書いても、書き込んだそいつには初めての経験なんだぜ。
ある数を4倍する処理を2ビット左シフトに変えたら早くなったでござる
>668 PHPのインタプリタってそんな糞なのか? その程度の最適化、今じゃ普通だと思ってたが
今じゃ普通ねぇ。。
671 :
nobodyさん :2009/09/09(水) 03:25:25 ID:4ZKg2POD
$mb_str = mb_strlen($token,"UTF-8"); を使って配列$tokenから2文字以上のものだけを 取り出したいのですが、一番簡単な方法教えてください
673 :
nobodyさん :2009/09/09(水) 04:00:32 ID:4ZKg2POD
>>672 $mojisu = mb_strlen($token,"UTF-8");
$filter = create_function('$record', 'return $mojisu >= 2;');
$token = array_filter($token, $filter);
間違ってるとこ教えて(;;)
えっ・・・ まず配列の文字数を数えてるとこ 次に匿名関数内で引数$recordがどこにも使われてないし$mojisuが未定義であるとこ
675 :
nobodyさん :2009/09/09(水) 04:31:44 ID:4ZKg2POD
なおして
いくらで
とりあえずスタンダードにforeach文で書いてみろ
678 :
nobodyさん :2009/09/09(水) 04:55:26 ID:4ZKg2POD
$mb_str = mb_strlen($token,"UTF-8"); を使って(使わなくてもいいです) 配列$tokenから2文字以上のものだけを 取り出したいのですが、一番簡単な方法教えてください array_filterを使うと出来るらしいです 誰かお願いします
680 :
nobodyさん :2009/09/09(水) 07:59:24 ID:sxYwMICy
可逆性回帰でぐぐれカス
>>680 一番簡単なのだろ? お前は回答もせず下らんこといってこのスレに粘着してるのやめたらどうだ?
foreach ( $token as $eachString) {
if ( mb_strlen($eachString,"UTF-8")>=2){
echo $eachString;
}
}
>>681 うるせーよ。俺様が教育してやってんだろうが。
じゃますんな。
>>669 *演算子は、Integerの場合桁あふれをチェックする仕様、
それをシフトはしないってのも差が出る理由だろう。
いずれにしろwebappで、そこがボトルネックになることはまず無かろう。
ただ桁あふれチェックするのはいいけど、doubleに自動変換するのはちょっと...
GMP使えというのはその通りなんだが。でも気軽にuint32使いたいときもある。
>>669 インタプリタでシフトが早いかチェックしながら処理するのは遅くなる気がする。
>>679 質問に対して「もっと勉強してください」が答えか?
馬鹿かお前は お前は馬鹿か
コードを書けよコードを
使えそうなら採用してやっから
686 :
nobodyさん :2009/09/09(水) 13:05:19 ID:bpLyKDux
関数にハッシュのキーと要素を一緒に渡したいのですが func( array('key'=>'value','key2'=>'value2')) のarrayを省略した簡単な書き方ってできないもんでしょうか。 func( ('key'=>'value','key2'=>'value2')) func( 'key'=>'value','key2'=>'value2') だとエラーになりますよね。やっぱり無理でしょうか。
>>685 お前のようなやつはホント使えん。
$token = array("a","ab","abc","abcd");
print_r ( array_filter( $token , "filter" ));
function filter($var) {return mb_strlen($var,"UTF-8")>=2;}
mb関数の話でなんで例が1バイト文字なの
692 :
nobodyさん :2009/09/09(水) 13:58:25 ID:mRV35Fee
下らない質問かもしれませんが、お願いします。 javascript で書かれているページを別システムに移行中です。 HTMLの殆どが、div の innerHTML にahahで渡ってきた値を 入れる、という処理になっているので、HTMLを読んでも、結果 的なHTMLが入手できません。 FireBugでは、変更後のHTMLが見れますが、テキストとして コピーできません。 もしかしたらFireBugでもできるかもしれませんが、Javascript で編集されたあとのHTML一切をがさっと持ってくる方法はない でしょうか?
>>692 php関係ねー
firebugで普通にコピーできたぞ。
左側のHTMLが階層表示されているところで、
右クリック->HTMLをコピー
で。
phpのくだらない質問スレにしろよ
すみません、PHPスレということを忘れてました(><) でも、ご回答、本当にありがとうございます。助かりました。 早速試したところ、Script適用後のHTMLが入手できました。 ScriptでHTML生成しているのを、PHPに直そうと思ってまして。 もう少しいろいろ試したら、自分でもできたかもしれないとも 思いました。すんまそん。
696 :
nobodyさん :2009/09/09(水) 14:54:10 ID:w2Rhdd4q
phpで作られたwikiでpukiwikiとdokuwiki以外にありましたら教えてください
>>696 "wiki clone" php
でググるとたくさん出てくるよ。
あとは、sourceforgeとかgoogle codeで言語を指定して、wiki cloneとかなんとかで検索。
698 :
nobodyさん :2009/09/09(水) 15:18:29 ID:P9VIi2+Q
jump.php/url という形式のURLの場合に、
jump.phpにて、url 部分を引数として取得するには、
どのようにコーディングすれば良いのでしょうか?
具体的には、
http://exsample.com/jump.php/ http://yahoo.com とした時に、
jump.php にて、
http://yahoo.com を取得したいのです。
現在は下記コードにしており、
jump.php?url=
http://yahoo.com の形式で取得していますが、
前出の方式での取得方法を探しています。
アドバイスよろしくお願い致します。
//コード
<?php
$url = $_GET['url'];
print "<html>";
print "<head>";
print "<meta http-equiv='refresh' content='1;url=".$url."' />";
print "</head>";
print "<body>";
print "</body>";
print "</html>";
?>
>>698 $_SERVER['REQUEST_URI']から引っ張り出せばいいんじゃない?
PATH_INFO
>>696 Wikipedia で使われている Mediawiki
702 :
nobodyさん :2009/09/09(水) 17:24:25 ID:bpLyKDux
>>689 やっぱりそうですか・・・ありがとうございました。
>>691 問題あるかどうかではなくなんでかを聞いたんだが
704 :
nobodyさん :2009/09/09(水) 17:52:43 ID:zF4CrnoV
【OS名】Win2000 【PHPのバージョン】php5.2.8 【連携ソフトウェア】----- 【質問内容】 ZipArchiveクラスで作るzipファイルには、バイナリなデータは入れられないんでしょうか。 $cipher = mcrypt_generic($td, $srcText); $zipFile = new ZipArchive(); if ($zipFile->open($zipFileName, ZipArchive::CREATE) !== TRUE) { exit("cannot create zip file\n"); } $zipFile->addFromString(ZIP_ENTNAME_CIPHER, $cipher); // ※ $zipFile->addFromString(ZIP_ENTNAME_META, $meta); // $metaはテキストデータ $zipFile->close(); で、出来たzipファイルを既存のアーカイバに食わせると「zipファイルじゃねーぞ、それ」と エラーが出てきます。 ※の行をコメントアウトすると、そういう問題の無いzipファイルが出来上がります。 $cipherを、一旦別ファイルに吐き出して、ZipArchive::addFileを使っても結果は同じだったりします。 まさかバイナリデータは格納できないってことはないですよね? CREATEでオープンして、add〜で入れたいものを入れて、クローズしたら出来上がりと 思っているのですが、他に何かすべきこと見落としているでしょうか。
よくわからんけどzipをtxtに変換してバイナリ書き込んでzipになおせばいいんじゃね?
706 :
nobodyさん :2009/09/09(水) 17:59:45 ID:EqtLIEzj
preg_match($patter,$subject,$match) この括弧で囲まれた箇所はオプションっていうのでしょうか?
708 :
698 :2009/09/09(水) 18:28:10 ID:???
>>699 さん
>>700 さん
ありがとうございました。
両方、調べてみた所、
PATH_INFOの方が使いやすかったので、
PATH_INFOを用いて解決しました。
ありがとうございました。
path_infoは鯖によって使えない所もあるからなるべくなら使わないほうが良いよ
710 :
698 :2009/09/09(水) 18:42:30 ID:???
>>709 ありがとうございました。
折角アドバイス頂いたので、
$_SERVER['REQUEST_URI'] もやってみたら、
結果、$_SERVER['REQUEST_URI'] の方が簡単でしたね (^^;
こちらにします。
ありがとうございました。
>>710 鯖によっては動かないとは書いたけど
path_infoの代わりに使える代替策もあるんだけどね
まあそういう鯖に当たったら調べてくれ
712 :
nobodyさん :2009/09/09(水) 18:54:20 ID:bpLyKDux
すいませんもう一つ質問というか確認させてください。 HTMLを含む文字列から汚染を取り除くのに $str = htmlspecialchars(strip_tags($str), ENT_QUOTES, 'UTF-8'); のように書いた後表示しても問題ないでしょうか。
汚染ってなんすか ちゃんと話してください
phpMyAdmin で csv データをインポートしようとすると CSV 入力の書式が不正です (行: 607) みたいなエラーメッセージがでて止まってしまいます。 そこまでは取り込めているんですが、これってダメな行があったら、そこを無視して次を取り込むみたいな設定がないんでしょうか。 一つ一つエラーが出る行をつぶしていくのは膨大すぎて……。 こちらのスレッドで質問すべきではないような気もしますが、mysqlの質問スレが見つからなかったのでこちらに書き込みました。 もし、そういうスレッドがあるようでしたら、教えていただければと思います。よろしくお願いします。
715 :
714 :2009/09/09(水) 19:10:41 ID:???
自己解決したので締めます
716 :
nobodyさん :2009/09/09(水) 19:25:50 ID:bpLyKDux
>>713 微妙に違うかもしれませんが危険性をはらんだ信頼できない入力データのことと解釈してます。
stripslashes(htmlspecialchars($str,ENT_QUOTES)); 人によって違うがこんな感じ
>>717 何そのマジッククォートを意識しない記述w
>>712 strip_tags は、なんで入れてるの?
で、正解は?
>>718 入力値に対して行うからマジッククォートとか関係なく入力値をそのまま表示したいときに使う
stripslashes しちゃったら、バックスラッシュが 消えてしまうよね。
723 :
nobodyさん :2009/09/09(水) 21:24:40 ID:bpLyKDux
>>717 バックスラッシュも念のためとっといたほうがよさげですね。
>>719 メッセージ部分だけ抽出したいので意味のある文字やタグは除去したいんです。
こうなると制御文字もとったほうがよさげですが。
724 :
nobodyさん :2009/09/09(水) 21:29:01 ID:bpLyKDux
>>722 あー、難しいとこですね。
いっそ\を全部?に置き換えるほうがいいかな。
725 :
nobodyさん :2009/09/09(水) 21:36:26 ID:bpLyKDux
半角&#92;でした。
726 :
nobodyさん :2009/09/09(水) 21:46:29 ID:QbaRxfN8
【OS】WindowsXP SP3 【PHP】PHP5.2.9 (XAMPP 1.7.1) 【質問内容】 PHPでファイルアップロードの処理を作成しています。 $_FILES["userfile"]["name"]でアップロードファイル名を取得すると IEはフルパスですが、Firefoxはファイル名のみが取得されます。 必ずフルパスを取得したいのですが、何か解決方法ありますでしょうか? ブラウザによって返してくる値が異なるので対応不可でしょうか? 皆様のお知恵をお貸しください。
>>724 初心者かよw
マジッククォートがonかoffを判断してから処理しろよw
>>726 IEはフルパスで送られてJavaScriptでもフルパスが取れる
Firefoxはファイル名が送られてJavaScriptでもファイル名が取れる
Operaはファイル名が送られてJavaScriptではアクセスが拒否される
Safariはファイル名が送られてJavaScriptでもファイル名が取れる
729 :
726 :2009/09/09(水) 22:05:59 ID:QbaRxfN8
>>728 返答ありがとうございます。
どうにもならないってことですか?・・・
>>729 JavaScritpでブラウザチェックして、各ブラウザごとで処理分けるしかないんじゃね?
732 :
726 :2009/09/09(水) 22:23:47 ID:QbaRxfN8
>>730 返答ありがとうございます。
ブラウザ種別をチェックして、たとえばFirefoxだった場合、どうすれば
フルパス取得できるのでしょうか?
>>731 返答ありがとうございます。
ブラウザ依存のためPHPやJavaScriptで解決できる問題ではない
ということですかね?
>>732 フルパス取る目的が分かれば代替手段があるかもしれない
<?php $a=`mem`; $b = nl2br($a); print $b; ?> ------------------------ `バッククオートで、MS-DOSコマンド 実行できるの知ってた? この例はmemコマンドを使って、 メモリの使用状況をブラウザから 見れるようにしたもの。
スレチ
実行例 123456 バイト : コンベンショナルメモリ 123456 バイト : 使用可能 MS-DOS メモリ 123456 バイト : 最大プログラムサイズ 123456 バイト : 全エクステンドメモリ 0 バイト : 使用可能エクステンドメモリ 123456 バイト : 使用可能 XMSメモリ MS-DOS は, ハイメモリ領域に常駐しています.
737 :
726 :2009/09/09(水) 22:43:27 ID:QbaRxfN8
>>733 返答ありがとうございます。
フルパス取る目的ですが、アップロードするファイルを確認させるためです。
イメージとしては以下のような流れ
アップロードファイル指定
↓
「確認」ボタン
↓
「アップロードするファイルは<フルパス名>でよいですか」を表示
代替案ありますかね?
>>737 それならファイル名だけ表示した方が良い
Windowsでデスクトップに置いたファイルをアップロードしたらパス名にユーザー名も含まれるから悪い印象を受けるかもしれない
フルパスってのはUPされたサーバ側のフルパスなんじゃないでしょうか
>>739 もしかしてファイルをアップロード
しようとしている人のパソコンの
ユーザー名がわかるの?
>>737 普通、アップロードするファイルはユーザー自身がセレクタでパスを辿って指定したものだろ?
で、指定した直後にファイルが正しいかどうか聞かれるのか?
冗長すぎだよ。
>>740 仮にサーバー上のパスのことだとしたら、何でブラウザの種類が関係してくるんだよ。
>>743 本人がそうしたい、って言ってんだから
余計な口はさむなよ、自宅待機者ふぜいが。
もしかして、アップロード者が、 「老後のためのエロエロ画像集」 ってフォルダからファイルをアップロード しようとしていたら、その名前がわかるの?
>>745 作ってると変なこだわりが出がちだろ?
他人の支店で指摘をしてみるってのにも意味があるだろ。
で、自宅待機者って何のことだ?
相変わらず意味不明な粘着だなおまえ。
IEで試してみたけどフルパスなんかで送られないぞ?
>>743 入力された情報を表示して
「これでいいですか?」
って聞くのはわりとありがちだと思うけどなぁ。
IE8以降はフルパスで送られないよ
>>748 IE6は送られてた。7もだったかなぁ。
フルパス表示はしない方向で考えたほうがいいと思う。
752 :
726 :2009/09/09(水) 23:17:31 ID:QbaRxfN8
みなさま 返答、ご意見等ありがとうございます。 IE8ではファイル名のみなんですね。 IE7で動作確認していました・・・ 確認画面にはファイル名のみを表示するようにします。 ありがとうございました。
>>749 俺はそんなの見たことないな。
アップロードで画面遷移したあとに、ファイルの内容が表示されてこれで反映しても良いか、的なのならあるけども。
「入力された情報」一般の確認画面って意味ならもちろんありふれてるけどね。
mps3002.jpg とか連番なりランダムなりのファイル名でこれでよろしいですか?って聞かれてもどうしようもなくないか
755 :
nobodyさん :2009/09/10(木) 02:06:19 ID:MFT4gW7R
問い合わせるとしたら送信ボタン押すか、押して送出する前だな。
あげちまったすまん。
757 :
nobodyさん :2009/09/10(木) 09:43:20 ID:sofDksUs
food.txtに下記の5行があったとします #ringo@tarou #banana,#mikan@yosino #mikan@ #budou<!-- 未定 -->@ #painappuru@ a #の後から始まる文字は半角英数字で「最初の一文字は必ず半角英字で始まり、『,』『_』『-』と数字も含みます」 preg_match_allを使って以下のように取得したいです #ringo #banana,#mikan #mikan #budou #painappuru 書いてみたコードは下記のとおりなのですが思い通りの結果になりません どなたかご教示お願いします preg_match_all("/^[\b\t]*#[a-zA-Z]+[a-zA-Z0-9,_-]./","food.txt",$match); print_r($match);
>>757 $text =<<<EOD
#ringo@tarou
#banana,#mikan@yosino
#mikan@
#budou<!-- 未定 -->@
#painappuru@ a
EOD;
preg_match_all("/^[\b\t]*(#[a-zA-Z][a-zA-Z0-9,_\-#]+)/m", $text, $match);
print_r($match[1]);
とか?
おっと、#budouが入らないな。 すまん。
行頭に何が来る可能性があるのか判らんけど、 preg_match_all("/^[\s ]*(#[a-zA-Z][a-zA-Z0-9,_\-#]+)/m", $text, $match); でとりあえず#budouもとれるかな。
761 :
nobodyさん :2009/09/10(木) 16:34:15 ID:H+G55/lh
【OS】WindowsXP SP3 【PHP】PHP5.2.9 (XAMPP 1.7.1) 【質問内容】 プログラム初心者で、html,css,phpを独学で現在勉強しています。 自由にアンケート項目や選択肢を追加できる投票スクリプトを作りたいです。 ・項目名 「テキスト入力欄」 ・選択肢1 「テキスト入力欄」 ・選択肢2 「テキスト入力欄」 こういったフォームに「選択肢を追加」といったボタン を作り、自由に選択肢を増やすにはどうすればいいのでしょうか? グーグルカレンダーのadd reminderを増やすようなイメージです。 調べているのですが、どうもPHPの機能だけでは無理な予感が。。 どうぞよろしくお願いします。
初心者なんだから背伸びしないでコツコツ勉強すれば良いじゃん
画面遷移すればHTMLとPHPでも十分できるよ
764 :
nobodyさん :2009/09/10(木) 16:48:14 ID:H+G55/lh
>>762 >>763 この技術はちょっと高度なのですね。
参考になりました、ありがとうございます。
画面遷移というキーワードでちょっと調べてみます。
まあ、ただ単に、 スタンドアローンなアプリで設定ダイアログ出して行うのと(ほぼ)同じだわな。
766 :
nobodyさん :2009/09/10(木) 19:20:59 ID:1rS+p1Zl
古いファイルを自動的に削除したいと思ってます。 1月1日に1個で1月10日には10個です。(1日1個生成されます) 1月11日に11個になりますが、ここで1月1日のファイルを削除したいと思います。 現在の日付を取得して日付から10引いて削除というのでもいいのかもしれませんが 日付が正しいとは限りません。 filemtimeで1個ずつ確認して、さらにそれらを比較してというのだと面倒そうなのですが もっとスマートな手順があれば教えてください。
>>766 その情報を管理するログなりテーブルをまず作る
その情報をもとに削除を行う
>>766 ■ ファイル名の付け方
ファイル名を年月日時分秒でつける
2009年1月1日 18時5分32秒に作成されたファイルなら『20090101180532.txt』
/logの中に全部これらのファイルが入ってたとしましょう
■ 古いファイルの消し方
/logの中のファイル名を全部取得する
現在の年月日時分秒からファイル名(
20090101180532の部分)を引き算する
あとはもうわかるよな
※人間が見ても分かりやすいように年月日時刻で扱ったけど、タイムスタンプでもいいでしょうね
768の補足だが、 古い順に照合していくから、10日立ってない時点で処理を抜ければいいよ
一日に一個と決まってるなら、続き番号をファイル名にしちゃえばいい。 数値を使い切るまでに、32ビット符号無し整数で42億日以上1千万年以上使える。 もう一つ固定したファイル名のファイルに、現在の最新番号を記録しておいて、 そいつより10小さい番号(ファイル名)のファイルを消す。 たまに、念のために全ファイルチェックして、10「以上」小さい番号のがあったら消す。 (10ファイル程度しかないんだから、毎回やってもいいけど) 日付チェック要らないよ。
ファイル名は全く関係ない(ハッシュ化したようなやつでもいいぐらい)
>>767 のようにするか
工数も少なくてシンプルな
>>770 のようにするかだな
まったく関係なくはないかな
しかし、「日付が正しいとは限りません」が良く分からんな。 そんな状態だと日に一個ファイル生成ってのも、あてにならんのでは?
>>766 の条件だったらファイル処理は一日1回の処理と考えればいいのか
俺が作るんだったら
配列にファイル名をキーとして値にタイムスタンプ
逆ソートして10番目以降の削除処理かな
そしてそれをCronで適当な時間で動かす
ここにいるのってさほとんど趣味で本番環境はその辺のレン鯖でしょ? よくcronの話出てくるけど使えるの? 俺のかりてるとこは使えないんだよな 最近じゃみんな使えるとこ使ってるのかね
Web鯖でcron使えないなんてありえないだろ
海外サーバさがしゃあ無料でもcron使える
使えないWebサーバは最低レベルのWebサーバ 使えないWebサーバはまともなWebサーバとは呼べない という隠喩だよ君
782 :
nobodyさん :2009/09/10(木) 23:05:16 ID:FC5KhlDb
よろしくお願いします。 【OS名】CentOS5.3 【PHPのバージョン】php5.2.10 【連携ソフトウェア】PostgreSQL8.3 【質問内容】 Linuxサーバ上の1枚のNICに複数のIPアドレスをaliasで割り当てています。 PHP上にfsockopen()でインターネット上のサーバと接続し、 あれこれやりとりしたいんですが、この接続するときのマシンのIPアドレスを aliasで割り当てているIPアドレスに変更して接続したいんですが、 どなたかやり方をご存じないでしょうか? 例えば、Aというマシンに111.222.333.444を割り当ててるとします。 これに111.222.333.445 / 111.222.333.446 と2つの IPアドレスをaliasで割り当てます。 ここでPHP上で、 $fp = fsockopen("mail.hoge.com", 25, $errno, $errstr, 30); と普通にやると、mail.hoge.com(接続先サーバ)から見ると 「111.222.333.444」のマシンから接続にきた、となるわけですが、 ここを動的に「111.222.333.445」からきた or「111.222.333.446」からきた、 と変えてやりたいわけです。 ご存じの方、よろしくお願いします。
783 :
782 :2009/09/10(木) 23:59:25 ID:FC5KhlDb
>>782 を自己解決。
socket関数使って、socket_bind()してやることでできました。
すいません、お騒がせしました。
784 :
nobodyさん :2009/09/11(金) 01:11:51 ID:BydpJsHi
質問です <<<EOM あいうえお EOM; の中に変数使えないんですか? 使いたいときはどうすれば良いでしょう
使えるよ
↑は素人回答だからスルーで。 ヒアドキュメントだから使えない
786 名前: nobodyさん [sage] 投稿日: 2009/09/11(金) 01:26:58 ID:??? ↑は素人回答だからスルーで。 ヒアドキュメントだから使えない
788 :
nobodyさん :2009/09/11(金) 01:34:37 ID:BydpJsHi
無事使えました785さんありがとう
>>786 は凄いよな
きっとechoとかで全て書いているんだぜ
おいふざけんなechoでも使えるっつーの
変数を定数と見間違えたんだろ と無理矢理好意的解釈
つまらんことで揉めるなよ
786=792
786とは違うが、お前の足らないおつむでは何でもそう思うんだろうな おまえたぶんアスペルガーとか言う病気だよ
アスペルがーって推測力が足らない病気だぞw
つまらんことで揉めるなよ
793で適切な推測をしてるじゃん
27 名前:nobodyさん[sage] 投稿日:2009/09/11(金) 10:40:09 ID:??? お前アスペルガーだろww よほどこの言葉が気に入ったらしい
おまえはほんと相変わらずだな。
否定しないってことは嘘と認めたのね
>>799 俺は796だが793ではない
おまえアスペルガーだな
このまま埋めて次スレなしね。
埋める意味ねー
質問終了ってことでいいでしょう。こんなスレ。 そこの相変わらずのお前のせいだからな。
そう思う奴はこのスレを見なきゃいいだけだよ。 変な奴がいようが、ちゃんと質問と回答が成り立ってることもあるわけだしな。
811 :
nobodyさん :2009/09/11(金) 12:24:09 ID:dwaiPRxU
【OS名】CentOS5.3 【PHPのバージョン】php5.1.6 【連携ソフトウェア】とくになし 【質問内容】 UNIXドメインソケットをfsockopen()するとき 昔のバージョンであれば プレフィックス unix:// をつけずにファイル名のみでもオープンできた のですが、いつのバージョンからこれが必須になったのでしょうか。 また、プレフィックス無しのときはUNIXドメインソケットと認識するような 設定ファイルでの設定などはありますか?
>>811 PHP 5.0.0 からスキームが省略されるとプロトコルにTCPが選ばれるようになった
スクリプト側で対応しましょう
PHPって簡単だって聞いたから始めたが、どこが簡単なんだよ! JavaScriptは習得したけれど、俺にはPHPの方が難しく感じる コレで簡単とか言われまくってるなら、CとかJavaとかめっちゃ難しいんだろうか・・・ ってかやっぱ皆XMLは習得済みなんですか? HTMLだけでいいかと思ったらこういうのもやらんといけないんですね・・・
>>813 JavascriptはHTTPという通信手順の行ったりきたりを、
意識しないでもできるからね。HTMLとJavascriptが習
得できたなら、あとは通信手順というものを理解すれば
PHPもさほど難しくないと思うよ。
CやJavaは、もうちょっとややこしい部分がある。
XMLは場合によりけり。「XMLが必要になる仕組み」を
利用しなければわからなくてもいいと思うよ。
Cの構文が理解できればPHPはできる
<?php echo "簡単";?> <?php $kanntann = array("KA","NN","TA","NN"); foreach ($kanntann as $kntn) { echo $kntn; } ?>
>>814 そうなんですよ
構文がどうこうというよりも、別の通信とかカレントディレクトリとかデータベース連携とか、全然知らない知識を求められるのでまいってます
mb_send_mailとかやったら、何故かエラーになって、どうやらプロバイダとの間の何か設定をしなければいけないようですが、
調べているうちにめんどくさくなって飛ばしたりしてます(苦笑
別の知識が自分には難しいです
頭固いね
>>813 カンタンだって、どこで聞いた?
漏れにはjavascriptの方が
はるかに難しいのだが、どうやって
JSを習得した?本?
頭は固いもんだろ シャワー浴びて穴空いたら嫌だし
>>817 難しいところは飛ばす。
これが勉強の極意
>>817 メールは、メールサーバーの設定が必要。
Webやメール、DNSといったインターネットの仕組みを覚えてからだね。
基本的に、PHPでまず最初にできることは、HTMLでつくられた入力欄
の内容を受け取って、その内容に従って新しいHTMLを戻してあげること。
その単純なところからはじめればいい。
その次に、Webブラウザから送られてきた(サイトを見てる人が送った)
データを保存したかったら、ファイルの仕組みを学べばいい。PHPは、
ファイルの扱いは割合簡単にできるから、仕組みを覚えればプログラム
はすぐ。データベースを使ってたくさんのデータを整理しながら貯めたい
と思ったら、そのときにDBを覚えればいい。
でも、その前に覚えたほうが効率がいいことは、インターネットの知識だよ。
まずは、上に書いた「HTMLでつくられた入力欄の内容を受け取った、その
内容に従って新しいHTMLを戻す」ようなPHPスクリプトをつくりながら、
・インターネットの仕組み(IPアドレスとルーティング、データ送受信の手順)
・HTTPの仕組み(リクエストとレスポンス、URLが示すもの、GET手順とPOST手順)
・DNSの仕組み(IPアドレスとホスト名、ドメインとサブドメイン、AレコードとMXレコード)
このあたり覚えていけばいいと思う。
>>823 さん
先ほどから丁寧にありがとうございます
>>814 と同じ方ですよね?
確かに、自分はPHPよりもインターネットの知識の方が先だと思い始めてきました
PHPを勉強しているうちに、知らない用語や知識が多くて、その度にネットで検索して(大概は調べても難しすぎて分からなかったり・苦笑)
、って感じでなかなか先に進みません
しかもJavaScriptはまぁクライアントサイド言語が一つなので集中的に色々ないい本がありますが、
PHPはサーバサイド言語は色々とありすぎるからか分散してコレだ!と言えるようなものに出会えていません
今、独習PHPとマスターブックとオライリーのカッコウの表紙の3冊で勉強しているのですが、この本には載ってて
この本には載っていないというような知識が多くて、何だこりゃ?と思っています
Ajaxで少々は通信の知識があったのですが、PHP分野はサッパリでして、う〜んう〜ん、と唸りながら勉強しています
丁寧に教えていただいてありがとうございました
>>826 ではどこで勉強すればいいのでしょうか?
会社、学校、ネットとかありますけれども
手を動かすこと
あぁ、そういう事ですか 納得です
PHP言語を習得したいから勉強する と ○○みたいなものを作りたいからPHPをつかう では全然違う。たぶん前者は失敗する可能性が高い
正直言って 簡単に|手っ取り早く|楽に 学びたいと思ってる時点で微妙・・。 楽しみを見つけてやるといいと思うよ。 興味を持って主体的に学習するなら、どんな本で勉強しても確実に身になるし。 逆については、言わずもがな。
でも、Webプログラムで必要な情報がまとまっているソースって、 あまりないと思う。プロトコルの本とか買うと、決まってプログラム に必要のない詳細なメッセージング手順が載ってるし。 DNSを勉強しようとしても、こっちは意識しない、プロバイダのDNS より上流の更新手順とかがやたら詳しく解説されてたり。 そのあたりの知識を、ゼロ状態から手っ取り早く集めるのって、 大変なんじゃないのかな。
やってるうちに覚えればいいんでね?
正直、本とかで順繰りに勉強するよりも いきなり既に動いてるサイトを改造する、 とかのほうが勉強になる気がする。 それが汚いコードで動いてたらアレだけどな。 データベースアダプタに$smartyとか勘弁してくれorz
>>835 > データベースアダプタに$smartyとか勘弁してくれorz
それで保守できるって、ある意味すごいなw
俺の場合は、インターネット256倍で興味を引き出され、 しばらく独学でCとかPerlとか勉強して、ネット関係の設計 の参考にUNP買った。UNPはプログラムの参考書としては いいけど、でも知識としてのベースは、DNS手順やSMTP 手順やHTTP手順といったプロトコルごとのルールも必要。 プロトコルごとのルールは小さい本で個別にまとめてある の買って覚えたなぁ。
ほう、ではその覚えた知識を3行分程度でいいから披露してくれ
んなもんひけらかしてもしょうがないだろ。 知識なんて幅と応用だろ。三行で書いて何の意味があるの。 小学校の自由作文課題じゃないんだから。
はいボロ出たー
842 :
nobodyさん :2009/09/12(土) 12:52:21 ID:OGPE9phu
843 :
nobodyさん :2009/09/12(土) 13:25:12 ID:/8OVJ8X1
サーバー内にある画像ファイルを、画像処理を行わずに単に出力したい場合、どんな方法が良いのでしょうか? readfile() を使って実装してる例が多くありますが、 バイナリセーフじゃないからやめたほうがいいって意見も見つけたので困ってます。
>>842 そういう事は作った本人に聞いてね
htmlencode() は htmlspecialchars() をラップしただけのユーザー定義関数
php.ini の short_open_tag がオフになってるのが原因だと思うよ
>>843 readfile() でいい
バイナリセーフじゃないのはファイル名の取り扱いという意味
ファイル名が外部から与えられる場合は妥当なファイル名かホワイトリストで判断する
845 :
843 :2009/09/12(土) 13:59:39 ID:/8OVJ8X1
>>844 ありがとうございます!
バイナリセーフってどの関数でも、引数に対してってことなんでしょうか?
>>843 外部からアクセスできる場所であれば
header('Status: 301 Moved Permanently');
header('Location:'.$filename);
exit;
こんな感じでリダイレクト
>>845 文字列を扱う関数は全てバイナリセーフかどうか調べて使う必要がある
大体の関数はマニュアルにバイナリうんぬんと書いてあるし、なければ実際に試す
>>844 > そういう事は作った本人に聞いてね
作者さんのBBSが閑古鳥だったのでね
thx
$filename korehakikendane
850 :
nobodyさん :2009/09/12(土) 18:46:55 ID:DaPqRnZZ
動的なページをhtmlに変換したいと思いまして require_onceで動的ページを出力するphpを 呼び出すphpを書いて、それをブラウザ叩くと 出力がブラウザ上に出てしまいます。 どうすれば、外部のphpのechoを直接受け取ることが出来るのでしょうか
ob_start(); echo "それぐらいググれよ" $echo = ob_get_contents(); ob_end_clean(); var_dump($echo);
852 :
nobodyさん :2009/09/12(土) 19:11:36 ID:DaPqRnZZ
ありがとうございます。 これで、なんとかなりそうです助かりました。
なんとなく解ってきたらRFC読むクセを付けるといいぞ。
854 :
nobodyさん :2009/09/12(土) 20:09:58 ID:p9uSrGzK
質問です、 phpでwebアプリケーションを作成するとき、 オブジェクトを異なるクライアントのリクエストごとに、 インスタンスを生成するのではなく、使いまわしたい場合は どのようにしたらよいでしょう? 同一のクライアントの場合はセッションに格納すればよいのですが、 異なる場合はどうすればよいかわかりません。 参考になるサイト等があれば教えてください。
serialize
ユーザー定義関数内での処理のみ終了する方法はありませんか? 関数内でexit()を使用すると、 呼び出した後の関数外の処理まで終了されてしまうので。
857 :
856 :2009/09/12(土) 20:22:14 ID:uO9j1ilr
すみません、id出し忘れました。
return
returnしろ
860 :
nobodyさん :2009/09/12(土) 22:05:35 ID:TtY+7h23
自マシンのホスト名を取得するにはどうしたらいいですか?
診断君
862 :
nobodyさん :2009/09/12(土) 22:15:24 ID:TtY+7h23
いや自分というか、自サーバのです hostnameコマンドで得られる値をPHPで知りたいのです
`hostname`
やはりそれしかないですか・・
そうでもないけど
ではどんな方法がありますか?
$_SERVER['HTTP_HOST']
バーチャルドメインだとhostnameの結果とは異なりますが 確かにそうとも言えますね
iframe作ってそこにtarget指定したらいいじゃん
870 :
nobodyさん :2009/09/13(日) 10:08:01 ID:EocTFGFO
868 名前:nobodyさん[sage] 投稿日:2009/09/12(土) 23:13:12 ID:??? バーチャルドメインだとhostnameの結果とは異なりますが 確かにそうとも言えますね 869 名前:nobodyさん[sage] 投稿日:2009/09/13(日) 01:39:33 ID:??? iframe作ってそこにtarget指定したらいいじゃん 870 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
ID:TtY+7h23 こんなにルール守らない質問者も珍しいな
872 名前:nobodyさん[sage] 投稿日:2009/09/13(日) 11:02:26 ID:??? ID:TtY+7h23 こんなにルール守らない質問者も珍しいな どういうルールですか?
皆さんはリレーショナルデータベースとデータベース抽象化レイヤは何を使ってます?
ゴガギーン
ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!何のルールを守ってないのか教えろや
>>872 「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
IP取得して変換すれば?
880 :
nobodyさん :2009/09/13(日) 18:07:51 ID:NEgkVqh/
今、
http://dev.mysql.com/tech-resources/articles/ddws/17.html を読んで勉強している最中でして、質問があります。
<A HREF="welcome.php?name=Kevin"> Hi, I'm Kevin! </A>
という内容のhtmlファイルをwelcomeKevin.htmlと名付けて実行し、Hi, I'm Kevin!のリンクをクリックすると
<?php
echo ("Welcome to our Web site, $name!");
?>
という内容の入ったwelcome.phpを呼んで
"Welcome to our Web site, Kevin!"
と表示される「はず」なんですが、実際にはHi, I'm Kevin!のリンクをクリックすると
welcome.phpを「開く」か「ダウンロードする」か訊かれ、
開くとwelcome.phpがエディターで開かれるだけです。
ちなみにブラウザで
http://localhost/welcome.php と入力すると
Welcome to our Web site, !
と名無しで表示されます。
正しく表示するためにはどうしたらいいですか?
そりゃ、ローカルで開いたファイルのリンクをクリックすればそうなるよね
883 :
nobodyさん :2009/09/13(日) 18:33:09 ID:NEgkVqh/
$_GET['name']
わざわざ英語のMySQLのサイトを読むなら、先に日本語で解説してくれてる PHPマニュアルのサイトを読もうよ…とマジレスしてみる
886 :
nobodyさん :2009/09/13(日) 18:40:43 ID:NEgkVqh/
>>884 その$_GET['name']の使い方が分かりません。
phpの間に埋め込んでみたら
The website cannot display the page
phpの前に埋め込んでみたら
$_GET['name'] Welcome to our Web site, !
になりました。
どうやって使うんですか?
>>885 日本語のサイトが見つからなかったんです。
PostgreSQLでLinuxとかはありましたけど。
ちなみにこのサイトのはあと一章で終わりですので、次は日本のサイトのを読むつもりです。
良いサイトがあれば教えてください。
>>886 おいおい、入門編じゃないか
何か本屋で参考書買って読んでみたら?
すぐ解決すると思うぞ
英文読んで頑張れる気力があるなら、普通に適当な本を買ってみるかマニュアル読破すれば 殆どの疑問は解決すると思う
890 :
nobodyさん :2009/09/13(日) 18:52:04 ID:NEgkVqh/
>>887 この辺の本屋に置いてあるPHPの参考書は全部英語で書かれているんですけど何か?…つまり、そういうことです。
これから進むうちに習うでしょうから、取り敢えず、その$_GET['name']の使い方を教えてください。
どんな辺境に住んでるんだよ
ネット使えるならAmazonで適当な本買えば 離島とか紛争地域とか政治不安なところは無理かもしれないが
>>890 英語の参考書しか置いてないならネット通販で取り寄せればいいだけの事
ひょっとしてそういうこともできない未熟な人なのかな?^^;
>>890 お前何言ってるの?
アメリカかどっかに住んでるの?
もしそうなら英語できるんだろ?
じゃぁ英語のPHPの本買えばいいじゃん
オライリー本とか売ってるだろ?
>>893 の言っているように、アマゾンでもいいじゃないか
ほんと、$_GET['name']とか、どんな本でも最初に出てくるような基本中の基本だから、コレ分からないようじゃPHPなんてどうにもならないぞ
質問する前のレベルじゃないか
895 :
nobodyさん :2009/09/13(日) 19:08:52 ID:NEgkVqh/
>>888 ありがとうございます。
本家とか翻訳が「?」だったんであれなら英語の方が楽だなと思いました。
>>892-893 別にこれは英語の問題ではないでしょう、書かれている通りにやっているわけですし。
こっちに住んで長いので英語で読むことにそんなに抵抗はありません。
Yahoo! Answersなんかだと質問しても答え返ってくるの遅いでしょう?
それでここで訊いているんです。
早速、
http://www.php.net/manual/ja/reserved.variables.get.phpを読んで <?php
echo ("Welcome to our Web site, " . htmlspecialchars($_GET["name"]) . "!");
?>
とやったらちゃんと表示されました。
あの'.'は何?とか思ったりしますが、そのうち習うでしょうからいいです。(^^ゞ
ありがとうございました。
896 :
nobodyさん :2009/09/13(日) 19:11:45 ID:NEgkVqh/
>>894 どんなことでも習ってもないことが出来たらエスパー一級でしょう。
それにPHPだってVersionがどんどん変わるでしょう?
図書館にあるのはVersion4.XXのでした(もしくは5.XXのは借りられてる)。
ある程度まではネットで拾ってから買うつもりです、辞書みたいなのを。
初心者は去れ
ここまであれだとPHPとかの問題じゃない 基本的な文法すら分からないとか論外だろ
899 :
nobodyさん :2009/09/13(日) 20:48:15 ID:QdMpuS0f
oi,ここ見てる自称回答者のクズ共 マイナーなフレームワークを教えろ 知らなかったら調べてこいや! 今日中にレスしろよ!急いでるから早くggってこい!
900 :
856 :2009/09/13(日) 20:57:43 ID:9o4aefgg
英語が得意なら英語のコミュニティーで質問する方がいいんじゃね?
なんでかまうの?馬鹿なんじゃない 馴れ合いはよそでやれ
906 :
nobodyさん :2009/09/14(月) 00:56:32 ID:fhug7xzd
php.iniに、 pdo.dsn.tests = "sqlite:D:\Apache2.2\htdocs\tests\tests.db" と書いたのですが、 $db = new PDO('tests'); のtestsはpdo.dsn.testsとtests.dbのどっちのtestsを参照しているのでしょうか?
>>905 回答もしない偉そうなやつが嫌いなんだよ。
お前みたいなやつな。
909 :
nobodyさん :2009/09/14(月) 02:03:42 ID:aZ3ym+d9
911 :
nobodyさん :2009/09/14(月) 06:35:37 ID:NdtlO2z4
src="student/10/profile.jpg" とするかわりに、 src="img.php?u=student&n=10&p=profile"として .jpgを出力するphpをつくりました 内部的には $outputFile = $u."/".$n."/".$p.".jpg"; header("Content-type: image/jpeg"); readfile($outputFile); です そこで、該当のprofile画像がない場合not found画像を自動的に出力するようにしたいと思います。 どうしたら良いでしょうか? 以下で良いかなと思いましたが、ダメです if(readfile($outputFile) == FALSE){ //if(!readfile($outputFile)){でもダメ readfile("/img_common/err.jpg"); }; 間違ってるでしょうか? エラーログには 以下のように出力されます readfile(/img_common/err.jpg) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: No such file or directory
912 :
nobodyさん :2009/09/14(月) 06:36:44 ID:NdtlO2z4
書き忘れました。 よろしくお願いします。
(画像)ファイルが、有るか無いかだったら、file_exist($pathname) 使ったら?
>>911 $outputFile = $_GET['u'] . '/' . $_GET['n'] . '/' . $_GET['p'] . '.jpg';
if(file_exists($outputFile) === true){
header('Status: 301 Moved Permanently');
header('Location:'.$outputFile);
exit;
}
readfileよりヘッダ出力してブラウザに直接読ませた方がいいかな
$outputFile = $_GET['u'] . '/' . $_GET['n'] . '/' . $_GET['p'] . '.jpg'; if(file_exists($outputFile) === true){ header('Status: 301 Moved Permanently'); header('Location: '.$outputFile); exit; }else{ header('Status: 301 Moved Permanently'); header('Location: /img_common/err.jpg'); exit; }; not found忘れてたわ。readfileが使いたいなら header('Content-Length: '.filesize($outputFile)); header('Content-Disposition: inline; filename="'.basename($outputFile).'"'); header('Content-Type: image/jpeg'); readfile($outputFile); これに替えるだけ
916 :
912 :2009/09/14(月) 07:43:53 ID:???
>>913-915 いろいろ意見、詳しい解説ありがとう
参考に書き換えます。 ほんとにありがとう!
917 :
nobodyさん :2009/09/14(月) 08:11:21 ID:fhug7xzd
すみません、ちょっとどう上手く簡潔に説明していいのか分からないので長文失礼します php.iniで、pdo.dsn.amp="sqlite:C:\Program Files\Apache2.2\htdocs\amp\amp.db"とSQLiteを定義し、データベースへの接続を確立した後、 (( create.php )) <?php try { $db=new PDO('samples'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $db->exec('CREATE TABLE address(id INTEGER PRIMARY KEY, name VARCHAR(50), address VARCHAR(150), tel )'); print('addressテーブルの新規作成に成功。'); } catch (PDOException $e) { die('エラーメッセージ:'.$e->getMessage()); } ?> でaddressテーブルを作成し、 続く→
918 :
917 :2009/09/14(月) 08:14:10 ID:fhug7xzd
→続き ((insert_form.php)) <html> <body> <form method="POST" action="insert_process.php"> <table border="0"> <tr> <th align="right">名前:</th> <td><input type="text" name="name" size="15" maxlength="50" /></td> </tr> <tr> <th align="right">住所:</th> <td><input type="text" name="address" size="35" maxlength="170" /></td> </tr> <tr> <td colspan="2"> <input type="submit" value="登録" /> <input type="reset" value="クリア" /> </td> </tr> </table></form></body></html> という内容を、 続き→
919 :
917 :2009/09/14(月) 08:21:43 ID:fhug7xzd
→続き
((insert_process.php))
<?php
try {
$db=new PDO('samples');
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$db->exec("INSERT INTO address(name,address) VALUES(".$db->quote($_POST['name']).",".$db->quote($_POST['address']).")");
header('Location:
http:// '.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/insert_form.php');
} catch (PDOException $e) {
print('エラー発生:'.$e->getMessage());
}
?>
でリダイレクト処理しました。
insert_form.phpで名前と住所を入力し、submitで送信した後にリダイレクトでまたinsert_form.phpに白欄で戻るのはいいのですが、その入力した値はどこへ行き、またどこで検索すればいいのでしょうか?
一応php.iniで指定した.dbをエディタで見ると、文字化けしまくっていますがわずかに見えます
おそらくこの.dbに書き込まれたのだとは思ったのですが、どういう風にしてテーブルの書き込み内容を見れるのでしょうか?
色々な参考書とかネットで調べても、データベースに登録した内容を確認する処理の事が書かれていませんので分からないのです
長文になりましたがすみません、どなたか教えていただけたら幸いです
920 :
917 :2009/09/14(月) 08:28:13 ID:fhug7xzd
ごめんなさい、$db=new PDO('samples'); となっていますが、sampleはampにして下さい 間違えました
>データベースに登録した内容を確認する処理 selectしれ
また凄いやつ登場したな。
>>920 DB(のファイル)を直接エディタで見ても駄目です。
DBへの操作はSQLを使って行います。
あなたが書いているCREATE TABLE やINSERT INTOがSQLです。
>>919 では、phpからDBに値を入れています(INSERT INTO)
その値を取得するにはSELECTを使います。
まずは「SQL」をキーワードにして検索してみて下さい。
924 :
nobodyさん :2009/09/14(月) 15:13:28 ID:rzhT2tU/
初歩的な質問ですみませんが phpで文字化けが直りません。 どこをどうすればいいかご教授ください。 お願いします。
>>924 mb_language("uni");
mb_internal_encoding("utf-8");
mb_http_input("auto");
mb_http_output("utf-8");
PHPのスクリプトの先頭にこれ書け。
んで、PHPも連動するHTMLも、全部UTF-8にしろ。
HTML部のMETAタグでUTF-8を宣言するのも忘れるな。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
928 :
nobodyさん :2009/09/14(月) 15:32:42 ID:rzhT2tU/
>>926 ,927
phpの先頭に
mb_language("uni");
mb_internal_encoding("utf-8");
mb_http_input("auto");
mb_http_output("utf-8");
と <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
は書いたがまだ化ける。 ちなみに ↑の/はいるのか?
他にすべきことってある?
>>928 表示する文字はソースに直書きしたモノ?それともDBから取得したモノ?
とりあえずソースの文字コードもutf-8に統一してね
930 :
nobodyさん :2009/09/14(月) 15:43:14 ID:rzhT2tU/
>>928 DBから取得したものは普通に写る
echo "あいうえお"とか<h3> あいうえお <h3>とかは化けます
ソースの文字コードの統一って
>>928 じゃダメなんですか?
>>930 テキストエディタで編集・保存するときの設定にも文字コードがある。
それと、928の設定(mb_〜はPHPのコード、<META>は、HTML部な)を
組みあわえれば、一般的なPHP/Apache環境では文字化けは起こらない。
934 :
933 :2009/09/14(月) 17:31:16 ID:fhug7xzd
・・・だったのですが、コマンドプロンプトが文字化けしています(泣) 何の設定が間違っていたのでしょうか・・・
935 :
nobodyさん :2009/09/14(月) 18:13:53 ID:5YvHuWts
このスレに生息してるきめえカス共、俺様が質問してやるから感謝したまえ 空メールを送信したら登録メールが送られてくるシステムの作り方を教えろ さっさと教えろよ まあきめえお前らには高等すぎて難しいだろうけどネットで調べたり本屋で調べてくるなりしてこい! 普段使えカスなんだからここぐらいはさっさと答えろよ!
うんこ
お前上の方で間抜けな質問して馬鹿にされたやつだろ 荒らしてんじゃねーよカス
>>934 環境も書かないで答えられるわけないだろ?
>>1 のテンプレ読んでよ
なんにせよコマンドプロンプトはスレ違いだ。
>>934 WindowsのGUI/CUIはShift_JISが使われている。UTF-8にしたら化けるのは当たり前
940 :
nobodyさん :2009/09/15(火) 12:26:57 ID:64PIMOG3
プログラム間のやりとりをphpで解決しようとしているのですが。 ジョブを切り替えるときにsytem関数やexec関数でfgを使おうとするとsh: line 0: fg: no job controlとでて実行できないのですが 何か問題があるのでしょうか?
問題があるから実行できないんじゃないの?
942 :
940 :2009/09/15(火) 13:08:01 ID:64PIMOG3
よろしければ、問題点を教えていただきたいのですが。
>>942 ソースさらせよ
no job controlって事はそのシェルにはjobが無いならfgしようがないって事だと思うが。
944 :
940 :2009/09/15(火) 13:20:59 ID:64PIMOG3
#!/usr/bin/php -q <?php $string = `fg %4`; print $string; ?> こんな感じでジョブ番号4はバックグラウンドで動いてる状態でスクリプトを実行しています。
>>944 php関係無くないか?
シェルが違うんだから、shスクリプトでも同じ結果になると思うぞ
#!/usr/bin/php -q <?php print `fg %4`; ?> って直接指定してみたらどうなのよ もしくはこうしてみたら? #!/usr/bin/php -q <?php $string = '`fg %4`'; print $string; ?>
>>940 no job control ってfgの引数が再開出来るジョブと違うんじゃないのか?
詳しくは知らないんだが、PHPって、バッククオート内のを実行するのは、 PHP「を」呼び出したシェルなのか、PHP「から」呼ばれたシェルなのか? 「を」呼び出したシェルなら、まあいいんだけど。
>>948 やってみた
■foo.php
#!/usr/bin/php -q
<?php
print `/tmp/hoge.sh`;
?>
■hoge.sh
#!/bin/sh
sleep 10000
exit 0
■ps afx
23029 pts/1 Ss 0:00 | \_ -bash
23856 pts/1 S+ 0:00 | \_ /usr/bin/php -q ./foo.php
23857 pts/1 S+ 0:00 | \_ /bin/sh /tmp/hoge.sh
23858 pts/1 S+ 0:00 | \_ sleep 10000
乙
>>949 新たに起動されたシェルとしては「これをfgしろ」って言われても分かんないよね。
>>943 ,945の言うとおりじゃない?
951 :
940 :2009/09/15(火) 17:51:44 ID:mZI0J8Xr
みなさんありがとうございます。
ID違いますが
>>940 です。
シェルが違っていたんですね。
すごく単純に作っていて恥ずかしい限りです。
$argvで二つのジョブ番号を指定して交互に実行するつもりだったんですが。
スクリプト内で起動して管理することにします。
mysqlからデータを引っ張ってきたいのですが、できません コマンドプロンプトでは正しく実行されるのですが、 実際にphpでテーブルを作って出力しようとしてみると、データの数だけテーブルはできますが、実際のデータはnullです 何が原因だと思われますか? かなり単純なことだとは思うのですが・・・
953 :
nobodyさん :2009/09/15(火) 19:59:08 ID:PaHf9Rn2
<?php try { $db=new PDO('yopparai'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $stt=$db->prepare('UPDATE trunks SET name=?, address=?, tel=?, email=? WHERE id=?'); $db->beginTransaction(); for($i=1;$i<=$_POST['cnt'];$i++){ $stt->bindParam(1,$_POST['name'.$i]); $stt->bindParam(2,$_POST['address'.$i]); $stt->bindParam(3,$_POST['tel'.$i]); $stt->bindParam(4,$_POST['email'.$i]); $stt->bindParam(5,$_POST['id'.$i]); $stt->execute(); // ★ } $db->commit(); 以下省略 この★の部分のexcute()が何故使われているのか分かりません bindParam()だけでいいのかと思ったのですが、色んな場所にexcute();が必ず入っていました 何の理由でexcute()を記入しているのでしょうか? すみませんが教えていただきたく質問しました
954 :
nobodyさん :2009/09/15(火) 19:59:27 ID:z1onDSkF
入門書に書いてたEclipseは重いのでテキストエディタでコードを書こうと思ってます。 そこでPHPスクリプトを書くときにおすすめのテキストエディタってなんですか? あと必要な機能、あったら便利な機能ってなんでしょうか?
そんなしょぼいPC使ってんの? 起動は確かにもっさりしてるけどその後は別に重いってことはないんじゃ? 補完機能は重要 Unix使いならEmacsをお勧めしたいが Windowsだと無難にPHPエディタとかなのかね 使ったことないからしらんけど
>>953 とりあえず辞書で"execute"の意味を調べてみようか。
その後、DBに書き込むにはどうすれば良いか、どういう手順が要るのかを考えてみようか。
958 :
nobodyさん :2009/09/15(火) 20:26:11 ID:PaHf9Rn2
>>957 実行ですよね?
それは既に調べています
で、prepareで準備したものをexecute()で実行するんですよね
しかし、同じような(?)メソッドのbindParam()でname,address〜idまでを設定しているので・・・と思ったのですが
データをバインドしただけじゃ実行はされない OOPでプロパティをセットしただけじゃ何もおきないでしょ なんかのメソッドを実行しないと それと同じ
960 :
nobodyさん :2009/09/15(火) 20:49:30 ID:PaHf9Rn2
961 :
nobodyさん :2009/09/15(火) 20:50:07 ID:0040OYEm
指定したドメインのMXレコードを取得したいのですが PHPでどうやればいいですか?
PHPエディタとか(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
>>963 おいコラ、PHPエディタを馬鹿にするでねぇよ
そう言うおめぇは何を使ってるべか?
ツールは何でも良いだろう 自分に合ったツールを使えば良い 良い道具を使っても糞なスクリプトしか書けない奴も居るしな
スクリプトを書く前にヘタなエディタを使うのはカスだろwwwwwwwwwwww
PDTのエディタ部だけPHPエディタになってくれれば使いやすいんだが。
TeraPadで悪いか!!
よくいるよね
一流の道具に拘って実力が伴わない人って
あっ
>>966 の事を言っているんじゃないよ
>>966 は良い道具をしっかりと使いこなしていると思うし
スゴイヨネー アースゴイスゴイ
>>966 はイチリュウサンダヨ
PHPエディタをバカにされて腹が立ってるPHPエディタユーザーが沸いてますね
PHPエディタの作者って 仕事が無くてヒマになると バージョンアップするよな
自分が使っているエディタ以外を馬鹿にする人に言われたくないよねー
DW使えよ微塵子供ガハハハ
PHPエディタは結構好きだなぁ。 秀丸とかTeraPadみたいなテキストエディタって、単一ファイルを作成するにはいいんだけど、 複数のファイルを修正したり作成するには、少し大変。 で、インストールが楽。 ところで質問なのですが、 function test($a, &$b=NULL){ 〜うんたらこうたら〜 みたいな書き方は出来ないのでしょうか? preg_matchのような、 後ろの引数は省略してもいい。引数を省略しなかったら、参照渡しとして変数を渡す 。 みたいなことをしたいと思っています。
975 :
nobodyさん :2009/09/15(火) 23:52:16 ID:IuZWar9x
思わずsageしてしまった。 よろしくお願いします。
977 :
974 :2009/09/16(水) 00:01:42 ID:???
すみません。勘違いだったみたいです。忘れてください。
978 :
974 :2009/09/16(水) 00:12:53 ID:LSULmYw/
勘違いしてない。してなかった。 function test($a, &$b=NULL){ 〜 のソースはPHP5では問題なく動くのですが、 PHP4だと構文エラーになるみたいです。 Parse error: syntax error, unexpected '=', expecting ')' in E:\localhostfile\test.php on line 2 PHP4で動かしたいところなのですが、 動かす方法ってあるでしょうか?
HTMLのコーディングはDWだけどPHPだけはPHPエディタ使ってる
>>972 × 自分が使っているエディタ以外を馬鹿にする人
○ 使えないエディタを馬鹿にする人
もういいって PHPエディタ(爆笑)の話はやめようぜw
>(爆笑)
984 :
nobodyさん :2009/09/16(水) 10:06:55 ID:jfE5YpuQ
PEARをインストールしようとしてコマンドプロンプトにc:\php>go-pear.batと入力したら、
C:\/php/ext\php_xmlreader.dll - 指定したモジュールが見つかりませんとなってインストールできません
で、PHPをもう一度ダウンロードしてファイル内を調べてみたのですが、xmlreader.dllというものがありません
他にもC:\php>-n -r "include '
http://go-pear.org ';"とかも入力しましたが訳分からない事が書かれててインストールできませんでした
どうしたらいいのでしょうか?
985 :
nobodyさん :2009/09/16(水) 10:08:17 ID:jfE5YpuQ
あっ、WindowsXPです
986 :
nobodyさん :2009/09/16(水) 10:31:34 ID:jfE5YpuQ
何度も連投すみません 使用しているphpは5.210で、PHPフォルダ内にPEARフォルダがあり、go-pear.pharが存在しています また、extフォルダはあるのですが、php_xmlreader.dllはありません
>C:\/php/ext\php_xmlreader.dll とりあえず統一してみたら? というか\と/は同じ意味あいってのわかってる? あとパスの先にそのファイルがあるかどうか確認
988 :
nobodyさん :2009/09/16(水) 11:36:39 ID:jfE5YpuQ
>>987 さん
統一とはどのようにすればいいのですか?
ちょっと統一という意味が分かりませんでした
ごめんなさい、\と/は打ち間違えました、C:/php〜でした
C:/php/ext\php_xmlreader.dllの事ですよね?
いや、無いんですよ
PHP5.2.10をそのまま解凍して、また今もダウンロードして中身も確認したのですが、php_xmlreader.dllというファイルそのものが入っていません
で、ネットで検索するのですが、ヒットせず、また、同じようなエラーの事も検索で出てきませんでした
PEARが使える方たちはphp_xmlreader.dllというのがやはり入っているのでしょうか?
もしコレがないとインストールできないとしたらどこで入手すればいいのでしょうか?
日本語サイトではググっても出てきませんでした
php.ini のphp_xmlreader.dllの行をコメントアウト >C:/php/ext\php_xmlreader.dll まだパスが統一されてないよ
990 :
nobodyさん :2009/09/16(水) 11:54:47 ID:jfE5YpuQ
>>989 あぁ、コレで解決しそうだ・・・と思って喜んでphp.iniを開いたら、すでにコメントアウトされていました
extension=php_xmlreader.dll ですよね?
実はもう2時間以上迷っています(苦笑)
コマンドプロンプトで C:\php\ext\php_xmlreader.dll とうったら、指定されたパスが見つかりませんと出ました
991 :
990 :2009/09/16(水) 12:00:33 ID:jfE5YpuQ
解決しました
逆でした
php_xmlreader.dllというファイルが無いのに、extension=php_xmlreader.dllとコメントアウトをしていた為に駄目だったようです
良かったです
やっと解決したっぽいです
>>989 さん、ご協力有難うございました
ヒントになり解決できました
次スレ誰が立てるんだよ
>>970 あたりの奴が次スレ立てるようにテンプレいれてよ
>>991 コメントアウトの意味を逆に捉えていないか?
997 :
990 :2009/09/16(水) 12:17:18 ID:jfE5YpuQ
>>993 どういう意味ですか?
自分は、php.iniの使う部分の「;」を外し、コメントアウトするのだと思っていたのですが・・・
>>997 逆じゃよ。
コメント記号を付けて、その行をコメント扱いにしちゃうことを「コメントアウトする」と言うのがふつー。
999 :
990 :2009/09/16(水) 12:24:30 ID:jfE5YpuQ
ごめんなさい、では勘違いしてました 教えてくれて有難うございます
このスレは1000の風になりました
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。