トップページ⇒php
853コメント275KB

【PHP】初心者コーナー 3 Released【スローモード】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/06/11 06:24ID:???
PHPに関するアホな質問はここで、マターリやろな。
ファイル MySQL PostgreSQL 正規表現でも なんでもいってみ
でもな、アホな質問であっても詳しく質問しろよ。 ネタはおもしろく書けよ。

前スレ http://pc2.2ch.net/test/read.cgi/php/1048442813/l50

■PHPの普通の質問はあっちな、【PHP】質問スレッド Part8
 http://pc2.2ch.net/test/read.cgi/php/1050249148/l50
■PHPへ移行したいPerl信者はあっちな、【待望】PerlユーザのためのPHP入門
 http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■マニュアル嫁ってうるさいのがいるからちょっとは嫁な、
 http://www.php.net/manual/ja/
■おまえ初心者なら入門本くらいかっとけな、PHP関連の書籍(但しPHP出版系お断り)
 http://pc2.2ch.net/test/read.cgi/php/985315574/l50
■これはなズープスと読むらしいがあっちな、XOOPS
 http://pc2.2ch.net/test/read.cgi/php/1031736248/l50

でもな、ここで書きたかったらここで書き。 あとは関連な、>>2 
0002nobodyさん03/06/11 06:24ID:???
■ 本家
 http://www.php.net/
■ 日本 PHP ユーザ会
 http://www.php.gr.jp/
■ PHP マニュアル
 http://www.php.net/manual/ja/
■ PEAR マニュアル
 http://pear.php.net/manual/ja/

■【待望】PerlユーザのためのPHP入門
 http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■PHP-users ML ヲチ
 http://pc2.2ch.net/test/read.cgi/php/1031734100/l50
■【PHP】Smarty【Template】
 http://pc2.2ch.net/test/read.cgi/php/1047225437/l50
■ PHP アップグレード報告スレッド
 http://pc2.2ch.net/test/read.cgi/php/987259309/l50
■ PHP + MySQL
 http://pc2.2ch.net/test/read.cgi/php/983250751/l50
■ PHP + PostgreSQL
 http://pc2.2ch.net/test/read.cgi/php/983128806/l50
■ PHP 関連の書籍 (但し PHP 出版系お断り)
 http://pc2.2ch.net/test/read.cgi/php/985315574/l50
■ perlスクリプト⇒phpスクリプト移植要望スレ
 http://pc2.2ch.net/test/read.cgi/php/1035700861/l50
■ YomiサーチPHP化プロジェクト
 http://pc2.2ch.net/test/read.cgi/php/1044371877/l50
■ せっかくだからPHPで掲示板作ってみませんか?
 http://pc2.2ch.net/test/read.cgi/php/1035700861/l50
0003nobodyさん03/06/11 06:27ID:kzWk23HI
よっしゃ、3ゲット
0004nobodyさん03/06/11 06:31ID:???
う・ん・こ♪
0005nobodyさん03/06/11 06:32ID:???
4 げっちゅー
0006nobodyさん03/06/11 06:32ID:???
うんこかぶった
0007nobodyさん03/06/11 13:44ID:lWApjllN
phpでmysqlのテーブルの削除・コピーをおこなう命令を教えてください。
0008nobodyさん03/06/11 13:53ID:???
>>7
PHPに関しては、このあたりのページをブックマークしておくと便利だよ。
http://www.php.net/manual/ja/ref.mysql.php

MySQLに関しては、
http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_toc.html
0009nobodyさん03/06/11 13:55ID:???
MySQLのマニュアルの見にくさは異常
0010nobodyさん03/06/11 22:32ID:???
クラスに詳しいサイトないですかね?
英語でもいいんで・・
どなたかタノム
0011nobodyさん03/06/12 00:25ID:???
>9
確かに(見難さには)同意するが、それはPHPのマニュアルに
慣れすぎてる部分が多分にあるからかと。
あとmysql.comの方は結構使えるで。
0012nobodyさん03/06/12 23:40ID:FX+eijnO
質問です。
ttp://www.komonet.ne.jp/script/f_mail2/komomail.htm
ttp://www.komonet.ne.jp/script/f_mail2/komomail.phps(PHPソース)
上記のメールフォームを改造してチェックボックスを配置したいのですが、
HTML側のソースは、
<input type="checkbox" name="abc[]" value="hoge01">hoge01
<input type="checkbox" name="abc[]" value="hoge02">hoge02
<input type="checkbox" name="abc[]" value="hoge03">hoge03
<input type="checkbox" name="abc[]" value="hoge04">hoge04
を追加し、PHP側のソースに
for( $i=0; $i<count($abc); $i++ ) {
print $abc[$i] . "<br>\n";
}
print "<input type=\"hidden\" name=\"sabc\" value=\"$abc\">\n";
を追加しまして動作させたところ、
確認ページでは正常に表示されたのですが、ソースを見ると
<input type="hidden" name="sabc" value="Array">
とvalueの値がどのチェックボックスを選択しても「Array」になってしまい、
このまま送信してもメールにも「Array」と表示されてしまいました。
この「Array」の部分を「hoge01」「hoge01,hoge04」
のように表示させるにはどうすればよいのでしょうか。
宜しくお願いします。
0013nobodyさん03/06/13 00:03ID:???
PHPソースみじけ
value=\"$abc\"ここはArayだかだ$abc[$i]だとおもうど、
00141203/06/13 00:20ID:???
>>13
それも試してみたのですが、
value=""
となり、何も表示されなくなってしまいました…

書き忘れましたが、
function SendMessage()内には
globalに $sabc を、それと
$msg .= "選択肢 = $sabc\n";
を追加してあります
0015nobodyさん03/06/13 00:37ID:???
書いたものをみせないのかい?
0016nobodyさん03/06/13 00:42ID:???
for( ) {
}
print "value=\"$abc\">\n";

こうなってるから。
00171203/06/13 01:19ID:???
>>15
ttp://www.komonet.ne.jp/script/f_mail2/komomail.phps
のソースに>>12と>>14を追記しただけなので全文の必要は無いかと
勝手に判断してしまいました…

>>16
それは…
for(){
}
内にprint "value=\"$abc\">\n"; を入れなければならない、
ということでしょうか?
0018nobodyさん03/06/13 01:30ID:???
まず配列を$abcなんて呼び出すのがおかしい
必ずインデックスをつけて呼び出さなければならない。($abe[$i])

あなたのソースの一番下の行を$abc[$i]としても
$iのなかに何も値が入っていないので、
おかしなことになります。
ちゃんと$iのなかに数字を入れましょう
00191603/06/13 01:52ID:???
読み間違えてた。スマソ。
> この「Array」の部分を「hoge01」「hoge01,hoge04」
ってことなら、
value=\"".implode(",",$abc)."\" みたいにして、
配列を文字列に変換しなきゃいけない。
00201203/06/13 02:19ID:???
>>18
インデックスというのは
$abc[0] = hoge01
$abc[1] = hoge02
$abc[2] = hoge03
$abc[3] = hoge04
というやつですよね?

>>19
おぉ!出来ました!implode…配列要素を文字列により連結する、
というヤツですね?これで全ての問題が解消されました。
>>13さん、>>15さん、>>16=>>19さん、>>18さん、
どうも有難うございました。
PHP勉強し始めてまだ日が浅いのですがもっと努力します。
0021nobodyさん03/06/13 02:21ID:???
$abc = array("さる","いぬ","ひつじ","うま","じゃこうねこ");
for($i=0;$i<count($abc);$i++){
print "<input type='checkbox' name='sabc' value='".$abc[$i]."'>".$abc[$i]."<br>\n";
}
こういうことなのか? PHP初心者なのか?
0022nobodyさん03/06/13 02:22ID:???
あでで
0023nobodyさん03/06/14 00:13ID:oYY8Bt5l

$hensu が a か b か c か d か
と言うのを書きたいんですけどうまく出来ません。
どうやったらいいんでしょうか。

ちなみに下記のように書きました。

$hensu = a;

if($hensu == (a||b||c||d)){
echo "あってます";
} else {
echo "違います";
}
0024nobodyさん03/06/14 00:50ID:???
>>23
$hoge = array("a","b","c","d");

if (in_array($hoge,$hensu)) {
 echo "あってます";
} else {
 echo "違います";
}
0025nobodyさん03/06/14 01:14ID:???
>23

if ($hensu == 'a' || $hensu == 'b' || ...) {
 yes;
} else {
 no;
}

if (preg_match("/^[a-d]$/", $hensu)) {
 yes;
} else {
 no;
}
0026nobodyさん03/06/14 01:33ID:???
>>24 >>25
ちゃんと動かせました。
ありがとうございます。
勉強になりました。
0027nobodyさん03/06/14 08:37ID:p4ucyWfS
リンクをクリックするたびに違うページへ飛ばしたいんですが

srand((double)microtime()*1000000);
$link=round(rand(1,5));
echo"<a href=\"http://www.*****.com/php?id=$link>;リンク</a>\"";

これだとページをリロードしなければリンク先が変わりません
どうやったらいいんでしょうか?
0028nobodyさん03/06/14 08:40ID:???
3行目間違えました・・・
echo"<a href=\"http://www.*****.com/php?id=$link\">リンク</a>";
0029あぼーんNGNG
あぼーん
0030nobodyさん03/06/14 08:49ID:???
>>27
ttp://www.*****.com/php に手を加えられるのなら、
その中でrand()すればいいのでは?
リンクのページ -> .com/php -> リンク先
0031nobodyさん03/06/14 09:04ID:???
>>30
ttp://www.*****.com/phpは自分のページじゃないのでできません
0032nobodyさん03/06/14 09:05ID:???
>>27
リロードせずにリンク先を変える方法があれば俺も知りたい。
JavaScriptでもつかったら?
0033nobodyさん03/06/14 09:24ID:???
>>32
JavaScriptでやってみたんですが携帯からアクセスすると機種によっては表示できない物があったので
0034nobodyさん03/06/14 11:32ID:???
1ページ目 : リンクページ
2ページ目 : rand()でジャンプ先を決めてheader(Location:)で実際にジャンプ

1ページ目のリンク文字(<a>〜</a>の間の文字)は固定になるけど、どう?
0035nobodyさん03/06/14 16:45ID:???
>srand((double)microtime()*1000000);

最近のバージョンだと不要だよ。
0036nobodyさん03/06/14 21:31ID:???
配列、というかimplodeを多用するとブラウザが落ちる、なんてこと無いですよね?
>>12を真似て更にチェックを増やした(チェック項目じゃなくて種類)ら
途中まで表示されて止まっちゃった(応答無し)んですけど
0037nobodyさん03/06/14 21:39ID:???
>>36
エラーじゃないんか?
0038nobodyさん03/06/14 21:43ID:???
なぜ12を真似るのか?
0039nobodyさん03/06/15 01:25ID:???
>>38
非常に重要な疑問だ
0040nobodyさん03/06/15 14:32ID:???
>>37
解決しますた
HTMLの書き方がおかしかったみたいです
>>38
前からメール送信フォームのスクリプトを探してたんですけど
チェックボックス付きのって不思議なくらい少ないんですよ
ラジオボタン付きのは多いのに。
こんなCGI探してますスレで聞こうと思っていた時に
12でそういう話題が出てたんでこりゃ僥倖、というわけです
0041nobodyさん03/06/16 19:26ID:???
ファイル編集で質問なのですが、
ファイルのn行目だけを消去というような処理は
どうすれば良いのでしょうか。
0042nobodyさん03/06/16 21:57ID:???
forとかで回して、
n行目だけ飛ばすとか?
0043nobodyさん03/06/16 22:35ID:???
>>41
edが入ってれば・・・

ed {ファイル名} <<EOT
行数d
wq
EOT

こんな感じのことをやらせると簡単?
# 複数行あるときは、行数は大きい順にdコマンドせいよ!

