トップページ⇒php
986コメント299KB

【PHP】初心者コーナー 

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/01/21 03:21ID:???
長島も阪神のコーチになった。
仕方ない、人気のないPHPを応援してやる。 

データベース禁止 MySQL PostgreSQL はどっかいけ。
純粋にPHPプログラミングだけ。
初歩的な事ならWebProg板の誰かが素早く教える。
もちろんPerlプログラマーも手伝ってくれ。
ほんじゃ質問してみ。

 >>2-9 誰か情報かいてくれ。
0448nobodyさん03/02/01 15:52ID:???
>>447
でも、PHPが呼び出されるときのURLは間違いなく〜.phpだ。
0449nobodyさん03/02/01 15:54ID:LEn5b6Sa
(。・_・。)ノhttp://homepage3.nifty.com/digikei/ten.html
0450の03/02/01 18:37ID:/eR4kJXs
>>447
ほれ
$url = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
echo (preg_match("/hogehoge/", $url)?"":"No ")."HogeHoge Homepage";
--
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0451nobodyさん03/02/02 04:48ID:???
http://timidmacer.s5.xrea.com/error_img/
http://timidmacer.s5.xrea.com/error_img/daghuiahiuga.swf
↑見たいに「制限してるファイル」や「ないファイル」
を参照したらエラーが出るようにできないでしょうか?
多分すれ違いだと思うのですが、わかる人がいたらぜひ教えてください
0452nobodyさん03/02/02 05:04ID:???
Webサーバの機能。
ErrorDocumentで検索すれば設定の仕方は分かるよ。
2chでもおもしろいエラー画面を紹介しあってるスレがあったと思ったんだが、
ぱっと見たところ無くなったみたいだなぁ。
てか確実にスレ違いって分かるだろ(w くだ質で聞こうと思わなかったのか?
0453nobodyさん03/02/02 05:06ID:???
>エラーが出るようにできないでしょうか

出るようになってるっしょ、普通。
リンクを押したらイベント発生で、URLをスクリプトに渡して
URL先のファイルを読んでヘッダみて404なり403なりを
判断するとかそういうことっスか?
0454nobodyさん03/02/02 06:06ID:nv4brzgK
http://jsweb.muvc.net/index.html
★☆★幸福になりたーい!!★☆★
045544703/02/02 10:26ID:???
>>450
あなた神!神ついでに、
「hoge」というURLが含まれていたら「aaaaaaaa」と、
「unko」と含まれていたら「bbbbbbb」と、
何も含まれていなかったら「ccccccc」と出力する場合を教えてください。
0456nobodyさん03/02/02 10:27ID:???
>>455

>>445




             お 前 は ア ホ か ?
0457nobodyさん03/02/07 12:25ID:wF6GSoid
index.phpにnews.logをincludeさせて表示させています。
WWWCなど特定の条件で見ている人にはに更新日付のみ表示させたいのですがうまくいきません。

<?
if(ereg("WWWC", $HTTP_USER_AGENT )){
$lastmod = filemtime(__FILE__);
echo "最終更新日 " . gmdate("Y/m/d H:i:s (D)", $lastmod + 9*3600) . "";
exit;
}
?>
<html>〜

<?
$logfile = 'news.log';
〜
>
〜<html>

index.phpが更新されると更新日付も新しくなるのですが
news.logが更新されても更新日付は変わりません。
http://www.php.net/manual/ja/function.clearstatcache.php
このキャッシュのせいなのかそれともincludeする分は反映されないのでしょうか。
0458nobodyさん03/02/07 12:47ID:???
>>457
なぜincludeするファイルの更新時間を取得しないの。
0459nobodyさん03/02/07 12:58ID:???
>>458
そうするとindex.phpだけ更新した時の更新時刻が取得できないと思うんですが…
どちらか新しい方を選ぶとかしたらいいということでしょうか。
0460nobodyさん03/02/07 21:10ID:SVsAOO1i
例えば登録型リンク集みたいなやつでいいんですが、同じ処理をする場合、
次のどれが一番サーバに負担少ないでしょうか?
1. perl単独
2. perl + データベース(MySQL)
3. PHP
4. PHP + データベース(MySQL)
0461nobodyさん03/02/07 21:22ID:???
>>460
正直、どれでもいい。
0462nobodyさん03/02/07 22:13ID:???
>>459
単純に大小を比較すればいい。
0463nobodyさん03/02/07 22:39ID:???
>>462
お返事ありがとうございます。
ということは結局index.phpとnew.logの両方の更新日付をとるしか方法がないということでしょうか。
キャッシュは関係なくてincludeする分は反映されないということなのかなあ…
0464の03/02/08 02:21ID:cJt+BkwC
> キャッシュは関係なくてincludeする分は反映されないということなのかなあ…
ファイルになったキャッシュなんてスクリプトからは見えないよ(そんな
の無いし)。両方の参照しないとダメ。
それと時間情報だけ返したいなら、$HTTP_USER_AGENT なんて参照せずに
$_SERVER["REQUEST_METHOD"]=="HEAD" で判定する方がプロトコルに沿っ
ていて吉。
--
http://mysite.ddo.jp/
0465nobodyさん03/02/08 08:53ID:???
PHPを始めたいと思っているのですが、ネット上の解説を見ると皆ApacheかIISをインストールして
モジュールを設定して・・・という様な少々大げさなセッティング方法しかみつかりません。

テキストを吐き出す程度の機能でよいのですが、なにかいい方法ないですか?
0466nobodyさん03/02/08 10:56ID:???
>>465
Anhttpd + php.exe
0467nobodyさん03/02/08 15:44ID:???
>>466
Webサーバー機能が要らない、という意味だったのです。すみません。

でもphp.exe使えばいい(というかdllやiniだけじゃなくてexeファイルが存在するという事)
が分かったです。ありがとう。これでバッチリです。
0468nobodyさん03/02/08 18:20ID:???
Apache2.0.44とphp-4.3.0のインストールに失敗して、
どうしたらいいか路頭に迷ってたどり着いたら、
モロに >>32 氏の事例でした。
32氏と戊寅氏にThanks.

RedHat逝ってよしいいぃぃぃ〜〜〜〜
0469nobodyさん03/02/08 18:24ID:???
468の追記

同じくRedHat7.2だったですが、
うちはどちらもRPM使わずソースからいきました。
会社の環境がLinuxじゃないんでRPM禁止令…
0470nobodyさん03/02/08 19:31ID:???
>>464
なるほど…
お返事ありがとうございました。やってみますー
0471nobodyさん03/02/09 15:10ID:???
PHPでsedのy/やperlのtr/みたいな処理をしたいときはどうするの?
0472nobodyさん03/02/09 15:31ID:???
PHPのstr_replaceみたいな処理とは違うの?
0473nobodyさん03/02/10 13:48ID:rjSp0W7T
みんな心がさもしいね
0474 03/02/10 14:30ID:???
471さんが、sedのy/やperlのtr/みたいな処理だって。
0475nobodyさん03/02/10 19:41ID:???
PHP版トリップ計算スクリプトを教えてください。
ってはっきり言えよ。
0476nobodyさん03/02/10 21:36ID:???
>>475
違うと思うぞ。
0477nobodyさん03/02/10 22:20ID:GQ633UYY
単純なベンチマークで、ページの生成に0.2sec程かかるのって遅いですか?
for内でincludeしてるのがいけないのだろうか。
0478nobodyさん03/02/10 22:37ID:???
>>472
??と思ったら、PHP4以降は置換文字列それぞれのところに配列で指定ができる!OK!
あーでも、この関数マルチバイト対応のが見当たらない。
対象となる文字によってはこれでいけるだろうけど。


>>475
トリップ生成の類のプログラムにはPHPはあまり向いてないと思う。
0479nobodyさん03/02/10 22:44ID:???
>>477
スピードはともかくとして、
>for内でincludeしてるのがいけないのだろうか。
は穏やかじゃないなぁ。

>>478
>トリップ生成の類のプログラムにはPHPはあまり向いてないと思う。
そのこころは?
0480nobodyさん03/02/10 23:16ID:???
include先の中の変数のパースってどうやったらいいものなんでしょう…。
変数の中身が決まるfor文内でincludeしないとうまくいかん。当たり前か。

配布されてるような、テンプレート用のクラスを使うほどのものでもないんですよねぇ。
0481nobodyさん03/02/11 12:50ID:???
最近PHP始めたのですがみなさんテキストエディタで開発してるんですか?
プロっぽい(?)開発ツールとかあるんでしょうか(高くないやつ)
0482nobodyさん03/02/11 12:58ID:???
>>481
完成度の高い物はあまり存在しない現状。

ちなみに俺、秀丸。
0483nobodyさん03/02/11 13:13ID:???
>>481
俺も秀丸。

なんかJビルダーみたいなclass管理のできるエディタってないもんかね。
PHP5を見越してさ。
0484nobodyさん03/02/11 13:44ID:???
webstudio(Eclipse)を使い始めたけど、クラス管理があるよ。
Visual.NETもいいって話を聞いたけど、使ったことないので分かんない。
前に調べた時は、PHPEdit、PhpIDEってのがあったけど、日本語通るかどうかちょっと不安。

でも普段は秀丸。
0485nobodyさん03/02/11 14:27ID:???
VisualStudio.NETでもPHP使えるの?
0486nobodyさん03/02/11 15:09ID:???
>>485
どんな言語用にも使える仕組みがあるみたいだけど。
0487nobodyさん03/02/11 15:25ID:???
漏れもeclipse(webstudio)を使ってみているがメインは秀丸。>>484と一緒だね。
webstudioはどっちかってゆーとビューワーとしての使い方かな。

webstudioの開発元
http://www.xored.com

日本サイト
http://webstudio.japansite.org
0488nobodyさん03/02/11 15:28ID:???
秀丸とPHPの関係を激しく追求したくなったw

俺、メインが秀丸ってだけで使ってるけど。
0489nobodyさん03/02/11 15:53ID:wdU5WL5+
俺はサクラエディタとK2Editor
0490nobodyさん03/02/11 15:54ID:???
thk!
webstudio使って見るYp!

>>488
ていうか
使いやすいエディタ == PHPで使うエディタ
になってるようなw

ほんとはね〜秀丸+EMエディタみたいなエディタが欲しいんだ〜
0491nobodyさん03/02/11 16:09ID:???
いや一応表明しておこうかなと思うだけなんだが、
俺も秀丸なんだよ。。
Webstudioっていうのはちょっと見た感じではよさそうだな。
時間があったら使ってみるよ。使った人はレポよろしこ〜
0492nobodyさん03/02/11 16:16ID:???
>>491
スレの流れ的にwebstudio使ってる人多いと思うよ。
自分も使ってる。
実行前に文法チェックしてくれるのはまぁ助かるからね。
でも、javacみたいなちゃんとしたコンパイラがないから
あくまで簡単な文法チェックだけなんだよね。
そんなクラスないからnewできません!とかは言ってくれない。
0493nobodyさん03/02/11 16:18ID:???
>>492
それ考えるとJBuilderって良い子だな。
0494nobodyさん03/02/11 16:26ID:???
で、たった今エクリプスからinstallしようとしているわけですが。

http://download.eclipse.org/downloads/index.php
陥落?

何時までたってもDownLoad pageに逝けねぇ。
0495nobodyさん03/02/11 16:35ID:???
>>494
このスレで話題になったからだな。
さすが2ちゃん効果だ(藁
0496nobodyさん03/02/11 16:38ID:???
>>495
プログラム板のエリクソスレも大騒ぎな訳だが。
0497nobodyさん03/02/11 21:40ID:???
別に大騒ぎって程でも
0498nobodyさん03/02/11 21:42ID:???
ていうかマジで逝くりぷすのmirrorがみつからねぇ。
鬱。

どなたかmirrorのURIご存知ありませんか?
0499nobodyさん03/02/11 21:56ID:???
DBGのDLサイトにも繋がらないんだけど・・・
0500nobodyさん03/02/11 22:02ID:???
>>498
ダウンロードページ復活しないねぃ。。。
ミラーは聞いたことない。ないんじゃないかな。。。
明日にしよう。
0501nobodyさん03/02/11 23:11ID:???
DBGは繋がるな。逝く梨婦守はダメだね。
0502nobodyさん03/02/12 09:44ID:???
>>494

これって関係ありますか?

■スラマー対策が原因でネット接続の障害も JPRS
http://www.mainichi.co.jp/digital/network/today/1.html
0503nobodyさん03/02/12 10:02ID:???
>>492
1週間くらい使ってみてるわけですが、
文法チェックと言ってもちょっとまだ構文解析が弱いね。
書き方によってチェックしてくれたりokになってしまったりすることがある。
ツールを信頼しすぎるのは危険ですね。
今後に期待・KANA。
0504nobodyさん03/02/12 14:31ID:???
>>494
ダウンロードページ復活したみたいだよ。
今落としてる途中。これからやってみよう。
わかりやすい日本語解説ページある?
0505nobodyさん03/02/12 14:49ID:???
echo や print で生成したフォームからは値を受け取ることは出来ないですか?

0506nobodyさん03/02/12 14:57ID:???
webstudio動かねえ・・・(泣
0507nobodyさん03/02/12 16:59ID:???
>>506
eclipseを閉じる
↓
eclipse再起動
↓
webstudioを読み込んでくれる
↓
(゚д゚)ウマー
0508nobodyさん03/02/12 17:24ID:nLK1CfSF
すいません、先輩方質問させて下さい。
フォームからの入力をCSVで保存していくものを作ったのですが

$str = $str1.",".$str2.",".$str3.",\n";
fputs($fp , $str);//ロック処理してますけど省略

$str3の内容がマルチラインのテキストフィールドから取っているため、
改行が途中で入りCSVファイルが崩れてしまいました。

マルチラインテキストフィールドから取得した値から改行を抜き取るためには
どうすれば良いのでしょうか?すいませんが、ご教授下さいm(_)m
0509nobodyさん03/02/12 17:29ID:vTGUnIYC
>>508
eregi_replace
0510nobodyさん03/02/12 17:29ID:???
>>508
preg_replace("/\n/s","",$HTTP_GET_VARS["testfield1"]);
0511nobodyさん03/02/12 17:44ID:???
>>509-510
ありがとうございますー!
さっそく試してみますです
0512nobodyさん03/02/12 18:19ID:cvCvqBKN
先ほどPHPインスコしたばっかりのperl厨です。
PHPの場合どう書くのでしょうか?

--- unko.txt
123
456
うんこ
りんご
--------------

my @array=();
my $filename='unko.txt';
open (UNKO,"<$filename");
while (<UNKO>){
 chomp;
 push (@array,$_);
}
close (UNKO);

foreach (@array){
 処理・・・
}
0513nobodyさん03/02/12 18:41ID:???
<?php
$array = file("unko.txt");
foreach($array as $tmp) {
$tmp = chop($tmp);
処理
}
?>
051450603/02/12 18:46ID:???
>>507
なんか再度立ち上げたら更新マネージャーっていうのが出てきたから
チェックつけてまた再起動したらwebstudio入ったよ!ありが�d。
手持ちのスクリプトを読み込んでみたけど、表示がカラフルで、これだけでもメロメロだわ。
051551203/02/12 18:58ID:???
>>513
thanks
0516nobodyさん03/02/12 20:07ID:???
>>514
それどこで手に入るのですか?無料?アングラ?商用?
0517nobodyさん03/02/12 21:08ID:???
>>516
>>487
0518nobodyさん03/02/12 21:59ID:???
>>517
スマソ. . . . .
0519nobodyさん03/02/12 22:20ID:???
突然、お邪魔します。
phpをはじめたばかりの初心者ですが、
フォームリクエストの受取りができなくて困っています。
参考書に付いているサンプルプログラムも動きません。
なにか受取れない原因になるようなことがあれば御教えください。
0520nobodyさん03/02/12 22:22ID:???
>>519
まずはソースだす!
(ブルドッグ不可)
052151903/02/12 22:28ID:???
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp">
<title>一行テキストボックス</title>
</head>
<body>
<form method="GET" action="15-2-1.php">
<p><input type="text" name="text1" size="40"> <input type="submit"
value="送信します" name="b"></p>
<p><input type="text" name="text2" size="40" value="<? echo $text1 ?>"></p>
</form>
</body>
</html>

ソースです。
0522nobodyさん03/02/12 22:36ID:???
× $text1 , $text2
○ $_GET['text1'] , $_GET['text2']

は僕がかつて嵌ったところ。
0523nobodyさん03/02/12 22:37ID:???
まぁ予想通りのソースですね
052451903/02/12 22:43ID:???
>>522
ありがとうございます!
フォームリクエストを取得できました。

>PHP でのフォームリクエスト取得は実に簡単である。
>name に指定した名前に $ を付けた変数として渡ってくる。

と説明しているサイトもあるのですが、
なぜ$text1では駄目だったのか、よろしければ御教えください。
0525nobodyさん03/02/12 22:49ID:???
>>524
GET出来たhogeとPOSTで来たhogeとcookie出来たhoge

全部$hogeになるんですわ。困るでしょ?それに気付いて仕様変更。
052651903/02/12 23:31ID:???
>>525
納得しました。ありがとうございました。
0527nobodyさん03/02/13 00:05ID:???
>>524
ていうかそれ、securityhallになるから・・・
0528nobodyさん03/02/13 00:16ID:???
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
0529nobodyさん03/02/13 00:27ID:???
あーすまんすまん悪かったよ
Holeな。

間違ってることが判るなら正解を仕込む位の芸を見せろよ。
0530nobodyさん03/02/13 00:35ID:???
>>524
元のソースで動かしたかったら、php.ini の設定で
register_globals を On に設定すると動きます。
>>525さんの言うとおりセキュリティホール:-)になるので Off にしとくのがいいです。
0531nobodyさん03/02/13 01:38ID:???
動かないサンプルって、逆引き大全かな。
無理やり

extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SESSION);
extract($_FILES);
extract($_SERVER);
0532nobodyさん03/02/13 08:05ID:???
>>531
へぇ、ハッシュを展開する関数なんてあるんだね。
0533nobodyさん03/02/14 12:24ID:pEDzFCHD
PHPは配列のスライスは出来ないのでしょうか?
0534nobodyさん03/02/14 12:27ID:???
>>533
できますよ。
053553303/02/14 12:34ID:pEDzFCHD
お、はやっ。バカ丸出しな質問でした。
とりあえず、
foreach ($abc[5,6,7] as $tmp){
ではエラーでした。

で、PHP 配列 スライスでぐぐって見てもそれらしいサイトは見つかりませんでした。
何か見本を見せてください。
0536nobodyさん03/02/14 13:39ID:L0Vo5dGR
array_slice($abc, 6, 3)
0537nobodyさん03/02/14 13:48ID:???
Perl:あらゆる機能を構文化->楽だが非常に品雑
PHP:なるべく関数化->きれいだがちょっぴり面倒
053853303/02/14 14:01ID:???
>>536
ありがとうございます。

何かちがうなぁと思いながら、
foreach (array($abc[5],$abc[6],$abc[7]) as $tmp){
のようなことやってました。

array_sliceで検索してたら
php.s3.to/man/
のようなサイトを発見できたので、ちょっと感動

>>537
こんなに関数があるのにびっくり。
PHPにはまってきた・・・
0539nobodyさん03/02/14 18:08ID:???
セッション変数について教えてください。

www.xxx.co.jp/~hoge1/
www.xxx.co.jp/~hoge2/

この二箇所に全く同じPHPプログラムを置いてるんですが、
hoge1では変数をちゃんと取得出来て問題ないんですが、
hoge2では、セットしたはずの変数がなくなてるんです。
こんな現象って起こるもんなんですか?????
0540nobodyさん03/02/14 18:34ID:???
session.cookie_path をちゃんと/~hoge2/ にしてあげる、とか?
関係ないかなあ??
0541nobodyさん03/02/14 20:14ID:???
hoge1とhoge2両方でphpinfo()して
sessionの項目を見比べる。
0542nobodyさん03/02/14 23:39ID:EY8KLa0R
今PHPで簡単な掲示板を作っているのですが、書き込みの内容から
htmlタグを取り除く定石のような物はあるのでしょうか?
0543nobodyさん03/02/14 23:43ID:???
>>542
$apreg_replace("/<[^>].>/"."".$a);
0544nobodyさん03/02/14 23:43ID:???
$a = preg_replace("/<[^>+]>/"."".$a);

失敗。
0545nobodyさん03/02/14 23:49ID:???
普通にstrip_tagは駄目?不完全なタグだとエラーだすから危険かも?
0546nobodyさん03/02/15 00:12ID:???
htmlspecialcharsで(´・ω・`)ショボーンさせるに一票。
054754203/02/15 10:48ID:???
>>543-546
ご返答ありがとうございました。
とりあえず、htmlspecialcharsを使ってみようと思います。
0548nobodyさん03/02/15 14:28ID:ZanyH2qR
PHPの本を買って勉強しているのですが、ひとつ疑問があります。
最新版のPHP4.3を入れたのですが
これって動作不安定なのでしょうか?
と言うのも正常に動かないプログラムがありまして。
本のサンプルをコピーしてみましたが、それでも動きません。

なので、PHP対応しているサーバにアップして動作チェックしてみたら
ちゃんと動きました。バージョンは4.2.2でした。

どうなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています