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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2008/07/17(木) 19:42:52ID:DVaNTncw
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0864nobodyさん2008/08/13(水) 07:51:56ID:???
>>857
PHP自身のバグに無責任じゃ困るけど、読めるコードを
読める形で記述してるのに検証せずにコピペするのは自己責任。
0865nobodyさん2008/08/13(水) 07:52:30ID:???
そういえば関数一覧が使い難くなってリニュしてたな
前のに戻せよ
0866nobodyさん2008/08/13(水) 07:55:54ID:???
>>860
> そういう風に感じないのは他の言語を触ったことが無い人かしら

他の言語でいうなら、JavaDocは分かりやすい。
phpにもJavaDocのような機構があれば便利なんだが。
0867nobodyさん2008/08/13(水) 08:01:18ID:???
phpdocですね
0868nobodyさん2008/08/13(水) 08:04:10ID:???
>>867
おおお、あったのかphpdoc。
サードパーティー製ならあるだろうなぁって思っていたけど、
まさか本家にあるとは。これは最近できたのかな。
0869nobodyさん2008/08/13(水) 09:54:03ID:???
>>868
ずいぶん前からあるぞ
0870nobodyさん2008/08/13(水) 11:32:30ID:???
>>869
何?その今まで知らなかったのが馬鹿みたいな言い方は?
0871nobodyさん2008/08/13(水) 11:41:04ID:???
そんな風に取るほうがどうかしてる気がするが
0872nobodyさん2008/08/13(水) 11:43:36ID:FG6j8C0r
ばーかばーか
0873nobodyさん2008/08/13(水) 11:51:12ID:???
>>871
クーラーが去年壊れて、暑くって気が立っているんだ。
0874nobodyさん2008/08/13(水) 11:54:35ID:???
>これは最近できたのかな。 >>868

>ずいぶん前からあるぞ >>869

一体どう読めば馬鹿にしてるように見えるんだ?
>>870は日本語が不得意なのか?ww
0875nobodyさん2008/08/13(水) 11:56:31ID:???
>>863
phpの関数探す時何から探すんだよ
全部中身でも見るつもりか
0876nobodyさん2008/08/13(水) 11:59:33ID:???
>>874
は?

これは最近できたのかな。→ずいぶん前からあるぞ。
 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
これは高校で習うことかな。→小学生で習うことだぞ。

どう考えたって馬鹿にしているだろが。
0877nobodyさん2008/08/13(水) 12:02:27ID:???
>>875
俺の場合は検索するけど。
0878nobodyさん2008/08/13(水) 12:05:51ID:???
>>876
とりあえず、クーラーを直せ。
0879nobodyさん2008/08/13(水) 12:16:15ID:???
>>876
頭が弱い上に性格まで歪んでるのか・・・
本当に冗談である事を祈ります。
0880nobodyさん2008/08/13(水) 12:23:08ID:???
クーラー直せよwww
0881nobodyさん2008/08/13(水) 12:45:00ID:???
>>877
それは何らかの方法がわかっての事じゃないの?
0882nobodyさん2008/08/13(水) 12:51:57ID:???
>>881
例えば、文字を切り出す処理をしたい時に、
「文字 切り出す」で検索かければ一発じゃない?
逆引きに並んでいるっていうのが何を指しているのか知らないけど。
0883nobodyさん2008/08/13(水) 13:20:21ID:???
夏だなぁ。涌いてるなぁ。。
0884nobodyさん2008/08/13(水) 13:48:24ID:???
正引き 名前で検索→機能を知る
逆引き 機能で検索→名前を知る
0885nobodyさん2008/08/13(水) 14:39:44ID:???
それなんてDNS?
0886nobodyさん2008/08/13(水) 16:09:36ID:???
正直オンラインドキュメントは逆引きちょっと弱い気がする。
と思っていたらonline documentationで検索すると結構使えるのな
0887nobodyさん2008/08/13(水) 23:44:23ID:smcSjLcU
こんばんは。親切な方教えてください
レンタルサーバー借りて、独自ドメインとって、
DBを使い、登録する画面と、登録されたものの一覧を表示するという
WEBシステムを作っています。

トップ画面はindex.phpでDBからの一覧を表示しているだけなんですが、
この画面が見れないというユーザーがおります。
phpがダメなのかと思い、test.htmlというファイルで
見れますか?というだけの画面を作ったんですけど
これもまた見れないとメールがきました・・

もちろん、普通にアクセス・登録できる人もたくさんいるのですが、
この「見れない」というのはどういうことなんでしょうかね??
メールでエラーメッセージの内容などきいているのですが、
返事もこなくて、へこみます
特定のURLは見れない、ってことがあるんですかね?
0888nobodyさん2008/08/13(水) 23:57:09ID:???
文字コードがおかしいんじゃね?
metaタグで指定されていなければ指定してみたら?
ApacheならAddDefaultCharsetを確認してみたら?
08898872008/08/14(木) 00:10:45ID:OO/Qi0nM
>>888
ありがとう、文字コードはメタタグで
指定してるんだよね・・
<meta http-equiv='Content-Type' content='text/html; charset=shift_jis'>

Apache/1.3.39 (Unix)ってサーバー情報に書いてあるが
レンサバ(さくら)なのでちょっと分からん・・
AddDefaultCharset調べてみる。
0890nobodyさん2008/08/14(木) 00:27:29ID:???
負荷で503 Service Temporarily Unavailableを吐いてるんじゃね?
まあhtmlでも見れないようだから、クライアント側のブラウザとかがおかしいのだろうけども
0891nobodyさん2008/08/14(木) 00:30:58ID:???
>>890
なんで、こういう根拠もない無責任な回答する奴がいるだろう。

ユーザーによって見れたり見れなかったりするのなら、
DNSの設定が間違っているに決まっているだろ。
08928872008/08/14(木) 00:35:21ID:OO/Qi0nM
>>890
そうなんだ・・ あんまりOSとかブラウザ情報とか聞くのもナニかな、と
遠慮しているんだけど
クライアントの問題、といってもどうなってるんだか想像がつかなくて。
アクセスログみたら、エラーログすら残ってないんだよね
メール情報のプロバイダ・IPで検索すると。
もうちょっと突っ込んで状況を聞いてみることにします。どうもありがとう。
0893nobodyさん2008/08/14(木) 00:37:44ID:???
>>892
だから、webサーバーのアクセスログする残っていないなら、
DNSの設定が間違っているから、お前のサイトに到達できていないだろ。
httpレベルの話じゃない。だから、専用スレで聞け。
0894nobodyさん2008/08/14(木) 00:52:17ID:oz+RaL8c
test.htmlに
1<hr>
<?php $a=1; include test.php ?>
2<hr>

test.php
<?php if ($a == "1") exit(); ?>

のようにした時に$a=1の時に処理を中止してその後の2<hr>を表示する方法ってありますか?
なぜphpから抜けたしただけなのにhtmlの処理もそこで止まるんだろう???
0895nobodyさん2008/08/14(木) 00:53:34ID:???
>>881
マニュアルの話なのに検索とか出してる時点で・・・
0896nobodyさん2008/08/14(木) 00:55:52ID:???
>>894
htmlをphpとして動かしてるから
08978872008/08/14(木) 00:57:49ID:???
>>893
りろってなかった・・
レンサバなのに、DNSまで設定する必要があるの?エエエ
専用スレさがします。ありがとう。
0898nobodyさん2008/08/14(木) 01:03:19ID:njR6ZB/n
自分が今作っているPHPプログラムなのですが、テスト環境と本番環境のサーバがあり、
それぞれphpのインストール場所が異なります。

そのため、テスト環境でphpプログラムをテストした後、本番環境にコピーし、
#の1行目のところを変更する必要があります。(本当はテストした後なので修正したくない)

