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

【PHP】くだらねぇ質問はここに書き込みやがれpart7

■ このスレッドは過去ログ倉庫に格納されています
00019662005/07/12(火) 01:47:09ID:qOoYFCn7
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/

立ってなかったんで>>970に近かった自分が勝手に立てちゃいました。
0312nobodyさん2005/07/20(水) 15:10:47ID:???
PHPの話じゃないかもしれませんがお教えねがいます。

<form method='POST' action='hoge.php'>
<input type='image' name='kbn' value='1' src="hoge1.gif">
<input type='image' name='kbn' value='2' src="hoge2.gif">
</form>
という2つのイメージボタンを持ったフォームで
どっちのボタンがクリックされたかを'hoge.php'で取得するには
どうしたらよいでしょうか?
'hoge.php'で$_POST['kbn']がNULLになってしまうので困っています;
どうかお助けください。
0313nobodyさん2005/07/20(水) 15:21:59ID:???
312です。
なんかinput type='image'はvalueは無効みたいですね。
nameを変えて座標がやってくるかどうかで判断しなくちゃですね。

他にいい方法っありますか?
0314nobodyさん2005/07/20(水) 15:23:58ID:???
>>313
んー。type=button にして、CSSで背景画像の変更とかじゃ駄目?
0315nobodyさん2005/07/20(水) 15:24:26ID:???
>>313
俺の環境ではちゃんと取得できた
var_dump($_POST);
で
array(3) {
["kbn_x"]=>
string(2) "47"
["kbn_y"]=>
string(2) "53"
["kbn"]=>
string(1) "1"
}
0316nobodyさん2005/07/20(水) 15:24:42ID:???
俺のサーバーじゃ$_POST['kbn']は普通に取得できたぜ
0317nobodyさん2005/07/20(水) 15:25:22ID:???
test.php
----------
<form method='POST'>
<input type='image' name='kbn' value='1' src="hoge1.gif">
<input type='image' name='kbn' value='2' src="hoge2.gif">
</form>
<?
echo $_POST['kbn']."<br>\n";
print_r($_POST);
?>
----------
0318nobodyさん2005/07/20(水) 15:31:42ID:???
Firefox + PHP5.0.4 なら取得できた
IE6 + PHP5.0.4 ならNGだった
0319nobodyさん2005/07/20(水) 15:38:30ID:???
CSVファイルを配列に読み込んで、○行目から×行目までを出力するとき、今までは

for($i=○;$i<=×;$i++){
 echo $array[$i];
}

と言うループでやっていましたが、もっとスマートな方法ありますか?
0320nobodyさん2005/07/20(水) 15:44:01ID:???
>>314
あっそれもいいかも
でも、buttonってsubmitできましたっけ
onClick='javascript:this.submit()'すれば
いいと思うけど javascriptは使わないポリシーなので
申し訳ない。

自分の環境ではやっぱり
$_POST['kbn_x']はとれても$_POST['kbn']はとれません。
これってPHPの環境変数の設定の違いでしょうか?
申し遅れましたがPHPのVerは4.3.10なんですれど。
0321nobodyさん2005/07/20(水) 15:56:29ID:???
>>318
ブラウザによって違うんですね。
ネスケ系のブラウザエンジンは取れるんですね。
了解しました。
03223152005/07/20(水) 16:24:06ID:???
本当だ
IEだとだめじゃ
0323nobodyさん2005/07/20(水) 16:28:36ID:???
さて、正しい動作はDotch!?
0324nobodyさん2005/07/20(水) 16:31:53ID:???
仕様書よむかぎりではIEが不正動作の様子。
割と有名な問題だから検索すれば対策みつかるよ。
0325nobodyさん2005/07/20(水) 17:00:43ID:???
phpで半角数字以外の文字を消すにはどうしたら良いか教えてください。

「x1xx」とか「,2dd」を「1」「2」にしたいです。
0326nobodyさん2005/07/20(水) 17:06:21ID:???
>>325
preg_replace('/[^\d]/' , '', 'x1xx');
0327nobodyさん2005/07/20(水) 18:20:44ID:???
>>326
�dです。
正規表現を勉強せねば・・・やっぱ慣れですかね?
0328>>2912005/07/20(水) 19:00:55ID:e5fXpd1f
>>292-293
ありがとう
0329nobodyさん2005/07/20(水) 19:17:11ID:???
charsetをShift_JISで書いたソースで
「―ソЫ�\噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭�x�x」
を送信すると$_POSTで取ったときに'\'(C5)が付いてくるのって
charsetを変えずにうまいこと解決するには
どのような対策がベストなのでしょうか?
0330nobodyさん2005/07/20(水) 19:21:58ID:???
>>329
magic_quotes_gpc = Off
0331nobodyさん2005/07/20(水) 22:43:59ID:0VkkmhCL
PHPでブラウザのキャッシュを外して表示させる場合は以下のように書け
と言う様な記事に遭遇しました。、

header("Content-Type: text/html; charset=文字コード");
header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");



↑の文章で
「header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");」
この時間の意味は何でしょうか?
解説によって時間が異なったりします。

0332nobodyさん2005/07/20(水) 22:54:07ID:???
>>330
あ〜そんな設定があったのですね。
やってみます。
ありがとぉ
0333nobodyさん2005/07/20(水) 23:13:32ID:???
>>331
そこまで勉強したんならもう少し勉強してみてください。
0334nobodyさん2005/07/20(水) 23:32:41ID:???
あるクラスのメソッド内で他のクラスのインスタンスを生成した場合、そのインスタンスの消滅はいつになるのでしょうか?
生成したメソッド終了時? それともスクリプト全体の終了時?
もし全体の終了時ならメソッド終了時に消滅させることって出来るのでしょうか?
デストラクタ(__destruct)を呼び出すとかして。
0335nobodyさん2005/07/20(水) 23:50:29ID:???
>>334
__destructでechoでもすればいつも消えるかわかるだろ。
質問するまえに自分でやれることやらないと、何時までも他人に頼ることになるぞ
03363352005/07/21(木) 01:15:26ID:???
いつも消えるってなんだorz
0337nobodyさん2005/07/21(木) 06:32:47ID:???
>>334
参照されなくなったとき
0338nobodyさん2005/07/21(木) 08:22:30ID:???
参照されなくなったとき〜
0339nobodyさん2005/07/21(木) 09:45:00ID:???
>>331
キャッシュの有効期限だ。
つまり、今現在の日付より前に設定すれば、
アクセスしてきたブラウザはキャッシュの有効期限とみなして
新しくページを読み込むという理論。

だから今より古い時間ならいつでもいいけど、
時間が止まってるパソコンのことも考えて(?)
10年くらい前にしておけば問題無い。
0340nobodyさん2005/07/21(木) 09:52:36ID:???
>>339
ありがとうございました
0341nobodyさん2005/07/21(木) 11:40:24ID:???
>>340
有効期限のことって解説に載ってなかったの?
俺はてっきり「1994年12月1日16時ちょうど」って時間に特別な意味があるのか聞いてるのと思ってた。
03422382005/07/21(木) 12:34:04ID:1d7jG9nE
>>291、>>298
第一弾で作ったシステムは、DBの重要度・依存度はそんなに高くない
ASP(顧客ごとのオリジナルシステムじゃないですよ)なので。
項目数も更新頻度も少ないから一つのテーブルでまとめちゃっても
特に支障なかったんですよ。

でも今作ってるのはDBに入れるべき項目数もレコード数も多くなるので、
きちんとした設計にしようと思って質問しました。

で、もう半年くらい営業してるんで、顧客が数十社というのはむしろ少なすぎです。
開発と営業を一人でこなさなきゃならないのでどうしても時間が足りないんです。
だからそろそろ営業マンと技術者を一人ずつ雇います。

>>296
いちおう第三正規化まで(無意識的に)やってました。
正規化という概念があるのは後付けで知ったんですが。
0343nobodyさん2005/07/21(木) 13:30:41ID:jGRVDiGI
うちにインストールしたApacheで mb_strpos 関数が使えません。
PHP.ini のどこを変更すればいいんですか?
0344nobodyさん2005/07/21(木) 13:45:42ID:???
最近の流行りか?
プロフェッショナリズムの欠如したプロフェッショナル(自己矛盾だな…)
0345nobodyさん2005/07/21(木) 14:34:01ID:pW+lONe3
すいません。PHP3とqmailで出来ているシステムに
手を加えたのですが、これで良いのでしょうか。
qmailでメールのエイリアスを追加したのですが、
/var/qmail/alias/.qmail〜 というファイルに
&〜
というメールアドレスを追加したのですが、qmail
を再起動しなくてもメールのエイリアスの追加は
完了したのでしょうか。
qmailの再起動も知らない初心者なので、これだけ
で良いのかと心配しています。どなかか教えて下さ
ると非常に助かります。お願いいたします。
0346nobodyさん2005/07/21(木) 15:00:50ID:???
PHPとMySQLで入門本を見ながらいろいろ試してるんですが、
mysql_close()とmysq_free_result()は必要なのでしょうか?
入門本では特に「切断する」「開放する」以上の説明はないのですが、
PHPのマニュアルには
「mysql_closeは通常必要ない」「結果保持用メモリは自動的に開放される」
とあります。

プログラミング的には書くのがお行儀がいい、ということなのでしょうか?
それともやはり「どっちでもいい」のでしょうか?
0347nobodyさん2005/07/21(木) 15:04:34ID:???
>>345
PHPというよりqmailの質問だから↓の方がいいかも

qmailインストール @Linux板
http://pc8.2ch.net/test/read.cgi/linux/1004341147/
qmailいろいろ(7) @UNIX板
http://pc8.2ch.net/test/read.cgi/unix/1114157851/
0348nobodyさん2005/07/21(木) 15:07:32ID:???
>>345
再起動は不要。
エイリアス追加後、再起動せずにエイリアス宛にメールを
送信してみれば聞くまでもないことだと思うんだけど。
てか、そもそもスレ違い。
0349nobodyさん2005/07/21(木) 15:24:55ID:???
<form method='POST' action='hoge.php'>
<input type="text" name="hoge" value="10">
<input type="text" name="hoge" value="20">
<input type="text" name="hoge" value="30">
</form>
をsubmitして
'hoge.php'で$cnt=count($_POST['hoge'])ってしたら
$cntは3になると期待したんですが1になっちまうんです
3にするにはどうすればよいんしょうか?
0350nobodyさん2005/07/21(木) 15:27:23ID:pW+lONe3
>347
>348

345です。ありがとうございます。再起動せずに
エイリアス宛にメールを送信して見たら、出来ま
した。そのようなことも思いつかないなんてどう
かしてますね。(笑)
また、スレ違いでしたので、今後はqmailスレで
聞くようにします。
いずれししても、ありがとうございました!!
0351nobodyさん2005/07/21(木) 15:35:11ID:uSqim16b
プログラムの処理時間を計算する為に

$start=microtime();
//処理
$end=microtime();
echo $end-$start;
ってな感じでmicrotimeの計算をした時に近い数字同士だと
指数になったり結果がマイナスになったりするんですがなぜなんでしょうか?
0352nobodyさん2005/07/21(木) 15:45:03ID:???
>>346
一般的なプログラミングの作法としては、ちゃんとプログラム中で
閉じたり開放するのが正しい(と思ってるので、自分はしてる)。
但し、PHPの仕様としてスクリプト終了時にmysql_close()とmysql_free_result()
相当の動作が自動的に行われると明記されているので、"PHPプログラミング"の
作法としてはスクリプト中で記述しないというのは正しい。
またプログラム処理の結果を吐き出してから後始末を行うので、
結果を得られるタイミングも早く、すなわち処理が速く終わる。

もっともmysql_closeはMySQLコネクションというリソースを、
mysql_free_resultはMySQLからの結果を保持する記憶域を開放するためのものであるから、
スクリプトの動作時間が長く、それらのリソースを無駄に保持する負荷が
比較的大きいのであれば、適宜開放してやるのが良い。
0353nobodyさん2005/07/21(木) 15:51:03ID:???
>>346
俺の考えだけど、俺の場合はソースの頭でオープンさせて最後に開放させてる。

