【PHP】質問スレッドPart3
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/02/17 13:23ID:N+9Uw5dE答えられる方、返答よろしくお願いします。
<<参考リンク>>
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■JapanPHPUsersGroup
http://www.php.gr.jp/
■PHP日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
<<過去スレ>>
■【PHP】質問スレッドPart1
http://ebi.2ch.net/test/read.cgi/php/982687820/
■【PHP】質問スレッドPart2
http://pc.2ch.net/test/read.cgi/php/1003283567/
<<教えて君>>
■ここ見習って書き込んじゃ、駄目よ
http://pc.2ch.net/test/read.cgi/unix/1011345180/242-245
0798nobodyさん
02/05/11 21:25ID:vjg6e4I2C-clientだけをインストールして動くのかは試しました。結果は駄目でした。
やはりIMAPサーバを入れなくては駄目なのでしょうか?
0800nobodyさん
02/05/12 01:57ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0801nobodyさん
02/05/12 12:24ID:DUg/4LyBヘッダも付加することはできますかね?
header('HTTP/1.1 201 Created');
header("Location: http://...");
とかやると、マニュアルに書いてある通り「302 Found」
になっちゃいます。PHP-4.0.6 です。
0803801
02/05/12 12:30ID:???header("Location: http://...");
header('HTTP/1.1 201 Created');
という風に。
0804逆
02/05/12 13:38ID:GnR2DzSwPC 版
http://pucchi.net/1/kado2/
i-mode版
コギャルとHな出会い他、、激リンク集もあり
逆アポ、中学生、高校生の掲示板多数
男性、女性共書き込み無料全国都道府県
別検索可能なサイトです(可愛いコギャルた
ちも待ってます。)
!”#$%&’()=〜|〜=)(’&%$$
QWERTYUIOP‘{}*+LKJHGFDSAS
http://pucchi.net/0/gazou/
PC版
激。。。画像に夢中
コギャル貼りつけ画像
掲示板集〜超過激!
0805PHP4.1.2だが
02/05/12 14:16ID:+O1dnnhP/boo/hoge.phpってファイル名のはずが/boo/hogeしか入ってなかったり。
$PHP_SELFに依存するのは避けた方がいいかな?
0806nobodyさん
02/05/13 10:07ID:???210.143.199.209に誰かが借りてるのか?
0807nobodyさん
02/05/13 10:51ID:???クラスAを継承するクラスBとクラスAを継承するクラスCとで
同じ変数を共有するにはどうしたらいいのでしょうか?
class A {
var $a;
function aa() {
$this->a += 10;
echo $this->a . "[A]<BR>\n";
}
}
class B extends A {
function bb() {
$this->a += 10;
echo $this->a . "[B]<BR>\n";
}
}
class C extends A {
function cc() {
$this->a += 10;
echo $this->a . "[C]<BR>\n";
}
}
$bb = new B;
$bb->aa();
$bb->bb();
$cc = new C;
$cc->aa();
$cc->cc();
ためしにこんなスクリプトを書いてみたところ
10[A]
20[B]
10[A]
20[C]
という結果になりました。
10[A]
20[B]
30[A]
40[C]
という結果にしたいのですが。
それとも変数を共有する時点で設計がおかしいのでしょうか?
0808nobodyさん
02/05/13 19:06ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0809PHP4.1.2だが
02/05/13 19:45ID:eICPjNFh/home/usr/pub/boo/hoge.phpがあるとき'hoge.php'を呼ぶと
$PATH_TRANSLATEDは/home/usr/pub/boo/hoge.phpになるが、
'/'を付けて'hoge.php/'と呼ぶと
$PATH_TRANSLATEDは/home/usr/pub/になる。
仕様?バグ?再現求む。
dirname($PATH_TRANSLATED)とかやると更に妙な事に。
0810nobodyさん
02/05/14 00:49ID:PuzpL/Zh<?
function Hoge() {
?>
<html>
<head>
</head>
<body>
Hoge
</body>
</html>
<?
}
?>
という書き方にすごーく変な感じを受けるのですが、これってどうなんでしょ。
関数の定義中にPHPを抜けてるように見えて仕方ない、、
0811nobodyさん
02/05/14 10:14ID:dvbYPP4R0812nobodyさん
02/05/14 13:08ID:???"/aaa/bbb/ccc.html" + "../ddd/eee.html" => "/aaa/ddd/eee.html"
みたいなの
0813nobodyさん
02/05/14 13:16ID:???うんへんだねー って答えが欲しいのか?
?> xxxxx <? ってなってるところを
print(" xxxxx ");
みたいに脳内変換すれ
0814nobodyさん
02/05/14 13:22ID:???設計がおかしい オブジェクト指向を勉強しなおし
別オブジェクトかglobal変数にしなさい
邪道だが、 $bb と $cc を new した後で
$cc->a =& $bb->a みたいなでとりあえずは可能かも
ただおかしいのは確か
0816nobodyさん
02/05/14 13:26ID:1hXqJxvV0817nobodyさん
02/05/14 13:27ID:pQxfM21AbagFix版とのこと。
一昨日4.2.0入れたのに(~_~;)
0818nobodyさん
02/05/14 13:36ID:pQxfM21Aしょうがなく、bz2ダウン、、、
0820714
02/05/14 14:48ID:???俺は810ではないけど、ヒアドキュメントじゃなくて
<?php function hoge(){ ?>
hoge
<?php } ?>
みたいにするメリットって何かあるの?
html部分をwebデザイナーに任せられるとかそんな感じ?
0821nobodyさん
02/05/14 14:49ID:???鬱sage
0823nobodyさん
02/05/14 15:54ID:???B,C2種類のインスタンスを作りたいなら引数で引き継ぐようにすればいいんじゃないかな。
0824login:Penguin
02/05/14 16:48ID:???0826かなりしょしんしゃ
02/05/14 20:10ID:z0ANN3Adつまり、ページのデータはテキストファイルとして作っておき(1ページにつき1つ)、doc.phpでそのテキストファイルを読みこんで表示させようというアイデアです。
が、これは鯖に負担がかかりそうなのでいけない気がしてきました。
このアイデアは使えるでしょうか?
乱文スマソ
(コンテンツの表示の仕方が極めて単調になる、という突っ込みは勘弁してください。)
0827nobodyさん
02/05/15 00:25ID:+pLmcUHCpostで送られてくるかgetで送られてくるかわかんない場合、
どの配列を参照すればいいんでしょーか。
まさかif分岐?
0828827
02/05/15 00:30ID:+pLmcUHC0829nobodyさん
02/05/15 00:30ID:???全部受け取れる奴がある。$_REQUESTか
language.variables.predefined.htmlを参照してくれ。
けど、私の場合はそのような使い方するところは少ないので
そのまさかのifを使っていたり・・・
0830829
02/05/15 00:31ID:???0831827
02/05/15 00:36ID:+pLmcUHCココ答えてくれる確率すごい低いんで書いた後も調べ続けたら見つけちゃいました。
$_REQUEST、セキュリティー上云々と書いてありますけどとりあえず使っちゃいます。
ifでもいいけど、個数増えると面倒そうで、、、
0832827
02/05/15 00:48ID:+pLmcUHC>>826
悪くはないと思う。メンテが楽になるという点では。
が、ページに共通する部分が多ければの話じゃないかな。
イニシャルの負担は別として、サーバーにかかる負荷と、
共通部分を一斉にメンテできる利点とを天秤にかけて下さいな。
因みに前Perlで同じようなもの作ろうとしました(笑
0833nobodyさん
02/05/15 05:42ID:P4GuvpUhテキスト、csvだと仕様変更時難儀しそうやね。
0834807
02/05/15 13:35ID:???引数も考えたんですが、共有するほうが
今組んでいるプログラムの設計的に
いいかなと思ったんです。
が、その設計が間違っているということで、
オブジェクト指向を再度勉強中です。
しかし、お答えありがとうございました。
0835826
02/05/15 16:51ID:???レスありがとうございます。
うーむ、天秤にかけるのか…。微妙だけど、100枚程度の中規模サイトなので、PHPで処理したいと思います。
>>833
レスありがとうございます。
DBかXMLですか。勉強しなきゃなあ…。(DBはちょっとかじったんですが。)
たしかに、テキストだと要素を追加するとき大変ですが、前述の通り中規模サイトなのでテキストでなんとかなるような気がします。
0836nobodyさん
02/05/15 18:38ID:???0837nobodyさん
02/05/15 23:06ID:LtIl3eJNPHPじゃこんなもんか。
0838nobody
02/05/16 13:58ID:/I5K1IiOPHP4.0.3だと動作しないのです。
プログラミングは全然わからないのですが、何故でしょう?
0839nobodyさん
02/05/16 14:07ID:???質問がアバウトすぎです。
どんなエラーがでたとか
設置したソースはこれだとか
示さないと答えようがありません。
>プログラミングは全然わからないのですが
なら、少しは自分で調べましょう。
調べて、それでもわからなかった時に
聞いて下さい。
0841838
02/05/16 15:12ID:/I5K1IiOこちらのソースそのままなんですけど、自分のマシンのサーバーだと
動くので(PHP4.1.2)PHPのバージョンに問題があるのだろうとは思います。
自分で調べて分かったのはこれだけです。
エラーは送信ボタンを押しても何も動作しない、もとのままということです。
0842nobodyさん
02/05/16 15:23ID:KqIN4L4CWarning: Failed opening '/home/htdocs/public_html/test.php inclusion (include_path='.;c:\php4\pear') in Unknown on line 0
と言われるのですが、何が原因でしょうか?
0843nobodyさん
02/05/16 15:49ID:DuKoWpQwversion 4.2.1 を使用しています。
mb_ereg といったマルチバイト関数が使えません。
気づいた原因があれば教えてください。
php_info()
Configure Command './configure' '--with-apxs=/usr/local/bin/apxs' '--with-pgsql=shared' '--enable-mbstring' '--enable-mbstr-env-trans' '--enable-versioning' '--enable-pcntl'
mbstring
Multibyte (Japanese) Support enabled
Directive Local Value Master Value
mbstring.detect_order
EUC-JP,SJIS,UTF-8,JIS,ASCII EUC-JP,SJIS,UTF-8,JIS,ASCII
mbstring.func_overload
0 0
mbstring.http_input
AUTO AUTO
mbstring.http_output
EUC-JP EUC-JP
mbstring.internal_encoding
EUC-JP EUC-JP
mbstring.substitute_character
no value no value
0845842
02/05/16 17:01ID:KqIN4L4Cこのエラーが出るところまでは分かったのですが……。
0846nobodyさん
02/05/16 17:04ID:???確証ないけど。
php.iniのinclude_path見て、
シングルクォーテーションで囲っていたら
それをダブルウォーてーションに変えてみそ。
っていうか、UNIX系のOSだよね?
UNIX系OS使っていてinclude_path='.;c:\php4\pear'
とか書いていたら青マンモス本で後頭部殴って沈めますが(藁
0848新人
02/05/16 20:19ID:???OO4Oを使うのはどっちがいいの?
社会人一ヶ月目の課題です。
0850842
02/05/16 20:27ID:KqIN4L4C""で括ってます。
> っていうか、UNIX系のOSだよね?
Windows XP なので、殴らないで下さい。。。
あー、いや。
Warning: Failed opening '/home/htdocs/public_html/test.php
とか書いてたからあれ?と思っただけ。
UNIXっぽいpathだなぁと。
とりあえず、もうちょっと詳しい状況聞かないと何とも。
後はsafe_mode絡みかなぁ・・・。
0853げ鬱
02/05/17 02:01ID:Yz0hLQt9これでconfigした後makeしょうとすると決まって失敗するねん。
どこかいいGDやFreetypeインストールに懇切丁寧に書かれたページはないもんか。(英日どっちでもいいよ)
0856げ鬱
02/05/17 03:05ID:Yz0hLQt9res-thanX!!!
とりあえず下記を今のところ下記のものをインストールしてます。
freetype-2.1.0
gd-1.8.4
jpeg-6b
libpng-1.2.2
zlib-1.1.4
ほかに必要なものなどありますか?
0857げ鬱
02/05/17 03:33ID:Yz0hLQt9http://202.228.202.3/inst/inst_02.php
上記の通りで成功!(PHP-4.2.0)
./configure --with-gd --with-zlib-dir
と次にやってみました。
うんでmakeでエラー。もちろんmake installもえら。
ちなみに下はそのエラーログです。
http://homepage.mac.com/geutsu/error.log
0859nobodyさん
02/05/17 13:10ID:fkHus637$pid = pcntl_fork();
プロセス管理関数が使えません。使っているのは 4.2.1 です。
configure は以下のとおりです。
'./configure' '--with-apxs=/usr/local/bin/apxs' '--with-pgsql=shared' '--enable-mbstring' '--enable-mbregex' '--enable-pcntl' '--enable-mbstr-env-trans'
0860nobodyさん
02/05/17 14:18ID:???GDのインストールまじで面倒・・・
うちだとこんな感じ・・・。なんで、こんなに上位のディレクトリ
指定しないと駄目なんだろうか
それと、ゴミが入ってるけど気にしないでください。
./configure --with-pgsql=/usr/local/pgsql --with-mysql=/usr/local/mysql
--with-apxs=/usr/local/apache/bin/apxs --enable-versioning
--enable-trans-sid --enable-ftp --enable-mbregex --enable-mbstring
--enable-mbstr-enc-trans --with-gd=/usr/local --with-jpeg-dir=/usr
--with-png-dir=/usr --with-zlib-dir=/usr
--with-ttf=/usr/X11R6/lib/X11/fonts/TrueType
0861nobodyさん
02/05/17 23:29ID:nK6fF4kRよって PHP は糞。
0862nobodyさん
02/05/18 00:41ID:/NnU/kQ2そんなのどんな言語だって一緒だろうが。
0863nobodyさん
02/05/18 16:09ID:???禿同です。
でも PHP だと設定の違いを吸収するためのコード
を書く必要が多いような気がする。大した手間じゃ
ないけど、ちょっと鬱かモナー
08642ch?
02/05/18 21:19ID:XJvHLsL20865駆け出し
02/05/19 02:34ID:o8HCULoj「長文の先頭から何文字を表示する」っていうプログラム
をどう製作すればいいか、迷っています。
例えば、この掲示板もそうですが、あまりに長文だと、
ある一定の文だけを表示して、それ以降を省略させてい
ますよね。
ただ、日本語文字は全角2バイトですよね、だから、
もし「先頭から100バイトを表示」とか指定した場合、
途中に半角の文字がはいったりして、
100バイト目と101バイト目を使って、全角文字を
1つ表示している・・・って場合もありうるわけで、そ
の場合、文字化けの原因になりますよね?
どうすれば、こういった問題を回避して、
「長文過ぎる場合に省略して前半部分だけ表示」という
のができるのでしょうか。
(他の言語なら分かるが、PHPでは無理って場合でもOK
なんで、やりかたをご存知の方がいれば・・・)
0866nobodyさん
02/05/19 02:48ID:a+gm9DOhマルチバイト文字列関数使えばいい。
mb_strimwidth() あたりかな。
0867nobodyさん
02/05/19 03:40ID:C9ltI6g10869nobodyさん
02/05/19 17:00ID:CsY+l6QG0871nobodyさん
02/05/19 17:46ID:???すれ違いですか?
それとも板違いですか?
すみません。
0872nobodyさん
02/05/19 17:51ID:???文盲?
>871
わかってるなら二度と来るな
0873nobodyさん
02/05/19 18:46ID:a+gm9DOhPHPにおけるオブジェクト指向プログラミングであれば、
ttp://www.sebastian-bergmann.de/phpoopbook/ja/
こんなドキュメントがあった。
PHP 5にならないと実装されてない内容だったりもするけど。
デザインパターンだと、
ttp://www.pat.hi-ho.ne.jp/dimension/
こんなとこがあった。
0874narucy56 ◆wMOjCT4s
02/05/19 19:05ID:SLQ7PBuzスゲーな。こんなちゃんとしたドキュメントもあるのか。
確かに、PHP でも、OOP やれることはやれる。
しかし、そういうことに凝れば凝るほど、Ruby に帰りたくなる罠。
0875nobodyさん
02/05/20 10:48ID:GKYMwnV0仮想関数使えないのはつらい気もするよ
0876nobodyさん
02/05/20 12:54ID:axVCexX70877nobodyさん
02/05/20 14:11ID:RpThRsU9テストコードを作成しているのですが、Acrobat Readerでエラーが出て
しまいます。
「ファイルの種類がサポートされていないかファイルが壊れている(電子メール
の添付資料として送信され正しくデコードされなかったなど)のため、Acrobat
では「V1S6CVDB.fdf」を開けません。」
と出てきてしまいます。
テスト対象のfdfファイルを単独でAcrobatで起動すると、問題なく
表示されるので、コードが間違っているとは思うのですが・・・。
Web上(google等でサーチ)にPHPでの見本が見つからなかったので、
途方にくれています。
どなたか同じようなことを解決された方はいらっしゃいませんでしょうか?
上記のエラーは↓が間違ってるのでしょうか?
header("Content-type: application/vnd.fdf");
0878nobodyさん
02/05/20 14:34ID:0YtwoM9N0880nobodyさん
02/05/20 19:36ID:ezs3rnc7なぜかNCSA HTTPd 1.5.2でした。
仕方がないのでCGIとして使おうとするのですが、どうもうまくいきません。
500 Internal server error が出ます。
いろいろ試しているのですが…。
あ、apacheも入ってた。 apache 1.2.4。鬱だ。
どちらかでPHP4は動かせますか?
0882nobodyさん
02/05/20 20:27ID:3waXCUcXDB(mysql)のsqlで対応しています。(left関数)
(最近のPHP <4.1 とか 4.2とか> であれば、マルチバイト関数で、すんなりできるかも。)
mysqlの例)
mysql> select left('あいうえお1234567890',5);
+--------------------------------+
| left('あいうえお1234567890',5) |
+--------------------------------+
| あいうえお |
+--------------------------------+
1 row in set (0.00 sec)
mysql> select left('あいうえお1234567890',6);
+--------------------------------+
| left('あいうえお1234567890',6) |
+--------------------------------+
| あいうえお1 |
+--------------------------------+
1 row in set (0.00 sec)
mysql> select left('あいうえお1234567890',7);
+--------------------------------+
| left('あいうえお1234567890',7) |
+--------------------------------+
| あいうえお12 |
+--------------------------------+
引数は、バイト単位ではなく、文字数の模様。
詳細は、mysqlのマニュアル参照して。。。。
0883nobodyさん
02/05/20 21:20ID:3waXCUcXちょっと時間かかったけど、できたよ。
>>879のアルゴで。
function fnc_2monday($pi_yyyy,$pi_mm){
//******************************************//
// ある年の月の第2月曜日を求める関数 //
// 引数 $pi_yyyy ある年(一応、4桁でね) //
// 引数 $pi_mm ある月(1〜12) //
//******************************************//
//******************************************//
// >>879 のアルゴリズムでコーディング
//******************************************//
//1.ある年の月の第1月曜日を求める
$wk_1day = mktime(0,0,0,$pi_mm ,1 ,$pi_yyyy)."<BR>";
//一日から順に第一月曜を求める(べたべたやけど、確実にね)
for ($i=1;$i<= 7;$i++){
$wk_aaa = date("D",mktime(0,0,0,$pi_mm ,$i ,$pi_yyyy));
if ($wk_aaa=="Mon"){
//第一月曜日の場合、抜ける
$wk_1monday = $i;
break;
}
}
//2.1で求めた数字に7を足す
//つまり第二月曜日ね
$wk_2monday = $wk_1monday + 7;
return $wk_2monday;
}
//呼び出し側
print fnc_2monday(2002,1);
print fnc_2monday(2002,10);
どう?
0884883
02/05/20 21:23ID:3waXCUcX$wk_1day = mktime(0,0,0,$pi_mm ,1 ,$pi_yyyy)."<BR>";
↓
$wk_1day = mktime(0,0,0,$pi_mm ,1 ,$pi_yyyy);
0885nobodyさん
02/05/20 21:33ID:3waXCUcXスレ違い回答
OO4O
0886878
02/05/21 10:06ID:Khg2tXr/自分で書くしかないんですね。
>>883
おお!助かります!
まぁ、たしかに改正祝日法で休日を求めたかったんですけどね。
来年から海の日と敬老の日は第3月曜日が休みらしいので
ちょっと改造して使いたいと思います。m(_ _)m
0887880
02/05/21 10:56ID:Y+BXE95A鯖屋さんは「サポートはしないが、CGIならなんでも使ってOK」と言ってて、
それならCGIとしてphpを使ってみようと思ったんですが、前述のような構成なので
情報が少なく、(Windows以外では普通CGIとして使わないでしょ?)
そもそもFreeBSD4.5+apache1.2.4 なんて環境で動く可能性があるのかどうか、
やったことある人がもしいればいいなぁと。
だめだったら鯖屋変えます。
0888nobodyさん
02/05/21 11:28ID:???> //一日から順に第一月曜を求める(べたべたやけど、確実にね)
とするなら、はじめから8日から14日の間で月曜を探す、とした方が
早いでしょ。第n週目なら
for ($i=($n-1)*7+1; $i<= $n*7; $i++)
「第2月曜はX日?」ではなく、「X日は特別な日かどうか」と
逆方向からアプローチする解もあるんで参考までに。
0890nobodyさん
02/05/21 15:57ID:???0891880
02/05/21 19:37ID:???>(´-`).。oO(FreeBSDのバージョンが4.5なのに、なんでApacheが1.2.4なんて古いバージョンなんだろ・・・)
それが不思議なんですが、本当なんです。httpd -v で確認。
こんな古いのでもphp4.2.1が動きました。ついでにNCSA HTTPdでもw
0892nobodyさん
02/05/22 08:15ID:xP9u5upA<?php
echo"<a href=$PHP_SELF?hoge=test>テスト</a>\n";
print ($hoge);
?>
こういう使い方は論外ですか?
テストのリンク以外
何も表示されないんですが
というか、基本的に解っていないような気もする・・
0893nobodyさん
02/05/22 09:08ID:???0894nobodyさん
02/05/22 11:53ID:NOISo+Qe$hogeが表示されねーんだろ?
「register_globals」「$_REQUEST」について調べろ。
いい加減、この同じような質問見るの飽きたんだが。
MLでもこんなんが定期的に出てくるし。
にしても親切だな。MLの連中。
「過去ログ見ろ」の一言ですまさず、ちゃんと教えてやがんの。
0896nobodyさん
02/05/22 20:41ID:eoMNTnSb$this->hoge = $aaa["hoge"]
というような処理が連続でいっぱいあるんですが、whileをつかって簡潔にする方法はありませんか?
0897親切な人
02/05/22 20:43ID:???ヤフーオークションで、凄い人気商品、発見!!!
「高性能ビデオスタビライザー」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
■ このスレッドは過去ログ倉庫に格納されています