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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/11/02 00:15:41ID:???
PHPに関するくだらない質問用すれです。
0189nobodyさん04/11/27 11:25:49ID:???
PHPの初歩を勉強しているものです。
本を読みながら勉強しているのですが、
以下のような、if文はどういう意味となるのでしょうか?

if ($fp){
   処理文・・・
   処理文・・・
}

$fp は、ファイルポインタなのですが、ファイルポインタを開いてる
時だけ、処理を行うって事で良いんでしょうか?
0190nobodyさん04/11/27 11:52:37ID:???
その通り。
if ($hoge) { }
は、Trueの時。
if (!$hoge) { }
は、Falseの時。
マニュアル読んだほうがいいかと思われ。
0191nobodyさん04/11/27 11:57:04ID:???
>>189
その$fpを作成している行で使用されている関数をマニュアルでひいてみ。
そして戻り値の型が何かを見れば分かると思うよ。
0192nobodyさん04/11/27 14:35:41ID:???
>>190-191
ありがとう!
0193nobodyさん04/11/27 17:35:24ID:???
resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]])
                                              ↑

リソース型ってようするにIntじゃないの?
0194nobodyさん04/11/27 22:43:37ID:???
>>193
リソース型はリソース型だと思う。
0195nobodyさん04/11/27 22:58:20ID:???
>>193
http://www.php.net/manual/ja/language.types.resource.php
http://www.php.net/manual/ja/function.is-resource.php
0196nobodyさん04/11/28 00:14:49ID:EgpgTC8f
質問なのですが、自分が契約しているレンサバの
Unixコマンドのパスが分かれば、PHPスクリプトから
Unixコマンドの実行も可能でしょうか?
nslookupを呼び出したプログラムを作りたいです。
0197nobodyさん04/11/28 00:23:26ID:???
>>196
やってみればすぐ分かるのに。
実行制限される要因はいくつもあるので試してみないと分かりませんよ。
checkdnsrr関数なんてのもあるけど、これも使えないようになってる場合もありますし。
0198nobodyさん04/11/28 00:38:30ID:???
>>197
制限されていなければ、使える可能性があるって事ですね。
気軽に試すスキルがあれば良いんですが・・・・。
レスサンクスです。
0199nobodyさん04/11/28 03:28:20ID:C3uMPLGO
test.cgiに
#! /usr/bin/perl
print "test";
exit;

hoge.shtmlに
<!--#exec cmd="./test.cgi" -->
と書くと期待通りにtestと表示されます。

<!--#exec cmd="./test.cgi" -->
と書くと何も表示されません。

<!--#exec cmd="./test.cgi">
や
<!--#exec cgi="./test.cgi">
と書くと[an error occurred while processing this directive]と表示されます。

この違いはどうして起こるのでしょうか?
#exec cgiを使いたいのですが、何が原因か解らず困っています。
何かアドバイスをお願いします。
0200nobodyさん04/11/28 05:14:04ID:???
>>199
スレタイ嫁
0201nobodyさん04/11/28 05:25:35ID:???
>>193
そうだよ
0202nobodyさん04/11/28 16:23:45ID:???
>>199
それSSI
0203nobodyさん04/11/28 19:13:54ID:???
>>202
最初にSSIでPHPのコードを読ませて、それをPHPで処理して
処理したらSSIのコードが内包されたたので、もう一度SSIとして処理して…
なんて話かと汲んでみたり。

できないことでもないが、そんな設定してる(Apache2)サーバもまずないだろうし、
書き足りない質問の意味を勝ってに汲むのもアレだと思い放置するつもりが
チラシの裏に書くつもりで2chに書いてみたり。


