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

【PHP】質問スレッドpart20【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/08/06 15:44ID:paJ4kjjQ
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 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-4


抜けているものがあったら補足願います
0243軟式PHP04/08/12 11:36ID:???
>>241
DB使ってるならトランザクションとか気をつければいいんじゃないかな。
てか、漠然としすぎてて答えようが無いっす。

>>242
http://php.s3.to/man/ref.mysql.html
マニュアル見る事に慣れよう。モロ載ってるから。
0244nobodyさん04/08/12 11:41ID:???
軟式PHPって もしかして あのひと?
024524204/08/12 11:51ID:I9M6Mw7p
>>243
うーんわからん
mysql_field_seekのことか?
0246nobodyさん04/08/12 11:54ID:a319dClm
リンクの参照元って
$_ENV['HTTP_REFERER']
で宜しいのでしたっけか?
0247nobodyさん04/08/12 11:56ID:???
$yoyakuの中身が空っぽなのに
if ($yoyaku != ""){
$color = '#cccccc';
}else{
$color = '#ffffff';
}
で、$colorが#ccccccになります。なぜでしょうか
024824704/08/12 12:13ID:???
よく見ると半角スペースが入っています。
0249nobodyさん04/08/12 12:18ID:???
>>248
だったら半角スペースを入らないようにすればいいのでは??
0250nobodyさん04/08/12 12:26ID:aDJWVDD6
trimしたら?
025124704/08/12 12:31ID:???
>>249
といいますと?

>>250
初心者なんで使い方がわかりません・・・
もしよければ教えていただけると有難いです。
0252nobodyさん04/08/12 12:48ID:???
初心者なので……とか言ってないで頼むからマニュアルを検索してくれよ
0253nobodyさん04/08/12 12:52ID:???
初心者なのでではなく、調べる気がない怠惰で救いようがない人間の間違いだろう。
検索すれば一瞬で分かることすらやろうとしない。
0254nobodyさん04/08/12 12:55ID:???
>といいますと?
って言い方がマジ腹立つわw
0255軟式PHP04/08/12 12:56ID:???
>>初心者なのでではなく、調べる気がない怠惰で救いようがない人間の間違いだろう。
これ良いな。俺も使わせてもらおう。的射すぎw
0256軟式PHP04/08/12 12:57ID:???
【PHP】質問スレッドpart21【といいますと?】
次スレはこれにケテーイ
0257nobodyさん04/08/12 13:19ID:???
if ( if($syurui2!=""){$syurui==$syurui2}){
みたいにifの中にif入れられないのかな〜
検索システム勉強中なんだが・・・
0258nobodyさん04/08/12 13:21ID:???
>>257
何がしたいの?
025924204/08/12 13:27ID:???
なんとか解決
0260nobodyさん04/08/12 13:28ID:???
if(if2($syurui2!=""){}else{}){$syurui==$syurui2}
0261nobodyさん04/08/12 13:28ID:???
>257
したいことは
if( ($syurui2!="") && ($syurui==$syurui2) )
なんじゃないかな、と予想してみる
0262nobodyさん04/08/12 13:36ID:???
>>260
if2とか初めて聞いたよママン

>>261
検索の時、検索内容が空白ならその項目を除外して検索したい。
0263nobodyさん04/08/12 13:38ID:???
変数がどうゆう内容なのかわかんないし意味不明
0264nobodyさん04/08/12 13:41ID:???
$joukenA $joukenB $joukenC があるとする。
list (jA,jB,jC)(ry
       を読み込む
$joukenAとjAを比較して同じ、joukenBとjBを比較して同じ、joukenCとjCを比較して同じだったらTRUE
&joukenAが空白ならjoukenA以外を比較して同じならTRUEとやりたいんだ
026526404/08/12 13:42ID:???
すまん、&joukenA→$joukenAな
0266nobodyさん04/08/12 14:02ID:aDJWVDD6
>>256
ワラタ
0267nobodyさん04/08/12 14:03ID:???
(($joukenA == '') || ($joukenA == $jA)) && ....
0268nobodyさん04/08/12 14:10ID:???
>>264

list($JA,$JB,$JC);
if($JA != $jyoukenA){continue;}
if($JB != $jyoukenB){continue;}
if($JC != $jyoukenC){continue;}
else{TRUE;}
こんな感じかなぁ?
0269nobodyさん04/08/12 14:17ID:???
>>268
continueってなんや?
0270nobodyさん04/08/12 15:14ID:TRKJBK11
PHP上のフォームからサーバのcronを編集するには、どうすれば良いでしょうか?
0271nobodyさん04/08/12 15:26ID:???
適切な権限を設定するか、root権限でsビットを設定したプログラムを使うか、
外部プログラムとしてsudo等を使うか、
特定の場所に置いたファイルをcronで定期的に確認させて変更するか、
方法はいくらでもあるが本当に一つも思いつかなかったのだろうか?
0272nobodyさん04/08/12 15:57ID:???
PHPを使ってサーバ上にupしたファイルを任意の大きさに分割することって出来ますでしょうか?
何卒宜しくお願いします。
0273nobodyさん04/08/12 16:06ID:???
>>272
できますよ。がんばってください。
0274nobodyさん04/08/12 16:08ID:???
>>273
やり方も教えてくれたっていいでしょう
0275軟式PHP04/08/12 16:10ID:???
>>272
昔、分割ファイル+結合するexeを吐き出すプログラム作った時は
ファイルの読み込み位置をずらしながら一定の量を取得しつつ分割していったよ。
一気に読み込んで分割すると何かOSの挙動がメモリ不足になったり変になった。
PHPで作る場合もそんな感じで分割読み込みしていったほうがいいと思う。
027627204/08/12 16:13ID:???
>273さん
やっぱり出来ますよね。
freadあたりを使えばいいんでせうかね。
0277nobodyさん04/08/12 17:33ID:???
>>276
たぶんfcutじゃないかな
027827004/08/12 17:57ID:TRKJBK11
>>271
レスありがとうございます。
とりあえず、cron.confというファイルを作って
<?php
system("/usr/bin/crontab cron.conf");
?>
としてみました。エラーは出てこず、通常終了(0)でした。
しかし、crontab -l としても結果が反映されていませんでした。
コンソールから crontab cron.conf とすると反映されます。
system()関数自体は使えていますし、パスもあっていると思います。
なにがいけないのかサッパリorz

cron.confの中身は
10 * * * * w
です。
0279nobodyさん04/08/12 18:00ID:???
crontabを実行しているユーザは誰だ
028027004/08/12 18:07ID:TRKJBK11
>>279
FTPのログインID(SSH)と同じユーザです。
0281nobodyさん04/08/12 18:21ID:TRKJBK11
コンソールから
$php cron.php
とやると反映されていました…
0282nobodyさん04/08/12 18:31ID:???
281は本当に理解しているのだろうか・・・
0283nobodyさん04/08/12 19:02ID:???
実行ユーザーがApacheになってるんじゃないの?
0284nobodyさん04/08/12 20:27ID:???
PHPで掲示板作ってますが、串制限ってどうやってやったらいいですか?
0285nobodyさん04/08/12 21:02ID:???
ここの皆さんは質問に親切に答えてくれるのでとってもいいですね
僕もがんばってPHP勉強しようと思います。
分からないところがあればまた聞くかもしれませんけど、その前に
なるべく自分で調べますので、その時はよろしくお願いします。
ではでは・・・。
0286nobodyさん04/08/12 21:10ID:???
>>284
ホストを逆引きしてみるとか・・・俺も詳しくは分からんが
0287nobodyさん04/08/12 21:52ID:oR5u/X7X
クラスを作るときに
$AB = new ABC;
と
$AB =& new ABC;
というのがあるんですけど違いはなんですか?
0288nobodyさん04/08/12 22:03ID:???
>>284
プロキシを使ってる場合は、プロキシサーバーから
「俺はプロキシだよ」ってな情報を送ってくるから
それを取得する。
ただ、そういう情報を送ってこないサーバーもあるから、
そういう場合はIP単位やホスト単位で個別に弾くしかない(いわゆる匿名串)

俺が実際使ってるコードを載せておく。場合によってはプロキシじゃない
ものを弾いちゃうこともあるので、あんまりきつく制限しない方がいいよ。

詳しくはGoogleとかで検索してね。結構出てくるよ。
0289nobodyさん04/08/12 22:04ID:???
//-------------------------------------
// プロキシからアクセスしているか
//-------------------------------------
function is_proxy_access(){
//サーバー変数のキー
$server_keys = "";
foreach ($_SERVER as $key => $value)
$server_keys .= $key.",";

//プロキシと思われる変数
$proxy_keys = "HTTP_CACHE_INFO|"
. "HTTP_CLIENT_IP|"
. "HTTP_FORWARDED|"
. "HTTP_PROXY_CONNECTION|"
. "HTTP_SP_HOST|"
//. "HTTP_TE|"
. "HTTP_VIA|"
. "HTTP_X_FORWARDED_FOR|"
. "HTTP_X_LOCKING|"
. "HTTP_XROXY_CONNECTION|"
. "HTTP_XONNECTION";
0290nobodyさん04/08/12 22:04ID:???
//判定
if (preg_match("/($proxy_keys)/i", $server_keys)) return TRUE;

//UserAgentでの判定
if (preg_match("/(via|proxy|anonym)/i", @$_SERVER["HTTP_USER_AGENT"])) return TRUE;

//リモートホストでの判定
if (preg_match("/(anonym|cache|delegate|^dns|keeper|^ns.|proxy|^www)/i", @$_SERVER["REMOTE_HOST"])) return TRUE;

//規制しない
return FALSE;
}

改行が大杉とか言うエラーが出るから分割した。
もうね、アホか馬鹿かと
0291nobodyさん04/08/12 23:42ID:K+6vy8Mq
PHPに連続してファイルにアクセスするプログラムを組んで、ファイルがなくなった時点で処理を終了し、
続きのHTMLを表示するプログラムを作りたいのですが、終了させる方法がわかりません。

〜〜
<?php
while(1){

$fp = fopen("$logfile","r");
if($fp == false)
break;

}
?>
〜〜
だとWarningメッセージが表示されます。Warningメッセージを表示させないで終了させる方法ってありあすか?
029229104/08/12 23:44ID:K+6vy8Mq
すいません@$fpでできました。
0293nobodyさん04/08/12 23:48ID:???
Perl?
0294nobodyさん04/08/13 09:26ID:???
>287
ttp://www.pat.hi-ho.ne.jp/dimension/inst/
0295nobodyさん04/08/13 10:18ID:???
どうでも良いことかもしれませんが、PHPカンファレンスの詳細ってどこかに書いてあるページ
知りませんか?
PHPユーザ会のページにも見当たらないし・・・。どこで登録とかしたらいいんだろう。。
本当に開催するんですよね?
0296nobodyさん04/08/13 11:06ID:???
>>217
おおお。なんかうまくいってますね。
preg_match_all のところの正規表現が理解できないので、
調べてから使います。

ありがとうございます。
0297nobodyさん04/08/13 11:46ID:???
>>289
$server_keysには何か入れるのですか?
0298nobodyさん04/08/13 11:47ID:???
初めて書き込み致します。
大変初歩的な事とは思いますが、検索してもなかなか見つからなかったので
こちらで質問させて頂きます。
場違いな質問かもしれませんが、ご教授して頂けると有難いです。

$_SERVER['HTTP_USER_AGENT']
を使ってアクセスしてきたOSやブラウザを調べ、
それに対応するcssをlinkさせるスクリプトを書いているのですが・・
$_SERVER['HTTP_USER_AGENT']
の返り値で、macのOS9がどのように表示されているのかが分からないのです。

OSXのIEとOS9のIEでは表示が違ってきてしまうようなので、OS9もちゃんと識別をしたいのです。

分かりにくい質問かもしれませんが、宜しくお願い致しますm(__)m
0299nobodyさん04/08/13 12:04ID:???
>>298
UA名の一覧。かなりデカいのでページ内をmacで検索するよろし。
http://www.sal.tohoku.ac.jp/~gothit/ua.html
「HTTP_USER_AGENT mac win xp」でググった。
0300nobodyさん04/08/13 12:13ID:???
>>299
本当に助かりました!
有難うございますm(__)m

アクセス解析 os9
HTTP_USER_AGENT os9
とかでググってました(´・ω・`)

ブックマーク入れておきますです。

本当に感謝ですm(__)m
0301nobodyさん04/08/13 14:03ID:???
PHP 5.0.1 Released!
http://www.php.net/
0302nobodyさん04/08/13 14:19ID:???
この間4.3.8にしたから様子見
0303nobodyさん04/08/13 14:38ID:???
4.3.9 も出るね。
0304nobodyさん04/08/13 16:24ID:MYpDNZIf
$subject = 'あいうえお':
$message = 'かきくけこ';
$to = 'テストさん <[email protected]>';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=EUC-JP\r\n";
$headers .= "From: "送信者 <[email protected]>\r\n";
mail($to,$subject,$message,$headers);

これをEUC-JPで作って、送信したところ、Windows Outlookではちゃんと日本語が反映されていました。
しかしBeckyで受信したところ、タイトルとFromの部分が文字化けを起こしていました。
そこで、Shift_jisで作ったところ、特定の受信メールアドレスでは文字化けし、それ以外はちゃんと受信できました。
いずれもタイトルとFromの日本語部分のみです。
なにが原因でしょうか?
0305nobodyさん04/08/13 16:31ID:???
文字エンコード
0306nobodyさん04/08/13 16:43ID:???
メールはiso-2022-jpで送るのが基本
mb_encode_mimeheaderをつかう

iモードはShift_JISで送っても平気?
content-transfer-encoding: 8bit
でいけるのかな
0307nobodyさん04/08/13 17:10ID:???
>>295
誰かここ読んでたのか知らんが、案内が掲載された。
http://www.php.gr.jp/seminar/20040821/
0308nobodyさん04/08/13 17:16ID:???
変数にいくつか入れる場合って
$A[]=("1","2","3");
であってるよな?
0309nobodyさん04/08/13 17:20ID:???
array使えよ
0310nobodyさん04/08/13 17:23ID:???
>>309
THX、arrayワスレテタよ
これって全角でもいけるのか?
$テスト = "9999"; とか
0311nobodyさん04/08/13 17:53ID:???
>310
ってかマニュアル読め
0312nobodyさん04/08/13 17:55ID:???
試せば
0313nobodyさん04/08/13 17:56ID:???
今まで何をやってきた人だったら
変数名に全角使えるとか発想できるんだろう
0314nobodyさん04/08/13 17:59ID:???
漢字ベーシックって変数名に漢字が使えなかったっけ?
骨董品だから知らないか・・・
0315nobodyさん04/08/13 18:13ID:???
$Sに90を代入
$Jに$Sを代入して

print "$($J) <BR>";

とやってみたが、出力されるのは「$S」です。
なぜでしょうか?
0316nobodyさん04/08/13 18:13ID:???
>>313
Javaとか全角使えんじゃん
0317nobodyさん04/08/13 18:19ID:???
>>313
ええとね、ぱそこんが全角にみせてるだけなんだよ。
0318nobodyさん04/08/13 18:27ID:???
>>315
どうやって代入してるのか書いてみそ
0319nobodyさん04/08/13 18:36ID:???
VBも変数に日本語使えるな
0320nobodyさん04/08/13 18:38ID:???
$S = "90";
$J = "$S";

print $($J);
0321nobodyさん04/08/13 18:39ID:???
>>315
代入の仕方
>>311
0322nobodyさん04/08/13 18:42ID:???
$S = "90";
$J = "$S";
数字と変数を""で囲む意図は?
>>311
0323nobodyさん04/08/13 18:46ID:???
$S = array("a","i","u","e","o");

$J = "S";

print &$($J)[0]." <BR>";

実際はこうやってます↑
0324nobodyさん04/08/13 18:54ID:???
つまり$とSを繋げたいって意味か?
単に$S[0]を出力したいだけって意味か?
0325nobodyさん04/08/13 18:57ID:???
単に$S[0]を出力したい>324
0326nobodyさん04/08/13 18:59ID:???
$J = $S[0]."<br>";
print ("$j");

とか
echo $S[0]."<br>";

でいいかな

0327nobodyさん04/08/13 19:52ID:???
echo ${$J."[0]"}
0328nobodyさん04/08/13 20:03ID:???
すみません。教えて頂きたい事が。
php4.3.8でImageGifは使えるのでしょうか?

よろしくです。
0329nobodyさん04/08/13 20:15ID:???
$J053 = array("0","0","0","20","25","30","35","40","45","50","60");
$J054 = array("0","0","0","0","15","25","30","35","40","45","50");
$J055 = array("0","0","0","0","0","10","15","20","25","35","45");
$J056 = array("0","0","0","0","0","0","10","15","20","30","40");
$J057 = array("0","0","0","0","0","0","0","10","15","25","35");


$S6 = array("$J050","$J051","$J052","$J053","$J054","$J055","$J056","$J057","$J058","$J059","$J060");

$on = $S6
print $on[5]."[3]";

上記のようにやったのですが
出力結果が「0」ではなく「Array[3]」となるんですが
なぜでしょうか?
0330nobodyさん04/08/13 20:22ID:???
>>328
>>150-161
0331nobodyさん04/08/13 20:26ID:???
その場合は普通に

echo $on[5][3];でいい
033232904/08/13 20:29ID:???
なぜか「a」と出力されるんだが・・・
033332804/08/13 20:46ID:???
>>330
うぉーありがと!
もう少しですね。今年の6月で日本も切れたのかな?
気長にまちます!
どもでした。
0334nobodyさん04/08/13 20:58ID:???
>>332
Array の a か。
0335nobodyさん04/08/13 21:02ID:???
>>329
基礎中の基礎が理解できてないと思われ
悪いこと言わんから入門書か何か一冊買いなさい
0336nobodyさん04/08/13 21:17ID:iU64GMXW
Yahoo!のように、PHPで構築されているにも関わらず
拡張子「.php」のファイルが一切見られないサイトは、
どのようにしてファイル内にPHPが記述されているのか否かを判別させているのでしょうか??
0337>>33604/08/13 21:28ID:???
.htaccessで拡張子の指定をすることは出来るけど。
AddType application/x-httpd-php .php .html .htm
AddType application/x-httpd-php-source .phps
0338nobodyさん04/08/13 21:43ID:???
質問です。

<html>
省略
<?php処理1?>
省略
</html>

<?php処理2?>

処理2が重たい&出力に関係ないので
先に処理1だけ出力させたいのですが、どのような方法があるでしょうか?
0339nobodyさん04/08/13 21:50ID:???
>>338
言ってる意味がわからんが、必要な時に呼び出せばいいんでないのかな?

<?php
function 処理1() {
}
function 処理2() {
}
?>
<html>
<?php 処理1(); ?>
</html>
<?php 処理2(); ?>

内容的には変わらないけど。
0340nobodyさん04/08/13 21:51ID:???
>>287

クラスをインスタンス化するか
インスタンス化しないかの違いじゃないの?
0341nobodyさん04/08/13 21:56ID:???
>>339
有難う御座います。
解り辛くてすみません。
そういう意味ではなく、
</html>までのバッファを先に出力して処理2に移りたいという意味です。
0342nobodyさん04/08/13 22:04ID:???
>>341
表示と同時にワンアクションで処理を実行したいなら無理じゃないかな?
■ このスレッドは過去ログ倉庫に格納されています