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

【PHP】質問スレッド Part15

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/03/07 02:03ID:???
PHP全般の質問スレです。
上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。

■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ及び注意事項等は、 あふぉが居なけりゃ>>2-5
0147nobodyさん04/03/10 01:40ID:???
>>146
とりあえず当初予定の配列を作るには>>144,146でいい。
けど、目的が「ランダムな文字列」を作ると言うのだったら、
randで作った乱数を種に、crpytで暗号化するとぱっと見
ランダムな文字列ができるだろ。
ただ、それだと、要らない文字も混じるのでそれを考慮した
後処理も必要だろう、と>>!43がフォローした。
要は目的を達成できれば経過が思ったのと違っても
よかろうと。
014813804/03/10 01:40ID:???
やはりそういう風になりますか。。。
0-9とか0..9とか、そんな感じで一発でできるのあった気がするんですが。。。
諦めて>>146さんのでやります。
ありがとうございました。
01497704/03/10 02:20ID:???
ごめんなさいこのコードだとうまくいっちゃいました(;´Д`)
こんな感じだと駄目なんですよ(コードはEUCです)

mb_regex_encoding('eucJP-win');
$str1 = "キーワード�@";
$hex1 = strtoupper(bin2hex($str1));
$pattern = '(?:\xAD[\xA1-\xBE\xC0-\xD6\xDF-\xFC])';
$str2 = mb_eregi_replace($pattern,'',$str1);
$hex2 = strtoupper(bin2hex($str2));
echo $str1.' '.$hex1."<BR>\n";
echo $str2.' '.$hex2."<BR>\n";

#str1 キーワード�@ A5ADA1BCA5EFA1BCA5C9ADA1

#望む出力結果
#str2 キーワード A5ADA1BCA5EFA1BCA5C9
#実際の変換結果
#str2 ゼワード A5BCA5EFA1BCA5C9

要は・になっちゃう文字や機種依存をいろいろいじりたい訳なんですが
preg系と一緒の処理になってしまうのが困ってしまうな、と。
0150nobodyさん04/03/10 03:42ID:???
<?php
$>>138 = array(range(0, 9), range('A', 'Z'), range('a', 'z'));
print_r($>>138);
?>
0151nobodyさん04/03/10 03:47ID:???
rangeキタ━━━━(゚∀゚)━━━━ッ!!
015215004/03/10 03:54ID:???
array()じゃなくarray_merge()だった。すまん
0153nobodyさん04/03/10 11:57ID:???
PHPによるHTTP認証を組んでいるのですが、一度記録されたPHP_AUTH_USERおよびPHP_AUTH_PWはどうやったら消去できますか?
ログイン失敗のときの出力をいじったのですが確認できなくて…
0154nobodyさん04/03/10 13:12ID:???
>>153
無理だったんじゃなかったっけ?
たぶんだけど
0155nobodyさん04/03/10 13:16ID:???
ちょっとお聞きしたいのですが、PHPのプログラム上から
会員フォームなどから登録したユーザーに
一斉メール配信するプログラムを組んだ場合
やはりサーバによっては機能制限などが出るのでしょうか?
また、どのくらいの数ならば制限が出ずにメール送信が可能なのでしょうか?
0156nobodyさん04/03/10 13:17ID:???
>>154
Σ(゚д゚lll)ガーン

あ、じゃあUSERとPWを変えればいいのか!

と思ってやったらダイアログが表示されない…

ちなみにここのパスワード認証のソースを使いますた
ttp://php.s3.to/simple/
0157nobodyさん04/03/10 13:32ID:???
>>156
PHP_AUTH_USERとPHP_AUTH_PWはもともとブラウザが保持してて送ってくるので、
ブラウザを閉じないと無理。

>>155
そんなもん、鯖屋に聞けよ。
0158nobodyさん04/03/10 14:10ID:???
>>157
thx!

ダイアログは http://www.hoge.com/test/ じゃなくて http://www.hoge.com/test/index.php みたいにしたら出た(・∀・)
0159void04/03/10 15:22ID:???
質問です。

使用する変数をファイルの先頭で宣言しておきたいのですが、
ASPでいうところの、Dimはないのでしょうか?

0160nobodyさん04/03/10 15:28ID:???
無い。
強いて言うなら、Dim str as string;→str = "";とする。
ただしクラスのメンバ変数はvarで宣言できる。
0161天現時みるく04/03/10 16:13ID:ARfCAXZ+
linuxからODBCでSQLSERVERに接続したいのですが関数を認識してもらえません。
インストールしなおさないで./configure する方法ってないのでしょうか。
unixODBC、libiconv、FreeTDS の設定は済んでおります。
現象:
Call to undefined function: odbc_connect()
環境:
 PHP4(Red Hat Linux9) + SQLSERVER(WIN2000)
0162void04/03/10 16:30ID:???
>> 160
ありがとうございます。
0163nobodyさん04/03/10 16:37ID:???
>>159
ついでにASPは技術であって、言語ではないことも理解してくれ。
0164nobodyさん04/03/10 16:38ID:???
configure は何をするためのものか理解していますでしょうか?
インストール手順のmake installの直前で止めて、
後は手動で必要なファイルを適宜コピーしていけばodbcの部分だけを
追加したことになるでしょうが、そのままインストールしてもたいして変わりないような....
0165nobodyさん04/03/10 16:55ID:???
トラックバックで遊んでみたいのですが、便利なクラスやライブラリはないでしょうか?
PEARにはそれらしきものはないようですが。。。
0166void04/03/10 17:11ID:???
>> 163
はい。了解しました。

ところで、VBでコーディングをするときのネーミング規約として
文字列は先頭にstrを付け、数字は先頭にlngを付けると言う
規約が好きなのですが、PHPの場合、こういうのが良いよという
ネーミング規約があれば教えてください。

PHPのコードで
$strName
とやると何か間抜けな気がしています。

0167nobodyさん04/03/10 17:18ID:???
型がないからネーミングも意識しなくていい。
0168nobodyさん04/03/10 17:24ID:???
型が無いからこそネーミングを意識するんだろ。
0169nobodyさん04/03/10 18:31ID:???
>>168
釣れるか?
0170nobodyさん04/03/10 18:39ID:???
>>169
ホンマもんの阿呆か?
型が指定できないからこそ、
数値用の変数、文字用の変数、日付用の変数といったものを、
解りやすくするんだろ。
まさか、関数作るときの戻り値に、
成功で文字列、失敗ならFALSEなんて、
糞関数作る口か?
0171nobodyさん04/03/10 18:44ID:???
まじレスすると

>>167
>>169

はプログラムを作っちゃいかん。
仕様書作ったりしたことないだろう?
テストをちゃんとしたことないだろう?

一度
http://www.ascii.co.jp/pb/msp/03642/03642.htm
この本を読むことをお勧めする。

0172nobodyさん04/03/10 18:48ID:???
質問です。
つくっているページのそれぞれに、一行掲示板を設置しようとしています。
ところが違うディレクトリからそのスクリプトをincludeで取り込むと、
ログの読み込みがうまくいきません。

全て同じログファイルを使って表示したいのですが、
うまい方法はないでしょうか?

説明が下手ですみません;;
0173nobodyさん04/03/10 18:50ID:???
>まさか、関数作るときの戻り値に、
>成功で文字列、失敗ならFALSEなんて、
>糞関数作る口か?
これは普通にやってますが何か?
0174nobodyさん04/03/10 19:00ID:???
数値と文字列の違いは自然語でなんとなく区別するけど。
i,n,x,age,numとかは数値、name, messageとかは文字列、というように。
さすがにブールなら $isCheck みたいにしてる。
0175nobodyさん04/03/10 19:07ID:???
>>173
まさか仕事でやってる訳じゃないだろうな?
0176nobodyさん04/03/10 19:09ID:???
>>172
includeされる側でパス決めてないかい?
includeする側のファイルからみたパスを取るようにする。

>>173
お前はクズ。
仕事ではプログラムするな、ボケ。

>>174
正解。
プリフィックスを付けなければならないわけではなく、
これが、数値、文字等他の人が見てもわかればよい。
0177nobodyさん04/03/10 19:10ID:???
PHPで用意してある関数にもエラーならfalseを返すものなんていっぱいあるのに
0178nobodyさん04/03/10 19:15ID:???
>>177
だな。
>>176は考え方が偏ってる
0179nobodyさん04/03/10 19:16ID:???
>>176
ダメな理由を具体的に書けよ
0180nobodyさん04/03/10 19:18ID:???
戻り値が数値とFALSEという括りなら良いんだが、
文字列かFALSEという括りとなると、設計上おかしい。
0181nobodyさん04/03/10 19:18ID:???
ろくでもない先輩に教え込まれたんだろう。
0182nobodyさん04/03/10 19:19ID:???
PHPでは""や"0"もFALSE扱いですが?
0183nobodyさん04/03/10 19:19ID:???
>>180
設計上どうおかしいの?
0184nobodyさん04/03/10 19:21ID:???
>>183
うっせーな。
こだわりだよ。
0185nobodyさん04/03/10 19:22ID:???
ここはPHPしかできない連中の集まりか?
それとも自己チューの集まりか?
0186nobodyさん04/03/10 19:23ID:???
なんだただの個人的なこだわりかよ。そんな事ここで吠えられてもな
文字列もbool値も返す関数だってPHPにあるのに
0187nobodyさん04/03/10 19:23ID:???
アバウトさがPHPの良さなんて考えるのはおかしいんじゃないかな?
0188nobodyさん04/03/10 19:24ID:???
戻り値も特定できない関数作って喜んでいる、
お間抜けさんの集まるスレはここですか?
0189nobodyさん04/03/10 19:25ID:???
文字、数値、配列が返値でまざるのはダメだが、falseは許容って感じ。俺の場合。
0190nobodyさん04/03/10 19:25ID:???
文字列をFALSEで返す事はアバウトか?
0191nobodyさん04/03/10 19:26ID:???
宗教戦争みたいなもんだろ
こんなの
0192nobodyさん04/03/10 19:27ID:???
>>189
お前俺
0193nobodyさん04/03/10 19:28ID:???
文字列、またはfalse
数値、またはfalse
配列、またはfalse

こういった使い方はOKだろ
0194nobodyさん04/03/10 19:29ID:???
VBのときもそうだったけど、
PHP開発者も、厳しい規約があれば全く使い物にならない。
プログラムの必須知識である型を無視できて、
手軽さが良くて使っているのがほとんどだろう。
まあ、PHPで本格的なシステム作るわけでないし、
他ができる連中はPHP使わなければ良い話だ。

俺らは底辺だと言われようと、使い文にならんと言われようと、
気にせずPHP使うだけだし。
0195nobodyさん04/03/10 19:30ID:???
>>182
違います
0196nobodyさん04/03/10 19:30ID:???
俺は
Array…成功
文字列…失敗
false…処理しない
みたいな使い方してるよ。
0197nobodyさん04/03/10 19:33ID:???
>>196
難解だな
0198nobodyさん04/03/10 19:36ID:???
ミムラはカバっぽいな
そこがいいんだが
0199nobodyさん04/03/10 19:36ID:???
誤爆
020017204/03/10 19:38ID:???
>>176
ありがとうございます。
includeする側から見たファイルパスでやっていますが、
違うディレクトリに入ったところから取り込むと、ダメになってしまいます。

具体的に説明すると、
public_html/に 1linebbs.php と log.dat が入っていて、
ここと同じディレクトリの index.php から include するのはできるのですが、
hoge/ に入った index.php から include すると、
当たり前ですが log.dat を読み込めません。
1linebbs.php が log.dat を読み込んで表示するようになっているからです。

また、解りにくくなってしまいましたが、うまい解決方法があったら教えてください<(_ _)>
0201nobodyさん04/03/10 19:39ID:???
>>182
$a = FALSE;
$b = "";
if ($a == $b) echo("auau");
if ($a === $b) echo("hoge");
0202nobodyさん04/03/10 19:42ID:???
182はどう見ても釣りだろ
0203nobodyさん04/03/10 19:49ID:???
なんか>>170の自演が痛いんですけど。

>成功で文字列、失敗ならFALSEなんて、
>糞関数作る口か?
これって、一応釣ってるんですよねぇ?
食いついたほうがいいんでしょうか
0204nobodyさん04/03/10 19:51ID:???
素で間違えてる香りがプンプンと
0205nobodyさん04/03/10 19:53ID:???
>>203
関わるな!鳥インフルが伝染るぞ!
0206nobodyさん04/03/10 19:56ID:???
>>203
しかもあれだけ釣っておいて最後は「こだわり」だもんな。
個人的なことじゃんw
0207nobodyさん04/03/10 19:59ID:???
>>203-206
( ´,_ゝ`)プッ
0208nobodyさん04/03/10 20:00ID:???
やれやれ次元が違う相手と話するのがこんなにつらいとはな
まぁ、PHP使って楽しんでくれや
0209nobodyさん04/03/10 20:01ID:???
>>170=>>207=>>208
うはwwwww
0210nobodyさん04/03/10 20:04ID:???
>>208
業務で使ってる人と、
趣味で使ってる人が入り乱れてるからしょうがないよ。
趣味の人に、厳格な規約押し付けてもしょうがないし。
0211nobodyさん04/03/10 20:05ID:???
>>200
ファイルがみつからんのか、
ファイルが開けないのか不明。
もし、みつからないのであれば、
読もうとするファイル名出力してミソ
0212nobodyさん04/03/10 20:13ID:???
俺なんかはPHPの関数がFALSEを吐く様な事してるから
「あぁ、こんな使い方も出来るのね」って単純に感動したクチなんだけどね。
0213nobodyさん04/03/10 20:30ID:???
>>211
相対パスでincludeして、そこからさらに相対パスでログを読み込んでいるので、
違う場所から読み込もうとしてもできないんでつ(´・ω・`)
0214nobodyさん04/03/10 20:45ID:???
ディレクトリの構成を見直した方がいいんじゃないの?
0215nobodyさん04/03/10 21:22ID:???
【まとめ】

厳密さを求める香具師は JAVA 使え
0216nobodyさん04/03/10 21:44ID:???
ネイティブコードも吐けない糞言語JAVAを薦めるなんて
お前頭おかしいだろ?
よく生きていけるな
0217nobodyさん04/03/10 21:47ID:???
>>213
やりたいことは判らないでもないが、
元々includeはコードを取ってくるもんであって
処理結果や動作をもってくるものではないです。
HTTPストリームを使ってPHPでの実行結果を
取って来ることも、まあ出来るけどね。

>>215
厳密さを求めると寧ろJavaの厳密でない部分
(結構ある)が鼻についてしょうがない。
PHPは適当なままで良いが、もちっと適当さにも
統一感をくれ。
0218nobodyさん04/03/10 21:48ID:???
ObjectPascalが一番厳密で使いやすい
0219nobodyさん04/03/10 21:57ID:???
>>216
はい。おかしいです。
自分でもよく生きているなと思います。
0220nobodyさん04/03/10 22:12ID:???
ここの人たち口悪いよ
もうちょっと言葉選んでくれ
0221nobodyさん04/03/10 22:19ID:???
session_destroy
session_unset
破棄と開放はどう違うんでしょうか??
破棄=定義しているが中身がNULL
開放=未定義

ってことですか?
0222nobodyさん04/03/10 22:32ID:???
>>221
アウト!
0223nobodyさん04/03/10 22:32ID:w+pCKnpt
mkdirでディレクトリが作成されないのですけど、
サーバで許可されていないからでしょうか?

mkdir("./aaa",0707);
0224nobodyさん04/03/10 22:41ID:???
>>223
知らんがな。エラーメッセージ見るなり、鯖管に聞くかせーや。
0225nobodyさん04/03/10 22:49ID:???
>>222
やっぱちがいますか・・・
教えてくださいm(_ _)m
0226nobodyさん04/03/10 23:54ID:???
mysqlと一緒に使ってるとDBにアクセスするたび例外なく
システムビープなりませんか!?
漏れだけか…。
Windowsで動かそうなんて無謀だったか。
(PHP4.3.5.5+mysql-3.23.38+Anweb1.42k php.exe使用)
0227nobodyさん04/03/11 00:20ID:???
>>226
俺さ、SQL文ミスるたびにシステムビープ鳴るのどうにかならないかなぁ、って思って検索したら
あなたのようなことを書いてるのが多くてびっくり。
俺は、PHP4+MySQL4+Apache1.3.19なんだけど、「アクセス時」にビープ音はならないねぇ。
0228nobodyさん04/03/11 00:29ID:???
ウチでは
・コマンドラインでSQL文を間違えるとビープ音が鳴る
・PHPでSQL文を間違えてもビープ音は出ない
だな。MySQL 4.0.15 , PHP4.3.3 , Windows 2000 , Apache 1.3.29。
0229nobodyさん04/03/11 00:32ID:???
>>226
MySQLが古いのか、httpデーモンが悪いのか
どっちかだろうな
0230nobodyさん04/03/11 00:37ID:???
なあなあ、現在開いてるファイルのファイル名を変数に代入するのは

どうしたらいいだ?
0231nobodyさん04/03/11 00:47ID:???
知ってるが
   お前の態度が
      気に入らない
0232nobodyさん04/03/11 00:51ID:???
>>231
まあまあ、おしえてくでよ
0233nobodyさん04/03/11 00:52ID:???
レスどうもです。コマンドラインミスるとbeep鳴るのは分かりますが、
動作確認したのがphpmyadminなので、SQL文ミスの恐れはないと思います。
先ほどisapiに変えてみたところビープが消えました。
が、isapiだと、これはこれでライブラリロード中のまま止まったりするし…。

サーバー側でメモリのエラーが出る→システムビープが鳴る
こんな予想立てて、ちょっくらanwebのサクーシャに問うてみます。
0234nobodyさん04/03/11 02:25ID:???
for($i=0; $i<8; $i++) $pass.=$char[array_rand($char)];

$charには、a-Z、0-9の文字が入ってます。$char[0]>a,$char[1]>b・・・・
これってちゃんと8個のランダムな文字列になってますよね?
srand();はしてないですけど。


ローカル(Windows)で動作試したんですが、10回ほどで同じものが出てきた時もありました。
62通りの8乗分の1なのに、たった10回で・・・
偶然、でいいんでしょうか?
何か気になります
0235nobodyさん04/03/11 05:59ID:???
>>231
おまいはいつもそれだけだな ばかかとおもわれるぞw

>>230
__FILE__ から抜き出すとかは?
0236nobodyさん04/03/11 08:15ID:???
>>133
AN HTTPDって、メッセージ関係はAnWeb表記なんだね。知らなかった。
0237nobodyさん04/03/11 10:16ID:???
>>213
BBSの部分を関数化し、
引数にDATファイル渡すようにしれ。
同じDATや違うDAT使うのも、切り替えしやすくなるぞ。
機能だけ関数化し、設定は外出し汁。
0238nobodyさん04/03/11 11:00ID:???
>>237
それだとinclude pathのチェック機構を入れないと、ASKACCSみたいな大恥をかく羽目に。
0239nobodyさん04/03/11 11:06ID:???
なんで>>235のような教えたがり厨が増えるんだ・・・
質問の仕方ってものがあるだろ、態度悪い奴に甘えさせるなよ。
まぁ、覚えたての知識を披露したいような厨に何言っても無駄だけど
0240nobodyさん04/03/11 11:27ID:???
>>239
とりあえず厨厨うるさいやっちゃな。
厨って言いたいだけちゃうんかと。
0241nobodyさん04/03/11 11:42ID:???
厨厨train
0242nobodyさん04/03/11 12:44ID:???
ここは質問しか書いてはいけないスレですか?
0243nobodyさん04/03/11 12:56ID:???
>>240
>厨って言いたいだけちゃうんかと
藻前↑コレ言いたいだけだろ
0244nobodyさん04/03/11 13:11ID:???
俺は>>241が言いたかった
0245nobodyさん04/03/11 13:28ID:???
ファンーふぁんーひーいざーつぇーつえー
同じかぜーのなかーうぃのーうぃのーおhh
きーきーきーらきあすきーすきー
と決めーきをはこぶーよとゅとゅとれーん
0246nobodyさん04/03/11 13:53ID:???
厨厨マウスはOK?
0247nobodyさん04/03/11 14:08ID:???
>>246
チュウチュウ
■ このスレッドは過去ログ倉庫に格納されています