0204nobodyさん04/11/29 03:24:35ID:UN5rJ/7z
チラシと違ってログが残るがな。
0205nobodyさん04/11/29 04:09:37ID:???
>>203
そんな処理内容は>>199から一切読めんだろ
0206nobodyさん04/12/04 01:27:51ID:0gTcgitu
本当にくだらないのですが教えてください。
PerlやCで作ったCGIと言いますが、
PHPで作ったCGIとは言わないのでしょうか?
PHPで作ったPHPなんでしょうか?
0207nobodyさん04/12/04 01:46:29ID:???
PHPでつくったCGIという場合もあるしいわない場合もあるかと
自分の場合は
apacheモジュールで動作するPHP = PHPのスクリプト
apacheがプロセスを立ち上げて処理をするPHP = CGI
だと思ってますが。。。

#但し、正しいかどうかは知らない
0208nobodyさん04/12/04 02:00:22ID:???
>>206
CGI
ttp://www.atmarkit.co.jp/icd/root/41/5787041.html
PHP
ttp://www.atmarkit.co.jp/aig/03linux/php.html

>PHPはCGIインタプリタとしても使えるし、Webサーバのモジュールとして組み込むこともできる。
>CGIインタプリタとしてPHPを使用した場合は、他スクリプトを使ったCGIと同じく、
>スクリプト処理時にPHPのインスタンスを生成するためパフォーマンスは低下する。
>Webサーバのモジュールとして組み込むと、スクリプトはWebサーバソフトウェアのプロセスと同じアドレス空間で実行されるため、
>高速でWebサーバへの負荷も小さい。

端的に言うと>>207でいいと思う
0209nobodyさん04/12/04 03:24:23ID:uQGoi0dJ
Flash Communication Server を使っていろいろ作りたいんだけど
いい解説ページ知らない?
0210nobodyさん04/12/04 07:39:04ID:???
> PerlやCで作ったCGIと

慣用としてCGIをスクリプトの代名詞のように使うのはOKだけど、
CGIはインターフェイス規格だから、ちゃんとした場面では「PerlでCGIを作る」みたいな
破綻したコトバは使っちゃ駄目だよ

そしてブルジョアはセミナー逝けよ
0211nobodyさん04/12/04 21:32:03ID:???
>>210
じゃぁ何ていうのがいいのか言ってみろよ
0212nobodyさん04/12/04 21:33:44ID:2TD2cEy7
PHPのみのファイルをauさんとこの携帯電話でアクセスしたら、
表示されないんだけどそういう仕様ってことで桶?
0213nobodyさん04/12/04 21:37:34ID:???
全然ダメだね
0214nobodyさん04/12/04 21:49:06ID:???
>>212
( ・∀・)ノミ∩ くだらねぇーくだらねぇーくだらねぇーくだらねぇーくだらねぇー
0215nobodyさん04/12/04 22:14:12ID:???
>>212
auはプレーンテキストをtext/htmlで送るとエラーかえすよ。
021621204/12/04 22:24:34ID:2TD2cEy7
>215
リアルにありがとうございました。
0217nobodyさん04/12/04 22:48:17ID:???
>>211
ん?一つ賢くなっちゃったか?
0218nobodyさん04/12/04 22:55:54ID:???
>>217
ほらな、他に言いようねぇだろ?わざわざつまんねーことで揚げ足とってんじゃねーよガキ
0219nobodyさん04/12/04 22:56:55ID:???
まだCGIをスクリプトのことだと思ってる化石が生き残っていたとはw
さすがにちゃねらーでは淘汰されたと思ってた。
0220nobodyさん04/12/04 23:01:48ID:???
昔はそんなんでもフレームになってたよな。CGIスレでコーディングはどうだとか
CGIはインターフェイス仕様で〜みたいな定型レスも、えらい久しぶりに見た希ガス
0221nobodyさん04/12/04 23:06:01ID:???
「PerlでCGIを作る」と言っただけでなんで
「CGIをスクリプトのことだと思ってる」に繋がんの?

お前が言う普通の人は「PerlでCGIを作る」のことをなんて言うのかな?
0222nobodyさん04/12/04 23:09:28ID:???
> 他に言いようねぇ

・・・すごい、語彙力です・・・

>>220
突っ込む方も飽きたんじゃネーノ。Perl作るとか言われても好きにして下さいって感じだわ
0223nobodyさん04/12/04 23:12:31ID:???
>>222
Perl作るとかCGI作るはどう読んでも完全アウトだろ。
インタプリタ作ったりRFC書いてるならともかく。
0224nobodyさん04/12/04 23:18:41ID:???
スレ違いだけど、PerlやスクリプトやWebアプリのことをCGIって呼ぶ奴そんなに居るか?
上に慣用で使うって言ってる奴いるけど、超ローカルな話じゃないだろうな。
0225nobodyさん04/12/04 23:29:03ID:???
PerlもスクリプトもWebアプリもCGIと同義ではありません
0226nobodyさん04/12/04 23:35:02ID:???
>>224
確かにマにはおらんかも。しかし営業に出たら、ソースコードだろうがASPだろうが
UIだろうがApp鯖だろうが、ありとあらゆるシステムをまとめてC・G・I!C・G・I !と
呼んでくれる素敵なIT担当の方はいらっしゃいましたよ。

>>209
PHPとのつながりも含めてわかんねーです。
MacromediaパッケージってColdFusionスレくらいしかないんですよね。。
0227nobodyさん04/12/04 23:41:30ID:???
>>226
肩書きだけだろw
CGIを探していますとかCGIを設置するとかCGIが動きませんとか
マが言ってたら死ぬほど引くわ。ザリガニの後ずさりくらい引くわ
0228nobodyさん04/12/04 23:42:40ID:???
ああC・G・I!はクライアントの話か
よく読んでなかったスマソ
0229nobodyさん04/12/04 23:45:58ID:???

                 ↑ここまでJR
━―━―━ ━―━―━  ↓PHPの話題来い ━―━―━ ━―━―━
0230nobodyさん04/12/04 23:55:27ID:???
↑路線内に入るなデブ

