[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/05 02:47 / Filesize : 235 KB / Number-of Response : 906
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はID出して書き込みやがれ 74



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等)・フレームワークは各該当スレへ

675 名前:nobodyさん [2008/10/06(月) 18:46:29 ID:J8jNqfv3]
>>674

ありがとうございます。

やはり自宅サーバ立てるのが近道なんですかね。
でも管理コストが・・・。

676 名前:nobodyさん [2008/10/06(月) 19:13:23 ID:szIkgH26]
おまいらHTMLエディター、何使ってる?

677 名前:nobodyさん mailto:sage [2008/10/06(月) 19:15:46 ID:???]
なぜPHPは除外?

678 名前:nobodyさん mailto:sage [2008/10/06(月) 19:22:34 ID:???]
>>676
メモ帳

679 名前:nobodyさん mailto:sage [2008/10/06(月) 19:25:24 ID:???]
メモ帳

680 名前:nobodyさん mailto:sage [2008/10/06(月) 19:29:27 ID:???]
メモ帖

681 名前:nobodyさん mailto:sage [2008/10/06(月) 19:49:37 ID:???]
getで、
.php?id=123456
みたいなのじゃないくて

2chのスレみたいに

read.cgi/php/1221909788/l50←ここ

を受け取りたいんだけど、これ出来ない?

682 名前:nobodyさん mailto:sage [2008/10/06(月) 19:52:09 ID:???]
>>1

683 名前:nobodyさん mailto:sage [2008/10/06(月) 19:53:22 ID:???]
>>659
どっちもできるのに何故RFCで決めなければならんのだ



684 名前:nobodyさん [2008/10/06(月) 20:02:26 ID:F1nMmuDg]
あだるとびでおの編集とかにぴーえいちぴーは、つかわれていますか?

685 名前:nobodyさん mailto:sage [2008/10/06(月) 20:03:52 ID:???]
使われていまsん

686 名前:nobodyさん [2008/10/06(月) 20:07:14 ID:rKAl3ZIy]
サーセン。

【OS名】window xp
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
getで、
.php?id=123456
みたいなのじゃないくて

2chのスレみたいに

read.cgi/php/1221909788/l50←ここ

を受け取りたいんだけど、出来ないですか?

687 名前:nobodyさん mailto:sage [2008/10/06(月) 20:14:53 ID:???]
できまsん

688 名前:nobodyさん mailto:sage [2008/10/06(月) 20:15:09 ID:???]
テンプレ出したとこで申し訳ないがphpとは全く関係ない罠
mod_rewriteで調べてちょうだい

689 名前:nobodyさん [2008/10/06(月) 20:20:32 ID:szIkgH26]
いままでHTMLエディタは TTTエディタを使っていたんだが、
こんどPHPを勉強することになって、
文字コードはかっこよく、utf-8で統一しようと思ったんだけど、
今しらべてみて、なんと、ttteditはユニコードでのファイルの保存が
できないことが判明。いまどきそれはないわな。

てなわけで、ttteditを捨てることに決定。

で、ttteditみたいなエディターで、イマドキなの、一個
紹介してよ。

690 名前:nobodyさん [2008/10/06(月) 20:25:34 ID:rKAl3ZIy]
>>687

cgiなら出来る?

691 名前:nobodyさん [2008/10/06(月) 20:31:29 ID:rKAl3ZIy]
mod_rewriteググったら解決出来そうだった。

クエリー式(/sample.cgi?a=123&b=456)
PATH_INFO式(/sample.cgi/123/456)
とか言うのね。

thx!!

692 名前:nobodyさん mailto:sage [2008/10/06(月) 20:41:33 ID:???]
>>689
PDT

693 名前:nobodyさん mailto:sage [2008/10/06(月) 20:47:57 ID:???]
htmlエディタとかスレ違いもいいところだろ
phpやるならIDE使えよ
htmlの色付けやコード保管機能ぐらいならどれでもついてる
ていうかhtmlなんてメモ帳で余裕ぐらいにならんと



694 名前:nobodyさん mailto:sage [2008/10/06(月) 20:50:32 ID:???]
>>693
メモ帳wwwwwwwwww
好きに文字コードを指定して保存できる素晴らしいツールですね^^

695 名前:nobodyさん mailto:sage [2008/10/06(月) 20:59:52 ID:???]
>>694
文字コードとかの話をしてるんじゃねえよ
htmlの色付けとか補完機能とかオマケなみたいなもんで必要ないってこと
あったほうが作業効率は早まるが覚えること少ないだろhtmlは

696 名前:nobodyさん [2008/10/06(月) 21:00:45 ID:szIkgH26]
自分のイメージだと、
はhtml編集ソフト。
PHPはPHP専用のIDE

、、、て使い分けてるイメージがあったんだが、
違うの?

697 名前:nobodyさん mailto:sage [2008/10/06(月) 21:01:30 ID:???]
ふ、甘いぜ。漢なら、Emacs で打ちこみだろう。

698 名前:nobodyさん mailto:sage [2008/10/06(月) 21:09:21 ID:???]
俺は自社製のソフト使ってる
フローチャート書けば自動的にスクリプトにしてくれるから便利

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みたいた感じのやつで読み込んでる






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef