【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
0772nobodyさん
02/05/10 03:31ID:???ちなみに 1 が一番楽だが。
あんたの作ったPerlの移植の手伝いする気は無いので
もちっとマニュアル読み直して出直しな。
0773よろしゅう
02/05/10 13:52ID:hczMLcNA<form method=POST action="test.php">
<input type=text name=\"name1\">
<input type=submit>
で「あひゃ」を入力したとき、mb_strlen($_POST[name1])が5になります。
なにがおかしいのでしょうか?
ちなみに、methodの明示的な設定を行なわない場合は、期待通りの数値が返ってきます。
設定は以下のとおりです。
php-4.2.0
php.ini :
default_charset = Shift_JIS
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitude_character = none;
mbregex.encoding = EUC-JP
test.php :
ob_start('mb_output_handler');
0774うー
02/05/10 16:54ID:Pprr/GPf自分のpopアカウントを調べて、新着メールがあったら、
その内容を表示する(受信する)ようなページをphpで作りたいのですが。
そんなのってそもそも無理なんでしょうか?
0776うー
02/05/10 17:13ID:Pprr/GPfなるほろー。
このワザつかえばどんなサーバとも通信できますねー。
popサーバの使用っていうか、通信するにはどうすりゃいいか
ってどこで調べればいいでしょうか。
ちなみにgoogleでは調べましたが私には見つけられませんでした。
0777nobodyさん
02/05/10 17:27ID:N8MyGidWIMAP,POP3,NNTP関数あたり使えばSocket使わんでもできそう。
Socket使うなら
ttp://x68000.startshop.co.jp/~68user/net/
ここなんかが参考になるかも。
0778うー
02/05/10 17:33ID:Pprr/GPfIMAP,POP3,NNTP関数
これPHPマニュアルにIMAPのことしか書いてないですよね?
おかげでぜんぜんわかんないんです。
とりあえずこのサイトいってみます!
0779773
02/05/10 17:46ID:???よくわからないので、mbereg_replaceで置換しました。
マイク口ソフトマンセ!
0780nobodyさん
02/05/10 18:40ID:N8MyGidWIMAP関数の説明の中にPOPへのアクセスの解説もあったはずよ。
0781初心者です
02/05/10 19:31ID:0xG01URd日本語が化け(なんか剥き出しの文字コードの羅列になる)て読めないです。
HTML版は読めるんすけど、できればPDFでキレイなのを
印刷して読みたいです。
どうにかして読めんでしょうか?
DL元は php.net アクロバットリーダのヴァージョンは 4.0 です
0782nobodyさん
02/05/10 22:39ID:N8MyGidWあれ、たしか見れないはずよ。
あきらめましょう。
あれって自動生成してるんだっけ?
そうならPHP4のデフォルトにmbstringが入っていないのが
原因かもね。
PHP4.3.0からmbstringがデフォルトenableになるみたいだから
ひょっとしたら読めるようになるかも。
0785769
02/05/10 23:49ID:6nNB49tdとりあえずasciiだけセットしてお茶を濁したケド
0786nobodyさん
02/05/11 00:23ID:CFWMRgCdbbs.cgi?page1
みたく呼び出した場合、page1っつーのはどの関数にセットされるんでしょーか?
0787nobody:nobody
02/05/11 02:57ID:???出直せ。
0788nobodyさん
02/05/11 06:23ID:Hoa7fXm7( ゚ ,_ゝ ゚)
0789nobodyさん
02/05/11 06:25ID:Hoa7fXm7あったり無かったりするのは、いかがなものかと。
0790nobodyさん
02/05/11 10:35ID:Md7S8VnN0791ノーバディさん
02/05/11 10:39ID:DmITiQtbWarning: stat failed for http://page.auctions.yahoo.co.jp/jp/show/bid_hist?aID=46229999 (errno=2 - No such file or directory) in _on line 18
Warning: Supplied argument is not a valid File-Handle resource in on line 18
ソース
<?php
$urlname="http://page.auctions.yahoo.co.jp/jp/show/bid_hist?aID=";
for($urlnum=46229999; $urlnum<= 46239999; $urlnum++){
$url = $urlname.$urlnum;
if(!($file=fopen($url , "r"))){
print("File could not open.");
exit;
}
while(!feof($file)){
$text=fgets($url ,filesize($url));
}
if(!($writefile=fopen("./data.txt","a"))){
print("data.txt could not open.");
exit;
}
fputs($writefile,$text);
fclose($writefile);
fclose($file);
}
print("success");
?>
0792nobodyさん
02/05/11 11:54ID:???http://news.tbs.co.jp/tick_t3_[0-10].htm
を単にフレーム内に入れてループさせてるだけな気もするが
時間によって、file名変わる?
0793771ですが
02/05/11 15:22ID:diEJiLzMとりあえず1.は判りました。
UserAgentも変えられないし、LWPモジュールの代わりには
全然ならないですけど。
膨大なマニュアルの中でどこを見ればいいか判らないんで
教えを乞うているんですが、教えてもらえないですか…。
言語によって思想も違うから、見当違いの方向探せば
どつぼにはまるんで(1.の例でも、ファイルオープンと
HTTPアクセスの関数が同じなんて、言われなきゃ普通
判らない)ヒントになる関数名やポインタだけでも教えて
もらおうと思って書いたんですけどねえ…。
それ以上は自分で調べますが…。
逝ってよし云々は、口が悪かったですが、聞く→教えて
もらう→使いたい用途と少し違うので再度聞く、という
手順を省きたかったんで、この関数については調べました
が使いたい用途とは違うので、別のを教えてくださいっ
ていう事を前もって書いておいただけなんですが。
0794nobody:nobody
02/05/11 16:19ID:???見苦しいな。もう来なくていいよ。
もうPHPに触れるな。黙ってPerlやってろ。
0795nobodyさん
02/05/11 16:21ID:R17vJsYAしなくては駄目でしょうか?
また、IMAPサーバはCourierIMAPやCyrusでもいいのでしょうか?
ご存知の方よろしくお願いします。
0796nobody:nobody
02/05/11 16:23ID:???自分で試したのか?
0797nobodyさん
02/05/11 18:35ID:???しているのですが、下記のサンプルプログラムを
用いたところ正常に実行されません。
sample.php
---
<html>
<body>
<?
print $hoge;
?>
</body>
</html>
sample.html
------
<html>
<body>
<FORM method="POST" action="sample.php">
<input type="text" name="hoge"> <input type="submit" value="test">
</FORM>
</body>
</html>
実験方法としては ブラウザで sample.html にアクセスし、
テキストフォームに 適当な値を入力し、
その後 sample.php でその値が表示されれば成功なのですが、
下記のようなエラーが発生します。
Notice: Undefined variable: hoge in c:\php\sample.php on line 4
上記のエラーを見る限りでは、hoge が sample.php に渡っておらず、
不明な変数という理由でエラーが出ているように思えます。
サーバー環境は下記の通りです。
windows XP Pro
Apache/1.3.24
PHP Version 4.2.0
ご教授お願い致します。
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
わかってるなら二度と来るな
■ このスレッドは過去ログ倉庫に格納されています