【PHP】初心者コーナー
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/01/21 03:21ID:???仕方ない、人気のないPHPを応援してやる。
データベース禁止 MySQL PostgreSQL はどっかいけ。
純粋にPHPプログラミングだけ。
初歩的な事ならWebProg板の誰かが素早く教える。
もちろんPerlプログラマーも手伝ってくれ。
ほんじゃ質問してみ。
>>2-9 誰か情報かいてくれ。
0267nobodyさん
02/12/07 00:01ID:ahw/ygQOそれとも上の2案以外にもっと(・∀・)イイ!やり方があるでしょうか?
0268nobodyさん
02/12/07 00:02ID:ahw/ygQOb()内で$xの値は画面に出力する予定です。
print $x;って。
0270nobodyさん
02/12/07 11:03ID:???0271nobodyさん
02/12/07 16:18ID:7eULV5Qvどうやってコードを書けばよいですか?
0272nobodyさん
02/12/08 10:45ID:???perlでも
sub a {
my $x = 1;
&b( $x );
}
sub b {
my $x = shift;
%x++;
}
って俺はやるけど。
0274273
02/12/08 10:51ID:???>>271
socket_connect で $_SERVER["REMOTE_ADDR"] のチェックしたいポートに
接続できるか試してみれ。
接続できたらエラー返せばいい。
0276nobodyさん
02/12/08 12:59ID:???fsockopenでやってみます。
0278nobodyさん
02/12/09 14:44ID:7JN9kr7j動作環境
FreeBSD 4.4
PHP 4.2.3
gd 2.0 or higher
0279nobodyさん
02/12/09 15:55ID:W+Y68UCpこのページにあるライブラリの「メール受信・分解」というクラスを使いたいんですが、
使い方が全く解りません。
クラスとか、オブジェクト指向?ってのが、全く解らないんです。
この「メール受信・分解」クラスを使って、
メールを読み込むには、どのようなコードを書いたら良いんでしょうか?
もしよろしければ、サンプルコードを教えてもらえれば幸いです。
0280nobodyさん
02/12/12 10:24ID:YConQHPT$_SESSION に登録する変数の内容が小さいほうが、ウェブサーバのメモリの節約になりますか。
0281nobodyさん
02/12/12 10:31ID:???0283nobodyさん
02/12/12 13:02ID:qs26Iqx3当方、Java畑出身なのですが、
a.php→b.php
という感じで別のPHPプログラムに、オブジェクト渡しを行う事は可能でしょうか?
a.phpで使われたクラスのインスタンスをb.phpに渡したいのですが。
MVC設計が染み付いてしまって・・・。
すいませんが、教えてください。m(_)m
0286283
02/12/12 16:21ID:qs26Iqx3レスありがとうございます。
こちらの思い描いてたやりかたは
index.html→a.phpに変数$valueをpost
a.php内部でclass hogeをnewして、オブジェクト$fooを生成。
$foo->setValue($value)とかして、値をセット。
a.php→b.phpに$foo(値のセットされた)を渡す。
b.phpで処理して動的にhtmlを生成
というものだったのですが。
includeを使うということは
index.html→b.php(include a.php)へpost
というイメージになるのでしょうか?
何がやりたかったかと言うと、
b.phpでヒアドキュメント形式でhtmlにより近い形で表示部のみ書いておき。
前段階のロジック処理部をa.phpで済ませ、表示要件のみをb.phpへ渡す
といった事ができないかなぁ、と思いまして。
a.phpの内部処理によって、b.phpとc.php(bと同じくview担当)のどちらに
オブジェクトを渡すかを、判断させたりできたら良いなと。
htmlソースの中に<?php〜?>を埋め込むのを極力避けてみたかったんです。
デザイナーさんから貰ったHTMLソースの先頭と末尾にチョコっとつけたし、
変数の相当する部分に、渡されたオブジェクトから値をgetする処理を
書き込むだけですめば理想かな・・・などど。
現実には、こう簡単にいかないのは重々解っておりますが、近い形が出来ないかと
思いまして、質問させていただきました。
なにぶん、PHPはまだ触れ始めたばかりなので、長文乱文、失礼しました。
0288nobodyさん
02/12/12 20:32ID:???とするとテンプレートを採用しているBBSみたいなのを実装したいって事?
つか、無理にOOPでやらなくても良いと思われ。
ちなみに漏れはテンプレートタイプのBBSを作ろうとしてるけど未だに仕様を固められない。
1. デザインファイルを別のHTMLFileとして生成し特定のキーワードを入れておく
で、そのHTMLFileをPHPに放り込んでキーワードを変数や処理に置き換えて新たに動的生成用のPHPを作る。
2. HTMLとPHPが混在している(まぁ普通そうだわな)FileでできるだけPHPを見えないようにしたものを作る。
のどっちにしようかで迷ってる。
前者のがデザイナに喜ばれるけど性に合わないし(なんか無駄な冗長っぽくて嫌)、後者はプログラム嫌いなデザイナが居ると
ヒステリーパニックが発生する。
まぁ1. だと常に動的生成するのと一端処理して静的なFileとして書き出してそれを送るって言う二通りの手段がとれる。
が、デザインを変更する際に動的は負荷がかかるし、静的はヒューマンエラーの恐れがあるしなぁ・・・
程よい中間点は無い物か。
0289nobodyさん
02/12/12 20:40ID:LCTnjWgM百人同時にアクセスしたところでせいぜい3M。安いもんだろ。
0290nobodyさん
02/12/12 20:48ID:???参考サンクス。
なんつーか、Sourceを1文字2文字でも小さくすることに悦びを感じる性質なもんでして(^^;;;
それさえなけりゃ既に前者で・・・
縮小最適化まんせー!
0291nobodyさん
02/12/12 23:56ID:???> という感じで別のPHPプログラムに、オブジェクト渡しを行う事は可能でしょうか?
> a.phpで使われたクラスのインスタンスをb.phpに渡したいのですが。
include を使わないなら・・
_SESSION にオブジェクトのインスタンスを格納出来るけど・・・そういう事ではなくて?
0293nobodyさん
02/12/13 02:24ID:g6K/HTZ10295283
02/12/13 11:42ID:eyNFb0nZ>>288
>>291
レスありがとうございましたー。
やはりPHP風の思想が理解できてなかったようで、みなさんのレスで目から鱗
がポロポロでした。
今まで、OOPのみの世界にいたので、どうも頭が凝り固まっていた様です。
文法や記号等は、調べれば一発なのですが、思想となると、なかなか本読んでも
理解しにくいですね・・・修行せねば。
ありがとうございました。また何かあればよろしくおねがいします。
0296nobodyさん
02/12/13 13:06ID:???0298nobodyさん
02/12/13 18:40ID:???おそらく>>296の言いたかったことは、PHPでオブジェクトを本当に有効に
使えるだけの仕組みが存在するのか、という事ではないかと。
PHPはあくまでオブジェクトに対応した、という形で出来ているので
言語仕様からオブジェクトありき、で設計された他の言語と比べて
オブジェクトを使うメリットは必ずしも一致しない、というのが今の感想です。
だからといって、良い悪いじゃなくて、思想がそもそも違うと言う事で・・・。
0299nobodyさん
02/12/13 19:16ID:???PHPとPerlならどちらが将来性がありますか?
また、WEB製作・運営に有利なのでしょうか?
0300nobodyさん
02/12/14 00:20ID:???将来性があるのはPHPで有利なのもPHP。
でもなPerlを知ることも大事だと思うぞ。
まずしっかりPerlやってみ。それからPHPやってみ。
アホくさくて、もうPerlには戻れなくなるから。(w
Perlにハマッチャー仕方ないけどな。これでいいか?
0301nobodyさん
02/12/14 00:42ID:p2nwe6Xb0302nobodyさん
02/12/14 02:49ID:6HjHDV03これはデフォルトの設定なのでしょうか?
またApacheの設定のおかげなのか、
PHPの設定のおかげなのか、
どっちでしょうか?
0303nobodyさん
02/12/14 03:11ID:???0304nobodyさん
02/12/14 13:54ID:???そういう意味ではJSPへGoって感じですな。
漏れの場合だとDBへの接続処理等を一まとめにする等のそんなにきちんとしてない使い方しかしてなかったら
気付かなかった。
まぁOOPを活かしたいならPHPは向かないわな。
もっとも楽をするために簡易OOPを使えるのがPHPだとは思うが。
# 個人的にはOOPを活かす為のプログラムってのは主従逆転だと思ってたりするが。
>> 299
将来性についてはどっちにしろ微妙だと思われ。
現状は戦国時代だから。
しくみや言語をごっちゃにして言うなら、ASP、PHP、JSP、Perl、C等様々な選択肢がある。
正直、これが一番ってのは判らない。
で、有利不利だけど何を作り、どれくらいの規模になるかによる。
殆どどこでも動かしたいのならPerl
環境が整ってるならPHP、ASP、JSP
ひたすら速度を求めたり、なんでもしたかったらC
などいろんな条件があるからな。(条件は他にももっと沢山あるが)
なんにしろ、広範な知識をつけるために色々遊んだほうが有利になると思われ。
# 仕事の有利不利は使用言語の有利不利ではなく製作者の能力に依存する。
0307nobodyさん
02/12/14 18:02ID:???OOPってのはOOAやOODを生かすためにあるものなので。
OOA・OODの否定はOO自体の否定な訳で。
書きなぐり個人作業ではまかない切れない世界から出てきた手法ですから。
道具を状況に応じて上手く使うってだけの問題かと思われ。
ソースの可読性と冗長性を計りにかけりゃ、可読性がめっぽう重いのがOOの世界。
これ以上はスレ違いにつきsage
0310nobodyさん
02/12/16 01:36ID:hCx9IPwF最初
header("Location: ez.php");
exit;
↑にしたらezwebで動いてくれませんでした。
(これ自体が間違ってますか?)
そこで↓のようにしてみたのですがやっぱり上手く動きません。
<?
$visitor_host = gethostbyaddr($REMOTE_ADDR);
$visitor_refe = $HTTP_REFERER;
$visitor_host= explode( "/", $REMOTE_ADDR );
switch( $visitor_host[0] ){
case "ezweb" : $file = "ez.php"; break;
default : $file = "index.php"; break;
}
include $file;
?>
申し訳ありませんがどなたか力を貸してください…。
0311404.HDML ◆StMXML.EXE
02/12/16 02:08ID:???0312nobodyさん
02/12/16 02:46ID:???$REMOTE_ADDRにちゃんと値入ってる?
User-Agent使わないのは何故?
Locationは http://で始めるのが常識。
0313310
02/12/16 03:12ID:???今FTPがつながらないのでまた報告しに来ますね。
>Locationは http://で始めるのが常識。
そうなんですか…。
今までHTMLしか書いたことがなくてPHPが使える鯖に移って
はじめたばっかりなんです…。
というかプログラム自体がはじめてでさっぱりです。
>User-Agent使わないのは何故?
USER_AGENTは偽装できちゃうんでPCからでも見れちゃうからです。
ちなみに今はこれを使っています。
$user_agent= explode( "/", $_SERVER['HTTP_USER_AGENT']);
switch( $user_agent[0] ){
case "DoCoMo" : include("k.php"); exit;
case "L-mode" : include("k.php"); exit;
case "ASTEL" : include("k.php"); exit;
case "UP.Browser" : include("k.php"); exit;
case "PDXGW" : include("k.php"); exit;
case "J-PHONE" : include("k.php"); exit;
}
これなら問題なく動いているんですが偽装をはじきたかったので…
include("k.php")ってなってるんでLocationもファイル名だけでいいんだと思ってました。
0314310
02/12/16 03:15ID:???各社対応phpファイルに振り分けにしてます。
0315nobodyさん
02/12/16 08:21ID:???0316名無しさん
02/12/16 20:09ID:eEnVcco/マルチバイトで正規表現の.←
これって日本語一文字(2byte)を意味するのでしょうか、
それとも .. で一文字?
0317310
02/12/16 21:24ID:???>Locationは http://で始めるのが常識。
なんかこれを直すだけでうまくいきました。
どうもありがとうございました。
0318nobodyさん
02/12/16 21:27ID:???http://www.studyinghttp.net/rfc_ja/2616/sec14.html#sec14.30
これも一度は見とけよ。
Location = "Location" ":" absoluteURI
~~~~~~~~~~~~
0319yani ◆saNSktNEdQ
02/12/16 22:28ID:8G3Bnajs(根助ならうまくいくもんだから)FTPサーバのほうが設定変えたのかと思って自作スクリプトを
書きはじめて、途中で一応RFCのFTPのコマンド一覧くらい見とくべえと思って
RFC読んでみたらPASVなんてコマンドがあるんで、何気無しにpassive FTPオプション
つけてwget起動したら、スカっとうまく逝ってヤンの。
ルータの設定きつくしたの忘れてたぜ。
しかし、LISTなんてコマンドをFTPサーバからのコネクションで実装しているとは. RFC恐るべし。
0320310
02/12/16 23:25ID:???かさねがさねありがとうございます。
プログラムは全くの初心者なので実は読んでもあんまり意味はわからなかったんですが…。
これからがんばって勉強します。
0321nobodyさん
02/12/17 16:01ID:luHNSdPOPHPで配列の配列をつくり、ネストしたループでどんどん値を取り出す場合
どんな書き方が一般的ですか?
0322nobodyさん
02/12/17 20:24ID:???多次元配列?
一番安直なやり方で
$a = array(/*メンドイから略*/);
$b = array(/*同上*/);
for ($i = 0;$i <= count($a);$i++){
for ($i = 0;$i <= count($b);$i++)){
/*処理*/
}
}
で、どうよ?
0323322
02/12/17 20:25ID:???多次元配列として生成してねぇw
0324nobodyさん
02/12/17 20:38ID:???0325nobodyさん
02/12/17 20:57ID:???0326nobodyさん
02/12/18 21:55ID:cw9jSdt5リファレンスにあるglob()は
Fatal error: Call to undefined function: glob()
とのことです。
0327nobodyさん
02/12/18 22:05ID:FF8U3rzWhttp://www.redbit.ne.jp/~yasu/br/brlist.cgi
こんなのをPHPで作るときにデータはテキストかデータベースか
どちらにしたらサーバにはよいのでしょうか?
0329nobodyさん
02/12/18 22:16ID:FF8U3rzWありがとございました
0330nobodyさん
02/12/18 22:16ID:3yzKjqMGhttp://petitmomo.com/mm/
ここがちょっぴりエッチ系のめぐが運営している出会いサイトです。
もしよかったら使ってみて、、、
ヨロシクです。
めぐ(^o^)-☆
0332nobodyさん
02/12/19 01:00ID:XTsygYiy$image_type = array("image/gif","image/jpeg");
でいいんっすか?
0333nobodyさん
02/12/19 01:09ID:???$st="ギコ モナー";
echo "<FORM>";
echo "<input type=text value=".$st.">";
echo "</FORM>";
と、変数にスペースやタブが入っていると、テキストボックスでは
スペース以降が消えてギコだけになってしまいます。
スペースが入ったまま、全体を表示させる方法をお教えください。
0334rwxr---wx ◆jTWOZwTY1g
02/12/19 01:55ID:???全然動かん。大幅な改修が必要な予感。あらためてphp4の便利さがわかった。
>>333
echo "<input type=text value='".$st."'>";
0336333
02/12/19 09:33ID:???> echo "<input type=text value='".$st."'>";
うまくいきました。多謝です。
'と"は同じモノに解釈されると思いこんでました……。
0337nobodyさん
02/12/19 12:45ID:4OgtOoSuどうすればよいのでしょう。
http://php.s3.to/tt/tt5.php
0338nobodyさん
02/12/19 16:57ID:???ちょっと見る場所が違う。
$st=' mona '; だと
value=".$st." -> value= mona
value='".$st."' -> value=' mona '
0339nobodyさん
02/12/19 17:59ID:???0342nobodyさん
03/01/07 00:49ID:28f9Hhaj0343nobodyさん
03/01/08 11:33ID:???>$st=' mona '; だと
>value=".$st." -> value= mona
ずっと気になってたんだけど、
>value=".$st."
の$stの前にある文字列連結の演算子(.)は何故必要なんですか?
無くてもまったく平気ですが・・
0344nobodyさん
03/01/12 17:38ID:bYSvbPAuPHP内で$bnr,$url,$siteという風に認識させるにはどうすればいいんでしょうか。
0346nobodyさん
03/01/12 21:43ID:???このあたりから必要そうな関数を探したらいかが?
仮にdata.txtが
バナーURL,URL,サイト名
バナーURL,URL,サイト名
って感じのフォーマットだったと仮定するならば
fopenでファイルを開いて
fgetsあたりで一行ごとにデータを読んで
strtokあたりで,をトークンとして文字列を分解して変数なり配列に入れる。と。
あぁ、ちゃんとファイルは閉じろよ?
0347nobodyさん
03/01/12 22:50ID:???フォーマットは>>346さんが書いているような感じです。
>>346
具体的に教えてくださってどうもありがとうございます。
たとえばこんな感じでしょうか?
$fp = fopen ("./data.txt","r");
while($buffer = fgets($fp, 4096)){
list($bnr,$url,$site) = explode(",", $buffer);
}
fclose($fp);
何かおかしいところがあればご教授ください。(explodeの使い方違ってるかも…
0349nobodyさん
03/01/12 23:53ID:???今日び珍しいな。
キチンと自分で組んでから質問する奴は。
おじさん嬉しいぞ。
ところでそれ動かした?
まずはそれから。
>>348の言う通りfgetcsvを使うのも手だが勉強の為にfgetsを使うのも手。
0350344
03/01/13 02:28ID:???入ってきてないようでした。そんなわけで
list($bnr,$url,$site) = explode(",", $buffer);
ここの$bnr,$url,$siteを配列にしてみたらうまくできました。
付け加えたソースはこれ。
srand((double)microtime()*1000000);
$num = array_rand($bnr);
echo ("$bnr[$num]\n");
そしてもうひとつ問題があって、data.txtに相互のデータを追加して、
相互だったらバナー表示という風にしたいんです。
listのところでif文を入れたいのですが、具体的にどうしたらいいか
わかりません。ご教授いただけると嬉しいです。
0351nobodyさん
03/01/13 03:54ID:???data.txt
内でケツにフラグをつけるってとこだがどうよ?
バナー, URI, site, flg
ってな感じに。
で、flgがあれば表示にしてなければ表示しないとか。
あー相互ってのは相互Linkの事だよね?
0352344
03/01/13 10:15ID:NmVahH2Q相互リンクのフラグはdata.txt内に入ってます。
常にバナーを表示していたいので、データを取り出すときに
相互リンクだったらデータ格納という感じにしたいのですが。
list〜のあとにバッファを開放してやればいいんでしょうか?
0353nobodyさん
03/01/13 20:15ID:???ていうか何をしたいのかがいまいちわからん。
0354nobodyさん
03/01/14 15:59ID:nziy2bwNPHP4.3.0をいれて、ApacheをいれてPHPの勉強をはじめました。
で、色々と初歩的なプログラムを作ってみてたんですが
どうしても、POSTができません。
Method Not Allowed となります。
googleで検索して、どこかの設定を変えないとだめだという
のは見つけたんですが、具体的にどこをどうかえていいのやら・・・
0356354
03/01/14 16:46ID:nziy2bwN0357nobodyさん
03/01/14 16:49ID:???http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=apache+POST+%8B%96%89%C2
0358354
03/01/14 17:29ID:nziy2bwNありがとうございます。
しかしそれをみても、わからない・・・
The requested method POST is not allowed for the URL ***.php3
となってます。
もうちょっと勉強します。
0360nobodyさん
03/01/15 05:20ID:RBRicbNg教えて下さい
0362nobodyさん
03/01/15 07:05ID:RBRicbNg0363362
03/01/15 08:03ID:RBRicbNgって事です
アドバイスおながいします
0364126
03/01/15 08:10ID:pIr+HNI+http://www6.ocn.ne.jp/~endou/ten.html
■ このスレッドは過去ログ倉庫に格納されています