【PHP】初心者コーナー
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/01/21 03:21ID:???仕方ない、人気のないPHPを応援してやる。
データベース禁止 MySQL PostgreSQL はどっかいけ。
純粋にPHPプログラミングだけ。
初歩的な事ならWebProg板の誰かが素早く教える。
もちろんPerlプログラマーも手伝ってくれ。
ほんじゃ質問してみ。
>>2-9 誰か情報かいてくれ。
0052anonymous
02/06/19 13:12ID:???出せるとしたらどんなコードを書けばいいんですか?
0054戊寅
02/06/19 14:19ID:???というのがおかしいですよね。
./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:???<?php
echo "<SCRIPT type=\"text/javascript\">alert(\"回線切って首吊って氏ね!\");</SCRIPT>";
?>
005732
02/06/20 12:17ID:iqNeqWhlおかげさまで動くようになりました。
でもphp版ずるぽんあぷろだちゃんと動いてくれないのです。
アップロードボタン押しても何も反応がない。。。
もうすこしがんばってみます。
005932
02/06/21 14:42ID:PaTq4EAHregister_globalをonにしたらアップロードはされていますが、次にようなエラーがでます。
Fatal error: Call to undefined function: move_uploded_file() in /usr/local/apache/htdocs/php/upload.php on line 214
インストールし直しですか・・・?
006032
02/06/21 16:12ID:PaTq4EAHでも8Mバイトを超えるファイルがアップできないです。
php.iniも設定ちゃんとしてあるんだけど・・・。
logの方には
invalid method in request と書き出されています。
0061nobodyさん
02/06/24 10:31ID:nb8sU0Ip$_SESSION[var]とかでアクセスするようになりましたが、
毎回毎回$_SESSION[var]でアクセスするのと、
スクリプトの頭で$myvar = $_SESSION[var]として
$myvarを使うのとでは、やはり後者のほうが
オーバーヘッドが少ないと考えていいでしょうか?
まあオーバーヘッドといっても微々たるものでしょうけど。
0062love somebody
02/07/17 13:35ID:ftI3+LzPそれでその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:???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:???0069nobodyさん
02/07/24 18:17ID:???0070nobodyさん
02/08/03 12:55ID:???phpのソースを閲覧・ローカルに保存する方法を誰かご存知ないでしょうか?
0071nobodyさん
02/08/03 13:05ID:NLXKrSe3それができたらたいへんなことになります
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:abqyrA8W0076nobodyさん
02/08/25 10:31ID:???0077nobodyさん
02/09/24 23:45ID:eG+qA3Bk一年くらい稼働しているのですが、そのうち2日間だけ
/tmp/フォルダに、
phpcSCFMZ
のような、php+ランダムな文字列のファイルが
数百個できてました。サイズは0。ファイルオーナーはhttpd。
これは何なのでしょうか?
削除してもいいのでしょうか?
セッションとは別だと思います。session_ランダムな文字列で
一定期間だけ作成されていますので。
どなたか教えてください。
0078nobodyさん
02/09/25 13:28ID:O6KkuGrZリモートのUNIX+Apacheでmkdirを行うとPermission deniedと、
んなパーミッション許可しねぇYOとエラーが帰ってきます。
ちなみにmkdir("log",0777);って感じで使ってます。
サーバ側の設定の問題でしょうか?
0079nobodyさん
02/09/25 14:16ID:???008078
02/09/25 16:09ID:O6KkuGrZレスありがとうございます。
logの上はもうドキュメントルートなんで755なんですが、マズいでしょうか。
ちなみに同ディレクトリで動いてる別のperlプログラムでは、
mkdirのパーミッション777が通ります。
008281
02/09/25 16:18ID:???0083nobodyさん
02/09/25 16:30ID:9hFjKUSbPHPもファイルロックには気を使うべきです。
008478
02/09/25 16:35ID:O6KkuGrZんが、実はlogの直下にまたすぐにディレクトリを作りたいんですが、
今度はこいつが通りません。
mdkir("log",0777);で通してるんですが、
実際はパーミッション755でディレクトリが出力されてます。
というかFTPで直接パーミッションを修正しても強制的に755に戻ります。
SafeModeで制限されてるだのという内容のエラーが帰ってきました。
008578
02/09/25 16:41ID:???これについてのPHP中での変更は・・・もう一調べしてきます。
0086nobodyさん
02/09/25 20:55ID:???この$arrayをスマートに、かつ自由なデザインで表示することって出来ますか?
<table>
<tr>
<td>
$array[0]
</td>
</tr>
<tr>
<td>
$array[1]
</td>
</tr>
</table>
みたいに、テーブルに限らず、柔軟な展開というのは、、どうすればいいのでしょうか? ご教授お願いします。
0087nobodyさん
02/09/25 21:19ID:???//<? <select 〜 mutiple>で配列処理して変数$arrayを作った場合 ?>
<table>
<tr>
<td>
<? $array[0] ?>
</td>
</tr>
<tr>
<td>
<? $array[1] ?>
</td>
</tr>
</table>
//こういうこと?
0088nobodyさん
02/09/25 21:38ID:???レスありがとうございますっ!
具体的なことを言うとそうなります。
連番なら何とか出来るぽいんですが、$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";
?>
0093hmk(元プロ)
02/09/27 00:46ID:QE9TB9SP> $host= @gethostbyaddr(getenv("REMOTE_ADDR"));
@は確かエラー制御演算子という名前で、
エラーメッセージを出力させないようにするためのものだ。
上記の場合は、gethostbyaddr()がエラーを起こした場合のワーニング
を出なくする働きがあると思われ。
でいいんですよね、プロの皆さん?
0094hmk
02/09/27 01:08ID:QE9TB9SP<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<?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と表示させるにはどうしたらいいでしょうか?
よろしくお願いします。
0096hmk
02/09/27 04:45ID:???<?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:???$str = array('1','2','3');
$str2 = array('10','20','30');
$num = count($str);
for($i=0;$i<$num;$i++){
echo $str[$i].$str2[$i].' ';
}
?>
0098hmk
02/09/27 15:33ID:???$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:???$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";
?>
0101nobodyさん
02/09/27 22:13ID:ShlRmfg7http://www.php.net/downloads.php
ここには4.2.3があるけど4.2.2がいいんで、教えて偉い人。
0102101
02/09/27 22:15ID:ShlRmfg70103nobodyさん
02/09/27 23:21ID:???0104101
02/09/28 00:19ID:uj+xgRhi0105nobodyさん
02/10/11 01:12ID:1pjL9YYatest.phpの中で$emailにデータベースから取り出したメールアドレスを
格納し、
<form method="post" action="./mail.php">
<input type="hidden" name="mail" value=$email>
・・・・</form>
というふうに、inputでアドレスをメール関数に渡しているのですが、
これだとソースにメールアドレスが表示されてしまうため、
ソースに表示されない別の渡し方があれば教えてください。
0106nobodyさん
02/10/11 01:26ID:ZQEK3Po2$_SESSION[mail]=データベースから取り出したメールアドレス
mail.php
メール関数に$_SESSION[mail]を渡す
0107nobodyさん
02/10/11 09:33ID:abgKHNAE$ipのIPを(例:211.126.27.101→211.126.27.*に)置換するには
どうやればいいのでしょう?
0108107
02/10/11 09:47ID:abgKHNAE$x = substr($myip,0,12);
$z = ereg_replace("[0-9]{1,3}","*", $y);
$w = $x.$z;
一応、↑でできたのですが、もっといい方法はありますか?
0109107
02/10/11 09:49ID:???$x = substr($ip,0,12);
$y = substr($ip,12,3);
$z = ereg_replace("[0-9]{1,3}","*", $y);
$w = $x.$z;
0110nobodyさん
02/10/11 09:54ID:???$x = "$ip[0].$ip[1].$ip[2].*";
0112nobodyさん
02/10/11 10:17ID:???$ip = ereg_replace("[[:digit:]]+$", "*", getenv("REMOTE_ADDR"));
0113105
02/10/11 18:19ID:nZwz8aye返答ありがとうございます。
とりあえずsessionを使ってみたところ
test.php
<?
session_start();
$_session[email]=メールアドレス;
<form method="post" action="./mail.php">
<input type="hidden" name="mail" value=$email>
・・・・</form>
?>
ここで$_session[email]に正しいアドレスが入ってる事を確認。
mail.php
<?
session_start();
echo "$_session[email]";
?>
しかしここでは何も値が入っていませんでした。
sessionはグローバル変数だと思っていたのですが、違うのでしょうか?
使い方が誤っていたらご指摘お願いします。
0114bloom
02/10/11 18:21ID:zzYfW1z9http://homepage.mac.com/leverage/
0115106
02/10/11 18:40ID:???<?php
session_start();
$_SESSION[hell]="Hello,HellWorld!\n";
$_session[heaven]="Hello,HeavenWorld!\n";
?>
<html><head><title></title></head><body>
<a href="hellosessionto.php">hellosession</a>
</body></html>
hellosessionto.php
<?php
session_start();
?>
<html><head><title></title></head><body>
<?php
echo $_SESSION[hell];
echo $_session[heaven];
?>
</body></html>
どうやれば天国にいけるでしょう。
0116105
02/10/11 19:44ID:???神よ、有難うございます。
$_SESSIONは大文字でないといけないのですね。
あなたの未来に幸多からんことを…
0117nobodyさん
02/10/12 15:01ID:SMl4F7k6JacaScriptに慣れてる人、ちょっとJavaをかじった人が、そんなに難しく
ないCGIをやる場合、Perlでしょうか?PHPでしょうか?
0118nobodyさん
02/10/12 15:43ID:???JSP&Servletが良いのでは
じゃなくて、使ったことが無い言語を覚えるのが
苦痛でなければ、どっちでも良いと思う。
あとは、コーディングしてみて自分に合ってる方を
選べばいい
0120nobodyさん
02/10/13 00:40ID:LvGYJMzQどうも失敗するのですが。
0121nobodyさん
02/10/13 00:52ID:???コードミスだったです。
お騒がせしてスミマセン
0122nobodyさん
02/10/13 09:03ID:i/uPn3q6<?
session_start();
session_register("data1");
$data1 = 1;
?>
<html><body><a href="./test2.php">表示</a></body></html>
結果
Warning: open(/tmp\sess_cd8624e6e06d93e2625bddd88f204896, O_RDWR) failed: m (2) in c:\phpdev\www\phpdev4\q.php on line 2
表示
php.int設定
session.save_path = "c:\windows\temp\"
どなたか教えて下さい。
0123nobodyさん
02/10/13 22:21ID:???session_register("data1");
$data1++;
echo "$data1";
0124nobodyさん
02/10/21 23:06ID:???つーわけでage.
0125nobodyさん
02/10/21 23:33ID:???0126nobodyさん
02/10/22 07:43ID:ZX80GK7sアフォでスマソ
0129nobodyさん
02/10/22 09:40ID:???PHPの事なら何でもいいじょ。
【PHP】初心者コーナー
http://pc.2ch.net/test/read.cgi/php/1011550860/l50
0130nobodyさん
02/10/22 11:29ID:nuvCZH1tバイナリデータをファイルに書き出す方法がわかりません。
たとえば単純に「ゼロが10バイト並んだファイル」を作るために
$fp = fopen ("test.bin", "w");
for ($n = 0; n < 10; $n++) {
fwrite($fp, 0, 1);
}
fclose($fp);
としてみたら「ゼロ」ではなく「0x30」つまり「ゼロの文字コード」が
10個並んだファイルができてしまいました。
「ゼロが10バイト並んだファイル」はどうやって作ればいいのでしょうか?
どなたか教えてください。
0131nobodyさん
02/10/22 11:59ID:???そのtest.bin削除して、メモ帳で書いてもういっぺんやってみ。
0132nobodyさん
02/10/22 12:06ID:???0133nobodyさん
02/10/22 12:26ID:???<?php
$fp = fopen ("test.bin", "wb");
for ($n = 0; $n < 10; $n++) {
fwrite($fp, "\x00", 1);
}
fclose ($fp);
?>
0134nobodyさん
02/10/22 21:31ID:n3viipFnデータを保存する際、普通のファイルよりもデータベースファイルの方が良いのでしょうか。
またその場合データベースを扱ってみたいんですが、分かり易いサイトなど紹介してもらえないでしょうか。
よろしくお願いします。
0136nobodyさん
02/10/22 22:06ID:???【PHP】初心者コーナー では、
PHPの初心者クラスのアホな質問を受け付けております。
PHP + MySQL
http://pc.2ch.net/test/read.cgi/php/983250751/l50
PHP + PostgreSQL
http://pc.2ch.net/test/read.cgi/php/983128806/l50
0137nobodyさん
02/10/23 19:59ID:???$count = 動的パラメタ...として
for($i;$i<=$count;$i++){
print '<input type=text name=count_'.$i.'>input_'.'$i.'<br>';
}
...で複数のテキストフィールドを動的に作った場合
このテキストフィールドのパラメタを全て回収するには
どすればよいでしょうか?
0138nobodyさん
02/10/23 20:48ID:???forで回してるから$countは123・・・順の最高値なんすか?
<input type=hidden name=count value=$count>で渡して、
受けたら$count以下のを扱うとかいうのは違うすか?
つか、何がしたいのかさっぱりわかりませんずら。詳細キボンヌ
0139hmk
02/10/24 00:38ID:???私なら、配列を使います。例えば、
<?php for ($i = 1; $i <= $count; $i++) { ?>
<input type="text" name="cnt[<?php echo $i; ?>]">input_<?php echo $i; ?><br>
<?php } ?>
このようなフォームにしておけば、
<?php
for (reset($cnt); list($k, $v) = each($cnt);) {
// このようにして後で回収できます。
}
?>
138の言うようにhiddenで最大値を渡してもできる。
用途に応じて、使いやすい方法でいくのがよいでしょうかね。
0140137
02/10/24 10:40ID:???レスどもです。
わたしの意図するところは伝わったようですが
自分なりの常識を押し付けるような書き方になってしまいました。
反省してます。
念のため
php のversion は4.2.3
php.ini のregister_grobals=Off
そのため、フォームから渡されたパラメタは
$param_name=$HTTP_GET_VARS['param_name']
で回収する必要があります。
当初、これをfor でまわして
for($i=1;$i<=$count;$i++){
$param_name[$i]=$HTTP_GET_VARS['param_name[$i]']
}
とできると思ったのですがダメでした。
外部フォームからの変数が格納されている配列
また、その配列から要素を抜き出す方法を教えてください。
0141nobodyさん
02/10/24 11:10ID:???<form action="<?=$_SERVER[PHP_SELF]?>">
<?php
$count = 10;
for($i = 0;$i<=$count;$i++){
print "<input type=text name=param[]>input_".$i."<br>\n";
}
print '<input type="submit"><br>'
for($i = 0;$i<=$count;$i++){
print "param".$i."=".$_GET[param][$i]."<br>\n";
}
0142nobodyさん
02/10/26 20:59ID:???勉強するために本を買おうと思ってるのですがPHP3なんです。
「プロフェッショナルPHPプログラミング」という本なのですが。
しかしサーバーがPHP4なので大丈夫かな?と思い質問させていただきました。
0143nobodyさん
02/10/27 09:48ID:???その本PHP4.0.4で動作確認してるって書いてるよ。おすすめかも。
おれならマンモンス本の赤と青を買うな。
詳しくしりたいなら -> PHP関連の書籍(但しPHP出版系お断り)
http://pc.2ch.net/test/read.cgi/php/985315574/l50
0144nobodyさん
02/10/28 15:24ID:uGqL/qit普通のテキストファイルよりもデータベースファイルに保存した方がいいんでしょか。
管理し易いとか速いとか。。。
0145nobodyさん
02/10/28 18:42ID:b7KIhGgzデータの出し入れはデータベースの方が圧倒的に便利です。
0146144
02/10/28 18:47ID:uGqL/qitデータベースファイルを扱う場合、
やっぱりMySQLとかインストールしないと無理なんですか。
0147nobodyさん
02/10/28 19:02ID:???0148nobodyさん
02/10/28 22:02ID:???0150nobodyさん
02/10/28 22:28ID:???ホワイトベースを扱う場合、
やっぱりブライト艦長とかインストールしないと無理なんですか。
0152○
02/11/02 16:40ID:sGSys/RS■ このスレッドは過去ログ倉庫に格納されています