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

【PHP】下らねぇ質問はここに書き込みやがれ 57

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/10/22(月) 23:10:36ID:mIlonsko
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/

◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0604nobodyさん2007/10/30(火) 06:54:03ID:???
>>603
ファイルがユーザのものかチェックするって事です。
セーフモードでもfopenで新規作成できますよ。
0605nobodyさん2007/10/30(火) 06:59:46ID:vbqY4O/s
ありがとうございます。ためしてみましたらfopenはできました。
readfileができなくなるのですね。ありがとうございました。
0606nobodyさん2007/10/30(火) 07:01:24ID:???
モジュールとライブラリの意味教えてくれよ
0607nobodyさん2007/10/30(火) 08:17:40ID:???
>>599
妄想どんだけ〜
0608nobodyさん2007/10/30(火) 08:28:54ID:vbqY4O/s
すいません、ログファイルを一箇所のディレクトリにためる場合、
サーバに負担がかかりますか?
ひとつのディレクトリに300〜2000ファイルとか作成しても耐えられますかね?
あと、レンサバはふつうファイル数の制限ってしてますか?
0609nobodyさん2007/10/30(火) 08:35:42ID:???
>>608
最大で2000ファイルくらいなら全然平気。
平均が2000で最大は万を超えるとか言ったら「分けれ」って言いたくなるけど。
0610nobodyさん2007/10/30(火) 08:41:05ID:???
>>608
余程アホなスクリプト書かん限り2000程度のファイルで負荷なんてかからん。
ファイル数の制限についてはレン鯖によって違うからなんとも言えん。
0611nobodyさん2007/10/30(火) 08:45:30ID:???
そろそろPHPの質問も↓
0612nobodyさん2007/10/30(火) 10:41:26ID:???
>>606
PEARがライブラリでPeclがモジュール(うそ)
0613nobodyさん2007/10/30(火) 10:57:31ID:vbqY4O/s
ありがとうございました。気にしないでディレクトリにファイルを作成することにしました。
0614nobodyさん2007/10/30(火) 13:12:11ID:???
クラスやパターン設計に覚えた頃にはまる罠
これらはあれば便利で使うものなのに、さもその通りに行かないといけないと気がすまなくなってくる
それが実行速度的に悪影響を及ぼし、余計な回り道となっていることに気が付かずにw

そして原点回帰で動けばいいことに気が付いた時、今までの経験を元に綺麗なコードが書ける
プログラムなんてそんなもの

rubyの深さを知って生産性は飾りだと気づいたw
0615nobodyさん2007/10/30(火) 13:16:35ID:???
FW使えっていうやつは何使ってるの?
0616nobodyさん2007/10/30(火) 13:45:18ID:???
Rubyが良いのは認めるけど何も別言語のスレにまで出張して布教活動しないで欲しいww
0617nobodyさん2007/10/30(火) 14:32:42ID:???
FireWall?
0618nobodyさん2007/10/30(火) 14:44:11ID:???
>>616
>Rubyが良いのは認めるけど
布教活動しているのは、お前だ!!市ね
0619nobodyさん2007/10/30(火) 14:44:13ID:???
>>607
どこが妄想か教えてくれ
0620nobodyさん2007/10/30(火) 14:49:29ID:???
>>617
マジレスすると
ふれーむわーく。DWがでてくるからFWといったらアレかと思ってた
0621nobodyさん2007/10/30(火) 15:01:59ID:vbqY4O/s
$_SERVER['PATH_INFO']が使えないサーバがあることをはじめて知りました。
そこで代替策として、$_SERVER['REQUEST_URI']でバラして使おうかと思っているのですが、
$_SERVER['REQUEST_URI']も使えないことってありますか?
0622nobodyさん2007/10/30(火) 15:14:36ID:???
ストリームをdup()したい!
06236192007/10/30(火) 15:31:01ID:???
619は無かった事に(´・ω・`)
0624nobodyさん2007/10/30(火) 15:55:46ID:???
>>621
あるかと聞かれればある
こことか独自のHTTPD使ってる
http://monaneko.jog.buttobi.net/info.php
0625nobodyさん2007/10/30(火) 15:56:21ID:???
>>621
大半のサーバーで返してくれるけど絶対ではない。
0626nobodyさん2007/10/30(火) 16:04:26ID:vbqY4O/s
ありがとうございます。いろんなサーバで動くようにしたいのでもう少し代替策を練ってみます。
0627nobodyさん2007/10/30(火) 16:16:46ID:Rzoy8xmc
php6でnamespaceが実装されるみたいだけど、
これをうまく使って、$this->barの$this->を書かなくするようにできそうだな。
メンバ変数を動的にnamespace内のグローバル変数にしてゴニョゴニョーって。できないかな。
0628nobodyさん2007/10/30(火) 16:28:02ID:???
それは無理かと思うが、確かに$thisは何とかしてほしいよな。
0629nobodyさん2007/10/30(火) 16:29:52ID:???
$thisの強制は間違いがなくていいと思っているが
0630nobodyさん2007/10/30(火) 16:34:08ID:???
明示的な型宣言がないと間違いが起こりやすいだのあると面倒だのって話みたいだ
0631nobodyさん2007/10/30(火) 16:47:47ID:???
PHPしすぎたせいでC#やろうと思ってもサッパリわかんねwww
PHPがいかに簡単すぎるかがわかったよ
0632nobodyさん2007/10/30(火) 17:05:20ID:???
>>627
$thisが面倒って話は分かるが、グローバルに扱えるようにするってのは
global宣言と同じ程度にバグの元になるような気がするよ。
あんまり好ましい方策ではないんじゃなかろうか。いくらPHPでもさ。
0633nobodyさん2007/10/30(火) 17:18:08ID:???
RailsのDHHがPHPからRubyに変更した理由が、$thisがめんどかったってどっかで読んだな。
0634nobodyさん2007/10/30(火) 17:30:12ID:???
2ちゃんの掲示板スクリプトを11時間かけて似せて作ったんだけど効率わるい?
500行ぐらい。
0635nobodyさん2007/10/30(火) 17:42:54ID:UpkPLboM
リクエストの文字コード→内部コードの変換ってどうやってますか?
設定による自動変換は推奨されていないし、
決めうちも必ずしも正確とはいえない。
スクリプト内の判定も、文字数や文字列によって誤判定がありそう。
正確にやろうと思ったら「毎回文字コード判定用のダミーパラメータを付加」
くらいしかないような気がしますが、
そんなことをしているという話も寡聞にして知りません
いったいどうするのがベストなんでしょう??
0636nobodyさん2007/10/30(火) 17:50:37ID:???
ベストは知らないけどmb_convert_encoding使ってて困ったことはないかな
0637nobodyさん2007/10/30(火) 19:14:36ID:???
コンバートはmb_convert_encodingでFAだと思います(それ以外知らないし)
エンコード判定→変換の流れが、どうするのがいいのか分からないんですよねー
試しに文章を一文字区切りにして、一文字ずつ判定ルーチンにかけてみましたが
やはり誤判定する文字がありますね
0638nobodyさん2007/10/30(火) 19:15:06ID:???
mb_detect_encoding?
0639nobodyさん2007/10/30(火) 20:49:56ID:???
>>620
DWはWebオーサリングツールであってフレームワークじゃない。
フレームワークっていうのは簡単にいうと、
MVCモデルを実現するための仕組みのようなもの。
必要なデータベースを作り、簡素なModel View Controllerを記述することにより、
あとはフレームワークが複雑な処理をやってくれる。
たとえばCakePHPのチュートリアルにあるとおり、
数行のコードでBlogが作れるようになっているわけだ。
当然FWで作ったアプリケーションはFW上でしか動作しないので、
サーバにインストールする必要があるが、
実体はPHPなので、PHPが使えるサーバならPHPのFWは使えるということになる。
0640nobodyさん2007/10/30(火) 20:58:53ID:???
>>637
jcode.php
0641nobodyさん2007/10/30(火) 21:01:57ID:7j0uTXdo
変数名を付けたいのですが専門用語がわかりません。

$ipaddr = '192.168.0.1';
$subnet = '24';
$??? = '192.168.0.1/24';

$???は何にしたらいいでしょうか?
別になんでもいいのですが他人が見るのでちゃんとした名前にしたいです。
0642nobodyさん2007/10/30(火) 21:04:32ID:???
>>641
ipaddr_cidrじゃね
0643nobodyさん2007/10/30(火) 21:07:09ID:???
>>642
IPアドレスサイダーって聞いたことないけど、正式な名称ってなんだろ?
0644nobodyさん2007/10/30(火) 21:12:26ID:???
その記法のことをCIDRって言うんだよ
0645nobodyさん2007/10/30(火) 21:14:03ID:???
>639

>620 が言ってるのは FireWorks だと思うんだが…
(もっとも >620 の言う「DW が でてくるから」というのは どこだかわからんが)
0646nobodyさん2007/10/30(火) 21:16:44ID:???
>>641
$networkじゃね?
0647nobodyさん2007/10/30(火) 21:21:29ID:???
>>646
範囲広っ
0648nobodyさん2007/10/30(火) 21:26:16ID:???
>>647
じゃあ
$local_network
0649nobodyさん2007/10/30(火) 21:26:45ID:???
フレームワーク=MVCだと思ってるやつは勉強不足
0650nobodyさん2007/10/30(火) 21:29:26ID:???
cidr表記のipアドレスなんだから
ipaddr_cidrでいいだろ
何が不満なんだ
0651nobodyさん2007/10/30(火) 21:32:36ID:???
$aipi-adoresu
0652nobodyさん2007/10/30(火) 21:38:22ID:???
ipaddrつけなくてcidrで良いんじゃ
0653nobodyさん2007/10/30(火) 21:49:27ID:???
だからcidrは表記法だって。
0654nobodyさん2007/10/30(火) 21:57:09ID:???
結局何に使ってるかよるわけじゃん
ホストアドレスを問題にしてるなら>>648も捨てたもんじゃない
0655nobodyさん2007/10/30(火) 22:03:53ID:???
どーせローカル変数だろうから$wkでいいんじゃね?
0656nobodyさん2007/10/30(火) 22:15:39ID:???
正確にはlocal_networkだがnetworkで問題ない
だってネットワークだシナ
0657nobodyさん2007/10/30(火) 22:17:44ID:???
まあいいや、あとはこっちで

クラス名・変数名に迷ったら書き込むスレ。Part11
http://pc11.2ch.net/test/read.cgi/tech/1191250784/
0658nobodyさん2007/10/30(火) 22:18:49ID:???
変数名とかまよったらこっちへ・・・
http://pc11.2ch.net/test/read.cgi/tech/1191250784/l50
0659nobodyさん2007/10/30(火) 22:19:12ID:???
>>658
m9
0660nobodyさん2007/10/30(火) 22:19:26ID:???
(´・ω・`)
0661nobodyさん2007/10/30(火) 22:29:31ID:???
>>645
なるほどFireWorksか。気づかなかった。