言ってることがわからないときは無視していいよ・・・
0044nobodyさん03/06/16 23:16ID:???
>>43
行ってることはよくわかるけど,無視
0045nobodyさん03/06/16 23:50ID:ULUKCUBQ
[[ と ]] でかこまれている文字列を抽出する正規表現を教えていただけませんか。
対象文字列が1つだけならば問題はないのですが、
複数ある場合に正しく認識しないのです。
0046nobodyさん03/06/17 00:06ID:???
>>41
オーソドックスに1行ごとファイルを読んで、対象行について処理。
消して詰めるんだったらスキップすれば良いし、
空行にしたいなら空行に入れ替えればよい。
処理用のテンポラリは配列を使ってメモリー上でやってもいいし、
PHPの一時作業ファイルの機能を使っても良い。別ファイルに吐くなら
直接そこに書き込んだ方が二度手間にはならないけど。

つかもちぃと、自分のやりたいことを具体的に書けるように汁。
0047nobodyさん03/06/17 00:16ID:???
>>45
/\[\[[^(\]\])]*\]\]/
0048nobodyさん03/06/17 03:07ID:jU4Lgx5s
>>47

$content=ereg_replace("(\[\[[^(\]\])]*\]\])","<a href=\"index.php?action=view&title=\\1\">\\1</a>",$content);
こうしてみたのですが、うまく動きません。
どうしたらよいのでしょう。
最初は
$content=ereg_replace("(\[\[.+\]\])","<a href=\"index.php?action=view&title=\\1\">\\1</a>",$content);
でした。
0049nobodyさん03/06/17 04:08ID:???
preg_replaceじゃないの?
0050あぼーんNGNG
あぼーん
0051nobodyさん03/06/17 11:30ID:???
>正しく認識しないのです
>うまく動きません。

これだけじゃね。
0052nobodyさん03/06/17 15:44ID:???
PHPってVBみたいなツールないですか?
0053nobodyさん03/06/17 17:12ID:???
>>52
http://www.zend.co.jp/aboutphp/
0054nobodyさん03/06/17 17:39ID:???
>>53
意外と安いですね。20まんくらいするのかと思ってたYO!
0055nobodyさん03/06/17 23:07ID:0jiXtget
ディレクトリのサイズを取得するいい方法はありますか。
ディレクトリの中のファイル一個づつ足していかないとだめなんでしょうか。
0056nobodyさん03/06/17 23:33ID:???
>>55
そうですけど,
duとか使えば?
0057nobodyさん03/06/17 23:56ID:???
45ですが。
>>47さん
>>49さん
ありがとうございました。
0058nobodyさん03/06/18 00:59ID:z2IuQj0n
PHPで画像をUPしたいんですがサーバ側で
画像の大きさを判別できるのでしょうか?
200×300とか
調べたんですけど関数がないような
ということはC言語で関数を作る?
だれかわかりませんか?
0059nobodyさん03/06/18 01:04ID:???
ほんとに調べたのかよこの知障
0060nobodyさん03/06/18 01:14ID:???
まぁまぁ初心者スレなんで生温かく見守れ

http://www.php.net/manual/ja/function.getimagesize.php
マニュアルにまんまあるぞ。このRTFM!
0061nobodyさん03/06/18 01:19ID:???
>>60
やさしいのか、やさしくないのか「RTFM」なんて。。。
0062nobodyさん03/06/18 01:40ID:???
やさすい
0063nobodyさん03/06/18 01:57ID:ozrEi3ht
60>>さん
ありがとうございました
59>>
回線切って首を吊れ
0064nobodyさん03/06/18 10:14ID:???
>>63
逆切れカコワルイ
0065nobodyさん03/06/18 11:17ID:Y4tmU7Uq
>>64氏が釣られている気がしないでもない今日この頃ですが、
皆様におかれましては、いかがお過ごしでしょうか?

と、まぁ〜、んな事はどーでもいいので、質問させて下さい。
配列の中の要素の数を取得する事って出来ますか?
$hoge[0] = hoge0
$hoge[1] = hoge1
$hoge[2] = hoge2
って、配列があるとしたら、全部で3つじゃないですか?
その3ってのを取得したいんです。
0066nobodyさん03/06/18 11:18ID:???
>>65
ネタにしてもつまらない。
■ このスレッドは過去ログ倉庫に格納されています