- 1 名前:nobodyさん mailto:sage [2008/09/20(土) 20:23:08 ID:???]
- 質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り 次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 73 pc11.2ch.net/test/read.cgi/php/1220440493/ ◆質問用テンプレ 【OS名】vine linux 【PHPのバージョン】php5.26 【連携ソフトウェア】mysql 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
- 699 名前:nobodyさん mailto:sage [2008/10/06(月) 21:15:32 ID:???]
- >>696
htmlにphpのコードを記述していくことになるから 使い分けたりしない <?php include_once("main.php"); ?> <html> <head> <?php echo $charset; ?> <?php echo $title; ?> </head> <body> <p>こんばんわ!<?php echo $name; ?>さん!</p> </body> </html> 見たいな感じで書いたりするからな
- 700 名前:nobodyさん mailto:sage [2008/10/06(月) 22:39:10 ID:???]
- >>699
そんなコードかかねーからw
- 701 名前:nobodyさん [2008/10/06(月) 23:56:26 ID:szIkgH26]
- pc11.2ch.net/test/read.cgi/php/1204488452/720
こういうのPHPでカンタンにできるの?
- 702 名前:nobodyさん [2008/10/07(火) 00:04:09 ID:xy9SRLMk]
- 暇だから答えるか。。
>>701 無理。PHPはサーバー側のプログラムだから。ブラウザの機能に付加するしかないから FireFOxのアドオンっていうのがJavaScriptで書かれているから、それ勉強した方がいいよ。
- 703 名前:nobodyさん mailto:sage [2008/10/07(火) 00:04:26 ID:???]
- >>700
書くだろ >>699を理解できないのはロジックが分離できてない証拠
- 704 名前:nobodyさん mailto:sage [2008/10/07(火) 00:08:21 ID:???]
- できないの?できるの?
そうだよね?違う? 下らん質問繰り返してる暇があったらさっさとはじめろよグズ野郎
- 705 名前:nobodyさん [2008/10/07(火) 00:30:01 ID:UKq/cagT]
- windowsとApacheでphpのプログラムを書いているのですが
<?php print_r ($_COOKIE); ?> とすると Array ( [PS] => ngnrnodnjsl5fmj8gl6ytgsks0 ) と表示されます setcookieを一度も呼び出さなくても勝手にこのPSというクッキーが発行されています これは何ですか
- 706 名前:nobodyさん [2008/10/07(火) 01:31:01 ID:CqpiE/lL]
- クッキーです。
- 707 名前:nobodyさん mailto:sage [2008/10/07(火) 13:07:59 ID:???]
- >>703
かかねーからw 今時、テンプレートエンジンとか普通使うし そんなコードを書くほうが少ない ビューとロジックを分離出来ていないのはどっちだよw デザイナーにPHPコードそのまま埋め込ませるのか?w
- 708 名前:nobodyさん mailto:sage [2008/10/07(火) 13:10:28 ID:???]
- >>701
出来るよ
- 709 名前:nobodyさん mailto:sage [2008/10/07(火) 13:57:53 ID:???]
- し・・・下らねぇ
- 710 名前:nobodyさん mailto:sage [2008/10/07(火) 14:01:56 ID:???]
- 個人なら一緒でもいいんじゃね
分けると重くなるし
- 711 名前:nobodyさん mailto:sage [2008/10/07(火) 14:02:11 ID:???]
- >>707
PHPコードも、Smartyのタグも、埋め込ませるのでは変わらないよ。 テンプレートエンジンのオーバーヘッドはSmartyなんかでは特に高くて、 >>699のようなコードにするこでの分離も業務ではざらにあるんだよ。
- 712 名前:nobodyさん mailto:sage [2008/10/07(火) 14:04:40 ID:???]
- フレームワーク使って>>699のような書きかたも普通にするわ
- 713 名前:nobodyさん mailto:sage [2008/10/07(火) 14:44:20 ID:???]
- >>699 普通のPG
>>707 フレームワークしか触ったことの無い底辺PG ↑FA?
- 714 名前:nobodyさん mailto:sage [2008/10/07(火) 14:48:43 ID:???]
- 難しい言葉や一通りいろいろなものには触ってはいるが
本質的なことを理解していないタイプなのだろう
- 715 名前:nobodyさん [2008/10/07(火) 21:25:43 ID:4E7CA6TZ]
- 学習計画なんだけど、
素のPHPに1ヶ月、 smartyに1ヶ月、 cakephpに1ヶ月、 で合計3ヶ月で大体基本をマスターしようと 思うんだけど、どう思う?
- 716 名前:nobodyさん mailto:sage [2008/10/07(火) 21:28:52 ID:???]
- 別に・・・
- 717 名前:nobodyさん [2008/10/07(火) 21:35:53 ID:4E7CA6TZ]
- あ、もしかしたら、PEREってのも勉強しないといけないの?
- 718 名前:nobodyさん mailto:sage [2008/10/07(火) 21:35:56 ID:???]
- >>715
他の言語経験者ならいいんでない?
- 719 名前:nobodyさん mailto:sage [2008/10/07(火) 21:41:56 ID:???]
- なんでも予定通りには行かないだろうからとりあえずヤってみるべし
>PERE PECLのことか?これはC言語だから取りあえずスルーでイイ 定番PECLの使い方くらいは覚えておく必要はあるな(mbstringとか
- 720 名前:nobodyさん mailto:sage [2008/10/07(火) 21:42:09 ID:???]
- >>715
長すぎ
- 721 名前:nobodyさん mailto:sage [2008/10/07(火) 21:42:25 ID:???]
- >>719
PEARのことだと思われ
- 722 名前:nobodyさん mailto:sage [2008/10/07(火) 22:12:54 ID:???]
- >>715
せいぜい一週間だろ
- 723 名前:nobodyさん [2008/10/07(火) 22:36:38 ID:wbjjwnhA]
- GDを使って、カウンターの画像を表示するようにしています。
下記のようにしているのですが、1桁の画像しか表示されません。 桁数に併せて画像を連続出力する?みたいな事って出来ないのでしょうか? $count = "1234"; $c_array = str_split($count); header("Content-Type: image/gif"); for($i=0;$i<count($c_array);$i++){ $cnt = "img/".$c_array[$i].".gif"; $image = imagecreatefromgif("$cnt"); imagegif($image); imagedestroy($image); }
- 724 名前:nobodyさん mailto:sage [2008/10/07(火) 22:39:54 ID:???]
- 何をやっとんじゃ
- 725 名前:nobodyさん mailto:sage [2008/10/07(火) 23:47:39 ID:???]
- >>723
1つのimgタグで複数の画像を同時に表示出来ないことと同じ理由だぞ・・・ 単純に4桁なら4桁で1つの画像に表示させればいいじゃん 1桁1画像にする理由があるならスマンが
- 726 名前:nobodyさん [2008/10/08(水) 01:45:48 ID:ij2fkFmB]
- アンケートをためしに作っているのですが
作り方の載っているサイトなどをみると 送られたデータを表示する際には XSSを防ぐために htmlspecialchars 使えって 書いてありますがタグなどを抜く strip_tags ではだめなんでしょうか 駄目だとしたら理由も教えてください。
- 727 名前:nobodyさん mailto:sage [2008/10/08(水) 02:12:39 ID:???]
- 変換する関数と取り除く関数じゃん
- 728 名前:nobodyさん [2008/10/08(水) 02:23:16 ID:ij2fkFmB]
- >>726
すいません。書き忘れました。 htmlspecialchars が < とかを変換する関数だっていうのは わかっているんですが、それでXSS対策になるんだったら タグを取り除いても対策になるんじゃないかと思ったんです。
- 729 名前:nobodyさん mailto:sage [2008/10/08(水) 02:33:36 ID:???]
- strip_tagsのタグの除外方法に問題があります。
onmouseoverとかのイベントハンドラをタグに入れてかけてごらん。
- 730 名前:nobodyさん mailto:sage [2008/10/08(水) 03:05:46 ID:???]
- XSSとは直接関係ない別の理由、
例えばurlをはりつけられて宣伝行為がいやだとかなら、 正規表現でurlあったら登録前にはじくようにすればええ。 最初から<>を入力禁止にすればいい。
- 731 名前:723 mailto:sage [2008/10/08(水) 05:22:24 ID:???]
- >>725
すみません、「4桁でひとつの画像」という意味が分かりません。 例えば、カウンターで「1234」という桁数を表現したい場合、 1234の画像を予め作っておかなければいけないのでしょうか?
- 732 名前:nobodyさん mailto:sage [2008/10/08(水) 06:33:06 ID:???]
- >>731
その通りです。4つ画像作るということは、 4回もHttp RequestがWeb Serverに対して発生するということですよ。
- 733 名前:723 mailto:sage [2008/10/08(水) 07:30:56 ID:???]
- 自分で調べてimagecopymergeを使って
画像をコピー・マージンする事で対処出来ました。 やはり、すべての画像を用意するのは手間ですからね。 お騒がせしました。
- 734 名前:nobodyさん mailto:sage [2008/10/08(水) 07:50:07 ID:???]
- そんなことより、
cms.c-okinawa.co.jp/ サイトが乗っ取られているぞwwwww
- 735 名前:nobodyさん mailto:sage [2008/10/08(水) 07:53:47 ID:???]
- >>734
kwsk SQLインジェクションでもされたか
- 736 名前:nobodyさん mailto:sage [2008/10/08(水) 08:29:31 ID:???]
- >>735
詳しくは俺もよく分からないが、mixiとかで大騒ぎになっているw どうやら、ネット企業らしいが、自分の会社の恥をさらけ出している。 こういう会社に誰がシステム開発を頼むであろうか、いや頼まない。 72.14.235.104/search?q=cache:wa7dfBVHLrwJ:cms.c-okinawa.co.jp/cinfo/39-campanyinfo/69-campanyinfo.html%3Ftmpl%3Dcomponent%26print%3D1%26page%3D+http://cms.c-okinawa.co.jp/&hl=ja&ct=clnk&cd=2&gl=jp
- 737 名前:nobodyさん mailto:sage [2008/10/08(水) 08:31:02 ID:???]
- しかも、そのページキャッシュの下にある、これは何だ。
こんなバグばかりの自社ページw 最終更新 ( 2008年July18日(Friday) 13:49 )
- 738 名前:nobodyさん mailto:sage [2008/10/08(水) 08:34:44 ID:???]
- まぁ沖縄だからな
都内と比べて技術者が劣るのは否めない
- 739 名前:nobodyさん mailto:sage [2008/10/08(水) 08:36:00 ID:???]
- 裏を返せば、東京でプログラマーやっていれば、
沖縄でプロマネとか出来るってことか?
- 740 名前:nobodyさん mailto:sage [2008/10/08(水) 08:45:47 ID:???]
- CMSの管理アカウントが洩れたんだろうね。
技術力というよりは、管理力の問題かな。
- 741 名前:nobodyさん [2008/10/08(水) 08:49:07 ID:pfYxFPga]
- すみません、質問です
今phpでプログラムを書いているんですが、実行中にタイムアウトしてしまいます デフォルトの制限30秒を伸ばすのではなく、根本的に解決したいと思うのですが 可能性としてどんなことが考えられるでしょう? フォームを送信して、確認画面で表示する程度のプログラムでタイムアウトします ソースを見せられないのに漠然としていて申し訳ないのですが、ありがちな失敗例でも 教えてもらえたら幸いです 環境はwinXP Pen3-900mhz メモリ512m apache2 php5です マシンのスペックがショボイのも一因かなと思いますが問題ないでしょうか?
- 742 名前:nobodyさん mailto:sage [2008/10/08(水) 08:55:09 ID:???]
- >>741
ソース出した方が、解決早いよ。
- 743 名前:nobodyさん mailto:sage [2008/10/08(水) 09:10:24 ID:???]
- >フォームを送信して、確認画面で表示する程度のプログラムでタイムアウトします
こんなんでタイムアウトするとかありえないし無限ループしてるだけじゃね? whileとかforの部分があったら出してみ
- 744 名前:nobodyさん [2008/10/08(水) 09:37:13 ID:pfYxFPga]
- >>742-743
お返事ありがとうございます whileやfor文はないんです いま、error.logを見たら、以下のようになっていました PHP Fatal error: Maximum execution time of 30 seconds exceeded in C:\\....\arrayList.php on line 2, referer: localhost/system/admin/player_mng/base.php それで、arrayList.phpをみると <?php $sTypeAry = array(array("こだわらない",0),array("バー",1),array("カフェ",2),array("レストラン",3),array("ライブハウス",4)); となっています($sTypeAryの前にタブが入ってます) ログが問題あるといってるのは$sTypeAryの箇所ですよね? おかしいでしょうか? このarrayList.phpはたくさんの配列が定義されていて、それを使ってプルダウンメニューを生成してるんですが、、
- 745 名前:211 [2008/10/08(水) 10:12:23 ID:ARUsAyOt]
- 気になる部分を切り出して動かしてみるとか、
途中でログを出力するようにしてどこで止まるか調べるとか、 デバッガーを使ってみるとか、 動いていた環境と何が違うのか考えてみるとか、 文字コードが関係してないかとか、 考えればいろいろ思いつくんじゃない?
- 746 名前:741 [2008/10/08(水) 10:32:58 ID:pfYxFPga]
- >>745
ありがとうございます >気になる部分を切り出して動かしてみるとか、 >途中でログを出力するようにしてどこで止まるか調べるとか、 >デバッガーを使ってみるとか、 気になる部分を切り出したり、関係なさそうなとこをコメントアウトしたりはしてますが ログ出力とかデバッガとかはわかりません どんな風にしたらいいんでしょうか? ログ出力ってのはapacheのerror.logとは違うものですか? デバッガって専用ソフトがあるんでしょうか。。 調べてみますが、もし気が向いたら教えてください
- 747 名前:211 [2008/10/08(水) 10:45:45 ID:ARUsAyOt]
- >気になる部分を切り出したり、関係なさそうなとこをコメントアウトしたりはしてます
これで問題のあるところが絞り込めるんじゃないの? んでそこをじっと見てみれば解決に近づくと思うけど。 知らないことは調べてみて、わからないことをまた聞けばいいじゃない。
- 748 名前:nobodyさん mailto:sage [2008/10/08(水) 12:36:58 ID:???]
- Pear::Benchmarking_Benchmarkでも使ってみたら
- 749 名前:nobodyさん mailto:sage [2008/10/08(水) 12:42:57 ID:???]
- 配列をループさせて作るプルダウンは生成できてるの?
一度、プルダウン生成のループ前でexit;してみなよ。 それでタイムアウトしなければ配列の要素が多すぎるか無限ループ起こしてるか。
- 750 名前:nobodyさん mailto:sage [2008/10/08(水) 12:50:49 ID:???]
- whileやfor文はないけどforeach文はあるんですとかいうオチか?
配列つかっててループ使わないとは到底思えないわけだが
- 751 名前:nobodyさん mailto:sage [2008/10/08(水) 13:03:33 ID:???]
- エスパー呼んで来い!
- 752 名前:nobodyさん mailto:sage [2008/10/08(水) 14:52:41 ID:???]
- ふつうに再帰呼び出しのバグのような...
- 753 名前:nobodyさん mailto:sage [2008/10/08(水) 14:55:49 ID:???]
- >>744
>arrayList.phpはたくさんの配列が定義されていて その配列の数だけプルダウンメニューを生成していると・・・ ま、問題箇所はそこだね。 プルダウンメニューの生成部分をここに書いてご覧。
- 754 名前:nobodyさん mailto:sage [2008/10/08(水) 16:06:32 ID:???]
- 文字コードの変換についての質問です
対象となる文字を書き込むと文字化けするようですので以下のURLの検索結果を見ていただけますでしょうか ttp://www.google.co.jp/search?num=100&hl=ja&q=%E9%AA%9A%E8%B4%A7%E5%9B%BE&btnG=%E6%A4%9C%E7%B4%A2&lr= これらの漢字をUTF8からSJISに変換しようとすると?に化けます。 ※SJIS-winも同じ 用途はウェブから拾ってきた文字列(UTF8)をWindowsのフォルダ名として使用したいのですが、 特殊な文字が含まれている場合に文字化けを起こし、場合によってはフォルダの作成に失敗します。 ちなみにPythonだと、str.decode('utf8') でデコードすると特殊な文字のままフォルダ名として使用できました。 これと同じ事をPHPで実現可能でしょうか? よろしくお願いいたします。 OS:WindowsXP phpは5.2.5を使用
- 755 名前:754 [2008/10/08(水) 16:08:37 ID:l2gN2Unr]
- すみません。age忘れました・・
- 756 名前:nobodyさん mailto:sage [2008/10/08(水) 16:22:07 ID:???]
- 中国語じゃないの?
- 757 名前:nobodyさん mailto:sage [2008/10/08(水) 20:36:06 ID:???]
- Imagickを使用して複数のGIF画像からアニメーションGIFを作成したいと思います。
以下のようなコードを実行したところ、作成はされたのですがアニメーションが繰り返しません。 $im = new Imagick("1.gif"); $im2 = new Imagick("2.gif"); $im->addImage($im2); $im->writeImages('3.gif', true); $im->destroy(); $im2->destroy(); どのようにしたら繰り返すアニメーションGIFを作成できますか? PHP 5.2.3 Fedora Core release 6 よろしくお願いします。
- 758 名前:757 [2008/10/08(水) 20:37:40 ID:AijBw8uq]
- すいません。ID出してませんでした。
- 759 名前:nobodyさん mailto:sage [2008/10/08(水) 20:37:47 ID:???]
- >>757
>>1
- 760 名前:nobodyさん mailto:sage [2008/10/08(水) 20:40:30 ID:???]
- >>758
www.google.com/search?q=Imagick+%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3
- 761 名前:nobodyさん [2008/10/08(水) 20:54:08 ID:ZJxG3jMs]
- 【OS名】CentOS 5.2
【PHPのバージョン】php 5.1.6-20.el5_2.1 【連携ソフトウェア】mysql 【質問内容】 これまで正常に動作していたサイトの出力の先頭にゴミが出るようになった。 下記のようなゴミ。これを消したい。 出るようになったタイミングは CentOS で yum update やってサーバ再起動してから。 PHP上で動いているプログラムの問題かと思ったら、phpMyAdmin でも同様の 状態だった。ゴミの文字列は毎回違う。 ------------------------------------------------ 10be4 (←これがゴミ) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ... ------------------------------------------------ 猛烈に以前も同じことがあった気がする。 おながいします。
- 762 名前:nobodyさん mailto:sage [2008/10/08(水) 21:08:44 ID:???]
- BOM
- 763 名前:たまちゃん ◆ExGQrDul2E [2008/10/08(水) 21:20:35 ID:EssfW95q]
- PHP 正規表現
で質問があります。 画像ファイルとかの test.jpg 1234.test.jpg テスト.jpg のように、一番最後の.の後にある拡張子を取得したいんですけどどうしたらよいですか? $test = 'test.test2.gif'; if(preg_match("/(.+?).\d/",$test){ $filename = $test[1]; } では全然ダメでした。
- 764 名前:nobodyさん mailto:sage [2008/10/08(水) 21:33:51 ID:???]
- /[^\.]+$/
ていうか何がどうなってその正規表現に行き着いたんだ
- 765 名前:nobodyさん [2008/10/08(水) 21:35:26 ID:ij2fkFmB]
- 今帰りました。
お礼が遅れましたすいません。 >729 ありがとうございます。 該当すると思われるページにたどり着き納得しました。 >730 入力の制限も勉強してみます。 ありがとうございます。
- 766 名前:nobodyさん [2008/10/08(水) 22:55:04 ID:QSI2sKBR]
- XSS対策で、htmlspecialchars関数を使ってますが、&をエスケープするので、
&#9829等の特殊文字が表示されなくなりました。 みなさんはこの部分はどう対策されてますか?
- 767 名前:741 [2008/10/08(水) 23:43:38 ID:pfYxFPga]
- >>749-753
親切なレス本当にありがとうございます 外出しててお返事遅れてしまいました 配列をプルダウンにする処理は以下の通りです function makeStypePd($name,$selectNum,$modifyMode){//$modifyMode top>通常 rewrite>修正 db>db取得 $name=strtoupper($name); $options=""; //修正画面用 if($modifyMode == "rewrite"){ for($i=1;$i<=count($this->sTypeAry)-1;$i++){ $options .="<option value=\"".$this->sTypeAry[$i][1]."\" "; if(($selectNum != NULL) && ($selectNum == $this->sTypeAry[$i][1])){ $options .= "selected=\"selected\""; } $options .= ">".$this->sTypeAry[$i][0]."</option>\n"; } return $options; } //DB参照画面用 else if($modifyMode == "db"){ //同様の処理 } //通常画面用 普通にプルダウンを作る else if($modifyMode == "top"){ //同様の処理 } } おかしいでしょうか? 選択値を配列の各要素が持つ値と照合して、同じだったらselectedとする、 そうでなければ普通にoptionを作っていくという処理のつもりです。配列は以下のものを使っています。 $sTypeAry = array(array("こだわらない",0),array("バー",1),array("カフェ",2),array("レストラン",3),array("ライブハウス",4));
- 768 名前:nobodyさん mailto:sage [2008/10/09(木) 00:17:59 ID:???]
- つっこみどころ満載で涙が出るな
ループでは「$this->sTypeAry」、定義では「$sTypeAry」、 ちゃんと「$this->sTypeAry」に代入されてるか? forで「$i=1」ってなってるけど、それだと「こだわらない」が使われないよな? (配列ならforeachの方がいいと思うんだがなぁ) 単純なループだから大概な数を回しても30秒以内に終わりそう・・・・ ここには原因がないのだろうか
- 769 名前:nobodyさん [2008/10/09(木) 00:44:35 ID:ju+5ve0t]
- >>768
どうもです 本当にすみません 配列の代入はされてます 「こだわらない」はこの場合適用されなくていいんです(一言添えるべきでした すみません) forよりforeachの方がいいんですか? そのほうが早いとか? foreachをよく理解できないので使わなきゃ良いやって気分だったんですが、、 どこがまずいのかなぁ、、 あと、ちょっと話題がずれるかもしれないですが ある画像ファイルがあるときは、それを出力する処理をしています $dbPicPath = "../../../".$_SESSION['uType']."/img/".$_SESSION['uId']."/".$corner."/".$name.".jpg"; if(getimagesize($dbPicPath)){ $rtn.="<img src=\"".$dbPicPath."?".$rand."\"".$resize." />\n"; }else{ $rtn.="−\n"; } return $rtn; この処理に対して、該当する画像が存在しない場合エラーログに PHP Warning: getimagesize(../../../artists/img/1/pic/***.jpg) failed to open stream: No such file or directory といわれます この警告Warningを出さないようにするにはどうしたらいいでしょうか? これが遅い原因かな? 上記処理の時点では、該当ファイルの有無はわからないので 「そんなファイルやディレクトリはないよ」と いわれてもしょうがないじゃんって気分です。。 すみませんが気が向いたら教えてください
- 770 名前:nobodyさん mailto:sage [2008/10/09(木) 00:53:31 ID:???]
- ソースはともかくプルダウンはできてるぞ
getimagesize()の前にファイルの有無をチェック
- 771 名前:nobodyさん [2008/10/09(木) 01:05:05 ID:ju+5ve0t]
- >>770
たびたびすみません getimagesizeをfile_existsに置き換えたらwarning出なくなりました もう少し粘ってみます 今日はありがとうございました
- 772 名前:nobodyさん [2008/10/09(木) 01:08:35 ID:e6lF3vrt]
- データベースに接続するために、ユーザーIDやPWDをphp側で設定する必要があると思うのですが、
そのような設定値は、どこに書くのが適切でしょうか? ファイルに外だしすると、データベースに接続するたびに、 ファイルI/Oが発生して処理が遅くなるかと思いますが、 ソースに直接書くと、異なるサーバー(例えばテスト環境と本番環境)毎にソースを変えなければいかず、 それも、欠点が多いような気がします。 みなさんは、どこに書かれていますか? よろしくお願いします。
- 773 名前:nobodyさん mailto:sage [2008/10/09(木) 01:20:53 ID:???]
- >>766
preg_replace("/&(#[0-9]+|[a-z]+);/i", "&$1;", htmlspecialchars($value) とか。 ウザイけど。
- 774 名前:nobodyさん [2008/10/09(木) 02:03:19 ID:HkhPxnZW]
- >>772
config.php作って定数にしてinclude
- 775 名前:nobodyさん mailto:sage [2008/10/09(木) 02:04:43 ID:???]
- >>772
config.ini作ってfile_iniみたいた感じのやつで読み込んでる
- 776 名前:nobodyさん mailto:sage [2008/10/09(木) 07:18:15 ID:???]
- >>766
考え方がおかしい htmlspecialchars() は文字列をHTMLのCDATAに変換するためのもの もともと実体参照が含まれているCDATAな文字列に対して htmlspecialchars() を噛ませばおかしな事になるさ 実体参照をエンコーディングに従って割り当てられた文字コードに直せ
- 777 名前:773 [2008/10/09(木) 09:54:59 ID:T+Rb7EjR]
- >>773
私の場合単純に $var = htmlspecialchars($var,ENT_QUOTES); $var = ereg_replace('&#([19])','?\\1',$var); とやろうと思ったのですが、セキュリティーホールができそうでちょっと怖いです >>776 よくわからないのですが、実体参照(文字参照)に文字コードが関係するんですか? ユーザーの中に、?&#9829;とか?&#9834;とか書き込んでくる人がいるので、そういう人のために きちんと記号表示されるようにしてあげたいのですが、、 ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E5%8F%82%E7%85%A7
- 778 名前:773 [2008/10/09(木) 10:14:06 ID:T+Rb7EjR]
- >>777
追記 2chに変換されてしまった、、(^-^; 2chでは特殊文字が普通に変換されるサーバと?になるサーバとがあるみたいですね &#[0-9]* って感じか 4行目 $var = ereg_replace('&amp;#([19])','&#\\1',$var);
- 779 名前:nobodyさん mailto:sage [2008/10/09(木) 12:37:12 ID:???]
- >>763
それ正規表現いらない
- 780 名前:773 [2008/10/09(木) 13:07:33 ID:T+Rb7EjR]
- その後いろいろ調べたのですが、どうやら&はエスケープしなくてもセキュリティー上は問題ないようです。
shimax.cocolog-nifty.com/search/2007/12/php_f864.html とりえずこんな感じにしてみました $var = htmlspecialchars($var,ENT_QUOTES); $var = ereg_replace('&amp;#(9[0-9]{3}|1[0-9]{4})','&#\\1',$var);//一桁目が1(5ケタ)と9(4ケタ)のみ許可する
- 781 名前:nobodyさん [2008/10/09(木) 13:52:37 ID:XhRaoWbe]
- 【OS名】レンタルサーバで不明
【PHPのバージョン】php4.4.2 【連携ソフトウェア】mysql 【質問内容】 WebAPIよりXMLを取得しているのですが、階層が一定でなく 再帰処理によりデータを処理したいと考えています。 その際、staticによりデータを保持して再帰処理しているのですが staticで指定したデータを初期化する方法はないでしょうか? メインのファンクションから再帰処理を呼び出しているのですが すべてのデータが残ってしまい困っています。
- 782 名前:nobodyさん mailto:sage [2008/10/09(木) 14:16:55 ID:???]
- 歯茎
www.vipper.org/vip949167.jpg
- 783 名前:nobodyさん mailto:sage [2008/10/09(木) 14:24:39 ID:???]
- >>781
staticよりリファレンスの方が良くね? function sample ($node, &$out) { 〜 } $outに返り値を格納するようなヤツ
- 784 名前:nobodyさん mailto:sage [2008/10/09(木) 14:35:29 ID:???]
- >>783
望み通りの動作になりました。ありがとうございます!!
- 785 名前:nobodyさん [2008/10/09(木) 17:58:27 ID:waFB31sw]
- "aaa","bbb"
と言うように区切られた文字列を $array[] = "aaa"; $array[] = "bbb"; と言うように配列に入れるにはどうしたらいいのでしょうか? ファイルではないのでfgetcsvも使えません。
- 786 名前:nobodyさん mailto:sage [2008/10/09(木) 17:59:43 ID:???]
- >>785
split
- 787 名前:nobodyさん [2008/10/09(木) 18:04:59 ID:DVR9Hu5G]
- すみません、質問させて下さい。
PHP4のサーバーでエラー内容がブラウザに表示されず白紙のままです。 display_errorsとhtml_errorsはphpinfoで確認したところOnでしたが、念のためini_setとhtaccess両方試したけどダメでした。 よかったらご教授ください。よろしくお願いします
- 788 名前:nobodyさん mailto:sage [2008/10/09(木) 18:07:46 ID:???]
- >>787
error_reportingは?
- 789 名前:nobodyさん [2008/10/09(木) 18:19:02 ID:DVR9Hu5G]
- >>788
これが0でした!ありがとうございました。
- 790 名前:nobodyさん [2008/10/09(木) 20:04:59 ID:HNHF0bWh]
- 質問なんですが、配列の名前をループ内で自由につけるのはどうすればいいですか?
一つの配列$arrを分けたいので、$arr1、$arr2、…、のように分けるつもりで $arrX[] = $arr[$i] のようにしたいのです。 (※ X の所にループ内で得られる数字を入れたい) どうすればいいですか?
- 791 名前:nobodyさん mailto:sage [2008/10/09(木) 20:26:55 ID:???]
- $key = "arr$i";
$$key = $arr[$i];
- 792 名前:790 [2008/10/09(木) 20:49:00 ID:HNHF0bWh]
- >>791
$$keyの様にやってみたのですが、 ループ2周目で$$keyが上書きされてしまうで、$$keyが配列になりません。 ($arrXに複数入れたいのです) そこで $$key[] = arr[$i]; にしたのですがエラーになってしまうのです。 他に方法はないでしょうか?
- 793 名前:nobodyさん mailto:sage [2008/10/09(木) 20:51:36 ID:???]
- 教えてもらったやり方から色々工夫してみれ
- 794 名前:nobodyさん mailto:sage [2008/10/09(木) 21:31:39 ID:???]
- LPO対策クラス作って設置し実際に効果があった、需要があればさらす。
- 795 名前:nobodyさん mailto:sage [2008/10/09(木) 21:48:48 ID:???]
- むしろ効果のほうを晒してくれ
- 796 名前:nobodyさん mailto:sage [2008/10/09(木) 22:15:58 ID:???]
- >>739
お前分からんだけやろw
- 797 名前:nobodyさん mailto:sage [2008/10/09(木) 22:41:31 ID:???]
- お前は誰と戦ってるんだ
- 798 名前:nobodyさん [2008/10/09(木) 22:44:13 ID:HNHF0bWh]
- >>796
お分かりでしたら教えて下さい。 変数はできたのですが変数が配列になりません。
- 799 名前:nobodyさん [2008/10/09(木) 22:59:01 ID:ZnuIQjgo]
- イラレ+phpのgdでアバター機能作成をしています。
パーツ画像種類はPNGで、合成後jpgに変換して表示しています。 アンチエイリアスをかけて画像を保存して、下記を実行すると、絵がある部分の背景が黒くなってしまいます。 アンチエイリアスをかけずに画像を保存すると、画像がぎざぎざになってしまいます。 どうにか、うまい按配で合成することはできないでしょうか? /**/$imgpro[0]=array("../img/abt/base/w2.png","0","0"); $imgpro[1]=array("../img/abt/huku/w2.png","0","0"); $imgpro[2]=array("../img/abt/hair/w2.png","0","0"); $imgpro[3]=array("../img/abt/eye/w2.png","0","0"); $imgpro[4]=array("../img/abt/hana/w2.png","0","0"); $imgpro[5]=array("../img/abt/kuti/w2.png","0","0"); $imgpro[6]=array("../img/abt/mayu/w2.png","0","0"); $src = imagecreatefrompng($imgpro[0][0]) or die("error!1\n"); foreach($imgpro as $value){ $mrg1 = imagecreatefrompng($value[0]) or die("error!2\n"); list($mrg1_width, $mrg1_height) = getimagesize($value[0]); // イメージをマージ imagecopymerge($src, $mrg1,$value[1],$value[2],0, 0,$mrg1_width,$mrg1_height,100) or die("error!3\n"); }
|

|