【PHP】下らねぇ質問はここに書き込みやがれpart16
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/02/05(日) 22:35:34ID:sf8bx52Dここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
過去スレは>>2
0353nobodyさん
2006/02/13(月) 23:18:08ID:???DBもいいね。
PHPを書くのは少々面倒だね。
0354351
2006/02/13(月) 23:25:07ID:1JhTlLn3実は、PHPファイルではなくてiniファイルなのでした|x・`)チラッ
と言っても、中身は<?php......?>て書いてあるので、
PHPファイルなのですが…。
parse_ini_file関数から、iniファイルの扱いについても
ちょっと調べてみまーす。
ありがとうございましたm(__)m
0355nobodyさん
2006/02/13(月) 23:28:41ID:???標準と全然違うファイル形式の拡張子をつけるのはどうかと…
PHPソース形式にするならせめて.inc辺りにしとけ
0357351
2006/02/13(月) 23:39:28ID:1JhTlLn3そっか。
設定ファイルが.iniって言う知識しかなかったもんで(^-^;
そこら辺、初心者にもわかり易く書いてあるサイトとかって
何かありますかい??
0359nobodyさん
2006/02/14(火) 00:41:28ID:???あれはブラウザから中身が見えちゃうから、
見られたくないような場合phpにしたほうがいいよ。
パーミッションいじってもいいけどね。
まぁセキュリティ対策にはならないからどうでもいいっちゃいいんだけど。
0360nobodyさん
2006/02/14(火) 00:54:50ID:???だな。アセンブラ時代からの由緒正しき拡張子かw
>>359
iniファイルにしろincファイルにしろ設定ファイルをドキュメントルート以下に置く方が悪い。
0361nobodyさん
2006/02/14(火) 01:23:29ID:???0362nobodyさん
2006/02/14(火) 01:26:09ID:???0363nobodyさん
2006/02/14(火) 01:48:24ID:???0364nobodyさん
2006/02/14(火) 01:51:54ID:???って、array_searchしてunsetしかないの?
0365351
2006/02/14(火) 02:01:36ID:zk1lvDPH無敵ではない?
0366nobodyさん
2006/02/14(火) 02:09:05ID:???トラップを自ら掘りまくるような行為は感心しないな。
0369nobodyさん
2006/02/14(火) 02:35:42ID:???.htaccessやhttpd.confが間違って上書き、削除されてしまったり、
何ヶ月も経って元々の意図を忘れて別の目的のために設定を変えてしまったり、
Apacheのアップデート時に設定が効かなくなってしまってたりなど、
その程度の隠蔽設定がうっかり消失されてしまうようなケースは多々あり、
またそういうミスをしてる連中が世間にはごまんといるってことだ。
「自分はそんなアホなミスしないから」と思ってるならセキュリティとかは口に出さない方がいいぞ。
0370nobodyさん
2006/02/14(火) 07:56:53ID:???以前Livedoorの.incが漏れたときもルートより上ではなかった。
なんというか、仕事を完璧にめざす者と、仕事を徹底的にさぼる者に別れている気がする。
そしてJavaサーブレットを使えばこの問題が簡単に解ける悲しさ。
0371nobodyさん
2006/02/14(火) 09:20:26ID:???「ミスしやすいもの」と「しにくいもの」
「やってしまったときに気付きやすいもの」と「しにくいもの」
は確かにあって、その分別は必要だと思うのよね。
0372nobodyさん
2006/02/14(火) 10:47:05ID:???0374nobodyさん
2006/02/14(火) 13:28:11ID:???212.112.227.217
を
212.112.227.xxx
みたいにするにはどうすればいいでしょうか?
0376nobodyさん
2006/02/14(火) 15:18:00ID:???Mozilla/5.0 (Windows; U; Win 9x 4.90; ja-JP; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
これってOSなんですか?
0377nobodyさん
2006/02/14(火) 15:26:30ID:???0378nobodyさん
2006/02/14(火) 15:36:44ID:???0379nobodyさん
2006/02/14(火) 15:37:43ID:???0380nobodyさん
2006/02/14(火) 15:38:32ID:???「このUAから識別出来るOSって何ですか?」って感じで聞かないと。
「UAも知らないのかプギャー」な馬鹿に見えるぞ。
で、それぐぐれば答えはすぐ出るな。
0381nobodyさん
2006/02/14(火) 15:39:20ID:???Mozillaと先頭に出ててOSですか?
なんてきかれたら、誰でもブラウザと答える罠。
質問するならもっとわかりやすい質問しろ。
0382nobodyさん
2006/02/14(火) 15:42:21ID:???これってOSなのですか?
0383nobodyさん
2006/02/14(火) 16:09:46ID:???0384nobodyさん
2006/02/14(火) 16:23:57ID:???0385nobodyさん
2006/02/14(火) 16:27:59ID:???0386nobodyさん
2006/02/14(火) 16:32:04ID:???0387nobodyさん
2006/02/14(火) 16:34:37ID:???0389nobodyさん
2006/02/14(火) 18:04:38ID:???0390nobodyさん
2006/02/14(火) 18:11:26ID:???0391nobodyさん
2006/02/14(火) 18:36:47ID:???0392nobodyさん
2006/02/14(火) 18:44:56ID:???0393nobodyさん
2006/02/14(火) 18:58:55ID:???0394nobodyさん
NGNGマルチバイト文字列を扱うときは
mbstringモジュールをインストールしないとやばい
みたいなことが書いてあったんですが
いまいちなにがやばいのかわかりません。
具体的にどういうコードを入れると
問題が発生するのですか?
0395nobodyさん
2006/02/14(火) 19:50:05ID:???マルチバイト文字の入力を受け付けるプログラム
マルチバイト文字で検索を行うプログラム
マルチバイト文字の編集を行うプログラム
のいずれかで文字化けを起こす可能性が高いです。
0396nobodyさん
NGNGありがとうございます。
split()とか試してみても問題なく処理されるから
なんでだろーなーと思って質問したんですが、
問題が起きなかった理由は、
どうも文字コードがISO-8859-*, EUC-JP, Shift_JIS
ならmbstringなしでも正常に動作するらしく、
私が試したのはEUC-JP, Shift_JISだけだったからっぽいです。
ということでISO-2022で試してみたら普通にエラーが出ました。
どうもすみませんでした。
EUC-JPで問題が起きないということは、
例えば掲示板などをを作るときに
内部コードとhttpヘッダとフォームタグの文字セットを
全部EUC-JPにすればmbstring無しでも
いけますかね?
0397nobodyさん
2006/02/14(火) 21:27:40ID:???Shift_JISだって問題になることは多い。
それはsplitで使った分割文字がたまたまShift_JISで問題の出ない文字だっただけだ。
0398nobodyさん
2006/02/14(火) 21:28:43ID:???が、全く問題が出ないわけじゃない。
0399nobodyさん
NGNGじゃあやっぱりmbstring入れなきゃやばいんですね。
どうもありがとうございました。
0400nobodyさん
2006/02/14(火) 21:58:12ID:???関係ないけど
0401nobodyさん
2006/02/14(火) 22:08:05ID:???関係ないけど
0402nobodyさん
2006/02/14(火) 22:43:05ID:???0404nobodyさん
2006/02/14(火) 22:59:12ID:???使用する文字コードを特定すればできるよ。
mbstringみたいに設定でどれでも自動切換えみたいのはさすがにしんどい。
0405nobodyさん
2006/02/14(火) 23:04:33ID:???%x8Cとか
0406nobodyさん
2006/02/14(火) 23:18:59ID:???0407nobodyさん
2006/02/14(火) 23:20:50ID:???/hoge/fuga/hunnu/2test
のような文章から
/hoge/fuga/hunnu(最後の/〜を抜いたもの)
hunnu(最後の/〜の直前の文字列)
2test(最後の/以降の文字列)
を一度に正規表現で抜き出したいのですが、どのようなコーディングをすればいいでしょうか?
"^(/?([a-zA-Z%])*)*([a-zA-Z%]*)"
として挫折しました。
直前に書いた"/^((\/[a-zA-Z]*))*$/"のが抽出率はいいようですが。
よろしくお願いします。
0409nobodyさん
2006/02/14(火) 23:27:00ID:???・/2testを抜いたもの
・/2testの直前にある文字列
・2testのみ
を抽出したいという事です。
とても分かりづらく書いてすみません。
0410nobodyさん
2006/02/14(火) 23:37:42ID:???$str = "/hoge/fuga/hunnu/2test";
preg_match('<.*/([^/]+)/([^/]+)$>', $str, $match);
$str1 = $match[2];
$str2 = $match[1];
0411410
2006/02/14(火) 23:40:32ID:???preg_match('<^(.*/([^/]+))/([^/]+)$>', $str, $match);
$str1 = $match[1];
$str2 = $match[2];
$str3 = $match[3];
0412nobodyさん
2006/02/14(火) 23:49:28ID:???ありがとうございます。
dirnameだとファイル名を含まないパスを返してくるので意図した内容にはならず、
ただこちらの存在を忘れていました。
>>411
神を見た。
いや、何度読んでも仕組みが分からない。
でも期待したものが返って来ます。
凄いです。なぞです。
いわゆるゴッドです。
0413nobodyさん
2006/02/14(火) 23:55:57ID:???/2testのみだと返って来ないみたいです。
0414nobodyさん
2006/02/15(水) 00:01:49ID:???で/2testのようなものも回収できるようになりました。
<や>が全然分かりませんが、動くので>4100氏に感動してしまいます。
0415nobodyさん
2006/02/15(水) 00:17:35ID:???/hoge/fuga/hunnu/
だと取得できなかったのですが、
'<^(.*/?([^/]+))*/([^/]+)?$>'
とする事で取得する事ができました。
>410氏ありがとうございました。
0416nobodyさん
2006/02/15(水) 01:16:25ID:???あー。<や>には大して意味ないよ。
普通、pregの正規表現は /〜/ って書くものだけど、
|〜| とか [〜] とかでも書けるってだけの話。
パス分解の正規表現を書くときは中身に / を多用するから
エスケープ面倒くさいんで別の記号で代用してるだけ。
0417nobodyさん
2006/02/15(水) 02:51:07ID:NFe11LPg0423nobodyさん
2006/02/15(水) 09:37:50ID:???0424nobodyさん
2006/02/15(水) 09:56:08ID:???その場合matchesに入るテキストはどういう順番になるの?
0425nobodyさん
2006/02/15(水) 10:01:21ID:???0426nobodyさん
2006/02/15(水) 10:24:46ID:???0429nobodyさん
2006/02/15(水) 12:06:02ID:???Date:
Two, 14 Feb 2006 8:38:50 -0480
という素晴らしいヘッダを送ってくるスパムがあるんですが、postgresにdateとして登録すると日付ではないと怒られます。
phpでも同じような正しい日付ではないと判断する関数は無いでしょうか?
0431nobodyさん
2006/02/15(水) 13:06:54ID:???ファイルの更新日時を取得するにはどうしたらよいのでしょうか
0432nobodyさん
2006/02/15(水) 13:09:36ID:???ありがとうございます、出来ました
下記のようにおかしな日付表現だと"-1"が帰ってきました。
----------------------------------------
$time = 'Two, 14 Feb 2006 8:38:50 -0480';
//$time = 'Wed, 15 Feb 2006 11:49:43 +0900';
$stime = strtotime($time);
print $stime . "<br>";
print date("(Y-m-d h:i:s)",$stime);
----------------------------------------
関数名が分かってマニュアル見てみるとそのまんまエラーの処理があって便利
http://php.s3.to/man/function.strtotime.html
0433nobodyさん
2006/02/15(水) 13:20:22ID:???stat
filemtime
別に宣伝じゃないけど
PHP5逆引き大全 500の極意
とかの逆引き出来る本買うと相当便利よ
phpのマニュアルは日本語検索する方法が分からないのよね・・
0434nobodyさん
2006/02/15(水) 14:04:41ID:p2BDIAFN0437nobodyさん
2006/02/15(水) 14:47:56ID:???0439431
2006/02/15(水) 15:08:53ID:???やってみたのですが、どうもうまくいきません。アップロードした時刻が表示されてしまいます。
ポイントだけでもかまわないので、何かサンプルを示していただけないでしょうか?
0441nobodyさん
2006/02/15(水) 15:35:03ID:???0443nobodyさん
2006/02/15(水) 15:41:12ID:???ありがとうございます、気をつけます
現在はphp4なので、またphp5に移ってDB登録の際にエラーが出たら考えます。
>>431
アップロードしてからの更新時刻についてだったら
clearstatcache();
print_r(stat('./dummy.txt'));
で出来てるようだけど
0445nobodyさん
2006/02/15(水) 18:22:47ID:NFe11LPgそうです。そのPDFとして吐き出すという処理を自動でさせたいのです。
ID・PASSなどでログインした会員ページで、例えば自分の登録状況をPDFとして出すとか。
0447nobodyさん
2006/02/15(水) 20:43:29ID:???上に出てきてないやつだと fpdfとかもあるな。
0448nobodyさん
2006/02/15(水) 21:12:05ID:HBKFx6cqsqliteは入っているのでしょうか?どこにもないんです。
phpinfoもみましたがそれらしき文字も見当たりません。
なにかインストールする作業が必要なんでしょうか?
どなたかご教授おねがいします。
0449nobodyさん
2006/02/15(水) 21:36:07ID:???sqlite_open()すればインストールされているかどうか分かる
0450nobodyさん
2006/02/15(水) 22:19:37ID:???Win版しか知らないが、最新版なら作業が必要。
5.1から標準ではなくなった。ライブラリ化されたっぽい。
php.iniの適切な位置に
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
の3行を順番に記述するがよろし。
Linux版とかでも何らかの作業が必要と思われ。
0451nobodyさん
2006/02/15(水) 23:48:30ID:yhYCj6u70452450
2006/02/16(木) 00:08:24ID:???Win版で非標準(デフォで組み込まれていない)になって、Linux版で標準のままだったら不公平かとw
Win版に関しては間違いなく5.1.0ではデフォでは組み込まれなくなった。
5.0.4→5.1.0Ver.UP時にphp.iniを流用してたらSQLite動かず、原因究明にえらい苦労した。
■ このスレッドは過去ログ倉庫に格納されています