[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 18:07 / Filesize : 79 KB / Number-of Response : 321
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 46



1 名前:nobodyさん mailto:sage [2007/05/12(土) 16:43:57 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
pc11.2ch.net/test/read.cgi/php/1177635762/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

139 名前:虚弱PHP mailto:sage [2007/05/14(月) 13:56:21 ID:???]
>>134
質問は↓でいいのかな?
> C言語だといきなり今まで使用していない変数(値も代入されていない)を使うとエラーになるんですが。。
> PHPでは、エラーもなく通るんですか?

そういうもんです。
スクリプト系の言語ではわりと普通のことだと思います。
NOTICEも表示するようにしとけば、NOTICEは起きると思いますよ。

140 名前:nobodyさん [2007/05/14(月) 14:14:35 ID:5a5f7yKw]
>>97
>>91じゃ閏年に対応できなくね?date関数使えば?

141 名前:nobodyさん mailto:sage [2007/05/14(月) 14:33:07 ID:???]
E_ALLなら宣言してない変数使うとエラー出なかったっけか?

142 名前:nobodyさん mailto:sage [2007/05/14(月) 14:38:16 ID:???]
foreachのなかで if ( isset( $value['table']))
というif文があるんですが、$valueが'flg'という文字列でも上記のif文がtrueになるのはなぜですか?

$ret[] = $value['table'] . '.' . $key;
という文がそのif文の中にはあるんですが、この部分の返り値が"f.hoge"となってます。



143 名前:142 [2007/05/14(月) 14:44:08 ID:L2qcEQSy]
PHPのバージョンは 5.1.6です

あと、たまに同じ値を比べてもFALSEな時があるんですが、
それもforeachブロック内です。
===で比べないとTRUEになりません。

なんかあるんでしょうか。



144 名前:nobodyさん mailto:sage [2007/05/14(月) 14:51:14 ID:???]
>>134
代入する場合は存在していなくても問題ない。
参照する場合は存在していないとNOTICEエラーが発生する。
(Undefined〜系、エラーレベルE_ALLじゃないと出ない。値的にはnullが返る。

それはそうとその通りだと$_GETは常にセットされてるし、配列なんだけど写しミス?

>>142
文字列型も配列型のように角括弧でバイト単位でアクセス出来る為。
ただしオフセットは数字以外は[0]と見なされて1byte目を参照することになる。
そのfはflgの先頭文字。

145 名前:nobodyさん mailto:sage [2007/05/14(月) 15:16:58 ID:???]
youtubeって会員登録無料でしょうか?


146 名前:nobodyさん mailto:sage [2007/05/14(月) 15:21:02 ID:???]
有料です。
登録しないで視聴した場合、それなりの料金はIPから調査されてちゃんと後日請求されます

147 名前:nobodyさん [2007/05/14(月) 16:09:05 ID:k9XxZtyZ]
static変数やメソッドというものは、
どういうケースで使うのでしょうか?
カウンターでカウントするときに使用するぐらいはわかるのですが、
ブロック内が終わっても値を保持し続けるといっても、
具体的にどういうケースで使えばいいのかいまいち理解できません。
どういう所で使うのか、具体的なケースをいくつかあげていただけませんでしょうか?



148 名前:nobodyさん mailto:sage [2007/05/14(月) 16:16:40 ID:???]
なんで貴様のために具体的なケースを、しかもいくつもあげ(ry

149 名前:nobodyさん mailto:sage [2007/05/14(月) 16:17:37 ID:???]
しかもカウントする処理でわざわざつかうなよw

150 名前:nobodyさん mailto:sage [2007/05/14(月) 16:20:00 ID:???]
>>147
思いつかなければ、別に使う必要はない
具体的な例を挙げるほど頻繁に使うことはない



151 名前:nobodyさん mailto:sage [2007/05/14(月) 16:21:49 ID:???]
>>147
貴様に教えられることはマニュアルを極めてから出直して来い

152 名前:nobodyさん [2007/05/14(月) 16:35:11 ID:k9XxZtyZ]
>>150
そうですか。
いくつか例をあげていただければ、共通項が見出せると思ったのですが、
頻繁に使うことはないとのことなので気にしないことにします。

153 名前:nobodyさん mailto:sage [2007/05/14(月) 16:45:23 ID:???]
良く使うのはstaticなインスタンスを作成するときぐらいかな。
他は特に使わないと困るって所があまり無い気がする。

154 名前:nobodyさん mailto:sage [2007/05/14(月) 16:47:02 ID:???]
ここは新しいことを覚えるというより、わからないことを教えてもらうスレだろ
楽して勉強しようとするな

155 名前:nobodyさん mailto:sage [2007/05/14(月) 16:48:14 ID:???]
新しいことを覚えるのも楽しいよ。

156 名前:nobodyさん mailto:sage [2007/05/14(月) 16:58:26 ID:???]
>>154
そういう俺ルールを作るなボケ。
くだらねぇ質問ならなんでもいいんだよカス。
ていうかこの時間の回答者は煽ることしかできない低レベルな馬鹿ばっかりだな。
俺も含めて。

157 名前:nobodyさん mailto:sage [2007/05/14(月) 17:00:26 ID:???]
俺はまじめに答えたぞ



158 名前:nobodyさん mailto:sage [2007/05/14(月) 17:08:22 ID:???]
おれもまじめに質問したぜ!

159 名前:nobodyさん [2007/05/14(月) 17:09:21 ID:byqD8Lza]
メンバ変数にfinal修飾子を使えないようですが、
定数を定義するときは、constを使えばいいのでしょうか?

// メソッドのみにしか使えないとエラー
public static final $CONSTANT = "CONSTANT";

// これでいいのかな?
const CONSTANT = "CONSTANT";

160 名前:nobodyさん mailto:sage [2007/05/14(月) 17:31:51 ID:???]
>>159
マヌアルくらい嫁

161 名前:nobodyさん [2007/05/14(月) 17:34:13 ID:Gq/W6/hf]
hogeというディレクトリの中にhoge2というディレクトリと、main.phpというPHPファイルがあるとします。
hoge2の中には、inc.phpというファイルがあり、
main.phpから、inc.phpを呼び出しています。
そこで、main.phpから、inc.phpが置かれている、「hoge2」という値を取得したいんですが、どうしたらいいんでしょうか?
よろしくおねがいします。

162 名前:161 [2007/05/14(月) 17:36:08 ID:Gq/W6/hf]
すいません、逆でした。
上の書き込みの、3行目、
X main.phpから、inc.phpを呼び出しています。
O inc.phpからmain.phpを呼び出しています。
ファイル名が逆のままですが、よろしくです。

163 名前:nobodyさん mailto:sage [2007/05/14(月) 17:42:51 ID:???]
dirname

164 名前:nobodyさん [2007/05/14(月) 17:50:21 ID:Gq/W6/hf]
>>163
どうもありがとうございます。
/php/hoge2 って感じで出力されるんですが、hoge2だけ(自分のいるディレクトリ名だけ)を取得したい場合の関数ってあります?
それとも、これを正規表現なりでいじって取るしかないんでしょうか。
何度もすいません。よろしくおねがいします。

165 名前:nobodyさん mailto:sage [2007/05/14(月) 17:53:23 ID:???]
>>164
list(,,$dir) = split('/',"/php/hoge2");

166 名前:nobodyさん [2007/05/14(月) 18:01:29 ID:xEs1nUuB]
正規表現道場
pc11.2ch.net/test/read.cgi/php/1168450843/86-

でpreg_replaceに関して質問していましたが話題が正規表現からズレてきましたので
こちらで質問させてください。
----------------------------------------------------------
90 :86:2007/05/14(月) 15:45:03 ID:???
後方置換する時に関数かましたくマニュアル眺めてたら「e修飾子」をみつけたのですが
>>87の「S修飾子」と同時に使おうと
$pattern = "/(.*?)<html_start>(.*)<html_end>(.*?)/se";
$replacement = "'\\2''\\1''\\3'";

こんなコードを書いてみた所
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Failed evaluating code:
といった感じで怒られます
修飾子2個は同時に使えないのでしょうか…?
----------------------------------------------------------

以上ですがまとめますと
「preg_replaceの修飾子を2個指定したい(eとs)時の正しい書式」
を教えてくださいまし。

167 名前:nobodyさん mailto:sage [2007/05/14(月) 18:03:15 ID:???]
おれがこたえてやるからあと20分まってくれ



168 名前:nobodyさん [2007/05/14(月) 18:03:16 ID:byqD8Lza]
>>160
わからないなら答えなくていいですよ。
やはりPHPはユーザレベルも低いですね。
失望しました。

169 名前:nobodyさん mailto:sage [2007/05/14(月) 18:04:09 ID:???]
>>168

くだらない質問でもど偉そうに聞いていいスレ
pc11.2ch.net/test/read.cgi/php/1158647441/

170 名前:nobodyさん [2007/05/14(月) 18:05:03 ID:Gq/W6/hf]
>>165
ありがとうございます。解決しました!

ところで、もう1個疑問があるのですが、
a.phpでdefine("OUT", "out.html")と定義して、./hoge/b.phpをrequireで呼び出したとき、
b.phpでOUTに出力すると、b.phpのディレクトリにファイルができるのか、a.phpにファイルができるのか、よくわかりません。

今自分で、試してみると、a.phpのディレクトリに出力されたんですけど、
b.phpのディレクトリ上でout.htmlとして書き込んでいるのに、なぜ、a.phpのディレクトリにできちゃうんでしょうか?
requireの挙動がよく理解できない・・・。

171 名前:nobodyさん [2007/05/14(月) 18:08:37 ID:byqD8Lza]
>>169
まさに私にぴったりですね。
でも過疎ってるので遠慮しときます。

本当に>>160みたいな害虫は死ねばいいのに。
答えられないけど何かいいたいやつの決まり文句は、
「マニュアル見れ」だよね。

172 名前:nobodyさん mailto:sage [2007/05/14(月) 18:15:15 ID:???]
質問です。
GD2で、tiff画像を読み込みたいのですが、マニュアルにimagecreatefromtiffが見当たりません。
何かほかに方法はありますが?

173 名前:nobodyさん mailto:sage [2007/05/14(月) 18:16:17 ID:???]
>>172
OSぐらいかけよ・・・

174 名前:nobodyさん mailto:sage [2007/05/14(月) 18:16:51 ID:???]
>>171
スレ違い

175 名前:172 [2007/05/14(月) 18:17:51 ID:N76OGPmp]
すみません。
IDが出てませんでした。

ちなみに、海外サイトで次のような例があったのですが、動きませんでした。
$bild="einbildeben.tif";
Header("content-type: image/tiff");
$im = @readfile($bild);
return $im;

176 名前:nobodyさん [2007/05/14(月) 18:20:45 ID:N76OGPmp]
>173
たびたびすみません。入れ違いでした。
環境は、OSX+MAMPで、PHPは5.16です。



177 名前:nobodyさん mailto:sage [2007/05/14(月) 18:26:00 ID:???]
gd関係ないやん



178 名前:nobodyさん [2007/05/14(月) 18:30:57 ID:Gq/W6/hf]
>>170をおねがいします。。

179 名前:nobodyさん mailto:sage [2007/05/14(月) 18:34:06 ID:???]
>>166
$replacement が間違っていないか?

$replacement = "'\\2' . '\\1' . '\\3'";
じゃないの

180 名前:166 mailto:sage [2007/05/14(月) 18:40:16 ID:???]
>>179
仰せの通り、
$replacement = "'\\2'.nl2br('\\1').'\\3'";
で通りました!
nl2brで囲んだ\\1がクオートで囲まれていなかったのが原因、というオチでした。
(・∀・)アリガd

181 名前:nobodyさん mailto:sage [2007/05/14(月) 18:50:11 ID:???]
>>178
もう少し落ち着け

// b.php
function b_write() {
// ファイル書き込む処理
}

// a.php
require('b.php');
define("OUT", "out.html");
b_write(OUT);

で、a.php のスクリプトをブラウザから動かしたってこと?

out.html は相対パス指定になっているから
スクリプトの実行されているカレントディレクトリを基本にして
パスを生成するのだから、当然
a.php があるディレクトリ + out.html という風に解釈
される
もしこうなら require の問題ではないぞ

182 名前:nobodyさん mailto:sage [2007/05/14(月) 18:52:58 ID:???]
>>140
コード読めないのかお前?

183 名前:nobodyさん mailto:sage [2007/05/14(月) 18:54:45 ID:???]
>>170
requireは対象を実行させるわけじゃなく、対象を自分に組み込んで実行するから。

>>171
160じゃないがそのレベルじゃ解らないも何も無いだろ…。
オブジェクト定数の項に書いてあるし、
何より自分で答え書いてるんだから試せば終わりだし…。
ああ…釣りですか。

184 名前:nobodyさん mailto:sage [2007/05/14(月) 19:56:37 ID:???]
echo urldecode('test.php?hoge&hoge2');

とやると、hoge2が消えるのは仕様でつか?

185 名前:nobodyさん mailto:sage [2007/05/14(月) 19:59:57 ID:???]
ごめんなさいでつ。ブラウザの表示の問題でつた

186 名前:nobodyさん mailto:sage [2007/05/14(月) 20:25:56 ID:???]
よかったw

187 名前:nobodyさん [2007/05/14(月) 20:37:25 ID:/zb+oLLW]
" と ' の使い分けって、みなさんどんな規則作ってやってますか?



188 名前:nobodyさん mailto:sage [2007/05/14(月) 20:43:07 ID:???]
>>187
変数展開が必要かどうかと中身に ' か " を含むかどうか。
どっちでもいい場合は、将来的に変数展開を追加する可能性があるかどうか。
もっぱら、配列キーの場合は ' で、それ以外は " にすることが多い。

189 名前:nobodyさん mailto:sage [2007/05/14(月) 20:53:43 ID:???]
>>187
基本的にJava風に、1文字の場合はシングル。それ以外はダブル。

190 名前:nobodyさん mailto:sage [2007/05/14(月) 21:32:30 ID:???]
意味が違うから基本的にシングル。'もエスケープ。

191 名前:nobodyさん mailto:sage [2007/05/14(月) 21:40:43 ID:???]
同じく。ダブルを使うときって、まずない。

192 名前:nobodyさん mailto:sage [2007/05/14(月) 21:41:33 ID:???]
あ、"\n"とかね、そういうときぐらいは使うか。

193 名前:nobodyさん mailto:sage [2007/05/14(月) 21:56:56 ID:???]
"で統一してる
変数の中身を表示したいときだけ→'

194 名前:nobodyさん mailto:sage [2007/05/14(月) 21:59:31 ID:???]
エスケープするときだけ"\"で、他は''だと統一性があまりないよね。
かといって''."\".''とかだと余計おかしいし。
ということで、最近は全部""でやってる。

195 名前:nobodyさん [2007/05/14(月) 22:05:26 ID:dsmo737w]
<?
echo "";
?>

とすると、ソースで

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>

と表示されるんだけど
これを消す関数のようなものありませんでしたっけ?

196 名前:nobodyさん mailto:sage [2007/05/14(月) 22:13:26 ID:???]
>>194
>エスケープするときだけ"\"で、他は''だと統一性があまりないよね。
統一性はあるだろ。統一性というのが変なら規則性はあるだろ。

197 名前:nobodyさん mailto:sage [2007/05/14(月) 22:20:21 ID:???]
>>195
それはブラウザが勝手に表示してるだけ。
ブラウザによってソースが違うから気にする事はない。



198 名前:nobodyさん [2007/05/14(月) 22:23:59 ID:dsmo737w]
>>197
サンクス!

199 名前:nobodyさん mailto:sage [2007/05/14(月) 22:26:38 ID:???]
ノ     ∧     /) ∧
  彡  ノW \从/V  W \   ミ
  (  ノ        |      ノ \)
  ∩V      、、 |       >V7
  (eLL/ ̄ ̄\/  L/ ̄ ̄\┘/3)
  (┗(      )⌒(      )┛/
   ~| \__/ |  \__/ |~     / ̄ ̄ ̄ ̄ ̄ ̄
    爻     < |  ;     爻    < 君たち、どんどん質問をぶつけてくれたまえ23時までなら私がすべてに答えてしんぜよう
    ~爻     \_/  _, 爻~     \______
     ~爻__/⌒ ̄ ̄ ̄~~ヽ_ 爻~
     /    ー ̄ ̄\_ ̄\
  _一‘     < ̄ ̄\\\J
<\       ー ̄ ̄ヽ_ヽJ   ̄\_
  \     _ニニニヽ )       ~\
   \  _/⌒|\ ヽ_~~ ~⌒\_
  __/~    V \_|     ~\_



200 名前:nobodyさん [2007/05/14(月) 22:28:31 ID:dsmo737w]
>>199
PEAR使ったことないんだけどどうやって使うの?

201 名前:nobodyさん mailto:sage [2007/05/14(月) 22:28:47 ID:???]
>>199
ジュワワワジュワワ、
ジュワジュワジュジュワワワワワ?

202 名前:nobodyさん [2007/05/14(月) 22:36:27 ID:tsqMY0Kq]
for文の中でif文を書きまして、if文の処理でtrueだったらforを抜け出したいのですが、
if文にbreakを書いても抜け出せませんでした。
breakでは抜け出せないのでしょうか?
どなたかご教授お願いいたします。

for ($i=0; $i<5; $i++) {

if ($i == 3) {
$nissuu = $i;
break;

}

}

203 名前:nobodyさん mailto:sage [2007/05/14(月) 22:36:28 ID:???]
>>199
質問:

>てしんぜよう
>    ~爻

ここのところに字が食い込んで痛くないですか?

204 名前:nobodyさん mailto:sage [2007/05/14(月) 22:38:44 ID:???]
>>200
それはむずかしい質問だ。pearは楽をするために使うものである。

>>201
    /    ||    :ヽ
   ┌|(⌒ヽ :|| ..:⌒: |┐   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |::|::ヽ.__:):||(___ノ ::|::|  │ 
    |:|: ..   :||    .. |:|  │ 
    :|: ..   ||    ..|| <  日本語でおk 
     :\ [_ ̄] /::|   │ 
::     |\|_|_|_|_/:::|    \________
   __| |   / / :|___

205 名前:nobodyさん mailto:sage [2007/05/14(月) 22:44:07 ID:???]
>>202
別の問題では?

$nissuu = 0;
for ($i=0; $i<5; $i++) {
 if ($i == 3) {
  $nissuu = $i;
  break;
 }
}
print_r($nissuu); // 3

206 名前:nobodyさん mailto:sage [2007/05/14(月) 22:44:42 ID:???]
>>202
ちゃんと抜ける
というか、そのスクリプト動かしてみた?

207 名前:nobodyさん [2007/05/14(月) 23:14:34 ID:tsqMY0Kq]
すいません、2ちゃんに書き写したら動きましたw



208 名前:nobodyさん mailto:sage [2007/05/14(月) 23:36:25 ID:???]
ないない

209 名前:nobodyさん [2007/05/14(月) 23:48:47 ID:dsmo737w]
class x{

function a(){
echo "a";
}

function b(){
$this->a();
}

}

x::b();

こうすると
Using $this when not in object context
というエラーが返ってきました。

b()からa()を呼び出すのはどうすれば良いのでしょうか?

210 名前:nobodyさん mailto:sage [2007/05/14(月) 23:53:26 ID:???]
publicつかえ

211 名前:nobodyさん [2007/05/14(月) 23:55:11 ID:dsmo737w]
publicを使っても同じでした

$obj = new x();
$obj->b();

で解決しました

212 名前:nobodyさん mailto:sage [2007/05/15(火) 00:14:53 ID:???]
インスタンス作れ、が正解

213 名前:nobodyさん mailto:sage [2007/05/15(火) 00:15:31 ID:???]
>>211
a()メソッドにpublicつけてだめだったの?

214 名前:nobodyさん mailto:sage [2007/05/15(火) 00:23:05 ID:???]
>>210,213
恥晒しだからやめてくれ。

public function b(){
self::a();
}

215 名前:nobodyさん mailto:sage [2007/05/15(火) 00:25:49 ID:???]
なんだかねw

216 名前:nobodyさん [2007/05/15(火) 00:28:01 ID:b/094Ijk]
.htaccessについての質問なんですが、

Order deny,allow
Deny from All

と記述しているのに、アクセスできてしまいます。

httpd.confも

AccessFileName .htaccess

と指定しています。

なぜでしょう?

217 名前:nobodyさん [2007/05/15(火) 00:33:53 ID:zmGOBMea]
配列が空かどうかチェックする関数とか制御文てある?
empty($array)でいい?



218 名前:nobodyさん mailto:sage [2007/05/15(火) 00:41:34 ID:???]
うん

219 名前:nobodyさん mailto:sage [2007/05/15(火) 00:45:38 ID:???]
>>217
それだと$arrayが0や""や"0"やNULLの場合も真が返る。
$arrayが空の配列の時のみ真にしたいなら
$array === array()

220 名前:nobodyさん [2007/05/15(火) 00:46:41 ID:zmGOBMea]
>>218
>>219
さすが下すれですね。どうもです。

221 名前:nobodyさん mailto:sage [2007/05/15(火) 00:51:05 ID:???]
>$arrayが0や""や"0"やNULLの場合
これもPHP的に空であるのでemptyが正解

222 名前:nobodyさん mailto:sage [2007/05/15(火) 00:54:17 ID:???]
( ´_ゝ`)

223 名前:nobodyさん mailto:sage [2007/05/15(火) 01:05:17 ID:???]
>>216
http.confのディレクトリセクションのAllowoverrideディレクティブにLimitキーワードが指定されてるかどうか
確かめなさい。しかし、スレ違いだから返事はよろしい。


224 名前:nobodyさん mailto:sage [2007/05/15(火) 01:06:52 ID:???]
>>219
正直勉強になった

225 名前:nobodyさん mailto:sage [2007/05/15(火) 01:16:58 ID:???]
基礎ですよ^^;

226 名前:187 [2007/05/15(火) 01:27:16 ID:VFvSiaRR]
多くの方の意見を聞けて参考になりました
ありがとうございます

227 名前:nobodyさん mailto:sage [2007/05/15(火) 08:22:03 ID:???]
    ____?
   ?/∵∴∵∴\?
  ?/∵∴∵∴∵∴\?
  /∵∴∴,(・)(・)∴|?
  |∵∵/  ?○ \|?
  |∵?/  三 | 三 |  / ̄ ̄ ̄ ̄ ̄?
  |∵?|   __|__? | < てめえらさっさと起きろ!!?
  ?\|   \_/ /  \_____?
 ? ? ?\____/?




228 名前:nobodyさん [2007/05/15(火) 10:09:00 ID:7hthTDm5]
>>181
すいません、もう少し詳しく書きます。

アクセスしたファイル:index.php
index.php内でファイル名などを設定している。
(define("OUT", "out.html");)
index.phpが上のディレクトリにある、main.phpを呼び出す(require("../main.php");)。
main.phpから、同じディレクトリにあるwrite.phpを呼び出す。
main.phpから、write.phpにある、書き込み処理の関数を実行する。 write_hoge();

そうすると、index.phpがあるディレクトリにファイルができあがるんですが、
write.phpで、書き込み処理を行ってるので、write.phpがあるディレクトリにできあがると予想したんですが、
なぜ、こうなったんでしょうか?

write.phpにとってOUTとは、自分のディレクトリのout.htmlになりますよね?
それとも、書き込み処理をするファイルの位置は関係なく、定義したファイルの位置からのOUTと解釈されるんでしょうか?


229 名前:nobodyさん mailto:sage [2007/05/15(火) 10:39:30 ID:???]
>>228
requireやincludeは指定したファイルの内容を
埋め込むものと考えればいい

その場合main.phpやwreite.phpの内容は
index.phpに「埋め込まれる」ので
OUTに書き込む場合の相対パスは
main.phpやwreite.phpのパスに影響されない

230 名前:nobodyさん [2007/05/15(火) 10:48:11 ID:8bGiD1y7]
該当するスレッドが見あたらないため、こちらで質問することをお許しを。

WinにXAMPPをインストールしようと思っておりますが、
常時ネットにも接続するためセキュリティーが不安です。

標準のProgram Files\XAMPP か
C:XAMPP か
それとも他のドライブに入れた方が良いのですかね?

ファイアウォールと.htaccessで拒否すれば、そこまで深く考える必要はないのでしょうか?
みなさん、どうしてますか?

231 名前:nobodyさん [2007/05/15(火) 10:57:53 ID:sdtp9zq7]
require/include/loadされて実行中のファイル位置を確保する
定数があればいいんだけどね。残念ながらない。

232 名前:nobodyさん mailto:sage [2007/05/15(火) 11:05:21 ID:???]
>>230
ポート開放してなかったら問題なくね?

233 名前:nobodyさん mailto:sage [2007/05/15(火) 11:10:09 ID:???]
>>229
わかりやすい解説ありがとうございました。

234 名前:nobodyさん mailto:sage [2007/05/15(火) 11:32:57 ID:???]
DBからプライマリキーでselectするとき、
limit 0,1付けた方がいいですかね?
暗黙的に1つに限定されているから、パースのコストの方が高くつく?

235 名前:nobodyさん mailto:sage [2007/05/15(火) 11:38:12 ID:???]
どちらも非常に微々たるもの
気にするな

236 名前:nobodyさん [2007/05/15(火) 11:53:31 ID:b/094Ijk]
data.logというファイルがあり


[1] 適当なデータ
[2] わかんない><;
[3] 123456789
[4] ABCDEFG
[5] こんにちは
[6] example.com
[7] Hoge Hoge
[8] Hello world

こういうデータで、
特定の行のみ削除する方法はないでしょうか?

一度、fileで展開してその行を削除し、書き換えるようなやり方ではなく、
行を削除するだけというのはできませんか?

237 名前:nobodyさん mailto:sage [2007/05/15(火) 11:55:33 ID:???]
>>236
出来なかったと思う。



238 名前:nobodyさん [2007/05/15(火) 11:57:19 ID:b/094Ijk]
>>237
サンクス

239 名前:nobodyさん mailto:sage [2007/05/15(火) 11:57:29 ID:???]
>>236
行の幅が固定長ならできるんだがな。
あとはfseekとかで、書き換える行以降のみを変更するってことならできなくもなさそうだ。

240 名前:nobodyさん mailto:sage [2007/05/15(火) 12:30:07 ID:???]
fileでいいじゃん。
富豪プログラミングしようぜ。

241 名前:nobodyさん mailto:sage [2007/05/15(火) 12:33:44 ID:???]
データベースを覚えるともう手放せません
プログラムがすごく簡単になりました
>>236とかdelete一発です

242 名前:nobodyさん [2007/05/15(火) 12:36:05 ID:i5vBSj25]
むやみにDELETEするのはどうかとおもうがな
コスト的にもね

243 名前:nobodyさん mailto:sage [2007/05/15(火) 12:36:24 ID:???]
sage忘れた

244 名前:nobodyさん mailto:sage [2007/05/15(火) 12:37:47 ID:???]
消したい時にdeleteしないで何するんだよ

245 名前:nobodyさん mailto:sage [2007/05/15(火) 12:44:13 ID:???]
DELETE以前に、フラグで処理するかどうか考えるもんだ普通は

246 名前:nobodyさん mailto:sage [2007/05/15(火) 12:45:11 ID:???]
状態カラムでもつけて削除済みのフラグを立てておく。

247 名前:nobodyさん mailto:sage [2007/05/15(火) 13:00:36 ID:???]
>>244

>>245-246が言いたい事言ってくれてるよ。
DELETEをする事によって起こるコストとバグあった時の危険度を考えると
DELETEをむやみに流すってのはどうかと思うんだ



248 名前:nobodyさん [2007/05/15(火) 14:08:20 ID:b/094Ijk]
class&function管理したいのですが、
皆どんなソフトでやってます?

classとfunction増えすぎてファイルがわけわかんなくなってきたwww

249 名前:nobodyさん mailto:sage [2007/05/15(火) 14:23:21 ID:???]
普段はEclipseだけど、客観化するにはphpdocでdocument作るよ

250 名前:nobodyさん [2007/05/15(火) 14:25:33 ID:b/094Ijk]
>>249
サンクス

とりあえずPHPエディタをダウソしてみたところ、
クラスやfunctionが管理できそうなので、
これを使ってみようと思います。
(各クラス、functionにコメントをつけることができればベストなんですが・・・)

251 名前:nobodyさん mailto:sage [2007/05/15(火) 14:26:43 ID:???]
俺はIDEの類は使わずにとことんやってるぜい。
そうすると、わかんなくならないようにするために、設計に力が入るようになる。

252 名前:nobodyさん mailto:sage [2007/05/15(火) 14:55:09 ID:???]
>>248
クラス図でも描いておけば

253 名前:nobodyさん [2007/05/15(火) 14:58:04 ID:b/094Ijk]
>>252
とりあえず

class XXX {
/****************

説明

****************/

}

こんな感じでは書いてる

エディタの左にクラスとメソッドがツリー式に表示されてるんだが、
それにカーソル合わせると、その説明が出るとかだとうれしいなwwww

254 名前:nobodyさん mailto:sage [2007/05/15(火) 15:12:55 ID:???]
>>248
ctags使えばエディタによっては一発ジャンプしてくれる

255 名前:虚弱PHP mailto:sage [2007/05/15(火) 16:03:06 ID:???]
>>253
アウトラインの見出し定義を編集できるようなエディタなら、
似たようなことは出来るよ。

256 名前:nobodyさん [2007/05/15(火) 16:17:09 ID:7hthTDm5]
magic_quot_gpc以外で自動的にエスケープする設定ってありますか?
何もしてないのに、<や>がエスケープされる・・・。なぜ?

257 名前:nobodyさん mailto:sage [2007/05/15(火) 16:22:05 ID:???]
<>とマジック・クオートは全然関係ないだろ。勘違い



258 名前:nobodyさん [2007/05/15(火) 16:37:28 ID:6TG+QTaB]
eregi()を使ってフォームで入力された単語の中で半角記号がある場合
はじくスクリプトを書いてるのですが$をはじく
if(eregi("$",$keyword)){
return false;
}else{
return true;
}
と\をはじく
if(eregi("\\",$keyword)){
return false;
}else{
return true;
}
だけが正しく機能してくれません。

正規表現などでググったのですが、これらを認識させる方法を
明記されてるところが無くほとほと困ってます。

osはfreeBSD、phpのバージョンは4.4.6です(レンタルサーバ)

259 名前:nobodyさん mailto:sage [2007/05/15(火) 16:53:49 ID:???]
>>258
マルチすんじゃねえボケ。あっちで答えたから見ておけ

260 名前:nobodyさん mailto:sage [2007/05/15(火) 16:54:35 ID:???]
$はエスケープしろ。
エスケープ特殊文字であるバックスラッシュは、エスケープのエスケープしろ。
\\\\じゃないとなぜ駄目なのかを考えてみよう。

なお「半角文字」なんていう言葉は変だから使うの辞めようね。

261 名前:nobodyさん mailto:sage [2007/05/15(火) 16:58:51 ID:???]
>>259
別にマルチじゃねーだろが。ぼけ。こっちが本スレだから書き直しただけだろ。

262 名前:nobodyさん mailto:sage [2007/05/15(火) 17:01:05 ID:???]
>>261
向こうに書いてこっちに書き直すなら
向こうにそう言ってからこっちに書かないとマルチ

263 名前:258 [2007/05/15(火) 17:22:25 ID:6TG+QTaB]
すいません、一度このスレに書いた後でレスが反映されなかったので
落ちてるのかと思い、再度「php 質問」で2ch内検索しなおして出てきた
あちらのスレに書きなおしたつもりだったのですがマルチになってたようですね。

ちなみに>>261は赤の他人です、気分を悪くする流れにしてしまい申し訳ありませんでした。

>>260 \$で試してみたところ、やはりうまくいきませんでした。
ちなみに、$が入っていようが無かろうが
if(eregi("\$",$keyword)){
return false;
}
のところで必ず引っかかりfalseを返してしまうようです。


264 名前:nobodyさん mailto:sage [2007/05/15(火) 17:23:27 ID:???]
>>263
\\を\\\\にしないといけないってことは
\$なら\\$にしないといけないよね

265 名前:nobodyさん mailto:sage [2007/05/15(火) 17:26:27 ID:???]
if(eregi("\\$",$keyword)){
return false;
}

メタ文字エスケープする時に\$とか\\とかじゃだめだってばさ。

266 名前:nobodyさん mailto:sage [2007/05/15(火) 17:31:26 ID:???]
いろいろ試してみたり \\\\ について理解を深めるのは良いことだと思うんだけど
要件的に正規表現を使わなくてもよさそうな気がする。

267 名前:nobodyさん [2007/05/15(火) 17:31:34 ID:6TG+QTaB]
>>264
今試してみたところうまくいきました。

\\\\じゃ無いとダメなのかはもう少し詳しく調べてみようと思います。
くだらない質問を光の速さで回答していただきありがとうございました。

あと、半角文字という言葉の使用は以後注意して使わないようにもします。
ありがとうございました。



268 名前:258 [2007/05/15(火) 17:35:25 ID:6TG+QTaB]
>>267 の名前欄にレス番号記入するのを忘れていました。
色々ミスってスイマセンでした、訂正しておきます。

>>266 ほかにも色々ある正規表現のテストと
ゆくゆくは[a-z]なども使う事があるかと思い
試している途中で詰まった事なのです。

269 名前:nobodyさん mailto:sage [2007/05/15(火) 18:14:44 ID:???]
return strpos($keyword,'\\') === false ? true : false;

270 名前:nobodyさん mailto:sage [2007/05/15(火) 18:15:41 ID:???]
まあそれが美しいよね

271 名前:258 [2007/05/15(火) 18:32:31 ID:AwqtLTCz]
>>269 あまりにも美しすぎて、もう少し勉強しないと
なにがどう書かれているのか理解する事もできませんでした。

PHPも中々置くが深いんですね、>>269が理解できるよう
さらに深く学んで生きたいと思います。ありがとうございます。

272 名前:nobodyさん mailto:sage [2007/05/15(火) 18:42:17 ID:???]
何でもかんでも一行で書けばいいってもんじゃない。


273 名前:nobodyさん mailto:sage [2007/05/15(火) 18:56:42 ID:???]
なんで回答後ってこういう慇懃無礼とも思える気持ち悪い表現が多いんだろう

274 名前:nobodyさん mailto:sage [2007/05/15(火) 19:00:24 ID:???]
あんたなんでもかんでも肯定されないといやなんですか?
だったらやめたほうがいいよ

275 名前:nobodyさん mailto:sage [2007/05/15(火) 19:37:30 ID:???]
確かに現役PGの視点からいえば、
可読性がない自己満足な書き方をするのは誉められたものじゃない。

276 名前:nobodyさん mailto:sage [2007/05/15(火) 19:54:26 ID:???]
それは正論だが、論理値リテラルを返すだけの三項演算子で可読性云々言い出す奴はいわゆるキチガイ。

277 名前:nobodyさん [2007/05/15(火) 20:49:07 ID:Fy2AtB8k]
再利用可能にするために気をつけてることってありますか?



278 名前:nobodyさん mailto:sage [2007/05/15(火) 21:28:28 ID:???]
PHP以外の言語をたくさん学ぶこと。

279 名前:nobodyさん mailto:sage [2007/05/15(火) 21:52:35 ID:???]
>>276
だと俺も思う。
一行プログラムがポイントではなくて、
strposの返り値を理解して、三項演算子でFALSEチェックするというのは正統派じゃん。

280 名前:nobodyさん mailto:sage [2007/05/15(火) 22:04:24 ID:???]
三項演算子使う奴は趣味だろ、わるかったね仕事で使わないもので

281 名前:nobodyさん [2007/05/15(火) 22:06:33 ID:FHaxfx0y]
dbのコネクションや問い合わせ結果等のリソースは、
変数間でコピーしても必ず参照としてコピーされますか?
丸々コピーされてメモリ大量消費されたりしませんか?

282 名前:nobodyさん mailto:sage [2007/05/15(火) 22:10:02 ID:???]
>>280
まあお好みだけど、そのヒネクレ口調だけはやめたほうがいいな。
仕事で嫌われるよ。能力ないのに嫌われたら困るだろお前も

283 名前:nobodyさん mailto:sage [2007/05/15(火) 22:26:46 ID:???]
>>281
DBコネクションのリソースってそんなに多大な情報持ってんのか?

284 名前:nobodyさん [2007/05/15(火) 22:38:40 ID:UJ71PYY7]
>>281
ほとんどの場合は接続IDだからコピーされても
無視できるだろう

ただし、pear::DB とか PDO のインターフェースは
結構でかい


285 名前:nobodyさん mailto:sage [2007/05/15(火) 22:40:43 ID:???]
>>281
普通にやれば、丸々コピーだろ
sqlの実行結果なんかは、状況によってはボトルネックに
なるかもね


286 名前:nobodyさん mailto:sage [2007/05/15(火) 22:43:22 ID:???]
>>284>>285で議論を戦わせてください。他の人は口出ししないで><

287 名前:nobodyさん mailto:sage [2007/05/15(火) 22:47:12 ID:???]
たんじぇんと、こさいん、氏ね>>286



288 名前:nobodyさん [2007/05/15(火) 22:52:10 ID:GtGfJ8qN]
DBから出勤時間と退勤時間を出して勤務時間をはじきたいですが、
さくっとかっこいいやり方ってありますか?


289 名前:nobodyさん mailto:sage [2007/05/15(火) 22:56:21 ID:???]
退勤時間 - 出勤時間

290 名前:nobodyさん mailto:sage [2007/05/15(火) 23:00:29 ID:???]
>>288
select name,phone from shain where shain_id = 'foo';
call phone;
get appointment;

if(define('appointment') && appointment == TRUE )
{
return 'SUCCESS';
} else {
return FALSE;
}

291 名前:nobodyさん mailto:sage [2007/05/16(水) 00:39:57 ID:???]
>>289
休み時間は?
仮に休み時間が1時間としても、
退出時間−出勤時間−1
としてはいけない。半休とか使う場合があるからだ。
だから単純な方法は無い。

292 名前:nobodyさん mailto:sage [2007/05/16(水) 00:53:26 ID:???]
退勤時間 - 出勤時間(if 休憩がXXだったら〜〜〜)



293 名前:nobodyさん mailto:sage [2007/05/16(水) 01:06:54 ID:???]
>>280
世界中の職場が三項演算子を禁止してるとでも?
うちで禁止するのは新人と糞派遣に投げる時ぐらいだな。

294 名前:nobodyさん mailto:sage [2007/05/16(水) 01:12:08 ID:???]
>>291
じゃその就業規則をルール化しろよ

295 名前:nobodyさん mailto:sage [2007/05/16(水) 01:16:31 ID:???]
プライド高いだけの奴が沸いてきた

296 名前:nobodyさん mailto:sage [2007/05/16(水) 01:17:33 ID:???]
プライド高い「だけ」の奴ね
          ^^^^^^^^

297 名前:nobodyさん [2007/05/16(水) 01:28:05 ID:PGjb3KVb]
すいません、登録制のサイトで登録者の情報を管理者と登録者本人だけに表示を許可したい場合はどうすれば良いんでしょうか?
(管理者以外の他の登録者からは見えないようにしたい)
ちなみに、管理者を$site_admin、 登録者本人を$user_owninfoとして、
管理者のみだと、
<{if $site_admin == true}>
中身
<{/if}>
で上手く行くんですが、そこに登録者本人をプラスして、
<{if $site_admin == true && $user_owninfo == true}>
中身 
<{/if}>
としてみると結局$site_admin == trueの部分しか機能していません。
どうかお知恵をお貸しください。



298 名前:nobodyさん mailto:sage [2007/05/16(水) 01:29:45 ID:???]
Smarty使う前にandとorくらい知っておいたほうがいいんじゃないかね

299 名前:nobodyさん mailto:sage [2007/05/16(水) 01:30:02 ID:???]
IDかPASS制だったらDBでIDとPASS検索して一致しなければLocationで飛ばせばいいんじゃね?

300 名前:nobodyさん mailto:sage [2007/05/16(水) 02:12:16 ID:???]
もうBasic認証でいいじゃん、pearの認証つかえばいいじゃん

301 名前:nobodyさん [2007/05/16(水) 02:33:19 ID:ceM6XUKn]
オリジナルのclassを集めたやつ「class.inc」を暗号化した場合、
読み込むときに複合化しなきゃダメなのかな?

知り合いに自分の作ったやつあげるときに、そのclass.incの中身見られたくないのよ

302 名前:297 [2007/05/16(水) 02:33:43 ID:PGjb3KVb]
&&じゃなくて||でしたね。
単純な間違いでした。
お騒がせしました。

303 名前:nobodyさん [2007/05/16(水) 02:34:46 ID:QKxTyLUD]
質問です。
mysqliの関数を実行する時に、
prepareステートメントとか bind_param()とか execute()を使う場合と
使わない場合で、どのような違いがあるんですか?
こんな場合は使ったほうがいい、ってのありますか?
参考にしている本を見ると、リストDBに「人名」「自己紹介」「HPのurl」を
追加するのに使っていますが、この程度なら普通にやっても同じでは?
という気がします

304 名前:nobodyさん mailto:sage [2007/05/16(水) 02:40:07 ID:???]
>>301
PHPスクリプトを暗号化するソフトなら安いので1万円出してお釣がきますので探してください。
あとは高いのでZendにもでてますよ

305 名前:nobodyさん [2007/05/16(水) 02:42:10 ID:ceM6XUKn]
>>304
サンクス
無料で何かあるかと思ってた俺哀れorz

PHPって実行時にコンパイルするけど、
あらかじめコンパイルしておけば実行するとき早くね?wwwww

306 名前:nobodyさん mailto:sage [2007/05/16(水) 02:47:49 ID:???]
何秒くらい?

307 名前:nobodyさん [2007/05/16(水) 02:49:27 ID:ceM6XUKn]
>>306
いや、そっちのほうが早いかなって思っただけ



308 名前:nobodyさん mailto:sage [2007/05/16(水) 02:51:22 ID:???]
>>303
端的に言えば異なるパラメータを用いて複数回実行するようなSQL文で使うとパフォーマンスがあがるってところかな。(キャッシュが働く
あとはパラメータの自動クォートでユーザー入力からのSQLインジェクション対策とか。
具体的にはID指定して何度もSELECTする様なのとか、ユーザー入力を条件に使うSELECTとか、INSERT全般とか。

309 名前:nobodyさん mailto:sage [2007/05/16(水) 03:04:26 ID:???]
>>305
コンパイラによる。おれデメリットの方がイヤだから使ってないけど

310 名前:nobodyさん mailto:sage [2007/05/16(水) 03:26:08 ID:???]
>>308
ありがとうございます
アドバイスを読んでると、かなりありがたい機能ですね
じゃ、もうprepareステートメントを使うやり方を徹底しても問題ないですかね。
普通のやり方のほうがかえって好都合ってのはないですよね?

311 名前:nobodyさん mailto:sage [2007/05/16(水) 03:33:40 ID:???]
そんなに使いたきゃ使えよ

312 名前:nobodyさん mailto:sage [2007/05/16(水) 03:41:22 ID:???]
>>310
使わなくてもいいとこでも使うと無駄にステートメントを保持することになる、かな…。

313 名前:nobodyさん mailto:sage [2007/05/16(水) 04:16:02 ID:???]
$calc = 1.23456789 * 9.87654321;
for ($i = 1; $i <= 100; $i++) {
echo $calc;
}

こうやった場合って、100回計算が実行されるのか、
すでに計算が終わったものを100回出力しているのか、
どちらなのでしょうか?

314 名前:nobodyさん mailto:sage [2007/05/16(水) 04:17:25 ID:???]
ほへ?

315 名前:313 [2007/05/16(水) 04:19:56 ID:9TTx9/gy]
すみません。age忘れました。

316 名前:nobodyさん mailto:sage [2007/05/16(水) 04:22:59 ID:???]
>>315
ふほ?
www.php.net/manual/ja/language.expressions.php

317 名前:nobodyさん mailto:sage [2007/05/16(水) 04:23:42 ID:???]
百回、変数に入った値が出力されるだけ



318 名前:nobodyさん mailto:sage [2007/05/16(水) 04:26:26 ID:???]
php4とphp5のクラスの参照渡しをあいまいに頭にいれてるからこんな質問したくなったんだろ

319 名前:313 [2007/05/16(水) 04:27:47 ID:9TTx9/gy]
>>314 >>316
すみません。日本語がおかしかったです・・・

>>317
どうもエスパーな質問にお答えいただきありがとうございます。
ということは100回計算してベンチをとるといったことをするには、
別の書き方をしないとならないわけですね。

320 名前:nobodyさん mailto:sage [2007/05/16(水) 04:32:04 ID:???]
>>319
forの中で計算させるだけじゃ?
つかリンク先読めよ。まずそこから必要だ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<79KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef