【PHP】下らねぇ質問はここに書き込みやがれ 61
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/01/27(日) 18:17:59ID:jK32tI//PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2008/01/27(日) 18:19:14ID:jK32tI//1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
0003nobodyさん
2008/01/27(日) 18:20:07ID:jK32tI//11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
0004nobodyさん
2008/01/27(日) 18:20:39ID:jK32tI//21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0005nobodyさん
2008/01/27(日) 18:21:11ID:jK32tI//■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
(以下英語)
■Smarty http://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0006nobodyさん
2008/01/27(日) 18:22:00ID:jK32tI//【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/
0007nobodyさん
2008/01/27(日) 18:24:19ID:???0008nobodyさん
2008/01/27(日) 18:30:46ID:Nkn4j03s1000Get!!
0009nobodyさん
2008/01/27(日) 18:33:32ID:???>>997
国名でいいならAPNICのサイトからJPのIP割り当て範囲を調べ、
そのリストを作成してその範囲にマッチするか総当りチェック。
県名の場合は各プロバイダによるが、ホスト名から地域が推測できるので、
それのリストを作成してチェックする。
0010nobodyさん
2008/01/27(日) 18:34:22ID:???0011nobodyさん
2008/01/27(日) 18:39:08ID:???> ああ埋まってしまう。
> >>983
> それでOKです。串さされたらどうしようもないですし。
> 方法を教えてもらえませんか?
> 専用の変数があるんでしょうか?
漏れ串でなければ、追いかけるのは不可能。その串のログでも
参照しない事には無理。
>>9が言うように、推測でやるしかないので、専用の変数(←これは
関数のことをいいたかったのかな?)というものももちろん無い。
0012nobodyさん
2008/01/27(日) 18:44:53ID:IHMN/Cyj前もってリストが必要なんですね。
ご回答ありがとうございます。
>>11
HTTP_REFERER や HTTP_USER_AGENT みたいに
クライアントが発信する国名を
(もちろん情報発信はクライアント依存なんで正確性はアレですけど)
一発で取ってくれる方法があるかと思ってたんです。
そもそも国名なんかはこっちで推測するしかないんですね。
ご回答ありがとうございます。
0013nobodyさん
2008/01/27(日) 18:47:52ID:???-''":::::::::::::`''> ゆっくりしていってね!!! <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
|::::::;ノ´ ̄\:::::::::::\_,. -‐ァ __ _____ ______
|::::ノ ヽ、ヽr-r'"´ (.__ ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_ _,.ヘーァ'二ハ二ヽ、へ,_7 'r ´ ヽ、ン、
::::::rー''7コ-‐'"´ ; ', `ヽ/`7 ,'==─- -─==', i
r-'ァ'"´/ /! ハ ハ ! iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ ,' ,ゝ レリイi (ヒ_] ヒ_ン ).| .|、i .||
`! !/レi' (ヒ_] ヒ_ン レ'i ノ !Y!"" ,___, "" 「 !ノ i |
,' ノ !'" ,___, "' i .レ' L.',. ヽ _ン L」 ノ| .|
( ,ハ ヽ _ン 人! | ||ヽ、 ,イ| ||イ| /
,.ヘ,)、 )>,、 _____, ,.イ ハ レ ル` ー--─ ´ルレ レ´
0014nobodyさん
2008/01/27(日) 18:50:21ID:???そういうデータ売ってるとこもあるかも知れんが
まあ必要なら答えてもらえばいい
0015nobodyさん
2008/01/27(日) 18:57:43ID:???製品となっているからな。今はそれを買うか、
全部自分で作るかの段階だろう。
0016nobodyさん
2008/01/27(日) 19:02:00ID:IHMN/Cyjおお、これクライアントの希望指定言語を取得できるんでしょうか。
いいですね。
日本からのアクセスか、それ以外かで
英語表記と日本語表記を切り替えたいので、
こっちのほうが処理も軽そうです。
0017nobodyさん
2008/01/27(日) 19:11:35ID:???それだけの目的ならHTTP_ACCEPT_LANGUAGE見るだけでいいよ
英語と日本語なら、jp以外を英語にしとけばいいんじゃない?
あとは切り替え用によくみる国旗のリンクみたいの用意しとけばOK
0018nobodyさん
2008/01/27(日) 19:15:43ID:???クライアントで設定されているWebサイト閲覧の言語の優先順位情報だから適宜だね。
複数設定されてる場合はja,en-US;q=0.7,ko-KR;q=0.3とかになるんで留意の程。
0019nobodyさん
2008/01/27(日) 19:16:48ID:???0020nobodyさん
2008/01/27(日) 20:21:13ID:???0021nobodyさん
2008/01/27(日) 21:00:26ID:IHMN/Cyjアドバイスありがとうございます。
最初の二文字を切り取って判定するとよさそうですね。
>>19
言語判定だけじゃなくても保存しておけばソースとして有効でしょう。
情報は多いにこしたことはないかと。
0022nobodyさん
2008/01/27(日) 22:49:36ID:???.htmlで動くようにはなったのですが、404 NotFoundのエラーを返すときに完全な白紙になってしまいます。
これはなぜでしょうか。また解決法はないのでしょうか。ご教授お願いします。
CentOS5 , Apache2.1 , PHP5.1.6
-.htaccess-
AddType application/x-httpd-php .html
ErrorDocument 404 /error/404.html
-/error/404.html-
純粋なhtmlファイル
0024スレ”管理”人
2008/01/27(日) 23:11:01ID:???昼は仕事で忙しいので、昼は誰か良心的な方が仕切って下さい。
宜しくお願いします。
0026nobodyさん
2008/01/27(日) 23:25:25ID:???シュッ
シュッ ハ,,ハ シュッ
ハ,,ハ彡( ゚ω゚ ),ハ
( ゚ω゚ )彡ミ( ゚ω゚ ) >>24 お断りします
_(__つ/ ̄ ̄ ̄/_
\/ /
0027スレ””管理””人
2008/01/27(日) 23:37:50ID:???昼の人、あとはよろしくお願いします。
0029nobodyさん
2008/01/27(日) 23:50:30ID:JQB2UzdY本クラス
private 名前
private 値段
本棚クラス
private 本を入れる配列
部屋クラス
private 本棚を入れる配列
こういったクラスがあるとします。(ゲッター、セッターとかメソッドあり)
この時、部屋にある本の一覧を表示とかさせたい場合、どういった方法でやればいいのでしょうか?
foreachだとpublic以外取得出来ないみたいで、やり方がわからないんです。
よろしくお願いします。
0031nobodyさん
2008/01/27(日) 23:56:40ID:???0032nobodyさん
2008/01/28(月) 00:01:46ID:2wjTZIh4http://centossrv.com/ では
mysqlとphpの連結は書いてありますが、
php+postgresqlの連結が書いてありません。
書いているサイトとかしっていたらよろしくです。
文字コードはmysqlはutf8でpostgresqlはEUC-JPを使いたいのですが
これでいいですか?
default_charset = EUC-JP
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
mbstring.http_input = ASCII,JIS,EUC-JP,SJIS
mbstring.detect_order = ASCII,JIS,EUC-JP,SJIS
mbstring.substitute_character = none
もし板違いなら誘導をお願いします。
linux板で書いていたんですが、答えもらえず
ここにきました。
よろしくです。
0034nobodyさん
2008/01/28(月) 00:09:51ID:???いてれーたー。
0035nobodyさん
2008/01/28(月) 00:26:09ID:???0036nobodyさん
2008/01/28(月) 00:27:40ID:???mysqlとphpの連結ってのがどこに書いてあるのか分からんわ
入出力を自動でEuc-jpにしたい、ということなら encoding_translation=On が必要
ただこうしてもDBへのInsertなんかが勝手にEuc-jpになるわけじゃないからね
自前でmb_convert_encodingすることが必要で、これはアプリの実装次第
あとdefault_charsetでeuc指定すると、出力がUtf8決めうちの奴は化けるので夜露死苦
http://jp2.php.net/mbstring
0037nobodyさん
2008/01/28(月) 00:44:29ID:???この場合部屋クラスで IteratorAggregate を実装し、getIterator() によって Iterator を実装した自動回転式本棚クラスを返すようにすれば・・・
って PHP でわざわざそんなことするやつがおるかバカチン!
0038nobodyさん
2008/01/28(月) 00:46:58ID:???0039nobodyさん
2008/01/28(月) 00:52:51ID:???0040nobodyさん
2008/01/28(月) 00:56:45ID:???質問するのか良く分からないが、本棚クラスにPrivateで
今どの本を取り扱っているのかを管理する変数を置いてない
から、出来ないだけだろ。
これはPHPが悪いのではない。オブジェクト指向の理論を
理解していない方が悪いのだ。
004129
2008/01/28(月) 01:03:27ID:???>イタレーション
http://www.shigeweb.jp/php/project_p/?section=php5oop&page=iteration
ここら辺りでいいんですかね、ちょっと読んでみます。
>PHP でわざわざそんなことするやつが
普通に配列でやった方がいいってことですよね?
0042nobodyさん
2008/01/28(月) 01:14:30ID:???「デザインパターン オブジェクト指向」とかでぐぐって
見た方がいいかと。
オブジェクト指向を学ぼうとしているのか、それとも
今目の前にある問題を解決出来ればそれでいい、
という考えなのか、良く分からないのだが。
0043nobodyさん
2008/01/28(月) 01:14:57ID:???0044nobodyさん
2008/01/28(月) 01:19:07ID:???0046質問
2008/01/28(月) 01:24:42ID:CLWaFVui$arybox = imap_listmailbox($stream, $server, "*");
for ($i = 0; $i < count($arybox); $i++) {
list(,$name) = explode("}", imap_utf7_decode($arybox[$i]));
$line = explode(".", $name);
print ($line[count($line)-1]); ←この辺適当ですがw
}
のような感じでメールボックスの名前を表示させようとしています。
英語は問題ないのですが日本語のボックス名では文字化けと言うか
きちんと表示されません。
どのようにエンコードしても上手くいきません。
日本語できちんと表示させるにはどうしたらいいのでしょうか?
最終的にはUTF8で表示させたいのですが
よろしくおながいします。
004732です。
2008/01/28(月) 01:54:25ID:2wjTZIh4;; 出力バッファリングを無効にする
output_buffering = Off
;; HTTP charsetヘッダを設定
default_charset = EUC-JP
;; デフォルトの言語を日本語にする
mbstring.language = Japanese
;; HTTP 入力変換を有効にする
mbstring.encoding_translation = On
;; HTTP 入力エンコーディング変換を auto に設定
mbstring.http_input = auto
;; HTTP 出力を EUC-JP に設定
mbstring.http_output = EUC-JP
;; 内部エンコーディングを EUC-JP に設定
mbstring.internal_encoding = EUC-JP
;; 無効な文字を出力しない
mbstring.substitute_character = none
でいくもんね。
でもmysqlをeuc-jpに変えることってできるんですか?
パッケージインストールでも。
0048nobodyさん
2008/01/28(月) 02:03:38ID:???なんかDB的に意味ない設定してるけど、運がよい場合に限り不具合は出ないだろう
mysqlの糞うざい自動コンバートの問題などもう少し調べたほうがいいかと思う
004929
2008/01/28(月) 02:11:46ID:???前もオブジェクト指向的な質問をしてJavaを勧められました。
何がやりたいのかというと、
処理を実行して作られたデータ(DBから取ってくるとか)を1つのオブジェクトに入れておいて、
表示する時にそのオブジェクトからデータを取って表示したいんです。
オブジェクトが1つならいいんですが、オブジェクトの中にオブジェクトとかになると…。
その辺りをどう処理したらいいのかわかなくて質問させて頂きました。
0050nobodyさん
2008/01/28(月) 02:45:10ID:???結局あと何が問題なんだ?
自作クラスなんだからどうとでも好きなように作れるじゃん。
正しいポリモーフィズムで実装したいってなら話は別だが
0051nobodyさん
2008/01/28(月) 02:58:13ID:???データに対して「それを操作する」というアルゴリズムをオブジェクト見なす
データセットを舐めていく操作を最も汎用的な形にするとイテレータと呼ばれるものになる
これらをinterfaceや抽象クラスとして定義して利用する
データに操作を組み込みため、操作したいデータにinterfaceのメソッドを実装する
OO的思考
005229
2008/01/28(月) 03:04:19ID:???イテレータでいけそうです。
なんかオブジェクトの中のオブジェクトをとって、またその中の〜って感じで値を得るのが
いけてるのかな?と、もっと便利なやり方があるんじゃないのかと思ったのです。
質問に答えてくれた方々、ありがとうございました。
0053nobodyさん
2008/01/28(月) 03:08:49ID:???後学のためにRecursiveIteratorとかGoFのCompositeパターンを見ておくといいかも。
しかし部屋-本棚-本の場合はそういう発想にはあわないと思うね。
0055nobodyさん
2008/01/28(月) 03:29:30ID:???0056nobodyさん
2008/01/28(月) 04:33:31ID:???借りてるスペースでは使えないことが分かりがっかりしました。
どうすればいいでしょう?
0057nobodyさん
2008/01/28(月) 04:54:15ID:???0058nobodyさん
2008/01/28(月) 07:50:37ID:???なるのか決めてるのかなぁ。
「1番目、2番目の本棚」という感じでやるんだろうか。
本棚に収まっている書籍の特定も、何番目という数値で
いいのか、それとも名前がつけられるのかによって書き方は異なる。
前者でよければ、本棚とか何とか言うのは辞めて、
おとなしく配列でやった方がコーディングや処理が
早い場合も多数ある。
0059nobodyさん
2008/01/28(月) 08:41:43ID:bzu6tb73class name($value) {
var $aaa = "hoge";
var $bbb = 100;
function getTotal($value2) {
$tax = $this->price * 0.05;
return $this->price + $tax;
}
}
こんな感じのスクリプトがあったとき(構文自体は間違いがあるかも)
$value や $value2 と引数?が入ってることがありましたけれども
これは例えばどこからこれらの変数に値が渡されて、
結果どのような変数に値がわたっていくのでしょうか?
0061nobodyさん
2008/01/28(月) 09:07:27ID:bzu6tb73すみません。
質問の形を少し変えまして、$valueをこのクラスで活かすには
どのような形に書き換えればよろしいのでしょうか?
適当な例文などを示して頂ければ幸いです。
0062nobodyさん
2008/01/28(月) 09:09:27ID:bzu6tb73私が示しておりました文は確かにめちゃくちゃでした。
訂正いたします
class name($value) {
var $mono = "hoge";
var $price = 100;
function getTotal($value2) {
$tax = $this->price * 0.05;
return $this->price + $tax;
}
}
0063nobodyさん
2008/01/28(月) 09:17:33ID:???classに引数は渡せない。
だから
class name
{
var $aaa = "hoge";
var $price = 100;
function getTotal($value2)
{
$tax = $this->price * 0.05;
return $this->price + $tax;
}
}
なら分かるけど正直関数内で$value2が使われてないから無駄です。
$this->がついてるのはクラス内変数
何もついてないのは関数内変数(含 引数)。
0064nobodyさん
2008/01/28(月) 09:20:01ID:???いいや・・・
まず1点。1行目の
>class name($value)
ここはクラス名の宣言やら継承するクラスなどの指定をするだけ。
引数があるのはおかしい。
class Name {
とするのが正しい。
>function getTotal($value2) {
引数に$value2を指定しているのにもかかわらず、
このスコープ内において一度も出てきていない=不要。
0065nobodyさん
2008/01/28(月) 09:23:45ID:???クラスname : 商品を扱うクラス。商品名・単価をセットしたり、消費税を計算したりする。
$value : ?
$mono : 商品名
$price : 単価
getTotal : 消費税を加えた金額を取得する
$value2 : ?
パッと見では、クラスをnewする時に商品名・単価を設定したくて、それが$valueに入ってる?
$value2は分からん・・・getTotalの呼び出し元で一々代入せずに直接変数を設定してるつもりなのかな?
0066nobodyさん
2008/01/28(月) 09:31:55ID:???var $mono = null;
var $price = 0;
function setMono($butsu) {
$this->mono = $butsu;
}
function getMono() {
return $this->mono;
}
function setPrice($nedan) {
$this->price = $nedan;
}
function getPrice() {
return $this->price;
}
function calc($tax) {
return $this->price * $tax + $this->price;
}
}
$obj = new Name();
$obj->setMono("ペン");
$obj->setPrice(100);
echo $obj->getMono()."の定価は".$obj->getPrice()."円で、税込み".$obj->calc(0.05)."円です";
0067nobodyさん
2008/01/28(月) 09:56:26ID:???なんでコンストラクタ使わないんだよ・・・。
function name($mono, $price)
{
$this->setMono($mono);
$this->setPrice($price);
}
って入れるだろ。
0068nobodyさん
2008/01/28(月) 09:56:34ID:bzu6tb73私の文を訂正して頂きましてありがとうございました。
$value については、構文上正しくない書き方であることが分かりましたし
皆々様よりご丁寧な説明文とともに、納得のいく説明を頂きましたお陰で、正しく理解できたと思います。
$value2 についてなのですが、どうしてもこの変数(メンバ変数?)を使いたい場合は
66様の構文で言うところのどこに$value2を使ってあげるとよろしいのでしょうか?
重ね重ね至らぬ質問をいたしまして恐縮です。
0069nobodyさん
2008/01/28(月) 10:03:03ID:bzu6tb73お礼が遅れまして申し訳ありません。
ありがとうございました。
そのような構文の書き方ならば、functionの横に(引数)という形で書き入れても良いのですね。
参考になりました。
コンストラクタというのは、PHP5できちんと実装されたものだとマニュアルか何かで拝読いたしました。
私が使っている環境は、インターネット上のサーバに合わせている事もありPHP4.4.4をインストールしております。
そのような書き方でも大丈夫なのでしょうかと質問したいところなのですが
これは、自身で調べることにいたします。お手数かけまして恐縮いたします。
0070nobodyさん
2008/01/28(月) 10:04:57ID:???>function calc($tax) {
> return $this->price * $tax + $this->price;
> }
で$value2の代わりに$taxつかってるだろ。
ちゃんと嫁。
$taxを$value2って名前にしても同じ。
#因みにcalcって変数名はどうかと思う。
0072nobodyさん
2008/01/28(月) 10:16:51ID:???このあたりに書いているのを自分なりにアレンジしようとしたのか?
0073nobodyさん
2008/01/28(月) 10:57:17ID:bzu6tb73ご指摘ありがとうございます。
お陰様で不明点がひとつ解決いたしました。
72様
実はそうなのです。
「コンピュータ」の部分や、「価格」の部分を変数から受け取る形を作りたくて
試行錯誤しておりました。
66様のように書いておけば、66様の下4行という形で「ペン」「100」「0.05」の値を
変数で渡すようにすることで実現可能なのだということがわかりました。
皆々様、ありがとうございました。
0075nobodyさん
2008/01/28(月) 12:22:18ID:bzu6tb73励ましのお言葉ありがとうございます。
よろしければ、例題としてよい事例が挙げられているお勧めのサイトなど
ご存知でしたら、ご教授願えませんでしょうか?
質問にご回答頂いた上に厚かましい次第ですが、お聞き入れくだされば幸いです。
0078nobodyさん
2008/01/28(月) 12:41:20ID:???0079nobodyさん
2008/01/28(月) 12:49:30ID:???0080nobodyさん
2008/01/28(月) 13:01:19ID:???URL出すと宣伝乙といわれるから、自分にあったのを探せとしかいえないね。
Javaのほうが説明上手いとこが多い。PHPと構文はほぼ一緒なので理解できるはず。
0081nobodyさん
2008/01/28(月) 13:02:52ID:???は???
0082nobodyさん
2008/01/28(月) 13:18:47ID:???ソースを読むという方法もある。それ以外には自分なりに課題を決めて
やってみるのも手だな。
(例)認証をしてメインメニューに入るまでの過程のプログラムで、
認証をするオブジェクトと、メインメニューのオブジェクトを作り、
コーディングしなさい。IDとパスワードの確認は別ファイルにある
リストと一致するかを確認するものとする。
0083nobodyさん
2008/01/28(月) 13:21:20ID:wIYhLBDUif ($var == 1) {
} else if ($var == 2) {
}
とするべきか、
if ($var == 1) {
} else if ($var == 2) {
} else {
// ここにエラー処理
}
とするべきかよく分かりません。
全てに後者の方法でやるとコードが冗長になるし、
「// ここにエラー処理」に何を書くべきかよく分かりません。
ご教授よろしくお願いします。
0084nobodyさん
2008/01/28(月) 13:23:25ID:???0086nobodyさん
2008/01/28(月) 13:27:12ID:???上のほうで十分。あと、phpの場合は「elseif」と書く。
場合によっては下のほうも書くが、君がそれを何処で知ったのか。
その理由は何であるのか。を理解していないのであれば、
書くだけ無駄。
0088nobodyさん
2008/01/28(月) 13:34:10ID:???0089nobodyさん
2008/01/28(月) 13:35:14ID:???0092nobodyさん
2008/01/28(月) 13:39:12ID:???ここのような初心者向けスレで聞くと、その答えは前者になる。が、普通は後者。
動けばいい、安全性より速さ、落ちたらその時に考えればいいというなら、前者の方がベスト。
0093nobodyさん
2008/01/28(月) 13:39:35ID:???1と2しか値が入っていないこないと想定されるときに1と2以外が入ってきた場合の処理は例外処理だろ。
try〜catchだけじゃ無いぞ。
0094nobodyさん
2008/01/28(月) 13:42:46ID:???0095nobodyさん
2008/01/28(月) 13:43:40ID:???$text = '0x41';
echo preg_replace( '/0x[0-9a-f]{2}/ie', 'chr($0)', $text);
のようなことは ereg_replace ではできないと考えてよいのでしょうか?
0096nobodyさん
2008/01/28(月) 13:45:29ID:???中からのものならelse{echo '$varがおかしいぞー';print_r($var);}
とかデバッグ用にやってる 本番には消す 俺たいていプリントデバッグだし
0097nobodyさん
2008/01/28(月) 13:50:04ID:???0098nobodyさん
2008/01/28(月) 13:50:24ID:???http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
> e (PREG_REPLACE_EVAL)
> この修飾子を設定すると、preg_replace() は、(略)…
> この修飾子を使用するのは、preg_replace()のみです。 他の PCRE 関数では無視されます。
0099nobodyさん
2008/01/28(月) 13:53:49ID:???0100nobodyさん
2008/01/28(月) 14:00:11ID:???と表示されるでしょ?それは、この場合のelseになった場合だよ。
>>90
それは知らなかった。でも、公式マニュアルはスペース無しだw
0101nobodyさん
2008/01/28(月) 14:12:20ID:???オプションのeそのものが使えないのはわかるのですが
i の代わりになる regi のような文もあるかと思ったんですがなさそうですね。
0102nobodyさん
2008/01/28(月) 14:41:06ID:???ケース無視ってことなら
http://jp.php.net/manual/ja/function.eregi-replace.php
とかあるけども。
0103nobodyさん
2008/01/28(月) 14:45:36ID:???できないならできないで納得したので問題ないです。
0104nobodyさん
2008/01/28(月) 14:47:10ID:???自由度が高いし高速らしいのでやっぱりpreg使ったほうがよさそうですね。
0105nobodyさん
2008/01/28(月) 15:09:28ID:???0106nobodyさん
2008/01/28(月) 15:10:10ID:jMMNIxRZ<Response>
<Args>
〜中略〜
</header:Header>
<Body>
<itemSearch:ItemSearch xmlns:itemSearch="〜">
<count>151517</count>
<page>3</page>
<first>11</first>
<last>15</last>
<hits>5</hits>
<carrier>0</carrier>
<pageCount>100</pageCount>
<Items>
<Item>
〜以下略〜
このXMLにある <count>から<pageCount>までの値を取得する方法を教えてください。
PHP5対応です。商品情報は取得出来たのですがここが出来ません。
ご指導お願いします。
0107nobodyさん
2008/01/28(月) 15:10:35ID:21Z67c9t<A href="a/031.php?test=1">hoge</A>
<A href="http://yahoo.co.jp">ヤフー</A>
こういうソースがあったとして、
これを、URLとテキストそれぞれを配列で取得するにはどうやったらいいのでしょうか
$url[0] = "005.htm";
$url[1] = "a/031.php?test=1";
$title[0] = "テスト";
$title[1] = "hoge";
上記のように取り出したいです
0108nobodyさん
2008/01/28(月) 15:13:59ID:???0109nobodyさん
2008/01/28(月) 15:18:46ID:???0111nobodyさん
2008/01/28(月) 15:41:06ID:???simplexml+xpathで抜き出すのがよろしかろう
>>107
preg_matchで抜き出すのがよろしかろう
0114107
2008/01/28(月) 15:44:26ID:21Z67c9tありがとうございます
調べてみます
0115106
2008/01/28(月) 15:47:44ID:???$pageCount = $xml->Body->ItemSearch->pageCount;
echo $pageCount
上記のようにやってみましたがページが表示されません。
何か抜けているのでしょうか?
ちなみに商品データの方は
foreach($xml->Body->ItemSearch->Items->Item as $item){
中略
}
このような形で取得が出来ました。
0116nobodyさん
2008/01/28(月) 15:49:23ID:???preg_match_allだったわ
マッチ結果をforeachでぐるぐるすればOk
>>113
現実のサイトのhtml/xhtmlはxmlパーザで処理できないことはままある
0117nobodyさん
2008/01/28(月) 15:53:12ID:???<html><body>
<?php
$str = '<A href="005.html" target="top">テスト</A>
<A href="a/031.php?test=1">hoge</A>
<A href="http://yahoo.co.jp">ヤフー</A>';
$a = split("\n", $str);
$a0 = split('"', $a[0]);
$url[0] = $a0[1];
$a1 = split('"', $a[1]);
$url[1] = $a1[1];
$a2 = split('"', $a[2]);
$url[2] = $a2[1];
$b0 = ereg_replace(">", "", $a0[4]);
$b0 = ereg_replace("</A", "", $b0);
$title[0] = $b0;
$b1 = ereg_replace(">", "", $a1[2]);
$b1 = ereg_replace("</A", "", $b1);
$title[1] = $b1;
$b2 = ereg_replace(">", "", $a2[2]);
$b2 = ereg_replace("</A", "", $b2);
$title[2] = $b2;
echo "$url[0] : $title[0]<br>";
echo "$url[1] : $title[1]<br>";
echo "$url[2] : $title[2]<br>";
?>
</body></html>
0118nobodyさん
2008/01/28(月) 15:59:24ID:???0119nobodyさん
2008/01/28(月) 16:02:20ID:???0120nobodyさん
2008/01/28(月) 16:04:36ID:???> $pageCount = $xml->Body->ItemSearch->pageCount;
×ItemSearch
○itemSearch
視力検査的な回答で悪いけど
0121nobodyさん
2008/01/28(月) 16:08:59ID:???ページが表示されないとは?
echoに ; が無いようだけど
$pageCountに希望のデータが入ってないということなら
var_dump($xml->Body)するなどして変数の中身をチェック
基本は大事だよ〜
0122106
2008/01/28(月) 16:10:50ID:???レスありがとうございます。
ご指摘いただいた所は承知しています。
小文字にしても表示出来ません。
ちなみに商品データのところも ItemSearch と大文字にしてありますが
これを itemSearch と小文字にするとエラーがでてしまうようです。
0123nobodyさん
2008/01/28(月) 16:16:45ID:???そういえばsimplexmlはchildren()で名前空間の子要素を引っ張り出してから
処理しないと駄目だったかもw
まあぐぐって自己解決して
0124nobodyさん
2008/01/28(月) 16:30:27ID:???$pageCount = $is->children("")->pageCount;
めんどくさいな
list($pageCount) = $xml->xpath("//pageCount");
のほうが読みやすいと思う
0126106
2008/01/28(月) 16:48:49ID:???どの方法を試してみてもやはり駄目のようです。
もう少し調べて頑張ってみます。
0128nobodyさん
2008/01/28(月) 16:52:00ID:z4N7eEQgHtml("テスト");
function Html($test){
print <<< DOC
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html lang="ja">
<head>
<title>$test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>テスト</p>
</body>
</html>
DOC;
}
?>
このようなスクリプトがあるとして、ブラウザで見るとshift_jisと解釈されてしまいます。
metaとtitle要素の位置を入れ替えるとUTF-8で解釈されるようになるのですが
別のスクリプトではmeta、title要素の並びがこのままでもUTF-8と解釈されているものがあります。
スクリプトファイル自体は両方ともUTF-8で書いてありますしソースにも差異が見られないと思うのですが
(別のスクリプトからコピペしてきたものなので)
何か心当たりのある方はご教示頂けるとありがたいです。
phpのバージョンは5.2.5、ブラウザはIE系、サーバはhttpdを使ったlocalhostです。
0129質問
2008/01/28(月) 16:56:05ID:CLWaFVuiphpでIMAPをやろうとしています。今
$arybox = imap_listmailbox($stream, $server, "*");
for ($i = 0; $i < count($arybox); $i++) {
list(,$name) = explode("}", imap_utf7_decode($arybox[$i]));
$line = explode(".", $name);
print ($line[count($line)-1]); ←この辺適当ですがw
}
のような感じでメールボックスの名前を表示させようとしています。
英語は問題ないのですが日本語のボックス名では文字化けと言うか
きちんと表示されません。
どのようにエンコードしても上手くいきません。
日本語できちんと表示させるにはどうしたらいいのでしょうか?
最終的にはUTF8で表示させたいのですが
よろしくおながいします。
0130nobodyさん
2008/01/28(月) 16:57:21ID:???ファイルはUFT形式で保存してる?
ソースでUTF-8を指定してもShiftJIS形式で保存していたら意味ないし。
と言うか実際にそう言うミスをしているヤツが会社にいたから。
0132nobodyさん
2008/01/28(月) 18:00:11ID:???http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/charset.html#h-5.2.2
> META宣言は、少なくともそのMETA要素がパースされるまでの間はASCIIの範囲内のバイト値が
> ASCIIと同じ文字を表すような文字符号化方法が使われている場合にのみ用いることができる。
> META宣言は、 HEAD要素の、可能な限り先頭の方に現れねばならない。
というかheader()でcontent-type吐いてやるのがベストだと思うけど
0133nobodyさん
2008/01/28(月) 18:01:44ID:z2UAw/twソースもUTF-8で保存しています。
>>131
あら、ちゃんと解釈されましたかorz
こちらはIE系だとダメでしたがFxだとUTF-8で解釈されていました。
もうちょっと調べてみます。
0134nobodyさん
2008/01/28(月) 18:02:58ID:z2UAw/twheader()を使うのがベストなのはわかるのですが
同じように書いたのに挙動が2通りあるのが釈然としないのです。
0135nobodyさん
2008/01/28(月) 18:04:41ID:z2UAw/tw0136nobodyさん
2008/01/28(月) 18:07:39ID:???html的には
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
のメタタグに関してはtitleより先にもってこないといけない
あとapacheとかphp側で吐いてるheaderによって文字コードが設定されてしまう事が多々ある
なので明示的にmb_http_outputで出力文字コードを設定してやれば
文字化けを起こすことはかなり低くなると思うけど
0138nobodyさん
2008/01/28(月) 18:38:13ID:z2UAw/twサーバ側とかphp側の設定にもよるかもしれないですね・・・
>>137
meta要素が解析されるまで同じASCIIコードの文字コードが使われている時に
meta宣言ができるという解釈でいいですか?
この場合いきなりhtmlソースになったから文字コードの解析がおかしくなった、ということでしょうか。
0139nobodyさん
2008/01/28(月) 19:14:11ID:???これで出来た。
mb_convert_encoding($val, "utf8", "utf7-imap")
imap_utf7_decodeは一体何のために・・・
0140nobodyさん
2008/01/28(月) 19:18:01ID:???0141nobodyさん
2008/01/28(月) 19:18:56ID:???0143nobodyさん
2008/01/28(月) 19:26:54ID:???前スレでも同様の質問があったな
788 nobodyさん [sage] Date:2008/01/24(木) 18:15:08 ID:??? Be:
>>783
http://phpspot.org/blog/archives/2005/12/pop_before_smtp.html
これ読んでpopbeforsmtpで送れば?
0144nobodyさん
2008/01/28(月) 19:33:43ID:???http://mizushima.ne.jp/MailStructure/MailStructure.php
0145nobodyさん
2008/01/28(月) 22:11:24ID:hM6vuV4g$array1 = array('男','女','その他');
$array2 = array($array1,$array1,$array1);
print_r ($array2);
if(in_array('男',$array2))
{
echo "あり";
}
else
{
echo "なし";
}
として検索すると「なし」が出ます。
実行結果
Array ( [0] => Array ( [0] => 男 [1] => 女 [2] => その他 ) [1] => Array ( [0] => 男 [1] => 女 [2] => その他 ) [2] => Array ( [0] => 男 [1] => 女 [2] => その他 ) ) なし
どうすればいいでしょうか。
0146nobodyさん
2008/01/28(月) 22:20:24ID:???if(in_array('男',$array1))
{
echo "あり";
}
else
{
echo "なし";
}
0147nobodyさん
2008/01/28(月) 22:23:15ID:???どういうことか、分かるよね。
0148nobodyさん
2008/01/28(月) 22:26:18ID:???$array2を1度分解して1次元の配列にすれば解決。
0149nobodyさん
2008/01/28(月) 22:27:49ID:???$array1 = array('男','女','その他');
$array2 = array($array1,$array1,$array1);
print_r ($array2);
foreach ($array2 as $key => $ary1) {
if(in_array('男',$ary1))
{
echo "あり index=>".$key."\n";
}
else
{
echo "なし";
}
}
0150nobodyさん
2008/01/28(月) 22:33:39ID:hM6vuV4g0151nobodyさん
2008/01/28(月) 22:36:43ID:E8VxvVW/そのURLにGETメソッドの形でパラメータつけていって、遷移先のページで
その情報をキーにしてページを生成させる場合があると思います。
そういう場合、移動先のページでユーザがブラウザのURL欄を編集して
こちらの想定外のページを表示させることがあると思うんですが、
こういう対処どうしたらいいんですか?
そんなバカなことする奴は無視?
それしきの細工で致命的な想定外動作を生むようなプログラム書くやつがアホ?
結構悩んでしまいます GETメソッドまったく使わないわけにいかないし
0152nobodyさん
2008/01/28(月) 22:39:26ID:???ユーザは何するか分ったもんじゃないってことを前提にやっていかないとダメでふ。
要するに対策しないとダメってことでふ。
0154nobodyさん
2008/01/28(月) 22:42:21ID:???なんでも、ユーザーのせいにするのは頭が悪い設計者の考え。
設計者は、あらゆるケースを想定して対策を講じなければいけないし、
そのようにしないと、一定のセキュリティーは保てない。
0155nobodyさん
2008/01/28(月) 22:46:46ID:???致命的想定外を起こさないために当然チェックはしてるんでしょ?
必要な変数が渡されてるか、渡された変数が正しいものかとか。
おかしかったらページを生成せずに警告かえしとけばいいわけで。
0157nobodyさん
2008/01/28(月) 22:56:40ID:hM6vuV4gphpからコマンド叩いて「rootユーザとしてログイン」して作業を行いたいんですが、
そもそもphpからrootユーザでのログインはできるんでしょうか。
0158nobodyさん
2008/01/28(月) 22:58:22ID:???それしきの細工で致命的な想定外動作を生むようなプログラム書くやつがアホ? →アホ
お前の書いてるとおりだよ 両方
0159nobodyさん
2008/01/28(月) 22:58:50ID:???それをphpからっていうと、ソケットで送信することになりますが、可能です。
0160152
2008/01/28(月) 23:02:52ID:???叩いてる奴同一人物だろ?頭悪いな。
0162nobodyさん
2008/01/28(月) 23:06:15ID:hM6vuV4g<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>
0163nobodyさん
2008/01/28(月) 23:06:43ID:eFFy9q14現在ウインドウズサーバに、VNCをインストールしてリモート操作しているが、やはり、これで接続して操作しようとすると、スクロール動作など反応が遅くやりづらいので、tera termなどの通信ソフトを使ってサーバをリモート操作しようと思います。
しかしこのソフトって本来リナックスサーバ用のソフトですよね。
私のように、ウインドウズをサーバにして使っているような環境でも動作するものなのかな?
0165nobodyさん
2008/01/28(月) 23:11:51ID:???普通の人はWindowsXPあたりで開発もするし、デバッグもApacheを入れて同じPC上で行う。
0166nobodyさん
2008/01/28(月) 23:12:07ID:hM6vuV4g0167nobodyさん
2008/01/28(月) 23:13:59ID:hM6vuV4g0168nobodyさん
2008/01/28(月) 23:14:34ID:???同一のローカルネットワーク内なら
ファイル共有しちぇばいいんじゃ?
というか激しくスレ違いな
>>162
ただのコマンドうちたいだけならそれでいいと思うんだけど
別にrootにならなくてもどーとでもできるよ?
0169nobodyさん
2008/01/28(月) 23:17:48ID:???0170nobodyさん
2008/01/28(月) 23:18:05ID:hM6vuV4g0172nobodyさん
2008/01/28(月) 23:21:59ID:???0173nobodyさん
2008/01/28(月) 23:22:15ID:???0174nobodyさん
2008/01/28(月) 23:26:51ID:???0175nobodyさん
2008/01/28(月) 23:33:33ID:???一応できる
まぁ
http://jp.php.net/manual/ja/ref.ssh2.php
こういうのいれてやる方がいいのかもしれない
0176nobodyさん
2008/01/28(月) 23:40:25ID:???そんで、改ページを挿入したいんですが、やり方が判らないです。
HPageBreaksメソッドを使えば出来ると思うのですが・・・
Ver等ですが、PHP5.1.2+Win2003です。
0177nobodyさん
2008/01/28(月) 23:41:28ID:5bZSpkHc0178nobodyさん
2008/01/28(月) 23:46:57ID:hM6vuV4g0179質問
2008/01/29(火) 00:46:04ID:8zOSMWfb$arybox = imap_listmailbox($stream, $server, "*");
for ($i = 0; $i < count($arybox); $i++) {
list(,$name) = explode("}", imap_utf7_decode($arybox[$i]));
$line = explode(".", $name);
print ($line[count($line)-1]); ←この辺適当ですがw
}
のような感じでメールボックスの名前を表示させようとしています。
英語は問題ないのですが日本語のボックス名では文字化けと言うか
きちんと表示されません。
どのようにエンコードしても上手くいきません。
日本語できちんと表示させるにはどうしたらいいのでしょうか?
最終的にはUTF8で表示させたいのですが
よろしくおながいします。
0182nobodyさん
2008/01/29(火) 02:08:47ID:???0184nobodyさん
2008/01/29(火) 06:29:06ID:???!: : : .::::;:'. : : : :' ,::::::. : : :l.:|
',: .::::::/. : : : : : :.ヽ:::::. : :l、!
ト、:::/: : : : i : : : : ヽ::::::/ l
ヽ. l: : : : : l : : : : : :lノ' ノ!
l: : : : :ハ: : : : : :.lテ´ |'
,!: : : :i l:: : : : : l /
/!: : .::lーl:: i: : : :| トトト---- 、
_ /」: : :l:| l:: |: : : :l- 、_ 」 ヽイ
/l l l: l: :|:l l: |i: : : l l l ヽ ミ rn 〈
! l l !:l|: l!l j/ l: : /l // | ス ,ィ7」j l77¬. }¬、
! ヽヽ|! l:| | / /:.イ/// l _rー┘lV t:::/ ! V z::: lー{ / _,\ >>182 頼む!一発やらせてくれ!!
| | `l|ヽl! ___/'´/'´イ l /'´/┴---- ' | ' ----┴ヘ ヽ.|
l ! | ┬/ '´ | |{|_l_____/\_____| ヽ_〕
! :.l ! !:. l l/ | />  ̄` <ヽ__\ L「
| ::.', | !:. | lハ | lc | / | |ヽ|
! ::::} ! !:: l l V l 、 l !./ー' i
/ .:/ i |:: | i cV!_!_|' |
0185nobodyさん
2008/01/29(火) 07:27:13ID:AL6Mrzhd<td>
あいうえお 123456 </td>
<td>
数字だけを抽出したいのですがうまくいきません
preg_match('/<td>\n\s*.*\s([0-9]+)\s<\/td>\n<td>/', $buf,$match);
echo $match[1];
こういう場合は一旦全部抽出させてereg_replaceで「あいうえお」を削除したほうがいいのでしょうか
よろしくおねがいします
0187nobodyさん
2008/01/29(火) 07:57:57ID:???0189nobodyさん
2008/01/29(火) 08:50:53ID:ak6dtF+8$match = preg_replace("/[^0-9]/", "", $text);
0190nobodyさん
2008/01/29(火) 08:59:06ID:???あいうえお 123456 </td>
<td>
html 自体おかしいな
http://w3g.jp/xhtml/dic/td
0191nobodyさん
2008/01/29(火) 09:23:39ID:AL6Mrzhd文字は固定なので一旦抽出してから削除する方法にしました
0192nobodyさん
2008/01/29(火) 09:30:48ID:rqLkKeN0-----------------------------------------
POST http://localhost/Project/POST_TEST/index2.php HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencode
Content-Length: 16
新宿 居酒屋
-----------------------------------------
これを$requestに入れて、
header($request);
header("Location: index2.php");
のようにしても、
「Header may not contain more than a single header, new line detected」
のようなエラーが出力されます。
どのようにしてPOSTを送信して、送信先のページに結果を表示させることができるのでしょうか?
0193nobodyさん
2008/01/29(火) 12:38:45ID:???0194nobodyさん
2008/01/29(火) 12:57:49ID:???0196nobodyさん
2008/01/29(火) 13:04:59ID:3emMDaRd$a=123456;
$aをlong(4バイト整数)とした場合にこれの
上位ワード、下位ワードを取得して更に上位バイトと下位バイトにわける方法を教えてください
CでAPIを使ったイメージで言うと
awh=HIWORD(a);
awl=LOWORD(a);
abl=LOBYTE(a);
みたいな関数があったら教えてください・・
0197nobodyさん
2008/01/29(火) 13:10:28ID:???chmod()でファイルをアップロード後に、特定のパーミッションにしてるんだけど
レンタルサーバーで試すと、エラーが出てしまう。
しかし、エラーが出ていてもちゃんとそのファイルのパーミッションは変更されているので
現在は@つけてエラー無視してるんだけど、何が原因なのかわからない・・
chgrp()、chown()などは利用することが出来ないレベルの権限です。
フォルダ構成は
[public_html/0755] - index.php
- [img/0777] - アップされた画像ファイル(これの権限)
- image.php(アップを実行しているファイル)
環境:
Server:FreeBSD/ PHP4.4.2 /スーパーユーザーの権限はなし。
よろしくお願いします。
0199197
2008/01/29(火) 13:17:56ID:R+uUiaBI該当箇所でのエラーは下記です。
Warning: chmod(): Operation not permitted in /エラーを出したファイルへのパス/
0202197
2008/01/29(火) 13:23:26ID:R+uUiaBI試しに該当箇所のソースをコメントし、ただ単純に
アップしてみたところ644になってました。
なぜ今回PHP上からパーミッションの変更がしたかったかと
いいますと、ユーザーが画像やテキストファイルなどをアップした場合
後に削除要望がある場合を想定して、ファイルの権限やパーミッションを
削除可能な権限にしておきたいと思ったからです。
0204197
2008/01/29(火) 13:31:40ID:???ありがとうございます。おっしゃるとおりなんですが、
なぜエラーが出ているのに、変更は出来ているのかというのが
疑問でして・・
自分自身が設定希望のパーミッションは0755です。
0644でも問題はないのですが、パーミッションが変更出来ないなら
出来ないでいいんですが、出来ているのが気持ち悪いというか・・
よくわからない質問ですみません。
0205nobodyさん
2008/01/29(火) 13:36:15ID:???直接Cのintのバイト列にはさわれないし、無理じゃないかなぁ。
それとも、単純にビットシフトをサボりたいだけ?
エンディアンはどーしたいの
0206nobodyさん
2008/01/29(火) 13:39:07ID:3emMDaRdシフトできるんですか?できるならシフトでもかまいません。
Cみたいに普通に
$b=($a>>8)&0xFFFF;
ってできますか?
0207nobodyさん
2008/01/29(火) 13:51:52ID:???0208nobodyさん
2008/01/29(火) 14:04:23ID:3emMDaRdHPみてもこれ載ってなかったからできないものと思い込んでました・・
ちなみにこれ知らなかったのでわざわざHEX文字にしてsubstrで2バイトとって
それをintvalでってめんどいことしてました。
あー!
0209nobodyさん
2008/01/29(火) 14:08:03ID:???$long = 0xab1fe22;
printf("%08xh\n", $long);
printf("%08xh\n", $long & 0xffff);
printf("%08xh\n", ($long & 0xffff0000)>>16);
みたいのではだめ?
関数でやりたいんなら自作して使うとか。
0210nobodyさん
2008/01/29(火) 14:08:33ID:???0211nobodyさん
2008/01/29(火) 14:12:43ID:???windows xpにApache2 + php4 + pear標準のみの環境で
XML UnserializerとXML Parserを制作しているphpプログラムの
libsディレクトリ内に配置して
ini_set('include_path', 'libs' . PATH_SEPARATOR . ini_get('include_path'));
っとインクルードパスを設定しているのですが
Fatal error: Class xml_parser: Cannot inherit from undefined class pear in 〜libs\XML\Parser.php on line 96
のようなエラーが出てしまいます。
これはPEAR.phpをインクルードできていないのでしょうか?
それとも他に原因があるのでしょうか?
0213nobodyさん
2008/01/29(火) 14:23:36ID:3emMDaRdすんません。
普通にシフトが使えたのでそれでできました。
0214nobodyさん
2008/01/29(火) 14:41:58ID:3emMDaRd例えば、
$b = sprintf( "%c%c%c%c%c", 1, 2, 3, 4, 5 );
としたときに、$b[2]の値(ここでは3)を取り出したいのですがどうすればいいでしょうか?
一応Cのバイトの配列をイメージしているのですがうまくいきません・・・
0215nobodyさん
2008/01/29(火) 14:47:08ID:???ord($b[2])とかすりゃ出来るけどそんなことせんでも普通の数値配列ではダメなんか。
細々と質問するより全体として何をしたいのか書いたほうが良いんじゃないかな。
0216nobodyさん
2008/01/29(火) 15:00:13ID:3emMDaRd嗚呼、またそういう便利なのがあるんですね数値配列とかって
そうです、まさにそれがほしかったのです・・・
それはどのようにしたらいいのですか?
ちなみに、やりたいことはというと、LANでバイナリデータを送信したいのですが
最初に送信すべきデータを$bufにぶちこんで、そのデータ和を求めてそれを最後に送信みたいな・・・
その和を求めるところでひっかかっています。
0217nobodyさん
2008/01/29(火) 15:08:57ID:3emMDaRdordでざっくりできました。
ありがとうございました。
0218nobodyさん
2008/01/29(火) 15:27:08ID:???数値配列って言ったのはバイト配列型が専用にあるわけじゃなくてただ単に汎用配列型に数値を入れるという意味だったんだけどね。
なるほどそれなら文字列バッファのが都合がいいかもね。
http://jp.php.net/manual/ja/function.pack.php
http://jp.php.net/manual/ja/function.crc32.php
とりあえずこの辺も参考にはなるだろうか。
0219nobodyさん
2008/01/29(火) 16:03:55ID:3emMDaRdありがとうございます。
参考にさせていただきます。
0220nobodyさん
2008/01/29(火) 16:47:11ID:???0221nobodyさん
2008/01/29(火) 16:48:44ID:???0222nobodyさん
2008/01/29(火) 16:50:21ID:???いや、普通に検索すると糞重たいから
せめて付加減らそうとフィールドのみ読み込んでみたり・・・
1000万件もあるとやはり時間かかるなぁ・・・
0225nobodyさん
2008/01/29(火) 16:53:43ID:???ドラゴンボール板でやれ
0226nobodyさん
2008/01/29(火) 16:57:17ID:???0227nobodyさん
2008/01/29(火) 17:07:15ID:???0228nobodyさん
2008/01/29(火) 20:28:15ID:???今日ふとしたキッカケで出来た。こんなに便利なものがあるなんて・・・
ぜひ使ってみることをお勧めします。
いや、宣伝ではないです。
0229nobodyさん
2008/01/29(火) 20:30:09ID:???PEARのお世話にほとんどなっていない。
フレームワークとライブラリは違うものなはずなのになぜだろう?
0231nobodyさん
2008/01/29(火) 21:11:07ID:5qvQ61c2C:\Documents and Settings\Administrator\My Documents\11.3.jpg
みたいに保存されてたファイル先を表示してくれるけど
どうやったらでますか?
教えてくださいえらい人
0232nobodyさん
2008/01/29(火) 21:14:23ID:t20Dm/Gk./configure --with-apxs2=/usr/sbin/apxs --enable-magic-quotes --with-xml --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/ --enable-ftp --with-zlib
インストールしようとしたのですが、
configure: error: Cannot find MySQL header files under /usr/.
Note that the MySQL client library is not bundled anymore!
xmlやらzlibやらのエラーは解決できたのですが、このエラーの解決方法だけ分かりません。
mysqlは/usr/下にあるのに。。。
0233nobodyさん
2008/01/29(火) 21:16:08ID:t20Dm/Gkfind / -name mysql/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/var/spool/mail/mysql
/var/lib/mysql
/var/lib/mysql/mysql
ググってみると皆さんmysqlを/usr/local/mysqlディレクトリにインスコしているようで、、、
実はmysqlだけは手間省くためにパッケージマネージャからDLしたんです。
0234nobodyさん
2008/01/29(火) 21:18:28ID:???ソースは見れないから本当の仕組みは分からないけれど、
ファイルをアップロードする時に、画像ファイルのパスもPOSTしていて、
それを表示しているんじゃないの?
0237nobodyさん
2008/01/29(火) 21:41:12ID:5qvQ61c2POSTしてないようですね
javascriptかなんかかな
move_uploaded_fileじゃとれないんだよね
0240nobodyさん
2008/01/29(火) 21:50:21ID:ez1qkwY6mb_encode_mime_header()について質問なのですが。
メールを送信するスクリプトがたまに送信に失敗するので調査していたところ
どうやら、送信先アドレス(to)がこちらが意図しない文字に
変換されていることに気づきました。
具体的には、文字の中に、'_'(アンダーバー)が入っているときに
エンコードしているようです。
この関数は必要なときだけエンコードする、と思っていたのですが
そうではないのでしょうか?
以下、試したことです。
kruser@saga /tmp]$ php -v
PHP 4.4.7 (cli) (built: Jan 5 2008 18:39:15)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
[kruser@saga /tmp]$ php -r "echo mb_encode_mimeheader( 'abc@example.com' ) ;"
abc@example.com
↑
そのまま
[kruser@saga /tmp]$ php -r "echo mb_encode_mimeheader( 'a_bc@example.com' ) ;"
=?ISO-2022-JP?B?YV9iY0BleGFtcGxlLmNvbQ==?=
↑
変換されてる
0241nobodyさん
2008/01/29(火) 22:05:54ID:???いまいち話の流れが分からないので、具体的にソース書いてみる。
ファイル名:test.php
<html><body>
<?php
echo "<hr>";
echo $_POST["TENSOU"];
echo "<br><hr>";
?>
<form method="POST" action="test.php">
ファイル:<input type=file name="TENSOU"><br>
<input type=submit value=" 送信 ">
</form>
</body></html>
「POSTしてないようですね。」の意味もよく分からない。
そのmixiにPOSTが全く見当たらないという意味?
0242232
2008/01/29(火) 22:40:52ID:t20Dm/Gk0243nobodyさん
2008/01/29(火) 22:44:42ID:???こちらの環境ではそういう問題は起きなかった。
なので、私にははっきりとした原因が分からない。
一度、違うバージョンのPHPで試してみるとかやってみるといいかもしれない。
あと、検索してて見つけたものを貼っておく。このあたりが関係しているかもしれない。
ttp://www.akiyan.com/blog/archives/2006/03/phpmb_encode_mi.html
0244nobodyさん
2008/01/29(火) 22:53:29ID:???なんで混同してるんだ?
0245nobodyさん
2008/01/29(火) 22:57:32ID:???もう自社開発しかねえな。
0246nobodyさん
2008/01/29(火) 22:57:54ID:???俺は>>238ではないが、諦めてXAMPPを入れるとかどうかな?w
ttp://www.apachefriends.org/jp/xampp-linux.html
devというと、開発パッケージか、デバイスのことを意味するんだと
思うけれど、具体的には私も分からない。
0247nobodyさん
2008/01/29(火) 22:59:45ID:???続きはこちらのスレでどうぞ。
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0248nobodyさん
2008/01/29(火) 23:34:27ID:ez1qkwY6レスありがとうございます。
4系最新版の4.4.8と
5系最新版の5.2.5でそれぞれ発生することを確認してます。
また、少し前のバージョン(4.3だったかな?)の
mbstringのバグは知ってましたが
日本語のエンコードがおかしいわけではないので違うかな、と思ってました。
今は試せる環境にないので、明日にでも確認してみます。
ところで、そちらでは起きないとのことですが
バージョンはいくつでしょうか??
0249nobodyさん
2008/01/29(火) 23:41:49ID:RmUTKffD任意のサイズまでダウンさせたり出来るプラグインとかないですかね?
画像のフォーマットを変えることが出来るんだしそんなのもひょっとしてあるかなぁーと
思って質問しました
0250nobodyさん
2008/01/30(水) 00:11:06ID:???どこのディストリか知らんがヘッダーファイルをまとめた開発用パッケージが提供されているだろう
/usr下にインスコしたならヘッダは/usr/inclue/mysql*あたりにあるはずだからそこを指定してconfigure
0252nobodyさん
2008/01/30(水) 00:29:20ID:???チラッとソース見た感じ仕様っぽいけど。
届かないってことは、もしかしてメールアドレスをmb_encode_mimeheader()にかけてるの?
0254242
2008/01/30(水) 00:44:10ID:e4VjwXRY(mysql.comのmysql5.1downloadのページの一番下のsourceってやつでいいんですよね、、、ここが一番不安)
カイトーして./configureしてmakeしてmake installまで、けっこうつまづきましたが、できました。
で、データベースをインストールしようとしてmysql_install_dbを実行したもののエラー。
保留してデータベースにアクセスすると前パッケージマネジャでインスコしたときに作ったデータベースが残ってた。
てかパッケージからインスコしたsqlをアインストールするの忘れてたw
で、パッケージの方のsqlは削除できたんだが、ソースからのsqlはどうやって削除するのだ?
0255242
2008/01/30(水) 00:45:58ID:e4VjwXRYでもlinux(fedora)にソースから導入しようとすると、、、もうかれこれ半日は経ってる。。。
0256nobodyさん
2008/01/30(水) 00:51:27ID:???毎度のことだけどさ。
0257nobodyさん
2008/01/30(水) 00:55:07ID:???0259nobodyさん
2008/01/30(水) 00:59:23ID:???街中でヘルメットかぶって自転車にのっている
二人組みの外人。みたことあるでしょ?あれ。
0260nobodyさん
2008/01/30(水) 01:01:42ID:9pKjffNB情報が小出しになって申し訳ありません。
実際のスクリプトではmb_send_mail()を使ってます。
内部ではmb_encode_mimeheader()を使っている、みたいなのを見て
テストのためにmb_encode_mimeheader()を使いました。
実際にメールが送られたら困ると思って^^;
よくよくマニュアルを見てみると
私が>>240で書いてる
「必要なときだけエンコードする」というのが間違いのようですね。
http://www.php.net/manual/ja/function.mb-encode-mimeheader.php
を見ると、日本語部分とアドレス部分が分けて処理されていました。
ご指摘の件、mb_send_mail()に渡されている"to"をもう一度確認してみます。
0262232
2008/01/30(水) 01:20:25ID:e4VjwXRYずっとPCに張り付いててわけがわからなくなってきた、ここで整理。
windowsからlinux環境に移していて、linuxでデータベース(mysql)がうまく起動していないことが判明。
→phpinfo()を見てみると「--without-mysql」が指定されていることを発見。
→PHP再コンパイル試みるも./configureコマンドを叩くと「mysqlのheader fileが無い」と怒られる。
→血迷ったのかいきなりmysqlをソースからコンパイルし始めて5、6時間を潰す。。。
→整理していて泣けてきたので誰かエラー直してください org...
ちなみに>>250さんのいってたように/usr/include/ファイル探してみたんですが、mysql関連のものは無かったです。俺の半日...
0263232
2008/01/30(水) 01:23:26ID:e4VjwXRY0264nobodyさん
2008/01/30(水) 01:30:08ID:???→PHP再コンパイル試みる ← 間違い
・mysql/mysqliのdsoをコンパイルする ← おしい!mysqlのdevelパッケージが必要
・yumでphp-mysqlを入れる ← せいかい!一番簡単!
あとはよそでやれ
0265nobodyさん
2008/01/30(水) 01:37:29ID:???0266232
2008/01/30(水) 01:53:02ID:e4VjwXRY0267nobodyさん
2008/01/30(水) 02:11:23ID:???PHPは現代では害悪
ttp://www.rubyist.net/~matz/20080126.html
失笑w
0268nobodyさん
2008/01/30(水) 02:17:20ID:???0269nobodyさん
2008/01/30(水) 02:23:29ID:???0270nobodyさん
2008/01/30(水) 02:37:20ID:???どうせ仕事にゃ使えないしw
0271nobodyさん
2008/01/30(水) 02:53:41ID:???いい意味で敷居が低く、悪い意味で適当。
そりゃこんな楽なら普及するわと納得したよ。
楽過ぎて他のができなくなりそうなくらいにw
0272nobodyさん
2008/01/30(水) 03:19:00ID:???漢は黙って放置だ。
PHPはきえるべきと主張してる人は少なくないけど、
そんな嫌われ言語を良い方向へ導いていこうぜ。
0273nobodyさん
2008/01/30(水) 03:25:56ID:???ようするにエリートとしての自意識から善意で言っちゃうんだろうな
0274nobodyさん
2008/01/30(水) 03:32:03ID:???0275nobodyさん
2008/01/30(水) 04:51:54ID:???0276nobodyさん
2008/01/30(水) 07:50:12ID:???0277nobodyさん
2008/01/30(水) 08:09:50ID:???PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0278nobodyさん
2008/01/30(水) 09:07:58ID:Pk8IBekkpostが成功するまでwhileする物を作ったのですが
breakをbreaと書いてしまい永久ループになってしまいました。
このphpを閉じても30分ほど作動したままなのですが………
もしかしてサーバーサイド側でしか止められないのでしょうか?
それとも光速にpost命令が溜まっているだけでしょうか?
0279nobodyさん
2008/01/30(水) 09:26:36ID:???てっきり歴代の人物かと思ってた
0280nobodyさん
2008/01/30(水) 09:27:46ID:???0281nobodyさん
2008/01/30(水) 09:28:37ID:???他の言語・・・PHPが一番普及しているからって
たたいても何も変わらないぞ。
まず、Rubyは初心者にとっても使いやすい簡単な言語だと
認知させなきゃ。そして初心者が大量に増えて
セキュリティ問題で苦しめw
0282nobodyさん
2008/01/30(水) 09:28:48ID:???php.iniの設定によると思う
PHPのタイムアウト値がデフォルトならそのうちとまる
タイムアウトが無効になってるならとっととアパッチ止めれ
0283nobodyさん
2008/01/30(水) 09:29:36ID:???スパム投稿には弱そうだと感じています
そこで、captchaのような機能を付加したり、そもそも本流のスクリプトがバージョンアップ
していればそういったものを使いたいと思っているのですが、この板内で探してみても
検索しても適当な場所が見つからずに困っています
該当するような機能の実装に付いて説明していたり該当するような強化版のような
スクリプトを配布しているところをご存知でしたらお教えいただけますでしょうか?
よろしくお願いいたします
0284nobodyさん
2008/01/30(水) 09:35:17ID:???適当なcaptcha落とせばサンプルコードも付いてくるでしょ
経験的にあの手のスパムは手動だから、BBQで串はじいて、あとは管理スクリプトを自前で用意するしかないね
ブログだと、投稿IPとか指定単語で根こそぎデリるアドオンとかある
0285nobodyさん
2008/01/30(水) 09:40:36ID:???色々あるからぐぐれ
0286nobodyさん
2008/01/30(水) 09:47:42ID:???>>284
captcha側からコードを読んで実装するのが面倒なので、ふたばのスクリプトがバージョン
アップしていて、かつ配布されていないかと思って質問したのですが該当しそうなところは
ないものでしょうか?
>>285
上記のことに関連しますが、スパム対策のコードを埋め込んでというのが面倒なのです
該当するようなところは既に検索(Google)してみたのですが、
どこも2005年くらいでバージョンアップが止まっているようでして…
0287nobodyさん
2008/01/30(水) 09:48:57ID:???0288nobodyさん
2008/01/30(水) 10:38:33ID:9nM+3WHh検索結果として「100円〜」「〜1000円まで」「100円〜1000円まで」
という3パターンがあるかと思います。(※値は仮です)
これをMySQLのWHERE部分として検索する場合、
if(!empty($price1) && empty($price2)){ //price1のみ
$search_key = "price>='$price1'";
}elseif(empty($price1) && !empty($price2)){ //price2のみ
$search_key = "price<='$price2'";
}elseif(!empty($price1) && !empty($price2)){ //両方
$search_key = "price BETWEEN '$price1' AND '$price2' ";
}
としているのですが、ソースが長くなりすぎて困っています。
何か良い書き方はないでしょうか?
0291288
2008/01/30(水) 11:27:38ID:???そうすると、それようのソースも検索項目毎に必要になるので
ソースの簡略化にはならないと思うんです。
>>290
もちろん、出来るから良いのですが、同じような範囲検索項目があると、
ソースが長く成りすぎるので、それが何とか出来ないものか?と思い、質問しました。
0293288
2008/01/30(水) 11:37:35ID:???クラスかですか。クラスというか、多少関数化しているのですが
もう少し考えてみます。
あと、一度質問した後はsageにするのがルールだと思うので、
なにもカス呼ばわりしなくても・・・
0295nobodyさん
2008/01/30(水) 11:44:59ID:???それが2ちゃんクオリ(ry
0296nobodyさん
2008/01/30(水) 11:45:08ID:???0297nobodyさん
2008/01/30(水) 11:46:38ID:???各スレにテンプレあるのはご存知で?
>>296
あれ?
> ・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
これ読めないの?
0298nobodyさん
2008/01/30(水) 11:47:24ID:???if (!$price2) $price2 = "0";
$search_key = "price BETWEEN '$price1' AND '$price2' ";
0300nobodyさん
2008/01/30(水) 11:52:03ID:???> (!$price1)
実際この書き方ってどうなのかな?
Noticeエラーでも気になってしまうから、ついついisset使ってしまう
0302278
2008/01/30(水) 11:59:09ID:???そのphpを閉じた場合のセッション、タイムアウトがあるんですね
30分続いているということはタイムアウトは長いというより、無効ですよね…
0304nobodyさん
2008/01/30(水) 12:06:19ID:???いきなり使うなら、issetとか、@とか使うのもOKだろうけど、
この場合あらかじめ $price1 = $_POST["foo"] とかで、あらかじめ何らかの値が代入されているという条件があると思って書かなかった。
>>302
デフォルトなら、max_execution_time以上のCPU時間を使うとdieされるし、
そもそもbreaなんて書いたらコンパイル時にはじかれて、実行できないと思うのだが。
0305nobodyさん
2008/01/30(水) 12:07:39ID:???あれ?
$price1 = $_POST["foo"]
これでPOSTが空でもNotice出なかったっけ・・・
勘違いかな
0306nobodyさん
2008/01/30(水) 12:16:51ID:Pk8IBekk>コンパイル時にはじかれて、
そういえばそうですよね……あれ?
max_execution_timeを見てきます
0307nobodyさん
2008/01/30(水) 12:56:50ID:iTZE6D8S手軽にパフォーマンス測定したいだけなんだけど、デスクトップだと色々とノイズが多いので。
使ってる PHPは Ver5.2です。
0308nobodyさん
2008/01/30(水) 13:01:26ID:???> デスクトップだと色々とノイズが多いので
この部分がいまいち良く分からない。
デスクトップ上ですべてを動かすんじゃなくて、
サーバを別にするしかないんじゃないの?
0309nobodyさん
2008/01/30(水) 13:05:17ID:iTZE6D8S手軽に試したいだけ。
たとえば、頻繁に呼ばれる関数内で、要素が数個の配列を毎回生成するのはコスト的に
どうだろうかとか、そんなレベルの話。
デスクトップで実行して実時間を計測しても、イマイチ信用できないし。
0310nobodyさん
2008/01/30(水) 13:09:35ID:???実行時間の計測にはPEAR::Benchmark_Timerとかかなぁ。
PHP以外のプログラムを使って計測したいのならば、別な板の
話になると思うけど。。。
0312nobodyさん
2008/01/30(水) 13:27:39ID:iTZE6D8Shttp://pear.php.net/manual/ja/package.benchmarking.benchmark.timer.php
これですか、すばらしい。
ぐぐったら、 http://www.1x1.jp/blog/2006/10/php_source_tips.html も見つかったんだけど、
array_push が [] = より 60%も遅いというのは、ちょっとショック。
array_push の方が変数名間違えたときに警告メッセージが出るから好きなんだけどなぁ。
>>311
こちらも調べて見ます。
どうも、ありがとうございました。
0313nobodyさん
2008/01/30(水) 14:22:33ID:02p0qHbLまぁ、何も返さないからかな?
今までmicrotime()で頑張って計算してたが、PEAR::Benchmark_Timerが便利すぎて泣いた
0314nobodyさん
2008/01/30(水) 16:39:05ID:???だから、CakePHPなんかよりPEARのライブラリーの方が使い勝手がいいってことだよ。
だって、PEARは日本語に直すと、梨。問題なし、なんちゃって(核爆)
0315nobodyさん
2008/01/30(水) 16:42:07ID:???r'つ)∠─── ヽ
〆⌒  ̄ ̄ ̄ \__r 、 \
,.イ ,イ \ヽ,\rv-,
ヾイ /{ { ヽ、ト、 \Y <ノノ\
{ .ト{\ヽ', メ __\ } ⌒ヽ }へ
ゝ |"ひ) \ イびゞ \ ヽ- 、ノ // >=
ノ ト、"´,. ー ノ ///\/ / \
/. { ゝ / レ// } Y´ \
{ ヽ ヽ⌒> / レ´TTア⌒>、_ \
V{ \ └ ´ / ,.イ/ /ll | /≦__ }
V{ >ー┬|/ ! ,.イノ || | /  ̄ ̄ ̄ /
リヽイ| /:| l _|' '´ || | | _/
/{{ | |===| || | __/
/し|| | |== / // | /,.イ
/ ヽヽ l==| / / l
/ イ\ \=| /// 〃
〈 ≧ー < ミ ヾ| // ト
\ \ \>∠、 /\
\ \ <〆ハ ゝ _/ \
{ / ̄> X〜ヾ´ ー'´ \
 ̄</⌒Y \ ',
\/ ノ | ',
_/ / / |/ ト、
/ / \ / |ー } ヽ
\/ / l /
ト、 / _ l /
/ ヽ/____/┬─ 、____/
/ ノ | /
/ / l /
0316nobodyさん
2008/01/30(水) 17:07:21ID:???0317nobodyさん
2008/01/30(水) 18:26:07ID:???public function __set($name, $value){
echo "Hogehoge::__set".$value;
}
}
class SimpleXMLElement2 extends SimpleXMLElement{
public $obj;
public function __set($name, $value){
echo "SimpleXMLElement2::__set".$value;
}
public function setObj($obj){
$this->obj = $obj;
}
}
$hogehoge = new Hogehoge();
$hogehoge->hoge = '11111';
$simpleXMLElement2 = new SimpleXMLElement2('<?xml version="1.0" encoding="utf-8"?><hoge></hoge>');
$simpleXMLElement2->hoge = '22222';
$simpleXMLElement2->obj = $hogehoge;
$simpleXMLElement2->setObj($hogehoge);
出力結果:
X-Powered-By: PHP/5.2.5
Hogehoge::__set11111<br />
<b>Warning</b>: It is not yet possible to assign complex types to properties in <b>*****</b> on line <b>20</b><br />
<b>Warning</b>: It is not yet possible to assign complex types to properties in <b>*****</b> on line <b>13</b><br />
最終的な目的はSimpleXMLElementを継承したクラスのプロパティにオブジェクトを格納したい。
string以外なのでWarningが出るので、__set()をオーバーライドしてしまえと思ったが、どうもSimpleXMLElement2::__set()が機能してないようだ。
何かが悪いのか、__setを使わない方法があるのか、別な実装方法があるのか・・・
手が空いている方がいましたら、お手数ですが教えていただければと思います。
0318nobodyさん
2008/01/30(水) 18:27:32ID:???0319nobodyさん
2008/01/30(水) 20:04:09ID:???> だから、CakePHPなんかよりPEARのライブラリーの方が使い勝手がいいってことだよ。
両方組み合わせ使うもんだろw
フレームワークとライブラリじゃ役目が違う。
全体的な構造にCakePHP(やそのほかのフレームワーク)を使い
局所的な部分にPEARなどのライブラリを使う。
0320nobodyさん
2008/01/30(水) 20:31:55ID:???0322nobodyさん
2008/01/30(水) 21:32:04ID:???<?php
$ua = $_SERVER["HTTP_USER_AGENT"];
if(ereg("DoCoMo|J-PHONE|Vodafone|MOT|SoftBank|UP\.Browser|~ /^KDDI/|DDIPOCKET|WILLCOM",$ua)){
header("Location: モバイルページURL");
exit;
} else {
?>
<HTML>
PC用ページhtml
</HTML>
<?
exit;
}
?>
それ以外のページで同様に携帯以外(上記PHP内UA以外)からのアクセスを全てトップページ(PC用ページ)に飛ばすようにするにはどうすればよろしいでしょうか?
このPHP自体は以前に検索で見つけたものなのですが、今検索するとどのページで見たものかわからず困っております。(-.-;
どうかよろしくお願い致します。
0324nobodyさん
2008/01/30(水) 21:42:37ID:???昨日から死んでるだわ。どっかで最新版落とせるところない?
0327nobodyさん
2008/01/30(水) 21:56:51ID:???0328322
2008/01/30(水) 21:58:05ID:???どうもありがとうございます!
0329nobodyさん
2008/01/30(水) 22:00:02ID:???if(!ereg("DoCoMo|J-PHO ...
header("Location: http://www.example.com/pc.html");
ここはプログラム書く人の板なんでそういう質問は嫌われるよ
丸投げスレに持ってくると誰かやるけど
0330nobodyさん
2008/01/30(水) 22:04:41ID:???何でObjectが突っ込めると思ったのか理解できない
永続化が必要ならJSON使うなりSerializeするなり汁
0331nobodyさん
2008/01/30(水) 22:25:08ID:???> Smartyを使いなさい。
CakePHPを使ってから、Smartyに興味がなくなったな。
PHPという言語自体がテンプレートに近いものだから、
ロジックとビューがちゃんと分かれていれば、そのままで問題が無いことに気づいた。
0332nobodyさん
2008/01/30(水) 22:31:46ID:k3DrvwtH> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー
とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0333nobodyさん
2008/01/30(水) 22:32:21ID:???>PHPという言語自体がテンプレートに近いものだから、
>ロジックとビューがちゃんと分かれていれば、そのままで問題が無いことに気づいた
同感
0334nobodyさん
2008/01/30(水) 22:32:36ID:???Smartyは協業する上で何かしら標準が必要だから使ってるだけ
これはCakeを使おうが代替できない機能
やっぱフォーム-ロジック-DBの操作を楽にしてくれてウィジットを
サポートするモダンなFWじゃないと
ルール縛りだけではやはり時間が掛かるよ、柔軟性もないし
0335nobodyさん
2008/01/30(水) 22:36:49ID:???> これはCakeを使おうが代替できない機能
なんで?Cakeの方が幅広く協業できると思うけど?
SmartyはCakeのビューの部分だけでしょ。協業できるのは。
> やっぱフォーム-ロジック-DBの操作を楽にしてくれてウィジットを
> サポートするモダンなFWじゃないと
それなら、Smartyなんて問題外じゃん。
0337nobodyさん
2008/01/30(水) 22:38:56ID:???そうするとポストバックが結構面倒だけど、なんかいい方法無いかね。
0338nobodyさん
2008/01/30(水) 22:39:48ID:???読んでないけど、システムの抽象度が低いとかいうことかな
そういうコードをいちいち書くのはうっかりミスという脆弱性の温床になる
しかし標準出力がかってにエスケープされる言語なんて存在しないわけで
小さいアプリじゃごく自然な対応だと思うけどね
あるいはhtmlspecialcharsはNULLですり抜けられた時代に書かれた文章かな
0340nobodyさん
2008/01/30(水) 22:43:08ID:???> ロジックとビューを分けるのってやっぱ物理的にファイルを分けてる?
> そうするとポストバックが結構面倒だけど、なんかいい方法無いかね。
だから、そのいい方法(の一つ)がCakePHPのやり方なんだってw
0342nobodyさん
2008/01/30(水) 22:47:07ID:???貴方はオブジェクト指向病にかかっていると思われ
自力学習の間は時間が無限大なのでそれでやっていけるが
社会に出るとその時間がなくなりスパゲッティーコードを生産する作業に変わりますw
0343nobodyさん
2008/01/30(水) 22:47:32ID:???めんどくさいから正直に書いちゃうけど、バカなワナビー君には理解できないんだねえ
だからその上での議論も成り立たない、言いっぱなしで生産性もない、と
反省しなさいよ
0348nobodyさん
2008/01/30(水) 22:52:56ID:???CakePHPの一部のビューの部分にSmartyを使えばいいだけのこと。
CakePHPはSmartyなんかよりも幅広いものを対象としているので、
それでCakePHPを使わないという理由にはならない。
0351nobodyさん
2008/01/30(水) 22:54:54ID:???CakePHP使ってみようと思ったがなんかキモい奴になりそうでやめたわw
0352nobodyさん
2008/01/30(水) 22:55:30ID:???PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0354nobodyさん
2008/01/30(水) 22:56:26ID:???だれがそんなにSmarty使いたいのか知らんけど
幅広いと言ってもCakePHP⊃Smartyでないことはすでに指摘されてる
CakePHPを使わずSmartyを使えと言うレスは見当たらないけど?
0356nobodyさん
2008/01/30(水) 22:56:47ID:???お互い持論を主張して俺様が正しい、って奴ばっかだなw
この業界、こんな人間しかいないのか?w
0358nobodyさん
2008/01/30(水) 22:59:00ID:???お前みたいに「Cake馬鹿」っていって時点で同類だろ
Cake馬鹿程度も受け入れられないんじゃ程度がしれてるわ
0360nobodyさん
2008/01/30(水) 23:01:09ID:???CakePHPを忘れなさい
0361nobodyさん
2008/01/30(水) 23:01:32ID:???CakePHPではコードジェネレータがついている。
といっても一アクション(一ページ)あたりほんの20行程度の短いものだが。
コードジェネレータの出力、もしくはチュートリアルのコードをベースに
そのアプリ独自のロジックを書いていくわけだが、
この標準のやり方が、ポストバックになっているぞ。
(もちろんそうじゃないやり方もできる。)
0362nobodyさん
2008/01/30(水) 23:02:40ID:???忘れてどうするんだw
そのほかのフレームワークを使うっているのなら話はわかるが
ライブラリだけじゃ、この先やっていけないよ?
0364nobodyさん
2008/01/30(水) 23:09:31ID:???0365nobodyさん
2008/01/30(水) 23:10:33ID:???0366nobodyさん
2008/01/30(水) 23:13:12ID:???コードをロジックとテンプレートに分けようと思っています。
そのときなるべく面倒なことはしたくないので、
たとえば、http://localhost/controller/action/123
というアドレスにアクセスしたいとき、
contorllerクラスのactionメソッドを呼ぶようにしたいです。
またそのときに使用するテンプレートを/views/controller/action.ctp ファイルに使用と思っています。
これらは必要に応じて、柔軟に変更できるようにしたいです。
たとえば設定しだいで、http://localhost/123 でもデフォルトの動きとして controller/actionが実行されたりです。
いい関数ありませんか?
0367nobodyさん
2008/01/30(水) 23:13:59ID:???0369nobodyさん
2008/01/30(水) 23:17:50ID:???CakePHPの信者共が出張して宣伝活動していることだけはわかった
いいからCakeBBSに帰れw
0370nobodyさん
2008/01/30(水) 23:19:55ID:???PEARは知識。CakePHPは実践。
0371nobodyさん
2008/01/30(水) 23:23:02ID:???もっと知れ渡るように布教活動でもしてるのか?
0372nobodyさん
2008/01/30(水) 23:25:22ID:???0373nobodyさん
2008/01/30(水) 23:28:41ID:???0375nobodyさん
2008/01/30(水) 23:31:59ID:???0376nobodyさん
2008/01/30(水) 23:34:46ID:???0377nobodyさん
2008/01/30(水) 23:38:34ID:9rDWoCR8環境はmysql 5.0.54、PHP 5.1.6で実行しました。
例えば、
$res = $pdo->query('SELECT avg(column) FROM table');
を実行するとどこかで失敗しているとおもわれます。(エラーは何もない)
このavgを含むとfalseが返されます。
その後に$pdoの中を見ると、通常ではクエリ実行後にはqueryStringプロパティに実行したクエリがセットされるはずですがセットされていません。
もちろん、直接mysqlにこのクエリを打つと正しく返ってきます。
検索してもPDOにそれっぽいバグ報告ありませんが、ご存知の方いませんか?
0379377
2008/01/30(水) 23:44:52ID:9rDWoCR8CakePHPでダメでした。
0382nobodyさん
2008/01/30(水) 23:54:52ID:9rDWoCR8PDOがavgを含むクエリに失敗する理由がわかりますか?
>>381
クエリ自体に問題はありませんが、PDOはいかなるときもgroup byが必要ということでしょうか?
知ってる人が見つかってよかったです。
ありがとうございます。
0383nobodyさん
2008/01/30(水) 23:58:02ID:9rDWoCR8うそつき、ハゲ!
意味なくgroup by入れたけどやっぱりダメでした。
コマンドラインでは成功しました。
PDOはダメってことですか?
0384nobodyさん
2008/01/30(水) 23:59:22ID:???0386nobodyさん
2008/01/31(木) 00:07:26ID:???とりあえずこれ。
0387nobodyさん
2008/01/31(木) 00:08:15ID:???$stmt = $pdo->prepare("select avg(col) ...");
$stmt->execute();
$rows = $stmt->fetchAll();
$stmt->closeCorsor();
だとどう?
0388nobodyさん
2008/01/31(木) 00:16:07ID:???I just recompiled pdo_mysql and the problem was solved.
0390nobodyさん
2008/01/31(木) 00:30:42ID:REX6IFqd$stmt = $pdo->prepare("select avg(col) ...");
の時点でfalseが返ってきます。
>>388
ありがとうございます。
やっとまともな方に答えていただきました。
解決したわけではありませんが、Bug #8045ってことで納得しました。
0391nobodyさん
2008/01/31(木) 00:36:22ID:???0392nobodyさん
2008/01/31(木) 00:57:53ID:???<>"&あたりしか退避しないからurlencodeでもしとけってことかな。
まあ汚染については厳密にやるとCでもPerlでもきりがないし大げさに取り上げるほどのことではない気はした。
0393nobodyさん
2008/01/31(木) 01:08:58ID:???明示的にエスケープが必要なのがプギャーなのかな。
0394nobodyさん
2008/01/31(木) 01:26:32ID:???0395nobodyさん
2008/01/31(木) 02:04:47ID:???> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー
とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0397nobodyさん
2008/01/31(木) 02:14:53ID:???0398nobodyさん
2008/01/31(木) 02:21:25ID:???ttp://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/003.html
より良いWebアプリケーション設計のヒント
開発基盤選定における考慮事項の例
(1) プログラミング言語の選択
1) 例えば、PHPを避ける
2) 大規模システムにはJavaや.Netを使う
0399nobodyさん
2008/01/31(木) 02:27:58ID:4JBYr2L1PHPでサイトを作ったのですが、
自分は普通にBBSに書き込めるのに、他の人からBBSに書き込めないという情報をもらい困っています。
下手なソースをアップしてもいいのですが、長いだけにそれも無理そうです。
ログを取ってみたところ、自分は書き込みチェックのフェーズまで進んでいるのに、他の人は書き込み(エラーチェック)フェーズにまでいっていないように見受けられました。
(あくまでも推測)
しかし、次のフェーズへの移行はhiddenで指定しているため、両者に差異はないはずなのです。
環境の違いでもないようでした。
情報が少ないので難しいと思いますが、こういった場合どのような理由が考えられるでしょうか?
もしくは、チェックツールや、どこかソースのミスを判定してくれるところなどはありませんでしょうか。
なにか解決の糸口となりえる情報をよろしくお願いします。
0400nobodyさん
2008/01/31(木) 02:30:45ID:???エラーメッセージを表示する
0401nobodyさん
2008/01/31(木) 02:32:46ID:???そんな便利なもんはないです。
こっちにソースの要所だけでも書いたほうがはやいと思う。
もしくは、分岐ごとに全部条件を出力して相手にどの経路まで進んだか聞いて調べる。
0402399
2008/01/31(木) 02:46:27ID:4JBYr2L1<td><input type="submit" name="submit" value="書き込む"> 名前 <b>:</b> <input type="text" name="name" size="25" value="">
E-mail <font size="1">(省略可)</font> <b>:</b>
<input type="text" name="mail" size="25" value=""></td>
</tr><tr><td><textarea name="bbsfor__text1" rows="8" cols="75"></textarea></td></tr>
</table><input type="hidden" name="userid" value="SS0001">
<input type="hidden" name="bbsid" value="7">
<input type="hidden" name="mode" value="bbs">
<input type="hidden" name="step" value="toukou">
<input type="hidden" name="close" value="0">
<input type="hidden" name="write" value="free">
<input type="hidden" name="ticket" value="6">
</form>
一番怪しそうなところはここの部分です。
書き込めなかったという人の報告によると、書き込みボタンを押したあとに画面がそのままになって、テキストエリアに入力した文字などが消えているそうです。
ただし自分以外にも書き込める人もいます。
0403nobodyさん
2008/01/31(木) 02:47:12ID:???簡単に作るにはいい言語といった上でのことだし
セキュリティがメインのとこだからまだ新しい言語であるphp避けるべきってのはあってる。
0404nobodyさん
2008/01/31(木) 02:47:49ID:???0406nobodyさん
2008/01/31(木) 02:50:22ID:???0407nobodyさん
2008/01/31(木) 02:51:30ID:???ダチにはノートンのリファラ返すように言っとけ
0409nobodyさん
2008/01/31(木) 02:55:41ID:???0410nobodyさん
2008/01/31(木) 03:16:49ID:???phpもwebという仕組みも究極的には、OnとOffの電気信号をやり取りをしているに
過ぎないというベースの考え方から、考える癖をつけた方がいいよ。
枝葉ばかりの方法論に固執せずに、仕組みから考えていく方が応用が利くと思う。
0411nobodyさん
2008/01/31(木) 03:23:30ID:???0412nobodyさん
2008/01/31(木) 03:38:32ID:???セキュリティが向上するとも思えんが
0413399
2008/01/31(木) 03:52:32ID:4JBYr2L1解除してみてテストしてもらいます。
>>411
XSS対策です。詳しくは【PHP サイバーテロの技法 防御と攻撃の実戦】という本に書いてあります。
この本もここの人に推奨されたので勉強のために買いました。
0414nobodyさん
2008/01/31(木) 03:55:42ID:???0415nobodyさん
2008/01/31(木) 07:30:54ID:???もしくは、1つの項目をログファイルに追記で書き込むだけの簡潔なプログラムを
書いてみるとか。
0416nobodyさん
2008/01/31(木) 09:55:14ID:no07dFZMconnect()とpconnect()の違いはなんでしょう?
p-が継続的だとはマニュアルに書いてあるんですが、これはclose()しないと
サーバに付加がかかり続けるということでしょうか?
closeしないで次のページに移動してまたpconnectしたらまた付加がかかって、
それもcloseしないで次のぺーじでpconnectしたらまた… みたいになるのですか?
どうもよくわかりません
そうならないとしても、「継続的」であることでの具体的なメリットって
どんな場合ですか?
0417nobodyさん
2008/01/31(木) 09:56:56ID:???イメージが逆だな。
0418nobodyさん
2008/01/31(木) 10:14:03ID:no07dFZMイメージが逆ってのは、再利用するから接続しなおす負荷(?)がかからないって
ことですね? じゃ、いいことみたいですね
あと、続けて質問ですみませんが、マニュアルを読んでるとclose()してるサンプルって
見たことありません。しなくていいものなんですか?
ブラウザを閉じたら勝手にクローズ。だけど、ページ移動なら接続は
キープされるってことでしょうか?(pconnectの場合)
同一ページで何度も同じ接続処理を書くことってあまりないと思うので、
ページ遷移で持ち越せる位の機能じゃないとpconnectって意味薄そうな気がするのですが…
0419nobodyさん
2008/01/31(木) 10:34:31ID:???ttp://www.php.net/manual/ja/features.persistent-connections.php
0420nobodyさん
2008/01/31(木) 11:00:34ID:???最終的には特定のxmlやらiteratorから別のxmlを作るのが目的。
modelの作成にSimpleXMLElementが使えないかなーと。
生成元からxpathで抽出して生成ノードがコンテナなら抽出元のノードの生成ノードの下にぶら下げる。
次に先程生成したノードをxpathで抽出してぶら下がったノードに相対パスを突っ込んでさらにノード作成、みたいな。
ちとややこしいけど・・・
0421nobodyさん
2008/01/31(木) 11:04:56ID:???pconnect()の対になるclose()は意味が無い。
connect()の対になるclose()はスクリプトの終了の際に
自動的に行われるので大抵の場合はしなくても構わない。
HTTPリクエストで実行されるスクリプトの場合、
接続時間が短く、リソースを掴んだままでも影響が少ないからね。
因みにリソースにはそこでSELECT等して取得したデータも含まれる。
(MySQLの場合)
あとpconnect()によるリソースの再利用だけど
接続文字列が同じだから必ずしも再利用されるとは限らない。
再利用のためのプールが1つではなく、プロセスで1つで
プロセス間でそれを共有しないため。
だから接続をタイムアウトまで最悪上限まで保持してしまう
pconnect()はかえって効率が悪くなる(不具合)場合もあるよ。
httpdの設定とか絡んで要調整。
0422nobodyさん
2008/01/31(木) 11:17:14ID:???SimpleXMLObjectのプロパティ≠子要素だから上のコードには無理がある
addNode()とか定義して自分でXMLオブジェクトを展開して追加するしかないと思うが
SimpleXMLを投げ捨てる、という手も
0423nobodyさん
2008/01/31(木) 11:24:17ID:???0424nobodyさん
2008/01/31(木) 12:00:56ID:???__set使ってればオーバーライドすれば誤魔化せるかなーとか思ったけど見てのとおりの惨敗。
投げ捨てるか、xpathを取得して保管するか、xpathをキーにしてarrayでも作るか、どうするか思考中。
>>723
なんと。情報ありがとうございます。
調べてみて試してみます。
0425nobodyさん
2008/01/31(木) 12:06:11ID:VNDK0Dvo最新バージョンの0.72を使っています
phpはバージョン5系です。
$date = date("Y/n/j G:i", $item['date_timestamp']);
このようにしてRSSの時間を取得するようにしてるのですが、
echo "<li>$date<a href=\"$url\">$title</a> ($p_title)</li>\n";
このように書いて実行してるのですが、なぜか時間表示が全部1970/1/1 9:00になってしまいます。
アドバイスお願いします。
公式サイトではdate_timestampで取得することを進めているのですがどうもうまくできません。
0426nobodyさん
2008/01/31(木) 12:11:55ID:???1970/1/1てことは$item['date_timestamp']が空だね
変数をダンプしてデバグしましょう
0429nobodyさん
2008/01/31(木) 12:36:27ID:???$c1 =100;
}
xxx();
素朴な疑問なんだけどPHP5では
上の例のように参照渡しでかつその変数を省略できるけど
その省略した変数に関数内で値を変更しても大丈夫なのだろうか?
今はパラメータ数を判定して
省略されてない場合にだけ値を変更してるんだけど
そんなの必要ないのかな?
いろいろ探したけど確証が得られなくて・・・
0431416
2008/01/31(木) 13:12:48ID:???詳しい説明ありがとうございます
かなり深いですね、、適当やってると痛い目見そうだし
もっと参考書でこういうの説明して欲しいんですが、してないですよねー
プロセスとかの基本用語から理解なきゃダメですね ありがとう
0433nobodyさん
2008/01/31(木) 14:06:44ID:???> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー
とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0435nobodyさん
2008/01/31(木) 14:48:21ID:???・test1.php
・test2.php
・entry.php
http://test.com/test1.php?a=1
このtest1.phpの中に以下のimgタグを
埋め込んでtest2.phpを呼び出しているとします。
<img src='http://test.com/test2.php?a=<?php echo $a; ?>' width='0' height='0'>
で、このtest2.phpの中にさらに
下記のようなimgタグを埋め込んでいるのですが、
<img src='http://test.com/entry.php?a=<?php echo $a; ?>' width='0' height='0'>
当然動作しません。
このtest2.phpの中でなんらかの方法でentry.phpを
呼び出して、aの値を登録したいのですが
どのようにすればよいのでしょうか・・・
そのやり方を教えて欲しいです。
よろしくお願いいたします。
0437nobodyさん
2008/01/31(木) 14:53:10ID:89mDm5mU失礼しました。
で、質問させてください。
・test1.php
・test2.php
・entry.php
http://test.com/test1.php?a=1
このtest1.phpの中に以下のimgタグを
埋め込んでtest2.phpを呼び出しているとします。
<img src='http://test.com/test2.php?a=<?php echo $a; ?>' width='0' height='0'>
で、このtest2.phpの中にさらに
下記のようなimgタグを埋め込んでいるのですが、
<img src='http://test.com/entry.php?a=<?php echo $a; ?>' width='0' height='0'>
当然動作しません。
このtest2.phpの中でなんらかの方法でentry.phpを
呼び出して、aの値を登録したいのですが
どのようにすればよいのでしょうか・・・
そのやり方を教えて欲しいです。
よろしくお願いいたします。
0438nobodyさん
2008/01/31(木) 15:08:35ID:???何がしたいのかわからん
entryにtest2の画像のimgタグ、test2にtest1の画像のimgタグを入れてるってこと?
0440429
2008/01/31(木) 15:22:24ID:qO0TdOQJfunction xxx(&$c1=null) {
$c1 =100;
}
xxx();
素朴な疑問なんだけどPHP5では
上の例のように参照渡しでかつその変数を省略できるけど
その省略した変数に関数内で値を変更しても大丈夫なのだろうか?
今はパラメータ数を判定して
省略されてない場合にだけ値を変更してるんだけど
そんなの必要ないのかな?
いろいろ探したけど確証が得られなくて・・・
0442nobodyさん
2008/01/31(木) 15:30:35ID:xq4Ruxkp1:$_SESSION変数で、それぞれのデータを全て持ち回す方法
(例)
$_SESSION['name'] = 'name';
$_SESSION['email'] = 'test@example.com';
2:セッションキーを生成して、$_SESSION['session_key']にキーのみ持ち回して
データはオブジェクトをシリアル化して、キーをファイル名とする一時ファイルに保存する方法
(例)
$_SESSION['session_key'] = '4hak2ajh8adjkeubz'; //実際はユーザごとにユニークな値を生成
$file = file("/tmp/" . $_SESSION['session_key']);
$data = unserialize(base64_decode($file['0']));
3:$_SESSION['data']にオブジェクトをシリアル化して、1つの$_SESSION変数だけ持ち回す方法
(例)
$_SESSION['data'] = base64_encode(serialize($data));
$data = unserialize(base64_decode($_SESSION['data']));
どれが一般的なのでしょうか?
0445nobodyさん
2008/01/31(木) 16:28:44ID:???変数の不変性から言って多いに問題があるのだけど、
そんなの関係ねーと小島よしおを信仰しているなら、
それも一興といわざるを得ない。
0446nobodyさん
2008/01/31(木) 16:43:09ID:???0447nobodyさん
2008/01/31(木) 16:49:35ID:???0448nobodyさん
2008/01/31(木) 17:20:24ID:Zzvt9fFUtestesc の $char に\に続く一文字だけ該当するように想定していますが
何故か \"のときだけ " ではなく \" 2文字が引数に渡されてしまいます。
これはどこに問題があるのか教えてください。
<?php
$in = '\\\\abc\tdef\\"';
$out = preg_replace('/\\\\(.)/e', "testesc('$1')", $in);
echo 'input [' . $in ."]\n";
echo 'output [' . $out ."]\n";
function testesc($char){
if($char=='"'){
return '"';
}elseif($char=='\\"'){
return '?';
}elseif($char=='\\'){
return '\\';
}elseif($char=='t'){
return "\t";
}else{
return '';
}
}
?>
実行結果
input [\\abc\tdef\"]
output [\abc def?]
0449445
2008/01/31(木) 17:22:23ID:???私が言いたいのは、返すことが予定されている変数を呼び先で勝手に変えてはいけないという意味で不変性と言っている。
OOP志向から自明の理であるが、使用貸借契約と消費貸借契約における客体を想像すれば分かりやすい。
0450nobodyさん
2008/01/31(木) 17:25:32ID:???0451nobodyさん
2008/01/31(木) 17:31:15ID:B+pFj7HJプログラム練習として自分なりのクローラーを作ろうとしています
現在はネットワークを縦横無尽に走るものではなく、
自分で用意した一つのサイトのトップページを指定し、
そこから同サイト内の全ページをDBに登録するプログラムを作っています
流れ的にはこうです
1. file ()でトップページを取得
2. 1.で取得したページからurlを抽出しリスト化
3. 2.で取得したurlからリンク先のページ内容を取得
4. DB(MySQL)にurlと対応するページ内容を追加、または更新
(レコードが追加か更新かは、DBにそのurlがあるかないかで判断する)
5. 3と4をループ
ここまではうまくいっていますが、質問があります
もしurlから取得したページがたまたま503だった場合、追加も更新も行わないようにしたいのです
その場合、分岐させていけばいいのだと思い、下のようなものを考えました
if(ページ内容が空じゃない){
ページ内容をデータベースに登録する
}
しかし、自分のページが503になったことがないので試せないのです
これで合っているのでしょうか?
0452445
2008/01/31(木) 17:33:33ID:???OOPは、現実の世界で考えれば分かりやすい。それが本質だし。
居酒屋で下駄箱の鍵を店員に預かってもらったら、
店員に勝手に開けられて「靴を磨いておきました」って言われたら、
それが正常な行為であっても、予想に反した動作だと思うだろ。
要はそういうこと。
0453429
2008/01/31(木) 17:48:14ID:???なんか勘違いしてるみたいだけど
値を渡したつもりなのに参照渡しなってしまうという
PHP5の仕様のことを問題にしてるのではなく、
参照渡しである変数を呼び元が省略した場合に
関数内ではその変数の参照先はどこになるんだろうということです。
ローカル変数になるならいいのだけど
どこかにそのへんの詳しい情報がないだろうか。
0455nobodyさん
2008/01/31(木) 17:56:07ID:???を参考にテストしてみたんですが、再現出来ません。
php4です。
このサイトに書いてある、この正規表現では二行目は無視するっていうのは本当なのでしょうか?
/*----------------------------------
<?php
$_GET['id'] = "6666". PHP_EOL . "aaa";
var_dump($_GET['id']);
if (preg_match('/^[0-9]+$/', $_GET['id'])) {
var_dump($_GET['id']);
}
?>
----------------------------------*/
0456nobodyさん
2008/01/31(木) 18:01:43ID:???0457nobodyさん
2008/01/31(木) 18:03:54ID:B+pFj7HJすると404とかも判断できるということですね!
レスポンスヘッダとかわからないので調べてきます
ありがとうございました
0458455
2008/01/31(木) 18:04:48ID:5Z05+qC0>>456
だとすると>>455のコードでは再現出来ていないという事でしょうか・・。
このコードでTRUEが得られるつもりで書いたのですが、駄目なようです。
0460nobodyさん
2008/01/31(木) 18:17:40ID:5Z05+qC0smartyも興味あるのですが。
何故再現できないか知りたいんです・・。
0461nobodyさん
2008/01/31(木) 18:20:59ID:???参照で渡してるんだろ?
お前の好きな現実の世界に例えると
クリーニング屋にシャツ出したのに
汚れが落ちてるとブツブツ言ってるようなもの。
0462nobodyさん
2008/01/31(木) 18:34:36ID:???PCRE_DOLLAR_ENDONLYがどーとか書いてあったからその辺かもね
0463nobodyさん
2008/01/31(木) 18:37:12ID:5Z05+qC0なるほど、昔の仕様ということですね。
ありがとうございます。
こういう細かい仕様変更はちょっと怖いですね・・。
0464nobodyさん
2008/01/31(木) 19:13:51ID:???0465448
2008/01/31(木) 19:51:16ID:Zzvt9fFUに変えたり、関数名を全てシングルクオートの 'testesc(\'$1\')' 囲んだりもしましたが
やはり文字の \" が分割されず $1 に \" が2文字渡されてしまいます。
\ に続くASCIIコードの半角記号も一通り試してみましたが \" のときだけ2文字になります。
原因どなたか分かる方おられないでしょうか。
0466nobodyさん
2008/01/31(木) 20:50:27ID:VNDK0Dvophp4で動作するスクリプトをphp5でも動かせるようにソースを書き換えてくれるソフトなどないでしょうか?
ソースが長いので書き換えるのが。
0467nobodyさん
2008/01/31(木) 20:54:16ID:???ブラウザをリロードさせる関数ってありますか?
よろしくです。
0471nobodyさん
2008/01/31(木) 21:06:27ID:VNDK0Dvoレスありがとうございます。
関数の問題で動いてないみたいです。
$rssurl = array() ;
$rssurl[] = "○○";
$rssurl[] = "○○";
arrayと[]はphp5では読みこまないと記事にありました。
この関数をどのように変えてあげればいいのでしょうか?
○○はrssのURLになります。
0472nobodyさん
2008/01/31(木) 21:07:48ID:???0474nobodyさん
2008/01/31(木) 21:21:29ID:???0475nobodyさん
2008/01/31(木) 21:23:39ID:VNDK0Dvoここですよ 記事は
0477nobodyさん
2008/01/31(木) 21:42:44ID:???0478nobodyさん
2008/01/31(木) 21:50:45ID:???+ 人 人 人 +
(__) (__) (__)
+ (__) (__) (__) +
. + ( __ ) ( __ ) ( __ ) +
( ´∀`∩ (´∀`∩) ( ´∀`)
+ (( (つ ノ (つ 丿 (つ つ )) +
ヽ ( ノ ( ヽノ ) ) )
(_)し' し(_) (_)_)
0479nobodyさん
2008/01/31(木) 21:52:14ID:MssSyn6Ahttp://○○○○○.jp/php?a=1&b=2
とあったとしてお気に入りからアクセスするのとhtmlページからアクセスするので
サーベーへの負荷が変わったりするんですか?
前に「負荷がかかるから直でくるな」みたいなことを書いてあるのを見たのですが。
0480nobodyさん
2008/01/31(木) 21:56:55ID:???0481nobodyさん
2008/01/31(木) 22:04:18ID:???0482nobodyさん
2008/01/31(木) 22:08:12ID:???一般論としては、直でアクセスしても、htmlからアクセスしても同じ。
だけど、そのプログラム自体がリファラの取得をし、何らかの処理を
している場合は、負荷は違うだろう。
0483479
2008/01/31(木) 22:15:38ID:MssSyn6A>>482
うちに置いてあるものでは
a=1ならコンテンツのXXでb=2ならページの2を読む(XXの2ページ目を表示)
のようにしています。
0484nobodyさん
2008/01/31(木) 22:20:01ID:???0485nobodyさん
2008/01/31(木) 22:31:57ID:???いっているやつがバカ。
2ちゃんねるでもhttpをttpとか書くやつがいるが、
あれもばか。
2ちゃんねるブラウザ使うと直リンクになっている。
0486nobodyさん
2008/01/31(木) 22:37:37ID:???0487nobodyさん
2008/01/31(木) 22:38:06ID:???> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー
とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0489nobodyさん
2008/01/31(木) 22:42:19ID:???0491nobodyさん
2008/01/31(木) 22:49:30ID:???0492nobodyさん
2008/01/31(木) 22:51:06ID:???0493nobodyさん
2008/01/31(木) 22:52:19ID:???0494nobodyさん
2008/01/31(木) 22:53:36ID:VNDK0Dvoなんでだろう
真白だよ;;
arrayがおかしいと思ったんだけど、arrayで外部記事をひっぱってきてるだけなので;;
0495nobodyさん
2008/01/31(木) 22:55:57ID:???0499nobodyさん
2008/01/31(木) 22:58:51ID:???CakePHPで
htmlspecialchars($_GET['text']);
って書いたけど脆弱性ありまくりでした
0502498
2008/01/31(木) 23:02:52ID:???あいつは何もわからずに適当に言っているだけです。
0503nobodyさん
2008/01/31(木) 23:07:17ID:???やっとENT_QUOTESが出た。
けど、文字コードの問題とか、
そもそも$_GET['text']にhtmlspecialcharsって
違和感を感じないのか?
0505nobodyさん
2008/01/31(木) 23:10:15ID:???0507nobodyさん
2008/01/31(木) 23:11:31ID:???0508nobodyさん
2008/01/31(木) 23:12:39ID:VNDK0Dvoどなたかphp5の環境で私のソースが動くかチェックしてもらえる方いないでしょうか?
YAHOOニュースのRSSをMagpieRSSを使って取得しているだけです。
どうかお願いします。
0510nobodyさん
2008/01/31(木) 23:20:42ID:VNDK0Dvoサーバーが原因だったようです。
なんだよcore鯖
0512nobodyさん
2008/01/31(木) 23:21:51ID:???その例題を書いた奴が部分的すぎる
後からどうにでも上げ足をとれるように、作為的なものを感じるが
一旦、変数に取り込んでから加工したいのだろうが、コーディング規約で決める部分で作法の範疇じゃね?
0513nobodyさん
2008/01/31(木) 23:22:13ID:???0514nobodyさん
2008/01/31(木) 23:24:13ID:???http://pc11.2ch.net/test/read.cgi/hosting/1201260968/
これです。
0515nobodyさん
2008/01/31(木) 23:25:58ID:???まずE_NOTICE、E_STRICTレベルのログくらい読むべき
変数に期待する値が来てないなら、どこでコケてるのかエコーしながら
遡って探っていく、そうやってコードのどこで問題が起きてるか特定する
そうすれば状況が見えてくるし、質問するにしても回答が得やすくなる
0517nobodyさん
2008/01/31(木) 23:28:18ID:???0518nobodyさん
2008/01/31(木) 23:28:53ID:???よくわからんけど、
Googleでの検索結果
Fedra Core鯖 946件
hard Core鯖 962件
ハードゲイ 鯖 54,500件
ってことでハードゲイのことと思われ
0519nobodyさん
2008/01/31(木) 23:29:15ID:???値段もなかなかw
0521nobodyさん
2008/01/31(木) 23:30:46ID:???0522nobodyさん
2008/01/31(木) 23:35:13ID:???ENT_QUOTESすることで何を防げるんだ?
<a onclick="alert('&#39;+alert(4989)+&#39;')">CLICK</a>
<a onclick="alert(''+alert(4989)+'')">CLICK</a>
0523nobodyさん
2008/01/31(木) 23:45:32ID:???textをhtml中に出力している、という前提だと
・HTMLのタグの内側かつ属性値の引用符の外側を出力中である
・HTMLのタグの内側を出力中で、属性値を引用符でくくっていない
・HTMLの属性値の出力中かつ、引用符にシングルクウォートを採用している
こういうケース以外では無問題?
0524448
2008/01/31(木) 23:58:27ID:Zzvt9fFUhttp://pc11.2ch.net/test/read.cgi/php/1200314111/
0525nobodyさん
2008/02/01(金) 00:03:13ID:???echo "<a href='#hoge' $txt>"; //そりゃ死亡だろ。
echo "<a href='#hoge' title='$txt'>"; //うっかり死亡。
あとはjsコードジェネレーション中に同様の問題あり
htmlspecialchars忘れる可能性のほうがずっと高い気がしてきたw
あと、>>487の元記事はENT_QUOTESしてないとか、その断片的なコードの問題を
指摘してるものじゃないから、「コードの問題は何か」という質問自体が回答側の
ミスリードをさそってる。
0526nobodyさん
2008/02/01(金) 00:14:33ID:???0527nobodyさん
2008/02/01(金) 00:17:35ID:???囲みの中の'を&#39;にしたところで
何も変わってないよ。
>>522を見ればわかるけど、囲みの中を&#39;にしても
動作は変わらない。
0528nobodyさん
2008/02/01(金) 00:20:44ID:???0529nobodyさん
2008/02/01(金) 00:24:48ID:???もうこうなってくると
htmlspecialchars の問題じゃなくて
使い方の問題だな。
んで、大本のmatzの記事には使い方が書いていない。
0530nobodyさん
2008/02/01(金) 00:35:01ID:???そういう表層的な問題じゃないと思うよ。
長男は嫌だとか、年収は1000万円以上じゃないと嫌だと女がいるが、
そういう女は本気の恋愛をしてことがない女。
0531nobodyさん
2008/02/01(金) 00:35:35ID:???0532nobodyさん
2008/02/01(金) 00:43:40ID:???そしてそこまでやってるのは言語に関わらずろくにいないだろうな。
文字の退避はしてても文字コード指定しない方がはるかに多いだろうし。
0533nobodyさん
2008/02/01(金) 00:45:10ID:???社会復帰のための勉強をしている人も俺を含めて結構居ると思うよ。
いつか、社会復帰できるようお付き合い下さい。
0534nobodyさん
2008/02/01(金) 00:45:46ID:???てこと
0535nobodyさん
2008/02/01(金) 00:48:43ID:???0536nobodyさん
2008/02/01(金) 00:49:51ID:???0537nobodyさん
2008/02/01(金) 01:17:24ID:???0538nobodyさん
2008/02/01(金) 01:20:47ID:???htmlspecialcharsを使いましょうって書いてあった。
それだけでいいのか?
matzの思うつぼw
0539nobodyさん
2008/02/01(金) 01:53:10ID:7ncIvXJmプルダウンのオプション部分を自動生成するプログラムを書いてて
makePullDown(){
$option="";
for($i=0;$i<47;$i++){
$option.="<option value=\"";
$option.=setVal($i);//valueを呼び込む関数
$option.="\">"
$option.=setNamae($i);//名前を呼び込む関数
$option.="</option>\n";
}
return $option;//この返り値を<select>{$pd}</select>のようにして使う
}
というようなものを作っています
が、「$option.="<option value=\"";」の行に対して、unexpected '.'というエラーが
標準出力されてしまいます。
同じ構造のプログラムを他の場所で作っていて正常に動いているので、それを元にして
作ったのですが、今回なぜエラーになるのかわかりません。
どこが問題そうというのがあったらご指摘いただけないでしょうか? すみませんがお願いします
0542nobodyさん
2008/02/01(金) 02:36:44ID:6ktoEY5E<?php
$comment = "aabb/*ccdd*/eedd*/";
?>
<HTML><BODY>
<?php
$ok = preg_replace("/\*.*?\*/","!",$comment);
$ng = preg_replace("/\*.*?dd" ,"!",$comment);
printf("OK:" . $ok . "<BR>NG:" . $ng . "<BR>");
?>
</BODY></HTML>
$okには/*...*/を!に置き換え、$ngには/*...ddを!に置き換えるつもりのコードです。
出力結果は
OK:aabb/!/eedd*/
NG:
となってしまいます、
$okのほうは正しく/* */が最小一致で置き換えられていますが、
/* ddのほうがなぜか文字列が返りません。何か特別なルールがあるのでしょうか?
0544nobodyさん
2008/02/01(金) 03:17:15ID:???というわけでIDEで開発しれ
0545nobodyさん
2008/02/01(金) 03:34:06ID:ShuZZjDkオススメのサンプルサイトもしくは、推奨の本を教えてください。
よろしくお願いします。
0548nobodyさん
2008/02/01(金) 08:21:40ID:7ncIvXJm0550nobodyさん
2008/02/01(金) 09:03:11ID:???0551nobodyさん
2008/02/01(金) 09:05:08ID:???どこかでDLできるところ知りませんでしょうか?
smartyスレも落ちてるし…
0552nobodyさん
2008/02/01(金) 09:06:15ID:???0554nobodyさん
2008/02/01(金) 09:37:10ID:???0555nobodyさん
2008/02/01(金) 13:03:40ID:???Warningとか出てないかい?
$ng = preg_replace("/\*.*?dd/" ,"!",$comment);
ddの後ろに/
0556nobodyさん
2008/02/01(金) 14:53:57ID:wTHzZE81質問があります。
SWFファイルを、Linuxサーバー上でスクリーンセーバー(SCR)に変換できるようなプログラム/サーバーソフトというものは、ありますでしょうか?
開発言語はPHPなのですが、PHPで可能でしょうか?
どなたかお知りでしたら、何卒ご教示をお願い致します。
0557nobodyさん
2008/02/01(金) 15:17:47ID:???どうやって確認したらよいでしょうか
持続的接続がどこかにあるのかな
それとも、コマンドラインからの起動だと
mysql_connectと何も変わらないとか?
0558nobodyさん
2008/02/01(金) 15:19:41ID:???0559nobodyさん
2008/02/01(金) 15:38:49ID:???PHPで可能
win鯖なら簡単だがLinux鯖なら少し手を加える必要がある
手っ取り早く拡張モジュールで作成することもできる
拡張モジュールの作り方はググれ
ただし蔵側にはFlashPlayerがインスコされていることが条件
0560nobodyさん
2008/02/01(金) 16:05:35ID:wTHzZE81素早いご回答、ありがとうございます。
貴重な情報、とても助かります。
ググッて、色々調べてみます。
0563557
2008/02/01(金) 18:47:24ID:???そうですか。かわらないですか。
ところで、CLIでなくCGIのときに
mysql_pconnectが有効に機能していることを
確認する手段はありますか?
0564nobodyさん
2008/02/01(金) 18:58:06ID:???これでも読んでくれたまへ。
0566nobodyさん
2008/02/01(金) 20:12:47ID:AYOwH3yN機能が多すぎて何がなんだか・・・
わかりやすく説明してるサイトがあれば教えて下さい
0568nobodyさん
2008/02/01(金) 20:34:02ID:WTHcD/an<A href="../menu.html" target="_self">
テスト2</A>
<A href="5.html" target="top">テスト3</A>
<A href="34.html" target="top">
テスト4</A>
_______________________________________________
上記のようなソースをあり、<A>タグで囲まれた部分だけを抽出したいのですが、、
preg_match_all("/<a.*> ?(.*) ?.?<\/a>/i", $str, $matchtitle);
これで取得すると、
テスト1とテスト3だけしか取得できません
テスト2と4はソース上で改行しているせいだと思いますが、
改行部分を含んで取得するにはどうしたらいいでしょうか
0571568
2008/02/01(金) 20:54:45ID:WTHcD/an<A href="../menu.html" target="_self">
テスト2</A>
<A href="5.html" target="top">テスト3</A>
<A href="34.html" target="top">
テスト4</A>
_______________________________________________
test.txt
<?php
$str = implode (file ( "test.txt" ));
preg_match_all("/<a.*> ?(.*) ?.?<\/a>/i", $str, $matchtitle);
$i=0;
foreach($matchtitle[1] as $title[$i]){
print $title[$i]."<br>\n";
$i++;
}
?>
ソースはこうです
>>569さんの意見を参考に
preg_match_all("/<a.*> ?(.*) ?.?<\/a>/i", $str, $matchtitle);
preg_match_all("/<a.*> ?(.*) ?.?<\/a>/is", $str, $matchtitle);
に変えてみましたがだめでした
0572nobodyさん
2008/02/01(金) 21:06:49ID:???0573nobodyさん
2008/02/01(金) 22:40:59ID:WPh0v7gmpreg_match_all("/<a.*?>(.*?)<\/a>/is", $str, $matchtitle);
0574nobodyさん
2008/02/01(金) 22:51:30ID:???0575nobodyさん
2008/02/01(金) 23:01:18ID:oS+/fqhr0576nobodyさん
2008/02/01(金) 23:05:00ID:???0577nobodyさん
2008/02/01(金) 23:11:44ID:oS+/fqhr0578nobodyさん
2008/02/01(金) 23:15:51ID:???0579nobodyさん
2008/02/01(金) 23:16:21ID:oS+/fqhr0581568
2008/02/01(金) 23:24:59ID:WTHcD/an本当にありがとうございます
とても助かりました!
0582nobodyさん
2008/02/01(金) 23:57:45ID:4fv7t71Ovar_dump()で出力した結果は文字化けせず、assignしたら文字化けするんですが・・・。
あと、Smarty内でceil関数とか使えないんですか?
0583582
2008/02/02(土) 00:03:55ID:qL81uK5h0585582
2008/02/02(土) 00:12:15ID:qL81uK5h{$item.string|mb_strimwidth:0:100:"...":"UTF-8"|escape}
ceil関数使うのってどうすればいいんですか?
{ceil($item.id/$item.id2)}
じゃエラーが・・・・
0586nobodyさん
2008/02/02(土) 00:18:02ID:???ここ最近多すぎる。
0587nobodyさん
2008/02/02(土) 00:21:30ID:???【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/
0588nobodyさん
2008/02/02(土) 00:39:57ID:???これ機能使わなくても入れておくだけでメモリ消費しますよね?
0589nobodyさん
2008/02/02(土) 03:00:39ID:???呼び出したときに初めて使われるわけで
0590nobodyさん
2008/02/02(土) 03:09:51ID:???アパッチの子プロセスがえれえ多い場合にはSSLとか削ったほうがいいこともあるちゃが
削ってもバイナリは大して小さくならんし起動時間も短くならんけん放置推奨ばい
0591nobodyさん
2008/02/02(土) 03:41:32ID:???関数でいつでも呼び出せる状態にしておくための
関数テーブルのようなものをメモリに読み込んで
その部分だけ消費するって感じでしょうか。
関数がやたらに多いライブラリもあるので
アイドリング時の消費がどの程度なのかちょっと気になります。
0592nobodyさん
2008/02/02(土) 04:42:25ID:???size=フォントサイズ。GD のバージョンに依存し、ピクセルサイズ (GD1) もしくはポイントサイズ (GD2) で指定する必要があります。
って改悪では?
webで扱う時に問題になるのはほとんど常にピクセルサイズなのに
ポイントサイズって何?
何でこんな改悪が行われたの?
0593nobodyさん
2008/02/02(土) 11:12:21ID:???カンマ区切りの数値にするにはどうしたらよい?
たとえば「1234567」なら「1,234,567」みたいに出力したいです。
0596nobodyさん
2008/02/02(土) 12:44:39ID:???同じリソースIDが返るが、異なるプロセスだと
偶然重なるとこはあり得るし判別には使えないな。
mysqlだったらTEMPORARYテーブルに何か書き込んで
それが残ってるかで見たら?あれは接続毎に独立してる領域だから。
0597nobodyさん
2008/02/02(土) 12:50:28ID:???。とか、を縦書きすると位置が不自然になります
いい方法はないですか?
0598nobodyさん
2008/02/02(土) 12:51:15ID:???0600nobodyさん
2008/02/02(土) 16:00:43ID:f9Zd2DDP$sex
$age
$com
の3つをcsvに書き込むのにはどうしたらいいでしょうか?
また、次に書き込む際に一度書き込んだデータを消さずに
次の行に書き込んでいくにはどうしたらいいでしょうか?
以下のような感じです
A B C
1 男 34 1
2 男 24 2
3 女 45 1
4 男 38 1
よろしくお願いします
0601nobodyさん
2008/02/02(土) 16:13:29ID:???form.htmlのformタグを以下のように書く。
<form method="POST" action="test.php">
[test.php]というファイルを作り、以下の内容を記述する。
<?php
$line = $_POST["sex"] . "," . $_POST["age"] . "," . $_POST["com"] . "\n";
$fp = fopen("test.dat", "a");
fwrite($fp, $line);
fclose($fp);
?>
[test.dat]というテキストファイルを作り、何も書かずに保存する。
test.phpとtest.datをform.htmlと同じディレクトリに置き、
ブラウザからform.htmlでデータを入力する。
0602600
2008/02/02(土) 16:49:50ID:???早速ありがとうございます。
そのままの記述でテストしたところ
Warning: fopen(test.dat) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/localhost/httpdocs/test.php on line 3
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/localhost/httpdocs/test.php on line 4
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/localhost/httpdocs/test.php on line 5
とのエラー文が出てしまいます。
0603nobodyさん
2008/02/02(土) 16:52:31ID:???パーミッションに関するエラーが出ているので、[test.dat]もしくは
そのディレクトリのパーミッションを見直してみるといいよ。
書込みが禁止になってないかな?
0606nobodyさん
2008/02/02(土) 16:58:57ID:???$LoginID = strip_tags($LoginID);
$LoginID = htmlspecialchars($LoginID);
$LoginIDはログインID&名前みたいなもので、
サイトで表示したりPostgreSQLで使用するのですが、こんな対策で大丈夫なんでしょうか?
0607nobodyさん
2008/02/02(土) 17:04:58ID:???ゆとり用の隔離スレなのだから、仕方ないw
>>606
一般的にはそれでおk。
SQL実行が不安だったら、ログイン部分をデータベース参照する
処理じゃないようにして、テキストファイルの中身との一致を
確認する処理にしてしまうのも手だ。
それをやれば、中身は文字列一致しかしないのだから、どんな
記号を入れてこられてもおk。
0609nobodyさん
2008/02/02(土) 17:27:46ID:???必要な時に必要な分必要なだけチェックする方がいいよ
ひろみつ先生に怒られるし
0611nobodyさん
2008/02/02(土) 18:18:18ID:???0612nobodyさん
2008/02/02(土) 18:19:36ID:???0613nobodyさん
2008/02/02(土) 18:19:46ID:pDDEbWQ1一般ユーザーからの直リンクで一切表示させない方法ってありますか?
index.phpファイルの実行時のみlog.txtを操作出来るようにしたいのですが、
パーミッションの設定など試してみましたが無理でした。
0614nobodyさん
2008/02/02(土) 18:23:17ID:???0615nobodyさん
2008/02/02(土) 18:23:29ID:???PHPレベルでそれをやるのは無理。
ファイル名を長くしたり、ランダムに自動で変えたりして、対処するしかないだろうね。
PHPより下のレベルでならば外部からのアクセスを遮断するのは可能だが。
0616nobodyさん
2008/02/02(土) 18:51:05ID:pDDEbWQ1一般ユーザがアクセス出来ない場所というのは同時に、
一般ユーザがPHPの実行でアクセス出来ない場所ではないんでしょうか?
下のレベルというのがよく分からないで、参考になるページとか単語があればお願いします。
0619nobodyさん
2008/02/02(土) 19:07:54ID:UI6Nac8M要するにlogをブラウザがアクセスできないディレクトリにおいて、そこをphp経由で使用する
Webに公開されないディレクトリに置くか/public_htmlの代わりに/private_htmlを使うとか、Web上でもブラウザで見ることができないようにアクセス制限をかけるとか
0620nobodyさん
2008/02/02(土) 19:18:47ID:pDDEbWQ1よく分かりました、ありがとうございます。
今のレンタル鯖では制限のため出来ないようなので、また別の鯖を利用してやってみます。
0621nobodyさん
2008/02/02(土) 19:24:42ID:???0623nobodyさん
2008/02/02(土) 20:21:30ID:+LXVTbfmその配列をtotal.phpへhiddenで渡そうとしても上手く渡せません。
hiddenでは配列を渡せないのでしょうか?
SESSIONを使うのでしょうか?
どなたかやり方をお願いします。
0624nobodyさん
2008/02/02(土) 20:32:31ID:???そのコードを示さないと判断は出来ないと思う。
あと、ページをまたがってデータをやり取りする場合は、
SESSIONのほうがいいとされている。
0625nobodyさん
2008/02/02(土) 20:44:10ID:???0626nobodyさん
2008/02/02(土) 20:50:02ID:???それ、俺も思った。恐らくこんな感じでは?w
<input type="hidden" name="$a[3]" value="{0,1,2}">
0627nobodyさん
2008/02/02(土) 21:01:25ID:???0628nobodyさん
2008/02/02(土) 21:01:44ID:???0629nobodyさん
2008/02/02(土) 21:06:30ID:???0630nobodyさん
2008/02/02(土) 21:07:18ID:+LXVTbfmありがとうございます。
SESSIONでやり取りできました。
二つあるSESSIONのお互いの配列はどうやって最後に一つにしたらいいですか?
何度もすみません。
>>625>>626
無茶な事をしてたみたいです。すみません。
0632nobodyさん
2008/02/02(土) 22:17:42ID:DhduKq9O0633nobodyさん
2008/02/02(土) 22:17:43ID:???<input type="hidden" name="nanka[]" value="1">
<input type="hidden" name="nanka[]" value="2">
これで配列渡せると思うけど
0635nobodyさん
2008/02/02(土) 22:39:51ID:???ありがちなのは
<input type="hidden" name="nanka" value="Array">
だろうな
0637nobodyさん
2008/02/03(日) 00:43:42ID:ogX/8gGfvar_dump($gNameAry2);
echo "ggg>".$gNameAry2[1]."<br />";
としたとき、上のvar_dumpで配列の中身がちゃんと表示されるのに、
下のechoでの出力は何もされません
どんな理由が考えられるでしょうか? この2行の間にはなにもありません
0639nobodyさん
2008/02/03(日) 01:18:05ID:ogX/8gGfどうもです エラーは出ていないんです。var_dumpの結果は以下です
array(2) { ["グループ1"]=> string(24) "シュープリームス" ["グループ2"]=> string(21) "クルセイダーズ" }
0640nobodyさん
2008/02/03(日) 01:21:50ID:???echo "ggg>".$gNameAry2["グループ1"]."<br />";
echo "ggg>".$gNameAry2["グループ2"]."<br />";
0641nobodyさん
2008/02/03(日) 01:36:17ID:???あとデバッグ時にはE_NOTICEまで出力すると分かることが多い
0642639
2008/02/03(日) 01:37:34ID:ogX/8gGfあ、それだとちゃんと表示されました(ggg>シュープリームス)
>>639の形の配列って$gNameAry2[0]の形でアクセスできないんですか?
やばい、相当恥ずかしいこと聞いてますか?orz
0643nobodyさん
2008/02/03(日) 01:41:12ID:rw9YKxIr縦書きフォントを含んでいるttfファイルも
縦書きと横書きが一つのファイルになっていますよね?
そしてimagettftextには縦と横の指定をするオプションがないようです。
縦書きしか含まれていないttfファイルを何らかの方法で作るしかないでしょうか?
一文字ずつ回転させる方法は、一応できましたが、
負荷的に、合成を一度で済ませた方が軽いと思うので
縦書きフォントの方もさぐっています。
0644639
2008/02/03(日) 02:05:53ID:???解決しました ほんとにありがとう
0645nobodyさん
2008/02/03(日) 02:07:19ID:???http://www.php.net/manual/ja/language.types.array.php
か入門書の配列文を読んでからまた質問してください。
配列の「キー」と「値」について勉強しましょう。
0646nobodyさん
2008/02/03(日) 02:14:19ID:???配列と呼ばれてるのはハッシュ
0649nobodyさん
2008/02/03(日) 03:29:09ID:???0650nobodyさん
2008/02/03(日) 03:45:51ID:???PHPでは入れた順番に値を取り出すことが出来る。
だから配列のようにも使えるし、ハッシュのようにも使える。
結構便利だよ。データベースのフィールドとか、
定義した順番に取り出すことが出来るから。
0651nobodyさん
2008/02/03(日) 03:47:39ID:???0652nobodyさん
2008/02/03(日) 03:52:05ID:???0653nobodyさん
2008/02/03(日) 04:12:33ID:???0654nobodyさん
2008/02/03(日) 11:10:45ID:???格納するのと取り出すのを優先するのがハッシュだと思うんだけど。
0655nobodyさん
2008/02/03(日) 11:50:01ID:???0656nobodyさん
2008/02/03(日) 11:53:31ID:???0657nobodyさん
2008/02/03(日) 11:58:45ID:???ギャップを埋めたりするわけでなし、実装コードのどこを見て言ってるのか分からん
0658nobodyさん
2008/02/03(日) 12:18:05ID:???OrderedHashが遅いのではなく配列が遅い
といっても今のPHPはチューニングされてるから一概に言えない
0659nobodyさん
2008/02/03(日) 12:28:41ID:???ハッシュに追加したキー順番データを保持しておけば良いだけ。
キーで取り出すときは、キー順番データを参照しないから変わらない。
foreachで順番に取り出すときは、ハッシュの内部順番データを取得する代わりに
キー追加順番データを見るだけ。
順番データを保持するだけでいいのだから、キーの数×数バイト のメモリ容量と
追加時にわずかな処理低下しか発生しない。
0661nobodyさん
2008/02/03(日) 16:50:41ID:???これなんで?
0662nobodyさん
2008/02/03(日) 19:39:59ID:???0663nobodyさん
2008/02/03(日) 19:40:31ID:ogX/8gGf/user/1002/img/event20080203.jpg
って風に保存されてる画像があるとして、eventの後に続く数字はアップロード日時
なんですが、この日時から半年過ぎたら削除されるようにしたいと思います。
どうしたらいいんでしょう?
今考えてるのは、ユーザID(1001…)がふえてくのをループをまわして対応しつつ、
該当ファイルがあるのを確認したらunlinkで消してくことなんですが。
for($i=1001;$i<=$userCount;$i++){//こんな感じです 荒っぽいですが
if(getimagesize(該当ファイル *日時抽出と比較もここ)){unlink(該当ファイル);}
}
しかしこれだと、ほんとに削除処理できてるのか一目瞭然でわかりづらいので
なんとなく不安です。(全部のユーザのイメージフォルダを開かなきゃいけない)
アップロード領域を一箇所にまとめて処理すればすぐ確認できると思うんですが、
事情がありそれは難しい状況です。
・定期的に不要なファイルを削除できて、削除の確認がすぐに出来る方法ないでしょうか?
0664nobodyさん
2008/02/03(日) 20:09:15ID:???他にやりようはあるけど、それで問題ないなら十分かと
0665663
2008/02/03(日) 20:36:58ID:ogX/8gGf>なんとなく不安です。
こういうのを不安に思うのがおかしいんですかねー?
逆に言ったら、アップされたときにちゃんとアップされてるか
いちいちディレクトリ開いて見るのと同じってことかな…
0666nobodyさん
2008/02/03(日) 20:37:46ID:+kFg/DIc配列$_SESSION('a')中身はArray ( [id] => 1 [name] => 山田 [etc] => 右 ) に
配列の$b中身はArray ( [id] => 5 [name] => 田中 [etc] => 右 )を
入れたいのですがarray_pushではきれいに入れる事が出来ないのですが
やり方を教えてください。お願いします。
0669nobodyさん
2008/02/03(日) 20:54:29ID:???0670nobodyさん
2008/02/03(日) 20:56:07ID:+kFg/DIcショッピングページの様に最初に情報を入れたカート($_SESSION('a'))に
ページをまたぎ次に選択した情報($b)を追加していきたいのですが
やり方がわかりません。お願いします。
0671nobodyさん
2008/02/03(日) 21:00:30ID:???おそらく
$_SESSION = array(
'a' => array([id] => 5 [name] => 田中 [etc] => 右)
)
で
$_SESSION['b'] = $b;
ってしたい。もしくはマージしたいんジャマイカ?
0672nobodyさん
2008/02/03(日) 21:03:08ID:???ま、確かに「役不足」の正確な意味を知らなかったとかは
あるけどさ、ここまでひどくなるのを見ると驚くよ。
ゆとり世代ってすさまじいな。
0673nobodyさん
2008/02/03(日) 21:07:09ID:???やりたいようにやればいいんじゃないの
0674nobodyさん
2008/02/03(日) 21:12:05ID:???$_SESSION['cart'][] = 追加したいアイテム
$_SESSION['cart'][] = 追加したいアイテム
$_SESSION['cart'][] = 追加したいアイテム
0675nobodyさん
2008/02/03(日) 23:24:59ID:zqPVhuXnとしたらversion1が1.6以下だと怒られた
http://www.aubetec.com/hiruneko/blog/archives/2007/10/pear.html
ググるといいサイトが見つかったので手順とおりに進む
pear listでPEARが1.7であることを確認後もう一度installを試みるも同じように怒られた。。。
0677nobodyさん
2008/02/04(月) 00:13:57ID:jFq8zh8H0678nobodyさん
2008/02/04(月) 00:26:16ID:???0679nobodyさん
2008/02/04(月) 01:05:35ID:vecMkQ0bうまく出来ました
ありがとうございました
0680nobodyさん
2008/02/04(月) 01:09:25ID:???0682nobodyさん
2008/02/04(月) 03:53:04ID:???これもweb2.0が復旧した陰の部分なんだろうなぁ。
パソコンの向こうにいるのは、人間だということを理解してくれ。
テレビゲームのキャラ相手にメッセージしていると錯覚してんじゃないの?
0683nobodyさん
2008/02/04(月) 04:56:14ID:0159YIyBクラスはどんなときに使うものなのでしょうか?
0684nobodyさん
2008/02/04(月) 05:25:47ID:???でも、このスレだから許す
0687683
2008/02/04(月) 07:20:35ID:0159YIyB0689nobodyさん
2008/02/04(月) 07:32:11ID:???↓ ↓ ↓ ↓ ↓
↓↓ ↓ ↓ ↓ ↓ ↓↓
↓ ↓ ↓
↓ ↓ ↓ ↓ ↓
↓ ↓ ↓
↓ ↓ ↓
↓ ↓ ↓
0690nobodyさん
2008/02/04(月) 08:02:25ID:???;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
`"''`゙ `´゙`´´´
0691nobodyさん
2008/02/04(月) 09:40:28ID:???特にマルチパートとかまじしね
0692nobodyさん
2008/02/04(月) 09:42:56ID:???0693nobodyさん
2008/02/04(月) 09:48:53ID:???0694nobodyさん
2008/02/04(月) 09:52:33ID:???会員ごとに見せるページが違います。
ページに関しては、phpでセッション管理で制御しているので楽なのですが、
画像だけは、直リンクされるとログインしていないくても誰でも見れてしまいます。
画像もセッション管理するにはどうすれば宜しいのでしょうか?
画像をphpで生成してreadfileで出力することを思いつきましたが、
この方法だと、同じ画像でも毎回毎回転送する羽目になって
画像の転送量が増えてしまいます。
何かいい方法はないでしょうか?宜しくお願いします。
0695694
2008/02/04(月) 09:52:55ID:2EdkHT4G0696nobodyさん
2008/02/04(月) 10:02:03ID:???0697nobodyさん
2008/02/04(月) 10:09:41ID:2EdkHT4Gアドバイスありがとうございます。
.htaccessでロックする方法がイメージがつかないのですが、
IPアドレスで制限するか、画像にBASIC認証をするということでしょうか?
ちょっと、運用が難しい印象を受けたのですが・・・
0698nobodyさん
2008/02/04(月) 10:35:22ID:1+3di8q+UTN入れるから絶対確認メッセージ出るじゃん。
でも、某SNSサイトってそういう確認も何も無しで識別してログイン出来る…。
もちろん完全なトップページからアクセスしても識別される。。
携帯ってPCと違ってハッシュを見て〜なんて出来ないよね??
0699nobodyさん
2008/02/04(月) 11:05:53ID:???もばげの事だと思うけど完全なトップページからいくと認識されないぞ。
URLを表示して後ろに何もついてないか確認してみそ。
http://****.jp/.o2i2jsie/みたいな適当なのがついてない?
0700nobodyさん
2008/02/04(月) 11:19:48ID:XGKTCZyBmb_splitにて文字列を配列に展開したいのですが、
<?php
$text = "温泉 アロマ 癒し";
mb_internal_encoding("UTF-8");
var_dump(mb_split("[ ,./,./ ]", $text));
?>
このようにすると、展開した文字が化けて、配列が11行くらいになってしまいます。
文字列はUTF-8なのですが、なぜうまく展開してくれないのでしょうか?
0701700
2008/02/04(月) 11:25:21ID:XGKTCZyBUTF-8→失敗
EUC-JP→失敗
SJIS→成功
いやだっ!SJISは信用したくないっ!!
0702700
2008/02/04(月) 11:26:37ID:XGKTCZyB0703nobodyさん
2008/02/04(月) 11:31:32ID:XGKTCZyB必ず配列が1つできてしまうな・・・
これが仕様だったらやだな・・・何で何もないところから配列ができるんだ気持ち悪い
FALSEでもできるorz
0704nobodyさん
2008/02/04(月) 11:37:12ID:???Deny from all
のhtaccessを画像ディレクトリに置いておけばいいんじゃね?
ディレクトリに分けてないなら拡張子で指定してもいいし。
(関係ないけど書き込むとなぜか.htaが消されるのね)
0705698
2008/02/04(月) 12:17:05ID:fn0vsA22ごめんごめん。モバゲの事じゃないんだ。
Goccoっていうインデックス社のSNSなんだけど、例えばトップから
「マイページ」をクリックすると端末情報とか一切送信せずにログイン出来るのよ。
一体どの情報を見てログイン識別してるんだろう…。
0707nobodyさん
2008/02/04(月) 12:33:40ID:???0708nobodyさん
2008/02/04(月) 12:51:17ID:M2AmAKlAどうしたらいいの?
<input type="hidden" name="hairetsu" value="{$arrayA}"/>
としてページのソースを見ると
<input type="hidden" name="hairetsu" value="Array"/> ってなってしまってる…
0710nobodyさん
2008/02/04(月) 13:12:15ID:???0711nobodyさん
2008/02/04(月) 13:20:14ID:fn0vsA22いやぁIPでは無理しょ。
>>707
いや、それはないんよ。
実際に「簡単ログイン」ボタンからログインしようとすると送信確認出るし。
Goccoって公式サイトなんかな?
そうだとしたら公式のみ受信出来るデータで識別してる可能性もあるけど
私はマイメニュー登録してないのに自動ログイン出来ちゃうから違うか…。
UTNで送信確認無しで「何らかの」識別情報が取れるなら、docomoユーザ
に対してのログインがスムーズになるんだよね。
今、自分のサイトはPHPで構築してるけど初心者ユーザはUTN確認画面を
見て意味もなくビビってUターンする場合もあるから…。
0713nobodyさん
2008/02/04(月) 13:25:01ID:???つか有名なネタだし
0717nobodyさん
2008/02/04(月) 13:54:55ID:???>◆質問後の注意
>・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
は ◆質問する時の注意 に書いておいた方がよくない?
0718nobodyさん
2008/02/04(月) 14:14:44ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
が正しいテンプレ
0720nobodyさん
2008/02/04(月) 14:21:11ID:fn0vsA22なるほど…。
て事はマイメニュー登録してなくても、メルマガ登録の時とかにUIDを取って紐付けているのでしょうね。
ありがとうございました!!
0721nobodyさん
2008/02/04(月) 14:21:52ID:???まぁそれを解析しようとしてできなかったへたれだがorz
0722nobodyさん
2008/02/04(月) 16:56:24ID:GS32OYvU<?php
$hogehoge = "abcde";
$hoge = <<<EOM
<html>
<head>
<title></title>
</head>
<body>
$hogehoge
</body>
</html>
EOM;
?>
これを 「hoge.php」 書き込みたいんですが
このままだと$hogehogeがPHPとして働かないので
$hogehoge → <?php $hogehoge; ?> に変更しました。
が、<?php $hogehoge; ?>の部分がPHPが働いて変数$hogehogeが表示されました(abcde)
長いので次に続く
0723nobodyさん
2008/02/04(月) 16:57:46ID:???0724nobodyさん
2008/02/04(月) 16:58:52ID:GS32OYvU$hoge = "abcde";
$hoge = <<<EOM
<html>
<head>
<title></title>
</head>
<body>
EOM;
$hoge .= '$hogehoge';
$hoge .= <<<EOM
</body>
</html>
EOM;
こうしたところ正常に動作し、hoge.phpに書き込まれました。
しかしこれだと変数出てくるたびに切れるので面倒だ。
何かいい方法はありませんか?
0725nobodyさん
2008/02/04(月) 17:01:17ID:GS32OYvUすいません、ここで$hogehogeを表示してはまずいんです。
$hogehogeは外部から取得するもので常に変化するので
そこはPHPじゃないといけないんです。
0726nobodyさん
2008/02/04(月) 17:09:18ID:???外部ってどこから?
GETとかで取得するなら予めhtmlentitiesでもすればいいんじゃない?
0727nobodyさん
2008/02/04(月) 17:16:11ID:GS32OYvU例えばXMLから。
簡単に書くと
ヒアドキュメント内で
<?php echo '$hogehoge'; ?>
この一行をそのままファイルに書き込みたいんです。
htmlentitiesをすると書き込まれたphpで動かなくなるんじゃないですか?
まだ試してないですがphpが動作しないと思いますが、、、
0728nobodyさん
2008/02/04(月) 17:17:04ID:???> まだ試してないですがphpが動作しないと思いますが
試してないなら試してから質問しろ
あと、情報小出しにするな
0729nobodyさん
2008/02/04(月) 17:21:13ID:GS32OYvUいや申し訳ないけど
<?php
とかになってphpが動くはずがないですから…
今から一応試してみますね。
0730nobodyさん
2008/02/04(月) 17:22:12ID:???&lt;?php です。
0731nobodyさん
2008/02/04(月) 17:23:53ID:???別に動くか動かないかで試すんじゃねーよ
動いても動かなくても試すことでそこから何か得られるんだ
得られなかったらお前の脳の問題
で、結局何がしたいんだ?
XMLから1行取得してファイルに書き出したい?
simple_xml_loadで特定の行を取得して
file_put_contentsでファイルにでも書き出せ
0732nobodyさん
2008/02/04(月) 17:32:18ID:???>この一行をそのままファイルに書き込みたいんです。
単にこれだけならhtmlentitiesとかしないでそのまま書けばいいじゃん。
ファイルに書き込む方法がわからんとか?
0733nobodyさん
2008/02/04(月) 17:35:01ID:GS32OYvU多分勘違いされてると思うんですが
ヒアドキュメント内に
<?php echo $town ?>
この文を書いてこの文が何も変換されないまま
hoge.phpに書き込まれたいのです。
0734nobodyさん
2008/02/04(月) 17:37:05ID:???0735nobodyさん
2008/02/04(月) 17:37:44ID:GS32OYvU普通にfwriteでやってるんですがまずいんでしょうか?
<?php echo '$hogehoge'; ?>
これを書き込むと書き込んだ先で$hogehogeが展開されてるんですよ。
0736nobodyさん
2008/02/04(月) 17:41:26ID:???$hogehoge = 'abcde';
$hoge = "123 $hogehoge 456"; // こうなるのが困るらしい
$hoge = '123 $hogehoge 456'; // こういう代入をヒアドキュメントでやりたいらしい
という質問だと思うんよ、たぶん。
0737nobodyさん
2008/02/04(月) 17:53:14ID:???のようにシングルクォートとダブルクォートを入れ替えちゃダメなの?
0738nobodyさん
2008/02/04(月) 18:10:14ID:GS32OYvUそうです、わかりにくくて申し訳ない。
中々これが思い通りにいかなく困っております。
>>737
それで可能でしょうがヒアドキュメントでは不可能なんでしょうか?
それだったら素直に諦めるんですが、、、
0740nobodyさん
2008/02/04(月) 18:14:59ID:???0741nobodyさん
2008/02/04(月) 18:26:30ID:???頭悪いのいっぱい発生してるけど気にすんな。
想像力も一つの能力、想像力ないやつはクリエイターに向かない。
で、本題。
結論から言うと可能。
書き方をよく考えれば反映される。
お前も想像力足りないから考えろ。
0742nobodyさん
2008/02/04(月) 18:31:01ID:OeLZYsIz他のクラスを使う時ってどう書いてますか?
includeをハードコーディングするのか、
読み込み部分を一切書かず、
__autoloadの記述に委譲するのか、
ベターな方法に迷ってます。
0743nobodyさん
2008/02/04(月) 18:34:55ID:GS32OYvU改行やタブをそのまま反映させるためだと思ってますが。
違うのですか…?
>>741
わかりました。
書き方工夫してみます。
どうしてもわからない場合戻ってくるかもしれません、、、
ありがとうございました。
0746nobodyさん
2008/02/04(月) 18:40:25ID:???変数の内容じゃなく文字列としての $hogehoge を出したいだけか。
すごい混乱した。
0748nobodyさん
2008/02/04(月) 18:43:51ID:???俺できないと思うんだけど。
正規表現使えばできそうな気もするんだが
ヒアドキュメントだけでは不可能だと思うんだが。
0749nobodyさん
2008/02/04(月) 18:47:32ID:???茶化すだけなら雑談スレいったほうがいい。
できるよ。>>722 にたった一文字加えるだけで。
0750nobodyさん
2008/02/04(月) 18:47:34ID:M2AmAKlAって具合になってる配列があるとして、子配列の最初の要素が2だとわかってるときに、
"田中"という値を一発で抜き出す方法ってないですか?
自分が思いつくのはfor($i=0;$i<count($seito);$i++){…}っていう処理なんですが
もっと要領のいいやりかたないのかな…
0751nobodyさん
2008/02/04(月) 18:50:24ID:???できもしないことをできると思わせるのやめとけよな
あと、なんでヒアドキュメント使いたがるのかわからん
テンプレなるならSmarty使っとけ
慣れるとかなり便利だぞ、FW使うことになると応用できるし
0753nobodyさん
2008/02/04(月) 19:01:29ID:???forループしてもいいけど最初のとこを「キー=>値」のようにして
$seito = array( array(1=>"山田"),array(2=>"田中"),array(3=>"斉藤") );
echo $seito[1][2];
ではだめなんかな?
>>752
ほっとき。
0754nobodyさん
2008/02/04(月) 19:06:10ID:???0755nobodyさん
2008/02/04(月) 19:08:07ID:???$seito = array( 1=>"山田", 2=>"田中", 3=>"斉藤" );
echo $seito[2];
とか。
複数の値いるなら俺はこっちにする。
$seito = Array( 1=>Array(name=>"山田",age=>26), 2=>Array(name=>"田中",age=>16), 3=>Array(name=>"斉藤",age=>3) );
echo $seito[2][name];
0756nobodyさん
2008/02/04(月) 19:11:19ID:???使う必要がわからない。
使ったけど不便すぎる。
使うぐらいなら作った方がわかりやすい。
使ってるやつは伸びない。間違いなく
0759nobodyさん
2008/02/04(月) 19:18:44ID:???だったら バックスラッシュでエスケープすれば良いと思うけど。
0760nobodyさん
2008/02/04(月) 19:18:57ID:???0761nobodyさん
2008/02/04(月) 19:29:05ID:GS32OYvUああ、なるほど。
よく考えたらそれがありましたね。
ありがとうございます。
何か自分が言うのもなんですがこのスレってレベル低かったんですね。
0762nobodyさん
2008/02/04(月) 19:30:26ID:???ほんと頭悪いな
0763nobodyさん
2008/02/04(月) 19:31:25ID:???みんなそんなのわかってるよ。
Smarty使うとかゴミみたいなもんだろ
0764nobodyさん
2008/02/04(月) 19:33:50ID:???ただのテンプレエンジンだけとしか使えないと思ってるバカ多すぎ
0767nobodyさん
2008/02/04(月) 19:40:04ID:???0768nobodyさん
2008/02/04(月) 19:42:48ID:???あれは自然災害みたいなもんとしてほっときゃいいよ。
0769nobodyさん
2008/02/04(月) 19:47:07ID:???使うにしろ使わないにしろ
Smarty云々言ってるやつはバカが多い
0771nobodyさん
2008/02/04(月) 19:52:03ID:???smartyって別に使わなくてもいいみたいですね この流れ見てると
0772nobodyさん
2008/02/04(月) 19:52:16ID:???0773nobodyさん
2008/02/04(月) 19:53:16ID:???いちいち
<?php echo $title; ?>
とか書きたいのなら使わなくてもいいけどな
結論
Smarty使ってないやつは<?=$var?>という書き方をするやつが多い
0779nobodyさん
2008/02/04(月) 21:48:21ID:M2AmAKlAという形の配列って、$staAry[50][sta] っていう形でアクセスできるんですが、
普通に要素の順序でアクセスすることは出来ないんでしょうか?
$staAry[0][sta]で“新宿”が返ってくるようにしたいんです 無理なんですか?
すみません、回答お願いします
0780nobodyさん
2008/02/04(月) 22:10:29ID:???.htaccessにどう書けばいいですか?
「xxx.xxx.xxx.xxx/xx」の書き方が難しくで分かりません。
222.15.68.195
222.15.68.198
222.15.68.200
222.15.68.201
222.15.68.202
222.15.68.203
222.15.68.207
222.15.68.208
222.15.68.209
222.15.68.210
222.15.68.211
222.15.68.212
0781nobodyさん
2008/02/04(月) 22:13:01ID:???$staAry = array(50=>Array("sta"=>"新宿","last"=>"01:40"),51=>Array("sta"=>"東京","last"=>"01:50"));
foreach ($staAry as $key => $value){
//$key : 0,1,2,3,4...
//$value : $staAry[$key]
echo $value[sta]."\n";
}
あと、連番はつけなくても
$staAry = array(
Array("sta"=>"新宿","last"=>"01:40"),
Array("sta"=>"東京","last"=>"01:50")
);
みたいにキー省略すれば 0 から順番につけてくれる
>>780
http://pc11.2ch.net/test/read.cgi/hp/1176912246/
0782nobodyさん
2008/02/04(月) 22:13:43ID:???0784nobodyさん
2008/02/04(月) 22:22:36ID:???いつもここで伺っているので、つい聞いてしまってすみません。
>>783
どうもありがとうございました。早速やってみます。
0785nobodyさん
2008/02/04(月) 22:42:45ID:???板違いネタを続けるのもあれだけど、au携帯からのアクセスを禁止してしまって良いの?
Name: pv01proxy01.ezweb.ne.jp
Address: 222.15.68.195
0786nobodyさん
2008/02/04(月) 22:52:34ID:???どーでもいいんじゃない?
0788nobodyさん
2008/02/05(火) 05:00:58ID:???netname: KDDI
222.0.0.0/8で完全ブロックwwwwwwwっをkwwwwwwwww
ていうか攻撃受けてるわけじゃないのに勘違いしてるだけなんだろうな
0789788
2008/02/05(火) 05:03:56ID:???222.0.0.0/12だな
0790nobodyさん
2008/02/05(火) 05:06:40ID:oAE2IrCIauの携帯電話ではmultipart/form-dataの処理がおかしくて、
multipart/form-dataと言いながらmultipart/urlencodedを送るようで
文字化けしてしまうのですが、この対策として
1.au用にmultipart/form-dataではないフォームを別に作る
2.送られてきたデータをurldecode()を使って無理やり変換する
これ以外の方法で対処出来ないでしょうか?
1は一部同じ記述をするので煩雑になるのと、
2はゴミが残るようなので別に置換が必要になり敬遠しています。
よろしくお願いします。
0791nobodyさん
2008/02/05(火) 05:10:22ID:???0792nobodyさん
2008/02/05(火) 08:53:56ID:eHXGOXcbそれがimagecreateで作られたのか、
あるいはimagecreatetruecolorで作られたのかを知る方法ってありますか?
0793nobodyさん
2008/02/05(火) 09:32:13ID:ifQzZhST[test2.php]
<?php
require_once 'XML/FastCreate/XML_Tree.php';
?>
これで
Warning: require_once(XML/Tree.php) [function.require-once]: failed to open stream: No such file or directory
このエラーが出るのです。
同考えてもパスが違うのに・・・。
このファイルを削除したり、再度作成しても同じです。
新しくtest3.phpという名前で全く同じ内容のファイルを作っても、
このエラーが表示されてしまいます。
0794793
2008/02/05(火) 09:34:02ID:ifQzZhSTXML_Tree.phpからのエラーでした
0795nobodyさん
2008/02/05(火) 10:33:37ID:oAE2IrCIやっぱりそれしかないですかね。再考してみます。
0796nobodyさん
2008/02/05(火) 11:47:11ID:???多分、VB側で接続と送信、受信の命令が必要なんだけど、ググってもよく分からない。誰か教えてくれ。そういう事を分かりやすく書いてある本でもいいんだ。
0800nobodyさん
2008/02/05(火) 13:41:23ID:???0801nobodyさん
2008/02/05(火) 14:25:23ID:ZqheJI35やっとOOPの考え方わかったぜ!(プログラマー暦2年)
0802nobodyさん
2008/02/05(火) 14:26:48ID:???0803nobodyさん
2008/02/05(火) 14:27:20ID:???0804nobodyさん
2008/02/05(火) 14:53:36ID:ifQzZhSTというエラーが出るのですが、一体どういうエラーなのでしょうか?
jsonというModuleを使った覚えはないのですが・・・
0805nobodyさん
2008/02/05(火) 15:20:46ID:???0806nobodyさん
2008/02/05(火) 15:21:43ID:???0807nobodyさん
2008/02/05(火) 15:27:34ID:???0808nobodyさん
2008/02/05(火) 15:35:56ID:???レベル低すぎだろ、邪魔だ
くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
0810nobodyさん
2008/02/05(火) 15:57:18ID:???雑談や煽ってる人らと同類だぞ。
0812nobodyさん
2008/02/05(火) 16:43:30ID:ifQzZhSTなるほど、Json Moduleを重複ロードしようとしたために起こったのですね。
ですが、Json自体始めてきいたので、そういったModuleを使用した覚えはないのです。
Apacheの設定によって自動ロードされていて、何らかの原因でそれがもう一度実行されていると思ってよさそうですか?
0813nobodyさん
2008/02/05(火) 16:51:02ID:???なにrequireしたん?
JSONを使うライブラリがぶつかってたりして
0814nobodyさん
2008/02/05(火) 16:53:14ID:ifQzZhSTえーと、php://stdinによる標準入力です。
これで送られてきたメールを解析するのですが、空メールの時にJsonエラーが出ます。
(情報小出しすみません、今これに気づいたもので・・・。)
0815nobodyさん
2008/02/05(火) 17:16:13ID:3hyvc3Scこのコードで、暗号化された文字列を得るにはどうしたら良いのでしょうか。
0816nobodyさん
2008/02/05(火) 17:18:29ID:???不可能
そのコードをそのままだとそのままの動作しかしない。
ってか何よ、その気持ち悪いコード、何の書籍のサンプル?
0820nobodyさん
2008/02/05(火) 17:58:47ID:3hyvc3ScWordPressのテンプレートのfooter.phpなんですが
このテンプレを作った人へのリンクは良いんですが、WordPress公式へのリンクとか変なサイトへのリンクが含まれています。
なので消せるかなーと思って質問してみました。
有難う御座います。
0821nobodyさん
2008/02/05(火) 18:24:06ID:TiYgg/NO0823nobodyさん
2008/02/05(火) 18:58:22ID:???MySQLやPHPをUTF-8にしたWEBアプリケーションでは
mb_convert_encoding()関数は使うことがなくなるのでしょうか?
UTF-8に統一した環境では、
漢字コードの煩雑さがなくなるということでしょうか?
0825nobodyさん
2008/02/05(火) 20:06:04ID:???携帯がターゲットならShift_JISにしたりするだろうし。
0826nobodyさん
2008/02/05(火) 21:57:10ID:???0827nobodyさん
2008/02/05(火) 22:44:32ID:I3KF3byjあればログの場所を教えてください。
0828nobodyさん
2008/02/05(火) 22:49:30ID:???お騒がせしました。
0829nobodyさん
2008/02/05(火) 23:36:39ID:???0830nobodyさん
2008/02/05(火) 23:41:58ID:YOtSSxmpこのシステムすごくない?
宣伝じゃないんだが、モーニングコールサービス
香水のAXEのサイトなんだが
予約してから確認電話するとFLASH連動で会話してるんだが
0831nobodyさん
2008/02/06(水) 00:14:14ID:???0832nobodyさん
2008/02/06(水) 01:15:00ID:???今だとオープンソースのPBX出てるし、目新しくはないんじゃね?
click2call系って、インフラ自作・運用は手間だけど
インフラ業者使う分にはラクなシステムだよ
0833nobodyさん
2008/02/06(水) 03:36:37ID:wPMIjL3qimagecolorclosest
imagecolorclosesthwb
このへんが近いのですが、近似した色のindexを返すのでちょっと違います
なぜ、この簡単な機能がないのか…??
0834nobodyさん
2008/02/06(水) 03:38:22ID:???これもですね
これが一番近いようですがまだファジー機能があるようで…
0836nobodyさん
2008/02/06(水) 06:05:04ID:z9nHz4Jvstrstrで1万以上の語をマッチングさせると非常に効率が悪いような気がするのですが、
この方法よりも早くマッチング処理できる方法ってありますか?
ちなみに、マチコ先生に頼んでもダメです。それは、マッチングじゃなくてマイッチングだから(核爆)
0837nobodyさん
2008/02/06(水) 06:08:07ID:???0840nobodyさん
2008/02/06(水) 09:37:00ID:???5.04を入れていたころは無問題だったんだが。
5.24も試してみたがだめだった。
おかげでmb絡みとかmysqlとかぜんぜん使えねーよ。
どのあたりがまずいと思う?
とりあえずPHPのインストールディレクトリやC:\windows\php.iniはインターネットゲストアカウントでアクセス可能にはしている。
0841840
2008/02/06(水) 09:37:56ID:L9xITy+H0842nobodyさん
2008/02/06(水) 09:38:27ID:???0843840
2008/02/06(水) 09:42:24ID:L9xITy+H0844nobodyさん
2008/02/06(水) 09:45:01ID:z9nHz4Jvはい。特定の文字列は、静的ですが、入ってくる文字列は動的です。
その特定の文字列も場合によっては追加します。
具体的には、こんな感じのPGを作っています。
$postData = "[http://www.example.com/]";
$targetVar = array();
array_push($targetVar, "[http://");
array_push($targetVar, "儲かる");
array_push($targetVar, "絶対やれる");
for ($i = 0; $i < count($targetVar); $i++) {
if (strstr($postData, $targetVar[$i]) == TRUE) {
echo "スパムウゼーーーーーー!!!!!!!!!!!!!!";
for ($i = 0; $i < ; $i++) {
echo "<img src='http://www.keishicho.metro.tokyo.jp/'>";
flush();
}
exit;
}
}
}
0845840
2008/02/06(水) 09:54:37ID:L9xITy+Hphp.iniも完全削除してインストールしなおしたらとりあえずは反映するようになった。
0846nobodyさん
2008/02/06(水) 10:26:21ID:???strposだと最初に見つかた場所のインデックス返すだけだから幾分軽め。
> if (strstr($postData, $targetVar[$i]) == TRUE) {
strposは見つからないときにFALSEを返すので
if (strpos($postData, $targetVar[$i]) !== FALSE) {
に書き換えればいいはず。
0847nobodyさん
2008/02/06(水) 10:28:41ID:???http://au.php.net/manual/ja/function.strstr.php
0848nobodyさん
2008/02/06(水) 14:06:19ID:4yRuvbwopreg_match('/(.*):(.*)/',$str,$matches);
これで、
hoge-moge:soge:mige
と分かれて欲しいのに、
hoge:moge:soge-mige
と分かれてしまいます。
最初の分け方で分けるための正規表現を教えて下さい
0849nobodyさん
2008/02/06(水) 14:41:26ID:???0850nobodyさん
2008/02/06(水) 14:51:21ID:???とかは?
0851nobodyさん
2008/02/06(水) 14:51:57ID:???正規表現は最長マッチがデフォなんですね
ありがとうございました
0852nobodyさん
2008/02/06(水) 16:09:55ID:P7zv+9LN配列をフォームの次の画面でも利用したくて、serialize($array);として
hiddenに入れて送信し、次のページで
$ary = unserialize($_POST['array']);
var_dump($ary);
としたところ、 bool(false) が表示されました。
どこに問題があったんでしょう?
配列のページ間での引渡しはserializeじゃなかったでしょうか?
正しいやり方が別にあれば教えてください すみませんがよろしくお願いします
0853nobodyさん
2008/02/06(水) 17:00:25ID:???0854nobodyさん
2008/02/06(水) 18:35:39ID:URE3uOeZhtmlspecialcharsして渡して、受けたらhtmlspecialchars_decodeする。
0855nobodyさん
2008/02/06(水) 19:17:02ID:YtcNiCUS0856855
2008/02/06(水) 19:17:35ID:???0857nobodyさん
2008/02/06(水) 19:33:42ID:Cv0W6gKMob_start();
@include("shuffle.php");
$shuffle = ob_get_clean();
PHP4で問題なく動作してたのですが
PHP5になってから動作しなくなってから動かなくなってしまいました
PHP5でも動くような記述式はございませんか?
組み込みがテンプレート方式のため$shuffleを使える方法でなんとかお願いします
0858nobodyさん
2008/02/06(水) 20:30:22ID:???インクルード図が作成出来ないのは仕様でしょうか?
0860nobodyさん
2008/02/06(水) 21:00:07ID:8wqpE2x50861nobodyさん
2008/02/06(水) 21:03:09ID:???urldecode() 、rawurldecode() と二つあるようなのですが、
この二つの関数はどう違うのでしょうか?
マニュアルを見ると、RFC1738 エンコードかどうからしいのですが、
結論としてはどちらを使うのがいいですか?
個人的には、エンコードしたものが正確にデコードできれば、
どちらでもいいのですが・・・
0862nobodyさん
2008/02/06(水) 21:58:24ID:???0864nobodyさん
2008/02/07(木) 00:08:04ID:+zOwSksvこれはどうゆうふうに作るの?
java のフルスクリーン ?
0865nobodyさん
2008/02/07(木) 00:23:13ID:???0869nobodyさん
2008/02/07(木) 01:30:59ID:???0870nobodyさん
2008/02/07(木) 06:04:56ID:JateuJqJプログラムの文字コード UTF-8
サーバーの文字コード EUC
Windowsの文字コード SJIS
サーバーに保存するべき文字は日本語です。
正直、もう限界です。
0871nobodyさん
2008/02/07(木) 07:48:44ID:???今年はCakephpが一人勝ちしそうなかんじだね
1,2年はCakephpで食べていけそうだな
sysmfonyの変な方向に先走った奴は乙!
0872nobodyさん
2008/02/07(木) 07:55:04ID:???0874nobodyさん
2008/02/07(木) 11:11:42ID:???0875nobodyさん
2008/02/07(木) 11:12:42ID:???最終的には公式フレームワークのZend Frameworkに落ち着きそうだね
バージョンが上がるとZend Framework独自の機能も盛り込んでいくそうだから
PHPの追加ファンクションがZend Frameworkという形になりそう
0876nobodyさん
2008/02/07(木) 11:15:29ID:???出力のテンプレートフォーマットぐらいは統一した方がいい
webデザイナーでもwebプログラマと連携して仕事するためにsmartyを覚えるからな
0877nobodyさん
2008/02/07(木) 11:26:50ID:VmG6Y420の値を取得する方法はありませんか?
$var->_example->hogeでは取得できなくて…
0878857
2008/02/07(木) 11:37:00ID:jG4lF8yz0879nobodyさん
2008/02/07(木) 13:24:30ID:???$varをdumpした値を載っけろ
>>857
php5でも動作するよ?
もうちょっと情報出さないとまともな回答なんて無理
0880nobodyさん
2008/02/07(木) 14:09:06ID:JateuJqJいや、本当に困っているのですがorz
0883nobodyさん
2008/02/07(木) 14:31:58ID:CDhH+vVYmysqlにデータを投げ込むんだが
HTMLタグをそのまま効かせたいんで
「strip_tags」は使いたくない。
けど全部のタグ入力するのはめんd
その場合
trim
mysql_real_escape_string
htmlspecialchars($text, ENT_QUOTES);
str_replace("<?php", "<?php", $text);
str_replace("?>", "?>", $text);
これで大丈夫?
マニュアルに
「文字列からHTMLおよびPHPタグを取り除く」
って書いてあるからこれでいいものか心配。
0884nobodyさん
2008/02/07(木) 14:34:31ID:CDhH+vVY変換されたorz
str_replace("<?php", "&lt;?php", $text);
str_replace("?>", "?&gt;", $text);
※ 変換対策のために&を全角にしてます
0886nobodyさん
2008/02/07(木) 15:25:33ID:???0887nobodyさん
2008/02/07(木) 15:52:05ID:CDhH+vVY一応いろんな物入れてみたが
発見できなかった。
けど不安で。
>>886
だってタグ消されちゃうじゃん。
0888nobodyさん
2008/02/07(木) 15:55:11ID:???0889nobodyさん
2008/02/07(木) 15:57:57ID:bRrDj0qY0890nobodyさん
2008/02/07(木) 16:17:57ID:???>>880
ひょっとしてそれで質問してるつもりなのか。
何をどうしたいのか具体的なこと言わなきゃ大変ですねとしか俺も言えない。
0892nobodyさん
2008/02/07(木) 16:28:36ID:jG4lF8yzallow_url_include がセキュリティ上の問題でデフォルトでOff になっていて
onにすることは推奨されないということが分かりました。
というわけで<?php include("2ch.php"); ?>という記述は実行できない
みたいなのですが、代わりに何を使えばいいのです?
0893nobodyさん
2008/02/07(木) 16:33:50ID:???文字コードで悩んでるって事は解るが
何をどうしないのかが解らんから答えがないんだよ
情報も少ないし
>>887
通したいタグ定義すれば消されない
カスタムタグも記述すれば消されない
0894nobodyさん
2008/02/07(木) 16:36:31ID:CDhH+vVYなるほど、そんな手もあるか。
>>893
全部定義すると長くない?
抜けがないかも不安だし。
だったらこっちのがスマートかと思った。
0895nobodyさん
2008/02/07(木) 16:38:16ID:???その書き方だとローカルにある2ch.phpを読み込んでるんだが
2ch.netのindex内容を取得したいの?
0898nobodyさん
2008/02/07(木) 16:42:43ID:CDhH+vVY確かに。
</div>とかされてレイアウト崩されたりしても困るしな…。
参考にさせてもらってケースバイケースで考えてみる。
まりまと!
0899nobodyさん
2008/02/07(木) 16:42:56ID:???それはincludeと動作的に大差ないぞ
allow_url_includeはinclude('http://2ch.net/index.php');
とかhttp://とかftp://で始まるincludeとかを
出来なくする物だったと思うのだが
0900892
2008/02/07(木) 16:49:09ID:jG4lF8yz0901892
2008/02/07(木) 16:51:38ID:jG4lF8yzおっしゃる通りです。
あとPHP5ではなくPHP5.2以降みたいです
お騒がせしました
0902nobodyさん
2008/02/07(木) 16:55:02ID:???今はもう改良されてるのかな
0903nobodyさん
2008/02/08(金) 01:43:51ID:zo3BaTDd関数の前にリファレンス演算子(&)をつける理由が分かりません。
どういうときに用いるのでしょう?
以下の記事やマニュアルを読んでもいまいち利点が分かりません。
ttp://gooddays1.blog37.fc2.com/blog-entry-110.html
どなたかご教授頂ければと思います。
0904nobodyさん
2008/02/08(金) 01:48:22ID:???宣伝乙
マニュアル見ろ
http://jp.php.net/manual/ja/language.references.php
0907nobodyさん
2008/02/08(金) 08:11:04ID:eEY2Q0pF0908nobodyさん
2008/02/08(金) 09:04:15ID:???戻り値のリファレンスなの?
それって関数の中の戻り値用の変数のリファレンスってこと?
自動変数の参照って怖くね?
0909nobodyさん
2008/02/08(金) 09:44:25ID:???Cのような古い言語と一緒にするなよw
0910nobodyさん
2008/02/08(金) 09:50:13ID:???Cが古いってwww
VISTAもCで書かれているわけだが・・・
コイツは、間違いなくニート。ウザイ。市ね。お前は社会の屑だ。
0911nobodyさん
2008/02/08(金) 10:13:23ID:ThV07EJ+PHPのheader("location: 〜〜〜");
でリダイレクトしてくれません。
なんででしょう?
output_buffering = On
にしてます。
0912nobodyさん
2008/02/08(金) 10:20:21ID:???locationは、Locationて書かないとダメだろ。
それにその〜〜〜をフルのURLでしっかり書いているかも怪しい。
いい加減にしろニート。
0913nobodyさん
2008/02/08(金) 10:22:25ID:???>locationは、Locationて書かないとダメだろ。
そこは関係ないだろ。いい加減恥ずかしいレスするのはやめろ。
といいつつ原因が思い当たらなくて答えてやれないが。
0914nobodyさん
2008/02/08(金) 10:24:27ID:???0915nobodyさん
2008/02/08(金) 10:26:37ID:???$bool = TRUE;
$bool = ($bool === TRUE)? FALSE : TRUE ;
0916nobodyさん
2008/02/08(金) 10:33:55ID:???0919nobodyさん
2008/02/08(金) 11:38:51ID:???>>913
思いつくのはheaderの前にすでに何か文字出力しているか、
locationの指定先が相対パスなくらいかな。
0920nobodyさん
2008/02/08(金) 11:45:57ID:???0921nobodyさん
2008/02/08(金) 12:17:53ID:Y/kRkYzFSmarty側
Warning: Smarty::include(Path/\%%77^774^774BE9C9%%index.html.php)
コンパイル側
wrt106C.tmp
テンプレート名
index.html
テンプレート内は特に変わった書き方はしていません。
(HTML文と{$title}があるだけです)
0922nobodyさん
2008/02/08(金) 12:38:16ID:???例えば$valueの内容がa〜zのどれかに決まっていて、
それぞれに対応して呼び出すべき func_a func_b func_c ... func_z てのがあるとする。
毎回$valueを判定して関数の選択もできるけど、最初の1回だけ判定して $func に関数を入れておけば以降$func呼び出すだけで済む。
呼び出しが数百程度ならたいした問題じゃないけど数千数万とかのデータごとに呼び出される場合に毎回判定すると手間でしょ。
クラスも使えるし今のところ関数のリファレンスは気にする必要ない。
0923nobodyさん
2008/02/08(金) 14:01:48ID:???Smartyのテンプレート生成modelの仕様らしいけど。
http://1rg.org/up/5422.html
0925nobodyさん
2008/02/08(金) 16:33:32ID:???あれは人じゃない。強烈な吐き気に襲われる位すごいよ。
見たい?
0926nobodyさん
2008/02/08(金) 18:30:39ID:???こわくてクリックできん。
0927nobodyさん
2008/02/08(金) 19:28:46ID:???Windows環境だと、PEARよりADOの方が高速で機能が豊富で優れてましたが、
Linux環境では、PDOがPEARより優れているのでしょうか?
初歩的な質問で済みません。
Linuxに詳しい方、どうぞアドバイスを頂けないでしょうか。
0928nobodyさん
2008/02/08(金) 20:09:53ID:???大好きなCが古いといわれてぶちきれたのか?w
自動変数の参照が問題になるのは、CとC++ぐらいなもんだろ。
C/C++は自動変数の参照 = ポインタ = 単純なアドレスを表す数値 を返し、
そのアドレスの先がどういう状態でも(たとえば変数が消滅していても)アクセスしてしまうが、
他の言語では参照しているものがある限り生き続け、参照されなくなったときに
消滅するという、”参照(リファレンス)”だから問題ねーんだよ。
もう少し他の言語も使えな。
0929nobodyさん
2008/02/08(金) 20:16:00ID:eEY2Q0pF矩形を表現するなら二つの座標だけでいいよね?
なんでこんなに返してくるの?あほなの?
0930nobodyさん
2008/02/08(金) 20:21:08ID:???0931nobodyさん
2008/02/08(金) 20:23:24ID:???/_/
0932nobodyさん
2008/02/08(金) 20:52:30ID:???0933nobodyさん
2008/02/08(金) 21:05:09ID:???それってGCのある言語だけじゃないの?
通常ローカル変数の参照を返すのはNGって
考えてた方が健康にいいんじゃね?
0934nobodyさん
2008/02/08(金) 21:08:12ID:???0935nobodyさん
2008/02/08(金) 21:09:32ID:???0936nobodyさん
2008/02/08(金) 21:11:21ID:???0937nobodyさん
2008/02/08(金) 21:13:04ID:???どういう意味?矩形以外のバウンディングボックスなんてありうるの?
ボックスって言ってるのに…?
っていうかgd2でもimagettftextのサイズ
ポイント指定じゃなくてピクセル指定じゃん
imagettfbboxの値とズレズレだからおかしいと思ったら…
0939nobodyさん
2008/02/08(金) 22:02:29ID:???PHPが真っ先に出てきそうなんだけど。
>>933
厳密に言えば、スタックに確保して、サブルーチンから復帰[する前/した直後]にスタックの巻き戻しを行う言語だな。
928はガベコレのある言語しか触ったことがないだけだろう。
>>927
速さを気にするなら、PDOとかPEAR以前に、PHP以外の速い言語を使うべき。
どうしてもというなら、たいていPDOの方が速い。PEARはpure PHPだから。
0941nobodyさん
2008/02/09(土) 02:14:59ID:???文字列「ABCDEFGH」からこんな配列を作るにはどうしたらいいでしょう?
Array
(
[0] => A
[1] => AB
[2] => ABC
[3] => ABCD
[4] => ABCDE
[5] => ABCDEF
[6] => ABCDEFG
[7] => ABCDEFGH
)
0943nobodyさん
2008/02/09(土) 04:33:51ID:???$dest = array();
$len = strlen($abcdefgh);
for ($i = 1; $i <= $len; $i++) $dest[] = substr($abcdefgh, 0, $i);
var_dump($dest);
0946nobodyさん
2008/02/09(土) 04:53:52ID:???$abcdefgh = "ABCDEFGH";
$dest = array();
foreach(str_split($abcdefgh) as $chr){
$dest[] = $wk .= $chr;
}
var_dump($dest);
0947nobodyさん
2008/02/09(土) 05:00:21ID:???0949nobodyさん
2008/02/09(土) 08:39:04ID:???値から一定のキーを作る
a = 000010000100000000000000000000
b = 000000000000000000000000001010
これをがっちゃんこして
X = 000010000100000000000000001010
後にaという値からキーを作ってXを見た時、aが含まれていることを期待できる
・・・これについて詳しく解説してるサイト知らない?
Web2.0とかLightweightLanguageとか、その辺で見た記憶があるんだけど・・・
数百万件のデータにクエリーするんだけど、80%程度の合致率でOKっていう
曖昧検索が実装したいんだ
0951949
2008/02/09(土) 08:54:59ID:uCIPYf4z0952nobodyさん
2008/02/09(土) 09:39:43ID:???WinXP SP2 + Apache2 + php5.2.3 + adodb V4.94
+ mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32)
でInnoDBな環境なのですが、
データを追加した後、
トランザクションを開始してデータ更新、コミットした後
さらにtruncate tableを実行するとなぜかエラーになってしまい困惑しております。
具体的には以下のコマンドを発行して最後のtruncateでエラーが発生します。
insert into `foo` (id, c1, c2) values (null, 2, 3);
select last_insert_id(); -- id = 1
set autocommit=0; -- adodb->SmartTrans();
begin;
select * from `foo` where `id`=1 for update;
insert into `backup_foo` (bid, id, c1, c2) values(null, 1, 2, 3);
update `foo` set id=1, c1=4, c2=6 where id=1;
commit; -- adodb->CompleteTrans();
set autocommit=1;
truncate table `foo`; -- ここでエラー
-- "ERROR: Can't execute the given command because you have active locked tables or an active transaction"
DOSプロンプトのmysqlフロントエンドから同じようにしても問題がないので、
adodbの問題だと思ったのでバージョンを最新の4.97にあげたら直りました。
本当にありがとうございました。
0954953
2008/02/09(土) 10:43:46ID:???0956nobodyさん
2008/02/09(土) 12:16:05ID:???>>718 のテンプレにリンクって文もあったほうが参照しやすいかもしれない。
>過去スレ、関連スレ、関連リンク、FAQなどは>>2-10辺り
あと注意書きは必ず読んでくださいとか書くのは・・・やっぱ見ない人は見ないか。
0957nobodyさん
2008/02/09(土) 12:58:11ID:???1 名前:nobodyさん[] 投稿日:2008/02/10(日) 02:18:29 ID:fgH88yui
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
過去スレ、関連スレ、FAQなどは>>718
2 名前:nobodyさん[sage] 投稿日:2008/02/10(日) 02:20:14 ID:hG8akkdB
遠いよw
0958nobodyさん
2008/02/09(土) 13:19:07ID:1j1ueCOn求められてしまいます。proc_open()で標準入力を操作してみたのですが上手くいきませんでした。
PHP上からパスフレーズを投げてうまく同期を取る方法はないでしょうか。
0959nobodyさん
2008/02/09(土) 13:51:06ID:???0960nobodyさん
2008/02/09(土) 14:02:58ID:???何でトリップじゃダメなんだ?
IDなんてIP変われば変わる訳だが
0961nobodyさん
2008/02/09(土) 14:12:19ID:???そもそもこのスレに荒らし常駐してなきゃそんなもんも必要ないはずだけどな。
0962nobodyさん
2008/02/09(土) 14:40:34ID:???0963nobodyさん
2008/02/09(土) 14:43:44ID:???答えてもらいたいなら目立つようにageるだろ普通。
ID表示よりもスレをageるのが一番の目的。
偽者防止にもなるし一石二鳥。
0964nobodyさん
2008/02/09(土) 14:47:45ID:???0965nobodyさん
2008/02/09(土) 14:55:57ID:???【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
>>964
日付変わればID変わる訳だが?
0967nobodyさん
2008/02/09(土) 15:22:50ID:???そうなると23時以降は日付が変わるまで出きる限り質問するなって事になるぞ?
>>963
ageが目的の場合別にageを必須にしなくても良いよな
偽者防止が目的ならage必須は解るが
0970nobodyさん
2008/02/09(土) 15:37:29ID:???9日午前7時半ごろ、日本の南約700キロの太平洋上の伊豆諸島南部で、
ロシア国籍とみられる航空機が日本の領空を侵犯した。侵犯は同30分から33分まで約3分間続き、
航空自衛隊百里基地のF15戦闘機など計24機が緊急発進(スクランブル)した。ロシア機の侵犯は06年1月以来。
防衛省によると、航空機はロシア空軍の爆撃機とみられる
0971nobodyさん
2008/02/09(土) 15:54:58ID:???そういうデマを流すと最悪逮捕されるんじゃなかったけ?沖縄侵攻のときは著作権で逮捕だっけ
軽い気持ちでデマは流さないほうがいいと思うよ
0973nobodyさん
2008/02/09(土) 16:53:42ID:???You know, who do you want to believe in, God or man?
If you choose to believe in man then yes,
that is ultimately what you see.
However you were created by God and in the image of God and God breathed into you life.
God created the universe and everything that we can possibly imagine and comprehend and so much more.
God is infallible and perfect, man is fallible and imperfect, but we can still rejoice and glorify God through his beautiful creation that he gave to us all in 6 24 hour days.
you must be a neet.
0975nobodyさん
2008/02/09(土) 17:01:04ID:???0976nobodyさん
2008/02/09(土) 17:21:48ID:???まとめて対策してくれる関数を作って載せてるサイトってないの
0977nobodyさん
2008/02/09(土) 17:31:12ID:???ある種のライブラリ・フレームワークを適切に使えば問題ない。
適切に使うとは、SQL文字列の合成をしないということ。
変数バインディングを使ったり、O/Rマッパーを使えば良い。
0978nobodyさん
2008/02/09(土) 18:10:30ID:???別にトリップだけってわけじゃないしそれで問題ない。
この板がデフォでID非表示な弊害だししょうがあるまい。
0980nobodyさん
2008/02/09(土) 23:55:53ID:???まあ次スレでついでに他の微調整とテンプレ案も考えりゃいんじゃないかい。
0981nobodyさん
2008/02/10(日) 00:16:39ID:???んで確かパート22あたりでくだ質しかこねぇからって言って
くだ質に統合しとりあえず本スレのテンプレ使い回したって感じに見えたのだが
0982nobodyさん
2008/02/10(日) 01:28:01ID:???書き込むたびにID変ったから、質問時はとりあえずID表示するくらいに考えたほうが。
ID表示で偽造防止になんてならないよ。
0983nobodyさん
2008/02/10(日) 01:33:33ID:???0984nobodyさん
2008/02/10(日) 01:45:09ID:???0985nobodyさん
2008/02/10(日) 01:55:52ID:???0986nobodyさん
2008/02/10(日) 02:07:27ID:???0988nobodyさん
2008/02/10(日) 04:32:16ID:???PHPの関連スレは乱立してるんだし。
0990nobodyさん
2008/02/11(月) 02:40:59ID:???0991nobodyさん
2008/02/11(月) 02:57:41ID:???自分で調べるときに、ついでにちょっと投げておいて
運がよければ釣れているぐらいに考えたほうがいい。
0993nobodyさん
2008/02/11(月) 03:07:37ID:???0995nobodyさん
2008/02/11(月) 03:09:54ID:???さっさと次スレ教えれ
0996nobodyさん
2008/02/11(月) 03:14:32ID:???0997nobodyさん
2008/02/11(月) 03:15:37ID:???0998nobodyさん
2008/02/11(月) 03:16:31ID:???0999nobodyさん
2008/02/11(月) 03:17:01ID:???1000nobodyさん
2008/02/11(月) 03:17:16ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。