これを、変更しなくてもよい方法はないでしょうか?

0899nobodyさん2008/08/14(木) 01:15:16ID:???
>>898
>>#の1行目のところを変更する必要があります。(本当はテストした後なので修正したくない)
の意味が分からない
そこに何が書いてあるの?

切り替えるべき値があるなら定数とかで宣言しておいて設定ファイルのようにincludeするとか
0900nobodyさん2008/08/14(木) 01:50:39ID:???
>>894

1<hr>
<?php $a=1; if ($a == "1") exit(); ?>
2<hr>

includeを展開するとこう書いてるのと同じことだ。

↓のようにすればいいんじゃないかな

include test.php;
1<hr>
<?php $a=1;test1() ?>
2<hr>

test.php
<?php
function test1() { if ($a == "1") return();}
?>
0901nobodyさん2008/08/14(木) 02:43:32ID:njR6ZB/n
>>898
envでインストールしてる場所がとれたと思う。
#!/usr/bin/env php
みたいなかんじで。

でも、envが使えないUNIX環境もあると思うが、そういう場合はどうするんだろ。。。?
0902nobodyさん2008/08/14(木) 03:41:24ID:???
岡田有希子さんの死因について未だになっとくができません。
スレ違いですが、何かの縁ですし、みんなで語り合いませんか。
0903nobodyさん2008/08/14(木) 05:08:32ID:???
>902
↓コレでも見て勝手に考えろ。もう来なくて良いからな。
ttp://jp.youtube.com/watch?v=DjgM3d6zBQc
ttp://jp.youtube.com/watch?v=BW-AC5ySxp4
ttp://jp.youtube.com/watch?v=FVFdMAqAPg8
0904nobodyさん2008/08/14(木) 06:38:35ID:???
phpspotメソッドというものがあるようなのですが
どのように使うのでしょうか?
LINUX、PHP5.2.6、ROOT有レン鯖です。
宜しくお願いします。
09058942008/08/14(木) 10:07:45ID:oz+RaL8c
>>900
お返事ありがとうございます。
それでやってみたけど駄目でした。
素直残りの処理をElseで括るしかないのかな
0906nobodyさん2008/08/14(木) 10:20:16ID:???
>>894 >>905
>>900さんではないですけど、横から・・・

> 1<hr>
> <?php $a=1; include test.php ?>
> 2<hr>
>
> test.php
> <?php if ($a == "1") exit(); ?>

exit()の代わりにreturn;を使ってみて下さい。
includeしたファイル内でのreturnは、そこで処理を中止して呼び出した方の処理へ戻ることを意味しますよ。(PHP4以上)
09078942008/08/14(木) 10:28:07ID:???
return()
ではなく
return
としたらできました。
()の単純なミスでした
>>906様どうもありがとうございます。
こんなことで昨日4時間ぐらい悩んでいたorz
0908nobodyさん2008/08/14(木) 10:45:38ID:Q1OktP3J
ずっとMSのVisualStudio系の開発をしてきたのですが、
phpをはじめたとしたweb系の仕事をしたくて勉強しているのですが、
phpでの求人広告を結構あります。
それで、phpが必要な案件というのはVerが幾つのことをさすことが多いのですか?
Verまで書いてある求人広告があまりないので、分かりません。
教えて下さい。
0909nobodyさん2008/08/14(木) 10:58:46ID:???
>>908
php5でおk
それと日本語でおk
0910nobodyさん2008/08/14(木) 11:00:23ID:???
>>908
少し前ならPHP4が主流でしたね
PHP4のサポートも終了ですから今後はPHP5です。
リリース番号まで気にすることはないでしょう。

それでもPHP4とPHP5の両方を勉強しておくことをオススメします。
PHP4で作られたシステムは山ほどありますので、それの改造や保守をすることになった場合に必要です。
それにPHP5に完全に移行していないサーバを使った案件でもやはりPHP4ですね

上位互換とは言え、PHP4からPHP5では大きく変化してます。(PHP5にはPHP4互換モードがあるくらいです)
PHP5を主にPHP4も押さえましょう。
0911nobodyさん2008/08/14(木) 11:08:07ID:???
ここで質問をしていいか悩みましたが、わかる方がいましたら回答をお教えください。

■現象■
CSVファイルがダウンロードできない

■環境■
Microsoft Windows XP SP2
Microsoft Internet Explorar 6
Norton Internet Security

■詳細■
PHPを利用してデータの抽出結果をCSVファイルとしてダウンロードさせる機能を作成しています。
Mozilla系のブラウザ、Norton Internet Securityがインストールされていない環境では
正常にダウンロードを行う事ができるのですが、Norton Internet Securityが入っていない
環境でInternet Explorarを用いて実行すると、ダウンロードができないのです。

<< 該当プログラムコード >>
header("Cache-Control: public");
header("Pragma: public");
header("Content-disposition: attachment; filename=".$File_Name);
header("Content-type: text/csv; name=".$File_Name);

いろんなサイトを調べてみると、「headerで"Cache-Control:public"を指定する」等の
対応策が書かれていましたが、同じ状態になっているにもかかわらず改善されないです。
header("Content-disposition: inline; filename=".$File_Name);
に変更したところ、「保存」は正常な処理を行っているように思え、ダウンロードができました。
しかし「開く」を実行すると、「〜.phpは有効なファイルではありません。」といったダイアログが表示され、"はい"でも"いいえ"でもCSVファイルはExcelで開かれます。
IE7で「開く」を実行すると、ブラウザでExcelが起動されるらしく、ダイアログは出ませんでした。

できることなら、ダイアログも出ずにIE6で正常に開く処理ができるといいのですが、なにかいい方法はないでしょうか。
ブラウザを変える・ノートンを削除するといった方法は、客先に注文できないためコードの修正、もしくは何かの設定を変える方法でお願いいたします。
0912nobodyさん2008/08/14(木) 11:20:30ID:???
>>911
やりたいことは「IE6でPHPから出力したCSVファイルをダイアログなしにExcelで開く」と・・・
現状が良く理解出来なかったが・・・

リンククリック時の挙動はContent-typeで決まるってことを考えれば、
> header("Content-Type: text/csv");
よりは、
> header("Content-Type: application/vnd.ms-excel");
じゃないか?(未検証、あくまでヒント程度に)

あと「開く」動作はIEのテンポラリから開くことになるから、環境によっては正常に動作しないこともあり。


09139122008/08/14(木) 11:23:51ID:???
> header("Content-Type: application/vnd.ms-excel");

application/x-csv の方がイイかも、か?
0914nobodyさん2008/08/14(木) 13:46:30ID:Q1OktP3J
>>909>>910
詳しいご説明どうもありがとうございます。
アドバイス頂いた通り、php5をメインにphp4の差分を勉強していきたいと思います。
感謝です。
0915nobodyさん2008/08/14(木) 13:58:46ID:???
VSで開発してたんならおとなしくASP.NETでもやったほうがいいぞ
Web系でどのシステム開発依頼が多いかというとASP.NET>Java>PHPって感じだし
会社としても単価が低いPHPより単価の高い案件とってくるほうがいいからね
0916nobodyさん2008/08/14(木) 14:06:40ID:ilLTwblx
PHP+MySqlを勉強してて、ある本に載ってたコードなんだけど、
-------------------
<?php
if($cat_id){
$sql = "SELECT * FROM businesses b, biz_categories bc where"; //このb, bcとは何?
$sql .= " category_id = '" . $db->quoteSmart($cat_id) . "'";
$sql .= " and b.business_id = bc.business_id"; //ここは何してるの?
$result = $db->query($sql);
-------------------
この3行目にある、bとかbcとかって、何ですか?
0917nobodyさん2008/08/14(木) 14:11:43ID:???
>>916
ここでの使い方は別名だよ

「businesses」などを「b」などと別名を割り当てておけば、
「and b.business_id = bc.business_id」を
「and businesses.business_id = biz_categories.business_id」って書かなくて済むね

0918nobodyさん2008/08/14(木) 14:22:08ID:???
>>917
っていうか、スレ違いに何で回答しているんだよ!
そういう奴がいるから、このレスの半分がスレ違いで埋め尽くされるんだ。

お前は、うちの近所で野良猫に餌をやっている腐女子と一緒。
キモイ。キモスギル。シネ。
09199162008/08/14(木) 14:33:45ID:???
>>917
な〜るほど。よくわかりました。ありがとうございました。
0920nobodyさん2008/08/14(木) 14:46:10ID:???
ASを省略したようなもんかと
0921nobodyさん2008/08/14(木) 15:35:58ID:???
愛における喜びについて語ろう
喜びとはすなわち生まれるということ
込み上げる感情の発芽であります
しかし一方で決して永続性はない
ただただ、その瞬間におけるプラスの感情であり
つまりはそこからマイナスのエネルギーがなだらかに広がる
あるいは、急速に落ちてくんです
たとえば子供が産まれる
その瞬間に対する喜びはしだいに消え失せる
自分の老いの確認
経済的不安
成長する子供は決して期待にそぐわない
その緩やかな絶望
父性や母性は永続性があるじゃないか
父性や母性とはいったい何か
数学的、物理的に質量が測られるものではない
世の中に当たり前のことなどありません
すべて原因があり結果がある
愛における喜びとは原因であり結果への誘導
絶望への過程を作る
喜びなどなければ、絶望しない
人間の感情の中に喜びなどいらないんです
あらゆる犯罪は喜びに発動される
自分の喜びのために
あるいは、他人を喜ばすために
人間は犯罪を犯す
喜びを貪るお前たちは罪悪の源だ
0922nobodyさん2008/08/14(木) 15:36:53ID:???
長い
3行で
まとめろ
0923nobodyさん2008/08/14(木) 15:55:45ID:lAjhzaxs
コードを作成してブラウザで確認すると文字化けしてしまうのはなぜですか?
ブラウザのエンコードを変えても文字化けしています。
utf-8ですべてまとめています。
文字化けしないようにするにはどうすればいいか誰か教えてください。
0924nobodyさん2008/08/14(木) 16:03:43ID:???
>>923
php.iniの設定見直せ。
phpinfoの内容確認しろ。
0925nobodyさん2008/08/14(木) 16:15:20ID:DCpr3k6v
つーか、PHPもASP.NETも難易度そう変わらないだろ。。

後々の手間を考えたら、ASPの方がいいかも。
0926nobodyさん2008/08/14(木) 16:28:44ID:???
eAcceleratorとかXcacheの質問ってここで良いんですかね
0927nobodyさん2008/08/14(木) 16:30:29ID:???
いいけど1読んでな
09289262008/08/14(木) 16:54:49ID:kPaTSKvd
WinXP-SP3にApache-2.2とPHP導入、設定は↓のサイトをそのままマネしただけ
ttp://2php.jp/php/install_php_windows.html

ただバージョンが違うので
DirectoryIndex index.html index.html index.cgi index.phpを書き込む項目が無かったのと、
LoadModule php4_module "C:/php/sapi/php4apache2.dll"は
LoadModule php5_module "C:/php/php5apache2_2.dll"に変更
(php5apache2.dllは何故か認識されず)

その後↓のサイトで配布されているAcceleratorを使って紹介されている通りに設定
ttp://mizushima.ne.jp/Windows/HTTP/eAccelerator/MNS-eAccelerator.php

php.iniはデフォの物の一番下にコピペ(cacheの場所は「c:\php\cache」に変更)しました
再起動して<?php phpinfo();?>のサイトで確認してもeAcceleratorの表示が無かったんで困りました
0929nobodyさん2008/08/14(木) 17:02:17ID:60bQ7ofp
質問です。

PHPをローカルのパソコンで実行することってできないのでしょうか。
PHPコーディングが含まれるhtmlソースを、
”php実行”結果のhtmlに変換する処理です。
0930nobodyさん2008/08/14(木) 17:05:03ID:???
>>929
http://www.php.net/manual/ja/intro-whatcando.php
0931nobodyさん2008/08/14(木) 17:17:57ID:???
>>928
Windows版PHPの初期のiniは知らんが、
extension_dirがちゃんと設定されてない可能性を考えて見る、と言うか見れ

それとiniの定義は以下の方が良くないか?(freebsd使いな俺はそうなのだが)
「extensions」でも問題ないが、絶対パスが使える分見落としも少ない
---------------------------------
[eaccelerator]
zend_extension="dllの絶対パス"
〜(eacceleratorで始まる項目が続く)〜
---------------------------------

>>929
>>928のようにWindows版(ローカルがWindowsなら)のPHPを入れたらどうだ?
HTMLってことだから必要ならApacheも入れてしまえばイイかと
ブラウザで見る必要ないなら、PHPだけ入れてプロンプトから確認ががが
0932nobodyさん2008/08/14(木) 17:33:29ID:???
>>928
DirectoryIndex は全てのバージョンにあるぞ。無かったら作ればいい。
でも今回の件とは関係ないけど。
あとApache2.0と2.2は別物。2が動かなくて2_2が動くのは当然。

で、extensionsフォルダの場所は自分の環境の正しいところに入ってる?
0933nobodyさん2008/08/14(木) 17:40:11ID:lAjhzaxs
>>924
phpinfoの何処をみればいいんですか?
php.iniは本を見てそのまま真似たので他に変更箇所があるのか分かりません。
php.iniの変更場所を晒しますので変更場所があれば教えてください。
※矢印の方向に変更しました。

;default_charset = "iso-8859-1" →→ default_charset = "utf-8"
extension_dir = "./" →→ extension_dir = "c:/php/ext"
;extension=php_mysql.dll →→ extension=php_mysql.dll
;mbstring.language = Japanes e→→ mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP →→ mbstring.internal_encoding = utf-8
;mbstring.http_input = auto →→ mbstring.http_input = auto
;mbstring.http_output = SJIS →→ mbstring.http_output = utf-8
;mbstring.encoding_translation = Off →→ mbstring.encoding_translation = On
;mbstring.detect_order = auto →→ mbstring.detect_order = auto
;mbstring.substitute_character = none; →→ mbstring.substitute_character = none;
;extension=php_mbstring.dll →→ extension=php_mbstring.dll
;output_handler = →→ output_handler =mb_output_handler
0934nobodyさん2008/08/14(木) 17:50:57ID:???
何をしたらどう化けるのか
09359262008/08/14(木) 17:53:12ID:kPaTSKvd
>>931>>932
紹介されていたサイトの指定だと「extension_dir = "C:/php/extensions"」ですが
自分の環境ではC:-php-extとなっているので"C:/php/ext"と指定して見ても変わりなく
ドライブCの大文字&小文字、仕切りの/を\でも試して見たんですが反応が無いです

eacceleratorの場所はアドバイスして貰った通りに
zend_extension="C:\php\ext\eAccelerator.dll"で指定もしましたが変化無い感じです

後ろでsquidやpolipoが走っていたりしますが特にエラーメッセージも無いので関係は無いでしょう
とりあえずDirectoryIndexは最後尾に追記しました
0936nobodyさん2008/08/14(木) 17:55:31ID:/DkD0y7+
あれじゃね?単純にソースコードをutf-8で保存してないとか。。
09379312008/08/14(木) 18:03:56ID:???
>>935
PHP5.2.6だよな?最新をダウンロードしたなら問題ないか・・・
phpinfo()で見た時の「extension_dir」は正しいか?
Apacheの再起動を忘れてて反映されてないってオチだったらポカーンだが
0938nobodyさん2008/08/14(木) 18:20:34ID:???
_SERVER["SERVER_SOFTWARE"] Apache/2.2.9 (Win32) PHP/5.2.6

http://127.0.0.1/phpinfo.phpに繋ぐと↑のように表示されます。バージョンは新しい物の筈ですが…

なんとなくApache側の問題のような気がしなくもないです
LoadModule php4_module "C:/php/sapi/php4apache2.dll"がデフォの指示ですが
ウチの構成に/sapi/というディレクトリが無いのでここの変更はしょうがないのではと…

とりあえずあまり突飛な事はしてないと分かっただけでもおkです
凡ミスかもしれないので設定を洗いなおしてみます
09399262008/08/14(木) 20:02:27ID:kPaTSKvd
上のやつ名前書いてなかった…orz
実に初歩的な問題でした。"="の両端にあった半角スペースを取り除いたらあっさり認識しました

.dllの場所とキャッシュは各々、
extension="eaccelerator.dll"
eaccelerator.cache_dir="C:\php\cache"
で問題無く適応されました。アドバイス頂いた方々本当に感謝です、勉強になりました
0940nobodyさん2008/08/14(木) 23:34:07ID:g5LH5b33
PEAR::Authを使って認証すると、md5のハッシュを比較して認証するようですが
検索してみるとmd5は辞書攻撃に対して脆弱だという意見があるようです。
そのまま使っても問題ないのでしょうか?
それともsaltを付加して比較するようにオーバーライドした方が良いのでしょうか?
0941nobodyさん2008/08/14(木) 23:36:12ID:???
お前は何を言ってるんだ
0942nobodyさん2008/08/15(金) 01:19:47ID:6/CM4ZPR
ユーザー認証の処理にパスワードを入力すると思いますが、
みずほのインターネットバンクだと、パスワードの2番目と4番目を入力しろとかいう指定があります。
このような認証方法だと何かセキュリティーに有利な点がありますか?
0943nobodyさん2008/08/15(金) 03:03:48ID:???
はっきり言うわよ。

お前たちは、低脳。
0944nobodyさん2008/08/15(金) 03:32:17ID:???
>>940
salt使ってもmd5。だいたい辞書攻撃なら同じことだろ・・・
>>942
インターネット経由と郵便局経由のパスワードの両方で認証する点が最大のメリット。
0945nobodyさん2008/08/15(金) 04:04:26ID:???
>>942
マトリックス認証のことを言ってるのならば、キーロガー対策だと思う。
スレ違いだとは思うんで、続きは他で。
0946nobodyさん2008/08/15(金) 08:06:55ID:6/CM4ZPR
>>944>>945

キーロガーか、とても参考になった。

お前たちの親切に心から感謝!
09479292008/08/15(金) 08:28:51ID:VdYE+goq
>>930
レスありがとうございます
0948nobodyさん2008/08/15(金) 10:54:52ID:???
日付の変換ですが
エクセルで
DATEVALUE(2008年08月11日) →39671

PHPでやるにはどうしたらよいですか?
0949nobodyさん2008/08/15(金) 11:47:48ID:???
$amount_day = 365
$amount_month = 12
$start = 1900
$end_year = 2008
$end_month = 8
$end_day = 11
$diff_year = $end_year - $start
$datevalue = $diff_year * $amount_day + $end_month * $amount_month + $end_day
0950nobodyさん2008/08/15(金) 11:49:24ID:???
$amount_month = 30
0951nobodyさん2008/08/15(金) 12:30:57ID:???
strtotime('2008年08月11日') / (24*60*60)
0952nobodyさん2008/08/15(金) 12:33:51ID:???
>>951
釣りか?
0953nobodyさん2008/08/15(金) 12:40:52ID:k2b6NQX0
次のような目的のような関数を作りたいのですが、
下記の場合複数のcsvファイルがあっても1つしか取得できません
ミスをご指摘いただけませんでしょうか。

// 書式: array dirflist_re ( string $directory, string $pattern );
// $directoryに存在するファイルから$patternで指定したパターンを含むファイルリストを取得する。
// $patternはデリミタで囲む必要はありません。

function dirflist_re($directory, $pattern ) {
  $flist = array();
  $pattern = '/' . $pattern . '/';
  $handle = opendir($directory);
  while ( ($f = readdir($handle)) !== FALSE ) {
    if( FALSE !== preg_match($pattern, $f)) {
       preg_match($pattern, $f, $flist);
    }
  }
  return($flist);
}

$f = dirflist_re('.','.+csv$');
print_r($f);
09549532008/08/15(金) 12:44:18ID:k2b6NQX0
読み返したら日本語がおかしいですが、その点のご指摘はご遠慮くださいorz
0955nobodyさん2008/08/15(金) 12:44:43ID:???
>>953
whileの中の$flistがループの度に上書きされてないか?
preg_matchの後にマッチしたかどうかをifで判定して、$flistを別の変数に移さないと・・・
0956nobodyさん2008/08/15(金) 12:44:46ID:???
    if( FALSE !== preg_match($pattern, $f)) {
       preg_match($pattern, $f, $flist);
    }
ここをコメントアウトして、while内でprint
0957nobodyさん2008/08/15(金) 12:46:28ID:???
956は誤爆。while内でprint $f;してみ。
0958nobodyさん2008/08/15(金) 12:47:13ID:???
>>956
関数内でprintしちゃマズくね?
最終行のprint_rはデバッグ目的だと思うが >>953よ、どうなんだ?
0959nobodyさん2008/08/15(金) 12:51:13ID:k2b6NQX0
>>957
全てのファイル名が表示されます。

>>958
その通りです。
因みに、csvファイルは2つ存在してますが
一番最後のcsvファイル名のみが出力されます
09609582008/08/15(金) 12:54:19ID:???
こんな方法も考えられるか・・・
テストしてないから、アレだが「array_filter」は便利だぞ

function firflist_re($directory, $pattern){
$dirs = scandir($directory); // scandirが使える環境用
return array_filter($dirs, create_function('$name', 'return preg_match("/'.$pattern.'/", $name);'));
}
0961nobodyさん2008/08/15(金) 12:55:10ID:???
まず、最初からきれいな実装をしようとせずに、
一つ一つの原因を切り分けて実装してみることです。

特になんでもかんでも一行の正規表現で文字列を引っかけようとしたら
はまります。正規表現は万能でもないし、コードがわかりにくい。

うちの会社の品質管理部が正規表現を見たら、一発でアウトです。
正規表現を使わずに分かりやすいコードを書く方がバグがすくなくて済みます。

趣味でやっているんじゃないでしょ。利用者が迷惑しますよ。
0962nobodyさん2008/08/15(金) 13:00:22ID:???
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )

matches を指定した場合、検索結果が代入されます。 $matches[0] にはパターン全体にマッチしたテキストが代入され、 $matches[1] には 1 番目ののキャプチャ用サブパターンにマッチした 文字列が代入され、といったようになります。

つまり↑の方法では最終ループで一致したファイル名しか返さない。
>>955が正しい。

while内で$i++;して、$ret[$i] = $flist。そんでreturn $ret;とか。
0963nobodyさん2008/08/15(金) 13:12:09ID:k2b6NQX0
>>960
まだ初心者で知らない関数がいくつか含まれてますので勉強してみます;

>>961
PHP勉強し始めて3週間です。
他のプログラムの知識もないに等しいのでまだ趣味というにも程遠いのですがorz
しかし、逆に正規表現は業界標準の表記なのかと勘違いしてました。
勉強になります。

>>962
今からさっそく試してみます

>>955
すみません、読み飛ばしてました
修正してみます。
レス数が950を超えています。1000を超えると書き込みができなくなります。