>>649
開発性・生産性・拡張性に優れているものを作ろうとすると自然とMVCになるわけで、
=ではないが実際FWのほとんどがそういったものであるのは事実。
よく説明にある、フレームワーク=土台といっても、全く知らない人間には意味不明だから、
わかりやすく説明するために簡素化しすぎたのは悪かったけどな。
0662nobodyさん2007/10/30(火) 22:31:32ID:???
192.168.0.1 -> internet address or inet
24 -> netmask (0xffff00 のことでしょ)
192.168.0.1/24 -> network address or cidr address
06636412007/10/30(火) 22:44:56ID:???
192.168.0.1 -> IPA
24 -> SNM
192.168.0.1/24 -> NWA

ども!これに決めました。
文句があると思うけどSKN!!
0664nobodyさん2007/10/30(火) 22:46:15ID:???
192.168.0.1/24
こんなの存在しないだろ
192.168.0.0/24ならわかるが
0665nobodyさん2007/10/30(火) 23:02:40ID:???
>>664
どうせマスクしたらいっしょだろうが
0666nobodyさん2007/10/30(火) 23:43:22ID:???
>>664
それは、いわゆるブロードキャストアドレスってやつで、
そのアドレスに向けて打つと、そのネットワークに繋がっている
全てのルーターに到達する。スレチだから、詳しくはネットワーク関係の板でも聞け。
0667nobodyさん2007/10/30(火) 23:45:02ID:???
>>664
TCP/IP勉強white!!
0668nobodyさん2007/10/30(火) 23:45:08ID:???
0はブロードキャストアドレスとは少し違うよ
0669nobodyさん2007/10/30(火) 23:47:31ID:???
少し?全然別物だろ
0670nobodyさん2007/10/30(火) 23:54:32ID:???
お前らも実習でつながらないLanケーブル作ったよな
0671nobodyさん2007/10/31(水) 00:06:37ID:???
>>670
なんかリンクアップしないと思ったらお前のせいか。
0672nobodyさん2007/10/31(水) 00:06:54ID:???
ブロードキャストアドレス、ぐぐったら全然違うしw
ウソつきばっかだな
0673nobodyさん2007/10/31(水) 00:23:01ID:???
>>666
久々に凄いデタラメを見た
0674nobodyさん2007/10/31(水) 00:25:07ID:???
>>670
あるあるw
しらんぷりで放置されたのが溜まってる
0675nobodyさん2007/10/31(水) 00:38:45ID:???
お前らなんの話してるの?
難しくてわからない
0676nobodyさん2007/10/31(水) 00:54:02ID:???
>>675
ブロードウェイに出ているキャストのアドレスはどこかを熱く語っているんだよ。
0677nobodyさん2007/10/31(水) 00:57:17ID:???
さすがに192.168.0.1/24のbroadcastと言ったら192.168.0.255なんでネタですよね。
そもそも192.168.0.1/24はCIDRアドレスの簡易表記法=アドレス/プレフィックス長なわけで。
(プレフィックス長=ネットワーク部のビット数)
プレフィックス長を省略して192.168.0.1と表記した場合はホストアドレスとしての解釈。
0678nobodyさん2007/10/31(水) 01:00:34ID:???
どうこう言うより自分とこのルーティングテーブル見るのが手っ取り早い
0679nobodyさん2007/10/31(水) 04:54:27ID:???
会員システムを作っているのですが、
ログイン済みかどうかの判断は

1. ID/PASSWORDをセッションで持ち歩いて移動毎にチェック
2. 一度認証クリアしたらIDのみセッションに入れて、移動毎にIDセッション持ってるか確認
どっちが良いでしょうか?

1の方が安全な気がうっすらとはしますが。
0680nobodyさん2007/10/31(水) 04:56:58ID:???
パスワードをセッション変数に入れる必要がどこにあるのか、逆に聞いてみたい。
0681nobodyさん2007/10/31(水) 05:46:51ID:???
>>679
IDとPWもどちらもいれるなバカ
0682nobodyさん2007/10/31(水) 06:47:01ID:jWccZHnt
配布スクリプトにコードに「echo "はじめまして";」というのを書いてます。
これはユーザーが書き換えることを想定して、htmlspecialcharsをかませるべきでしょうか?
0683nobodyさん2007/10/31(水) 06:48:37ID:???
書き換えなくても通せ
0684nobodyさん2007/10/31(水) 06:54:27ID:???
>>679
ログインフラグたてりゃいいじゃない
0685nobodyさん2007/10/31(水) 07:03:30ID:???
>>635
俺は決めうち
表示エンコードで返ってくるものとしてそもそも変換していない
ダミーパラメーターは聞いたことはあるからそんなに珍しくはないだろう
0686nobodyさん2007/10/31(水) 07:27:03ID:???
>>683
自称回答者おつかれ
0687nobodyさん2007/10/31(水) 10:10:47ID:F/XuAcDL
//すでに格納済みのほかのファイル更新日
$xxx_date

$page[] = '../aaa/';
$page[] = '../bbb/';
それぞれのディレクトリーにはページファイルが入ってます。それを
foreach($page as $key =>$value){

$pdata = explode("." , $value);
$lastupdate = @date("Y-m-d\TH:i:s\+09:00", @filemtime("..".$pdata[2].".php"));

echo $lastupdate;
}
としてファイルの更新時間などを取得してるのですが、$lastupdateで取得したそれぞれの更新日と
$xxx_dateを比較して最新のものを返すにはこの後どうすればいいんでしょうか。
0688nobodyさん2007/10/31(水) 10:21:50ID:F/XuAcDL
>>687
なにか違うものを貼り付けてました

foreach($dirurl as $key =>$value){
$dirurl = $value;

$dir = @opendir($dirurl);

while($file = readdir($dir)) {

if (!is_dir($file)){

$pdata = explode("." , $dirurl.$file);
$lastupdate = @date("Y-m-d\TH:i:s\+09:00",@filemtime("../".$pdata[2].".php"));

echo $lastupdate;
}
}
closedir($dir);
}
です(;´д⊂)
0689nobodyさん2007/10/31(水) 12:26:20ID:wHbETa3h
非常にくだらいないミスだと思うんだけど
$Nextmonth = date("Y年m月",mktime(0, 0, 0, date("m")+1, date("d"), date("Y")));
echo $Nextmonth;

これで何故か2007/12になる…。
期待した表示は11月なんですが、おかしい所指摘してくださいまし。
もっと簡易な書き方があったらそれも欲しいです
(´・ω・`)
0690nobodyさん2007/10/31(水) 12:36:09ID:???
>>689
考えずにレスすると、+1しないでEchoするとどうなる?
0691nobodyさん2007/10/31(水) 12:36:30ID:???
>>689
今日が10月31日で、月+1にすると11月31日で
11月は30日までしかないから12月1日扱いになる。
日まで指定する必要なし。
0692nobodyさん2007/10/31(水) 12:37:08ID:???
>>689
そら+1してんだから明日でしょ。
今日11/31だよ。
0693nobodyさん2007/10/31(水) 12:38:50ID:???
>>692
未来人乙
0694nobodyさん2007/10/31(水) 12:40:02ID:???
なんでこんな低レベルな質問に間違い回答続出なんだw
0695nobodyさん2007/10/31(水) 12:49:05ID:???
>>693
あれ?
0696nobodyさん2007/10/31(水) 12:50:04ID:???
phpで稼げる日払いのお仕事ありませんか〜?;;
0697nobodyさん2007/10/31(水) 12:50:18ID:wHbETa3h
>>690〜>>694
�d、ほんと下らない事ですません
おめいらにはホントに頭が下がるよ
0698nobodyさん2007/10/31(水) 13:43:41ID:???
>>696
週払いなら
0699nobodyさん2007/10/31(水) 13:45:38ID:G97Omn6y
すんません、PHPでEXCELファイルを扱いたいんですけど、いいライブラリありますか?
現在はEXCEL_REVISEを使わせてもらってるんですけど、数式の追加が出来ないんですよね。
環境はCentOS5.0+PHP5.1.6です。
0700nobodyさん2007/10/31(水) 13:52:17ID:???
>>699さんはふだんはlinuxでメールチェックとか2ちゃんみてますか?
0701nobodyさん2007/10/31(水) 14:14:57ID:???
>>700
見てないですね。
0702nobodyさん2007/10/31(水) 14:37:29ID:Xq7d8XJi
[Dir]┬ index.php
   .├ hogehoge.php
   .├ example.php
   .└ . htaccess

ディレクトリの中の各PHPに同じファイルをインクルードさせたいのですが、
全てのPHPファイルに「require_once("/path/include.php");」
を書くと、読み込むファイルのパスが変わった場合など変更するのが大変です。

. htaccessで全ての*.phpに同じ一行を記述するようなことはできませんか?
(記述というか、同じ動作を与えることです。)
0703nobodyさん2007/10/31(水) 14:52:34ID:???
出来るがその方針が気に入らない
■ このスレッドは過去ログ倉庫に格納されています