【PHP】質問スレッド Part7
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/02/06 05:56ID:???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-10あたりに
0233nobodyさん
03/02/25 02:08ID:???0234nobodyさん
03/02/25 02:21ID:B2WvDxUx違いますよーccかbccを使うのは知ってたし。
225とかのマニュアルもちゃんと見ました。
でも
$header = "bcc: [email protected]";
mb_send_mail($header)
みたいにしても送れないんですよ。だから他に方法があるのか
関数を新たに作るのか、どうすればいいのか?と思って
質問にきたわけで、、、。
0235nobodyさん
03/02/25 02:27ID:???0236nobodyさん
03/02/25 13:52ID:jo4MhSz6どうも発言ランキング表示で発言回数順にソートする方法がわかりませぬ。
発言回数のログは「名前<>発言回数」のように記録しています。
sort関係の説明見たけど…いまいち。
0237nobodyさん
03/02/25 14:35ID:B6vdBkox表示させて、「続きを読む」を次のページにというようなこと
をやってるんですが、半角が混ざってると、最後の文字が
文字化けしてしまったりで上手くいかないのですが、なにか
いい方法はないでしょうか?
できれば本文を全て全角にする以外の方法がよいのですが・・・
0238nobodyさん
03/02/25 16:52ID:CxsOVHsX値渡しですか。
0239nobodyさん
03/02/25 18:16ID:???【PHP】初心者コーナー
http://pc2.2ch.net/test/read.cgi/php/1011550860/670
>>237
バイトコードで識別かけるとか?
>>238
【PHP】初心者コーナー
http://pc2.2ch.net/test/read.cgi/php/1011550860/677
まるでネタのようなタイミングだw
文字数で切るならいいけど、バイト数だと面倒そうだね・・・。
処理速度考えないならmb_substrで一文字ごとに配列につっこんで
頑張ったりするしかないのかな。
もっと良さそうな処理ありそうだけど。
0244nobodyさん
03/02/25 21:51ID:???0246nobodyさん
03/02/25 22:05ID:???リファレンスの違う書き方というのだろうか。
mb_strimwidthの間違い。スマソ
0249nobodyさん
03/02/26 02:06ID:???そのものズバリ、リファレンス、つか参照代入の話が展開されていた訳ですが。
後、Cのようなポインタがある訳ではないです。ポインタをかじっていれば理解し易いという話なだけで。
0250nobodyさん
03/02/26 10:41ID:pgTq4yym一番確実な方法は何でしょうか。
今fsockopen()でチェックしてるけどこれだけで本当に正確にチェックできてるのか不安
0251nobodyさん
03/02/26 12:53ID:NokKVj0c#====================================
${'test'} = "ゴルァ!";
print $test;
#====================================
(結果)
ゴルァ!
0252nobodyさん
03/02/26 12:55ID:NokKVj0c0253nobodyさん
03/02/26 13:14ID:???0254nobodyさん
03/02/26 14:33ID:???下記のデータをDBから引っ張り
number returnnumber
1 0
2 1
3 1
4 3
5 1
6 4
7 3
8 2
9 4
10 8
11 8
-------------------
これを
1 0
2 1
8 2
10 8
11 8
3 1
4 3
6 4
9 4
7 3
5 1
のように並べ替えたいと思います。
5 1の場合はnumberは5で、1に対しての返信となっています。
どなたかお知恵を貸してください。
僕の頭では無理そうなので…。
0255254
03/02/26 14:35ID:???1 0
2 1
8 2
10 8
11 8
3 1
4 3
6 4
9 4
7 3
5 1
0257254
03/02/26 14:52ID:???先生!教えてください。
DBの設計がいけないのでしょうか?
メッセージNOと返信する先のメッセージNOをいれておけばいいと
思ったのですが…。
だけじゃダメ...だろうな。
メインスクリプトの絡みで無駄が出るかもしれないけど、参考ということで、
function msgview($number,$nest){
$nest++;
$sql="SELECT number,returnnumber FROM table1 WHERE returnnumber=$number";
クエリ実行
while(1行取得){
echo str_repeat(" ",$nest) . $number . " " . $returnnumber;
msgview($number,$nest);
}
}
かな? スレッド先頭のメッセージは表示しないので、呼び出し側(メインスクリプト?)
で表示しれ。
あと、接続リソースも関数内で必要なので、グローバル変数に格納しておくか、
引数を増やしておけ。
while内で、取得したnumberとreturnnumberを$number,$returnnumberに
代入してから表示(echo文)な。
0260254
03/02/26 15:23ID:???$nest++;
$sql="SELECT * FROM bbs_table WHERE returnnumber=$number";
$res = pg_exec($con,$sql);
while($row = pg_fetch_array($res)){
echo str_repeat(" ",$nest) . $number . " " . $row[returnnumber];
}
}
こんなかんじでしょうか?
$nestとは?
0261nobodyさん
03/02/26 15:31ID:4C6IIdnnhttp://www.pink-angel.jp/betu/index.html
echo str_repeat(" ",$nest) . $row[number] . " " . $row[returnnumber];
msgview($row[number],$nest,$con);
$nestは字下げ用
それとブラウザに表示する場合は" "(空白)の変わりに な
0265254
03/02/26 15:36ID:???でも、なぜ余分に表示されるのかが、まだりかいできないです。
0266nobodyさん
03/02/26 15:47ID:???0269266
03/02/26 15:57ID:???仮想テーブルを作るか関数を作るかすりゃいいんだけどうまくいかね。
0270254
03/02/26 16:00ID:???$res = pg_exec($con,$sql);
$num = pg_num_rows($res);
for($i=1;$i<$num;$i++){
msgview($i,$nest,$con);
}
function msgview($number,$nest,$con){
$nest++;
$sql="SELECT * FROM bbs_table WHERE returnnumber=$number";
$res = pg_exec($con,$sql);
while($row = pg_fetch_array($res)){
echo str_repeat(" ",$nest) . $row[number] . " " . $row[returnnumber]."<BR>";
msgview($row[number],$nest,$con);
}
}
0271254
03/02/26 16:01ID:???8 2
10 8
11 8
3 1
4 3
6 4
9 4
7 3
5 1
8 2
10 8
11 8
4 3
6 4
9 4
7 3
6 4
9 4
10 8
11 8
と出ます。
そらそだろ。
スレッド先頭メッセージの場合returnnumberが0という約束なら、
$sql = "select * from bbs_table where returnnumber=0 order by number";
だが、本当ならNULLとしておくべきだろうな。
$sql = "select * from bbs_table where returnnumber is NULL order by number";
で、forループ内でmsgviewを呼び出す前に先頭を表示しておけ。
0273254
03/02/26 16:09ID:???msgview($i,$nest,$con);
}
ではなく、
$i=1;
msgview($i,$nest,$con);
でした。
ごめんなさい。
1スレッドのみの表示ならそれでもいいか。
メインスクリプトから呼び出しは
msgview($i,定数,$con);としておいたほうがいいな。
とりあえず定数=0 だけど、まお好みで。
0275254
03/02/26 16:19ID:???(スレッドの最後)を取ることもできるのでしょうか?
上記で言うなら、2のレスの終端は8と10になると思います。
出来る。
あるメッセージが終端かどうかを判断するのは簡単だろ。
DBから終端のメッセージを抽出するにはサブクエリが必要かな。
ま、がんがれ。
0278nobodyさん
03/02/26 17:21ID:???PHP4.1.2のアンインストールしたいんです。
Win2kでコンパネからできないんですよ。
そーゆー時ってどうすりゃいいでしょうか。
ちなみに先にApacheとSQLServerを
アンインストールしたんですが…。
0279nobodyさん
03/02/26 17:21ID:20q9A6atPHPとPERLで、hello worldをローカルでテストしました。
PHPが3倍速かった。感動。
鯖に上げた。
PHPの方が遅かった。
PHPはレンタルサーバーではこんなもんなのですか。
0285nobodyさん
03/02/26 18:37ID:???0286nobodyさん
03/02/26 21:13ID:cWnqGJTnmod_phpやmod_perlはまず使えない。
簡単に鯖落ちるから。
調べる必要もない。
phpがperlより速いというのは嘘。
巧妙に違う条件でテストしてるだけ。
0289nobodyさん
03/02/26 21:19ID:KtOwWiPw何か違和感がありませんか。得体の知れないものが暗闇に潜んでいるような。。
正体の知れたときこれまでの価値観が吹っ飛ぶかもしれませんよ。
http://it.sakura.ne.jp/~www/www/ranklink.cgi?id=fdeai
0290nobodyさん
03/02/26 22:38ID:E2cHSJ0mxreaってmod_perlも入ってるって書いてあるけど
使えなくしてあるという話
PHPの方が遅いらしい
http://member.nifty.ne.jp/hippo2000/perltips/phpperl.htm
0292285
03/02/27 00:25ID:???とりあえずg--z.comとkagoyaはmod_phpらしかった
0293nobodyさん
03/02/27 00:43ID:Audw+m+Fmod_phpは新しいごまかし方法と思います。
以前phpがperlよりはるかに速いと宣伝していたのと同様に。
mod_phpでもただCGIのように動かせるだけという設定になっていると思われます。
phpを速いと宣伝すれば、
ユーザーが増え、本を多く買ってもらえる。
WEB業者はphpはこんなにすごいですよと説明して単価を上げられる。
PHPは悪い選択ではないけど。
0294nobodyさん
03/02/27 01:48ID:???( ,,)┌─┴┴─┐
/ つ.キチガイ警報|
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛゛'゛゛'゛゛'゛'゛゛'゛'゛゛゛゛'゛゛゛'゛゛
0295nobodyさん
03/02/27 03:26ID:???Perl/CGIより早いと言っているわけでmod_perlより早いとはかいてないべや。
どうしてPerlより早いなんて斜め読みができるのか・・・
あと、mod_phpとCGI版(ぶっちゃけCUI版な訳だが)のphpは別物と考えたほうが良いと思われ。
どうもCGIを勘違いしてる人が居るような気がする。
0296nobodyさん
03/02/27 04:06ID:WAmVWf1Aどれへのレスかわからんし。
cgiperlよりはるかに速いっていうならmod_phpでしょ。
mod_phpとcgiperlを比べておきながら、phpはperlよりはるかに速いはないんじゃ。
mod_phpがcgiphpと同じなんてことどこに書いてないようですが。
0297nobodyさん
03/02/27 04:25ID:???Perl/CGIって明記してるのにmod_perlを比較対象に出してるのが(゚A゚)イクナイ。
どうも負けず嫌いなPerl信者に見えるんだよなぁ・・・
http://www.php.gr.jp/
> PHPについて
> PHPは、 HTMLファイル内に記述するタイプのスクリプト言語です。
> 通常のCGIとして使用できますが、PHPモジュールをApacheサーバーに組み込むことにより、 Perl/CGIと比較して処理速度の高速化、サーバー負荷の低減が可能です。
>>296
で、
>phpはperlよりはるかに速いはないんじゃ。
が何処にも書いてないわけで。
0299nobodyさん
03/02/27 06:41ID:NrttmTPUhttp://homepage3.nifty.com/digikei/ten.html
結局はどう使うかだと思うんだけどね……。
ところで、Smarty使ってる人いる?
これってsafe_mode使ってると使えないのかな。
users ML検索してみたら同じこと聞いてる人がいたけど
誰も答えてなかったよ…。
0301nobodyさん
03/02/27 10:45ID:???$_GET[**] でとれなくて、
$_GET['**']じゃないととれなくなりました。
エラー内容は、parse error, expecting `'('' in
ありえない、んだけど…。
<?php
echo $_GET[test];
?>
としても同じエラー。
なんででしょうか?
0302nobodyさん
03/02/27 10:49ID:???あ、ビジネス上の話ね。
0303301
03/02/27 11:04ID:???サイトが…。
0304nobodyさん
03/02/27 11:05ID:???0305gn355my0
03/02/27 11:13ID:???元々シングルクォートで囲むのが仕様じゃなかったっけ。
>>304
まぁいろんな意見あると思うけど案件の数と報酬額の高さで比べたらJavaは圧倒的やね。
0309nobodyさん
03/02/27 12:05ID:???<?
include( "../../../com/common.dat" );
include( "../../../com/db.func" );
include( "../../../com/err.func" );
include( "../../../com/agent.func" );
include( "../../../com/member/member.func" );
// DB接続
$conn = db_conecting( );
// メンバー認証
$mid = CheckMember( $id, $pass );
// 接続媒体確認
$agent = GetAgent( );
// メンバー情報獲得
include( "../../../com/member/_getdata.txt" );
// BBSセット
include( "../../../com/member/_setbbs.txt" );
// BBS読込
include( "../../../com/member/_readbbs.txt" );
// DBクローズ
pg_close( $conn );
下へ続く
0310nobodyさん
03/02/27 12:08ID:???<html>
<head>
<title><? echo $ttl; ?> -<? echo $C_sitename; ?></title>
</head>
<body <? echo $C_body; ?>><TABLE>
<TBODY>
<TR>
<TD width="589"><tt>
<center>
<? echo $pic; ?> <? echo $ttl; ?> <? echo $pic; ?>
<br><? echo $top; ?>
</center>
<br><? echo $top2; ?>
<br><a href = ./toukou.php?bbsid=<? echo $bbsid; ?>
&mid=<? echo $mid; ?>&id=<? echo $id; ?>&pass=<? echo $pass; ?>
&bbs=1&s_name=<? echo $s_name ?>&s_area=<? echo $s_area; ?>&s_f_10=<? echo $s_f_10; ?>&s_f_01=<? echo $s_f_01; ?>&s_t_10=<? echo $s_t_10; ?>
&s_t_01=<? echo $s_t_01; ?> accesskey=1><? echo $PIC_1; ?>書込</a>
<a href = ./index.php?bbsid=<? echo $bbsid; ?>&mid=<? echo $mid; ?>&id=<? echo $id; ?>&pass=<? echo $pass; ?> accesskey=2><? echo $PIC_2; ?>検索</a>
<div align = right><? echo $PIC_MAIL; ?>:メール送信</div>
<hr>
下へ
0311nobodyさん
03/02/27 12:11ID:???for( $i = $start; $i < $last; $i++ )
{
?>
<? echo $PIC_MAN[$disp_sex]; ?>
<? echo $nm[$i]; ?>(<? echo $age[$i]; ?>)[<? echo $area[$i]; ?>]<a href = ../mail/make.php?mid=<? echo $mid; ?>&id=<? echo $id; ?>
&pass=<? echo $pass; ?>&to=<? echo $to[$i]; ?>&bbsid=<? echo $bbsid; ?>&bsid=<? echo $bid[$i]; ?>>
<? echo $PIC_MAIL; ?></a>
<br><? echo $dt[$i]; ?>
<br><? echo $dcom[$i]; ?>
<hr>
<?
}
?>
<center>
<?
if( $prev != -1 )
{
?>
<a href = ./bbs.php?bbsid=<? echo $bbsid; ?>&mid=<? echo $mid; ?>&id=<? echo $id; ?>&pass=<? echo $pass; ?>&start=<? echo $prev; ?>
&s_name=<? echo $s_name ?>&s_area=<? echo $s_area; ?>&s_f_10=<? echo $s_f_10; ?>&s_f_01=<? echo $s_f_01; ?>&s_t_10=<? echo $s_t_10; ?>&s_t_01=<? echo $s_t_01; ?>>
<? echo $PIC_PREV; ?></a>
<?
}
if( $next != -1 )
{
?>
下へ
0312nobodyさん
03/02/27 12:11ID:joh0nav9今はね
いろいろなところで、
それはもうすごい宣伝だったよ。
http://www.php.gr.jp/
> PHPについて
> PHPは、 HTMLファイル内に記述するタイプのスクリプト言語です。
> 通常のCGIとして使用できますが、PHPモジュールをApacheサーバーに組み込むことにより、 Perl/CGIと比較して処理速度の高速化、サーバー負荷の低減が可能です。
>>296
で、
>phpはperlよりはるかに速いはないんじゃ。
が何処にも書いてないわけで。
0313nobodyさん
03/02/27 12:12ID:???&s_f_10=<? echo $s_f_10; ?>&s_f_01=<? echo $s_f_01; ?>
&s_t_10=<? echo $s_t_10; ?>&s_t_01=<? echo $s_t_01; ?>><? echo $PIC_NEXT; ?></a>
<?
}
if( $prev != -1 || $next != -1 )
{
?>
<hr>
<?
}
?>
<!----- フッター ----->
<center>
<a href = ../menu.php?mid=<? echo $mid; ?>&id=<? echo $id; ?>&pass=<? echo $pass; ?> accesskey = 0><? echo $PIC_0; ?>MENU</a>
<a href = ../../ accesskey = #><? echo $PIC_SHARP; ?>TOP</a>
</center>
<hr>
<div align = right><? echo $C_cp; ?></div>
</tt></TABLE>
</TBODY>
</TR>
</TD></body>
</html>
このプログラムに時間表示を追加したいんですが
どうすれば良いでしょうか?
どなたかご教授下さい。
0314nobodyさん
03/02/27 12:25ID:???せめて<?=にしてけろ
0315nobodyさん
03/02/27 12:52ID:hiSdT165また、どんなケースで使用するのでしょうか?
0316nobodyさん
03/02/27 13:00ID:???まず、長文ウザイ。どっかのサイトにあげろよ
あと、環境をちゃんと書け
そして、「時間表示」とは具体的にどういう表示にしたいのか書け
最後に、(σ゚д゚)σゲッツ
保険...かな。
数値入力を期待するところで、数値以外だったら0扱いって時は、
$val = (int)$_POST["val"];
みたいな。
の自己レス
$smarty->use_sub_dirs = false;
でいけるようになった。
日本で使ってる人少ないのかな…。
0319nobodyさん
03/02/27 14:17ID:???0321nobodyさん
03/02/27 14:33ID:???素直に echo にしたほうが良い事に気付きますた。(w
<?= の必要性は何なんだ?
Smartyどころか、テンプレート類一切使ったこと無し!
おかげで醜いスクリプトばかりになっちまった。
PEAR::HTML_Template_IT 誰か解説しねぇ?
>>320
XML絡みがあってかなんとなく推奨してないですよね。 > ショートタグ
HTMLにちょこっと埋め込むには、<?= ... >は見た目スマートで好きなんだが。
大昔に会社の初心者向けに適当直訳したものならあるけど。
ttp://angelicwing.net/php/IntegratedTemplate.html
そのうち書き直そうとは思ってるんだけど放置状態。
まあ、時間出来たらだらだら書き直すよ…。
サンクス!
あー、でもダメ。もうとしだな。
本腰入れて時間をかけて理解しないと、ウマーな状態になれそうにない。
phpを始めて知ってときみたいな、トキメキにはなれないっすねぇ。(w
0326nobodyさん
03/02/27 15:46ID:hiSdT165なるほど。
つー事はさほど気をつけて使用することは無いッてことですね
0327nobodyさん
03/02/27 15:48ID:???0328へたれ
03/02/27 16:50ID:V+dgiH8M.htaccessのあるフォルダにブラウザからIDとPW入力で入った後の
PHPによるユーザの切り替えは可能でしょうか?
たとえば最初はID:usr01、PW:pass01で入ったが、
途中でID:usr02、PW:pass02に切り替える。
(フォーム内のボタンクリック等で)
お分かりになる方いらっしゃいましたら、ご教授お願いいたします。
当方の環境:OS:Linux、PHP4.3(Apacheモジュール)
0329nobodyさん
03/02/27 17:04ID:3wwIaVv1PHP4.2.2 (藤本氏版)
--enable-zend-multibyte
--enable-mbstring
--enable-mbstr-enc-trans
--with-apxs=/usr/local/apache/bin/apxs
--enable-trans-sid
[php.ini]
register_globals = On
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.script_encoding =auto
続く
0330329
03/02/27 17:05ID:3wwIaVv1こんな感じの環境で、↓のファイルアップロードのスクリプトで、3つの変数の値$imagefile_name、$imagefile_size、$imagefile_typeが取得できません。。また、phpinfo()内に「$_FILES」が無いのですが。。。
どうすれば良いでしょうか。
---image_test_1.php------------------------------------
<?php
echo<<<EOF
<form action="image_test_2.php" method="POST">
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="300000">
<INPUT TYPE="file" NAME="image" SIZE="30">
<input type="submit">
</form>
EOF;
?>
-------------------------------------------------------
---image_test_2.php------------------------------------
<?php
echo<<<EOF
<PRE>
\$imagefile = $image
\$imagefile_name = $image_name
\$imagefile_size = $image_size
\$imagefile_type = $image_type
</PRE>
EOF;
phpinfo();
?>
-------------------------------------------------------
0331330
03/02/27 17:09ID:3wwIaVv1変数表示部分が微妙に書き間違えてましたが、動作しない事にはかわりありません。。
---image_test_2.php------------------------------------
<?php
echo<<<EOF
<PRE>
\$image = $image
\$image_name = $image_name
\$image_size = $image_size
\$image_type = $image_type
</PRE>
EOF;
phpinfo();
?>
-------------------------------------------------------
0332331
03/02/27 17:25ID:???formタグ内を、↓にすれば取得できました。
<form name="test" action="image_test_2.php" method="POST" enctype="multipart/form-data">
アップロードするファイルを何も選択せずにPOSTすると
<?php
echo "\$image = $image";
?>
↓
以前は、
$image = none
現在は
$image =
と異なります。
以前はphp4.1.2、現在はphp4.2.2です。
何か仕様が変更になったのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています