トップページ⇒php
1001コメント285KB

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/02/03(火) 01:09:36ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0449nobodyさん2009/05/12(火) 21:47:19ID:???
file_exisits使うのはネタに見えてしまうw
0450nobodyさん2009/05/12(火) 21:54:39ID:???
file_existsの何が悪いのかkwsk
0451nobodyさん2009/05/12(火) 22:36:38ID:???
>>448
今回はaモードでopenだから関係ないじゃん。
0452nobodyさん2009/05/12(火) 23:01:41ID:???
俺的にはスクリプトでパーミッションを弄る動作はダメコードだと考えている
0453nobodyさん2009/05/12(火) 23:06:33ID:???
だからfile_existsの何が悪いのよ
適当なこと言わないでよ
0454nobodyさん2009/05/12(火) 23:06:47ID:???
別にいいやん。
ただWindowsだとchmodできんのはチト不便。
0455nobodyさん2009/05/12(火) 23:10:17ID:???
>>453
まず貴様がfile_existsって問題ない理由を述べればいいよ
0456nobodyさん2009/05/12(火) 23:13:14ID:???
>>455
マニュアルに使用上の注意について書いてないじゃない
0457nobodyさん2009/05/12(火) 23:15:59ID:???
また荒らしかよ
0458nobodyさん2009/05/12(火) 23:18:11ID:???
0666ってことはログファイルか
0459nobodyさん2009/05/14(木) 21:19:26ID:???
なんだってー
0460nobodyさん2009/05/15(金) 06:59:21ID:???
結局file_existsが駄目な明確な理由を誰も上げられないんですね
2chなんて所詮口だけ野郎ばっかりか・・
0461nobodyさん2009/05/15(金) 07:11:40ID:???
何を今更
0462nobodyさん2009/05/15(金) 08:06:57ID:???
>>460
ホント期待できなくなったね。
昔と違って、OK waveとか知恵袋とかあるし、まともな連中はそっちの方を見てるのかな。
0463nobodyさん2009/05/15(金) 08:18:07ID:???
>>460
このスレにはニートとフリーターしかいないんだからしょうがないよ
それにPHPはバカ専言語だから優秀な人間は興味を示さないし
0464nobodyさん2009/05/15(金) 08:23:51ID:???
>>463
たしかにPHPなんて使えても所詮WEB開発が関の山だからねw
そのWEB開発にしても最近はRubyとかPythonが台頭してるわけだからPHPを好んで使ってる奴は
アレとしか言いようがないね
0465nobodyさん2009/05/15(金) 08:24:53ID:???
何を今更
0466nobodyさん2009/05/15(金) 08:30:41ID:???
とまぁここまで全部>>460の自作自演なんだけどね
0467nobodyさん2009/05/15(金) 08:34:55ID:???
どこでRubyとPythonが台頭してるんだ?
0468nobodyさん2009/05/15(金) 08:36:49ID:???
>>467
地球上のどこかで
0469nobodyさん2009/05/15(金) 08:40:09ID:???
>>467
お前の知らない外の世界でだよ
まったくこれだから警備員は(ry
0470nobodyさん2009/05/15(金) 08:40:41ID:???
じゃちょっと示してみ
0471nobodyさん2009/05/15(金) 08:41:47ID:???
釣られてソース厨出現ww
0472nobodyさん2009/05/15(金) 10:14:37ID:???
>>460
仰る通りニートとフリーターの憩いの場なんで帰っていただけませんか?
0473nobodyさん2009/05/15(金) 12:25:37ID:???
>>460
じゃあこのまま使い続けてください
誰も止めはしませんので^^
0474nobodyさん2009/05/15(金) 13:22:36ID:???
過疎杉sage
0475nobodyさん2009/05/16(土) 22:47:21ID:???
可変変数って大抵他の書き方した方がスマートでわかりやすいソースになると思うんだけど、
一体どういうときに使えばいいのだろう?
0476nobodyさん2009/05/16(土) 23:33:14ID:???
>>475
特に使う必要はない。
perlであったから、いれてみました、ってだけ。
0477nobodyさん2009/05/16(土) 23:42:36ID:???
>>476
じゃperlではどのように使われてるの?
0478nobodyさん2009/05/16(土) 23:45:50ID:???
それは老人にきいてください

Perlについての質問箱 39箱目
http://pc12.2ch.net/test/read.cgi/tech/1234181856/
0479nobodyさん2009/05/16(土) 23:48:44ID:???
お前は知らないんかw
0480nobodyさん2009/05/17(日) 00:49:35ID:???
>>475
配列をextractで展開するのと似たようなことが出来るかな。

$arr = array('a'=>'b', 'c'=>'d', 'e'=>'f');
foreach($arr as $key=>$value){

${$key} = $value;

}
んで、最終的に例えばテンプレートファイルを
include 'template.html'
とか呼んでやれば、テンプレート内で展開した変数を使えたりとか?
これだけだったらextractすればいいけど、配列のキーの特定の文字だけ展開したくない場合とか、
(例えば、先頭がアンダーバーで始まってるものは展開しないとか)
条件をつけて展開できるかな。
0481nobodyさん2009/05/17(日) 06:43:27ID:???
本日も過疎。
最新50に1週間も前のレスが表示されるってどんだけww
0482nobodyさん2009/05/17(日) 11:51:52ID:???
この板ではよくあること
0483nobodyさん2009/05/17(日) 22:52:05ID:???
俺が常駐してるスレなんて連続20レスほど保守あげ
しかも俺の
0484nobodyさん2009/05/18(月) 02:39:12ID:???
本番マシンで、エラーを表示させたくない場合、
ini_setと
error_reportingと
どっちを使うの?
0485nobodyさん2009/05/18(月) 02:49:39ID:???
display_errorsじゃねーの?
0486nobodyさん2009/05/18(月) 03:04:08ID:???
>>485
書き方は?
0487nobodyさん2009/05/18(月) 03:05:27ID:???
display_errorsってディレクティブでしょう?
ディレクティブってphp.iniにしか設定できないんでしょう?

レンタルサーバーなので、pnp.iniはいじれない環境です。
なので、php.iniをいじらなくてもできる方法を教えてください
0488nobodyさん2009/05/18(月) 03:11:25ID:???
じゃhtaccessでok
0489名無し募集中。。。2009/05/18(月) 03:28:45ID:wP2DRNT9
ini_set('display_errors','on')
0490nobodyさん2009/05/18(月) 10:16:50ID:???
情報小出しうぜえ
0491nobodyさん2009/05/18(月) 10:36:42ID:???
小出しにしたほうがなんだかミステリアスでいいじゃないか
0492nobodyさん2009/05/18(月) 20:39:24ID:???
>>490
自閉症のあなたがたの
質問能力を鍛えてあげているのです。

営業にまわったとき、
「情報の後だしウゼエwww」
とかって見込み客に言うんですか??
0493nobodyさん2009/05/18(月) 20:40:09ID:???
>>489
これでいいの?
0494名無し募集中。。。2009/05/18(月) 20:53:48ID:wP2DRNT9
今決まってることを先に全部伝えれば余分な工数が圧縮できるので
納期も見積もりも低く抑えることができるわけで
積極的な答えを引き出したいなら客も小出しにはしないけどな
0495nobodyさん2009/05/18(月) 20:55:50ID:???
>>494
それであなたは営業に回ったときに、

「情報の後出しウゼエwww」

とかって見込み客に言ってるの?
0496nobodyさん2009/05/18(月) 21:34:39ID:???
<a href="XXX">vvv</a>

これで、XXXにユーザーからの入力値を入れるんだけど、
javascriptのコードを書かれると
そのまま実行されるんで、
サニタイズしたいんだけど、専用関数あるの?
0497nobodyさん2009/05/18(月) 21:41:15ID:???
サニタイズ言うな
0498nobodyさん2009/05/18(月) 21:42:52ID:???
>>496
ttp://jp.php.net/htmlspecialchars
0499名無し募集中。。。2009/05/18(月) 21:47:19ID:wP2DRNT9
>>495
「今決まってることを先に全部伝えてもらえれば余分な工数が圧縮できますよ 」
って言うけど
0500nobodyさん2009/05/18(月) 22:14:26ID:???
>>498
それだとサニタイズできないでしょ。
0501nobodyさん2009/05/18(月) 22:53:23ID:???
>>500
・・・・え? 何がしたいの?
0502nobodyさん2009/05/18(月) 23:01:36ID:???
<a href="javascript:[ここにjavascriptのコード]">vvv</a>


こう書かれると、htmlなんとかでは
サニタイズできないでしょう?

だからjavascriptって文字をかけない
ようにしなければならないんだけど、
これって正規表現使ってゴリゴリ書かないと
だめなの?
0503nobodyさん2009/05/18(月) 23:03:28ID:???
error_reporting(0);

これって使わないの?
0504nobodyさん2009/05/18(月) 23:11:09ID:???
>>502
実際にそこに何が入るのか知らんが、入力値を分解してURL作ればいいだけの話じゃないの?
0505nobodyさん2009/05/19(火) 02:17:09ID:???
ログファイルの中味を見られないようにするために、
拡張子を.phpにしようと思います。

これだと、たとえブラウザで直接ファイルを指定しても、
拡張子が.phpなのでPHPファイルとして実行しようとするので
(そして中味はPHPのスクリプトでなくて単なるテキストファイルなので)
見られないというわけです。

でもパーミッションが書き込み可能になっていると
問題ありますか?
0506nobodyさん2009/05/19(火) 02:28:01ID:???
ドキュメントルート外や.htaccessでアクセスできないようにする方が吉
拡張子phpは最後の手段
0507nobodyさん2009/05/19(火) 02:31:21ID:???
>>505
発想は悪くないんだがとりあえず試してみ。たぶん思ったのと違う結果になるw
あとパーミッションはあまり気にするな。共用鯖じゃsafemodeでも無い限りどーにもならん。
0508名無し募集中。。。2009/05/19(火) 03:02:13ID:qJyAGOVK
PHPは<??>で囲まない部分はHTMLと同じ扱いだからなw
0509nobodyさん2009/05/19(火) 10:05:00ID:???
>>495
素直に謝って今後そうすることが無いようにすればいいのに
開き直ってそんなこと言ってるから未だにろくな仕事が出来ねえんだよ。
0510nobodyさん2009/05/21(木) 17:42:51ID:???
php_browscap.ini は商用利用可能なのでしょうか。
その他の制限があったりしないか不安なので質問です。
よろしくおねがいします。
0511nobodyさん2009/05/22(金) 00:11:50ID:???
教科書に、

「 magic_quotes_gpc がONになっているときは、
stripslashes を使ってエスケープを取り除く」

と書いてあるのですが、そんなことをするよりも、
ini_set
とかで、
magic_quotes_gpc をOFF
にするほうが
いいのではないですか?
0512nobodyさん2009/05/22(金) 00:13:11ID:???
>>511
いいと思います。
05134222009/05/23(土) 14:25:12ID:???
>>484に遅レス便乗で、今のレン鯖で.htaccessは使えますがOptionsディレクティブが使えないので
ini_set("display_errors", 0)をファイルの先頭に書こうと考えてます。
ini_set実行以前にエラーが出たら意味なしになってしまいますが、それはどういった場合が考えられるでしょうか。
0514nobodyさん2009/05/23(土) 14:27:08ID:???
ん名前欄は関係ないです。すみません。
0515名無し募集中。。。2009/05/23(土) 14:27:44ID:sw/qjhoP
ini_setを最先頭行に書けばいいだけだと思うが
0516nobodyさん2009/05/23(土) 15:28:46ID:???
>>515
そうですね。
たとえば何らかの理由でファイルが読み込めない、実行できない場合ini_set前なのでエラーが出ると思います。
でよくよく考えたら今はerror_reporting(0)でエラーメッセージが出ないようにしてるんですけど
上記のようなときは結局エラーが出るだろうから、ファイル外で設定を変更できない以上エラー表示から逃れられなさそうです。
完全にエラーメッセージを非表示にできなければerror_reporting(0)で対処するつもりで質問をしたんですが、
これも完全でないなら素直にini_set("display_errors", 0)+ログ書き出しで対処します。
失礼しました。
0517nobodyさん2009/05/23(土) 15:36:50ID:???
PHP前ならPHPのエラーはでないと思うが
0518nobodyさん2009/05/23(土) 15:38:13ID:???
データベースのエラー文がそのまま表示されてるサイトとかもあるし
そこまで気にしないでも
0519名無し募集中。。。2009/05/23(土) 16:00:00ID:sw/qjhoP
流石に本番運用では気にした方がいいと思うが
0520nobodyさん2009/05/24(日) 19:13:43ID:???
携帯で画像をランダム表示したいのですが
どのようなスクリプトが使えるのでしょうか?
0521nobodyさん2009/05/24(日) 19:26:51ID:???
業者に1万円払って作ってもらえ
0522nobodyさん2009/05/24(日) 22:03:26ID:???
今なら俺が9980円で
0523nobodyさん2009/05/25(月) 00:22:37ID:???
session.use_only_cookiesが0の場合、

URLにセッションIDが含まれてしまうので
セキュリティ的に、危険です。

なのでこれを普通は1にすると思いますが、
それはphp.iniを編集できる場合のみです。

レンタルサーバーなどでは、php.iniを編集
できない場合も多いです。

その場合は、session.use_only_cookiesの値を
取得して、それが0なら1にする、と
自分でPHPスクリプトの先頭に書くのでしょうか?

でもそれで間に合うのでしょうか?
0524nobodyさん2009/05/25(月) 00:24:05ID:???
http://phpc2.seesaa.net/article/52425834.html

例えばこのページだと、

ini_set( 'session.referer_check', "example.com" );
ini_set( 'session.use_trans_sid', 0 );
ini_set( 'url_rewrite.tags', "" );
ini_set( 'session.use_only_cookies', 1 );
ini_set( 'session.use_cookies', 1 );
ini_set( 'display_errors', 0 );


こんくらい書いてます。
セキュリティをカンペキにするには、
全部でどれだけ書かないといけないのでしょうか?
0525nobodyさん2009/05/25(月) 00:29:11ID:???
ini_setじゃなくてphp.iniで設定しとけよみたいな
0526nobodyさん2009/05/25(月) 00:29:42ID:???
クッキーもヘッダ部に平文で流れてるだけだろ
これを安全というのならURLにセッションID含まれてても同様に安全というしかないだろ
0527nobodyさん2009/05/25(月) 01:19:22ID:???
URLはそれをブックマークしたり知らずに晒したりできるからまた違うんじゃないの
0528nobodyさん2009/05/25(月) 01:39:29ID:???
セッション要るようなエリアはhttpsにしとけばいいだけの話
0529nobodyさん2009/05/25(月) 02:09:17ID:???
いやブックマークとかURL流出はHTTPSだからとかいう問題じゃないだろ
0530nobodyさん2009/05/25(月) 02:14:14ID:???
セキュリティの話をすると
ついてこれないヤツが必ずいるよね

高卒なのかな?
0531nobodyさん2009/05/25(月) 02:15:06ID:???
「外出するときは、必ずドアにカギをかけましょうね」
.
「そんな、カギなんてプロの泥棒が本気だせば5分で開くんだよ
だからいちいちかける意味ないよ」
0532nobodyさん2009/05/25(月) 02:18:16ID:???
httpsにしなくていいって話じゃなくてhttpsにするだけじゃ不十分って話だろ
0533nobodyさん2009/05/25(月) 02:33:17ID:???
<a タグや、<imgタグのsrcにjavascripの
コードを直接書かれると、そのまま実行されてしまいます。

なので、javascriptをサニタイズする必要があるのですが、

ググって出てきたページに

http://php-web.net/security/sanitize.html

a、imgタグでは、<a href="javascript:...といった記述でj
avascriptが実行できます。このため、URL等は javasc
ript挿入対策として、「javascriptで始まる文字列をサニ
タイズする」作業が必要になります。

if (substr($_POST['url'],0,10) == "javascript:") {
die("Illegal URL!\n");
}

----------------------------------------------------

と書いてあるのですが、このコードでサニタイズできますか?

正規表現は使わなくてもいいの?

こういうとき、perlerだったら、100%の確率で
正規表現を駆使した渾身の一作を出してくるはずなんですけど。
0534nobodyさん2009/05/25(月) 02:51:01ID:???
htmlspecialcharsでいいだろ
0535nobodyさん2009/05/25(月) 03:15:54ID:???
http://php.benscom.com/manual/ja/info.configuration.php

ここで

「PHP 6.0.0 で削除されました。」
という記述があるが、6なんて
まだ出ていないだろう?

それとも、漏れが知らないだけで、
もう出ているのか?
0536nobodyさん2009/05/25(月) 03:18:53ID:???
出てるよ
0537nobodyさん2009/05/25(月) 03:23:54ID:aHvsLNiK
simplexmlで下記xmlのstartTimeを取得するにはどうすればいいでしょうか?
<entry>
<gd:when startTime='2009-05-28T19:00:00.000+09:00' endTime='2009-05-28T21:00:00.000+09:00'>
<gd:reminder minutes='10' method='email'/>
<gd:reminder minutes='10' method='alert'/>
</gd:when>
</entry>
0538nobodyさん2009/05/25(月) 04:42:43ID:???
$xml = simplexml_load_file('hoge.xml');
var_dump($xml);
してみれば分かるよ
0539nobodyさん2009/05/25(月) 23:18:15ID:???
ini_set('magic_quotes_gpc', '0');

このやり方でオフにするのって

phpのバージョンが4.2以下でないと
使えないの?
0540nobodyさん2009/05/25(月) 23:35:00ID:???
いや? そんなことないけどなんで?
0541nobodyさん2009/05/25(月) 23:48:05ID:???
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3675&forum=2

ここのページに、

>magic quotes gpcがini_setできるのはPHP4.2.3以下だったと思います

って書いてあるけど??
0542nobodyさん2009/05/25(月) 23:49:14ID:???
http://www.webdeveloper.com/forum/archive/index.php/t-90414.html

ここのページにも、

>you can only modify magic_quotes_gpc this way in PHP versions <= 4.2.3.

って書いてあるけど???
0543nobodyさん2009/05/26(火) 00:12:13ID:???
Manualを見ろよ。 ttp://jp2.php.net/manual/ja/ini.list.php
4.2.4以降 PHP_INI_PERDIR になったからini_setじゃ無理。
0544nobodyさん2009/05/26(火) 00:17:18ID:???
>>541-543
そこまでわかってるならわざわざ聞きに来なくても・・・
0545nobodyさん2009/05/26(火) 01:13:59ID:???
アクセスログ等から
アクセスしてきたやつの
コンピューター名抜くのって
どうやってたの?
0546nobodyさん2009/05/26(火) 01:37:40ID:???
User Agentの話?
0547nobodyさん2009/05/26(火) 01:58:06ID:???
ウィンドウズなら同じワークグループだったらコンピュータ名抜けそう
0548nobodyさん2009/05/26(火) 11:21:02ID:???
特定のディレクトリ$dirの中でもっとも作成日付が新しいファイルのファイル名を取得したいのですが、

globでディレクトリ内の一覧を作ってfilectimeで作成日付を取得して・・・えーとえーと・・・と考えたものの、
「あれ?このあとどうしよう」となってしまいうまくコードにまとめることができません

良い方法はないでしょうか

PHP5
■ このスレッドは過去ログ倉庫に格納されています