くだすれPHP(超初心者用)2
at PHP
1:nobodyさん
06/11/27 17:46:42
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
URLリンク(www.php.net)
2:nobodyさん
06/11/27 17:52:42
では早速。
みなさん、PHPを書く時、<?〜?>か<?php〜?>どちらで書いてます?
最近、後者で書く時が多いのですが、そう癖づけた方がいいのでしょうか?
それともぶっちゃけあまり変わらないから、<?〜?>でも問題ないのでしょうか?
3:nobodyさん
06/11/27 18:12:27
超初心者はなにも考えず後者を使え
4:前すれ986
06/11/28 01:12:54
探したら確かに
/usr/share/php5/
にphp.ini-distがありました。
debianだと元々設定ファイルが無いんですね。
/etc以下にはありませんでした。
しかしながら検索で*を使うのを忘れてました。
恥ずかしい限りです。でも皆さんありがとうございます。
5:QQQ
06/11/28 11:25:10 trk6Ybn1
テキストボックス一つに対してボタンを二つ用意して
それぞれのボタンで入力に対して異なる処理をさせたいんですが、
どうやったらできますか?
現状ソースは以下
<INPUT TYPE="text" NAME="var" SIZE="20">
<FORM ACTION="URLリンク(localhost) METHOD=POST>
<INPUT TYPE="submit" VALUE="実行1">
</FORM>
<FORM ACTION="URLリンク(localhost) METHOD=POST>
<INPUT TYPE="submit" VALUE="実行2">
</FORM>
元々、一行目の文を<form>の中に入れてました。ボタンを二つに
したかったので外に出しちゃいましたwこれでは値が渡されません。
あ、これPHPファイルをコールする直前のHTML内の処理ですね。
でもできれば回答お願いします。
6:nobodyさん
06/11/28 11:29:04
超初心者ですが、foreachについてお聞きしたいことが。
foreachには、
1 foreach(array_expression as $value)
2 foreach(array_expression as $key => $value)
の2つの形式がありますよね?
1では、ループの値は$valueに格納されますが、2のほうでは$keyと$valueに
それぞれ何が格納されて、どんな時に使うのか分かりません。マニュアルを
見たのですが、ピンとこなくて。。。
7:6
06/11/28 12:09:48
わかりましたので取り下げで。
8:nobodyさん
06/11/28 12:18:54
>>5
っ name
9:nobodyさん
06/11/28 13:46:11 PnRJydza
テキストファイルの中身をすべて出力するには
どうすればよいのでしょうか?
日本語が文字化けしてしまいます・・
10:nobodyさん
06/11/28 13:56:58
>>2
ローカルでshort open tagをoffにしてるから<?php
<? ?>で動かないことはあっても<?php ?>で動かないことはないからね
11:nobodyさん
06/11/28 13:59:20
>>9
mb_string 入れてる?
php.ini の [mbstring]の設定は?
読み込もうとしているテキストファイルの文字コードは?
12:9
06/11/28 14:17:55 PnRJydza
>>11
文字コード変えてみたらうまくいくました
ありがとうございます
あと、テキストファイルに数行の文が書かれているのですが
読み込んで出力しても、改行がされてませんどうすれば
テキストファイルの内容そのまま出力できますか?
13:nobodyさん
06/11/28 14:35:44
>>12
どうやって取り込んだの?
file 関数使えばファイル全体を読み込んで配列に格納するし、
fgets で読めばァイルポインタから 1 行づつ取得してるんだろうし。
非エスパーでも回答可能な質問汁。
14:nobodyさん
06/11/28 14:41:24
>>12
ブラウザで見てるからだろ
ブラウザ上での改行は<br>だから
15:nobodyさん
06/11/28 14:41:41
<br />つければいいんじゃね
16:9
06/11/28 14:41:44 PnRJydza
readfileを使いました。
説明足りなくてごめんなさい
17:nobodyさん
06/11/28 14:42:40
LFが改行じゃないシステムとか
18:nobodyさん
06/11/28 14:46:27
>>16
今回は各行の後ろに「改行コード」(コマンドラインへ出力) or 「<br>」(ブラウザへ出力)を
加えたいから、fileで取り組んで配列ループして改行コードを追加しながら出力すればいいんじゃない?
19:9
06/11/28 15:03:00 PnRJydza
何度もすいませんm(__)m
配列ループするとテキストファイルの中身の
文の行数だけループはどうすれば?
いろいろな行数のファイルを読み込みたいんですが
20:nobodyさん
06/11/28 15:12:23
全部読んでまとめてnl2br
21:nobodyさん
06/11/28 15:17:15
>>19
PHP のマニュアルの foreach を参照のこと。
URLリンク(jp.php.net)
他にも方法はあるけどね。
22:nobodyさん
06/11/28 17:06:22
>>19
ループ使わないやり方
echo str_replace("\n", "<br>", file_get_contents("ファイル"));
\nは改行コードによって変わる
23:nobodyさん
06/11/28 17:11:46
これでもいけるかな?
echo nl2br(file_get_contents('ファイル名'));
24:nobodyさん
06/11/28 20:35:30 xi49mohN
さぁさぁさぁ、超初心者と聞いて俺がきましたよ!
超初心者が聞きます!
……PHPって何ですか?
25:nobodyさん
06/11/28 20:36:45
嘘つくなハゲ
26:nobodyさん
06/11/29 10:28:53
opendirでディレクトリ内を開いて書き出した時、
.
..
test.gif
みたいに” . ”が出力されます。これを削除して出力するにはどうしたらいいのでしょうか?
27:nobodyさん
06/11/29 10:37:14
while ($entry = readdir($dir)) {
if ($entry == '.' || $entry == '..') {
continue;
}
echo $entry . "\n";
}
とか
28:nobodyさん
06/11/29 10:52:27
phpこれから勉強しようかなと思ってるんだけど
2ちゃんの壷のlocalhost8095は削除しとかないとダメかな?
アパッチも使おうかなと思ってるんだけど。
29:nobodyさん
06/11/29 10:55:37
ローカルでテスト中のときだけ壷停止しとけばおk
30:nobodyさん
06/11/29 16:41:30 gqW8eidG
フォームで番号入力させてボタン押したら
それをもとにHTMLファイル作成して
そこに飛ぶようにしたいんですけど
どのようにしたらいいでしょうか?
action先にあるphpファイル指定して、ファイル作成して
そのファイルに飛ぶって感じで考えたんですけど
かなり無駄ですよね・・・なにかいい方法ないですか?
31:nobodyさん
06/11/29 16:53:50
>>30
マルチすんな。
32:30
06/11/29 17:00:36 gqW8eidG
ごめんなさい。今日中にやらなきゃだめで・・つい
33:nobodyさん
06/11/29 17:48:47
つい殺してしまった
つい盗んでしまった
34:nobodyさん
06/11/30 04:34:34 9PLb0L+/
URLリンク(w1.nirai.ne.jp)
↑ここの二択クイズのスクリプトを設置してみたんですけど
エラー(Parse error: syntax error, unexpected '/')が出て動きません。
単純な構文の間違え?考えたのですがわかりません。
エラーが出るのは下のスクリプトの中の←の部分。
前後もおかしいところはないと思うんですが。
どうかわかる方、教えて下さいませ。
一部抜粋(元はURLリンク(w1.nirai.ne.jp)
)
///////////////////////////////////////////////////////////////////////////////////個人成績表の表示
function RESULT($name_in){
global $office;
if(file_exists("./quiz/name_$office/$name_in") and $name_in !=null){
echo "名前:".$name_in." ".$office."成績表";
$result = file("./quiz/name_$office/$name_in"); ←この行
$array_cnt = count($result);
echo "<table border='1'>";
echo "<tr><td>DATE&TIME</td><td>LEVEL</td><td>POINT</td><td>TIME</td><td>BAR</td></tr>";
$cnt = 0;
while($cnt < $array_cnt){
35:nobodyさん
06/11/30 04:55:17
>>34
ソースコードをShift_JISで保存してるから。
問題の行は一個上の echo ... の部分で、表はsjisだと 95 5c。 5c てのは \。
なので 成績表" の " がエスケープされてしまう。
とりあえず 成績表\" のように \ を追加すればいいけど、ソースコードは utf-8n か
euc-jp で書くようにしたほうがいいよ
36:nobodyさん
06/11/30 06:35:19
>>35
ありがとうございます。解決しました!
しかし、今度はログイン画面や問題表示画面にエラーが出てきたので、引き続き考えてみます。
37:34
06/11/30 19:46:18
XREAのセーフモードというのが邪魔してるみたいです。
どこかのサイトに書いてあったのを参考に
.htaccessに
<Files index.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
として設置して、よくわからないままエラーメッセージは
出なくなりましたが、成績が記録されないです。
38:nobodyさん
06/11/30 19:52:05
なぜ記録されないのか調べて、それに応じた対策をとればいい
39:nobodyさん
06/12/01 02:03:15 eNWcG6C2
スクリプト内で$_GET['id']=TRUEという処理を使う場合、
外部から$_GET['id']===TRUEになる値を入れることは絶対できない?
40:nobodyさん
06/12/01 05:05:05
>>39
URLリンク(jp.php.net)
---------------------------------------------------
boolean に変換する場合、次の値は FALSE とみなされます。
integer の 0 (ゼロ)
float の 0.0 (ゼロ)
空の文字列、 および文字列の "0"
その他の値は全て TRUE とみなされます (全ての resourceを含みます)。
---------------------------------------------------
hoge.php?id=0 はflase
0以外はtrue
41:nobodyさん
06/12/01 06:24:14
>>39
無理だと思うけど、$_GETに値を代入するのは気持ち悪いな
42:nobodyさん
06/12/01 07:10:53
>>40
==ならその通りだけど>>39は===だ
43:nobodyさん
06/12/01 13:00:14 foRsHFAa
初めまして^^
配布スクリプトでの質問なんですが
URLリンク(php.goinkyo.be)
のバナーランダム表示スクリプトです。
同じバナーが表示されないように出来るのでしょうか??
そのまま設置するとかなりの確率で同じバナーが表示されてしまうのです…
宜しくお願い致します!!
44:nobodyさん
06/12/01 13:08:17
>>43
前回表示したバナーを記録しといて、表示するためにバナーのリストを読んだ段階で
記録されてるのを除外すればいいんじゃないの
45:nobodyさん
06/12/01 13:22:03 foRsHFAa
>>44
早速ありがとうございます!!
いや、当方初心者なものでどんな記述を書き足せば良いか
分からないんですよ、、
簡単なものであれば教えていただけないでしょうか?
46:nobodyさん
06/12/01 13:55:23
>>43
「ランダム」の意味を盲一回よく考えよう
バナーの種類を二万個ぐらいまで増やせば?
47:nobodyさん
06/12/01 16:22:28
くだらねーレスだなオイ
48:nobodyさん
06/12/01 17:01:57
だってくだすれだもん
49:nobodyさん
06/12/01 17:35:53
バナーを三マンコくらいにしたらいいよ。
50:nobodyさん
06/12/01 20:18:22
「ガンダム」の意味を教えてください
51:nobodyさん
06/12/01 20:57:35
「癌堕夢」
中国の孟子さんが癌になる夢を見たらしいよ
52:nobodyさん
06/12/01 22:40:05 LbNSuYCs
アップローダー作ろうと思ってるんですが、
アップするファイルを特定の拡張子だけに制限することってできますか?
53:nobodyさん
06/12/01 23:41:03
>>52
できます
54:nobodyさん
06/12/01 23:48:44 LbNSuYCs
>>53
サンクス
関数とか教えて欲しいけど、自分でやってみる!
うぉおおおおおゴールはすぐそこだ
55:nobodyさん
06/12/02 06:43:09
>>54
とりあえず最初は単純にファイル名だけチェック。
これが出来たら、次のレベル、中身をチェック。
56:nobodyさん
06/12/02 08:40:19
>>54
どんな拡張子に制限したいのか分からないけど、MIMEタイプを
指定するだけっていう簡単な方法もあるよ。
57:nobodyさん
06/12/02 19:32:22
普通は容量制限が有るから容量もチェックだな。
1GBとかうpされたら即垢停止。
58:nobodyさん
06/12/03 03:10:10 NU1tc6JW
掲示板でユーザーからの投稿をサニタイズ(だったけ?)しない
(htmlspecialchars等かまさない)とき、掲示板閲覧者じゃなくて、
掲示板設置者が気をつける点やこれは取り除いておけってのありますか?
htmlタグやjavascriptで利用者がクッキー盗まれたり、ブラクラへ飛ばされても
一向にかまわないんですが、スクリプト設置者が不利益になるのは避けたいという
(サーバーに対して変なコマンドを使われたりするような)、
そういう趣旨の掲示板です
59:nobodyさん
06/12/03 15:39:46
>>58
まぁあれだ、巨大な文字を一つ貼り付けられるだけで掲示板として機能しなくなるわけだが。それでもいいのか?
60:nobodyさん
06/12/03 16:02:40
訴えられるのは管理者だが
61:nobodyさん
06/12/03 17:37:54
>>58
phpとかの問題ではないが、
裁判沙汰になる可能性を踏まえて海外鯖使う
62:58
06/12/03 22:48:21 NU1tc6JW
外部からの変数にeval()とかしない限り何書かれてもおkってことでいいですか?
フォントいじり系は定期的にログ全削除するから平気です
閲覧者のPCが固まっても、管理人は別ルートの管理室出入り口を作るので
63:nobodyさん
06/12/03 23:17:23
>>62
どんな方法でデータを記録していくのか知らないが、
保存しているデータを、あぼんされてもいいなら放っておけば?
64:nobodyさん
06/12/04 00:47:17
>>62
仕様が”攻撃者が任意のHTMLやJSを埋め込む事を許容する”という物なら(それを想定した上で管理者に安全に作れば)大丈夫。
ま、せいぜい気を付けるこった。
65:nobodyさん
06/12/04 18:10:10
なんらかのフィンガープリントを取って、作成した本人のみが閲覧できるようにするベッキー
66:nobodyさん
06/12/08 01:11:42 6mMpPBwV
DBの文字コードがUTF-8、phpがEUC-JP、http_inputは空、http_outputはEUC-JPです。
レコード中の1カラム(列名:name)だけが2バイト文字を含む文字列データなのですが、
DBから取り出したレコード($record)をprint_r();でブラウザ上に表示したら見事に化けました。
そこで、$record['name'] = mb_convert_encoding($record['name'],'EUC-JP','UTF-8');
してからprint_r();してみたんですが相変わらず化けたままです。
自分は何を見落としているのでしょうか?
67:nobodyさん
06/12/08 03:10:20 P4e+I898
cgiの中でphpを動かすにはどうすればいいですか?
本当に超初心者的質問になっていて申し訳ないのですが
68:nobodyさん
06/12/08 09:09:48
>>67
サーバの設定を聞いてるなら何を使っているのかを書こう。
ApacheとかIISとかバージョンも含めて。
あと、OSやPHPはどうやって入れたの?
69:nobodyさん
06/12/08 09:18:45 M2nmYmnp
スレ違いならすみません。
他サイトでも質問したのですが、回答がなくて・・・。
FFAやInfinity2のようなブラウザで遊べるネットゲームを作りたいと思ったのですが、ある程度システムは決めた状態で、
まず何から作っていけば良いのでしょうか?
ちなみに、携帯専用のゲームの予定です。
以前に作ってみたんですが、いろいろシステムを考えているうちに書き直してばっかりなので、
まったく進まない状態なのです。
皆様が作るとすれば、まずどのようなことから考えて、手をつけていきますか?
FFA
URLリンク(another-ffa.ddo.jp:8080)
Infinity2
http://?www.infinity2.ne.jp:88/?
70:nobodyさん
06/12/08 17:13:15
日本語でおk
71:nobodyさん
06/12/08 18:19:18
>>69
作る以前の問題だ。
「ある程度決めた状態」である筈なのに「書き直してばかり」なのは仕様が固まってない証拠。
何を作りたいのか"詳細"に決める事から始めろ。
72:nobodyさん
06/12/09 08:24:15
普通はDBがutfなら全部utfにしてしまう。理由は文字化けしないから。
どこか一つでも文字コード変換の処理をさせると文字化けの問題と戦うことになるよ。
73:nobodyさん
06/12/09 19:20:48
やはり統一が基本ですか…
確かに、まだphpソースもそこからincludeするhtmlも数個しか作成してないから
あとはミスなく各種設定ファイルを弄るだけなんですよね。
いやはや、落ち着いているものをひっくり返すのにはどうにも積極的になれなくて…
でも他の方の意見も聞けて、やっと「やるしかない!」という気になりました。
趣味レベルだとどーしても面倒な事があると躊躇ってしまう^^;
レス、大変助かりました。ありがとうございました。
74:nobodyさん
06/12/13 15:56:39 vw+L/J5V
6hotの進化版アクセス解析Lapis(URLリンク(act.st))を使ってます。
このスクリプトで使ってる.htaccessに他のソースを入れたいのですが
サーバーエラーになってしまいました。
1つの.htaccessにアク解用のタグやIPはじき、
includeのソースを入れたい場合、どう書き込めばいいですか?
75:nobodyさん
06/12/13 16:19:42
そういや以前.htaccessの偉い人ってスレがあったな
ってか、アク解用のタグってなに?
ってかてか、web政策板できいたら?
レスがあるかは知らんが
76:nobodyさん
06/12/14 09:19:59
>>nobodyさん
アクセス解析でもhtaccess使ってるし、インクルードもしたいんだけど、
その両方を1つのhtaccessに書き込むと500エラーになってしまうんです。
Web板の方がいいのかな・・・自分2chの空気なんか読んだ事ないからな・・・
ありがとうございました。
77:nobodyさん
06/12/14 12:07:39
>>76
とりあえず半年ROMっとけ
78:nobodyさん
06/12/14 15:02:02 eawOm30r
file_get_contentsとfile_put_contentsでファイルの内容を
別のファイルに書き込みたいんですが
file_put_contentsのさいに、書き込み先のファイルに上書きではなく
もとからあるテキストの下に続けて書き込みたいのですがどうすれば?
79:nobodyさん
06/12/15 16:32:56 GA2h1KlN
今まで、register_globals = on の環境でヌクヌクしてたのだけれど、
php のヴァージョンをあげたのを機会に
register_globals = は off にしたほうがよいのかしら?
$a = $_GET['a'] とか $b = $_POST['b'] とかみんな書いてるの?オセーテください
80:nobodyさん
06/12/15 16:34:58
>>79
うん
81:79
06/12/15 16:44:39
そか...ありがトン めんどクサイ 世の中になったもんだな...
82:nobodyさん
06/12/15 19:45:01
>>81
ガンバレヨ
間違っても、無条件にextractとかしないようにね
83:nobodyさん
06/12/16 03:07:14 J1is8RMn
環境さえ整っていたら、
DBから取得した1レコードの内容をprint_rで表示した時、
2バイト文字のデータもブラウザ上に化けずに表示されるもんですか?
84:nobodyさん
06/12/16 10:08:54
>>83
される
85:nobodyさん
06/12/16 19:57:15
ブラウザの文字コード解析って割と優秀。
86:hogeman
06/12/17 23:39:20 Cg0EPVD3
以下のようなに日本語のパラメータを渡そうとると
URLリンク(hoge.jp)ほげ
以下のような感じでurlencode?,MIME? された状態になるんですが
URLリンク(hoge.jp)
以下のphp内で所得すると
$name = htmlspecialchars( $_GET["name"]);
print $name
の結果が化けるんですが、上手く渡す方法ないでしょうか?
87:nobodyさん
06/12/17 23:42:12
phpがインストールできないから、質問しようと思ったけど、XAMPPでインストールすることにした。
今ダウンロード中だが、激しく遅い。
88:nobodyさん
06/12/17 23:53:00
>>86
2byteコードを渡すときは、予めURLエンコードをすべし
「ほげ」を渡したいなら、
name=%82%D9%82%B0
89:hogeman
06/12/18 00:39:30 P9WLyRRW
88さんの方法で解決しました、ありがとうございますm(_ _)m
90:nobodyさん
06/12/19 13:42:23 Z1TZWbj7
>>61
裁判沙汰になっても安心な鯖会社ってどこっすかね?
2ちゃんが入ってるとこ?
91:nobodyさん
06/12/19 14:10:36
はやく答えろや。時間がもったいないんだけどな・・・
92:nobodyさん
06/12/19 16:48:27
>>90
はいはい、厨な質問が来ましたよ。
裁判沙汰になっても安心な鯖会社とか・・( ´,_ゝ`)プッ
93:nobodyさん
06/12/19 18:00:43
>>92 この板に来てるから要注意
>>90-91 の思考は、全く下記と同じ
URLリンク(xoopscube.jp)
同板のosCommerceスレで基地外omoti大暴れしてる。
スレリンク(php板)l50
放置です
94:nobodyさん
06/12/19 20:50:47
あいあい
95:nobodyさん
06/12/19 21:23:31
>>93
あぁ!omotiか
以前omotiがスレ乱立させてた頃に弄って遊んだ覚えが・・。
まだやってたのか
96:nobodyさん
06/12/19 23:02:10
美乳おいときますね
97:nobodyさん
06/12/19 23:03:49
つURLリンク(sports.yahoo.co.jp)
98:nobodyさん
06/12/20 23:14:19
セッション難しいね。
おまいらどうやって勉強したの?
クッキー程度で十分な仕事しかしてないのか?
セッションスレ逝ってくる。
99:nobodyさん
06/12/24 14:31:51 z1YcVJbQ
フォームからのスペース(反核全角)を伴う改行(\n)はどうやって削除してる?
う ん こ ち ん こ 改行
改行
改行
ば か ば か ば か 改行
改行
しね
みたいなの
100:nobodyさん
06/12/24 21:58:47
ヒィント:正規表現
101:nobodyさん
06/12/25 11:55:32
>>99 うんこはトイレ
102:nobodyさん
06/12/25 21:56:13 uNaG2oXR
可変変数で
$variables = array('test[0]');
${$variables[0]} = 'aaaaaa';
echo $test[0];
はダメ?
103:nobodyさん
06/12/29 01:13:59
ここで聞くのも間違っているかもしれませんが質問です。
phpはサーバーサイドで動くプログラムだそうですが、
同じプログラム文を複数の人がほぼ同時にアクセスしても大丈夫なのでしょうか?
ファイルロックについて調べていたら疑問に思いました。
例えばこういうことです。
<?php
$a = 1; (1)
$a = 2; (2)
print $a; (3)
?>
といった文があるとして最初にアクセスした[ユーザーA]が(2)の処理まで終わり、
(3)の処理に入る前に(有り得るのか分かりませんが)[ユーザーB]が
(1)の処理をしてしまった場合[ユーザーA]が(3)を処理すると[1]と表示して
しまうか知りたいです。
どうかよろしくお願いします。
104:nobodyさん
06/12/29 01:34:53
>>103
PHPにユーザーからリクエストがある度に新しく生成され、レスポンスを返した後に破棄される。
つまり、同時にアクセスされても全く問題ない。必ず"2"と表示されます。
注意する必要がある物はファイルやデータベースで、これは適切にロックして同時に実行されたPHPを制御してあげれば問題ない。
105:nobodyさん
06/12/29 01:47:21
>>104
回答ありがとうございます。
phpプログラム自体は同時に接続されてもまったく問題ないが
それ以外の部分に関して操作する場合は気をつけなければならない。
というわけですね。
胸のつかえが取れ、プログラム作成もはかどりそうです
ありがとうございました。
106:nobodyさん
06/12/29 10:14:43
シングルクオートとダブルクオートの使い分け方を
簡単におしえてくだちい。
シングルクオートのほうが処理速度が1.2倍速いという事は
ググって分かりましたが。
107:nobodyさん
06/12/29 10:17:39
>>106
文字列内で変数を展開したい時にはダブル
108:nobodyさん
06/12/29 11:03:10
>>107
まりがとう
109:nobodyさん
06/12/29 12:27:29
この年末年始の休暇で、PHPを勉強したいなあと思っています。
CSVの中身をランダムに表示したりとか、そういうことから始めたいなあと思っています。
が、わたしはプログラマーではないので、プログラムをちゃんと勉強したことはありません。
本家のマニュアルとかユーザ会のページとか見ても「この関数を使えばなんとかなりそうだなあ」
という程度にはわかるのですが、その先、実際にプログラムにすることができません。
こんなわたしに、PHPのおもしろさや便利さがわかる書籍やサイトがあったら、おしえてください。
よろしくお願いします。
110:nobodyさん
06/12/31 15:29:32
他人の頼ってる時点でダメポ。
そもそも速度求めるならphpって選択肢無いし。
気にせず使うのが良いよ。
111:nobodyさん
06/12/31 15:41:03
>>109
面白さや便利さなんて人それぞれ。
自分のやりたいことが明確なら、それが実現できたときに面白さや便利さを感じるんじゃないかね?
なら、そのやりたいことを実現するための方法を見つければいい。
サイトをというなら、PHPのオンラインマニュアルをお勧めするよ。
やりたいことから関数をひける非常に良くできたマニュアルだから。
112:nobodyさん
07/01/02 16:59:41
クラスの概念がイマイチ掴めない。
まぁ使わなくても何とかなるようなのしか書いてないけどさ…
やっぱり理解したい。
113:nobodyさん
07/01/03 08:40:02
javaにしとけ。
114:nobodyさん
07/01/03 14:48:50
日曜プログラマな俺もオブジェ糞指向をマスターしようと、
C++(その前にやるC含む)・Java・Rubyの本をしこたま買い込んだが
ほとんど読んでない
今年は頑張って読んでマスター目指すよ('A`)ノシ
115:nobodyさん
07/01/09 23:27:55 k5CRwMBH
思いっきりJavaのパクリです
しかも中途半端ときてます
ほんとうにありがとうございました
116:nobodyさん
07/01/11 15:36:01
$msg_str .= "";
$msg_str .= "<FONT COLOR=RED SIZE=4>";
$msg_str .= "名前が長すぎます。半角20文字(全角10文字)以内で";
$msg_str .= "入力してください。</FONT><BR>";
とある参考書に書いていました。
一行目の意味が分かりません。無くても表示されます。
解説してもらえたらうれしいです。
117:nobodyさん
07/01/11 15:53:20
1行目は
$msg_str .= "";
ではなく
$msg_str = "";
でないか?
もし上なら出版社のミス。
下なら、$msg_strの値を空にしてる。
もしこの行より前で $msg_strに値が入っていたら、続けて表示されてしまうから一旦空にしてるんじゃない?
118:nobodyさん
07/01/11 16:20:20
>>116
$msg_str = "";
がないとNotice errorになる(未定義の変数を使用しましたとか)
119:nobodyさん
07/01/11 17:58:19
>>117 >>118
お返事ありがとうございます。
仰るとおり、一行目は確かに $msg_str = ""; ですた・・・
なんとなく理解できました。
120:nobodyさん
07/01/11 18:18:56
例えば、
あいう123えおかきく234けこさ
という文字から234の数字の部分だけ取り出したいのですが、
どうすればよいでしょうか。
"きく"と"けこ"の間を取得すればいいということだけはわかるんですが、
どう書けばいいのかわかりません。
121:nobodyさん
07/01/12 13:34:49 6+bHJUiK
ドメインの範囲を教えてください
122:nobodyさん
07/01/13 19:39:53 5xFs6m9q
教えてください。
phpでメール送信をしたいのですがまだ環境を全然整えていません。
というか、どの様な環境を構築すればメール送信できるのでしょうか?
鯖用PCはあります。Win2k/AN HTTPDです。
mail()関数を使ったプログラムは書いたのですけど、
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini
or custom "From:" header missing in C:\〜\index.php on line 23
というエラーが返ってきました。
additional_headers引数にFromを設定し忘れたので当然だとは思うのですが、
SMTPサーバ?も必要なんですよね?
mail()関数とphp標準機能だけでメールって送れないですよね?
くだらない質問ですいませんが、よろしくお願いします。
123:nobodyさん
07/01/13 21:09:08
>>120
正規表現
124:nobodyさん
07/01/14 14:29:07
>>122
windows版phpはsmtpが使える
マニュアルをmailとかで検索しる
125:nobodyさん
07/01/14 14:33:39
あ・あとその英語のエラーをよく読もうな
126:122
07/01/14 23:17:53 3+hBUljF
>>125
ツッコミがいまいち理解できないのですが、ワーニングだから無視できるって事ですか?
それともphp.iniの設定してないからだよ、と?
それともFromヘッダは、設定をしてないのではなくて設定内容が間違っているのだ、
という部分でしょうか?
まさか、sendmail_from≠Fromヘッダなんですかね?
もう少しだけ詳しくご指摘いただけると助かります
>>124
それよりなにより「smtpが使える」とは、mail関数でsmtpを利用できるという意味ですか?
つまりphpとは別にsmtp環境を用意しなきゃいけないという事ですよね?
ちょっとズレますが、本によるとPEAR::Mailはmail/sendmail/smtpの3つのバックエンドに
対応しているらしく、これを目にしたが故に、
ここでいうmailならphp標準機能(よく考えるとPEARは標準機能ではないかf(^^;)だけで
メールが送信できるのかな?これ以上ソフトウェアを入れなくてもいいのかな?
という疑問がわいた次第です。
ご存知の方がおられましたらお願い致します。
127:nobodyさん
07/01/15 15:09:32
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
【桜肉】馬肉大好き【さくら肉】 [珍味]
マジ? PHPとどんな関係?
128:nobodyさん
07/01/15 18:36:46 bXy17Ecq
配列で指定したNGワードを弾きたいのですが下のように書いても上手くいきません。
$ng = array('/SEX/', '/crap/', '/fuck/');
if(ereg($ng, $coment)){
$ck = 1;
$txt .= 'NGワード。<br>';
}
下のように書いても駄目でした。
$ng = array("SEX", "crap", "fuck");
arrayの使い方が間違ってるんでしょうか?
129:nobodyさん
07/01/15 18:40:49
正規表現つかわずにin_array
130:nobodyさん
07/01/15 20:48:45
>>127
腹が減ってたんじゃね?
それともアレか、馬肉のネット通販サイトでも作ってる奴が居r
そんなスレ貼るから、馬刺し食いたくなってきたわ・・馬は乗るものじゃなくて食い物だな。
131:128
07/01/15 23:19:48 bXy17Ecq
if(ereg($ng, $coment)){
をやめにして、
$ng = array("SEX", "crap", "fuck");
if(in_array($coment, $ng)){
としたら上手くいきましたが、入力されたコメントが「SEX」でなく
「SEX SEX」になると弾かないようです。
正規表現を組み合わせて使う方法はないでしょうか?
132:nobodyさん
07/01/15 23:50:38
log/a.log というファイルの中身が一行しかない(2行以上でない)なら、
そのファイルを消すという動作をしたいのですが、
どのようにすればいいのでしょうか?
133:nobodyさん
07/01/16 08:50:28
>>132
ヒント:改行コードの数を数える
134:154
07/01/16 12:33:03 UiU1h66q
a.log 1列ずつ読んで2列目があれば削除でええのでは
135:nobodyさん
07/01/16 14:55:16
ありがとうございます
いちおうこれでいけたような気がいます。精進します
$file = 'a.log';
$fp = fopen($file, "r");
$count = 0;
while(!feof ($fp)) {
if ($line = fgets($fp) and substr($line, -1) == "\n") $count++;
}
fclose($fp);
if ($count == 1) unlink($file);
136:nobodyさん
07/01/16 15:58:40
>>135
最後まで読み込み続けるから行数が多いファイルだと無駄が多いな
137:nobodyさん
07/01/16 18:19:50
なるほど while の中で
if ($count == 2) {
unlink($file);
break;
}
138:nobodyさん
07/01/16 18:29:00
違った
if ($count >= 2) {
break;
}
失礼しました。ありがとうございます。
139:nobodyさん
07/01/17 14:44:03
初心者用の参考書を読んでたら、コードの中に突然見慣れぬ部分が出てきました。
<INPUT TYPE="text" NAME="post_name" MAXLENGTH=20
SIZE=30 VALUE="<?=_hs($post_name)?>>
の VALUE 以降です。
「_hs($post_name)」はユーザー定義関数なんですが、
<?= ?>はショートオープンタグって事なんでしょうか?
「=」って必要なんですか?
140:nobodyさん
07/01/17 17:07:15
今からphpおぼえるなら「php4」と「php5」のどちらが良いですか?
141:nobodyさん
07/01/19 13:11:51
>>139
マニュアルの最初に書いてあるよ
>>140
php5
142:nobodyさん
07/01/19 18:10:13
>>141
「<?= expression ?> は "<? echo expression ?>"のショートカットです。」
とありました。ありがとうございます!
突然説明も無く出て来るんだもんなぁ・・ブツブツ
143:nobodyさん
07/01/21 03:05:55 HMt1hfg+
UDPから情報を取得して表示させたく思い、fsockopenで変数に取り込んでるのですが
表示させると「Resource id #1」と表示されてしまいます
情報を表示させる方法はないでしょうか?
144:nobodyさん
07/01/22 08:07:10 gxeSGDG4
正規表現についてお願いします
$str = "URLリンク(www.google.com)エリミネーター タンク 外す&hl=ja&lr=&client=opera&rls=ja&start=50&sa=N";
という文章からpreg_replaceを用いて「エリミネーター タンク 外す」を$wordとして抜き出したいときは
$str = preg_replace('/q=.*?&/',"q=".$word."&",$str);
これでいいんでしょうか?
145:nobodyさん
07/01/22 14:51:17
>>143
あっちのスレでも言われているけど
マニュアル嫁
146:nobodyさん
07/01/23 05:52:03
preg_match("/\?q=(.*)&/", $str, $matches);
$word = $matches[1];
では?
147:nobodyさん
07/01/24 19:36:17
register_globals をオンにしたいのですが、方法は
php.ini の register_globals = Off を On に
書き換えてPCを再起動すればいいのでしょうか?
148:nobodyさん
07/01/24 20:55:14
>>147
まぁそれでも良いけど…
149:nobodyさん
07/01/24 21:43:08
>>147
PCの再起動でもいいけど、Apacheの再起動でOKだよ
150:nobodyさん
07/01/24 22:11:14
>>147
悪いことは言わないから、今はoffで勉強して、
いろいろなことが理解できてから、onにしてみることを
強くお勧めします。
151:nobodyさん
07/01/25 22:24:09 Ik6V9suO
<html>
<body>
<?php
$time = data(Y);
echo $time;
?>
</body>
</html>
というようにサーバーにアップロードしたんですがエラーになります。
どうしたらいいでしょうか?
152:nobodyさん
07/01/25 22:41:03
>>151
× data(Y)
○ date("Y")
153:nobodyさん
07/01/25 23:07:05 Ik6V9suO
ありがとうございます。
訂正したんですが、Fatal error: Call to undefined function: data() in /home/crom2580/public_html/test/test.php on line 5
こうなるんんですが・・・^^;
転送モードなどパーミッションは関係ありますか?
154:nobodyさん
07/01/25 23:15:14
>>153
だから、dataではなくてdate
最後は「e」だよ
155:nobodyさん
07/01/26 03:35:50
なんで名前の付け方にいちいちケチつけられないといけないんですか?ダメですか?
156:nobodyさん
07/01/26 04:58:03 umJam6Iu
a.txt
あいうえお(\n)
かきくけこ(\n)
さしすせそ(\n)
...
上記のような別ファイルの行数を読み込んで、printで表示させたいのですが、
どのような関数を使えば行数をカウントできるのでしょうか?
157:nobodyさん
07/01/26 04:59:27
関数data()を使いたいなら、まず定義しれ。
158:nobodyさん
07/01/26 10:21:11 Z+xlHRql
ありがとうございます^^
次はこのような文をつくったのですがエラーになってしまいます;;
<html>
<body>
<?php
$word = "さる";
if($word == "いぬ") {
$koe = "ワン!";
} else if($word == "ねこ") {
$koe = "ニャン!";
} else if($word == "さる") {
$koe = "ウッキー";
} else {
$koe = "・・・";
}
echo $koe;
?>
</body>
</html>
なにがいけないんでしょうか?
159:nobodyさん
07/01/26 10:27:30
もしかしてインデント(段下げ)を全角の空白で入力してない?
インデントはTabキーですよ。
160:nobodyさん
07/01/26 10:49:20 Z+xlHRql
空白でやってたよーです;;
インデントをいれるべきところはどこでしょうか?
おねがいしますm(__)m
161:nobodyさん
07/01/26 10:59:36
<html>
<body>
<?php
■$word = "さる";
■if($word == "いぬ") {
■■■$koe = "ワン!";
■} else if($word == "ねこ") {
■■■$koe = "ニャン!";
■} else if($word == "さる") {
■■■$koe = "ウッキー";
■} else {
■■■$koe = "・・・";
■}
■echo $koe;
?>
上記の(■で表示されている部分=空白)です。
空白を消して、インデントを挿入してください。。
162:nobodyさん
07/01/26 11:26:23
>>158
エラーの内容ぐらい書こうよ
Parse error: parse error, unexpected '@' 〜
なら>>159,161
163:nobodyさん
07/01/26 19:15:41 Z+xlHRql
ありがとうございますm(__)m
これからそうします・・・。
164:nobodyさん
07/01/27 12:09:25 bB8XjEV+
str_repalceを使って"ハゲ"というような文字を"(データ無し)"に置換できますが
その逆として、フォーム等から送られてきた"(データ無し)"を"ハゲ"に置換する方法はありますか?
> $hoge=str_replace("","ハゲ",$hoge);
等と書いてみましたが反応が無くて困りました。
165:nobodyさん
07/01/27 12:51:41
>>164
???
if ($hoge == "") $hoge = "ハゲ";
ということかな
166:nobodyさん
07/01/27 16:29:47
>>148 >>149 >>150
お返事遅れました。
ありがとうございます。参考にいたします。
167:nobodyさん
07/01/28 10:56:48
PHP6を使ってます。$_ENVの使い方がわかりません。つかってもARRAYとしか表示されませんでした。
168:nobodyさん
07/01/28 11:59:53 ZCKLGcFE
phpって何ができるの?
一応htmlとcssはできるんだけど、php使えるようになったら
掲示板とか作る以外に何ができるんでしょうか?
自分なりに調べたんですが、
たとえばメニューを左端に全ページにおいて
もしメニューに何かを追加したいと思ったらhtmlなら全ページ
自力で直さなきゃいけないところを、phpならひとつ直すだけで
全部に反映する。みたいなのがあったんですが。
他にもサイトつくりに便利なことできるんですか?
169:nobodyさん
07/01/28 13:15:49
これは便利だな
サーバサイドスクリプトでやってるんだろうな
ってのができるようになります
170:nobodyさん
07/01/28 13:40:32
phpはサーバサイドでは
171:nobodyさん
07/01/28 14:57:56
ある
172:nobodyさん
07/01/29 11:25:24
以下の質問内容をMySqlスレで質問したらこちらへ誘導されました、、。
如何でしょうか?解決方法をお教え頂ければと思いますm(_ _)m
>同一マシンで以下の感じで同時起動を行っています。
>格納ディレクトリはもちろん別々です。
>
>【Mysql4.0】
>--
>port=3306
>socket=/tmp/my4.0.sock
>--
>
>【Mysql4.1】
>--
>port=3307
>socket=/tmp/my4.1.sock
>--
>
>設定を確認すると別々に起動しています。
>しかし、php経由で接続を試みると、
>どうしても4.0の方にしか接続できません。
>分かった事は、何やら適当なポートで接続を試みてもすべて4.0に接続しているようです。
>
>これが原因だとは思うのですが、
>なぜport3306と指定しているのに3306以外でも接続できてしまうのでしょうか?
>どうすれば指定された別々のポートでそれぞれのMysqlに接続させることができるのでしょうか?
>
>どなたかこの解決策をご教授頂ければ嬉しいです!
173:nobodyさん
07/01/29 12:52:46
>>172
「接続を試みた」と言っていますが、
実際にどんなスクリプトで接続を試みたのか判らないと
回答のしようも無いと思いますよ。
174:nobodyさん
07/01/29 23:00:02
php.iniの設定はちゃんとしてるのか?
175:172
07/01/30 00:30:34
>>173
申し訳ないです。
PEAR::DBを利用して以下のように接続しました。
--
include_once 'DB.php';
$res = DB::connect('mysql://root:*****@localhost:3307/test');
var_dump($res);
--
上記で期待した動作は、Mysql4.1への接続です。
しかし、ルートのパスワードに対するエラーが返るばかりでした。
そこでMysql4.0のルートに設定してあるパスワードに変更してみるとMysql4.0へ接続できてしまいました。
それ以降、ポートを3308、3309と変更するとすべてMysql4.0へ接続できます。
176:172
07/01/30 00:31:54
>>174
と言いますと、どの辺りの項目になりますか?
見直してみます!
177:nobodyさん
07/02/01 22:05:46 Ak2sQwef
解らないので教えてください。
只今、PHP5.2をインストールし、<? phpinfo() ? > で
テストしたところ、IE、Operaでは正しく表示されましたが、
Firefoxでは<? phpinfo() ? > とそのまま表示されました。
なぜですか?わかる人おしえてください。
サーバーはアパッチ2.2です。
178:nobodyさん
07/02/01 22:46:52
質問です。
ちょっと限定的なのですが、プロバイダのWAKWAKでホームページスペースを借りて
そこにPHPファイルをアップしてみたのですが、PHPが実行されないです。
WAKWAKのホームページを調べてみたらPHPに関する情報が全くなかったのですが
これはPHPに対応していないということでFAでしょうか?
WAKWAK使いの方いましたらお願いします。
179:nobodyさん
07/02/02 08:49:55
URLリンク(www.wakwak.com)
これ?
ここならPHP使えない
もしかしたらPHPをCGI形式で実行できるかもしれないが、それは問い合わせてみた方がいい。
PHPをCGI形式で実行ってなに?という質問はしないように。
180:nobodyさん
07/02/02 15:25:02
レスありがとう。
そうですか。やっぱりですね。CGI形式ためしてみます。
181:nobodyさん
07/02/04 01:36:25
>>177
<?
phpinfo();
?>
でもやってみた?
182:nobodyさん
07/02/04 02:09:17
>>156
$data = 'a.txt'; //ファイル位置を指定
$file = fule($data); //ファイルを1行ずつ配列に読み込む
$count = count($file); //配列の数をカウント
echo $count; //行数の出力
183:nobodyさん
07/02/10 21:29:22
質問です!!
ユーザー定義関数とinclude(&require)の違いって何ですか?
ユーザ定義関数は使用後関数内の変数は初期化され、
includeは初期化されずに以降も使われる
ぐらいの違いしかわかりません。
速度の違い何かがあるのでしょうか。
馬鹿な質問だと思いますがよろしくお願いします!!
184:nobodyさん
07/02/10 23:36:18
>>183
用途が違う、というか、あなたの考えかたからして間違ってる
ユーザ定義関数はその名の通り「ユーザが定義した関数」
include(require等も同等)は「他のファイルを読み込むために使う制御構造」
基本的に全く別の概念のもの。混同しないように。
>ユーザ定義関数は使用後関数内の変数は初期化され、
>includeは初期化されずに以降も使われる
任意の関数内でincludeを使用して別のスクリプトを読み込めば
(読み込んだスクリプトの)変数のスコープはその関数内のみとなるし、
includeでユーザ定義関数だけを読み込むこともできる(もちろん
この読み込んだ関数内の変数のスコープはその関数内だけで、
includeの外からは見えない)。
>ぐらいの違いしかわかりません。
そもそも基本的な事から間違っているから、分かっていないんだと思う。
185:nobodyさん
07/02/11 11:14:10
>>184
ありがとうございます。別の概念ということですね。
元のphp文で参照できるかできないかもですかね。
でもやっぱりよくわかりません。(別の概念ということは
わかっても本質的な違いが分からないです)
自分の考えではある値AをA'にするユーザ定義関数&別ファイルのphp文と
読み込むincludeを
ユーザー定義関数関数 = ■
include(require) = ロ
とすると
A→■→A'
A→ロ→A'
のようになりますがこの二つの違いが変数の処理の違い以外わかりません。
よく自分の書いた文章を読むと質問の仕方が悪かったのではと思います。
「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて
それをinclude文で処理することの本質的な違いが分かりませんでした。」
自分が理解していないのだとは思いますが、このまま理解せずにやってくのも
アレだと思うので、違いが書いてあるサイトをリンクしていただけるだけでも良いので
教えてください。
186:nobodyさん
07/02/11 12:52:18
>>185
>A→■→A'
>A→ロ→A'
>のようになりますがこの二つの違いが変数の処理の違い以外わかりません。
↓こういう事かな?(コードは未検証)
---a.php---
<?php
$c1=$a1+$b1;
---test.php---
<?php
function sub1() {
global $a2, $b2, $c2;
$c2=$a2+$b2;
}
$a1=1;
$a2=1;
$b1=2;
$b2=2;
sub1(); // $c1の処理
include 'a.php'; // $c2の処理
echo "\$c1={$c1} \$c2={$c2}";
// $c1=3 $c2=3
a.phpとsub1()は同じ処理だが、関数外で処理(何て言うのか失念)しているか、
関数で処理しているか、の違い。
187:nobodyさん
07/02/11 12:54:13
(´-`).。oO("$c1の処理"と"$c2の処理"が逆だ・・・)
(続き)
そもそもinclude文というのは、includeで読み込まれるファイルの内容を、
include文そのものと置き換える(もう少し厳密に言えば、include文を
"?>読まれるファイルの内容<?php"に置き換える)処理をしているに
過ぎないので(でも本当はちょっと違う。returnで抜けられる等)、
読み込むファイルの内容を一旦ペーストして考えてみては?
>「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて
>それをinclude文で処理することの本質的な違いが分かりませんでした。」
個人的には、複数のphpスクリプト内で同じ処理を行う
(同じ処理のスクリプトが存在する)場合、その関数を
別ファイルにしてincludeで読み込み、複数のファイル間で
共用する、というパターンがほとんど。
人によってはある程度の処理単位で(関数以外も含んでいる)
スクリプトに分割して、それを大元のスクリプトで場合分けして
読み込んで処理、なんて人もいるかも知れない。
この辺は個人の好みのような気がする。
なお速度的にはファイル処理をする関係上悪化してしまう。
参考になりそうなサイト等についてはちょっと分かりません。
個人的には公式マニュアルしか参考にしていないので・・・。
188:nobodyさん
07/02/11 19:14:50
>>186,187
ありがとうございます。>>186そうです
そういった時に結局やってることは同じじゃないかと思ったわけです。
説明を読むと理解できました。
例えば漢字交じりの文、
「いい天気です。」
があったとすると
includeは
外部ファイル「天気」→「てんき」
いい天気です。 →いいてんきです。 → 実行
でユーザー定義関数は
「天気」→「てんき」と設定
いい天気です → 実行
というように違うということですね。(例えが悪くてすみません)
今までは複数回使う部分(関数)を何でも外部ファイルにして
使ってました。でも>>187の後半部分の方がスマートですね。
なんにしろいろいろとありがとうございました。精進します。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5366日前に更新/125 KB
担当:undef