>>224
うるせーな。昔はザラにいたんだよ。fjとかで外人に低脳ジャップの言語は非合理ですね(プとか言われたんだよ

>>226
変態ColdFuzonスレが一本あれば十分すぎる
0231nobodyさん04/12/04 23:59:14ID:???
fj.*に2コン乱入してくるガイジンは低脳な法則
0232nobodyさん04/12/05 00:13:01ID:???
みんなPrefork?
スレッドセーフオプション付きでコンパイルしてもApacheさんがいけずを言うので弱っています、、、。
0233nobodyさん04/12/05 00:21:24ID:???
>>232
apxs使わないと駄目なんじゃなかったけ。漏れは安全運転preforkなんでよく分からね。
0234nobodyさん04/12/05 00:24:24ID:???
何をまともな質問してんだよ。
そういうネタじゃないものは本家のMLを漁れ。
0235nobodyさん04/12/05 00:29:22ID:???
prefork・・・先・・・・・・割れ・・・
0236nobodyさん04/12/05 00:31:11ID:???
ラインクラフト一本かぶりすぎ
0237nobodyさん04/12/05 14:25:41ID:???
変数に文字列代入するときにperlのqq//に変わるような表現ってphpにあります?
ダブルクォートをいちいち\でメタ指定するの面倒で
0238nobodyさん04/12/05 14:31:49ID:???
$hoge='""""""""""""';
どうぞ
0239nobodyさん04/12/05 14:41:50ID:???
>>238
それだと

$hoge = '"$hogege"';
print $hoge

で

"$hogege"

になりますよねぇ? 「.」でちまちま繋げろということなのか・・・
0240nobodyさん04/12/05 14:52:10ID:???
> ダブルクォートをいちいち\でメタ指定するの面倒で
これが理由じゃねーの?
> perlの○○に変わるような○○ってphpにあります?
これいい加減飽きた。Perl使ってろって。

$hoge = <<<EOF
"$hogege"
EOF;

どうぞ
0241nobodyさん04/12/05 14:54:26ID:???
>>240
あーすんません言葉足らずで
やっぱperl使いますハイ
0242nobodyさん04/12/05 15:11:23ID:???
>>241
成長しねえな、お前。
0243nobodyさん04/12/05 15:38:25ID:???
>>242
貴様に言われる筋合いはない
失せろ
0244nobodyさん04/12/05 15:40:42ID:???
>>237
うはwwwwwww死ぬほどがいしゅつwwwwwwww
0245nobodyさん04/12/05 18:10:00ID:???
失せろってリアリで言ったら プ で終わりだよね
0246nobodyさん04/12/05 18:43:55ID:???
ていうか言わないだろ。恥ずかしい。
0247nobodyさん04/12/05 19:43:03ID:uod8F4//
どんとこい
0248nobodyさん04/12/05 19:47:55ID:HJws9fwU
「〜」って文字がIEでみると文字化けしちゃいます。
モジラだとちゃんと表示されるんだけど・・・。
なんでですかね?

文字コードはEUCに設定して、
winで開発してサーバはLinuxでやっとります。
PHPは4でやっとります。

どうか知恵をおかしください。
0249nobodyさん04/12/05 20:01:59ID:???
で、該当文字化け部分が「EUC」において「〜」を表すバイト列(s)と一致することを
確認済みなわけだよね?
025024804/12/05 20:08:41ID:HJws9fwU
>>249
ん?といいますと?
もうしわけないです。
知恵足らずでおっしゃる意味が
理解できませんでした。
0251nobodyさん04/12/06 18:12:09ID:lq9+7sVw
PHPのアクセスカウンターなんですが、自作を含めて配布されているどこのカウンターを使ってもファイルが壊れてしまいます。
なので今はCGIを使ってるんですが…

使いたいのは今日昨日総合のカウントが表示できるカウンターで、今現在排他制御は

$new = implode("|", array($now_time,$yesterday,$today,$allcount));
$fp = @fopen($log, "w") or die("異常終了");
@flock($fp, LOCK_EX) or die("異常終了");
fputs($fp, $new);
flock($fp,LOCK_UN);
fclose($fp);

こんな感じにしています。
モバイルサイト運営、アクセス数は10万/日程度です。

どうして、排他制御できていないのかわかりません。
PHPスクリプトを配布しているとこのスクリプトも参考にしてみたんですが、やっぱり駄目です。

誰か教えて下さい。
0252nobodyさん04/12/06 18:28:23ID:???
排他制御に失敗してるわけじゃないと思われ。
コード的にはstream_set_write_bufferやignore_user_abortを加えたり、
Tempファイルに書いてリネームするよう変更するとか手はあるけど、多分解決しない。
サポートに聞くのが早そう。
0253nobodyさん04/12/06 18:30:49ID:???
>>248
ブラウザで確認せず、フックしたHTTPレスポンスそのものを見て原因を考えれ。
0254nobodyさん04/12/06 21:46:10ID:u8RjuTKE
セッションの保存先をMySQLにしたライブラリが
どこかにあれば教えて下さい。
0255nobodyさん04/12/06 22:04:52ID:???
>254
公開ライブラリにするほどの物なのかと小一時間。。。
0256nobodyさん04/12/06 23:31:34ID:???
>>254
echo "hello world!!";
をライブラリにしないのと同じですよ・・
0257nobodyさん04/12/07 00:21:52ID:???
>>256
helloってほとんどの言語にライブラリがあるよ。
0258nobodyさん04/12/07 05:55:25ID:???
自分でリンク集作って、プチアンテナ(更新チェック)入れたい
そこで、リンクの自動更新チェックはどういう考え方?

ヘッダーのLast-Modifiedチェック?Content-Lengthチェック?
それともページ読みこんでファイルの大きさチェック?
0259nobodyさん04/12/07 08:01:49ID:???
>>258
どこまで正確さを要求するかによる。そしてそれを決めるのはあなた。
0260nobodyさん04/12/07 11:50:33ID:/XwxshGE
フィールドに在庫数が入力されていて、例えば注文が入るとその注文数だけ在庫数から
引いてフィールドの値を更新したいとときって、一度そのレコードの在庫数を読み出してから
注文数を引いて、書き込まないとならないのですか?

update DB set `zaiko`= 'なんたら - $tyumon' where kataban = '$kataban'

このなんたらをどう書いていいのかわからないです。
0261nobodyさん04/12/07 12:10:17ID:???
update DB set `zaiko`= '`zaiko` - $tyumon' where kataban = '$kataban'
ただし、在庫がマイナスになる場合もあるかと
026226004/12/07 13:19:09ID:/XwxshGE
>>261
だめみたいです。在庫が0になってしまいました
026326104/12/07 14:26:21ID:???
>>262
もともとzaikoカラムのデータはいくつで、
$tyumonにいくつの値を入れたら0になったの?
026426004/12/07 14:51:14ID:/XwxshGE
$tyumonの値も色々試しました。
zaikoの値は別のphpから自由に変えられるんでいろいろためしましたが
計算してるのではなくて単に0で上書きされてるっぽい感じですね
026526104/12/07 14:57:24ID:???
て、ごめん。
update DB set `zaiko`= `zaiko` - $tyumon where kataban = '$kataban'
だ。
> update DB set `zaiko`= '`zaiko` - $tyumon' where kataban = '$kataban'
の'`zaiko` - $tyumon'のシングルクオートは無しで。
026625804/12/07 15:42:27ID:???
わかりました。

あと色々なサイトのヘッダー見てるんだけど、サイトによって
受け取るヘッダーが違うから判定しにくいよね?

ヘッダーの情報は良く分からないんだけど、鯖からの一方的な情報?
こちらが要求したらそれを返してくれるの?
仕様で出来るのなら、最終更新情報を返して欲しい・・・
0267nobodyさん04/12/07 15:55:18ID:zbvL7j+y
クッキーデータを取得してその内容を表示させたいのですが
IEではきちんと表示できるのにネスケでは表示されません。
アレイリストなんですがprint_rbナやっても空白bナ何も表示されbワせん。
ャNッキーマネーャWャでは確認でbォるのですがどb、してなんでしb蛯、か?
0268nobodyさん04/12/07 16:14:04ID:???
>>266
分からないならrfc2616を読めばいい

>>267
コード晒せば誰か答えるかもよ
026926004/12/07 16:27:34ID:/XwxshGE
できますた。>>265
ありがとうございました
0270nobodyさん04/12/07 16:32:48ID:???
>>267
httpリクエスト・レスポンスヘッダの中身を見るのが一番手っ取り早い。
Proxomitron
ttp://www.proxomitron.info/
iehttpheaders
ttp://www.blunck.info/iehttpheaders.html
Fiddler
ttp://www.fiddlertool.com/fiddler/
ProxyTrace
ttp://www.pocketsoap.com/tcptrace/pt.aspx
0271nobodyさん04/12/07 16:33:57ID:BgW8Zl4i
APC 2.0.3 を PHP 4.3.9 で使ってみた。
Apache は 2.0.52 OS は Debian sarge
ログを見るとところどころ
apc.so doesn't appear to be a valid Zend extension
なんてのが出てる。それに全然早くなったような気がしない。
同じ組合せでちゃんと使えてる人いる?
0272nobodyさん04/12/07 17:19:34ID:???
>>271
extension=apc.so
0273nobodyさん04/12/07 17:56:14ID:7aeZtChB
rand関数はアルファベットでは使えないんでしょうか?
0~9の数字以外にa~zのアルファベットも使いたいんですが
どなたかご教授お願いします
0274nobodyさん04/12/07 18:02:03ID:???
当然使えない
アルファベットの混ぜかたは用途次第で色々
自分で発明
0275nobodyさん04/12/07 18:03:19ID:???
chr(130) . chr(rand(159, 241))
0276nobodyさん04/12/07 22:41:10ID:???
アルファベットも数字ということを忘れてないだろうか?
数字がランダムに出せるのなら、アルファベットもランダムに出せる
意味わかるよね?
0277nobodyさん04/12/07 22:47:15ID:???
お前のキモさはよく分かった
0278こうたろう04/12/08 02:02:36ID:+LYJFTt5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
</HEAD>
<BODY>
<P>フォームとPHPの連携</P>
<FORM method="POST" action="smp4-01.php">
キーワード <INPUT size="20" type="text" name="keyword">
<BR>
<BR>
<INPUT type="submit" name="exec" value="実行">
<INPUT type="submit" name="cancel" value="キャンセル">
</FORM>
</BODY>
</HTML>
にアクセスしてPHPと文字を入力してsmp4-01.php↓
<?php
print $keyword . "<BR>";
print $exec . "<BR>";
?>
に飛ぶんですけど
Notice: Undefined variable: keyword in C:\Program Files\Apache Group\Apache2\htdocs\smp4-01.php on line 3
Notice: Undefined variable: exec in C:\Program Files\Apache Group\Apache2\htdocs\smp4-01.php on line 4
どうしても↑になるのは何がいけないんでしょうか?
宜しくお願いします。
0279nobodyさん04/12/08 02:08:51ID:???
<?php
print $keyword . "<BR>";
print $exec . "<BR>";
?>

POST使うなら
print $_POST["keyword"];
print $_POST["exec"];


GETなら print $_GET["keyword"];
PHPの質問というか(ry
0280こうたろう04/12/08 02:30:11ID:+LYJFTt5
nobodyさんできました。本に書いてある通りやったんですがすみませんありがとうございました。
0281nobodyさん04/12/08 11:32:44ID:???
SSLを使って通信する場合でも、
httpsでアクセスするだけで、PHP内で特別処理を記述しないといけないようなことは無いですか?
0282nobodyさん04/12/08 20:02:59ID:???
>>281
そのスクリプトがどっかとSSLで通信するなら必要だけどな。
クライアント(Webブラウザ)とhttpd(Webサーバ)間がSSLで通信する話なら、
PHPが生成するコンテンツは関わりがないので、PHPの処理は関係ない。
0283nobodyさん04/12/09 11:24:40ID:Xf6MDZ8B
PHPでのHTTP認証が出来ません。PHPのソース自体に問題はないと思います
認証ダイアログが表示されるんですが設定した正しいID,passを入力してもログインできません
php.iniかhttpd.confの設定に問題があるのでしょうか?
環境はwindows2000,Apache2.0,PHP4.3.2です。
ご教授ください、お願い致します。
0284nobodyさん04/12/09 13:53:55ID:???
>283
PHPのソース自体に問題はない、と言い切る根拠は?
0285nobodyさん04/12/09 14:15:25ID:???
俺が書いたソースに問題あるわけ無いだろ
028628304/12/09 14:18:17ID:Xf6MDZ8B
>>284
レスありがとうございます。
詳しい情報を書かずに申し訳ないです。

>PHPのソース自体に問題はない、と言い切る根拠は?
レンタルサーバーでテストしたところ問題なく動作しました。
レンタルサーバーの環境もApache,PHPの組み合わせでそのバージョンも
私が使用しているものとほぼ変わらないものです。
0287nobodyさん04/12/09 14:21:21ID:???
まずはマニュアルをよく読め

http://www.php.net/manual/ja/features.http-auth.php
028828304/12/09 14:50:48ID:Xf6MDZ8B
>>287
何度か読みました。
ソース先のプログラムも動作しない状態です。

ちなみにphp.iniファイルにある「register_globals」はOn,Off両方試しました。
■ このスレッドは過去ログ倉庫に格納されています