【PHP】質問スレッドpart17【php】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
04/05/17 17:14ID:AT+bUkag・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
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-4
抜けているものがあったら補足願います
0861nobodyさん
04/06/10 21:32ID:???でもいい
というか
parent::A();
のAは親クラス名と考えるからしっくりこないんじゃない?
parent::親クラスのメソッド名
と考えればしっくりくるんでないかい
0862nobodyさん
04/06/10 21:45ID:???意味が分からんが、parentで呼び出すのはコンストラクタだけじゃない以上どうしようもないんじゃないか。
サブクラスにコンストラクタがないと親クラスのコンストラクタが自動で呼ばれるから嫌なら書かなくてもいいけど。
0863nobodyさん
04/06/10 21:50ID:???>parent::親クラス名()
861が書いてるが、これはメソッド名であって「親クラス名」じゃない、というだけの話。
つーかそんな仕様あったのか。マニュアルに書いてあったっけ。
0864860
04/06/10 22:31ID:O23c+QRzありがとさんです。
PHPのマニュアルの「親クラス」ってとこには↓のように書いてあるんですね。
>コードの基底クラスのリテラル名を使用する代わりに、
>特別な名前 parentを使用する必要があります。
>この名前は、 クラスのextends宣言で指定された基底クラスの名前
>を指しています。これにより、基底クラスの名前を複数の場所で
>使用する ことを避けることが可能です。実装の際に継承ツリーを変更した場合でも、
>変更は簡単で、クラスのextends宣言を変更するだけ ですみます。
ついでに、「コンストラクタ」のとこには
>PHP 3 および PHP 4のどちらでも派生クラスのコンストラクタから基底
>クラスのコンストラクタを自動的にコールすることはできません。
>上流のコンストラクタを適切にコールするように伝播させることは
>あなたの責任でやるべきことです。
とあるんで、parent::親クラス名に行き着いたわけなんです。
別に継承ツリーを変更するのを簡単にしたいというわけではないんだけど、
(っていうかそんな状況は考えたくもないですが)
Javaの「super()」みたいに「parent()」とかできんもんかと思ったわけです。
と、いうわけで、納得しました。
ありがとうございました。
0865nobodyさん
04/06/10 22:31ID:B73mvqdeデータベースを活用したウェブプログラミングがしてみたくて、今度phpをはじめようと思います。
それまで、プログラムはほとんど書いた事がないんですが、最初の一歩としては、やはりマンモス本のようなものを買ってきて、
環境をそろえて、試しながら勉強するのがいいでしょうか。
自分の使ってるウェブホスティングサーバーには、PHP3/4が使用可能と書いてあるんですが、この場合、3を勉強してから4うを勉強したほうがいいのかな。
それとも、4の入門書とかも充実してますか?
もしよろしかったらアドバイスお願いします。
0866nobodyさん
04/06/10 23:12ID:???parentが親クラス名を指してるんじゃないの?
parent = 親クラス
なんで、
prent::メソッドは
親クラス::メソッドと同意かと。
0867nobodyさん
04/06/10 23:18ID:0Ch08L+0ある端末では受信できるのに
ある端末では受信できません。
各地方毎のEZメールサーバで受信設定が違っていたりするのでしょうか?
0868nobodyさん
04/06/10 23:31ID:0Ch08L+0すみません、有る端末とはEZ端末のことです。
0869863
04/06/10 23:40ID:???0872nobodyさん
04/06/10 23:57ID:???バージョンてそういうもんじゃないだろw
php4から始めればいいよ。
これからやろうというなら3を気にするよりは5のほうを横目で見ておいたほうが。
phpは仕様変更が激しい。参考資料が古くて「サンプルどおりやってるのに動きません」的な
ハマリがこのスレでも度々出るので、テキストは古いものより新しいものを。
いずれにしても互換性を失うような差異はマニュアルに注がある(はず)ので、
php3についてはそこでフォローする程度でいいと思う。
(phpの歴史について知りたいというなら勉強したほうがいい?)
0875nobodyさん
04/06/11 00:11ID:knpGp2r3などについて答えられるかと思ったんですけど
答えられる方がいないので、違うスレで質問しようと思うんですけど
どのスレが良いでしょうか?
それとも、ちゃんとしたMLに聞いたほうがいいのでしょうか?
0877nobodyさん
04/06/11 00:18ID:???むづかしい質問はMLであながいします。
0879nobodyさん
04/06/11 00:24ID:???0880nobodyさん
04/06/11 00:35ID:???簡単な質問=>誰でも答えることが出来てレスが速いのでこのスレを利用しる
むづい質問=>答えられる人が限られてくるので時間がかかってもMLを(以下略
てかこのスレは質問に答えるというより雑談スレに近いけどな。
0881nobodyさん
04/06/11 00:47ID:???つーか今はどこの技術系mlもホント大変なんだからホイホイ誘導かけるのはやめたれよ。
http://pc5.2ch.net/test/read.cgi/php/1085576406/
0882nobodyさん
04/06/11 00:57ID:???0884nobodyさん
04/06/11 05:44ID:???んじゃこんなのはDo?
ttp://matsuya.dyndns.tv/2ch/img-box/img20040611054229.gif
0886nobodyさん
04/06/11 09:05ID:???感じ好まれるが、言語ととしてのロゴには向かんと思う。
かといってデジタルっぽいのは駄目だしねぇ。
0887nobodyさん
04/06/11 11:50ID:???0888nobodyさん
04/06/11 11:55ID:???http://www.php.co.jp/images/logo.gif
0889nobodyさん
04/06/11 13:32ID:???遅レスですが、PHP5からは、コンストラクタ名に _construct が
使えるようになるので、parent::_construct のように使用することを
想定しているのだと思います。
0890nobodyさん
04/06/11 14:43ID:K5FDKUKd0891nobodyさん
04/06/11 14:44ID:???0892nobodyさん
04/06/11 15:13ID:nBugQ+Djprint_r(split("\n| ", "a\nb c\nd\ne f g\nh"));
0893駆出しPHP
04/06/11 17:11ID:???function Open_File(){
global $file;
$data = file($file);
略
}
と
Open_File($file);
function Open_File($file){
$data = file($file);
略
}
って、どっちがスマート?関数の中に持ち込みたい変数がいっぱいあるときとか、困っちゃうんだけど。
0894nobodyさん
04/06/11 17:13ID:???0895nobodyさん
04/06/11 18:05ID:???たとえ引数が一杯あっても、必要なら渡せばいい。いや渡すべき。
0896893
04/06/11 18:34ID:???0897nobodyさん
04/06/12 13:47ID:cU3nmCOb$fp = fopen("$filename","r+");
fseek($fp, 0);
fputs($fp, "hoge");
fclose($fp);
だと、1行目の文字数が増えたときに2行目が削られてしまいます。
どうすれば、そうならないようにできるでしょうか?
0898nobodyさん
04/06/12 13:52ID:???0899nobodyさん
04/06/12 13:57ID:???PHP5への移行手順見ても変更点に書いてないんだよね。
ビルトイン関数になったことはチェンジログに書いてあったんだけど。
SimpleXMLは既にマニュアルに載ってるのになぁ。
0902nobodyさん
04/06/12 14:51ID:7kZvk3xj現在表示しているページ(PHPのページ)のソースコード(HTML)を、
ページのボタンを押したらクリップボードに貼り付けるにはどうしたらいいか教えてください。
0905nobodyさん
04/06/12 21:49ID:???0906nobodyさん
04/06/12 22:28ID:rmxeznmT0907nobodyさん
04/06/13 01:21ID:aBgu1BW2LAMPで簡単なシステムの鯖を立てたいと思います。
PHP学ぶのにお勧めの本がございましたらお教えください。
0909nobodyさん
04/06/13 02:14ID:+VXh+rkJその際にテキストファイル内で「改行」をさせるには何を書き込めばいいんでしょうか。
0910nobodyさん
04/06/13 03:16ID:JLZr3UnG0911nobodyさん
04/06/13 03:21ID:???このようにクエリーを拾うように設定して、
$PIX1 = aaa.jpg; //画像1
$PIX2 = bbb.jpg; //画像2
if( !empty($_REQUEST["pix"]) ) {
$PIX = $_REQUEST["pix"];
}
<body>
<a href="#top?pix=$PIX1">ここをクリックして画像1を表示</a>
<a href="#top?pix=$PIX2">ここをクリックして画像2を表示</a>
<img src="$PIX" >
</body>
同じHTML内でこのようにリンクさせて送られたクエリーを元に
変数を入れる事は出来ないでしょうか?
問題はスクリプトがおいてあるファイル自信が送信している事で、
やっぱりsubmitとformを使うしかないんでしょうか?
0912909
04/06/13 03:42ID:+VXh+rkJありがとうございます。
最初\nを使っていたのですが、改行できませんでした。
おかしいなと思いいろいろやってみたら
fputsするときにダブルクオーテーションで囲んだらできました。
ありがとうございました。
0913nobodyさん
04/06/13 03:50ID:+VXh+rkJphpで掲示板のようなものを作っているんですが、
掲示板の「投稿」ボタンを押すと別窓でphpの投稿フォームが開くようになっているんです。(javascriptで別窓開)
投稿フォームでは、フォームに入力されたものをテキストファイルに書き込むのですが、
投稿されたものをすぐ掲示板の表示に反映したいのです。
掲示板の表示もphpによるもので、
テキストファイルで用意されたlogを読み込んで表示しているのですが、
フォームにより投稿されたら、その窓を自動で更新するようにしたいのです。
何かいい方法はありますでしょうか。
0914nobodyさん
04/06/13 06:42ID:Kyi4KU36いるので、そのままでは携帯から書き込めないので、
if(!isset($_COOKIE[PON])&&($HOST!=="^proxy.+\.docomo\.ne\.jp$")){
DispError("■ 書き込み確認 ■");
}
のようにしたのですが、相変わらず書き込めません。
文法的に間違っているのでしょうか?教えてください。
0915nobodyさん
04/06/13 11:00ID:???if(!isset($_COOKIE[PON])&&(!ereg('^proxy.+\.docomo\.ne\.jp$',$HOST))
だろ。
0916nobodyさん
04/06/13 11:07ID:wH9a3wAG私は現在、HTMLでサイトを作っているのですが、
サイト運営の簡略化と、動的コンテンツを作りたい為にPHPで
作ろうかと考えています。
さて、現在、SEOが大流行で、私のページもSEOが
功を奏してか GOOGLEやYSTからのアクセスが多少あります。
しかし、現在のHTMLをPHPにした場合、インデックス(クロール)されにくいと
聞きました。その改善策として
通常、ファイル指定せずにディレクトリで終わるURLを指定すると
例: http://pc.2ch.net/php/ など
index.htmlを表示しますが、 http://../php/ を指定した時に
http://../php/sample.phpを表示し、phpファイルでありながら
URL は ../php/ なので検索エンジンにクロールされる方法が
あるらしいです。
そこで、質問です。ディレクトリで終わるURL http://www.2ch.net/php/など
を指定した時にindex.html以外のソースを返す方法を教えて下さい。
お忙しい中、恐縮ですが、宜しくお願いします。
0917nobodyさん
04/06/13 11:13ID:???.htaccessやhttpd.conf で設定してください
0918nobodyさん
04/06/13 11:29ID:???最近のロボットは賢いから静/動的コンテンツで
どうこうは余り考えなくていいよ。ちゃんと取ってくれる。
そんな考えてることよりコンテンツ自体を充実させるのが本質。
0920nobodyさん
04/06/13 12:06ID:???#topが邪魔してるだけでないのん?
確か#以降はREQUESTとしては無視されたような。
>>913
投稿フォームのsubmit後のページで
javascriptを使って掲示板をリロードすればよいのでは?
どんな方法を使ったとしてもPHPは関係ない部分だよ。
0921nobodyさん
04/06/13 14:14ID:JLZr3UnGPHPの敷居が低いせいか。
0922nobodyさん
04/06/13 14:24ID:???SyntaxCheckなんぞやってみたくてDOS画面から
c:\phpdev\php\php.exe -l c:\phpdev\www\test.php
と、やっても何も表示されません。test.phpには、
<?php
for($i=1; $i<=10; $i++){
echo "test$i"
?>
という感じで間違えて書いてあるのを試しています。(;や}が抜けてる)
調べたら-fオプションもあったので-lを-fにしたら、Parse errorが出ました。
test.phpのような内容の場合、-lオプションでは何もチェックをされないのでしょうか?
もしチェックされるとしたら、どのような場合なのでしょうか。。
それとも、当方の環境がおかしくて-lが効いていなかったりするのでしょうか。。。
ちょっと気になったので、教えてください、エロイひと!
0923nobodyさん
04/06/13 14:55ID:???本家のバイナリで試してみたけど普通に出力されたけどな。
使ってるPHP-CLIのコンフィグにエラーの出力抑制(ログファイルオンリー)とか
「普通でない」設定をしてるんでは?
0924914
04/06/13 17:35ID:nrs902LB有難うございました。
0925nobodyさん
04/06/13 18:52ID:???sabumitであらかた組んでしまったのですが、
いずれクエリーに再挑戦しようかと思います。
また別の質問なのですが、
<td width="800" Height="700"><?php include("link.php") ?></td>
このようにテーブルのセル内に、
任意のhtmlファイルなどを表示させるのは無理でしょうか?
あるいはこの中にインナーフレームをつくって表示させる方法を取るべきでしょうか?
0927925
04/06/13 19:28ID:???インラインフレームのタグごと出力する方法です。
0928nobodyさん
04/06/13 19:38ID:???0929nobodyさん
04/06/13 21:01ID:???mysql_connectとかに使ってるんですが・・・
失敗した時にWarningでフルパスばれるのが嫌だなぁ、と。
それともエラーレポートを変えるべきですか?
0930カポコン
04/06/13 21:38ID:???mysql_connect($host.$port,$usr,$pass) or die("つながりません");
とかで対処汁。
PHP5なら試して捕まえろ。
0931929
04/06/13 21:43ID:???0933929
04/06/13 21:51ID:???0934ゑゑゑ ◆WEWEWEE85s
04/06/13 22:01ID:???|┃ ハァハァ・・・ /
|┃ ≡ ∧ハ∧ < mysql_connect($host.$port,$usr,$pass) or die();
____.|ミ\___(´Д` ;) \
|┃=___ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|┃ ≡ )ゑ 人 \ ガラッ
0935nobodyさん
04/06/13 22:07ID:Wabebz7Zソース晒します。
require_once("XML/RPC.php");
$c = new XML_RPC_client( URL, ホスト, 80 );
$appkey = new XML_RPC_Value( 'MT', 'string' );
$blogid = new XML_RPC_Value( ブログID, 'string' );
$username = new XML_RPC_Value( ユーザ名, 'string' );
$passwd = new XML_RPC_Value( パスワード, 'string' );
$content = new XML_RPC_Value(
array( "title" => new XML_RPC_Value(タイトル, "string"),
"description" => new XML_RPC_Value(本文, "string")), "struct");
$publish = new XML_RPC_Value( '1', 'boolean' );
$message = new XML_RPC_Message(
'blogger.newPost',
array($appkey, $blogid, $username, $passwd, $content , $publish) );
$result = $c->send($message);
マニュアルを見てる限り、どうも$contentでcontent構造体を送るらしいのですが
色んなパターンで試して見ましたが、送信されないか、空のブログがエントリされるか
どちらかの動作になってしまって困ってます。
どうか、偉い人教えて下さい。
0936916
04/06/13 22:12ID:1Or61ijU.httacces で設定できるとわかりました。
又、わざわざそれをいじらなくても
私のサーバーでは index.php でアップすれば
これが表示されるようです。
有りがとうございました。
0937nobodyさん
04/06/14 00:30ID:???# 930や932ぐらいは信じてやれよ。
私用アプリ"以外"としては悪くない。但し予期できるエラーはきちんと
処理してやった上での話。臭いものに蓋をする用途に使ってはいけない。
0938nobodyさん
04/06/14 01:24ID:L5EG25O4php4しか使えないのでphp4でいろいろ遊んでいるのですが、
まだclassというものの必要性を感じていません。
classの有用性はどんなときに発揮されるんでしょうか?
php4とphp5限定でお伺いできればと思います。
0940nobodyさん
04/06/14 01:52ID:zlornJbc俺はデータベース接続とかで汎用性を持たせるためにクラス化してるよ。
MySQLでもPostgreSQLでも対応できるようなクラスを作っておけば、
色んなサイト作りに利用できて良い。
0941nobodyさん
04/06/14 04:11ID:Cuv9zBB3私のサイトはFAQ(質問集)をhtmlで作っているのですが
利便性を考えて、これをPHPで作成しようと思っています。
欲しい機能は
1.ブラウザ上でユーザーが質問を投げかける事ができる。
2.ブラウザ上にそれに私が答える事ができる。
3.その内容が動的にFAQの中に組み込まれる。
4.私が返答していない質問はユーザーからは見えない。反映されない。
以上4つです。一見、PHPスクリプトによくある、掲示板で
作れそうなのですが、4.の返答がない、質問は見えない。
というのを実現できるスクリプトがありません。
このようなスクリプトをご存知の方、ちょっと改造すればできる
よ。というのをご存知の方、ご教授下さいませ。
0942nobodyさん
04/06/14 05:43ID:syzY4Jkxphp4.3.7 と an httpd でローカルでPHP環境を作ろうと思ったのですが、うまくいきません
phpをインストールし、an httpdを実行、
httpdの設定を、phpおよびphp3を c:/php/php.exe で実行にしました。
ドキュメントルートフォルダに、index.phpをおき、
中身を
<?php
print "hello";
?>
にしました。
ブラウザでlocalhost または 127.0.0.1でこれを開くと、この三行がブラウザに表示されてしまいます。
また、同内容の test.phpをつくりブラウザで開くと、今度は
ファイルの保存or開く、のウィザードが出てしまいます。
これはphpのインストールがうまくいっていないのか、an httpdの設定が悪いのかどちらでしょうか。
なお、XP環境で、インストール手順はいくつものサイトを見たつもりです。
なにかアドバイスがございましたらお願いします
0943941
04/06/14 05:53ID:Cuv9zBB3c:/php/php.exeのhttpdの設定を
c:\php\sapi\php4isapi.dll
に変えてみてはどうでしょうか。私はそれでうまくいきました。
誰か私の質問に答えていただけませんか(´・ω・`)
0944nobodyさん
04/06/14 07:53ID:???自分で組んだ方が早いと思うが、ソースの流用にこだわるなら、
モデーレータの承認無しでは投稿できないタイプの掲示板ソフトを
使えばどう?たとえばXOOPSのフォーラムとか。
0947nobodyさん
04/06/14 11:09ID:???とりあえず板違い
↓スクリプト探しならこちら
【CGI】こんなCGI探してますver.13
http://pc5.2ch.net/test/read.cgi/hp/1081608108/
↓見つかって改造したいならこちら
★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc5.2ch.net/test/read.cgi/php/1077525387/
↓改造の仕方すらわからず、人に頼むならこちら
【 スクリプト改造依頼スレ 】(丸投げ)
http://pc5.2ch.net/test/read.cgi/php/1076831972/
0948935
04/06/14 11:25ID:el9Ntkd+解る人いませんかー?
書き込み後も散々調べましたが、やっぱり解りません
教えてくださいエロイ人
0950nobodyさん
04/06/14 11:38ID:???$content = new XML_RPC_Value(
array( "title" => new XML_RPC_Value(タイトル, "string"),
"description" => new XML_RPC_Value(本文, "string")), "struct");
array($appkey, $blogid, $username, $passwd, $content , $publish) );
$contentの配列あたりを間違ってるとか?
0951nobodyさん
04/06/14 12:01ID:???0952nobodyさん
04/06/14 12:25ID:???echo $hoge;
0953nobodyさん
04/06/14 12:35ID:???0954nobodyさん
04/06/14 12:37ID:???echo $hoge;
0955nobodyさん
04/06/14 12:45ID:8oZmCiNz書いてあったんですが、これはhtmlの中にphpを埋め込んだりする技が使えないってことですか?
perlみたいに、1から書いてhtmlで代用できるところもわざわざphpを介した記述で書かなくてはならないってことですか?
エロいひと教えてください
0956nobodyさん
04/06/14 12:48ID:???0958nobodyさん
04/06/14 12:58ID:???いや、拡張子htmlの中に埋め込みって意味じゃなく、
「HTML文書の中にPHPタグを埋め込み」って意味だと思うぞ^^;
理解してやれよ
で、できないわけがないので安心するよろし>955
サーバはXREAじゃないかと予想してみる
0959nobodyさん
04/06/14 12:58ID:8oZmCiNzすいません、エラーが出てできませんでした。
>>957
ええ、それはサーバーに書いてあったのです。
ということは、perlのように、一行目に宣言して、って書かなくてはいけないってことですね。
サーバーはxrea.comというところです。
これでは、あまりphpの意味がないかもしれないですね…
0960nobodyさん
04/06/14 13:00ID:8oZmCiNzそうです。
ごく簡単なサンプルを書くと、
<html>
<body>
<?php
echo "test";
?>
</html>
</body>
こういった形式です。
使えないのですか…残念です。
レス数が950を超えています。1000を超えると書き込みができなくなります。