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

【PHP】初心者コーナー 

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

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

 >>2-9 誰か情報かいてくれ。
0002 ◆gdPRETTY 02/01/21 03:54ID:???
(=^∇^)ノ”糞スレばいび〜♪・:*:・・:*:・・:*:・
0003名無しさん@お腹いっぱい。02/01/21 03:54ID:???
http://pc.2ch.net/test/read.cgi/php/1003283567/l50

>>1 削除依頼出しとけよ。

-----------------------廃棄-----------------------
0004名無しさん@お腹いっぱい。02/01/21 06:05ID:???
PHPは 「 Perfect Hacking Process 」 の略です。
0005名無しさん@お腹いっぱい。02/01/21 10:35ID:???
PHPでDBに絡めないような奴は
間違い無く、純粋なPHPプログラミングも駄目 (笑
0006名無しさん@お腹いっぱい。02/01/21 11:21ID:???
初心者は、DB使った方がラクでしょ
掲示板作るにしてもDBの方がめちゃ簡単
0007名無しさん@お腹いっぱい。02/01/21 11:58ID:???
PHPやってる奴は閉鎖的なのか? perlやっとけ(笑
0008名無しさん@お腹いっぱい。02/01/21 12:08ID:???
>>7
ageんな猿
0009名無しさん@お腹いっぱい。02/01/21 12:23ID:yoj+oXnk
あげっ!
0010名無しさん@お腹いっぱい。02/01/21 12:47ID:???
>>9
やると思った。ワンパターン厨が。
0011名無しさん@お腹いっぱい。02/01/21 12:55ID:???
おまえがな!  笑っ
0012名無しさん@お腹いっぱい。02/01/21 15:34ID:???
PHPは"ピップ"であってますよね!
0013sage02/01/21 15:57ID:???
おまえは "ピップ" と呼ぶといいな。 おれは "ペップ" だ。(笑
0014名無しさん@お腹いっぱい。02/01/21 16:05ID:???
>>13
ageんな猿 !
0015名無しさん@お腹いっぱい。02/01/21 16:23ID:???
ペフプと俺は読んでる。
0016名無しさん@お腹いっぱい。02/01/21 18:02ID:???
ペフプ 言い辛くないか。普通は”ピーエッチピー”読むんだが、
これからは”ペピー”と 読むようにしなさい。
0017名無しさん@お腹いっぱい。02/01/21 20:53ID:???
ポピーと呼ぶことにしています
0018名無しさん@お腹いっぱい。02/01/21 22:36ID:???
DB失ったPHPなんて羽をもがれた鳥のようなものだ。
0019名無しさん@お腹いっぱい。02/01/22 00:39ID:???
しったかがちらほらと・・・。
PHPはすぐDBもってくるから初心者はひくだろうな。

終了
0020名無しさん@お腹いっぱい。02/01/24 00:34ID:???
echo と print は まったく同じモノなんすか? 
微妙にちがうんかな・・・。
0021名無しさん@お腹いっぱい。02/01/24 08:31ID:???
>20
微妙に同じなんでしょう?
0022名無しさん@お腹いっぱい。02/01/24 15:29ID:???
>21
ヒヒヒ 微妙に同じかぁ ほんじゃ考えず前すすもっと。
ありがとうございました。
0023名無しさん@お腹いっぱい。02/01/24 21:35ID:???
また質問 レスみると掲示板すらDB使わないと、うんこみたいに書いてるんですが、
DB使うまでもないものつくるんですがPHPはファイル保存に弱いとか面倒とかあるんですか?
0024名無しさん@お腹いっぱい。02/01/24 22:19ID:???
>>23
そうでもない。
ただ、PHPはDBを利用しやすいので使ったほうが良いってくらい。
0025名無しさん@お腹いっぱい。02/01/24 23:25ID:???
どうもどうも なるほど、ただそれだけですか。PerlからなのでDB自体なれないというか必要ないので、
ファイルで済ませらるならそれでいいんですよね。open の扱いもちょっと違いますが、
けっこういいかもです。ありがとうございました。
0026nobodyさん02/06/14 02:54ID:FC4/Kzi2
includeで呼び出したphpファイルから、
呼び出し元のページのURLを知るにはどうしたらいいでしょうか?
0027nobodyさん02/06/14 02:57ID:???
何故半年弱前のスレをageるかなぁ。
00282602/06/14 14:13ID:???
Perlには初心者スレがあったのでいいかなぁとついすいません。
26の質問は普通にincludeすればそれでよかったんですね、、
サーバURLをフルパスでincludeしていました。。
ところで、この板は時間の流れが長江のように悠久ですね。
002960202/06/15 13:46ID:wm0xi3kp
PerlとPHPとの違いなんですか?
0030nobodyさん02/06/15 18:34ID:SERZ+ITN
漢と女
0031nobodyさん02/06/16 14:02ID:wZu+S5Ry
>>28
> ところで、この板は時間の流れが長江のように悠久ですね。

( ´_ゝ`) プッ
00323202/06/16 18:36ID:tQ04t5ya
Redhat7.2
Apache2

の環境でphp4.0(rpm)をインストールしても
phpファイルがダウンロードになっちまうんだけど、
こりゃなにがわるいんだい。

自分でも何言ってるのかわからないので詳しい人助けてくだしあ。

ちなみに、ずるぽんあぷろだのphp版を動かそうと思っています。
ただそれだけ自分の鯖でやりたいのでよろすく、、、

http://php.s3.to/
0033nobodyさん02/06/16 18:49ID:???
>>32
アパッチの設定だ
0034nobodyさん02/06/16 19:12ID:E0oiz+KW
$HTTP_SESSION_VARS['a'] = array("",$b);

って、できるんだっけ?できないんだっけ?
00353202/06/16 19:52ID:tQ04t5ya
>>33

アパッチのhttpd.confですか?
phpに関する、記述は次の通りです。

# And for PHP 4.x, use:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

以上のようにしています。
00363202/06/16 19:53ID:tQ04t5ya
パーミッションもいろいろ試しました。
0037nobodyさん02/06/16 20:34ID:???
>>32
phpのマニュアル読み直せ。
00383202/06/16 22:43ID:tQ04t5ya
LoadModule php4_module libexec/libphp4.so

httpd.confに↑がなかったようです。
でもこれいれるとconfigration broken...
00393202/06/16 22:47ID:tQ04t5ya
LoadModule php4_module /usr/local/apache/libexec/libphp4.so

こんなんでいいですかね。

どなたか、ヘルプミー!
00403202/06/16 22:57ID:tQ04t5ya
パス指定してもconfigration brokenです。

もうダメ・・・・・・。
00413202/06/16 23:03ID:tQ04t5ya

Cannot load /usr/lib/apache/libphp4.so into server: /usr/lib/apache/libphp4.so: undefined symbol: ap_block_alarms
/usr/local/apache2/bin/apachectl start: httpd could not be started

こんな感じのエラーがでます。
あたしを見捨てないデー、、、
0042 02/06/17 00:11ID:dRmTyc5V
RPMじゃなくてコンパイルからしてみそ
コンパイルオプションやらがわからん
00433202/06/17 00:49ID:i/e9QgT/
./configure --with-apxs2=/usr/local/apache2/apxs

こんな感じでやってみました。

で、info.phpも試したのですが、URLを開いてみるとやっぱり保存になってしまいます。

php.ini
httpd.conf

phpに関して上の二つのファイルにはどのように記述すればよいのか、、、。
いろいろ調べ回ってます。
0044nobodyさん02/06/17 02:35ID:???
>>32
(´-`).。oO(PHPのバージョンは?
       Apache2.0だと4.2.1以外はまともに動かなかったような‥‥

       個人的にはApache1.3をお勧めしておくが。)
00453202/06/17 10:21ID:l2M4FpTi
バージョンはphp4.2.1です。

なんとか、最後にアパッチの再起動をするところまで進んだのですが、

Cannot load /usr/lib/apache/libphp4.so into server: /usr/lib/apache/libphp4.so: undefined symbol: ap_block_alarms
/usr/local/apache2/bin/apachectl start: httpd could not be started

このようなエラーがでます。

ap_block_alarms って・・・。
0046戊寅02/06/17 23:25ID:???
>>32さん
apache2のドキュメントを読まずに書いちゃいますが、
./configure に --enable-module=so とかのオプションは要らないんですか?

あと、httpd.conf は、apache_1.3.24 + php-4.2.1 ですと
LoadModule php4_module libexec/libphp4.so
になってました。参考までに・・・
00473202/06/18 17:52ID:mgU+5QuF
[root@localhost /]# /usr/local/apache/bin/apachectl start
Syntax error on line 205 of /usr/local/apache/conf/httpd.conf:
API module structure `php4_module' in file /home/*****/apache_1.3.24/libexec/libphp4.so is garbled - perhaps this is not an Apache module DSO?
/usr/local/apache/bin/apachectl start: httpd could not be started

>>46さんレスありがとう。
しかし、上記のようなエラーがでてApacheが起動できない状態です。

./configure に --enable-module=soとしてmake/make installもしています。

あと、libphp4.soをhomeのユーザーの領域に探しにいっているようなのですが
これで問題ないのでしょうか?

apacheのインストールは

./configure --prefix=/usr/local/apache --enable-module=so

上記のように、


php4.2.1は

./configure --with-apxs=/usr/local/apache/bin/apxs --enable-mbregex

のようにインストールしています。
0048ちえ02/06/18 21:21ID:zOwUJg6s
教えてください
インターネットであちこちみてたら、ヤフーの画面に「Netzany」なるものが
組み込まれてしまってこまってます。どうすればいいの?おしえて
それとこれって やばいのかな
0049nobodyさん02/06/18 23:01ID:???
↑マルチ↑
0050nobodyさん02/06/19 09:51ID:???
↑マルチャン↑
0051nobodyさん02/06/19 11:31ID:djORznSO
32かわいそうなのでage
0052anonymous02/06/19 13:12ID:???
PHPでクライアントのブラウザにダイアログを出せるんですか?
出せるとしたらどんなコードを書けばいいんですか?
0053nobodyさん02/06/19 13:22ID:???
>>52
PHPとは何なのか1から勉強し直せ
0054戊寅02/06/19 14:19ID:???
>>47 もう遅いかな? とりあえず「homeのユーザーの領域に探しにいっている」
というのがおかしいですよね。
./configure を実行したディレクトリにある(と思われる)config.layout を確認して、
prefix: /usr/local/apache
exec_prefix: $prefix
bindir: $exec_prefix/bin
sbindir: $exec_prefix/bin
libexecdir: $exec_prefix/libexec
が、思い通りのレイアウトになっているか否かを確認、
もし違っていたらmake clean; make distclean とかやって、
もう一度ビルドしてみるってのはどうでしょう?
0055nobodyさん02/06/19 18:46ID:???
>>52
<?php
echo "<SCRIPT type=\"text/javascript\">alert(\"回線切って首吊って氏ね!\");</SCRIPT>";
?>
0056nobodyさん02/06/20 10:31ID:???
>>55
何げに優しいヒトね。
特に for($i=0;$i<10000;$i++){echo〜}とかしないあたりが…
00573202/06/20 12:17ID:iqNeqWhl
戊寅さんアリガトー。

おかげさまで動くようになりました。
でもphp版ずるぽんあぷろだちゃんと動いてくれないのです。
アップロードボタン押しても何も反応がない。。。
もうすこしがんばってみます。
0058nobodyさん02/06/20 12:55ID:???
>>57
register_globalの設定は?
4.2.0以降だとデフォルトの設定じゃ動かないぞ。
00593202/06/21 14:42ID:PaTq4EAH
>>58さん、ありがとう。

register_globalをonにしたらアップロードはされていますが、次にようなエラーがでます。

Fatal error: Call to undefined function: move_uploded_file() in /usr/local/apache/htdocs/php/upload.php on line 214

インストールし直しですか・・・?
00603202/06/21 16:12ID:PaTq4EAH
ずるぽんあぷろだ、ちゃんと動きました。

でも8Mバイトを超えるファイルがアップできないです。

php.iniも設定ちゃんとしてあるんだけど・・・。

logの方には

invalid method in request と書き出されています。
0061nobodyさん02/06/24 10:31ID:nb8sU0Ip
新しいphpではregister_globalsがoffになって
$_SESSION[var]とかでアクセスするようになりましたが、
毎回毎回$_SESSION[var]でアクセスするのと、
スクリプトの頭で$myvar = $_SESSION[var]として
$myvarを使うのとでは、やはり後者のほうが
オーバーヘッドが少ないと考えていいでしょうか?
まあオーバーヘッドといっても微々たるものでしょうけど。
0062love somebody02/07/17 13:35ID:ftI3+LzP
head.txtとかやるじゃないですか。
それでそのhead.txtの中にSSIってできませんか?
できたら、どうやるんですか?
0063_02/07/18 02:07ID:???
質問です
よろしくお願いします

クエリで # の文字を渡したいのですが 
その場合 どのように記述もしくは対処すればよいのでしょうか?

例としては 背景色等 #000000 の文字を渡していきたいのです

a.php?col=#000000

のようにクエリで文字を渡し
a,phpの中で

<BODY BGCOLOR="<?echo $col; ?>">

のような使い方をしたいのです 
この実行結果は $colには何も入ってない事になってしまっています 

どなたかヒントをお願いします
ぐーぐる等で検索かけましたが # が入った場合の動作はなかなか見つけられませんでした
0064nobodyさん02/07/18 04:18ID:???
"#"を"%23"に置き換えといて(a.php?col=%23000000)、クエリを受ける側で「$col = urldecode($col);」とでもしる>63
0065_02/07/18 04:26ID:???
ありがとうございます
早速試してみます
0066nobodyさん02/07/24 15:58ID:s4xl4hs7
質問です

$host= @gethostbyaddr(getenv("REMOTE_ADDR"));

これの「@」はなにを表すのでしょうか?
0067nobodyさん02/07/24 16:00ID:???
以降、質問は下記のスレにておながいします。

【PHP】質問スレッド Part4
ttp://pc.2ch.net/test/read.cgi/php/1022999539/l50
0068.02/07/24 16:01ID:???
http://pc.2ch.net/test/read.cgi/php/1022999539/l50
0069nobodyさん02/07/24 18:17ID:???
エラーを・・・
0070nobodyさん02/08/03 12:55ID:???
すみません、
phpのソースを閲覧・ローカルに保存する方法を誰かご存知ないでしょうか?

0071nobodyさん02/08/03 13:05ID:NLXKrSe3
>>70
それができたらたいへんなことになります
http://yume.excite.co.jp/excite/yume/inc/result.inc

PHPスクリプトの拡張子に注意
http://pc.2ch.net/test/read.cgi/php/1028176257/l50
より抜粋
0072親切な人02/08/03 13:09ID:???

ヤフーオークションで、凄い人気商品、発見!!!

プランテック製の「 RX-2000�V 」を改造済み
にした、アイティーエス製の「 RX-2000�V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA#.2ch.net/

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。

ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h4.dion.ne.jp/~gekiyasu/#.2ch.net/
0073nobodyさん02/08/03 16:22ID:???
重複スレなので移動汁!

【PHP】質問スレッド Part4
http://pc.2ch.net/test/read.cgi/php/1022999539/l50
0074nobodyさん02/08/06 01:40ID:abqyrA8W
PHPもファイルロックには気を使うべきですか?
0075nobodyさん02/08/06 03:57ID:???
>>74
お前は73が読めないのか。
0076nobodyさん02/08/25 10:31ID:???
ななじゅうさんと読みます
0077nobodyさん02/09/24 23:45ID:eG+qA3Bk
Linux(コバルト)使っているのですが
一年くらい稼働しているのですが、そのうち2日間だけ
/tmp/フォルダに、
phpcSCFMZ
のような、php+ランダムな文字列のファイルが
数百個できてました。サイズは0。ファイルオーナーはhttpd。
これは何なのでしょうか?
削除してもいいのでしょうか?

セッションとは別だと思います。session_ランダムな文字列で
一定期間だけ作成されていますので。

どなたか教えてください。
0078nobodyさん02/09/25 13:28ID:O6KkuGrZ
ローカルのWin+Apacheでのmkdirは問題ないんですが、
リモートのUNIX+Apacheでmkdirを行うとPermission deniedと、
んなパーミッション許可しねぇYOとエラーが帰ってきます。

ちなみにmkdir("log",0777);って感じで使ってます。
サーバ側の設定の問題でしょうか?
0079nobodyさん02/09/25 14:16ID:???
そのlogディレクトリを置くディレクトリのパーミッションは?
00807802/09/25 16:09ID:O6KkuGrZ
>>79
レスありがとうございます。
logの上はもうドキュメントルートなんで755なんですが、マズいでしょうか。
ちなみに同ディレクトリで動いてる別のperlプログラムでは、
mkdirのパーミッション777が通ります。
0081nobodyさん02/09/25 16:13ID:???
>>78
perlはsuEXECで動いているのでは。
PHPがモジュールだったらlogの上は707か777にしないとだめれす。
00828102/09/25 16:18ID:???
Safe modeがOnだったらPHPでmkdirしてもそのディレクトリにアクセスできなかったりする罠
0083nobodyさん02/09/25 16:30ID:9hFjKUSb
>>74
PHPもファイルロックには気を使うべきです。
00847802/09/25 16:35ID:O6KkuGrZ
すみません、早速上のディレクトリを777にしたら通りました。

んが、実はlogの直下にまたすぐにディレクトリを作りたいんですが、
今度はこいつが通りません。

mdkir("log",0777);で通してるんですが、
実際はパーミッション755でディレクトリが出力されてます。
というかFTPで直接パーミッションを修正しても強制的に755に戻ります。

SafeModeで制限されてるだのという内容のエラーが帰ってきました。
00857802/09/25 16:41ID:???
凡ミスでした、ディレクトリの権限がnobodyでした。
これについてのPHP中での変更は・・・もう一調べしてきます。
0086nobodyさん02/09/25 20:55ID:???
PHPというよりもプログラム自体の疑問なのですが、<select 〜 mutiple>で配列処理して変数$arrayを作った場合に、
この$arrayをスマートに、かつ自由なデザインで表示することって出来ますか?

<table>
<tr>
<td>
$array[0]
</td>
</tr>
<tr>
<td>
$array[1]
</td>
</tr>
</table>
みたいに、テーブルに限らず、柔軟な展開というのは、、どうすればいいのでしょうか? ご教授お願いします。
0087nobodyさん02/09/25 21:19ID:???
//>>86
//<? <select 〜 mutiple>で配列処理して変数$arrayを作った場合 ?>

<table>
<tr>
<td>
<? $array[0] ?>
</td>
</tr>
<tr>
<td>
<? $array[1] ?>
</td>
</tr>
</table>

//こういうこと?
0088nobodyさん02/09/25 21:38ID:???
>>87
レスありがとうございますっ!

具体的なことを言うとそうなります。
連番なら何とか出来るぽいんですが、$array[0] $array[2],,,,みたいなのが出てきた場合お手上げです。

地道にif系で書き出さないといけないのかな、、、
0089nobodyさん02/09/25 22:17ID:???
独り言自己レス

取り出す数を求めて、それによって<tr><td>[$a]</td></tr>の数を決めるようなことをすればいいのかな‥‥
0090nobodyさん02/09/25 23:02ID:???
//具体的に何に使うん?

<table>
<?
for($i=0;$i<100;$i++){
print "<tr><td>";
print "$array[$i]";
print "</td></tr>";
}
?>
</table>

//これは?
0091nobodyさん02/09/26 08:27ID:???
<?

//配列"$array"中に一致条件"aaa"が含まれる場合、$linesに値を追記
foreach($array as $value) if(ereg("aaa", $value)) $lines.="${value}\r\n";

//値が空(一致条件が存在しなかった)の場合
if($lines=="") $lines="一致するデータが有りませんでした\r\n";

//"<pre>"要素内に出力(別に"<ul>"や"<dl>"使っても良い訳ですし)
echo "<pre>$lines</pre>\r\n";

?>
00928102/09/26 09:41ID:???
>>78
>>82でも書きましたがsafe modeがOnならmkdirは使い物になりません。
0093hmk(元プロ)02/09/27 00:46ID:QE9TB9SP
>>66
> $host= @gethostbyaddr(getenv("REMOTE_ADDR"));
@は確かエラー制御演算子という名前で、
エラーメッセージを出力させないようにするためのものだ。
上記の場合は、gethostbyaddr()がエラーを起こした場合のワーニング
を出なくする働きがあると思われ。

でいいんですよね、プロの皆さん?
0094hmk02/09/27 01:08ID:QE9TB9SP
>>88
<table>
<?php
for (reset($array); list(, $value) = each($array);) {
?>
<tr><td><?php echo $value; ?></td></tr>
<?php
}
?>
</table>
0095 02/09/27 04:31ID:2RREwo6L
$str[0],str2[0]...と表示させたいのですが、

<?php
$str = array('1','2','3');
$str2 = array('10','20','30');
$num = count($str);

for($i=0;$i<$num;$i++){
$val = array($str[$i],$str2[$i]);
$val = implode(" ",$val);
echo $val;
}
?>
だと、1 102 203 30
という表示になってしまいます。
110 220 330と表示させるにはどうしたらいいでしょうか?
よろしくお願いします。
0096hmk02/09/27 04:45ID:???
>>96
<?php
$str = array('1','2','3');
$str2 = array('10','20','30');

for (reset($str), reset($str2); list($i,) = each($str);) {
echo $str[$i] . $str2[$i] . ' ';
}
?>
0097nobodyさん02/09/27 12:02ID:???
<?php
$str = array('1','2','3');
$str2 = array('10','20','30');
$num = count($str);

for($i=0;$i<$num;$i++){
echo $str[$i].$str2[$i].' ';
}
?>
0098hmk02/09/27 15:33ID:???
<?php

$str = array('1','2','3');
$str2 = array('10','20','30');

for (reset($str), reset($str2); list($i,) = each($str);) {
$str3[] = $str[$i] . $str2[$i];
}

echo implode(' ', $str3);

?>
0099nobodyさん02/09/27 21:10ID:???
<?php
$str = array('1','2','3');
$str2 = array('10','20','30');
$num = count($str);

for($i=0;$i<$num;$i++){
$val .= $str[$i].$str2[$i].' ';
}
echo"$val";
?>
0100hmk02/09/27 21:57ID:???
100geto...

>>95よ、なにが原因か分かったかね?
0101nobodyさん02/09/27 22:13ID:ShlRmfg7
バージョンが4.0.6の物をバージョンアップさせる場合。どうすればいい?
http://www.php.net/downloads.php
ここには4.2.3があるけど4.2.2がいいんで、教えて偉い人。
■ このスレッドは過去ログ倉庫に格納されています