【PHP】質問スレッド Part15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/03/07 02:03ID:???上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。
■本家
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
0002nobodyさん
04/03/07 02:06ID:???Part2 : http://pc.2ch.net/php/kako/1003/10032/1003283567.html
Part3 : http://pc.2ch.net/php/kako/1013/10139/1013919792.html
Part4 : http://pc.2ch.net/php/kako/1022/10229/1022999539.html
Part5 : http://pc.2ch.net/php/kako/1031/10317/1031721334.html
Part6 : http://pc2.2ch.net/php/kako/1038/10389/1038988518.html
Part7 : http://pc2.2ch.net/php/kako/1044/10444/1044478561.html
Part8 : http://pc2.2ch.net/php/kako/1050/10502/1050249148.html
Part9 : http://pc2.2ch.net/php/kako/1057/10579/1057947512.html
Part10: http://pc2.2ch.net/php/kako/1064/10641/1064104114.html
part11: http://pc2.2ch.net/php/kako/1067/10676/1067635640.html
part12: http://pc2.2ch.net/test/read.cgi/php/1070639208/
part13: http://pc2.2ch.net/test/read.cgi/php/1073291978/
part14: http://pc2.2ch.net/test/read.cgi/php/1076163015/
0003nobodyさん
04/03/07 02:06ID:???http://pc2.2ch.net/test/read.cgi/php/1056969979/
Pear
http://pc2.2ch.net/test/read.cgi/php/985665522/
【PHP】Smarty【Template】
http://pc2.2ch.net/test/read.cgi/php/1047225437/
■PHP関連の書籍(但しPHP出版系お断り)
http://pc2.2ch.net/test/read.cgi/php/985315574/
0004nobodyさん
04/03/07 02:07ID:???2ch Pear Wiki
http://pear.sakura.vg/
PHP Kitchien
http://www.phpkitchen.com/
PHP Developer
http://www.phpdeveloper.org/
phpPatterns
http://phppatterns.com/
Perl/PHP Translation
http://www.cs.wcupa.edu/~rkline/perl2php/
0005nobodyさん
04/03/07 02:08ID:???http://www.redout.net/data/osietekun.html
0006nobodyさん
04/03/07 02:09ID:???前スレの過去ログpart13のアドレスが違ってて焦った。
0008nobodyさん
04/03/07 11:49ID:jKMO9RlNPHPだと変数が未定義ですとエラーが表示されてしまいます。
具体的に言うと、フォームからデータを送り、GETメソッドで取得し
$modeにregistやdeleteなどの文字を格納するようにしたいのですが、
$modeになにも入ってないとき、つまり
http://〜〜〜/test.php
とかでアクセスしたとき、$modeが未定義と出ます。
PHP.iniのほうでエラーを表示しないようにする方法があるのは分かるのですが、
そうしちゃっていいのでしょうか?
何かいい方法はないでしょうか?
0009nobodyさん
04/03/07 11:53ID:qGgxd6Wh定義されているかどうか調べりゃいいじゃん
0010nobodyさん
04/03/07 13:17ID:???0012nobodyさん
04/03/07 14:18ID:???>>984
定義しておけばいいだけの話。
echo $mode = !empty($_GET['mode']) ? $_GET['mode'] : ""; //undefined index errorは起きない
0013初心子
04/03/07 16:02ID:AkFDBaOGして表示する場合で、処理速度に差は出るのでしょうか。
また、出るとしたらどのくらいのアクセスからなんでしょうか。
例えば1秒に10アクセスぐらいでも差が出るでしょうか。
0014nobodyさん
04/03/07 16:32ID:???0015nobodyさん
04/03/07 16:37ID:JEnRe41Eこの際、datを最初から全部読むのではなく
新しい方から100レスのみ、という読み込み方をしたいのです。
dat全体を読み込むのは出来た(whileでEOFまで取得)のですが、
「新しい方から100レスのみ」のやり方がわかりません。
fseek()などで何とかなるかと考えたのですが、
>http://"または"ftp://"フォーマット指定のfopen()により返されたファイルポインタに対しては使わないで下さい。
とかマニュアルに書いてあるし…。
何か良い方法があったらご教示願います。
0021nobodyさん
04/03/07 22:33ID:???例えば
1. ABC<?php echo'ABC'; ?>ABC
2. ABCABCABC
となら2.の方が速いが、別に気にするほどの差ではない。
因みに""ダブルクォートと''シングルクォートの場合や、
echoとprintも処理に違いがあるので差があるのだが、
それも気にするほどではない。もっと気にしないといけないことは
幾らでもあろう。特に君は英語を読むことと、無駄に思えることでも
色んな知識を吸収しようとする努力せよ。
(16氏が示したツール(ApacheBench)はApacheでもIISだろうが使える)
0022nobodyさん
04/03/07 22:48ID:???fseekが使いたいなら、一度tmpなりのファイルに落としたらどう。
datの構造しらんので「新しい方から100レスのみ」するのに
先にparseとかせんでもいけるの?と思うけど。
002421
04/03/08 02:53ID:???1. ?>ABC<?php echo'ABC'; ?>ABC<?php
2. ?>ABCABCABC<?php
の感じのテスト(出力バッファ利用して貯めて)で、
大体1は2の120%ぐらい。つうても折れのローカル環境で 7.8e-7秒/回。
それが20%増しになったところでね、普通ゴミとか誤差とか呼ぶレベルでしょ。
0025nobodyさん
04/03/08 11:34ID:/KXptFwqmove_uploaded_file
が使えません。なにも反応しません、エラーもでません。
で、copyは使えるようなのですが、機能に違いってありますか?
0026初歩的だけど
04/03/08 11:55ID:???配列のどれか一つと一致するとTRUEを返す
はどうやったらいいの?
0027nobodyさん
04/03/08 12:17ID:mEtMwEOB配列の操作を行う関数は・・・・・・・配列関数
ttp://www.php.net/manual/ja/ref.array.php
0028nobodyさん
04/03/08 12:19ID:???move_uploaded_file()を使うとis_uploaded_file()で事前に確認する手間は省ける。
ま、copyを使う前にmove_uploaded_fileが使えない原因がどこかにあると思うが。
>>26
function array_manual_YOME($n,$array){
return in_array($n,$array);
}
0030nobodyさん
04/03/08 14:00ID:WZerhTAoApache 1.3.27
PHP 4.3.4 で
PC/携帯連動ページを作成しているのですが、
PCで正常に表示しているページを
require_once
で要求し、携帯に必要な部分の関数だけ実行しようとすると
携帯からは表示できない
というメッセージが出るのですが、
どのような事が原因でしょうか?
require_once
を記述しない場合は、
携帯でも正常に(ただし、何も表示されない)ページが見れます
何かアドバイスありましたらお願いします
0031nobodyさん
04/03/08 14:02ID:???0033nobodyさん
04/03/08 14:07ID:???chopでいいんですか?
003630
04/03/08 14:24ID:???require_onceで要求したページは、
if(IsMobile()==false){//PCからの場合、通常メニュー作成
SendHeader("ページタイトル");//ヘッダ送信
CreateMenuPage();//PC用メニュー作成
SendFooter();//フッタ送信
}
となっていて、これは、PCの場合にメニューを構築します
それ以外は、
CreateMobileMenu()
という関数を実行しているのですが
(現状はテストのみで、
中身は、
?><DIV>携帯用ページ</DIV><?php
だけの関数です
コレを、元のページindex_mb.phpから
require_onceすると、
ページを表示できないと携帯が言ってきます
セッション管理の為、別ページもrequire_once
しています(このページも関数のみで、HTMLは、出力しません)
0037nobodyさん
04/03/08 14:29ID:???試しに、if(IsMobile()==false)をif(1)にしてみて、どういうHTMLを吐いているかPCで確認してみれ。
004030
04/03/08 14:32ID:???や、すみません
PCでいうダイアログっぽいメッセージで、
「このページは表示できません」
ってメッセージがでる
という意味合いです('A`)
004130
04/03/08 14:34ID:???<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE></TITLE>
</HEAD>
<BODY>
<BR><BR>
<TABLE>
<TR>
<TD>
<FORM action="kokyaku.php" target="data">
<INPUT type="submit" name="user_manage" value="ユーザー登録確認">
</FORM>
</TD>
</TR>
<TR>
<TD>
<FORM action="menu_data_init.php" target="data">
<INPUT type="submit" name="reserve_manage" value="予約情報">
</FORM>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
と出てきました(PC側)
0042nobodyさん
04/03/08 14:38ID:???もう、require_onceや携帯がどうのこうのという範疇じゃねぇ。
デバッグまで手伝えってか?
>>41
そもそも、携帯に対してEUC吐いてるの?
004430
04/03/08 14:47ID:???>>43
@前半>あ、イエ、チトワタクシの言葉不足でした('A`)
@後半>
EUC吐いてるの>ハヒ、本来は、S-JISにすべきデスネ('A`)
004533
04/03/08 15:11ID:???0047nobodyさん
04/03/08 15:31ID:???むしろ本番環境にApache2.xとPHPの
組み合わせを使う(予定)の君に乾杯。
まあ一応こまめにプロセス殺してやると
今のところ大丈夫みたいだけどね。
0049nobodyさん
04/03/08 15:57ID:???自分で自分の首を絞める行為に漏れからも乾杯。
0050nobodyさん
04/03/08 16:03ID:???0051nobodyさん
04/03/08 16:12ID:???0052nobodyさん
04/03/08 17:00ID:mEtMwEOB原因はわからんが(テストしてないし)、
HTML1.0のサブセット(嘘)に向って、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
も酷いよな。
エンコーディングはEUCだしさ。
しかも、
<META http-equiv="Content-Style-Type" content="text/css">
って、携帯を馬鹿にしてるとしか思えない。
005352
04/03/08 17:03ID:???消防でも書けるようなHTMLにしたら?
携帯に、多くを求めるな。
<HTML>
<HEAD>
<TITLE>タイトル</TITLE>
</HEAD>
<BODY>
<BR><BR>
<FORM action="kokyaku.php" target="data">
<INPUT type="submit" name="user_manage" value="ユーザー登録確認">
</FORM>
<FORM action="menu_data_init.php" target="data">
<INPUT type="submit" name="reserve_manage" value="予約情報">
</FORM>
</BODY>
</HTML>
0055nobodyさん
04/03/08 17:14ID:???0057nobodyさん
04/03/08 17:44ID:???XHTMLで組んでいるので、xml宣言を文書の最初にしなきゃいけないのですが、
<?xml version="1.0" encoding="Shift_JIS" ?>
という形上、PHPと解釈されてしまいます。
そこで
<?="<?xml version=\"1.0\" encoding=\"Shift_JIS\" ?>" ?>
こうしたのですが、この宣言が文書の一行目に来てくれません。
なんとか一行目に表示する方法はないでしょうか?
0058nobodyさん
04/03/08 17:46ID:???0059nobodyさん
04/03/08 17:59ID:???別の問題じゃないの? どっかで改行とか出力してない?
自分でためしに<?=...を初っぱなに書いてみたけど、ちゃんと1行目にくるぞ?
0061nobodyさん
04/03/08 19:28ID:???0062nobodyさん
04/03/08 20:09ID:???<hrad>
<title>あああああ</title>
</head>
<body>
<font size=+2>えええええ</font>
<hr>
<?php
mb_http_output('SJIS');
echo ("あいうえ");
?>
<?php
echo("あああああ");
?>
こうやっても全部EUCになるんですがねぇ・・・
他に必要なものってありましたっけ?
0063nobodyさん
04/03/08 20:48ID:???http://www.php.net/manual/ja/ref.mbstring.php
例3を嫁
006463
04/03/08 20:50ID:???0065nobodyさん
04/03/08 21:57ID:???できたできた
0066nobodyさん
04/03/08 22:38ID:aa8wwnxGなんの為に使うのでしょうか。
あとどんなプログラムにもそれは必要ですか?
0067nobodyさん
04/03/08 22:46ID:???その質問。スルーされているのに気づけYO!
ま、別に使わなくても問題ないよ。
今後スクリプトをバリバリ書いて、なんか使いまわしが面倒だなぁと感じたら
本でも買って勉強するよろし。
0068nobodyさん
04/03/08 23:51ID:???そんなときクラスを使うとよろし。
0069nobodyさん
04/03/08 23:51ID:LU3lxLSXphpLang <http://www.phpheaven.net/projects/phplang/rubrique7.html>
を使って、もし言語が英語なら自動的にindex.en.htmlに
日本語ならindex.jp.htmlにリダイレクトさせたいのですが
どういったコードを書けばいいでしょうか。
サンプルコードを探したのですが見つかりません。
0071nobodyさん
04/03/08 23:59ID:???0072nobodyさん
04/03/08 23:59ID:???if( preg_match('/ja/i',$_SERVER['HTTP_ACCEPT-LANGUAGE']) ) {
header('Location: http://hogehoge/index.jp.html');
} else {
header('Location: http://hogehoge/index.en.html');
}
0073nobodyさん
04/03/09 00:07ID:usGQfxsJ>>70さん>>71さん、他にも何かシンプルな実装方法があるのでしょうか。。。
0075nobodyさん
04/03/09 00:18ID:???と、index.html.jaとかindex.html.enになるけどw
0077nobodyさん
04/03/09 09:14ID:???のとき
$pattern = '(?:[\xB7-\xBA][\xA1-\xAF])';
$str = mb_ereg_replace($pattern,'',$str);
みたいのをしたいのですが、希望通り「スト」が返ってきません。
mbでも途中にマッチしちゃってるようなのですが
そもそもmbはこういうのが起きないためのものなのではないでしょうか(;´Д`)
希望通りになるコードのお知恵をかしてください・・
007830
04/03/09 10:06ID:???イロイロありがとうございました
とりあえずテストのアパッチは最新に置き換えマシタ
本番機はユーザーさんの管轄なので、
コッチの置き換えは、ユーザーさんに依頼シマツ
タグ自体は、必要最小限を出力してテスト致します
携帯も奥が深いんですね(;´Д`)
お世話になりマスタm(;∇;)m
0079nobodyさん
04/03/09 10:09ID:???ナニを「希望」しているのかサパーリわらかん。
全角カタカナに一致させたそうでもなさそうだし。
>>78
携帯の奥が深いというより、あんたが浅杉。ま、がんがれYO
0080nobodyさん
04/03/09 10:43ID:???0081nobodyさん
04/03/09 10:48ID:???釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ
0083nobodyさん
04/03/09 11:15ID:hGDzPQs/,.‐'´∴∵∴∵∴∵∴∵ `‐.、
./∴∵∴∵∴∵∴∵∴∵∴∵\
|/-=o=-∵∴∵∴\/_ ∴∵∴∵\
/::::::ヽ―ヽ -=o=-_(::::::::.ヽ ∴∵∴∵l
|○/ 。 /::::::::: (:::::::::::::) ∴∵∴∵l
|::::人__人:::::○∵∴ ヽ/ ∴∵∴∵l
ヽ __ \∵∴∵∴/ ∴∵∴∵l
∴∵\ | .::::/.|∵∴∵∴/ ∴∵∴∵∴\
∴∵ \lヽ::::ノ丿∵∴∵ / ∴∵∴∵∴∴l
,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴l
|∴∵∴∵∴∵∴(・)∴∴.(・)∴∵∴∵∴∵|
. | ∴∵∴∵∴∵∴ / ○\ ∴∵∴∵∴∵ |
. |∴∵∴∵∴∵∴/三 | 三|∴∵∴∵∴∵| tanasinn
. |∴∵∴∵∴∵∴| __|__ |∴∵∴∵∴∵l
l∴∵∴∵∴∵∴| === .|∴∵∴∵∴ .,l
. ゙i ∴∵∴∵∴∵ \__/∴∵∴∵∴,i
ヽ∴ ∵∴∵∴∵∴∵∴∵∴∵∴∵/
ヽ `‐.、∴∵∴∵∴∵∴∵∴,.‐'´
`:‐.、. _∴∵∴∵.-‐''"
0084nobodyさん
04/03/09 11:57ID:???ちゃんと「スト」になるけど。
内部エンコーディングがEUCになってるかmb_regex_encoding ( )で確認しろ。
0085nobodyさん
04/03/09 13:06ID:jqgOUC+jとあるディレクトリに月ごとのディレクトリを生成し、
さらにその中に新たにテキストファイルを生成したいのです。
生成はできるんですが、FTPからこのテキストを削除できません。
生成したテキストファイルの所有権が"www(apache)"になってしまうので。
FTPから削除できるような形でファイルを生成しようと思うと、
あらかじめFTPユーザーとして作ったディレクトリ内に、
ファイルを生成するしか手は無いんでしょうか?
$mydate1 = date("Ym");
if ( !is_dir("./dat4/$mydate1") ){
mkdir("dat4/$mydate1",0777);
}
$fp = fopen("dat4/$mydate1/".date("mdhi").".txt","r+");
fputs($fp,"hogehoge");
fclose($fp);
まるで春厨すんません。
0086nobodyさん
04/03/09 13:15ID:???マニュアルって言葉知ってる?
http://www.php.net/manual/ja/ref.filesystem.php
0088nobodyさん
04/03/09 13:26ID:jqgOUC+jホントすんません。見てるんですが実は良くわからんです。
>>87
要はユーザーが書き込んだ物を鯖に保存しておいて、
その保存されたテキストファイルを管理者が消すと。
どうもそれは必須なんです。
009086
04/03/09 13:39ID:???FTPで削除する事の善し悪しはおいといて
パーミッションの設定は
http://www.php.net/manual/ja/function.chmod.php
だ
0091nobodyさん
04/03/09 13:44ID:???>どうもそれは必須なんです。
こんな香具師に依頼したやつの気がしれんというか可哀相というか…。
間違っても仕事じゃないよな?ないと言ってくれ、頼む…。
0092nobodyさん
04/03/09 13:47ID:VgYi4aAbchmodも使ってみたんですが、
"SAFE MODE Restriction in effect…"てな感じです。
0093nobodyさん
04/03/09 13:49ID:VgYi4aAbたしかに可哀想。
仕事では無いんですが、結構ほったらかしにしてきた部分だったので、
できれば後学のためにと思いまして。
0095nobodyさん
04/03/09 14:05ID:VgYi4aAbすいません。情報を小出しにしてしまったので、
混乱を招いてしまってますね。
作る->ftpで消せない->chmod試す->ダメ
->セーフモード調べる->脳内フロー
てな感じなんです。
セーフモードによってchmodは制限を受けるとありますから、
そもそもファイルやディレクトリを生成する時に、
誤りがあったのかなと思って色々調べてます。
0096nobodyさん
04/03/09 14:13ID:???0097nobodyさん
04/03/09 14:39ID:VgYi4aAbつまりそう言う設定だからダメと。
そう言うこってすか?
0099nobodyさん
04/03/09 14:46ID:VgYi4aAb了解です!
ホントありがとうございました。>all
来週あたり酒でもおごります。
01001.2.3.5.8.13
04/03/09 15:38ID:SOYY0FQ6いまから、ウェブ上に自分専用のファイル置き場作りたいのですが、
分かりません。誰か教えてー!!!(無料のやりたいほーだいのところだから)
0101nobodyさん
04/03/09 15:42ID:hGDzPQs//∵∴∵∴\
/∵/∴∵\∵\
/∵<・>∴∴.<・>∵|
|∵∵/ ●\∵∵|
|∵ /三 | 三|∵ |
|∵ |\_|_/| ∵| tanasinn
\ | \__ノ |/
/.∴\___/
(∴∵∵∵∴∵∴ \
. \∵ _∴ _ ∵∴ ヽ
 ̄\  ̄ \\ ∴∵ヽ
ヽ∴∵) ヽ∴∵|
丿∴./ . ヽ∴ |
(∵/ |∵ノ
■ このスレッドは過去ログ倉庫に格納されています