【PHP】質問スレッド Part15
レス数が1000を超えています。これ以上書き込みはできません。
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
\ | \__ノ |/
/.∴\___/
(∴∵∵∵∴∵∴ \
. \∵ _∴ _ ∵∴ ヽ
 ̄\  ̄ \\ ∴∵ヽ
ヽ∴∵) ヽ∴∵|
丿∴./ . ヽ∴ |
(∵/ |∵ノ
0102nobodyさん
04/03/09 16:18ID:???0104nobodyさん
04/03/09 17:07ID:mKThJMQamb_send_mail()を使って文字化けが起こるのですが、原因が分かりません。
再現性が乏しいのです。
まったく同じコード&データで試行して文字化けしたり、しなかったり...
サーバに問題があると考えてよいでしょうか?
xreaですが。
0106void
04/03/09 17:50ID:???0107No.2
04/03/09 17:58ID:???0108nobodyさん
04/03/09 18:03ID:BQg7O4/2header以外でページを飛ばす方法はありますか?
headerを使用すると始めにすぐ飛んでしまうので困っています。
ボタンを押したらページが飛んでくれるようなものを
PHPでやりたいのですが・・・
0112nobodyさん
04/03/09 18:07ID:???<input type="submit" value="ボタン">
</form>
0113108
04/03/09 18:11ID:BQg7O4/2ttp://php.s3.to/script.php
の一番下にあるショートメッセージというものですが
投稿して更新ボタンを押すと多重投稿になってしまうので
どうにかできないものかと思いまして。・・・
知恵を貸してください。
0115nobodyさん
04/03/09 18:21ID:???Win2KでPHP4.3.4とAN HTTPD使っています。
通常のPerlなどではHTML部分に$hogeと書けば展開してくれましたが、
PHPで変数を展開して書くときには、
<FORM method="<?php print $method; ?>" action="<?php print $file; ?>">
と書いています。
このように書く以外に方法は無いのでしょうか?
0116nobodyさん
04/03/09 18:21ID:???なんじゃあ。それがどして108の質問になるのか。すんごく気になるが...
で、漏れも似たようなものは作った。多重投稿回避は、
前回の書き込みをセッション変数に保存しておいてそれと比較。
同じなら多重投稿とみます。ただ、空文の場合はセッション変数を更新せず。
0119nobodyさん
04/03/09 18:25ID:???0120nobodyさん
04/03/09 18:28ID:???POSTで受け取ったデータは再読み込みする時に
再度POSTしなきゃいけないという決まりがあるらしい。
ソースは>>120あたりが探してくれる予定。
# headerで別ページに飛ぶのは、この制約に当てはまらない。
直前の書き込みと比較して重複チェックするのが妥当では?
0121nobodyさん
04/03/09 18:28ID:???0123nobodyさん
04/03/09 18:35ID:???ってか、テンプレート使った方がいいんじゃないの?
0124nobodyさん
04/03/09 18:40ID:/j4E6ZKPその前回の内容と比較して多重投稿させないソースを見せて下さいよ。
0125nobodyさん
04/03/09 18:43ID:???モマエなぁ…
それを考えるのがプログラミングの楽しいトコロ。
それが嫌だったりめんどくさがったりするんなら、プログラミングするな。
0127nobodyさん
04/03/09 18:55ID:???0128nobodyさん
04/03/09 19:17ID:???ようはあれだろ!説明しといておまえら実際は出来ないんだろ?
もし出来るんだったら完成品みしてみろや!
べつにソースは出さなくていいから
ttp://php.s3.to/script.php
の一番下にあるショートメッセージに手加えてやってみろってんだ
0129nobodyさん
04/03/09 19:23ID:???0131nobodyさん
04/03/09 20:24ID:WfRveasv$_SERVER['SERVER_NAME'] と$_SERVER['REQUEST_URI'] で
リクエストされたURLを取得できることは分かったのですが、
例えば ://www.domain.com という風にドメインでリクエストされたのか
それとも ://200.100.22.11/ のように、IPアドレスでリクエストされたのか、
あるいは、共用サーバのチルダユーザ( //:www.server.com/〜user/ )のURLなのか、
判別できますでしょうか?
0132釣られた@116
04/03/09 20:49ID:???名前欄とか色付けはないけどねぇ。
http://cgi.f19.aaacafe.ne.jp/~shoup/shortmsg.php
0134131
04/03/09 21:28ID:???0135釣られた@116
04/03/09 21:49ID:???どうせだから、ココのテンプレとか置いとくかな。
0136nobodyさん
04/03/09 23:32ID:klRDHqy2どうしたらいいでしょうか?
ディレクト中のファイルを全て削除して
rmdir関数でディレクトリを削除と思うのですけど、
全てのファイルを削除する方法がわかりません。
何かよい方法はありますでしょうか?
0138nobodyさん
04/03/10 00:33ID:???$arrayに、a-Z,0-9を入れたいのですが
$array=array("a-Z","0-9");では単なる文字として扱われてしまいます。。
どうすればいいでしょうか?
0141138
04/03/10 01:25ID:???文字列のマッチとかに使うと思ったのでしょうか?
僕がやりたいのは、ランダムな文字列の生成なんです。
10文字のランダムな文字列です。
$arrayにa-Z,0-9を入れて
for($i=0 $i<10; $i++) echo $array[array_rand($array)];
こうやりたいのです。
0142nobodyさん
04/03/10 01:29ID:???0143nobodyさん
04/03/10 01:31ID:???./
↑余計なのが出るね
出たらもっかい処理すれば済むことだが
0144nobodyさん
04/03/10 01:32ID:???0145138
04/03/10 01:33ID:???cryptでできるんでしょうか??
詳しく教えてくれませんか?
0146nobodyさん
04/03/10 01:35ID:???0147nobodyさん
04/03/10 01:40ID:???とりあえず当初予定の配列を作るには>>144,146でいい。
けど、目的が「ランダムな文字列」を作ると言うのだったら、
randで作った乱数を種に、crpytで暗号化するとぱっと見
ランダムな文字列ができるだろ。
ただ、それだと、要らない文字も混じるのでそれを考慮した
後処理も必要だろう、と>>!43がフォローした。
要は目的を達成できれば経過が思ったのと違っても
よかろうと。
0148138
04/03/10 01:40ID:???0-9とか0..9とか、そんな感じで一発でできるのあった気がするんですが。。。
諦めて>>146さんのでやります。
ありがとうございました。
014977
04/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:???$>>138 = array(range(0, 9), range('A', 'Z'), range('a', 'z'));
print_r($>>138);
?>
0151nobodyさん
04/03/10 03:47ID:???0152150
04/03/10 03:54ID:???0153nobodyさん
04/03/10 11:57ID:???ログイン失敗のときの出力をいじったのですが確認できなくて…
0155nobodyさん
04/03/10 13:16ID:???会員フォームなどから登録したユーザーに
一斉メール配信するプログラムを組んだ場合
やはりサーバによっては機能制限などが出るのでしょうか?
また、どのくらいの数ならば制限が出ずにメール送信が可能なのでしょうか?
0156nobodyさん
04/03/10 13:17ID:???Σ(゚д゚lll)ガーン
あ、じゃあUSERとPWを変えればいいのか!
と思ってやったらダイアログが表示されない…
ちなみにここのパスワード認証のソースを使いますた
ttp://php.s3.to/simple/
0157nobodyさん
04/03/10 13:32ID:???PHP_AUTH_USERとPHP_AUTH_PWはもともとブラウザが保持してて送ってくるので、
ブラウザを閉じないと無理。
>>155
そんなもん、鯖屋に聞けよ。
0158nobodyさん
04/03/10 14:10ID:???thx!
ダイアログは http://www.hoge.com/test/ じゃなくて http://www.hoge.com/test/index.php みたいにしたら出た(・∀・)
0159void
04/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+インストールしなおさないで./configure する方法ってないのでしょうか。
unixODBC、libiconv、FreeTDS の設定は済んでおります。
現象:
Call to undefined function: odbc_connect()
環境:
PHP4(Red Hat Linux9) + SQLSERVER(WIN2000)
0162void
04/03/10 16:30ID:???ありがとうございます。
0164nobodyさん
04/03/10 16:38ID:???インストール手順のmake installの直前で止めて、
後は手動で必要なファイルを適宜コピーしていけばodbcの部分だけを
追加したことになるでしょうが、そのままインストールしてもたいして変わりないような....
0165nobodyさん
04/03/10 16:55ID:???PEARにはそれらしきものはないようですが。。。
0166void
04/03/10 17:11ID:???はい。了解しました。
ところで、VBでコーディングをするときのネーミング規約として
文字列は先頭にstrを付け、数字は先頭にlngを付けると言う
規約が好きなのですが、PHPの場合、こういうのが良いよという
ネーミング規約があれば教えてください。
PHPのコードで
$strName
とやると何か間抜けな気がしています。
0167nobodyさん
04/03/10 17:18ID:???0168nobodyさん
04/03/10 17:24ID:???0170nobodyさん
04/03/10 18:39ID:???ホンマもんの阿呆か?
型が指定できないからこそ、
数値用の変数、文字用の変数、日付用の変数といったものを、
解りやすくするんだろ。
まさか、関数作るときの戻り値に、
成功で文字列、失敗なら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 みたいにしてる。
0176nobodyさん
04/03/10 19:09ID:???includeされる側でパス決めてないかい?
includeする側のファイルからみたパスを取るようにする。
>>173
お前はクズ。
仕事ではプログラムするな、ボケ。
>>174
正解。
プリフィックスを付けなければならないわけではなく、
これが、数値、文字等他の人が見てもわかればよい。
0177nobodyさん
04/03/10 19:10ID:???0180nobodyさん
04/03/10 19:18ID:???文字列かFALSEという括りとなると、設計上おかしい。
0181nobodyさん
04/03/10 19:18ID:???0182nobodyさん
04/03/10 19:19ID:???0185nobodyさん
04/03/10 19:22ID:???それとも自己チューの集まりか?
0186nobodyさん
04/03/10 19:23ID:???文字列もbool値も返す関数だってPHPにあるのに
0187nobodyさん
04/03/10 19:23ID:???0188nobodyさん
04/03/10 19:24ID:???お間抜けさんの集まるスレはここですか?
0189nobodyさん
04/03/10 19:25ID:???0190nobodyさん
04/03/10 19:25ID:???0191nobodyさん
04/03/10 19:26ID:???こんなの
0193nobodyさん
04/03/10 19:28ID:???数値、またはfalse
配列、またはfalse
こういった使い方はOKだろ
0194nobodyさん
04/03/10 19:29ID:???PHP開発者も、厳しい規約があれば全く使い物にならない。
プログラムの必須知識である型を無視できて、
手軽さが良くて使っているのがほとんどだろう。
まあ、PHPで本格的なシステム作るわけでないし、
他ができる連中はPHP使わなければ良い話だ。
俺らは底辺だと言われようと、使い文にならんと言われようと、
気にせずPHP使うだけだし。
0196nobodyさん
04/03/10 19:30ID:???Array…成功
文字列…失敗
false…処理しない
みたいな使い方してるよ。
0198nobodyさん
04/03/10 19:36ID:???そこがいいんだが
0199nobodyさん
04/03/10 19:36ID:???0200172
04/03/10 19:38ID:???ありがとうございます。
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:???$a = FALSE;
$b = "";
if ($a == $b) echo("auau");
if ($a === $b) echo("hoge");
0202nobodyさん
04/03/10 19:42ID:???0203nobodyさん
04/03/10 19:49ID:???>成功で文字列、失敗ならFALSEなんて、
>糞関数作る口か?
これって、一応釣ってるんですよねぇ?
食いついたほうがいいんでしょうか
0204nobodyさん
04/03/10 19:51ID:???0208nobodyさん
04/03/10 20:00ID:???まぁ、PHP使って楽しんでくれや
0210nobodyさん
04/03/10 20:04ID:???業務で使ってる人と、
趣味で使ってる人が入り乱れてるからしょうがないよ。
趣味の人に、厳格な規約押し付けてもしょうがないし。
0211nobodyさん
04/03/10 20:05ID:???ファイルがみつからんのか、
ファイルが開けないのか不明。
もし、みつからないのであれば、
読もうとするファイル名出力してミソ
0212nobodyさん
04/03/10 20:13ID:???「あぁ、こんな使い方も出来るのね」って単純に感動したクチなんだけどね。
0213nobodyさん
04/03/10 20:30ID:???相対パスでincludeして、そこからさらに相対パスでログを読み込んでいるので、
違う場所から読み込もうとしてもできないんでつ(´・ω・`)
0214nobodyさん
04/03/10 20:45ID:???0215nobodyさん
04/03/10 21:22ID:???厳密さを求める香具師は JAVA 使え
0216nobodyさん
04/03/10 21:44ID:???お前頭おかしいだろ?
よく生きていけるな
0217nobodyさん
04/03/10 21:47ID:???やりたいことは判らないでもないが、
元々includeはコードを取ってくるもんであって
処理結果や動作をもってくるものではないです。
HTTPストリームを使ってPHPでの実行結果を
取って来ることも、まあ出来るけどね。
>>215
厳密さを求めると寧ろJavaの厳密でない部分
(結構ある)が鼻についてしょうがない。
PHPは適当なままで良いが、もちっと適当さにも
統一感をくれ。
0218nobodyさん
04/03/10 21:48ID:???0220nobodyさん
04/03/10 22:12ID:???もうちょっと言葉選んでくれ
0221nobodyさん
04/03/10 22:19ID:???session_unset
破棄と開放はどう違うんでしょうか??
破棄=定義しているが中身がNULL
開放=未定義
ってことですか?
0223nobodyさん
04/03/10 22:32ID:w+pCKnptサーバで許可されていないからでしょうか?
mkdir("./aaa",0707);
0226nobodyさん
04/03/10 23:54ID:???システムビープなりませんか!?
漏れだけか…。
Windowsで動かそうなんて無謀だったか。
(PHP4.3.5.5+mysql-3.23.38+Anweb1.42k php.exe使用)
0227nobodyさん
04/03/11 00:20ID:???俺さ、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。
0230nobodyさん
04/03/11 00:37ID:???どうしたらいいだ?
0231nobodyさん
04/03/11 00:47ID:???お前の態度が
気に入らない
0233nobodyさん
04/03/11 00:52ID:???動作確認したのがphpmyadminなので、SQL文ミスの恐れはないと思います。
先ほどisapiに変えてみたところビープが消えました。
が、isapiだと、これはこれでライブラリロード中のまま止まったりするし…。
サーバー側でメモリのエラーが出る→システムビープが鳴る
こんな予想立てて、ちょっくらanwebのサクーシャに問うてみます。
0234nobodyさん
04/03/11 02:25ID:???$charには、a-Z、0-9の文字が入ってます。$char[0]>a,$char[1]>b・・・・
これってちゃんと8個のランダムな文字列になってますよね?
srand();はしてないですけど。
ローカル(Windows)で動作試したんですが、10回ほどで同じものが出てきた時もありました。
62通りの8乗分の1なのに、たった10回で・・・
偶然、でいいんでしょうか?
何か気になります
0237nobodyさん
04/03/11 10:16ID:???BBSの部分を関数化し、
引数にDATファイル渡すようにしれ。
同じDATや違うDAT使うのも、切り替えしやすくなるぞ。
機能だけ関数化し、設定は外出し汁。
0239nobodyさん
04/03/11 11:06ID:???質問の仕方ってものがあるだろ、態度悪い奴に甘えさせるなよ。
まぁ、覚えたての知識を披露したいような厨に何言っても無駄だけど
0241nobodyさん
04/03/11 11:42ID:???0242nobodyさん
04/03/11 12:44ID:???0245nobodyさん
04/03/11 13:28ID:???同じかぜーのなかーうぃのーうぃのーおhh
きーきーきーらきあすきーすきー
と決めーきをはこぶーよとゅとゅとれーん
0246nobodyさん
04/03/11 13:53ID:???0248nobodyさん
04/03/11 15:24ID:???<?php
if($_REQUEST['mode']=='a'){
処理A
}
elseif($_REQUEST['mode']=='b'){
処理B
}
?>
と、延々と続いています。
一つの処理に付き、50行くらいなので、ソースがとても見れたもんじゃありません。
そこで、
処理Aを書いているもの・・a.inc
処理Bを書いているもの・・b.inc
として
if($_REQUEST['mode']=='a'){
require('a.inc');
}
elseif($_REQUEST['mode']=='b'){
require('a.inc');
}
とすれば、メインのソースは綺麗で、しかもそのままファイルの挿入を行うので、局所とか考えなくていいので楽ですが、素人丸出しです。。
みなさんはこういう場合どういう風にするのでしょうか?
0249nobodyさん
04/03/11 15:31ID:???0250nobodyさん
04/03/11 15:42ID:???switch($_REQUEST['mode']){
case "a":
require('a.inc');
break;
case "b":
require('b.inc');
break;
default:
break;
}
0251nobodyさん
04/03/11 16:33ID:???mb_send_mailを使っても受け取ったメールは文字化けします。
なぜでしょうか?
0252nobodyさん
04/03/11 16:36ID:???山田さんのやつみたいなのは?
ttp://www.dotaster.com/~s-yamada/php/
続きが読みたいんだけどもう更新されないのかな。。。
0253nobodyさん
04/03/11 16:38ID:???require じゃなくて include かなぁ?
あと、elseif が増えるようだったら、
switch〜case にしたり、
さらにツリー構造を作って、
includeの中でinclude。
0254248
04/03/11 16:48ID:???ファイルの挿入って、別に素人しかしないわけじゃないんですね。
ファイルに関数を詰め込んで、requireして関数を呼び出すのが上手な人のやり方だと思ったんですけどそうでもないみたいですね。
ところで、requireするファイルの先頭に<?phpつけないとphpの処理をしてくれないのって仕様ですか?
0255nobodyさん
04/03/11 16:55ID:bi3wfCFY見づらくないか
require/includeの為に分岐するコーディングは
普段しないが、敢えてするならこんな感じにする。
$mode_lists = array('a', 'b', 'c', ...);
if (in_array($_REQUEST['mode'], $mode_lists) {
require $_REQUEST['mode'] . '.inc';
} else {
error_reporting("WARNING: Choose unrecoganized mode");
exit(1);
}
~
0257nobodyさん
04/03/11 18:03ID:???config.inc・・・変数の定義
main.phpでfunction.incのtest()を呼び出すとすると
main.php内にconfig.incを挿入して
test($st1r,$str2);
とするか
function.incにconfig.incを挿入して、
function test($a,$b){
global $str1,$str2;
処理
}
として、main.php内でtest();
とするのはどっちがいいでしょうか?
後者のほうが、見た目がいいと思うんですが、
関数が一杯詰まってるファイルの中でグローバル宣言は控えたほうがいいでしょうか?
0259258
04/03/11 18:11ID:???config.incで定義されている変数をfunction.inc内でしか使わないなら後者(グローバル宣言は除く)
0260nobodyさん
04/03/11 18:12ID:???0261258
04/03/11 18:14ID:???定数の定義のみなら後者でもいいが、
変数の定義なら、普通はやっぱ前者。
0262257
04/03/11 18:19ID:???<?php
require('config.inc);
function func1(・・・){
・・・
}
function func2(・・・){
・・・
}
function func3(・・・){
・・・
}
?>
こういう状態だからです。
0264nobodyさん
04/03/11 18:25ID:???裏で生成した一部の変数、例えばDBへのコネクションオブジェクトなど、
表に出てきて欲しくない変数は、globalで渡す。
0265258
04/03/11 18:41ID:???関数がglobal宣言して参照しているだけならな
変数じゃなくて定数を使用すべきじゃないのか?。
0267nobodyさん
04/03/11 19:59ID:???あああ・・・>3文字
この場合は6文字と返してほしいのですが、、何かありませんか?
0271nobodyさん
04/03/12 12:37ID:???0272nobodyさん
04/03/12 12:44ID:???ここにアクセスすると自動的にリンク元が書き込まれるようにするにはどうすればいいでしゅか?
0278nobodyさん
04/03/12 14:19ID:???0281今日始めたPHP君
04/03/12 15:09ID:???なぜでしょう
<html>
<head>
<body>
<form method="post" action="<? echo $PHP_SELF; ?>">
<b>コメント</b><input name="name" type="text" size="20">
<input type="submit" value=" Send ">
<?
$data = file("data.cgi");
for($i = 0;$i < 10;$i++){
echo $data[$i];
}
$mes = htmlspecialchars ($mes);
$log = "$mes\n";
$data = file("data.cgi");
$fp = fopen("data.cgi","w");
fputs($fp,$log);
for($i = 0; $i < 20;$i++)
fputs($fp,$log[$i]);
fclose($fp);
?>
</form>
</body>
</head>
</html>
0283今日始めたPHP君
04/03/12 16:38ID:eRikD6BWこれですか?(何がミスってるか分からないでFA)
0284nobodyさん
04/03/12 16:43ID:???雌
0285nobodyさん
04/03/12 16:46ID:???何か抜けてる行がいっぱい。
取り合えず、
1.既存のデータファイルから読み込み変数に保持。
(読み出しの行数に制限は掛けないでファイルの最後まで読む)
2.保持してるデータを画面に出力(読み出しながらでも良いけどね)
3.一旦データファイルを閉じて、再度書き込みでオープン
4.保持してる変数の中身と、ブラウザからの入力には関係ない
プログラム中で指定した特定の文字列をデータファイルに書き込む。
つう感じのプログラム書いてみ。
(練習用なので上の処理には無駄があるが)
0286nobodyさん
04/03/12 16:50ID:???0287nobodyさん
04/03/12 17:03ID:???ログがもし画面出力されても改行されないれす(ブラウザ状で表示するなら)
このままでは直前の書き込みしかファイルに出力されないれす
0290nobodyさん
04/03/12 18:58ID:???*.chmの日本語版PHPヘルプはどこにありますか?
0291nobodyさん
04/03/12 19:37ID:K27QBh9Ittp://www.zend.com/zend/trick/tricks-nov-2001.php
どなたか解決方法があれば、教えてください。
問題は、フォームに「\0」が入力されると、置換処理が行われません。
winの場合は「\0」のみですが、linux環境の場合、「\2」とか「\4」とかでも問題が出ます。
ソースは以下の簡単なもので確認できます。
include_once ("class.FastTemplate.php");
$tpl = new FastTemplate(".");
$tpl->define(array(test => "test.html"));
$title = htmlspecialchars(stripslashes($_POST[title]));
$tpl->assign( "title", $title );
$tpl->parse( "CONTENTS", "test" );
$tpl->FastPrint();
強引ですが、円マークがPOSTされたら、強制的に全角にしてしまう、
という解決策を考えたのですが、スマートな解決策があれば教えてください。
0293291
04/03/12 20:35ID:K27QBh9Imagic_quotes_gpcはONです
magic_quotes_gpcに関係なく、「\0」などで置換しようとすると問題です。
以下の場合もダメということです
$tpl->assign( "title", '\0' );
0294nobodyさん
04/03/12 20:53ID:???そうなると、class.FastTemplate.phpのソースを見てみないとワカランが、
\0を文字列としてではなく数字として認識してしまっているとか?
または\0=NULLもしくは特別な文字として扱っているとか。
試しに、$tpl->assign( "title", '\\0' );としたらどうなるのだろう...
0295nobodyさん
04/03/12 21:31ID:???彼は始めたばっかだから色々判らなくて構わないと思う。
ただ最初から自分のやってることが判んなくて他人に
訊くつうことは、その取っ掛かりの難易度が高いか、
人に頼るのに慣れてしまってるのかのどちらか、またはその両方。
なんでコードありきじゃなくアルゴリズムから追っていった
方が楽だと思うんだよね。
0296nobodyさん
04/03/12 22:05ID:USSqUR4c出そうと考えています。
どうも以下の書き方ではうまくいきません。
$previous_name = session_name("WebsiteID");
echo "前回のセッション名は、$previous_name です。<p>";
0301nobodyさん
04/03/13 17:37ID:???どのように記述しますか?
$obj = new SomeClass();
$ret = $obj->func();
じゃなく
$ret = SomeClass->func();
見たいな感じで利用したいのですが
0302nobodyさん
04/03/13 17:46ID:???::
0303301
04/03/13 17:52ID:???出来ました。
ところでこれって全ての関数に利用する事が出来ると思うんですが、それを
制限する事って出来るのですか?
Javaでいうとこの private/publicみたいな、全ての関数にクラス利用者がアクセス
出来るのは・・・
0305nobodyさん
04/03/13 18:08ID:???詳しい友達から聞くと
関数はexe自体、クラスはlnkだ、つってたんですが・・・
例えば
a.php
<?php
require('function.php');
echo aiueo($a,$b);
?>
b.php
<?php
require('function.php');
echo aiueo($a,$b);
?>
function.php
<?php
function aiueo($a,$b){
return($a*$b);
}
?>
こういうファイルを友達にみせると、毎回requireしてるので無駄だって言うんですが
0306305続きです
04/03/13 18:11ID:???a.php
<?php
require('class.php');
echo aiueo::hoge($a,$b);
?>
b.php
<?php
require('class.php');
echo aiueo::hoge($a,$b);
?>
class.php
<?php
class aiueo{
function hoge($a,$b){
return $a*$b;
}
}
?>
このように毎回requireするから変わらないんじゃないでしょうか?
0307nobodyさん
04/03/13 18:33ID:???できないのです。どうやったら"<"を表示できるのでしょうか。
よろしくお願いいたします。
<?php
print "<";
?>
0308nobodyさん
04/03/13 18:37ID:???ブラウザでってことだよね。
そのまま表示するとhtmlタグとして認識されるから、エスケープしないとね。(ソースには<って出てるでしょ)
「<」これを単一で表示したいなら、print "&lt";(&は半角に直してね)
エスケープする関数使うなら
print htmlspecialchars("<");
0309nobodyさん
04/03/13 18:43ID:???ありがとうございました。
ググっても全然出てこないので困っていましたので、
ご教示大変感謝致します。
0310nobodyさん
04/03/13 19:33ID:???で質問です。
function bar() {
...
if ($true) return $true_array;
return FALSE;
}
見たいな関数を作ったとき
呼び出し元はどうしますか?
$ret_array = bar();
if (!$ret_array) {
// error !!!
}
か
$ret_array = bar();
if (!is_array($ret_array)) {
// error !!!
}
0311nobodyさん
04/03/13 19:45ID:???それだけじゃかわらんわな。
クラスをある機能を実現する関数郡ととりあえず例える。
関数郡ということなら、そのファイルを読むだけでクラス化しなくても
同じだのだが、
a.phpからはその関数郡をそのまま使う。
しかし、b.phpは
その関数郡のうち、一部だけ機能を変更したい。
一部の機能を追加したい。
等ということしようとすると、クラス化したほうが便利。
参考としてPEAR_Authのソースを見ると判るが、
usernameとpasswordの格納先(File,DB,LDAP等)に応じて
Auth_Containerクラスを継承している。
0312nobodyさん
04/03/13 19:50ID:???難しいです・・・
function.phpに
function hoge1(・・){
・・
}
function hoge2(・・){
・・
}
〜hoge10まで10個関数があるとして、
a.phpはhoge1〜hoge10まで全部使う、b.phpはhoge3だけ使うとすると、どういう風になるのでしょうか?
0314nobodyさん
04/03/13 20:05ID:???いや、それだけだとクラス化する利点が出ない。
hoge1-10を使うが、
b.phpはhoge3を一部改造して、hoge11機能を追加したいとか、
c.phpは各関数の結果は直接要らんが、その結果から得られる新たな値が欲しい。
なんて形にならないとな。要は使うときに機能の変更や追加をしたい場合。
後、プロパティ(言い換えれば、クラス化内スコープな変数)を使った
関数郡の連携とか。global変数じゃないので、メインスクリプトとの変数名の衝突がない。
0315nobodyさん
04/03/13 20:09ID:???うーん。。。やはりよく分かりません。。
必要な時期になれば分かりますかねぇ、、。。
今のところは何も考えずにがんばっていきます
0317nobodyさん
04/03/13 20:24ID:???PHP書いていたとしよう。あるとき仕様が変わってDBがPostgreSQLに変わったとしたら、
あちこちのmysql_query()をpg_query()に書き換える必要が出てくる。
もしデータベース関連をクラス化しておけば、書き換える部分は一箇所で済むだろう。
あるいは様々なDBに対応したクラスがあれば、色々なサイトを作るときに毎回使い回しが効く。
0318nobodyさん
04/03/13 20:33ID:???class db_query{
var $qb=mysql;
・
・
・
・
・
}
こんな感じで作っておいて、クラスから呼び出すということですか?
0319293
04/03/13 22:20ID:MdRW/jwCなんとか、自己解決しました。
$tpl->assign( "title", '\\0' );としたら,結果は「\0」に置換されました。
class.FastTemplate.phpのソースを見たら、
問題の部分が以下のようになっていました。
$template = ereg_replace("$key","$val","$template");
// $template = str_replace("$key","$val","$template");
以前に自分でソースを見たときに同じような処理をしていたので、下の方をコメントしたのを思い出しました。
ちなにに、コメントを外して両方の置換処理を有効にしたら、
$tpl->assign( "title", '\0' );
の処理が正常にできました。
しかし、\0のあとに文字を入れると、
$tpl->assign( "title", '\0a' );
「\0aa」と置換がダブりました。
結局、両方の置換を有効にして、順番を入れ換えるのが最善のようでした。
$template = str_replace("$key","$val","$template");
$template = ereg_replace("$key","$val","$template");
しかし、やっぱり、
$tpl->assign( "title", '\\0' );
のように「¥」が重なると、エスケープの格好になるので結果は「\0」ですね。
smartyのtemplateだとこういうことは無いのかな?
0320nobodyさん
04/03/13 23:19ID:???の時
mysql_connectを
$this->db_connectってやってもうまくいかないんですが、どうすればいいですか?
${this->db}_connectとかもやってみたんですが・・・
0321nobodyさん
04/03/13 23:54ID:???実行時間がたまに極端に長くなってしまうスクリプトがあり、
指定した時間でタイムアウトさせる方法を探しているのですが、
タイムアウト時に特定の文字列を出力する方法がどうしても分かりません。
何か方法はありますでしょうか。。
0322nobodyさん
04/03/14 03:07ID:z/827O17CPU:p4-2.0
MEM:256+256+128MB
DB :Oracle9i
OS :Redhat7.2(Kernel 2.4.9-13)
で、質問なのですが、CSVを抽出する処理でメモリを大量(50MB程度)に消費するのですが、
OSがメモリを解放するまでにメモリを食いつぶしてしまうのですが、
PHP処理終了時に使用したメモリを強制的に解放する設定or関数などないでしょうか?
ちなみに、DBが確保したメモリ解放命令は入れてあります。
そのレコードセットを配列に確保するのにメモリを消費しているようです。
わかる方がいらっしゃたら教えてください。
0323nobodyさん
04/03/14 04:51ID:???pearのDBを見ればイメージが湧くかな?
http://pear.php.net/manual/ja/package.database.php
>>320
$this->db_connect()は自分自身のインスタンスのdb_connect関数を呼び出すという意味。
db_connectからmysql_connectはどうやって見つけるのだ?
>>321
〃∩ ∧_∧
⊂⌒( ´・ω・)くぜんぶマニュアルの機能・接続処理のページに書いてあったでつ
`ヽ_っ⌒/⌒c
0324320
04/03/14 05:34ID:???だから、${this->db}などとして、こいつをなんとか展開させようとしてるのですが・・・
どうやったらいいのでしょうか?
プロパティ$dbにはmysqlという文字列が入っていて
それをどうにかして
mysql_connectとしたいのです・・・
0325nobodyさん
04/03/14 06:04ID:???eval()を使えば可能だろうけど何となくイヤン。
class BaseDB{
function db_connect(){}
}
class ExMySQL extends {
function db_connect(){}
}
class ExPostgreSQL extends BaseDB{
function db_connect(){}
}
ってな感じにしておいて、
$ex_db = new ExMySQL() や $ex_db = new ExPostgreSQL() から
$ex_db->db_connect()で呼び出すのも手かと。
*_connectだけで無く他の関数の違いも吸収しやすいし。
0326nobodyさん
04/03/14 07:59ID:???$func_connnect = $this->db . '_connect';
$con = $func_connect($host, $user, $passwd);
でダメ?
0327nobodyさん
04/03/14 10:01ID:???0328nobodyさん
04/03/14 10:21ID:???すんません、見つからなかったです。。
set_time_limitとregister_shutdown_functionの組み合わせで出来るかと
思ったんですがregister_shutdown_functionではブラウザへの出力処理は
無効みたいで…。
他にはset_time_limitとset_error_handlerとtrigger_errorの組み合わせも
使えそうなんですがどうも例題が分かり難く自分向けの応用が出来んのです
あとは終了する前にJavascriptを出力しておき不完全読み込みのまま
一定時間経過すると専用のページにジャンプする方法も考えたのですが、
どうも順次結果を出力する事が出来ずで…。
コネクションを維持したままブラウザに出力するのには特別な設定が必要
なんでしたっけ・・・?
ウチのサーバが標準でgzip出力なのが問題なのだろうか・・・。
0329nobodyさん
04/03/14 12:41ID:???どのようにしたらよいでしょうか。
for($i = 0; $i =< 10; $i++) {
echo $text[$i];
//(ここで10秒待ちたい)
}
ご教示お願いします。
0331nobodyさん
04/03/14 13:26ID:???初心者だけどアドバイス
sleep(10);
とかじゃダメかな?
ttp://php.s3.to/man/function.sleep.html
0332320
04/03/14 13:37ID:???できました。しかし、それだとmysql_queryとか全部に一回一回代入してから関数を実行するのでソースが汚いです。
>>325さんの方法だと、全部のパターン書かないとだめっぽいので
すなおにmysql_queryと書きます。DBが変わった時はclassの中だけpgとか書き直せばいいので、class使わないで書いていたソースよりははるかに
直す場所が少ないので我慢します。
0333nobodyさん
04/03/14 13:56ID:???過去ログにあった、
http://pc.2ch.net/php/kako/1013/10139/1013919792.html
の>>473と同じくCSVのデータを変更したいのですが、
どのようにすればいいでしょうか?
fputcsvとかあればよかったんですが…
0334nobodyさん
04/03/14 14:32ID:???やってみました。どうも、これだけではうまくいかないみたい・・・鬱
0336nobodyさん
04/03/14 15:31ID:???そうなのです。そのとおりなのです。
まとめてechoされてしまいました。
0337nobodyさん
04/03/14 15:33ID:???とかいってるけど、結局IEじゃぁどうあがいても10秒ごとに出力はしてくれないんだよな_| ̄|○
0338nobodyさん
04/03/14 15:57ID:???出力制御とダミーデータを組み合わせればできそうな気がする。
ob_implicit_flush(1);
while (ob_get_level()) ob_end_flush();
for($i=0; $i<10; ++$i) {
echo "<!--" . str_repeat(".",1024) . " -->";
echo "test<br />";
sleep(10);
}
0342nobodyさん
04/03/14 19:11ID:???アク禁だったので遅レスだが
>詳しい友達から聞くと
>関数はexe自体、クラスはlnkだ、つってたんですが・・・
訊き方が悪かったか、友人の回答に対する解釈(理解)が悪いのか、
詳しい友人とやらが言語仕様に対する実装が単一だと勘違いしてるとか、
その他プログラムがCPUで実際にどう動いているかの理解が不足してるか、
そのどれか。
ずっと同じような環境でプログラミングやってきた人は陥りやすいかも。
組み込み系だと、変数は3文字以内、クラス少なく、継承はしない
などが「良いJavaプログラミング」だったりします。
# あくまでも環境の違いによる考え方の違いの例であって、
# JVMの実装の違いによる考え方の違いの例ではないけどね>上の例
0343305
04/03/14 20:46ID:???なんか、ファイルが複数ある場合、関数を呼ぶ時はそのファイルごとにincludeするから、無駄だっていってたんですが
クラスにしたって、必要のあるファイルごとでincludeしますよねぇ。。
よく分からないです。
関数は、exeをいろんなフォルダにコピーして動かしている。クラスはショートカットを作っているんだ、とも言ってましたが
0344nobodyさん
04/03/14 21:38ID:???それ僕も知りたい
やりかたわかったら教えて
0345nobodyさん
04/03/14 21:55ID:???本家のところからPHPマニュアルダウンロードしてきたんだけどねぇ
文字化けしてるのか、中国語になってるのかで読めないんだよねぇ
ちゃんとphp_manual_ja.chmをダウンロードしたんだけどねぇ
これどういうことかねぇ
0346nobodyさん
04/03/14 22:01ID:???そういったものは用意されていますかね?教えてください!
0347nobodyさん
04/03/14 22:56ID:???一行が可変のテキストファイルを一部の行だけ変更するのは無理っしょ。
結局全て読んで書き出さないとダメだと思う。
頻繁に書き換えるなら、これからはSQLiteなんかを使うのがいいかも。
どうしてもテキストファイルだけで、かつ全ファイル一気読みを避けたいというなら、
ループの中で1行ずつ読み込む。
目的の行でなければ、そのまま新しいファイルへ書き出す。
目的の行なら変更して新しいファイルへ書き出す。
これをファイル終端まで繰り返す。
終わったら、新しいファイルを元のファイル名へリネームする。
こんな感じかな。以前、ちょっとしたファイルで使った方法。
一気読みだけど、PEAR_Authで認証情報の格納先にFileを指定した
場合に使われるFile_Passwdもテンポラリファイルに書き出してリネームする
方法を用いていましたよ。(今もそうかは知らんけど)
0349nobodyさん
04/03/14 23:16ID:???class aとclass b extends aがあって、class aにメソッドbがあって
class bにコンストラクタを省略したらclass aのメソッドbが呼ばれるのは分かるけど、何の意味があるんだ・・・
<?php
class example{
var $x,$y;
function example($x=3,$y=4){
$this->x=$x;
$this->y=$y;
}
}
class example2 extends example{
var $x,$y,$z=2;
function total(){
return $this->x * $this->y + $this->z;
}
}
$obj=new example();
$obj2=new example2();
echo $obj2->total();
?>
これで14が返ってくるのを期待してたんですが・・
プロパティはそのまま使えるっていうのはどういうこと???
0350349
04/03/14 23:20ID:???<?php
class example{
var $x,$y;
function example($x=3,$y=4){
$this->x=$x;
$this->y=$y;
}
}
class example2 extends example{
var $x,$y,$z;
function example2($z=2){
$this->z=$z;
}
function total(){
return $this->x * $this->y + $this->z;
}
}
$obj=new example();
$obj2=new example2();
echo $obj2->total();
?>
これじゃできないのに・・・
継承されるクラスにコンストラクタがあってはいけないということですか??
0352nobodyさん
04/03/14 23:26ID:???0353nobodyさん
04/03/14 23:32ID:???$job2でのコンストラクタはexample2で、exampleは単なるメソッドにしか過ぎない。
継承するクラスにコンストラクタがない場合のみ、基底クラスのコンストラクタが働きます。
もうちっとマニュアル読めばわかると思うが。
0355nobodyさん
04/03/14 23:40ID:???コンストラクタしか継承しないのか、だめだめだな・・・
0356nobodyさん
04/03/14 23:46ID:???>>350
350だと、example2 クラスで(constructorかどうかではなくて)、
継承出来ないように親=exampleクラスのmethodを上書きしてる
からだめなだけ。
class example{
var $hoge = 2;
function disp() {
return $this->hoge+1;
}
}
class example2 extends example{
$a = new example2;
print $a->disp();
}
だと3になるけど
class example{
var $hoge = 2;
function disp() {
return $this->hoge+1;
}
}
class example2 extends example{
function disp() {
return $this->hoge+2;
}
}
$a = new example2;
print $a->disp();
だと4になるというだけです。
0357nobodyさん
04/03/14 23:53ID:???>>349-350をみると勘違いしているっぽく見えた。
>>356
どこのメソッドを上書きしてるのよ?
0360nobodyさん
04/03/15 02:37ID:???改行を無く出力したいのですが、どのようにしたらいいでしょうか?
0361nobodyさん
04/03/15 03:39ID:???対象の変数 $value に対して、
$newValue = strtr($value, "\x0d\x0a", '');
とすればいい。
http://www.din.or.jp/~ohzaki/perl.htm#CRLF_Unify
http://www.din.or.jp/~ohzaki/perl.htm#CRLF_Remove
0362nobodyさん
04/03/15 09:34ID:???$_SESSION に連想配列で入れるのと
session_register() を使うのと
どちらが より一般的なのでしょうか
趣味?
0365nobodyさん
04/03/15 11:20ID:???ブラウザに表示させて確認してしまったっぽだなw
環境によっては改行コードがCRやLFのみだったりするから。
$NewValue = mb_ereg_replace("\0x0d|\0x0a","",$Value);
で、いいんじゃね。
0366nobodyさん
04/03/15 11:50ID:3OJL3637としてセッションの保存先を変更しているのですが、
どうも/tmpにできてしまいます。
0368nobodyさん
04/03/15 12:41ID:???地道にやれ
$a = str_replace("\r", "", $Value):
$b = str_replace("\n", "", $a);
これでおかしかったら他がおかしい。
0370nobodyさん
04/03/15 13:30ID:LUBZXH8jphpで2chのdatファイルを取得する方法について、どなたかよろしいでしょうか。
ttp://www.monazilla.org/document/や
ttp://age.s22.xrea.com/talk2ch/などの資料があるのですが、
よくわからないながらもできるだけ参考にして以下のようなスクリプトを書きました。
<?
ini_set( 'user_agent', 'Monazilla/1.00' );//これは念のため
$fp = @fsockopen("pc2.2ch.net", 80);
if($fp){
fputs($fp, "GET /php/dat/1078592587.dat HTTP/1.0\r\nUser-Agent: Monazilla/1.00\r\n\r\n");
while (!feof($fp) && $o != "\r\n")
$o = fgets($fp, 512);
while (!feof($fp))
echo fgets($fp, 4096);
fclose($fp);
}
?>
0371nobodyさん
04/03/15 13:31ID:LUBZXH8jリクエストがあるたびに毎回、datファイル全体を読み込みなおせばいいのですが、
それではものすごい負荷がかかってしまうので>>17氏に従いfsockを使う事にしています。
ひとまず差分の事などは置いておくとして、
dat全体をまず読み込めるようにしよう!と思ったのですが、、
>>370のようにすると何も返ってこないのです。
接続先をwww.2ch.netにした場合は人大杉のページが表示されました
HTTPの基本的な事で間違えているような気がします。
どなたか、簡単なフォーマットのようなものでもいいのでご教授お願い致します。m(_ _)m
0372nobodyさん
04/03/15 16:05ID:Di4hYbsQファイルのロックって例えば、1つのログファイルを共有している2つの掲示板スクリプトから
同時に書き込んだ時も大丈夫ですか?
0376nobodyさん
04/03/15 18:28ID:???0380221
04/03/15 19:13ID:???0383376
04/03/15 19:29ID:???決められた時間になったら強制的に関数を起動という意味です
sleepではありませんので念のため・・・
0384376
04/03/15 19:37ID:???set_time_limitとset_error_handlerを設定した上でエラー時にエラー名を調べて
タイムアウトと判断した際に自前のメッセージを出す関数を作れば>>321が可能な事は
わかったんですが、ウチのレンサバがPHPをSafemodeで起動しているせいで
set_time_limitが使えないことが判明し、また振り出しに戻ってしまいました
0385nobodyさん
04/03/15 19:47ID:???なんで*たまにだけ*極端に長くなるのか、何の処理をしてるのかその辺も書いてもらわないと
誰も分からないと思うよ。あと、"質問者の情報の小出し"はやめよう。
あと、実行時間が極端に長くなるような(どれくらいか知らんけど)スクリプトを動かすのは
結局そのレン鯖に迷惑がられるんじゃない?
0386376
04/03/15 19:56ID:???fsockopenでの読み出しで止まっているようです
socket_set_timeoutも使ってるんですが何故か効かない・・・
これ以上はサイトがバレバレなので控えたいです
0387nobodyさん
04/03/15 20:26ID:???session_destroyはセッション変数をクリア(NULLにしたり解放したり)しているわけではない。
session_destroy後もセッション変数に代入された値は生きている。
マニュアルをよく読めば判るが、セッションに登録されているデータを破棄している。
要は、session変数を保存しているファイルそのものを削除してしまう。
session_unsetはsession変数を解放する。session変数を保存しているファイルそのものは
存在するが、中身は空っぽ(に近い状態)になる。
0388362
04/03/15 21:01ID:???$_SESSIONを使うのが一般的だとすると
session_register()は何のためにあるのか
さっぱりわからんし
0389nobodyさん
04/03/15 21:20ID:???話はそれからだ
0390nobodyさん
04/03/15 21:21ID:???それsocket禁止されてんじゃあ・・
ちなみにforで65535ループ2重くらいにすればphpすぐタイムアウトするよな
萎えすぎる
0391nobodyさん
04/03/15 22:15ID:???fsockopen で開いた後の fread か fgets で止まるということかな?
その場合は、非ブロックモードにすれば止まらなくなるはず。
PHP 4.3.0 以上でしか使えないし、扱いが難しいけど。
0392362
04/03/15 22:19ID:???セキュリティとコードの可読性のために$_SESSION (またはPHP 4.0.6以前は$HTTP_SESSION_VARS)の使用 が推奨されます。
これね。そういえばうちは秋刀魚だったよ。
0393nobodyさん
04/03/15 22:54ID:???0394nobodyさん
04/03/15 23:08ID:???0395nobodyさん
04/03/15 23:35ID:???新しいので作ってみた
chm版
http://up.isp.2ch.net/up/031d77c3b544.zip
どうでもいい話だが、本文は別に文字化けしている訳じゃない。
対応フォントを表示できない環境で見ようとしているだけ。
0396nobodyさん
04/03/16 00:03ID:???それを見た側から言うと文字化けというのじゃないだろうか
0397nobodyさん
04/03/16 00:06ID:???乙。まだロダが混んでいていただけてませんが。
で、聞くけど、対応したフォントをインストールしていると
そのままでも読めると言うことかな?
どのフォントを使っているの?
0398nobodyさん
04/03/16 00:13ID:???一つ一つ$array[i]があるかどうかしなきゃならないなんてことはないですよね?
0400nobodyさん
04/03/16 00:19ID:NGiTkHYyThx
0401nobodyさん
04/03/16 01:43ID:???マヂサンクス
いただきました。
これでマニュアル嫁る
0404362
04/03/16 11:04ID:???可読性はともかくセキュリティで何か問題あるの?
0405nobodyさん
04/03/16 11:31ID:NZM27FO2まずpublic_htmlのsessionディレクトリをchmod 755 session
として書き込みを出来るように致しました。
そして、セッションの保存先の記述はsession_start()よりも前に書き、保存先が
変更されるように致しました。
<?php
session_save_path("/home/xxx/public_html/session");
session_start();
?>
しかし、保存先は変更されず、設定を変えているにも関わらず、
書き込みができないというエラーが出てしまいます。
どこか原因があるのでしょうか?
0406nobodyさん
04/03/16 11:40ID:???ない。
>>405
保存先ディレクトリはhttpdが動いているユーザ(一般にはnobody,www,apache等)
の書き込み権限が必要。
0407nobodyさん
04/03/16 12:40ID:NZM27FO2ちょっとおっしゃられていることと違うことをやっていたら
ごめんなさい。
chown:chown /home/xxx/public_html/session
とすべきということでしょうか?
0408nobodyさん
04/03/16 12:54ID:NZM27FO2chown nobody:nobody /home/xxx/public_html/session
0409nobodyさん
04/03/16 13:08ID:???0410nobodyさん
04/03/16 13:11ID:???いいんじゃないのそれで。
ついでにパーミッションも0700に変更しとけ。
chmod 0700 保存先ディレクトリ
#SafeModeでやるとどうなるか知らんが、動くんなら気にするな。
0411nobodyさん
04/03/16 13:41ID:RN6yU9c4GUIの画面で「pkg」拡張子のファイルを指定しろと出るのですが
PHPのパッケージって一体ドコにあるのですか?
ちなみにサーバ自体は触れません。 winのマシンでリモートで
コントロール画面をいじるような環境にいます。
CobaltはRAQ3ってやつです。
散々webを回ったんですが、用語すら難しくてわかりません。
テルネットやLINUXの知識は皆無なんです。
よろしくお願いします。
0412402
04/03/16 14:28ID:???レスありがとうございます、しかしHost:を送ったり、
fputs($fp, "Accept-Encoding: gzip");などとしてみてもだめでした。
一応、Hostを送る場合も送らない場合も「人大杉」の画面は出ました。
でも他の専用ブラウザのようにdatの内容を取得することができなかったです。
phpとあまり関係ないところで間違えてるのでしょうか、、、
もしアドバイス頂ければ、どなたかお願いします。
0414nobodyさん
04/03/16 16:27ID:???Cobaltはパネルを通して管理するスタイルのために
他のUnix系の管理とは異なることも多く、その分 Cobaltの
コミュニティがちゃんと存在するので、そっちいって訊きな。
今のバージョンのPHPのパッケージを作ってる人がいるかもしれん。
純正のやつなら、Cobalt買ったときにメディアが付いて来たろ。
バージョンは古いけど。なけりゃCobaltのサイト(まだあるかな?)
にも置いてあったな。
>散々webを回ったんですが、用語すら難しくてわかりません。
>テルネットやLINUXの知識は皆無なんです。
別にCobaltならtelnetやLINUXの知識はなくてもいいが、
逆にCobalt独自の管理知識しらないとやっていけないぞ。
それを勉強するのに用語が判らないのなら、前提となる
Unixの一般知識も勉強しな。
0415nobodyさん
04/03/16 16:44ID:???「..」と語尾につけたいのですが、どのようなスクリプトを書いたらいいでしょうか?
0416415
04/03/16 16:45ID:???0417nobodyさん
04/03/16 16:58ID:???0419nobodyさん
04/03/16 17:11ID:???正規表現かけるのが定石なんでしょうか?
英語向けサイトで文字化けを防ぎたいのですが。
0421nobodyさん
04/03/16 17:33ID:???0424nobodyさん
04/03/16 18:03ID:6IiWiqvl「この文章でよろしいですか?Y/N」みたいなアラートを出したいのですが
vbでいうmsgboxみたいなもの教えてください。
0425nobodyさん
04/03/16 18:07ID:???ブラウザは何使ってる?
IEならJavaScript使えばいいし
ネットスケープならJavaScript使えばいい
そのほかなら自分で調べるしかないけど
0427nobodyさん
04/03/16 18:08ID:???<?
$fp = @fsockopen("pc2.2ch.net", 80);
if($fp) {
fputs($fp, "GET /php/dat/1078592587.dat HTTP/1.0\r\nHost: pc2.2ch.net\r\nUser-Agent: Monazilla/1.00\r\n\r\n");
while (!feof($fp) && $o != "\r\n") $o = fgets($fp, 512);
while (!feof($fp)) echo fgets($fp, 4096);
fclose($fp);
}
?>
これで読めるけど。
0429nobodyさん
04/03/16 18:21ID:6IiWiqvl確認画面を出したいです。
phpで書いてある掲示板なのでおなじsubmitのところにはjavascriptは無理なのでは?
javascriptの中にphp書くのも不可能じゃないんですか?
たぶん相当バカな事いってると思いますが心を仏にしてお願い致します。
0431nobodyさん
04/03/16 18:47ID:???セッションで値渡したら楽だよ。
んで、確認画面は
<input type="text" name="name" value="<?php echo $_SESSION['name']; ?>">
・
・
・
こんな感じで
0432nobodyさん
04/03/16 18:54ID:???情報の後出しは良くない
JAVASCRIPTならボタンをSUBMITじゃなくて普通のボタンにして、アラート後OKならSUBMITする関数を呼び出せばいい
PHP側はHTMLを吐き出す際にJAVASCRIPT付きで吐き出せばいい
確認画面にしたいなら.>>431
0433nobodyさん
04/03/16 19:05ID:NZM27FO2リンクとしてセッションを継続する場合は、セッションIDは
新しく生成されないが、セッションの開始のページを
開くたびに、セッションIDがどんどん保存されていくことは
正しいですよね?
0434nobodyさん
04/03/16 20:59ID:IotPKUsmwrite.php?target=2
の様な情報って受け取れます?
0435nobodyさん
04/03/16 21:05ID:???ほぅ?
http://jp.php.net/reserved.variables
0437nobodyさん
04/03/16 21:21ID:???文字列から 複数の指定文字 以外 の文字を 置換する
うまい方法ある?
0439437
04/03/16 22:21ID:???preg_replaceだと、正規表現でマッチする分を置換できるけど
マッチ「しない」分を置換する方法がわかんない
正規表現で否定の指定方法がわかればすむ話かなあああ
0440nobodyさん
04/03/16 23:21ID:???指定文字列以外なら無理ぽだが、指定文字以外なら出来る。
ABC以外の文字をZに置換。
ereg_replace("[^ABC]","Z",$str);
0441nobodyさん
04/03/16 23:23ID:???mb_ereg_replaceで条件にマッチするものを削除(mb_ereg_replace("正規表現","",$str);)
してから置換を行えばいいのでは?
0442nobodyさん
04/03/16 23:31ID:???指定文字列もなくなっちまうじゃん。
一旦、指定文字列とその出現位置を覚えておいて削除し、
残った文字を全て置換後、その文字列を元あった位置に戻すとかすりゃ可能だが。
0444nobodyさん
04/03/17 00:08ID:???windowsでやっています。
c:\test.php
と表示させたいので
c:\\test…
と入れると
c: est…
と表示されてしまいました。どうしたらいいのか分かりません。教えてください。
0446nobodyさん
04/03/17 00:23ID:???そういうときはシングルクォートでくくれ
0447nobodyさん
04/03/17 01:28ID:???include_path とかのパス区切りは ; にせんとだめだけど。
0448nobodyさん
04/03/17 04:58ID:???テンプレートセット・マネジャー ≫≫ defaultでこれ( /></td></tr><input type=)を定義している場所がわかりません・・・
具体的に未登録ユーザの表示名が定義されているファイルはどこでしょうか?
変数を入力する( /></td></tr><input type=)のファイルと、代入先が解れば自力で直せそうなんで教えてくれませんか?
多分自分の予想だとここ(変数を入力する( /></td></tr><input type=)のファイル)のどこかの整合性がとれていないと思うのですが・・・
なにかが欠落してるのかもしれません
お力をお貸しください
0449nobodyさん
04/03/17 05:00ID:???スマソ。XOOPSのHPやってます。不具合があるので解る方レスお願いします
0450nobodyさん
04/03/17 05:21ID:???go away.
http://pc2.2ch.net/test/read.cgi/php/1067311026/l50
0451nobodyさん
04/03/17 09:30ID:k72f02s2Header("Content-disposition: attachment; filename=hoge.csv");
Header("Content-type: application/octet-stream; name=hoge.csv");
$str = "hoge,hoge";
print ( "$str" );
現在このようにしてcsv出力を行っていますが、
「ファイルのダウンロード」ダイアログが出てきて、保存をクリックすると
単純にPCに保存ができます。
開くをクリックするとまた「ファイルのダウンロード」ダイアログがでてきて、
もう1度開くをクリックすると今度はテキストエディタでcsvファイルが開きます。
なぜ2度ダイアログが出てくるのでしょうか。
1回で開くを実行できないでしょうか。
0453402
04/03/17 10:48ID:???・・・・?何で動かなかったんだろう・・・(´д`)
とにかく助かりました。
HTTPやネットワークプログラミングについて、もう少し詳しく勉強してみます。
0454nobodyさん
04/03/17 10:48ID:???0455nobodyさん
04/03/17 11:28ID:6/A8lM/E0456nobodyさん
04/03/17 11:49ID:???0460nobodyさん
04/03/17 17:11ID:6/A8lM/Esession.gc_maxlifetimeなどの指定はできますか?
0462nobodyさん
04/03/17 17:24ID:???session.use_trans_sid以外は、PHP_INI_ALLだから可能。
http://www.php.net/manual/ja/ref.session.php
マニュアルも読めんのか?
0463nobodyさん
04/03/17 20:15ID:6/A8lM/Eini_set( 'session.cookie_lifetime' ,3600 );と記述しました。
書き方がおかしいでしょうか?
この書き方では、設定変更は出来ないようです。
0464nobodyさん
04/03/17 20:52ID:dMGK56zpHTMLファイルのセレクトメニューの値を
PHPファイルのセレクトメニューに反映させる方法をどなたかご教授ください。
宜しくお願いします。
0466nobodyさん
04/03/17 20:56ID:???お父ちゃんな、マニュアルも読まん子は好きやないねんけどな。
<?php
ini_set('session.cookie_lifetime', '3600');
// 引数は数値で書いても型変換されるけど、正しくは文字列。
phpinfo();
?>
として鯖に置いて確かめてみ。普通は特に変更不可にはしてない筈。
確認しても駄目なら管理者に問い合わせ。
0467nobodyさん
04/03/17 21:02ID:???hai? って感じだが、<select><option>の特定のoptionを選択状態で表示したいって話なら、
phpに関係なくHTMLの話やね。<option selected>item のようにselectedをつけりゃいい。
どのoptionにselectedを付けるか、つーのはプログラマである君がゴリゴリ書く仕事やね。
0468nobodyさん
04/03/17 21:42ID:???レスどうも。
もちろんserectedはわかるんだけど、
やっぱゴリゴリ書かなきゃなんねえのですか。
ありがと、今からゴリゴリしますわ。
0469nobodyさん
04/03/17 21:46ID:???selected
恥ずかしいっす。
0470nobodyさん
04/03/17 21:48ID:6/A8lM/ELocal Valueは3600に変わるのですが、Master Valueは0になっております。
Master Valueも3600には変わらないのでしょうか?
0472nobodyさん
04/03/17 22:16ID:???0473nobodyさん
04/03/17 22:27ID:HqRKwDEV『表示』とか『貼り付け』とかが文字化けするんですけど、
なぜでしょうか?
phpのコードにはmetaタグでShift_JISとしてまして、
mysqlのdefault-character-setはsjisにしてあるんですけど。
0474nobodyさん
04/03/17 22:57ID:???表 -> 95 5C
貼 -> 93 5C
5Cつーのが目に付くと思うんだけど、これは「\」の文字コードなのよ。
で、\つーのはメタ文字とか言って続く文字の1バイト目をエスケープしちゃうわけよ。
addslashesやmagic_quotesをゴニョゴニョして対処する方法もあるけど、結構めんどい。
shift_jisでしか扱えない文字をどうしても使いたいって時を除いては
EUCでスクリプトを書くのが楽って言われるわけやね。
画面表示のタイミングでEUCからshift_jisに変換できるしEUCでやっとけばええんでないの?
0475nobodyさん
04/03/18 00:05ID:???そりゃMaster Valueは、php.iniで変えるもんやからな。
つか色々自分でやって試してみなよ。鯖借りてるとしても、
ローカル(Windowsでも良い)に似たような環境作って。その方が飲み込み早い
# 持ってなかったら、もう一台ぐらい中古の安いの買えれ。
0477nobodyさん
04/03/18 01:43ID:???LAN内からしかアクセスできないとか。
もしくは開発をローカルでやっててURLを127.0.0.1のまま携帯でつなごうとしてたり。
0478nobodyさん
04/03/18 02:01ID:pqPZG/Ug発行されるところがありますけど、あれはどうやって決められてるものなんでしょうか?
登録時の時間とか、連番とかを、(方法はわからないけど)別の数字や文字に置き換えてるんでしょうか。
そういう処理ってPHPでもできますか?
0479nobodyさん
04/03/18 02:55ID:GIO+BTKSmb_convert_kanaをどのように使えばいいのでしょうか?
0480nobodyさん
04/03/18 03:32ID:???$ren = "文字列";
mb_convert_kana($ren, "c") = $ren2;
if(mb_strwidth($ren) == mb_strwidth($ren)){
TRUEの処理
}else{
FALSEの処理
}
すまぬ…折れの頭脳ではこれが限界だ…
0483nobodyさん
04/03/18 13:46ID:???001<>kakiku
002<>ai-n
003<>hoge
002<>afe
001<>unko
例えばこのようなログファイルを読み込むとき、
先頭の番号に準じて配列に格納するにはどうしたらいいでしょうか?
この場合、
$arr_001 = array("kakiku", "unko");
$arr_002 = array("ai-n", "afe");
$arr_003 = array("aiueo", "hoge");
といったような感じにしたいです。
0484nobodyさん
04/03/18 14:17ID:???かなり変態なソースの気もするが・・・
$nに番号、$vに値を収納したとして下記をレコード分回す
$array_name="arr_".$n;
if(!isset($$array_name))$$array_name=array();
array_push($$array_name,$v);
可変変数の配列に代入するにはarray_pushが必要なようです。ベンキョウニナリマシタ
0488nobodyさん
04/03/18 21:39ID:+47BygHQ現在、配列を特定の条件でマージしようとしています。
マージの関数はarray_mergeとarray_merge_recursiveを試してみたのですが
思ったような処理をすることが出来ません。
usortの用に比較関数をユーザー定義できるものって無いのでしょうか?
0489nobodyさん
04/03/18 21:53ID:XqncjgjWcのmain関数のreturn()に戻したい値を入れてもどこに戻ってるのかわかりません。どうすればよいか教えて
くださいまし。
0494taku
04/03/18 23:08ID:dRleo8tvPHPで日本語メール送ると文字化けが起こります。
mb_send_mail関数の前にmb_language関数で
mb_language("japanese");を指定すると
件名と本文がエンコードされて文字化けが起こらないように
なるみたいですが何度か試したのですが文字化けが起こりました。
レンタルサーバーですので問い合わせた所
「mb_send_mail関数とmb_language関数ともに有効ですがEUCーJPで
動作している為メールの場合そのままでは文字化けを起こして
しまうようです。自動変換機能をONにしましたので再度ご確認下さい。」
と返答がありましたが、いまいちわかりません。
何か良い解決方法ありましたら教えて下さい。<(_ _)>
ちなみにテストしてたのは↓のような簡単な構文です。
<?php
$to_addr = "***@yahoo.co.jp";
$title = "テストメール";
$body = "テスト";
mb_language("japanese");
if(mb_send_mail($to_addr,$title,$body,'From:
maz@promadu.com')){echo"
送信成功";}else{echo"送信失敗";}
?>
0495nobodyさん
04/03/18 23:18ID:v217X1kZmb_send_mail($to_addr, mb_convert_encoding($title,"jis","euc-jp"), mb_convert_encoding($body,"jis","euc-jp"),'From:maz@promadu.com')
0496taku
04/03/19 00:07ID:zEoQqiAa早速のご返答どうもです。試したのですけど、文字が変換されてる
らしいのですが、届いたメールには文字化けではなく
文字が削除?(空欄状態です)されていました。
うーむ、となるとサーバーの設定がまずいのですかねぇ?
何か他に良い案がありましたら教えて下さい。<(_ _)>
0497nobodyさん
04/03/19 00:28ID:???PHP のバージョンは?
PHP の一部のバージョン(確か PHP 4.3.2 から PHP 4.3.3 くらい)は mb_language() が
正常に働かなかったような気が。
php.ini の設定が
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
になっていれば mb_language('Japanese') はなくても大丈夫だったと思うけど。
0498488
04/03/19 01:34ID:Ll14L7j+いえ、この場合、特定の条件や処理の話はたんなる比喩で
「usortのように比較関数をユーザーが定義できる、マージ関数はあるのか?」
という事が質問の趣旨のつもりでした。
わかり難くてすみません。
0499nobodyさん
04/03/19 02:10ID:nZ+iMlnl例えばフィールドサイズがテキスト型で20のデータを読み込もうとすると、
全角だと10文字までしか取得できません(半角なら20文字読めます)。
10文字以降はゴミがついてきます。
odbcのアクセスにはodbc_result()、odbc_exec()関数などを使用しています。
どなたか教えてくださいませ。
0501nobodyさん
04/03/19 02:49ID:???0502nobodyさん
04/03/19 09:33ID:???0505nobodyさん
04/03/19 12:10ID:jbsetE8tそのとき、1段ごとで、色を変えたいのですが可能でしょうか?
0506nobodyさん
04/03/19 12:28ID:???0508nobodyさん
04/03/19 13:04ID:jbsetE8tPHPでDBにあるデータを表示させています。
そして、テーブル形式で表示させています。
そのとき、1段ごとで、色を変えたいのですが可能でしょうか?
0511nobodyさん
04/03/19 13:17ID:???テーブルの行を順々に異なる色にする程度の知識レベルがあれば可能
DB無関係
これが理解できなかったら、かなり不可能
0513nobodyさん
04/03/19 14:25ID:???プログラミングの基礎だ。
0514nobodyさん
04/03/19 15:10ID:???漏れだけなんかなぁ。もうそんなシビアな時代じゃない?
0516nobodyさん
04/03/19 16:10ID:???$a = $b / 2;
なんてのを
$a = $b >> 1;
にしたがるのも漏れだけ?まぁこれは文脈によってはダメだけど。
0517nobodyさん
04/03/19 16:16ID:???0518nobodyさん
04/03/19 16:27ID:???PHPの時は、そんなもんインタプリタ言語で気にするのが変と思ってる。
結論として、文脈で分かりやすいほうの記述をとるな
もうそんな時代じゃないというのにかなり賛成
0520nobodyさん
04/03/19 17:32ID:???PHP-DOC を見た感じ diff だけだし。
0523nobodyさん
04/03/19 18:31ID:???「1段ごとで、色を変えたいのですが可能でしょうか?」
つまり、一段ごとに"任意の色"を付けたいのかもしれん。
→ テーブルに任意の色保持するフィールド作れよ。
0525nobodyさん
04/03/19 20:55ID:EiWH/2WlRuby のライブラリを移植したのですが、
参照渡しにしているにもかかわらず、
処理に 10 倍以上の時間がかかります。
正規表現が悪さをしているんでしょうか?
0526nobodyさん
04/03/19 20:58ID:???CGIのjcode.plに相当する関数はPHPにありますか?
0529nobodyさん
04/03/19 21:58ID:???http://jp.php.net/manual/ja/ref.mbstring.php
>>527
神内さん、乙。
0530nobodyさん
04/03/19 22:04ID:mkcYvZdshttp://www.google.com/search?q=jcode.php&hl=ja&lr=lang_ja
0531489
04/03/19 22:21ID:pIHWidCqありがとうございます。とりあえず0−255まで値が渡るようになりました。
重ね重ね恐縮ですが、256より大きな数はどうすればよいでしょうか。
0534nobodyさん
04/03/20 00:54ID:???沢山必要になったときどういう風に変数名付けてる?
俺まったくの行き当たりばったりだから$fpxとか$fp2みたいなやる気も統一性もない名前ばかりなんだが
0535nobodyさん
04/03/20 00:58ID:2jbtOFQU0536nobodyさん
04/03/20 01:13ID:???両立できないんでしょうか。
function hoge(&$foo = "bar"){
// ...
}
こういう書き方をするとエラーが出て困っています。
0538nobodyさん
04/03/20 01:38ID:2jbtOFQU0539536
04/03/20 01:40ID:???こういう書き方はできますか?
動作はするみたいですけど。
function hoge($foo = "bar"){
//...
}
hoge(&$a);
0540nobodyさん
04/03/20 02:34ID:???php -r "$a='hoge';"
php -r "$a=&'hoge';"
ってやって試してみなよ。。
エラーの内容を見れば想像出来ると思うが。
そんなコードが必要になる時点で何か変なんだよ。
0541536
04/03/20 02:57ID:???ええと…>540さんは、変数に入ってない値への参照を作成することは
できないっておっしゃりたいんでしょうけど、>539は動きますよ。
だって、変数に入ってない値への参照を作成していないのですもの。
それに私は>539みたいなコードが必要だから、
そういうコードを書いているのですけど…。
参照渡しの引数にデフォルト値を設定することの、何が変なのかよくわかりません…。
0542nobodyさん
04/03/20 03:31ID:???━ヽ(´c_`)ノ━
0543nobodyさん
04/03/20 08:22ID:0einhvXNrequireやrequire_onceを使うと、単に「ソースコードの追加」を行うだけでなく
他のphpの'出力結果'を取り込む事もできるんでしょうか?
読み込み対象のphpがリモートファイルの場合でも可能でしょうか?
0544526
04/03/20 08:40ID:???0546543
04/03/20 08:59ID:???マニュアルも読み足りなかったかもしれませぬ。
しかし、なぜrequireだとwarningが出て、fopenだと出なかったんだろう。
requireを使って外部鯖のphpの出力を取り込むと、「seekingはサポートしてません」
みたいなwarningが出てから一応出力もされるんですが
ファイルポインタ使ってない(つもりな)のに、なんでこんなエラーが出たのだろう・・・
fopenで最初から最後まで書き下すようにしたらなんもエラーは出なかったです。
0547nobodyさん
04/03/20 11:26ID:Hxt1FY25Linuxの何か + ApacheでUTF-8の読み書きをすると英数字以外が文字化けするんですよ。
php.iniを変更できないレンタルスペースの環境で
UTF-8を読み書き検索したいのですが、
mbstringを使う方法ってありますか?
0549547
04/03/20 13:52ID:???単にフォームからデータを受け取る時にうまく
受け取れてないだけのようです。
失礼しました。
0550nobodyさん
04/03/20 14:17ID:g6YYdXkPimgタグ付きのテキストリンク(広告)を
phpでランダム表示させたいのですが、
phpでテキストリンクをランダムに表示させるには
どの様にすればいいでしょうか?
分かる方いたらお願いしますm(_ _)m
簡単にそのランダムさせる文面を
追加できれば嬉しいです
0551nobodyさん
04/03/20 14:17ID:???PHP5b4は問題なかったのに
RC1がインストールできなくなったんだけど俺だけ?
(php5ts.dllが駄目だとかでapacheが強制終了)
0552nobodyさん
04/03/20 14:31ID:???こういうのか?
<?php
$com = array("広告0", "広告1", "広告2");
srand(time());
print $com[rand(0,count($com) - 1)];
?>
-------------------------------------------------
で、私も質問。
フォームで日本語が文字化けするですよ。
--html--
<FORM METHOD='post' ACTION='utf.php' accept-charset='UTF-8' NAME="FormItemWrite">
<INPUT TYPE='text' NAME='fname' VALUE='あいうえお' />
<INPUT TYPE="submit" value="Go" />
</FORM>
--php--
<?php print $_POST["fname"]; ?>
で文字化けするんですが、何がいけないんでしょ。
環境はLinux系の何か+PHP4.3.?です。
0553550
04/03/20 14:34ID:g6YYdXkPありがとうございます。
"広告0", "広告1", "広告2"の部分に
<a href="http://"">テキスト</a>といれればいいのでしょうか?
0554552
04/03/20 14:38ID:Hxt1FY25'<a href="http://a.b.c">D</a>'な。
ダブルクオーテーション(")の中にダブルは使えないのでシングルで代用。(')
もしくは逆。
0555nobodyさん
04/03/20 14:46ID:3WXcgaTHちなみに今ある知識はHTMLのみです。
0558nobodyさん
04/03/20 14:59ID:???WindowsXP Pro+Apache1.3.29
- Apache/1.3.29 (Win32) PHP/5.0.0RC1
WindowsXP Pro+Apache2.0.48
- Apache/2.0.48 (Win32) PHP/5.0.0RC1
どっちも普通に動いてるけど?
php5ts.dll、RC1ので上書きしてないんじゃないの。
PHP5b4は問題なかったのに
RC1がインストールできなくなったんだけど俺だけ?
(php5ts.dllが駄目だとかでapacheが強制終了)
0560nobodyさん
04/03/20 15:03ID:???accept-charsetは気休め。
本当にUTF-8で渡ってきてるか、渡ってきてるなら
PHPで受け取りに至るまでの変換処理でおかしな設定
になってないか調べてみ。ただ、PHP4.3.xで細かく
マルチバイト周り修正されてるので、その辺の差異にも注意。
0561nobodyさん
04/03/20 15:07ID:3WXcgaTHインターネットとかできますよね?
0563nobodyさん
04/03/20 15:14ID:3WXcgaTHありがとうございます。
0564nobodyさん
04/03/20 15:30ID:???$sql = "select * from members limit $_GET['st'], $_GET['n']";
0565nobodyさん
04/03/20 15:33ID:???0566555
04/03/20 15:43ID:3WXcgaTH途中で↓を入力する画面がでてきます。
いったなにをいれればいいのでしょうか?
Network Domain
Server Name
Administrator'sEmailaddres
ご指導のほどよろしくお願いいたします
0567nobodyさん
04/03/20 15:48ID:???String中では$_GET['hoge']じゃなくて$_GET[hoge]と書く。
つまり
$sql = "select * from members limit $_GET[st], $_GET[n]";
0569nobodyさん
04/03/20 15:49ID:???0570nobodyさん
04/03/20 15:51ID:???あとあとトラブルの元だから
{ }
で囲むことをお勧めする。
$sql = "select * from member limit {$_GET['st']}, {$_GET['n']}";
だな。まぁもっと言えばわかりやすい変数に代入しておく方がいいと思うが。
$st = $_GET['st'];
$n = $_GET['n'];
0571564
04/03/20 15:58ID:???あっ!エラーが消えた・・・
技術評論社の
実例で身に付ける
MySQL×PHPによる
本格Web-DBシステム入門
と、いう本で勉強しています。p66
ありがとうございました。m( _ _;)m
0573564
04/03/20 16:03ID:???m(__)m
0575nobodyさん
04/03/20 16:30ID:???恐ろしいので、普通は $_GETや$_POSTで取って来た値を
そのまま使ってSQL文を生成しない。今後のために
"SQLインジェクション"で探して勉強しとけ。
0576564
04/03/20 16:40ID:???∠(`・ω・´)シャキーン
0577550
04/03/20 16:42ID:g6YYdXkP無事表示できました。しかし、ランダムではなく
リロードすると並べた順番に出るような。。。
0578555
04/03/20 18:14ID:3WXcgaTHブラウザにhttp://127.0.0.1、http://localhost
サーバーが見つからないか、DNS エラーです。
となってしまいます。
http://aki.adam.ne.jp/php/apache_install.htm
このページを参考にしました。
Apacheが動作していないようです。どなたかおしえてください。
0579nobodyさん
04/03/20 18:20ID:???読む単体と書く単体はできるのですが書き換えができません。
流れとしては、ファイルの中身を削除→新しい内容の書き込みでいいんでしょうか?
ファイルの内容を削除する方法を教えてください。
0583555
04/03/20 21:38ID:3WXcgaTHの中に保存したのですが
http://localhost/test.php
みると真っ白なページがでてきます。
右クリックしてソースを見ると
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>無題ドキュメント</title>
</head>
<body>
<?
echo "PHPインストール成功!!!";
?>
</body>
</html>
となっています。なぜ実行されないのでしょうか
どなたかアドバイスしてもらえないでしょうか
今日はすでに12時間ぐらい四苦八苦してます。集中力が
なくなりアドバイスをもとめました。
0584nobodyさん
04/03/20 21:47ID:???http://aki.adam.ne.jp/php/php_install.htm
は、当然読んでるんだよな?
httpd.conf書き換えて再起動はOK?
つか、とりあえず寝れば?
0585555
04/03/20 21:56ID:3WXcgaTHもちろん読みました
今確認したところ問題ないのですが
他に考えられる原因はないでしょうか?
このままでは練れません
0586nobodyさん
04/03/20 22:08ID:???それが動いて>583が動かないならショートタグの問題だろ。
ショートタグ使わないか、php.iniいじれ
0587555
04/03/20 22:12ID:3WXcgaTHphpinfo();
?>
だけ記述してみたら
こんどは、
<?php
phpinfo();
?>
↑が表示されました
0588nobodyさん
04/03/20 22:24ID:???. |
〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
. >( c´_ゝ`) |
. |
.>( c´_ゝ`) J
>( c´_ゝ`)
. |
〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜
. | >( c´_ゝ`)
. |
. J >( c´_ゝ`)
>( c´_ゝ`)
0589nobodyさん
04/03/20 22:30ID:???0590nobodyさん
04/03/20 22:32ID:???PHPがapacheに組み込まれているかどうか確認してみよう。
コマンドプロンプト(DOS窓)を開き、
telnet localhost 80
と入力してリターンキーを押す。以下 リターンキーを[R]で表す。
画面がクリアされ、入力待ち状態になる。
GET / HTTP/1.0[R][R]
と入力する。打ったはずの文字が表示されないが気にするな。
画面に表示される文字の中に Server: Apache/〜 の行があるはずだ。
オイラの環境では、Server: Apache/1.3.27 (Win32) mod_jk/1.2.0 PHP/4.3.4 と表示される。
この行にPHPという文字が含まれているか確認汁。
0591555
04/03/20 22:41ID:3WXcgaTH0592nobodyさん
04/03/20 22:50ID:???他にAddModule 〜 って沢山書いてある行があるから、
その下あたりに、
AddModule mod_php4.c
を追加してから、apacheを再起動してみ。
0593nobodyさん
04/03/20 22:53ID:???566 :555 :04/03/20 15:43 ID:3WXcgaTH
Apache Web Server をインストールしようと思うのですが
途中で↓を入力する画面がでてきます。
いったなにをいれればいいのでしょうか?
(以下略)
583 :555 :04/03/20 21:38 ID:3WXcgaTH
apache,PHPをインストールして、test.PHPをhtdocs
の中に保存したのですが
http://localhost/test.php
みると真っ白なページがでてきます。
右クリックしてソースを見ると
(略)
となっています。なぜ実行されないのでしょうか
どなたかアドバイスしてもらえないでしょうか
今日はすでに12時間ぐらい四苦八苦してます。集中力が
なくなりアドバイスをもとめました。
0594555
04/03/20 22:57ID:3WXcgaTH>>593
本とです今日朝5時ぐらいからやってるんで
俺ばかか(w
0595nobodyさん
04/03/20 23:03ID:???0596555
04/03/20 23:10ID:3WXcgaTH今日からPHPをやってみようともって
それでいろいろ調べたりしてたんで
apacheの存在を知ったのは今日です
0597nobodyさん
04/03/21 00:49ID:???何も解らないならphpdev使っとけ。
それが一番早道だ。
0598nobodyさん
04/03/21 03:24ID:???http://allabout.co.jp/career/database/closeup/CU20020713/
に連続数掲載を参考にする方がイイよ。
私もコレで動かしています。
0599>525>536
04/03/21 13:03ID:???それでも web 用なのに処理に 0.75 〜 0.9 秒ほどかかりますが…。
速度アップのポイントは、以下の通りでした。
1. 値をリファレンスで渡したり、変数に保持する
2. array_push() のかわりに [] メソッドを使う
3. ereg() のかわりに preg_match() を使う
1. は、大きな配列をリファレンスで渡すのはもちろん、
count() に渡す配列をリファレンスで渡すことが
大きな速度アップになりました。
2. は、array_push() を使うより [] メソッドの方が速いそうです。(常識?)
微妙な速度アップですが、役に立ちました。
0600564
04/03/21 13:14ID:2W7KIwm2実例で身に付ける
MySQL×PHPによる
本格Web-DBシステム入門
の関連ですが、同社のHPで検索をするとサンプルプログラムが出てきますね。
http://www.gihyo.co.jp/
やっぱ、本とはちょっと違うようです。
ではでは(´・ω・`)ノ
0601555
04/03/21 13:26ID:xd8jBeYb<?
echo "PHPインストール成功!!!";
?>
PHPインストール成功がちゃんと表示されました。
感激しました。みなさんありがとう。
白い巨塔最終回より感激したかも(w
0602nobodyさん
04/03/21 14:04ID:???ApacheにしろPHPにしろ細かい調整はまだまだ・・・
0603nobodyさん
04/03/21 15:34ID:???0604nobodyさん
04/03/21 17:34ID:jmarRdj5どうしても下記のようなエラーが出てしまいます。
X-Cache: MISS from xxx.xxx.domein
が問題の部分だと思うのですが、
ASP+XMLRPCクライアントでは繋がるのでプロキシーサーバーの設定
が問題ではないようです。
PHPにて、XMLRPC通信をしたことある人でこのようなエラーを解決された方
いましたらご助言いただけませんか?
恐らくXMLRPCが問題ではなく、PHPとPROXYの間での問題だと思うのですが。
HTTP/1.1 200 OK
Date: Sat, 20 Mar 2004 15:39:07 GMT
Server: Apache/1.3.29 (Unix) mod_perl/1.29
Content-Length: 446
Content-Type: text/xml
SOAPServer: SOAP::Lite/Perl/0.55
X-Cache: MISS from xxx.xxx.domein
Connection: close
0605nobodyさん
04/03/21 20:32ID:???0606nobodyさん
04/03/21 20:55ID:???スレッドごとにテーブルを持つべきですか?それともすべてのレスをひとつのテーブルにぶち込みますか?
0610nobodyさん
04/03/22 02:12ID:zKPdzv8Eと定義して、call_user_func('abc', "hogehoge");
で関数を呼ぶことができますが、
'abc' が関数として、定義されているかどうかを
調べる関数があれば、教えて下さい。
0611nobodyさん
04/03/22 02:16ID:???MMcache や APC 使えばいいのに、と呟いてみる。
まぁそういう検証も面白い&役立ちますよね。
こんなのも参考にどうぞ。
http://www.blueshoes.org/en/developer/php_bench/
0612nobodyさん
04/03/22 02:18ID:???http://jp2.php.net/manual/ja/function.get-defined-functions.php
0613nobodyさん
04/03/22 02:20ID:???次の方法で見つかりましたが、何か。
・func でマニュアル内を検索
・call_user_func が掲載されているチャプターの導入にある関数一覧を見る
マニュアル代わりのage厨は逝っていいよ。
0615nobodyさん
04/03/22 02:29ID:???一通り目を通して、、
似たような関数からチャプター遡って調べるのが王道。
0616再度質問です
04/03/22 02:30ID:ebdZYBT6どうしても下記のようなエラーが出てしまいます。
X-Cache: MISS from xxx.xxx.domein
が問題の部分だと思うのですが、
ASP+XMLRPCクライアントでは繋がるのでプロキシーサーバーの設定
が問題ではないようです。
PHPにて、XMLRPC通信をしたことある人でこのようなエラーを解決された方
いましたらご助言いただけませんか?
恐らくXMLRPCが問題ではなく、PHPとPROXYの間での問題だと思うのですが。
HTTP/1.1 200 OK
Date: Sat, 20 Mar 2004 15:39:07 GMT
Server: Apache/1.3.29 (Unix) mod_perl/1.29
Content-Length: 446
Content-Type: text/xml
SOAPServer: SOAP::Lite/Perl/0.55
X-Cache: MISS from xxx.xxx.domein
Connection: close
0617nobodyさん
04/03/22 11:22ID:zmRA/0frなおかつ、smartyを使用していると
templatesフォルダの中が
激しくごちゃごちゃになるのですが、
みなさんはどうされてますか。
0618nobodyさん
04/03/22 12:08ID:???ハッシュ化された文字列には英数字以外の記号は含まれるでしょうか?
DB格納時にquoteするかどうかなんですが、数個のサンプルを見る限り
quoteしている例が無かったのですが…。
0619nobodyさん
04/03/22 12:32ID:WuJHjyKE1.クッキー
2.URLに引数として渡す(http://url.com/test.php?hennsuu=100)
3.hidden属性でHTMLに埋め込む
4.その他
その他の場合は、具体的にどうやっているのかお教え下さい。
(おそらく設定で変更できるんだろうけど、現在のうちの環境は
どうも1,2,3のどれでもないような・・・)
0620619
04/03/22 12:41ID:???0623617
04/03/22 13:09ID:???マニュアルに載っていない
質問は
答えてもらえないことが
多い。
0624618
04/03/22 13:15ID:???これという正解がないからじゃない?
私も同じように作ってますが(PHP+smarty)、カテゴリー別に
prefix付けるくらいですかね。
0625nobodyさん
04/03/22 13:27ID:???猫でも考えれば分かりそうな事だからだろ。何悩んでるのか分かんねーよ。
サブディレクトリで分けたり、phpファイルと同じフォルダに置いたり、何とでもなる。
0629nobodyさん
04/03/22 17:27ID:WuJHjyKE0630nobodyさん
04/03/22 17:28ID:???終了。
自分である程度探して試してどれにしようか迷っています、他にオススメがあれば等の聞き方ならまだ分かるが。
0631nobodyさん
04/03/22 17:29ID:???使いやすいエディタって何よ?
http://pc2.2ch.net/test/read.cgi/php/991372719/
0634nobodyさん
04/03/22 18:25ID:???PHPエディタ
ttp://fol.axisz.jp/php/
の作者、頑張ってるよね。
自分は xyzzy を使っているけど。
0635nobodyさん
04/03/22 18:52ID:eAoDZUbp教えてください。お願いします
0636nobodyさん
04/03/22 18:56ID:???0639nobodyさん
04/03/22 19:27ID:???HTMLもCSSもJSもPHPもPerlもXMLもJavaもCもC++もC#もこれ一つで事足りる。
0640nobodyさん
04/03/22 20:12ID:???PHPを使ってスクリプトを作成するとき、デバッガって
つかっています?
ZendStudioはついていましたよね。
0642nobodyさん
04/03/22 20:16ID:3C9md7bYおれはサブディレクトリに置いているな
で呼び出すときは
$smarty->display('bar/foo.html');
0643nobodyさん
04/03/22 20:47ID:???0644nobodyさん
04/03/22 20:54ID:???http://pc2.2ch.net/test/read.cgi/php/991372719/l50
0645nobodyさん
04/03/22 21:36ID:???まぁ最初のネタ振りが悪かったのでスルーして欲しかったのだが、 >>643 の言い分も分かるが、PHP には IDE があるしな。建設的な議論も出来るよ。
それにみんなこの手のネタ好きだよね。一度出たら必ず反応してくれる。
今使ってるのは Eclipse + Xored だが、更新遅いので他も探してる。色々あるけど、マルチバイト文字化けるのが多いんだよね。
PHP5 への対応も、どうしてもワンテンポズレるし。
Eclipse メインで、emacs 系のエディタも使って対応って感じ。
0646nobodyさん
04/03/22 23:12ID:???どこが最強なのかわからん
SakuraにJavascriptのキーワードファイルと
Zend並みの補完機能があれば言う事ないんだが、、
0647558
04/03/22 23:43ID:???ウチでも結局、色々設定変えていくつかの主要Exteinsion加えてみたら、
Startupでロードエラーで落ちるようになった...
結局βに戻しますた。RC1なんか良くない。
0649nobodyさん
04/03/23 00:39ID:???コレ
0650nobodyさん
04/03/23 00:42ID:???0651nobodyさん
04/03/23 01:08ID:???0652nobodyさん
04/03/23 01:22ID:???0653558
04/03/23 01:23ID:???そんなのは判ってるよん。PHP5を使うだけが目的じゃなくて
SAPIやOSの違いによる差異もテスト項目に入ってるんで。
# Winのビルド環境持ってないから流石に自家ビルドしてチェックはしない
Linux以外のUnix系もメインストリームじゃないよな。開発者の多くが
Linux使ってて、尚且つそれでテストする訳だからしょうがないけどね。
0654nobodyさん
04/03/23 04:09ID:???ファイルタイプ別の設定がかなり細かくできる。
1個のエディタで全部のソースファイルを扱う俺には最適だと思うが。
何か不満でも?
0655nobodyさん
04/03/23 04:12ID:???0656nobodyさん
04/03/23 04:16ID:ZeQHdipv文字列中から半角スペースをすべて取り除く方法について質問させてください。
$newname = str_replace( " ", "", $oldname );
としたのですが、なぜか出力させてみると半角スペースが残ったままなのです。
""で置換しても、スペースを削除したことにはならないんでしょうか・・・?
どなたかお願いいたします。
0657nobodyさん
04/03/23 04:21ID:???echo $hoge = str_replace(" ","", $hoge);
問題ないが?
0658nobodyさん
04/03/23 05:05ID:???0659nobodyさん
04/03/23 05:14ID:???そういった一つ一つの事が出来ない初学者が多いからどこも水準以下の質問で溢れかえるのだと思うが。
0660404.HDML ◆StMXML.EXE
04/03/23 08:16ID:ey7jctQ9仮に"Apache2(prefork MPM) + PHP4(PHPA無し)"環境で得られるPHPスクリプトの
実行速度を基準の"1.0倍"とした場合、以下それぞれの環境では一体、約何倍の
パフォーマンスが得られるのでしょうか?出来れば、PHP/4.3.5正式版がリリース
される辺りでPHPAから離れたいな、と思っておりまして。。
・Apache2(prefork MPM) + PHP4(PHPA有り)
・Apache2(worker MPM) + PHP4(PHPA無し/不可)
・Apache1 + PHP(PHPA無し)
0661nobodyさん
04/03/23 08:40ID:???マシンやスクリプトの出来、通信環境、その他諸々に依存するから、
何倍とか言えるわけ無いでしょ。
ttp://pear.php.net/package/Benchmark とか使って計測したら?
0662nobodyさん
04/03/23 10:13ID:???取っ付き易いほど、厨のレベルは低くなるよ。
これはしょうがないって。
それがPHPのいいところの一つでもあるんだし。
もし、それが嫌な人が多いなら、
初心者スレ作って分けるしかないのかな。
0663nobodyさん
04/03/23 10:29ID:???から日本語マニュアルchm版をダウンロードしたのですが、
中身が中国語?のようになってしまってます。
日本語のファイルはどこにあるんでしょうか?
0667nobodyさん
04/03/23 11:02ID:???解ってるなら訊くなよ
0669nobodyさん
04/03/23 11:06ID:???わからんけど
0671nobodyさん
04/03/23 11:17ID:???PDFで悪いが、
ttp://www.php.gr.jp/seminar/20020817/pdf/KOYAMA-datetime.pdf
ここに使い方の例があるから、測定したら報告してね。
参考にするからw
0672nobodyさん
04/03/23 11:29ID:???どうも我流なのでしっくりこない。それなりに動いてるけど。
ある程度の定石みたいなテンプレみたいなのがほしいんだけど
まあやり方や求める強度、DBの有無で全然違ってくるしな。
それでもやっぱりログイン管理のいろんなサンプル集がほしいな。
どっかにいいとこない?
0674nobodyさん
04/03/23 12:29ID:???PHPのライブラリやアプリケーションなんて腐るほどあるんだから適当に集めろよ。
> まあやり方や求める強度、DBの有無で全然違ってくるしな。
って言えるなら探し方も判断も自分で付くだろ。
----------------------終了--------------------------
0676nobodyさん
04/03/23 13:46ID:???ttp://bugs.php.net/bug.php?id=27604
本家には報告済みだが、まだ直ってない。
・・・つーか、bugs.php.net落ちてないか?
0679nobodyさん
04/03/23 16:24ID:???0681nobodyさん
04/03/23 18:24ID:hqGLzQ7+キーワード検索のところの文字化けが一向に直らないのもイジメでしょうか・・・?
0682nobodyさん
04/03/23 19:15ID:???0683656
04/03/23 19:47ID:Ij00iThGレスありがとうございます、解決しました・・・・・
原因はreplaceの部分ではなく、ほかの部分でした。
正規表現で()にくくった部分を出力させていたんですが、
出力させる配列の$reg[0]はstr全体が入るというのに気づかず
0から順番に扱ってたためおかしい事態になってたようです
>>659,662
(;´д`)厨な質問してすまんでした。。。
しかし、var_dumpなんてあったんですか。知らなかった
質問スレのテンプレなんかに書いていただければ、ここでの無駄な質問も減るかも・・・
今後使わしてもらいます。
0684& ◆R7PNoCmXUc
04/03/23 20:35ID:???>var_dump()を print_r()と比較して見て下さい。
ってことで、print_r()もヨロ
phpinfo()レベルに有名になっていいと思う>var_dump()とprint_r()
0685nobodyさん
04/03/23 21:33ID:???var_dump使えねぇ
0686nobodyさん
04/03/23 22:02ID:???表示が肌に合わないなら PEAR::Var_Dump 使いなよ。
0687nobodyさん
04/03/23 22:40ID:???こうかけば良いのですが、
print <<<EOH
{$hash['string']}
EOH;
ヒアドキュメントのなかで、関数を呼び出すには
どうすればいいですか? できないですか?
0688nobodyさん
04/03/23 22:41ID:???0689687
04/03/23 22:43ID:???素早いレスに感謝です。
0690nobodyさん
04/03/23 22:44ID:???と思ったら、他に最適な方法が用意されていると思った方がいい。
0691nobodyさん
04/03/23 22:49ID:???と思ったら、こんな糞言語捨ててRubyに乗り換えたほうがいい。
0692nobodyさん
04/03/23 22:51ID:???0693687
04/03/23 22:52ID:???Ruby でつくったやつを PHP に移植するお仕事なんです。
PHP は関数が豊富にあって助かるけど、
かゆいところに手が届かないという感じです。
でも OOP は Perl より楽にできるので、ありがたいです。
0694687
04/03/23 23:18ID:???function display(){
if($foo){
?>
<html><body>...
<?= bar() ?>
<?php
}
}
こういう書き方でいくことにしました。
(お手数かけてすみません・・)
0695nobodyさん
04/03/23 23:27ID:???下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?
@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;
0697nobodyさん
04/03/23 23:56ID:MZvn1Ok8どうしてますか?CVSでバージョン管理でしょうか?
あと、画面の遷移や引数などの関係はシーケンス図にしていますが、
一般的にはどうしているのかとか。
urlでも本でもいいですので、そういったプロジェクト管理に役立ちそうな
情報へのポインタを教えていただけませんでしょうか。
0699687
04/03/24 00:47ID:???なるほど、テンプレートですか・・。
移植はもうほとんど終わっているのですが
保守効率があがりそうでしたら、テンプレート導入も考えますね。
どうもありがとうございました。
0700nobodyさん
04/03/24 00:50ID:???RubyならERB使ってbinding渡せばいいだけの話なのに。
0702nobodyさん
04/03/24 00:56ID:???使い分け出来ないのならさっさとシッポまいて Ruby スレに帰れ。
0703nobodyさん
04/03/24 12:31ID:???pearのclassではすべての情報がうまくとれません。
取得方法をご存知の方いらっしゃいますか
0706nobodyさん
04/03/24 13:40ID:???xml_parser を利用しているのですが、ハンドラ関数というのはどういう意味なのでしょうか?
役割は解説書を読めば何となくわかるのですが、
この関数の意味の定義といいますか、どういう動作をする関数をハンドラ関数と一般的に言うのかを教えていただけないでしょうか?
Googleで「ハンドラ関数とは」で検索してみたのですが、ハンドラ関数の意味や動作の定義について
述べられているところが見つからなかったので、ここで質問をさせていただきました。
0707nobodyさん
04/03/24 13:42ID:???RedHat9+PHP4+PostgreSQLでPHPをシェルスクリプトのように利用してみようと思っています
PostgreSQLのデータの吐き出しを定期的に行いたいと思ったのですが、
CLIだとPostgreSQLへの接続がpg_connectで行えない(undefined?)になってしまいます
どうすればPostgreSQLへ接続出来るでしょうか?
0709nobodyさん
04/03/24 14:08ID:???XML を扱う関数の事なんでは?山勘だけど。
1. 英語版当たる
2. (゚д゚)ウマ-
3. ついでに適切な訳でなければ PHP-doc-jp に突っ込む
4. みんなで (゚д゚)ウマ-
0710nobodyさん
04/03/24 14:47ID:???コールバック
ちなみに xml_parser() はめっちゃ使いにくい。
クラスの中に閉じ込めないととてもじゃないが使えない。
0711nobodyさん
04/03/24 15:02ID:???XSLTの
http://www.php.net/manual/ja/function.xslt-process.php
3例目に出ている
$arguments = array('/_xml' => $xml,'/_xsl' => $xsl);
$xh = xslt_create();
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
この変態的な方法って何か意味あるの?
0712706
04/03/24 15:31ID:???コールバックを調べてみます
>>709
XML処理の関数と言うことではないようです。
検索するとApacheのハンドラ関数なども出てきますので。
xml_parse () が使いにくいというのは、単に可読性が落ちると言うことなのでしょうか?
0713nobodyさん
04/03/24 15:59ID:???undefined? の? って何だ?
undefined functionだったら、CLIの時とモジュールの時とで違うphp.iniを読み込んでるのかも知れないな。
php -mや php -i で確認してみ。
他にも環境変数や実行ユーザの権限でもツマづきやすいだろうから、
CLIの時とモジュールの時とで、phpinfo()を比較することをお薦めする。
0714707
04/03/24 16:44ID:???undefined functionでした。中途半端で申し訳無い
php -mを試みた所、[PHP Modules]欄にpostgresはありませんでした
もうちょっと設定面をさぐってみます
0715nobodyさん
04/03/24 17:42ID:???やってみりゃわかる。
普通は何らかの構造にマッピングしたいのが普通だろうけど
そのあたりの管理は自前でやらにゃならん。
単にダンプして眺めたいだけなら別に構わん。
0717nobodyさん
04/03/24 19:20ID:???まずhttp://***/index.phpという大元のPHPを作成し、
index.php?choice=ABC というURLになると abc.php という別のページを表示、
index.php?choice=DEF というURLになると def.php というこれまた別のページを表示するには
どう書けばいいのでしょうか。
それなら直接abc.phpやdef.phpにA HREFでリンク貼れやと言われそうですが
できればファイル名を見せたくないもので…。
どなたかお願い致します(´・ω・`)
0719nobodyさん
04/03/24 19:37ID:???自分には不向きなことを見極めるのも大切だぞ
switch($choice){
case 'ABC': include("abc.php");break;
....
}
0720nobodyさん
04/03/24 20:05ID:???2重出力しないように注意しとく。
0721712
04/03/24 20:10ID:???初めてプログラムを書いているので、
XMLの処理はこんなもんだと思っていたし、マッピング自体がよくわからない…。
他に XML を処理すると思われる関数に DOM と XSLT があるけれど、
どれが一番便利なの?
0723nobodyさん
04/03/24 20:56ID:EMx27tbEpearで同じ事を行おうとするとどういう感じになるのでしょうか?
0724721
04/03/24 20:58ID:???Amazon Web Service の XML 処理。
公開されている XML 処理の PHP を参考にして、いちから自分で作っている。
リクエストがある度にXML を取得せずに、処理したデータをMySQLに保存して
キャッシュ化したい。
WEBデザインを仕事にしているけれど、
変数を外部から取得したり、
変数の汚染を調べたり、
取得したデータをデータベースに保存したり、
データを、意図するレイアウトで出力したり
することができて、(今後Perlを勉強するにしても)PHPでいろいろ覚えられそうなので、
練習代わりにやっている。そして、仕事の幅を広げたいかな。
慣れたら、JavaServletで処理ができるようにしたいかな(業務に生かしたい)。
0725nobodyさん
04/03/24 21:02ID:???0726nobodyさん
04/03/24 22:08ID:???"a,b,c" みたいに連結するうまい方法ってなんでしたっけ
「どうしてナナマタなのにヤマタノオロチっていうんだろう」
というのび太の心境になって考えましたがわかりません
0728nobodyさん
04/03/24 22:25ID:???0731nobodyさん
04/03/24 22:41ID:???bar 2 (改行)
baz 3 (改行)
というように改行で区切られているテキストから
左の要素を添え字、右の要素を値とした
連想配列を作るときに、
0732nobodyさん
04/03/24 22:49ID:???0733nobodyさん
04/03/24 22:50ID:???0734nobodyさん
04/03/24 22:54ID:???0735nobodyさん
04/03/24 23:01ID:???それは八俣(八岐)のヲロチであって、
八股(八叉/八胯)のヲロチではないからナリよ。
前者のマタは(枝分かれしている様を含み)「枝そのもの」のことで、
後者のマタは枝分かれしている「分かれている部分」のこと。
来週の試験に出しますから憶えておくように。
0737nobodyさん
04/03/25 01:07ID:???while ($line = fgets($fp)) {
list($key, $value) = explode("\t", $line, 2);
$array[$key] = $value;
}
かな。あってたら何かくれ。
0738nobodyさん
04/03/25 01:21ID:???連想配列を作るときに、突然美味しいラーメンが食べたくなりました。
PHPとは直接関係がないのかもしれませんが、ここ以外に訊ける場所がありません。
どうかラーメン初心者にも判るように、美味しいラーメンを食べられる方法を教えてください。
0739nobodyさん
04/03/25 01:26ID:???ヘッダーを送ってやればいいんだおるけど
なんのへっだを送るんだろ
ただのバイナリデータなんだけど
0740nobodyさん
04/03/25 01:29ID:???header("Content-type:application/octet-stream");
を送ってもIEはOSの設定に従うし
MozFirebirdはどう処理するかユーザに聞くダイアログを出す。
0742724
04/03/25 02:51ID:???>>725
nusoap.phpの存在は知っているの。
でも、とりあえずはもっと身近な XML 処理からトライ。
正直に言えば、SOAPに関する書籍を買う前に、
PHP関連の書籍を買って、今月金欠なのさ。
0743nobodyさん
04/03/25 05:29ID:???-続き-
彼女からメールが届く
「別れて」
(゚Д゚ )ウマー
0745nobodyさん
04/03/29 03:59ID:5UcTtVR/0746nobodyさん
04/03/29 07:46ID:oOyKdqgq自作すると面倒でしょうか
0748nobodyさん
04/03/29 15:59ID:???0749nobodyさん
04/03/29 16:41ID:???0750nobodyさん
04/03/29 18:00ID:???0751nobodyさん
04/03/29 18:08ID:???0752750
04/03/29 18:45ID:???flockしたまま死ぬとなんか開放しますよ?みたいな結果だった。
思うにプロセスが死ぬとき自動的にfp開放する関係上
flockでもそのあおりを食らってロックイズデッドだね?
0753nobodyさん
04/03/29 20:55ID:???flockとは違うけど、pconnectして確保した永続的リソースでテーブルロック
したまま死ぬと、DBMS側でタイムアウトするまでロックされっぱに成ります。
0754nobodyさん
04/03/29 23:26ID:rZFC6nTVechoを使って&***=*といった状態に出力せずに、$***の状態で、phpからflashに変数を
読み込む方法をご存知の方がおられましたらご教授いただけませんでしょうか。;_;
0755nobodyさん
04/03/30 00:12ID:???社会人だろ?仕事なんだろ?
無理。
以上。
それぞれのアプリケーションがどのレイヤーでどう動作するかを理解していれば出ない質問。
出来るかどうか知らねーが、シリアライズとかXML-RPCのように間に一つ挟めば可能かもね。
0756nobodyさん
04/03/30 01:32ID:???>シリアライズとかXML-RPCのように間に一つ挟めば可能
PHPプログラマーズマガジンの2003年3月号に、XEBXMLつうのを規定して
ActionScript-PHP間通信やってる例が載ってる。ActionScriptを使いこなしてる
人は既に似たようなことやってるか、やってなくても読めば直ぐに理解できるテク。
同2003年8月号だと、FLASH RemotingのバックエンドのPHPを使う解説やってる。
これはなかなか面白そうだが、まだ私は手は出してない。
ActionScriptはかなり高度なことが可能な言語だが、デザイナー上がりが
動きを付けるのだけに使ってる感じである意味不遇な言語だな。
#JavaScriptも然り。
0757755
04/03/30 02:08ID:???ああ、なんか >>756 のお陰で段々思い出してきたぞ。
そんな記事出ていたとは知らなかった、ありがとう。
海外のどこかで見たんだけど、MacromediaのCommunicationServerか何だったか、
ひょっとしたらタダのColdFusionとの接続だけかも知れないが、
FlashのサーバーサイドソリューションをPHPでオープンソースでやっちゃおうぜ、みたいなプロジェクトがあった。
そういえばMXが出て少し経った辺りで盛り上がっていたんだよな、海外では。
> デザイナー上がりが
> 動きを付けるのだけに使ってる感じである意味不遇な言語だな
Flashは知らないがDirectorになるとLingoにGUIかぶせた状態だし。
デザイナーも情報を扱うデザインを行う以上、プログラマに近い素養はあると思う。
Flashだと中村勇午氏とか。
他にもプログラムを手段として使いこなしデザインやCGばりばりな人は居る。メガデモ界隈とかね。
先駆者は居るけど専門や本で量産型製造はされてないって感じ。
そういう人ならActionScriptの楽しさも100%引き出されるんだろうな。
0758nobodyさん
04/03/30 12:33ID:sj3AdYty私はASPとJavaScriptの経験が三年ほどあるのですが、
この度はじめてPHPの仕事をすることになりました。
ASPとはやっぱり勝手が違うでしょうか?
文法以外に、何か違いに注意する点等がありましたら、ご教授お願いします。
0759nobodyさん
04/03/30 13:14ID:???PHP 自体がクセの少ない言語なので苦労は少ないと思うけど。
つーか業務で仕方なくやってたが ASP (VBScript) 時代は苦痛でしか無かった。
元コードが腐敗してたのが理由でもあるが。無印 ASP はステ。
PHP に限らずその言語のやり方や考え方、特徴を学ぶのが大事。
ここでも読めば如何かと http://cruel.org/freeware/hacker.html
あとコミュニティにポストする時は必ず暫くヲチして、同じ質問の繰り返しやローカルルールを学んだ方がいいよ。
# つまり sage ろ、と。
0760nobodyさん
04/03/30 14:33ID:???言語仕様の部分ではASPよりも楽に感じると思う。
ASPやってるからサーバサイドの概念は判ってる筈なのでそれも有利。
あとは自分がASPで関わってきたプロジェクトがどれだけASPに積極的に
関わってきたかによる。例えば独自にテンプレートシステムを作っていたとか、
DBアクセスの抽象化を行っていたかなど。そういった従来使っていた周辺物を
捨てる必要がないのであれば、PHPに慣れた人が傍にいてリードしてくれれば
直ぐに慣れると思う。ただセキュアな部分やコアなところはやっちゃ駄目だよ。
初心者は業務システムだったら"業務"の処理のところをやるとかね、そんな感じ。
0761nobodyさん
04/03/30 14:35ID:???0762nobodyさん
04/03/30 14:44ID:???やっちゃダメって言われてやらないでいられる世界に行きたい。。。
0763nobodyさん
04/03/30 14:47ID:???小規模開発だからか。
しかし ASP は仕様自体やる気でなかったけど、、テンプレートシステムなんてあったのね。
0764nobodyさん
04/03/30 15:41ID:mRhpFbSG開発してます
0766nobodyさん
04/03/30 15:54ID:???この辺が釣りっぽい
0767nobodyさん
04/03/30 15:55ID:???常識ね
できればUTF-8が望ましいが
0768764
04/03/30 15:57ID:???0769nobodyさん
04/03/30 16:05ID:???〃∩ ∧_∧
⊂⌒( ´・ω・)くぜんぶマニュアルに書いてあったでつ
`ヽ_っ⌒/⌒c http://www.php.net/manual/ja/ref.mbstring.php
0770nobodyさん
04/03/30 16:08ID:???これも釣りっぽいが
最近じゃS-JISを使えるのもあるが基本的にPHPはEUCで書かないと
日本語を扱った時に文字化けする。今はEUCで書いとけ。
入門本にもそれくらい書いてあると思うがな・・・
0771760
04/03/30 16:10ID:???ASP界のスタンダードなテンプレや抽象化DBアクセス
(これはADOがある程度カバーしてるから素のPHPよりは上かな)
は無いですよ。PHPでもちゃんとしてるところならば、PHPlibぽいのや
Smarty以外の独自テンプレートを昔から作って使ってるところが多かったと思うけど、
ASPの制限下でもやる会社はそれなりにやってます。手を抜くために"頭"を使う会社なら。
0772nobodyさん
04/03/30 16:49ID:???やっぱShift-JISがスタンダードだしな。
携帯対応求められても全部SJISで通しておけば余計な心配せずに済むしな。
なワケないだろ ( ゚д゚)
取り敢えずZend-Multibyteでも調べてこい。
会社でやってるんなら文字コードの処理系分かってないんだからちゃんと分かる人にフォローして貰えyo!
0773nobodyさん
04/03/30 17:24ID:???$to = "example@example.com";
$subject = 'ご注文完了のお知らせ';
$body = 'ご注文完了のお知らせ';
mb_language("Japanese");
mb_send_mail($to, mb_convert_encoding($subject, "iso-2022-jp", "SJIS"), mb_convert_encoding($body, "iso-2022-jp", "SJIS"));
print "OK";
?>
というメールを送るとなぜかサブジェクトの "了" という文字以降が
文字化けしてしまいます。
この漢字使用する時以外は問題ありません。
これを回避するにはどうすればいいのでしょう?
0776nobodyさん
04/03/30 18:31ID:???0777nobodyさん
04/03/30 19:09ID:???0778nobodyさん
04/03/30 19:27ID:???それというのは、iso-2022-jpへの変換の場合にのみの
現象なのでしょうか?
それともPHPのバージョンによるものとか?
またはメールのサブジェクトはそういうものなのですか?
>>775
SJIS->EUC-JP や EUC-JP->SJIS などは問題なく利用できます。
0780nobodyさん
04/03/30 19:58ID:???ネタにマジレス、(゚A゚) イクナイ
>>775 とかも付いてるのに無視って>>773,774でキャッチボールしてるんだから、邪魔しちゃ悪いyo!
0781nobodyさん
04/03/30 20:09ID:???こんなもんぐぐれば山ほど回答が出てくるのに
それすらもしようとしないアフォはプログラムなんて組まんでよし
明日から工事現場で交通整理でもしてなさい
悪い事言わんから
0782nobodyさん
04/03/30 20:47ID:???ただ、mb_send_mailに関しては"SJISの"という点とはちょっと違う。
ま、初歩の2歩目ぐらいか。
>>778
>iso-2022-jpへの変換の場合にのみの現象
>PHPのバージョンによるもの
>メールのサブジェクトはそういうもの
空回りも含まれてるけど、取り合えず全部自分で試せよ。
php.iniの中と、スクリプト中のマルチバイトに関する設定
(mb_language("Japanese");とかね)に注意して。
比較はPHP4.3.2と4.3.3でしてみ。ただ過去のバージョンでの
挙動を気にするような資産があるわけでも無さそうなので
PHP4.3.5でだけで上手く動くようにしとけば良いか。
無理してmb_send_mail関数使うこと無いんでねぇと思うけど?
どうせmailのラッパーなんだし。
0783nobodyさん
04/03/30 22:01ID:???また、EUC-JPにHTMLも変えたほうがいいんですか?
0786nobodyさん
04/03/30 23:45ID:???0787nobodyさん
04/03/30 23:47ID:???0788nobodyさん
04/03/31 00:09ID:???0789nobodyさん
04/03/31 00:26ID:???0790nobodyさん
04/03/31 00:32ID:Iyf+RzNu元ファイル名はちゃんと複数取得できます。
でも tmp_name がなぜか最初のものしか取得できないんですけど、
これはなんぜでしょう。サーバーの仕様?
0791790
04/03/31 00:35ID:???<html><body>
<form enctype="multipart/form-data" action="test.php" method="post">
<input type="file" name="userfile[0]"><br>
<input type="file" name="userfile[1]"><br>
<input type="file" name="userfile[2]"><br>
<input type=hidden name=menu value=up>
<input type=submit>
</form>
<?
extract($_POST);extract($_FILES);
print_r($_FILES['userfile']['name']);
print_r($_FILES['userfile']['tmp_name']);
?>
</body></html>
0792790
04/03/31 00:35ID:???Array ( [0] => file1.jpg [1] => file2.jpg [2] => file3.jpg ) Array ( [0] => /tmp/php7KUhzb [1] => [2] => )
0793nobodyさん
04/03/31 02:06ID:???それは当たり前の結果だが...PHPのキモチで言えば「俺の所為かよ」
http://www.php.net/manual/ja/features.file-upload.php
のUser Contributed Notesに載ってるソース読んで「当たり前」の理由考えてみ。
0794790
04/03/31 02:30ID:???PHPは結構長い事やってるんですが、
あたりまえの事がよく分からず・・。
0795790
04/03/31 02:40ID:Iyf+RzNuなんでやねん・・。
0796793
04/03/31 02:42ID:???791そのままコピペで問題ない。
追試してみるから、もちっと環境詳しく教えて。
0797790
04/03/31 02:50ID:Iyf+RzNu今色々やってみて原因わかりました。
ファイルサイズが(1つまたは合計で)16kbを超えるとだめっぽいです。
念のため max_file_size を入れてみましたがダメ。
phpinfoでの post_max_size、upload_max_filesizeはOKそうなんですが・・。
あと関係するところあるんでしょうか。
0798790
04/03/31 02:51ID:???0799793
04/03/31 03:04ID:???WEBARENAに関しては以前
http://ns1.php.gr.jp/pipermail/php-users/2004-February/020828.html
な感じの話題があったけどね。他には総サイズだけじゃなくて
所有者管理をして同時にtmpに複数ファイルを置けなくしてるかも。
0800790
04/03/31 03:09ID:???色々やってみまっす・・。
0802793
04/03/31 03:21ID:???http://bugs.php.net/search.php?cmd=display&status=All&search_for=multipart+tmp_name&php_os=&boolean=0&author_email=&bug_age=0&by=&order_by=php_version&direction=ASC&phpver=&limit=All&assign=&reorder_by=php_version
あとコピペで色んな環境で追試してみたけど、残念ながら引っかかる環境はなかった。
取り合えず寝るわ。
0804nobodyさん
04/03/31 16:17ID:???下記のようなコードを書いたのですが、formからvalue=$value[lec_id]
を渡そうとしてもうまく渡らずに、そのまま_post[lec_id]が$value[lec_id]
として伝わっています。
一方下から二行目の$lec_idは正しい数字が表示されます。
一体どこの記述に間違いがあるのでしょうか。
$res = mysql_query($sql);
$value = mysql_fetch_assoc($res);
<table>
<form action="<?echo($_SERVER["PHP_SELF"])?>" method="POST">
<?php
while ($value = mysql_fetch_assoc($res)) {
if ($value["lec_week"] == "1") {
print "<tr>";
print "<td>".$value["lec_time"].限目."</td>";
print "<td>".$value["lec_faculty"]."学部 ".$value["lec_title"]."</td>";
print "<td>";
print '<input type=checkbox name=lec_id[] value=$value["lec_id"] >';
print "</td>";
print "<td>".$value["lec_id"]."</td>";
print "</tr>"; }} ?> </table></form>
0806804
04/03/31 16:24ID:???"で括って試してみます。
0807804
04/03/31 16:30ID:???書き換えたのしたから四行目を
print "<input type="checkbox" name="lec_id[]" value="$value["lec_id"]" >"
にしてみました。
色々なパターン試してきたのですが、エラーのパターンとしては
変数展開されずに$value["lec_id"]が直接postの結果となっているか、
あるいはonという形でpostされているかです。
ここで正しい数値を習得してDBに格納したいのですが。
0808nobodyさん
04/03/31 16:33ID:???0809nobodyさん
04/03/31 16:35ID:???0810nobodyさん
04/03/31 16:38ID:???"<input type=\"checkbox\" name=\"lec_id[]\" value=\"{$value['lec_id']}\" >"
0811808
04/03/31 16:41ID:???おれはダブルクウォート忘れてたよ´Д`)
0812804
04/03/31 16:45ID:???>>810
"をエスケープするのは試していたのですが、{}は初めて知りました。
端的に行って来れの役目は変数に変数を渡すときに使うものと理解すればいいのでしょうか。
>>811
"と'を逆に使うというやり方もあるのですね。
そして.のやくめは{}と同じ意味なのでしょうか。
現在ローカスから出版されたPHP実用プラグら民具という分厚い参考書で勉強していますが、
こういうやり方については言及されておらず苦闘しておりました。
皆様ありがとうございました。
0813nobodyさん
04/03/31 16:49ID:???個人的にはこれが好き
0814nobodyさん
04/03/31 17:01ID:???ドットで連結するのも”内で変数展開するのも大差ないとは思うんだが、
変数があってもなくてもパースする処理が無駄に思える。
0816nobodyさん
04/03/31 18:03ID:???<input type="checkbox" name="lec_id[]" value="{$value['lec_id']}">
_HTML_;
0817nobodyさん
04/03/31 21:16ID:???""で括る時と同じで \" のようにエスケープする必要があるけど、
パッと見た時に何か黒いとこって感じで変数の位置が分かり易く、
{$value}のように{ }を気にする必要がない。
print sprintf("<input type=\"checkbox\" name=\"lec_id[]\" value=\"%s\">",$value['lec_id']);
0818nobodyさん
04/03/31 21:53ID:???mysql_errnoで得られるエラーコードの一覧表ってどこかに無いでしょうか?
できれば日本語のヤツきぼんです・・・
よろしくです
0819nobodyさん
04/03/31 22:16ID:???' でも大丈夫ですよ。あと、printf 一発で。
printf('<input type="checkbox" name="lec_id[]" value="%s">', $value['lec_id']);
0820nobodyさん
04/03/31 22:17ID:???0822nobodyさん
04/03/31 23:23ID:???DBインストールしたけど設定が良く分からなくて消したけど、
無くて困るものなら導入する。
0824rwxr---wx ◆jTWOZwTY1g
04/04/01 02:18ID:???って前回も同じレスをした記憶が・・・。
0825nobodyさん
04/04/01 02:36ID:???コンパイルする時に別の絵を仕込んで置いたサイトが
あるので、反応がちょっと楽しみ。純正の奴もPHP5RC1で
変わってるかと思ってリリースの時に期待してたんだけどね。
# 実は別の日にも違うイースターエッグを仕込んでおいた
0826nobodyさん
04/04/01 03:06ID:???楽しそうな事やってるなー。
えーな、技術があるって。
PHP5 のイースターエッグを見せて貰ったがもふもふした幸せそうなヤツだった。
犬といい、アレは誰かのペットなのかね。
0827nobodyさん
04/04/01 03:21ID:???どっか入手できる場所はありませんかね……?
0828nobodyさん
04/04/01 19:48ID:???特別なことしないならdatで十分
0830nobodyさん
04/04/01 21:40ID:???$server="http://pc5.2ch.net";
$ita="php";
$subject=$server."/".$ita."/subject.txt";
$fp=@fopen("$subject","r") or die("Error!");
$i=0;
while(!feof($fp)){
$str=mb_convert_encoding(fgets($fp),"EUC-JP","auto");
list($number,$threadname)=explode("<>",$str);
$i++;
if(mb_ereg("(キーワード)",$threadname)){
$url=$server."/".$ita."/dat/".$number;
$fp2=@fopen("$url","r") or die("Error!");
while(!feof($fp2)){
$str2=mb_convert_encoding(fgets($fp2),"EUC-JP","auto");
if(mb_ereg("(キーワード2)",$str2)){
$thread[]=$str;
break;
}
}
fclose($fp2);
}
if($i==50) break;
}
subject.txtからスレタイ、スレ番号を取得
スレタイに「キーワード」が含まれてたらdatを取得
そこから「キーワード2」が見つかれば、配列$threadに、「番号<>スレタイ」の形式で追加
これを先頭50スレに対して行います。
かなり負荷かかってるのですが、どうにかして負荷を軽減できないでしょうか?
書くのがせいいっぱいで、負荷軽減なんて全然わかりません・・・
よろしくお願いします。
0831nobodyさん
04/04/01 21:44ID:???ttp://akid.s17.xrea.com/
0833nobodyさん
04/04/01 22:09ID:???ob_start('mb_output_handler');
ob_implicit_flush(1);
while (ob_get_level()) ob_end_flush();
こうすると出力がSJISにならないんですが・・・
どうしたらいいでしょうか
0834nobodyさん
04/04/01 23:49ID:jSxSLuKBそれができてたらここに書かないって。
0835nobodyさん
04/04/02 00:04ID:jOVEWyd+ここからPHPマニュアルをダウンロードすると中国語版のマニュアルが落ちるのですが、
日本語版はどちらでしょうか?
0838nobodyさん
04/04/02 01:12ID:???================================================
[質問]
tmpfile()関数によって得られたファイルディスクリプタからは
読み出しが出来ないのでしょうか?
================================================
この質問の意図:
(1)あるディレクトリにファイルを作り、データを書き出す。
(2)ファイルの書き出しが成功し、その後のいくつかの業務処理を実行
(3)すべてうまくいったら、テンポラリファイルの内容を
別ディレクトリに待避(move)する
という処理を実装しようとしています。
(1)で、ふつうにfopen(); fwrite(); fclose() でもいいのですが、
同時にアクセスが来た時を考慮して、ファイル名がかぶらないようにと思い、
tmpfile()関数を使ってみようと思いつきました。
作戦1:
tmpfile()でファイルを作り、コピーすればいいやと思ったのですが、
copy() は、コピー元もコピー先も文字列で指定するので、
ファイルディスクリプタを渡せません。
tmpfile()が返すファイルディスクリプタから、
そのテンポラリファイルのフルパスは取得できませんでした。
# /tmp にファイルが出来ることは、プロセスを見張ったりして見つけたのですが...
↓つづく
0839nobodyさん
04/04/02 01:12ID:???作戦2:
ファイルディスクリプタを引数にとれるcopy()みたいな関数を探しましたが、
見つけられませんでした。
作戦3:
tmpfile()が返すファイルディスクリプタを fread()で読み込み、
別ファイルにfwrite() で書き込めばいいかなと思い、
下記のようなコードを書いたのですが、問題が発生しました。
1:<?php
2: $fp_in = tmpfile() or die("failure in tmpfile()");
3:
4: $size = fwrite($fp_in, "aiueo\n");
5: print "書き込んだbyte数:$size.\n";
6:
7: $data = fread($fp_in, 100);
8: print "data=".$data."\n";
9: $fp_out = fopen("result.txt", "w");
10: fwrite($fp_out, $data);
11: fclose($fp_out);
12:?>
↓つづく
0840838
04/04/02 01:13ID:???8行で出力している $data の中身が空っぽです。
7行目で $fp_in(tmpfile()関数が返すファイルディスクリプタ)から読み込んだ
内容が空のようです。
しらべてみると(http://www.php.net/manual/ja/function.tmpfile.php)、
このページは詳しく書いてありませんでしたが、
-----------------------------------------------------------------
詳細については、関数tmpfile(3)のシステムドキュメントおよび
ヘッダファイルstdio.hを参照下さ い。
-----------------------------------------------------------------
とあるので、PHPの裏でC言語の tmpfile() でも呼んでいるのかなと思い、
以下をやってみました。
$ man 3 tmpfile
man より抜粋:
>The temporary file is then opened in binary read/write
> (w+b) mode. The file will be automatically deleted when
> it is closed or the program terminates.
これをみると、裏で w+b モードでファイルを開いているということは、
読み出しが出来ないということですよね? この認識であってますか?
↓つづく
0841838
04/04/02 01:13ID:???また最初に書いた私の要望
------------------------------------------------------
ランダムな名前のテンポラリファイルを作り、書き込みに成功したら待避する
------------------------------------------------------
を満たすには、tmpfile() を使うのではなく、下記のような手段
がいいのでしょうか?
1.tempnam() 関数を使い、ランダムなファイル名を作る。
$tmpfname = tempnam ("/tmp", "FOO");
2.取得した名前でfopen()
3.書き込みに成功したら、作ったファイルを待避
4.tmpfile()と違い、プロセスが終わってもファイルが消えないので、
手動でunlink()する。
さらに最後の質問ですが、だとしたら、tmpfile()関数は何のためにあるのでしょうか?
なんか使い道がない気が....ロックファイルをしたいなら flock()を使えばよいし..
長々と申し訳ありませんが、私の見解が合っているかどうか、
教えて頂ければうれしいです。
最後に環境を書いておきます。
Turbolinux Server 8.0 (Viper) (kernel 2.4.18-5)
php-4.3.0
おしまい
0842nobodyさん
04/04/02 01:45ID:???そこまで書くならMLに投げれば良いのに(笑
よく読んでないけど、rewindしなくて良いのか?
http://jp2.php.net/manual/ja/function.rewind.php
0843nobodyさん
04/04/02 02:42ID:???>>839のスクリプトを見る限り、その動作は当然。
ファイルポインタは読み書き共通なので、
7行目では4行目に書いた文字列の直後からを
読もうとしている。まだ書いていないので
読み出される内容は当然ながら空。
それと、w+bでファイルオープンした時の動作は
ttp://php.net/fopen
を参照。
・・・・とりあえず休憩しなさい
0844838
04/04/02 02:43ID:???MLは、職場の同僚やプロジェクトメンバーも呼んでいるので、
なんかはずかしくて....
rewind の件ですが、あ、そうか、自分は fwrite() のターゲットの $fp_in
に対し、そのまま 7行目で fread() しているので、もしかしたら
ファイルポインタが一番最後に行ってしまっているのかも知れませんね。
明日職場に行ってみたら、rewind などの関数を確かめてみます。
0845838
04/04/02 02:49ID:???844 と時間が重なってしまいました。
明日やってみます。
> それと、w+bでファイルオープンした時の動作は
> ttp://php.net/fopen
> を参照。
休憩しなさいと助言をいただきながら質問があるのですが、
PHPの世界での fopen() の w+b は、http://jp2.php.net/fopen
によると、読み込み&書き込みとありますが、
私が >>840 であげた man は、C の tmpfile() であり、
C での fopen() の wb は、読み込みは出来ないと思っているのですが...
0846nobodyさん
04/04/02 03:11ID:???んー、実はCは良く分からないのだけど・・・・
>私が >>840 であげた man は、C の tmpfile() であり、
>C での fopen() の wb は、読み込みは出来ないと思っているのですが...
PHPでも wbは確かに書き込みのみですが、Cのtmpfileのman (>>840)は
「テンポラリファイルはバイナリ読み込み/書き込み(w+b)モードでオープンされます」
と書かれているように読めるのですが、PHPのtnpfile()のマニュアルには
これを参照するようにとあるんですよね?(というか、ありますね?)
0847nobodyさん
04/04/02 03:50ID:???"w+"と"w"は異なるモードだぞ。あと"b"(バイナリ)絡みで、
デフォルト(無指定の場合)の状態の変更あったな>最近のPHP
今回は関係ないけど。
0848nobodyさん
04/04/02 07:50ID:???同じLAN上にあるWindowsのドメインコントローラー(WinNTでActive Directory
ではないです)にアクセスする手段は無いでしょうか?
0849nobodyさん
04/04/02 09:59ID:???0850838
04/04/02 10:11ID:???7: $data = fread($fp_in, 100);
の前に、rewined($fp_in); をするとうまくいきました。
あと w+ の件ですが、昨日はCの本が手元になかったため
man を英語で読んでいたのですが、よくググったら、
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fopen.3.html
w+ は「読み取りおよび書き込みのために開く。」とありますね。
もっとしっかり調べればよかったでした。
>>843 さん、 >>846 さん、 >>847 さん、大変失礼しました。
レスをいただいたみなさま、どうもありがとうございました!!
0851nobodyさん
04/04/02 11:32ID:???ネタ?釣り?マルチくん?
散々外出。
過去ログ嫁。
ついでに嫁。
http://ns1.php.gr.jp/pipermail/php-doc/2004-March/000342.html
http://marc.theaimsgroup.com/?l=pear-doc&m=108073496611134&w=2
http://marc.theaimsgroup.com/?l=pear-doc&m=108083016723475&w=2
シロガネーゼみたいに既存のHTMLから強引に自分で作る事も出来る。
勿論CVSから引っ張ってきて自分で作成してもいい。
>>849
PHP5かよ。
ここで答付かなかったらMLに投げた方がいいんじゃない?
0852nobodyさん
04/04/02 15:33ID:???今のところは、まあそうだね。
例えビルトインされなくても、ぬるぽ程度のなら
どこぞのライブラリで拡張されると思うけど。
Beta4でもException周りで変更あったし、最終的にはまた変わるんじゃない?
0854nobodyさん
04/04/02 16:19ID:???0855nobodyさん
04/04/02 17:20ID:???何でその話を聞いたその場所で、それを言った人に訊かないのだ?
http://bugs.php.net/bug.php?id=26752
http://bugs.php.net/bug.php?id=26003
0856nobodyさん
04/04/02 23:35ID:???0858nobodyさん
04/04/03 01:12ID:???冗談だろ?
0859nobodyさん
04/04/03 02:26ID:???その言語にはその言語のやり方ってものがあるだろう。
それを学ぶのがイヤなら慣れ親しんだ言語に引きこもって出てくるなyo!
何がやりたくてオブジェクトID求めてるのさ。
話はそれからだ。
0861nobodyさん
04/04/03 03:03ID:???↓次の質問ドゾー
0863nobodyさん
04/04/03 07:42ID:57u66/dO<?php
$hash = array('foo'=>'FOO');
echo $hash['foo']; #=> OK
echo $hash['bar']; #=> Error
?>
今まで気付かなかったけど、前からこんな仕様だったっけ?
これはちょっと困るなー。$hash['bar']でNULLを返してほしい。というか、エラーにさせない方法ってない?
ちなみに当方Windows2000、php -vの結果は
PHP 4.3.5 (cgi-fcgi) (built: Mar 25 2004 15:20:43)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
0864nobodyさん
04/04/03 09:22ID:???エラーではなくて注意。
php.iniのERROR_REPORTINGをE_ALL ^ E_NOTICEにするか、
error_reporting(E_ALL ^ E_NOTICE);
を追加すれば表示はされない。
ただしNULLはもちろん返さないけど
0866nobodyさん
04/04/03 10:36ID:???プログラムの最初の方で、flockを使ってファイルロックを取りに行き
・ロックされてる→すでに起動してる→終了
・ロックされてない→俺しかいない予感→処理継続
とやってるんですが、これよりもっといい方法あれば
教えなさい、俺に。
0868nobodyさん
04/04/03 11:45ID:???その方法でいけました。
ちなみに E_ALL ^ E_NOTICE は E_ALL & ~E_NOTICE と同じという理解でOK?
それなら、デフォルトでそういう設定になってるはずなんだけどな。なんでだろ?
>>865
isset()なの?array_key_exists()じゃなくて?
単にHTTPリクエストパラメータの値をとるだけのときとかに
$name = $_REQUEST['name'];
でできると思ったんだけど、これをいちいち
if (array_key_exists('name', $_REQUEST)) {
$name = $_REQUEST['name'];
} else {
$name = NULL;
}
または
$name = array_key_exists('name', $_REQUEST) ? $_REQUEST['name'] : NULL;
ってするのは馬鹿らしくないか?
0870nobodyさん
04/04/03 12:12ID:???いや、NULL返すだろ。
指摘自体は正しい。
>>868
試さず学ばず「俺の方が正しいじゃん?」主調 (゚д゚)マズー
issetでもarray_key_existsでも好きな方使え。
イヤなら安全性下げてextract使うかNotice使っとけと。
0871nobodyさん
04/04/03 12:13ID:???Notice切っておけ、の間違いね。
0872nobodyさん
04/04/03 12:35ID:???馬鹿はほっとけ。
0873nobodyさん
04/04/03 17:53ID:???普通はissetで全部調べると思いますがね
始めのころNoticeばっか出てうざかったからissetが習慣になっちまったよ
0874nobodyさん
04/04/03 18:06ID:???自分は極力変数を初期化します。
$name = "";
if(isset($_REQUEST["name"])) $name = $_RESUEST["name"];
これならNOTICEも出ないし。
0875nobodyさん
04/04/03 18:17ID:???配列をpostgreSQLに登録したいのですが、うまくいきません。
登録したいデータの中で、$_POST["friend"]だけが30から40の要素をもった配列で
$_POST["mail"]はプライマリーキーです。
<?php
$conn = pg_connect("user='test' password='hoge' dbname='test'");
$sql = sprintf("insert into mail ".
"values('%s','%d','%d','%d','%d','%d')",
$_POST["mail"],
$_POST["user"],
$_POST["time"],
$_POST["sex"],
$_POST["age"],
$_POST["friend"]);
$res = pg_query($conn,$sql);
pg_close($conn);
ob_end_flush();
?>
何らかの形で登録され体はいるのですが、
DBを確認してもfriendの項目にはは1と言う数字だけが登録されています。
POSTされたFriend自体はきちんと配列になっており、
登録する段階で思うどおりに動いていないようです。
こういった場合どうしたらいいのでしょうか。
0877875
04/04/03 19:28ID:6ZKEyOfJ口べたorz
$_POST["friend"]はこの登録段階の直前にユーザーにラジオボタンを通じて
POSTしてもらったもので、keyは40個ぐらいの数字です。
とりあえずこれをDBに登録して、後々にこの$_POST["friend"]
の数字を入力すると、それを有しているユーザーの一覧が表示される
という形に持って行きたいのです。口べた……
そのステップとして今は配列の登録で躓きました。
$arr = serialize($_POST["friend"]);
としてみたのですが、phppgadminで覗いたDBには0と反映されるだけでした。
ちなみにecho = $arrではなにやらたくさんの文字列が規則的に表示されています。
後出しになってしまいますが、$_POST["friend"]が登録される先の
フィールドのデータ型がsmallintなのですが、それがおかしいのでしょうか?
0879nobodyさん
04/04/03 20:46ID:???isset()とarray_key_exists()は違うんじゃないか?
$_POSTや$_GETならあまり違いはないだろうが、>>863のように自分で定義した配列なら違う結果になることもあるだろう。
<?php
$hash = array('foo'=>NULL);
echo isset($hash['foo']) ? "true" : "false"; #=> "true"
echo array_key_exists('foo', $hash) ? "true" : "false"; #=> "false"
?>
>>870
>試さず学ばず「俺の方が正しいじゃん?」主調 (゚д゚)マズー
どこにそんな主張が?試したから質問してるんだし、「学ばず」っていうのは何を根拠にいっているのやら。
>issetでもarray_key_existsでも好きな方使え。
じゃあ必要なときは、好きなほうということでarray_key_exists使います。
>>872
>製作&デバックと実用時の境界が見えてないんだろ。
これ意味がよくわかんないんだけど。製作&デバッグ時はE_NOTICEを有効にして、実用時は無効にするということでしょうか。まさかそんな無意味なことしないと思うし。
私は馬鹿なんでよくわかりません。872氏解説してくれ。
>>873
そうなんだ。知らなかった。ありがとう。
私が勉強した本では(今、手元にないから断言できないけど)isset()もerror_reporting()も見なかったと思う。はずれだったのかな。
でもPHPのマニュアルによれば、error_reportingのデフォルト値は E_ALL & ~E_NOTICE とある。だったらisset()で調べなくてもエラーはでないはずだよね。それでもみんなisset()で調べているのか。やっぱりそうしたほうがいいのかな。
0880875
04/04/03 20:57ID:???となると数字の配列を渡す方法はないのでしょうか。
pg_insertというものがあるのは知っているのですが、
今はこれをフィールド指定して使えるのか、
かつ、primary keyとセットで叩き込むのはどういう風にできるのか、
と言うのを調べています。
できればこう言うのを使わずに上記のコードの流れでできればいいのですが。
0881nobodyさん
04/04/03 21:09ID:???なにも返されません。csvのフィールド数は二つです。
$url_dataになにもデータが入らない状態になってると思うんですが、
原因わからず。どなたか助けてください。
<?php
$urlfile = fopen("url_data.csv","r");
while (!feof($urlfile) {
$url_data = fgetcsv($urlfile, 4096);
print($url_data[0] . "<br />¥n");
print($url_data[1] . "<br />¥n");
}
fclose($urlfile);
?>
PHP Version 4.3.4
Mac OSX 10.3.3
0882nobodyさん
04/04/03 21:19ID:???0886nobodyさん
04/04/03 21:30ID:???処理自体が無駄なわけじゃないだろ。「無駄に思える」というだけだな。
>881
括弧閉じろ。エコーデバッグしろ。
0889nobodyさん
04/04/03 21:33ID:???テーブルの設定をやり直す。
現状だと、smallint(2バイトの数字)の中に、配列を入れようとしている。
配列のシリアル化を薦めている人は、smallint -> text(or character)にしてはどうかとアドバイスしている。
friendコラムはユーザID(insertの行に出てないからserial型か?)を入れるつもりだろうけど、
「Aさんをfriendに持つ人を全て取得する」という要望が出てきたときに困ったことになる。
0890nobodyさん
04/04/03 21:36ID:???それが存在する理由を知らずに有用かどうか判断できるはずはない
知らないからすべて無駄だと先人の知恵をきり捨てることこそ無駄だわ
どこぞのエラーメッセージ読まない奴よりはずっとマシだけど
0892nobodyさん
04/04/03 21:46ID:???0894nobodyさん
04/04/03 21:51ID:???0895875
04/04/03 22:01ID:???シリアル化の目的そのものがよく理解できていませんが、
試してみます。
>>>887
正規化?これも調べてみます。
先週よりプログラミングに挑戦していて意外に楽しいのですが、
手探りで見通したたず悩みまくりです。
ただ、やり方があるというの分かったので再び検索しますね。
ありがとうございました。
0896875
04/04/03 22:07ID:???> friendコラムはユーザID(insertの行に出てないからserial型か?)を入れるつもりだろうけど、
> 「Aさんをfriendに持つ人を全て取得する」という要望が出てきたときに困ったことになる。
だめじゃん……
「Aさんをfriendに持つ人を全て取得する」という機能を実現したいのですが、
これにはどのようなアプローチがあるでしょうか。
今思い付くのは、friendをプライマリーキーにして、
そこにユーザーIDをupdateで送り込んでいくというものですが、
これだと頭から実装し直しです。
それにこちらの方が運用段階で面倒になりそうな気がするのですが。
0897nobodyさん
04/04/03 22:45ID:???( ゚Д゚) ・・・・
ネタにマジレスしておくと大抵は
・何らかの処理 (addslashesやhtmlespecialcharsなど) が入る
・値の保証が無いので検査する必要がある
のどちらかになるので、別にNotice対策と思ってコードを書く必要もなく自然とそうなる。
メンテで無駄コード見るの萎え。
0898nobodyさん
04/04/03 22:54ID:???>・何らかの処理 (addslashesやhtmlespecialcharsなど) が入る
>・値の保証が無いので検査する必要がある
これをするときに、Noticeが出るだろうが。
処理や検査をする前、もしくは同時にissetで確認してる。
0899nobodyさん
04/04/03 23:02ID:???全体が見えないのでなんともだが、
user,friendのテーブルを別途設けたほうがいいんじゃね。
なんか、主キーのないテーブルになってしまうけど、2列だし。
0900875
04/04/03 23:40ID:???返答どうもです。
そのやり方も検討中なんですが、一つのfriendの情報が更新されるcron
を使ってuserにmailを送りたいのですが、その時にuserの属性に応じて
mailの内容を調整したいと思っています。
そのためのageやsexというfieldなんですが、テーブルを分けても
上手く処理できますかね?
見通しがつけられないのですが。
ところで、フィールドをsmallintからintegerに変更して
foreach($_POST["friend"] as $val){
$sql = sprintf("insert into mail ".
"values('%s','%d','%d','%d','%d','%s')",
$_POST["mail"],
$_POST["user"],
$_POST["time"],
$_POST["sex"],
$_POST["age"],
$val);
こう言うのを書いてみたのですが、やっぱりDBに収まるのは、
最後の値だけなんです。これ自体どこかおかしいのでしょうか。
0902nobodyさん
04/04/04 00:01ID:???やり始めたばっかりでがんばっているのは判るんだけど、
今の状態だとダメダメっぽだよ。
正規化も知らないようだと、話にならない。
多分SQLインジェクションも判ってなさそうだ。
全体の設計からしてボロボロっぽだから、一部ココで教えてもらって
解決しても、すぐに綻びが出る。
なんか書籍でも買って勉強した方がいいよ。
0903875
04/04/04 00:07ID:???でも確かにその通りでして、とりあえず火急の用事を済ますために実戦に挑んでおりますが、
基礎知識も設計も不十分だなと身に染みて感じております。
とりあえず本を読み読みしていますがやっぱりいきなりプログラムするのは難しいですね。
アドバイス下さった方ありがとうございました。
これからも頑張ってみます。
0904nobodyさん
04/04/04 00:44ID:dOQP5KFE数100KBあるログファイルの、特定のある一部分だけを書き換えたい場合は
どのようにしますか?
現在は $temp=file("log.dart");
みたいに配列に一気に読み込んで、
該当部分を書き換えてから fputs しています。
でも全然スマートではないですよね?ログが大きくなると負荷も増えそうだし・・・。
ご教授よろしくお願いします。
0906nobodyさん
04/04/04 01:45ID:???>>5の「質問者の心得」を読ませて頂きました
このスレではそこに書かれている通りに行動してもかまわないのでしょうか
それとも、逆説的に警告を発しているのでしょうか
そこに書かれるあまりの教えてクンぶりに戸惑っております
0907866
04/04/04 04:34ID:???0908nobodyさん
04/04/04 07:52ID:???なにがしたいのかよくわからない。
まず、自分の環境とか、PHPをどういう状態で使ってるのかを書かないと誰も答えられないと思う。
0909nobodyさん
04/04/04 12:30ID:???return;
って書かんでもええのん?
0910nobodyさん
04/04/04 12:45ID:???0911nobodyさん
04/04/04 12:47ID:RKGRv6I/0912nobodyさん
04/04/04 13:12ID:???とりあえずないと気色悪いから付けとくか。
あんがと。
0914nobodyさん
04/04/04 15:38ID:???0915nobodyさん
04/04/04 16:25ID:???PHPの正規表現はe,x,oオプションと
(?:regexp)などのゼロ幅表現は使えるのでしょうか?
0916nobodyさん
04/04/04 17:45ID:???Perl互換の正規表現
0917nobodyさん
04/04/04 18:55ID:???<php.ini>
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
50Mとかしちゃって平気なんでしょうか?
0918nobodyさん
04/04/04 19:08ID:???少なくとも1.2GBまではいけると思われ
0920nobodyさん
04/04/04 19:51ID:???preg_系の関数で使えました。
0921nobodyさん
04/04/04 23:56ID:???0923nobodyさん
04/04/05 01:08ID:Ov2U0REu環境はredhat9 php4.3.4
今日一日悩みすぎて気持ち悪いです・・・
お願い教えて下さい
要するにメールが送られた時にphpを実行したいのです
0924nobodyさん
04/04/05 01:13ID:sr+9F3DM0926nobodyさん
04/04/05 02:16ID:Ov2U0REu貴重な情報ありがとうございました。ただ私の場合コマンドライン版じゃないからなのかうまくいきませんでした
.qmail-defalultには
/usr/local/bin/php -q /home/.../test.php
と記述し、
test.phpは簡単に
<?php
$fp = fopen("./test.html","w");
fputs($fp,"完了");
fclose($fp);
?>
という内容だけを記述しているんですが動かないようです。
ただ、.qmail-default自体は動いているのを確認できました。
もうしばらく悩んで駄目ならphp再インストか・・
0929nobodyさん
04/04/05 14:22ID:???C:\php\php4ts.dllがみつからないらしくて、
Apacheが動かないのですが、どうすればいいでしょうか。
0930929
04/04/05 14:24ID:???0931nobodyさん
04/04/05 14:41ID:???0934nobodyさん
04/04/05 15:04ID:???0936929
04/04/05 15:40ID:???0937nobodyさん
04/04/05 15:45ID:???0938937
04/04/05 15:46ID:???0939nobodyさん
04/04/05 15:52ID:???調子に乗るなって
自己解決したなら書いていけ、って
なんでこっちがそんな手間を惜しんで書かないといけないわけ?
ばかじゃね?
0940nobodyさん
04/04/05 15:58ID:???でもそういう態度の人には、手間惜しんでアドバイスする人もいないだろうな。
ま、それもキミの人生。
0942nobodyさん
04/04/05 16:00ID:???0943nobodyさん
04/04/05 16:07ID:???むしろ下で居たほうが吸収が早いと思われ
0946nobodyさん
04/04/05 17:54ID:oqrHq/L4aaa.html 内の ある行に
<?=$hogehoge[hohoho]?>
と、ありましたので、この行をコメントアウトにしたくなりとしました。
で
<?php
# <?=$hogehoge[hohoho]?>
?>
で、エラーば出てしまいます。 どのようにすればよいでしょうか?
単にHTMLのソースに記述されたくないだけで、
<!-- ---!> は使いたくないないんです。
0947nobodyさん
04/04/05 18:03ID:???PHPのコメントは
//
/* */
です
0949946
04/04/05 18:18ID:oqrHq/L4// <?=$hogehoge[hohoho]?>
?>
では、?> が、表示されました。
<?php
/* <?=$hogehoge[hohoho]?> */
?>
では、*/?> が、表示されるんです。
0950春は質問レベル低いねぇ
04/04/05 18:22ID:????>でPHPタグ(こういう表現でいいのだろうか?)が終わるんだから当然と思われ。
PHPタグを2重にする意味ない。
なんで
<?/*=$hogehoge[hohoho]*/?>
って書かないん?
0951nobodyさん
04/04/05 18:28ID:???俺もPHPをやり始めたばかりなので、合っているかどうかわからないけれど、
<html>
〜
<?php
// $hogehoge[hohoho];
?>
〜
</html>
でいいんじゃないの?
変数に代入した後、「;」で閉じないと、実行時にエラーが出るのでは?
0952946
04/04/05 18:33ID:oqrHq/L4<?
// =$hogehoge[hohoho]
?>
に、しました。
htmlに複数の<? *** ?>が書かれている行をまとめて
コメントにする場合って <!-- --!> しかないのですか?
たとえば
<?=$hogehoge[hohoho]?>
<a *****>
<?=$hogehoge2[hohoho2]?>
<a>
<?=$hogehoge3[hohoho3]?>
</a></a>
を、まとめてコメントにする場合は?
0953春は質問レベル低いねぇ
04/04/05 18:43ID:???<?=は代入じゃねぇよ
文末に;を付けたほうがいいというのはもっともだが、
この場合なくてもエラーは出ない。
>>952
<?/*=$hogehoge[hohoho]?>
<a *****>
<?=$hogehoge2[hohoho2]?>
<a>
<?=$hogehoge3[hohoho3]?>
</a></a>
<?*/?>
途中のaタグは表示したいとか言うなら一個一個消してくれ。
0954nobodyさん
04/04/05 18:44ID:???$hogehoge[hohoho] = "<!--";
$hogehoge3[hohoho] = "-->";
も一つの答えになりうる。
0955946
04/04/05 18:57ID:oqrHq/L4<!-- ---!> は使いたくないないだけだったんですが・・・・
複数行は <!-- ---!> しかないのですか。。。
PHPタグは2重に出来ないで よろしいのでしょうか?
0956946
04/04/05 19:02ID:oqrHq/L4955の発言は無かったってことで。
0958946
04/04/05 19:14ID:oqrHq/L4<?/*?> 〜 <?*/?> で囲めばいいんですね。
>>952は
<?/*?>
<?=$hogehoge[hohoho]?>
<a *****>
<?=$hogehoge2[hohoho2]?>
<a>
......
...
<?*/?>
0959nobodyさん
04/04/05 20:36ID:???0960nobodyさん
04/04/05 20:58ID:Hxp6Xm460961960
04/04/05 21:03ID:Hxp6Xm460962nobodyさん
04/04/05 21:05ID:???0966nobodyさん
04/04/05 21:58ID:???案外面白いもんだね
0967nobodyさん
04/04/05 22:19ID:???0968nobodyさん
04/04/05 23:24ID:QFszvbEI所有者が99になってしまいます・・・
その影響で、そのディレクトリを削除しようとしても
一旦、コマンドからアクセスして所有者を適切な値に変更して
からじゃないと削除できない状態です。
perlでmkdir()関数を使ってたときは、このようなことには
ならなかったのですが・・・
どうすればよいのでしょうか?
0969nobodyさん
04/04/05 23:41ID:???0974nobodyさん
04/04/06 15:33ID:???PECLへのリンクはもうちょっとマニュアルが整備されるのを待ったほうがいいかな?
0975nobodyさん
04/04/06 15:47ID:???0976nobodyさん
04/04/06 19:50ID:JmxKY28e基本的な質問で申し訳ないのですがPHPのやや古いバージョンは配布されていないのでしょうか?
最新の4.3.5は本家のdownloadにありますが
自分のサーバーにあわせて4.0.6を探しております。
0977nobodyさん
04/04/06 20:14ID:lpi6f7xmwinでphp.iniを書き換えてapacheを再起動しても、
php.iniの設定変更分が更新されないのですが、
これはどうしたらよいのでしょうか?
GDを追加したいのですが、変更が反映されず困っています。
0980nobodyさん
04/04/06 21:35ID:???PCに窓から投げ捨てられろ
0981nobodyさん
04/04/06 22:05ID:???ちょっと気になるのですが、UPLOAD攻撃の回避は、連続投稿を制限する以外に手段があるのでしょうか?
0982nobodyさん
04/04/06 22:05ID:???0983981
04/04/06 22:06ID:???0984nobodyさん
04/04/06 22:09ID:???春なのに優しくないなぁ…
>>977
一度、DOSプロンプトでPCを起動し直して、
format c:
y
と入力して、プロンプトが返す結果を書かないと、原因がわからんぞ。
0985nobodyさん
04/04/06 22:22ID:???うちは全部phpなんだけど。
ex. ttp://news.php.net/nntp.inc
0986nobodyさん
04/04/06 22:31ID:???includeファイルはそうするんじゃないかな?
(べつに*.incでなくてもいいけど)
includeすることを前提に書かれたファイルを
直打ちで呼び出されたら困るし。
・・・ってその例だと読めるのか・・・。うむ
0987981
04/04/06 23:33ID:???0988nobodyさん
04/04/06 23:43ID:???bluetooth内臓のPDAをPCに接続させたりとかそういう機能って
phpでは無理なんでしょうか?
0989nobodyさん
04/04/06 23:44ID:???0990nobodyさん
04/04/06 23:49ID:???copy($file,"$file_name");
?>
実行→
Warning: copy(C:\\test.png): failed to open stream:
何故クライアントの絶対パスなんだよ_| ̄|○
回避法、教えてエロい人!
0991nobodyさん
04/04/07 00:07ID:0gufPwwZB 3 324
C 5 448
D 2 916
といった配列があるとき、
A 2 233
D 2 916
B 3 324
C 5 448
のように一つ目→二つ目の順に昇順としてに並び替えたいのですが
どうすればいいのでしょうか?
また
D 2 916
B 3 324
A 2 233
C 5 448
みたいに二つ目の値の2〜3つ目の数値を認識して並びかえる事は可能でしょうか?
上の例だと
16→24→33→48みたいに
教えてください
0993nobodyさん
04/04/07 00:20ID:???http://jp.php.net/usort
0994nobodyさん
04/04/07 00:42ID:KVlECCJo0995nobodyさん
04/04/07 00:45ID:???0997nobodyさん
04/04/07 00:51ID:???0998nobodyさん
04/04/07 00:54ID:???ヒント教えてください。
0999nobodyさん
04/04/07 01:04ID:???1000nobodyさん
04/04/07 01:04ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。