と言うのも、その都度開放するとサーバに負担がかかると思ったから。
何度も開けたり閉じたりするより、最初に開けちゃって最後に閉じた方がよいかと思って。
0354nobodyさん2005/07/21(木) 15:51:51ID:???
>>349
1変数1個だ。
0355nobodyさん2005/07/21(木) 16:00:24ID:???
>>349です。
事象がわかりましたが、
対策が解りませんのでどなたか教えてください。

<form method='POST' action='hoge.php'>
<input type="text" name="hoge" value="10">
<input type="text" name="hoge" value="20">
<input type="text" name="hoge" value="30">
</form>
をsubmitしたのに配列で受け取れないのは
<input type=image>で送信されたものの場合で試しに
<input type=submit>にしてみたら配列がやってきました。
イメージを送信ボタンとして配列をPOSTしたいのですが
javascriptを使わずに出来ますでしょうか?
0356nobodyさん2005/07/21(木) 16:00:52ID:???
>351
microtime() で何が返ってきてるか見てみなよ。
0357nobodyさん2005/07/21(木) 16:06:05ID:???
誰か>>355を翻訳してくれんか?
0358nobodyさん2005/07/21(木) 16:07:04ID:???
>>355
<input type=submit style="background-image:url('イメージ')">

じゃダメ?やってないから分からんけど。
0359nobodyさん2005/07/21(木) 16:15:01ID:???
>>358 だめでした・・・
>>357 http://honyaku.yahoo.co.jp/transtext
0360nobodyさん2005/07/21(木) 16:27:43ID:???
>>355
name="hoge[]"
0361nobodyさん2005/07/21(木) 18:26:15ID:???
>>359
<button type="submit"><IMG></button>
0362nobodyさん2005/07/21(木) 19:25:40ID:NWEHg4fz
フォームを作成しそこに書き込むと掲示板に投稿され
さらに内容が私のメールに届くようにしてあるスクリプトを作成したのですが
これに加えて
自分で作成したメールアカウントにメールを送信したら
そのメール内容が掲示板に投稿されるようには出来ますでしょうか?
0363nobodyさん2005/07/21(木) 19:44:29ID:???
メールを受信した瞬間にログを取り出すのではなく、掲示板を表示するときに適宜メールの内容を取り寄せる形ならimap系でできるかも。
0364nobodyさん2005/07/21(木) 20:57:07ID:???
>>362
SMTPサーバーを操作できるのならエイリアスファイルから登録用スクリプトを呼び出せばいい。
sendmailならこんな感じで呼び出すけど、SMTPサーバーによって設定ファイル、設定内容は
異なるので自分で調べてくだされ。
myaccount: "| /path/to/php 登録用スクリプト名"

これで[email protected]にメールが届くと登録用スクリプトが呼び出される。
スクリプトでは標準入力からメールデータを取り出して掲示板に登録する。
もちろんこのスクリプトはオマイさんが書くんだよ。
SMTPサーバーが触れないのならPOPやIMAPを使うしかないかも。
0365nobodyさん2005/07/21(木) 21:06:26ID:???
あともう一つ、cronを使って定期的にポーリングする方法もあるね。
大体この3つくらいが定番かと。
0366nobodyさん2005/07/21(木) 21:09:11ID:???
smtp鯖をしらべるには?
rh9 php4.3.11を使用しています。

pear Net_SMTPを使用し
[email protected]さんのメールアドレスが実在するかチェックする
スクリプトを作成しています。

Net_SMTPコンストラクタ作成時に 接続先サーバを指定するのですが、
[email protected](abc.co.jp)のSMTP鯖を調べる方法は
ありますでしょうか。
0367nobodyさん2005/07/21(木) 21:21:09ID:???
>>366
getmxrr()
んでも、MXが見つからん場合はAとかに送るんじゃなかったっけ?その辺りは実装しなきゃいけないかもね。
0368nobodyさん2005/07/21(木) 21:27:16ID:hk8J7OA3
質問です。

<?php
$a = @$_POST["answer"]
if($a="ほげほげ"){
echo "正解";
}
else{
echo "不正解";
}
?>
上記のif文で、$aが"ほげほげ"を含む場合には正解を表示させるには
どのように記述したらいいのでしょうか?
$aが"ほげほげです"でも"ほげほげかな?"でも正解にしたいのです。
よろしくお願いします。
0369nobodyさん2005/07/21(木) 21:32:24ID:???
>>368
http://jp2.php.net/manual/ja/function.mb-strpos.php
0370nobodyさん2005/07/21(木) 21:54:25ID:hk8J7OA3
>>369さん
有難う御座います。
リンク先をみても3%くらいしか理解できませんでした。

if(mb_strpos($a,"ほげほげ"){
echo "正解";
}
false{
echo "不正解";
}

こんな感じでしょうか?なんか足りない気がします。
0371nobodyさん2005/07/21(木) 21:58:50ID:???
>>368mbstring入ってる?
0372nobodyさん2005/07/21(木) 22:08:34ID:???
preg_match使えば?
0373nobodyさん2005/07/21(木) 22:38:23ID:???
PHPマニュアルのmb_strposを読んで3%しか理解できない人が
正規表現を理解できるとは思えないけど(バカにしているんではないよ)。
>なんか足りない気がします
ってどういう意味だろう。実行したけどエラーがでるのかな。
エラーがでるのならエラーメッセージぐらいは張って欲しいけど。
とりあえず)が一個足りないけどコピペミスなの?
if(mb_strpos($a,"ほげほげ"){
↓
if(mb_strpos($a,"ほげほげ")){

このままmb_strposが使えるまで頑張るか正規表現を勉強するかは
>>370次第。嫌がらせではないからキレないでね。
0374nobodyさん2005/07/21(木) 22:56:27ID:???
3%くらいしか理解できませんでしたって理解する気もないだろ
0375nobodyさん2005/07/21(木) 23:07:04ID:???
echo$anser=mb_ereg("判らない事",$a)?"取り合えず調べる":"くだ質に丸投げ";
0376nobodyさん2005/07/21(木) 23:10:38ID:???
mb_strpos使えっていうからやったのに何で叩かれるんだよー・゚・(ノД`)・゚・ ウワーン
ってのが聞こえてきそうだ。
var_dump(mb_strpos($a,"ほげほげ"); とかして、どんな値が返ってくるのか実感して欲しいところだな。
誰も突っ込んでないけど、 if($a="ほげほげ") ってのもかなりイタイ
0377nobodyさん2005/07/21(木) 23:44:29ID:OPf2mV1L
PHPを利用したプログラムを2つ教えてください。
�@九九表
�A2次方程式の解 ax2+bx+c=0
0378nobodyさん2005/07/22(金) 00:09:21ID:???
くだらない質問だと思うので、こっちにレスするかな。。
>>377
どこまでやったのか書いてみ。
2.の方は学年と性別、妹の有無の情報が無いと、出題者の意図が分からん。
0379nobodyさん2005/07/22(金) 00:17:20ID:1VklDg1R
377です。まったく手をつけられていません。 九九表のプログラムをすべて書いていただけるとありがたいですm(__)m
0380nobodyさん2005/07/22(金) 00:21:20ID:???
PHPでサイト内検索をしたいのですが、具体的にどうやって作っていけば良いのか分かりません。
せめて過程だけでも教えて下さい。
0381nobodyさん2005/07/22(金) 00:45:13ID:???
>>379
【php】part29【php】の方にレスついてますよ。
0382nobodyさん2005/07/22(金) 01:29:04ID:???
>>370
if(mb_strpos($a,"ほげほげ") === FALSE){
echo "不正解";
} else {
echo "正解";
}

文字エンコーディングの設定必要あるかもだけど。
0383nobodyさん2005/07/22(金) 02:49:06ID:???
isleのレン鯖契約したらmb_*もmb_reg*も入ってなかった。
アリエナスww
上記のライブラリを追加したらリコンパイル必要ですか?
apache再起動で済みますか?
あと、php-usersのMLをどなたかのサイトでアーカイブにしてnamazuに喰わせてあったのですが
うかつにもブックマークし忘れました、どなたかurlわかりますか?
03843832005/07/22(金) 03:01:06ID:???
>>383
すいません、後半部分は自己解凍しました。

http://www.php.gr.jp/php/novice.php3
このスレのテンプレにも追加したいくらい便利っすね。
0385nobodyさん2005/07/22(金) 06:59:06ID:7S1nHf8D
pear::Authでおおはまりしています。
具体的には
CREATE TABLE myAuth (
myUserColumn VARCHAR(50) NOT NULL
, myPasswordColumn VARCHAR(32) NOT NULL
);
ってテーブルを作って、
ttp://dozo.matrix.jp/pear/index.php?PEAR%2FAuth
ここいらを参考に(というかそのまま)
認証をかけてみたんですが、常に認証失敗になってしまいます。

Pear::Authのインスタンスをprint_rしてみたんですが
どこで失敗しているのかがわからず(ちなみにDB接続は成功しています)
解決の糸口がつかめません。

試しにlast_queryをそのままDBに入れると、ちゃんと帰ってくるんで
一体どこでつまづいているのかサッパリです。
同じような現象になった方、解決方法ありましたらよろしくお願いします。
0386nobodyさん2005/07/22(金) 07:31:03ID:???
includeするファイルの拡張子ってどうやって決めるんでしょうか?
基本的にhtmlコードや普通のテキストを呼び出したりするときは.incで統一してるんですが、
phpコードとかだったら.phpにするべきなのかな?
0387nobodyさん2005/07/22(金) 08:13:08ID:???
>>367さん。ありがとう。

pear Net_DNSを使用しました。
0388nobodyさん2005/07/22(金) 08:19:11ID:???
>>386
特に決まりはないから好きにしたらいい
俺はphpコードはphpにしてる。他の拡張子だとソースの内容が丸見えになるので
後はhtmlだったりtxtだったり
config.inc.phpなんてやってるのもある
03893682005/07/22(金) 12:42:26ID:???
>>382さん
有難う御座います。うまくいきました〜
0390nobodyさん2005/07/22(金) 12:43:09ID:???
インクルードファイルも.phpにしておかないとドキュメントルート内だとURL直叩きでソース見放題になるぜ
ドキュメントルート以下にそんなファイル置く奴が悪いんだが。

.htaccessとかで.incを.php扱いにすることも出来るがそんな手間を考えるなら拡張子を統一するのがベスト。
0391nobodyさん2005/07/22(金) 14:09:45ID:???
>>389
結局、答えを全部教えてもらう以外、自分では何もやらない奴だったんだな。
そんなの楽しいのか。。。
0392nobodyさん2005/07/22(金) 16:26:40ID:s5umLjZL
すみませぬが、質問です。

PHPをWindowsで使う際、execを使って外部のexeやバッチファイルを
バックグラウンドで動かすことは無理なのでしょうか?
時間のかかる処理をexeやバッチファイルで実行しているのですが、
exeなどをファイルにリダイレクトしても、結局バックグラウンドでは
動作せず、ブラウザが読み込み中のまま待たされることになってしまいます...。
処理が終わったら戻ってくるんですが。

Linuxだとリダイレクトと「&」を使って簡単にできるのに...。

PHP 4.3.11+IIS(Apacheでも同じ)です。
ぜひご教示を!
0393nobodyさん2005/07/22(金) 16:29:55ID:mNPTggfm
XMLパースについて質問ですが
SimpleXMLは名前の通り使いやすいと思うのですが
SimpleXMLよりも使い勝手がよいパーサというものは
あるでしょうか?
0394nobodyさん2005/07/22(金) 16:34:59ID:mNPTggfm
PHPで、C++やJavaのように、
変数を使う前に宣言してから利用可能に

するということはかのうでしょうか?
クラス内のフィールド(メンバ変数)とは別に。

PHPは、変数名などのスペルミスをすると
どこにバグがあるのか気づかずに
苦労することがあります。デバッガにも気づいて
もらえません。
それをC++やJavaのコンパイラように、
あらかじめ変数を宣言してから
利用できるようにすればどこにまちがい
があるのかかなりわかりやすくなり、
スペルミスにもすぐに気づきやすいのですが。

これをC++やJavaのように楽にする方法はないでしょうか?
C++やJavaを使えと言われても仕事上、そうはいかないものでして.。
0395nobodyさん2005/07/22(金) 17:06:33ID:???
>394
error_reporting (E_ALL);
これで未定義の変数に警告を出してくれる。
0396nobodyさん2005/07/22(金) 18:57:44ID:???
配布したのですが、改造されたくないのです。
PHPは、コンパイルできませんか?
0397nobodyさん2005/07/22(金) 19:04:08ID:???
>>396
つ[どっかの会社が出してる(忘れた)エンコーダー]
0398nobodyさん2005/07/22(金) 19:06:37ID:???
>>396

つ http://www.google.co.jp/search?hl=ja&q=php+コンパイル&btnG=Google+検索&lr=
0399nobodyさん2005/07/22(金) 19:09:20ID:???
ありがとうございます。
ionCube PHP Encoderですか?
PHPスクリプトをコンパイルした場合
こういうのを、サーバーに入れないとだめなんですか?
0400nobodyさん2005/07/22(金) 19:16:57ID:???
>>396
そういった用途の有償・無償のプロダクトがある。
ソース配布前提ライセンスのライブラリ等を利用するときは留意せよ。
0401nobodyさん2005/07/22(金) 19:19:17ID:???
ありがとうございます。
それで、そういうのを使って、
コンパイル後のファイルを配布を受けたものは、
普通にサーバーの入ってるパソコンに
置くと、ネットに乗せられるんでしょうか?
お願いします。
0402nobodyさん2005/07/22(金) 19:31:40ID:???
>>401
書いてる日本語が変。

ネットに乗せられる
→(解釈)アップロードしてWebサーバのコンテンツ配下に置ける(ネットに乗せられる)か
→Yes. 単なるバイナリーファイルだから。
0403nobodyさん2005/07/22(金) 20:17:50ID:???
すみません、
IEなんかで見られるんですか?という意味です。
0404nobodyさん2005/07/22(金) 21:13:13ID:???
>>401
まずお前は日本語と一般教養の勉強をしたほうがいい。
コミュニケーションできないと開発も出来ない(たとえ一人で開発してるとしても)。
0405nobodyさん2005/07/22(金) 21:26:24ID:???
ははは、そんな安月給のお仕事につくつもりは無いですよw
0406nobodyさん2005/07/22(金) 21:39:15ID:???
エンコーダーは高いよ 金が・・・
0407nobodyさん2005/07/22(金) 21:56:40ID:???
>>403
「見る(見られる)」ってのも、これまた抽象的な表現だな。

可能。特にWebサーバでそのファイルに
アクセス出来ないようにしていなければだけど。
0408nobodyさん2005/07/22(金) 22:03:28ID:???
オイラのエスパー脳を発動してみたところ、
・配布した物の中身を見られたくない
・配布した物を実行する鯖(実行環境)に手を加える必要が無い
そんな便利なものがあるのだろうか?って質問をしたいんだろうね。
というか、そういう質問になるはずなのにパスコンとかIEとか訳ワカンネ
0409nobodyさん2005/07/22(金) 23:24:50ID:???
>>405
安心しろ。
お前の言語能力なら、コンビニのバイトでさえ採用されないから。
0410nobodyさん2005/07/22(金) 23:51:35ID:???
高給なお仕事にお就きになられる>>405に、我ら貧民が答える義務はあるまいて。
ほっておけ。
それにしても最近のここは惨いな。夏休みだからか。
0411nobodyさん2005/07/23(土) 00:08:59ID:???
ここはVIPじゃないんだからみんなそんなに全力で釣られなくたって…。
0412nobodyさん2005/07/23(土) 00:17:58ID:???
流れをぶった切って質問させてください。

ある変数がNULLかどうか、0かどうか、空かどうかを皆さんどう判定してますか?
いま、ある配列に特定のキーがあるかどうかを
$hoge = array(10,20,30);
$val = 10;
$key = array_search($val,$hoge);
このようなスクリプトで$valが$hogeに見つからなかった場合の処理をしようと
if ($key == NULL) print "ぬるぽ";
と記述したところ、この場合、$hoge[0]に10があるわけですが、
$keyに「0」が入ってしまい、$key == NULLが真となってしまいました。

仕方ないので(strlen($key)==0)としているのですが、他にもっと直接的な判別方法があるのでしょうか?
($key===NULL)だと$valが見つからない場合でも常に偽になってしまうようです。

よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています