09/02/05 21:09:41
>>259
× rmdir G:\www\a\ /s /q
○ rmdir G:\www\a /s /q
ってことか?
262:nobodyさん
09/02/05 21:15:47 r201bcdx
>>261
試しにさっき、
rmdir G:\www\a\ /s /q
やってみたら、これも消えてくれました。
でも、なぜあphpで書くと処理してくれませんね。
263:nobodyさん
09/02/05 21:25:19
権限とかopen_basedirとか?
結果を取得するなりログを見るなりすればなんかでるでしょ
264:nobodyさん
09/02/05 21:55:05 r201bcdx
いろいろやっていくいうちに、原因がわかりました。
ものすごくくだらないですが・・
まず、CをGと変更しているのに、削除しようとしているのは
Cの方だったことがわかりました。
そこでもう一度視野を広げてみてみると、
原因はphpの編集ツールにありました。
CからGへapacheのルート?wwwディレクトリをコピーで移動させてからも、
そのツールの編集画面を開いたまま編集していました。
つまり、Gの方のphpを編集している気でいたら、Cの方のphpを編集しており
Gの方のC:\\www\\aがそのままになっていただけでした。
ありがとうございました。
265:nobodyさん
09/02/05 21:56:40 r201bcdx
訂正
すみません。原因はツールより、私の方にありました。
266:nobodyさん
09/02/05 22:48:44 Gj5tVrB7
超くだ質ですが、お願いします。
[1.htmlの内容]
<form name="form" action="./1.php" method="GET">
<input name="name" type="text">
<input name="name2" type="text">
<input type="submit" value="送信"></form>
[1.phpの内容]
<?php
$name1 = $_REQUEST["name"];
?>
値は<?php print $name1;?>
1.htmlのnameに山田、name2に太郎と入れてsubmitした時に1.phpのprintに
値は山田太郎 と出力させるようには出来ないのでしょうか?
267:nobodyさん
09/02/05 22:50:53
>>266
value
$_GET[]
268:nobodyさん
09/02/05 22:56:49
$_REQUEST["name"] . ' ' . $_REQUEST["name2"]
269:nobodyさん
09/02/05 23:04:00 Gj5tVrB7
>>267
>>286
ありがとう!こんな事で2時間以上ぐぐってたのか・・
270:nobodyさん
09/02/05 23:08:37 ApJraLWL
永続接続を使った場合apacheの待機プロセスorスレッドの分だけデータベースにスレッドが立ったままになっちゃいますけど
そういうものなんですか
psコマンドで出すとズラーっと並んでいて気になります
271:nobodyさん
09/02/05 23:13:16
>>270
そういうものです。
272:nobodyさん
09/02/05 23:14:15
つまり気にしなくておk?
273:nobodyさん
09/02/05 23:16:02
OKかどうかは、運用と鯖のパワーバランス
274:nobodyさん
09/02/05 23:19:21
わかりました
ありがとう
275:nobodyさん
09/02/06 01:07:33 Zd9hNyvT
20090206
を書式化して
2009年02月06日
としたいのですが、やはり一度分割して配列に入れる方法しかないのでしょうか?
276:nobodyさん
09/02/06 01:09:40
echo date( "Y年m月d日", strtotime( "20090206" ) );
277:nobodyさん
09/02/06 01:16:12
>>275
strtotime
278:nobodyさん
09/02/06 01:37:39 3pSilmD2
一般的になコーディング方法について教えてください。
私は以下のようにしてコーディングしているのですが、
このスタイルは間違っていますか?
<?php
class Test{
// 送信ボタン名
private $_submitButtonName = "test_submit";
// フォームを出力する
public function print_form(){
print "<form action=\"{$_SERVER["PHP_SELF"]}\" method=\"POST\">\n";
print "<input type=\"text\" name=\"textarea0\">\n";
print "<input name=\"{$this->get_submitButtonName()}\" type=\"submit\" value=\"送信\">\n";
print "</form>";
}
// 送信ボタン名を返す
public function get_submitButtonName(){
return $this->_submitButtonName;
}
// 送信されたかチェックする
public function determineSubmit(){
if( isset($_POST[$this->get_submitButtonName()]) ){ return true; }
else{ false; }
}
} // END class Test
279:278
09/02/06 01:38:02 3pSilmD2
$obj = new Test;
$obj->print_form();
if($_SERVER["REQUEST_METHOD"]=="POST"){
if($this->determineSubmit()){
~
}
}
?>
280:nobodyさん
09/02/06 01:44:36
コーディングスタイルに正解も間違いもないよ
281:nobodyさん
09/02/06 01:58:55
>>278
普通はHTMLタグはページ用のファイルに書くんじゃないかな
submitボタンのname属性も可変にする必要ないと思うけどするなら、
<form action="test.php" method="POST">
<input type="text" name="textarea0">
<input name="<?=MyConst::SUBMIT_BUTTON_NAME?>" type="submit" value="送信">
</form>
282:nobodyさん
09/02/06 02:00:52
set_submitButtonNameしたいときもあるかもしんねぇだろwww
283:nobodyさん
09/02/06 02:17:24
>278
クラス名が具体性を欠く。$obj = new Test;
の1行からは、何をしたいのかという意図が全く伝わってこない。
そもそもそのクラスは、「何を」表したクラスなんだ?アプリケーションか?ユーザーからのリクエストか?今から生成するフォームか?
クラス内の処理が実質的に全てstatic。こんなクラスはインスタンス化する意味が無い。
ボタン名をconstにして全てstaticメソッドにする、あるいはクラス自体を取っ払って単なるグローバル関数にする。
ボタン名を定数ではなく変数にする意味は?
変数を使うというのは「この値はスクリプトの実行中に変化する可能性がある」という意思の表明でもある。だから「変わる数」なんだよ。
動的に変わるならばそのままでもいいが、もし仮に実行中に変わらないならば定数にすべきだ。
determineSubmitという関数名。回りくどい上に、意味がおかしい。サブミットされたかは、このメソッドが決めるわけじゃない。
百歩譲ってもcheckSubmitted()。
俺ならisSubmitted()もしくはsubmitted()。boolを返す事が自明になるし、どっちの場合にtrueが返るのかも分かりやすい。
それとアプリケーション構造として、処理に必要になる値の存在だけをチェックすべきだ。
textarea0に文字が入ってさえいれば、サブミットボタンが押されてようが爆発してようが別にどうでもいいだろ?
サブミットされたかは関数なのに、POSTかどうかの判定は変数を直接見ている。記述のレベルが揃っていない。
「好きな食べ物は辛いものと糖質を75%以上含むものです」なんて言わないだろ?同じレベルの記述では抽象度を揃えろ。
「辛いものと」なら「甘いもの」だし、「糖質を75%含む」ならば「カプサイシンを10mg含む」だ。その時興味のあるレベルに揃えるんだ。
つまりif( isPosted() && isSubmitted() ) か、if( $_SERVER["REQUEST_METHOD"]=="POST" && isset($_POST[[$key]) 。
284:283
09/02/06 02:34:31
クラスは、クラスが必要なところでだけ使えばいいんだよ。
クラスを使う事が偉いのではない。クラスを使うことで分かりやすい/保守しやすいコードを書く事が偉いんだ。
「なんでクラス使ってるの?」と聞かれて、答えられるか?説得する必要はないが、自分なりの回答が存在するか?
URLリンク(d.hatena.ne.jp)
その程度の処理にクラスを持ち出すのは、このコードと同じ事をしている。
クラスや関数などの中間層は、増やせば増やすほど何をやっているか分かりにくくなる。
$this->determineSubmit()
より
isset($_POST['test_submit'])
の方が分かりやすい。具体的に何をやってるか、メソッドの定義部を読みに行く手間も省ける。
ま、練習中なら、過剰なまでに抽象化するのもひとつの経験だけどな。
285:nobodyさん
09/02/06 02:38:16 y9gQg+aR
PDO の質問です。
$id = 1;
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->execute($id);
で、実行したバインド済みのSQL(select * from hoge where id = '1')
を取得したいんですが、方法はありますでしょうか。
286:nobodyさん
09/02/06 02:49:11
>>284
そりゃそうだ
時給制や残業制とは無能であればあるほど金がもらえる仕組みなんだよ
287:nobodyさん
09/02/06 02:50:43
>>285
なんでマニュアルみーへんの?
288:nobodyさん
09/02/06 03:12:57
これくらいなら僕でもできるもん!
>>285
間違ってるかも・・・
詳しくは先輩から聞いてください><
$id = $_GET["id"];
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->blindParam(1,$_GET["id"])
$sth->execute();
289:nobodyさん
09/02/06 03:27:05
>>288
まず日本語学んだら?
>で、実行したバインド済みのSQL(select * from hoge where id = '1')
>を取得したいんですが、方法はありますでしょうか。
290:288
09/02/06 03:53:28
すまんね。書き直します。
PDO の質問です。
$id = 1;
$sth = $pdo->prepare('select * from hoge where id = ?');
$sth->execute($id);
以上のコードの後に、パラメーターがバインドされた形の
実際に実行されたSQL文を取得したいのですが、方法は
ありますでしょうか。
* 上記の例では "select * from hoge where id = '1' " を得たい。
. 簡単にいうと getLastQuery() 的なもの。
>>287, 288, 289
日本語スマソ
お分かりの方お願いします。
291:nobodyさん
09/02/06 03:57:16
はい?285=288なの?
292:285 != 288
09/02/06 04:01:32 y9gQg+aR
まちがえt
293:nobodyさん
09/02/06 04:04:39
>>292
>>287
294:nobodyさん
09/02/06 04:13:51
>>289
>>287
>>293
早く教えろよ
わからねーのか
295:291
09/02/06 04:16:12
わからねーよ
蛸
296:285 ◆Oto8cICx9k
09/02/06 04:23:43 y9gQg+aR
めんどくさいから鳥つけた
>>293
結構読んだはずなんだけど分からんかった。
user noteまでは読み切ってないので、どのへん~だけでも
ヒントくれたら助かります。
297:nobodyさん
09/02/06 04:29:33
結構ではなく全部読め
298:nobodyさん
09/02/06 04:31:05
自作自演ですか?
299:298
09/02/06 04:33:07
そうです俺馬鹿なもんで
300:nobodyさん
09/02/06 04:37:15
>>299
馬鹿なんだ^-^-^-^-^-^
301:nobodyさん
09/02/06 04:38:48
きもい~★
302:nobodyさん
09/02/06 04:49:25
なんかエッチな気分
303:nobodyさん
09/02/06 05:35:37
表現が稚拙だな
304:nobodyさん
09/02/06 06:29:21 IlUhJl+1
スレ違いかな…
phpと.htaccessの質問なのですが…
.htaccess中のRewriteEngineを使用して拡張子の書き換えを行い、
htmlへアクセスした際、phpへリライトするということをしたいです。
[例]
URLリンク(www.***.com)
↓
URLリンク(www.***.com)
で、
RewriteRule ^(.*)sample.html(\?.*)?$ $1sample.php$2
と、設定するとうまく動作してくれるのですが、
RewriteRule ^(.*)/cgi/sample.html(\?.*)?$ $1/cgi/sample.php$2
と、設定すると404(not found)となってしまいます。恐らく、リライトのルールに合致しない為
書き換えが行われていないのだと思います。
なんで…なんでなのぉ~(号泣)
305:nobodyさん
09/02/06 07:06:20
phpは全く関係ないな。こじつけにもほどがある。
このスレ、そんなに頼りになると思ってんの??ありえん。
# mod_rewriteスレがあるよ
306:nobodyさん
09/02/06 10:01:08
>>404
スレチ
AddTypeでググれ
307:nobodyさん
09/02/06 10:05:50
>>304
こんな感じじゃない?
RewriteRule ^([^\/].*)/cgi/sample.html(\?.*)?$ $1/cgi/sample.php$2
308:278
09/02/06 11:46:08 3pSilmD2
返信遅くなりました。
私としては、”意味のまとまり”をクラスとする、
というつもりです。
先のTestクラスは意味を表していないので例として間違っていました。
申し訳ありません。
例えば、先日私は「郵便物の配達履歴」のプログラムを組みました。
そこでは、
(1)郵便物を登録するクラス
・登録フォームを出力
・ユーザの入力が間違っていないか(番地は数字と-のみとか)チェック
・過去の履歴を検索してユーザの入力を助ける
・郵便番号からDB中の住所を検索する
etc
(2)過去に登録した郵便物を検索するクラス
・フォームを出力する
・ユーザが入力した情報から過去の郵便物を検索する
・検索したものを編集/削除する
etc
(3)ログイン時の認証をするクラス
を用意しました。
309:278
09/02/06 11:46:44 3pSilmD2
続・308
意味のまとまりをクラス化し、
そのクラスに関係する情報はそのクラスで全て管理する、
という気持ちでやっていたので、
>>278のような感じになりました。
(確かに、>>283さんのいうようにボタン名はconstにしたり、
if( isPosted() && isSubmitted() ) を用いるべきでした。)
私はJava、C++メインなためどうしてもクラスありき、
(といってもJavaもC++も大した力はありませんが・・・)
で考えてしまうのですが、
PHPは必ずしもそうではない、ということでしょうか?
310:nobodyさん
09/02/06 11:52:24
PHPはクラスありきではない。
PHPはスクリプト言語、スクリプトからクラスを使う。
しかし、実質的にクラスベースっ"ぽい"開発もできる。
あとは好みの問題。
311:nobodyさん
09/02/06 11:52:37
Javaのスキルも程度が知れるな
312:nobodyさん
09/02/06 13:29:37
クラスってなにかくんですか?
313:nobodyさん
09/02/06 13:30:14
MVC
314:nobodyさん
09/02/06 13:53:32
MDD
315:nobodyさん
09/02/06 14:03:37
TDD
316:nobodyさん
09/02/06 14:06:07
MVC意識してるのにうまく分離できない
VとCがくっついたりVとMがくっついたり・・・
317:nobodyさん
09/02/06 14:06:11
やまだくんです
318:nobodyさん
09/02/06 14:09:43
まだやくんです
319:nobodyさん
09/02/06 14:37:49
>>308-309
基本的にどの言語だろうとクラスの本質は変わらないはず。
オブジェクト指向で書けるようになると戻りたくないというのも解る。
…が、その設計は果たしてどうだろう?
クラスはその名の通り型(intやstring、ひいては構造体等の)であって、
(そのような側面もあるが)名前空間が本領ではない。
クラスの本質は「データとメソッドを結びつける」ことによって、
自身の振る舞いを知っている型として纏まって独立し、
型・コードの再利用は勿論、カプセル化やポリモーフィズムなど様々な恩恵を生み出す…。
そこで話を戻すとその内容はクラス、というよりも
デザインパターンの話になってしまうのではないか。
まずはパータンの前に郵便物情報のクラスを作ってから、
それをActiveRecord/MVCのModelとかにして、
そいつに郵便物情報の処理を適切にスタティック/インスタンスメソッドなり追加して
その外側からViewやControllerで操作する…というのが私見。
# Javaや.NETのクラスライブラリの中から処理形態として類似したものを真似てみるのもいいかと。
320:nobodyさん
09/02/06 14:45:05
>>319
そんなクラスの一般論なら、クラスでググればいいだけだろ。
うざいからほどほどにしてくれ。
「デザパタの前に実装してPHPのくせを先に学ぶのを先にした方がいい」
って私見ぐらいは語ってもいいけど、デザインパターンが通じない開発者の方が少数派だろ。
321:nobodyさん
09/02/06 14:46:21 iuyfFTeY
いまのPHP三大フレームワークは以下のものと認識してもよろしいでしょうか?
cakePHP
シンフォニー
zendフレームワーク
322:nobodyさん
09/02/06 14:47:30
=>フレームワークスレ いけ
323:nobodyさん
09/02/06 14:48:16
>>320
おいトリップつけるかIDだせ
324:nobodyさん
09/02/06 14:51:16
CI
yii Framework
325:nobodyさん
09/02/06 14:51:50
>>323
なんで?
326:nobodyさん
09/02/06 14:53:22
JavaはPHPより難しい
2日で諦めた
俺低脳だし
327:nobodyさん
09/02/06 14:54:40
PHPを諦めたの?それとも人生?
328:nobodyさん
09/02/06 14:58:32
>>327
人生とかお前馬鹿?
329:327
09/02/06 14:59:27
はい 馬鹿です^^
330:nobodyさん
09/02/06 15:00:31
ここにいる人
きもっ~>_<
331:nobodyさん
09/02/06 15:01:30
何むしゃくしゃしてるの?悔しいの?
332:nobodyさん
09/02/06 15:02:39
くだらんケンカはよそでやれ
333:nobodyさん
09/02/06 15:15:36
[PHP]IDを出さずにくだらないケンカをするスレ[質問]
334:nobodyさん
09/02/06 15:18:21
自演で長文投下してるやつ、キモイな
335:nobodyさん
09/02/06 15:36:20
キモ
336:nobodyさん
09/02/06 18:02:25 Iyeu5pU3
pearでこれは覚えろっていうパッケージを教えてください
337:nobodyさん
09/02/06 18:17:50
ない
338:nobodyさん
09/02/06 18:31:35
>質問スレで運悪く、ろくな答えもよこさないくせに態度のでかいヘボ回答者
>にあたってしまったが、他への心象を気にして強く出れなかったお方
ロクな回答者に絡まれると大変ね
339:nobodyさん
09/02/06 21:36:43
ロクな回答者に絡まれたら良いじゃん
340:nobodyさん
09/02/06 21:41:21
つうか、ここで質問してまともな回答を期待する方が、頭オカシイだろ
腐った回答でも、それ全部食っていいのをチョイスできる勇者だけが生き残る
341:nobodyさん
09/02/06 21:44:01
助けてもらって当然、与えてもらって当然、他人に右往左往してもらって当然、って考えてる子が多い
342:nobodyさん
09/02/06 21:59:23
そんなこと言っててもエサを投げればすぐ食いついてくるくせに( ´∀`)σ)Д`)
343:nobodyさん
09/02/06 22:31:27
XREAスレが静かになったと思ったらこっちでファビョってたのかqqq
344:nobodyさん
09/02/06 23:05:54
このての分野ってキモイ人間多いよな
345:nobodyさん
09/02/06 23:06:38
お前が一番だから心配すんな
346:nobodyさん
09/02/06 23:13:40
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ
347:nobodyさん
09/02/06 23:14:08
お前が一番そうだから心配すんな
348:nobodyさん
09/02/06 23:14:18
キモイ人間にとって、このスレは快適なのさ
349:nobodyさん
09/02/06 23:14:20
キモヲタに「キモイ」って言うと
ものすごい反応するよね。
350:nobodyさん
09/02/06 23:14:41
お前が一番そうだから心配すんな
351:nobodyさん
09/02/06 23:15:06
344 :nobodyさん:2009/02/06(金) 23:05:54 ID:???
このての分野ってキモイ人間多いよな
345 :nobodyさん:2009/02/06(金) 23:06:38 ID:???
お前が一番だから心配すんな
346 :nobodyさん:2009/02/06(金) 23:13:40 ID:???
キモイ人間てすぐ反応するよね
典型的に態度に出るからフイタわ
347 :nobodyさん:2009/02/06(金) 23:14:08 ID:???
お前が一番そうだから心配すんな
348 :nobodyさん:2009/02/06(金) 23:14:18 ID:???
キモイ人間にとって、このスレは快適なのさ
349 :nobodyさん:2009/02/06(金) 23:14:20 ID:???
キモヲタに「キモイ」って言うと
ものすごい反応するよね。
350 :nobodyさん:2009/02/06(金) 23:14:41 ID:???
お前が一番そうだから心配すんな
352:nobodyさん
09/02/06 23:16:00
344の必死さにワロタw
353:nobodyさん
09/02/06 23:16:46
>>345
>>347
>>350
反応早すぎw
354:nobodyさん
09/02/06 23:17:36
この流れをみれば必死なのは反応の早い彼だと思うがあえてスルーしとこう
355:nobodyさん
09/02/06 23:17:41
いつもの基地外君はさっさと潰しとかんと迷惑だからなぁ
356:nobodyさん
09/02/06 23:19:16
>>354
きめぇw
357:nobodyさん
09/02/06 23:19:16
>>355
2ちゃんねるは自己紹介をする場所ではないのです。。。
358:nobodyさん
09/02/06 23:20:43
>>358
キモイ
359:nobodyさん
09/02/06 23:21:43
お前が一番そうだから心配すんな
360:nobodyさん
09/02/07 01:04:26
PHP→Javaはベース→ギターに似てるな。逆は割と簡単
361:266
09/02/07 01:21:58 nwjNO9JF
先日はお世話になりました。性懲りもなく本日もかなりのくだ質ですが、ちょっと
行き詰まり気味なのでお願いします。
00.htmlの内容
<html><head>
<script language="JavaScript" type="text/javascript">
<!--
function send (url){
document.form_orz.action=url;
document.form_orz.submit();}
//--></script></head>
<body>
<form name="form_orz" action="./01.php" method="GET"><td>
<input type="text" name="xxx">
<input type="submit" value="送信x">
<input type="text" name="yyy">
<input type="button" value="送信y" onClick="send('./02.php')"></td>
</form></body></html>
01.phpの内容
<?php
$xxx=$_REQUEST["xxx"];
echo "値は$xxx です";
?>
02.phpの内容
<?php
$yyy=$_REQUEST["yyy"];
echo "値は$yyy です";
?>
362:266
09/02/07 01:22:41 nwjNO9JF
つづき
同じform内では複数のsubmitを使うのはちょっとコツが要るっぽいので
ぐぐってあちこちを調べた結果、javascriptを使ってこのように書きました。
結果としては普通に動きますけど"送信y"をクリックした時に別窓で結果の値を
表示させたいのです。そこでjavascriptのwindow.openなるものを知りまして
00.htmlの<script>~に次のように書きました。(>>361で書いたものは//で消して追記しました)
window.open(url);
document.form_orz.target = "yyy";
document.form_orz.method = "post";
document.form_orz.action = "url";
document.form_orz.submit();
これだと確かに新しく別窓が開くのですが「値は です」という表示でうまく受け渡しが
出来ていない様子です・・・。このように別窓で結果の値を表示させるようにするには
どのようにすれば良いでしょう?多分、window.open周りだと思うので本来ならばこのスレ
ではなくてjavaのくだ質スレが見つからなかったのでこちらに書かせて頂きました。
363:nobodyさん
09/02/07 01:35:26
window.open(url, "yyy");
targetの"yyy"とウインドウの識別名を一致させないとダメ
364:nobodyさん
09/02/07 01:40:39
>>360
URLリンク(www.youtube.com)
365:nobodyさん
09/02/07 01:42:25
というか、どう考えてもPHPの話題じゃねえだろ。
366:nobodyさん
09/02/07 11:32:12
今年中にはPHP覚えまくって稼ぎまくろうかと思う
367:nobodyさん
09/02/07 11:55:18
11ヶ月もかけるのか・・・
368:nobodyさん
09/02/07 22:21:56
PHPで情報サイトを作ろうと思います。
さあ大変だ
369:nobodyさん
09/02/07 22:35:07
しかし、ある一握りの子達は、大変指導に時間と手間がか
かりました。彼らは「なぜ」という問いを持つことを面倒がり、
早く答えの出せる技術だけにこだわり続ける子供達だったか
らです。決まった解き方に当てはめて、早く答えを出すこと。
「じゃあ、なんでこれで答えが出るんだい?。君はどういう考え
方をしてこの式を立てたの」と、正解の並んだ算数の文章題
のプリントを前に聞き返すと、彼らはみんなとても嫌な顔をし
たり、あるいは質問の意味が分からないと言うようにきょとん
としたものです。
370:nobodyさん
09/02/08 00:48:59
営業中
371:nobodyさん
09/02/08 01:17:06 DxNfF4Ma
$html = '<strong>{$text}</strong>}';
と言うように変数の中に文字列で変数が入っているとします。
$textの箇所に文字を入れて太字にしたいので
$text = "あああ";
echo $html;
としたのですが、反映されません。
どのようにして変数内の変数に値を渡すことが出来るのでしょうか?
372:nobodyさん
09/02/08 01:20:16
$html = "<strong>{$text}</strong>";
373:nobodyさん
09/02/08 01:22:02
さて、原因はどっちでしょう
①$htmlの宣言の時点で$textの中身が空っぽだから
②$html宣言のときに「"」じゃなく「'」で囲ってるから
374:371
09/02/08 01:24:19 DxNfF4Ma
>>372-373
'にしないと文字列として変数が扱われないのではないですか?
Smartyの簡易版のようなことがしたくて、
タグやファイルを変数で読み込んで、その中の{$test}と言う箇所に
予め指定していた値を渡したいのです。
str_replaceなどで置換すれば出来ますが、ちょっとやり方が違うような気がして・・・
375:nobodyさん
09/02/08 01:29:23
>>374
試してから言えカス
376:nobodyさん
09/02/08 01:30:03
>374
無理。プログラムは上から順に実行されるから、
$html = "<strong>{$text}</strong>}";
と書いたら、その時点での$textの中身が反映されて$htmlに入る。
(シングルクォートはダメでダブルクォートが正解な。これはマニュアル読んで来い)
つまり、
$text = 'うんこ';
$html = "<strong>{$text}</strong>";
$text = 'ぬるぽ';
echo $html;
だと、<strong>ぬるぽ</strong>が出力されてガッされる。
377:371
09/02/08 01:30:08 DxNfF4Ma
もちろん試しました
が、中身は消えます
378:376
09/02/08 01:31:08
何を大嘘書いてるんだ俺は。
うんこが出力されてガッされない、が正解。
379:nobodyさん
09/02/08 01:36:23
>>374
自分でテンプレエンジンも作れない雑魚レベルなら素直にsmarty使え
380:nobodyさん
09/02/08 02:43:12
>>371
eval() や include() を使って評価する
function replace($template, array $params = array()) {
extract($params);
return eval('return "' . preg_replace('/"/', '\\\\"', $template) . '";');
}
echo replace('私は{$name}です。', array('name' => '371'));
381:nobodyさん
09/02/08 11:20:52 DarObAIw
定義したhello関数を$testに格納して、呼び出したいところでecho $testを書いたのですが
$test = hello();の時点で出力されてしまいます
hello関数を$testに格納して、自分が呼び出したいところで使うにはどうしたらよろしいでしょうか?
function hello() {
return "<p>こんにちは</p>";
}
$test = hello();
#このあたりに別の処理をおいてます
echo $test;
382:nobodyさん
09/02/08 11:23:54
>>381
それはない。
helloでreturnしないでechoしてんじゃないの?
383:nobodyさん
09/02/08 12:37:30
>>381
もしくは勘違い。html見てみるがよろし
384:nobodyさん
09/02/08 12:43:55 WhrhZbLr
秒数を、
"時間:分数:秒数"
のフォーマットにしたいのですが、そういう関数があれば教えて下さい
385:nobodyさん
09/02/08 12:50:59
>>382
どういうこと?381のreturnをechoにすると$test=hello();が実行されるの?
echo $testしないと出力されるわけないじゃん
386:nobodyさん
09/02/08 12:51:42
>>384
string date ( string $format [, int $timestamp ] )
387:nobodyさん
09/02/08 12:56:50
>>385
>>381のソースならhello()の段階で出力されたりしない。
出力されてるとしたらfunction hello のコードか、
もしくは別の場所が間違ってるという風にエスパーした
388:nobodyさん
09/02/08 15:04:52
>>385
お前は何を言ってんだ?
389:nobodyさん
09/02/08 15:26:32
function hello(){echo"こんにちは"}
#ここまではなにも表示されない
$hensu=hello(); #ここで表示される
echo $hensu; #ここも表示される
あれ?なんで?
変数に関数を格納しただけで関数って実行されたっけ?
390:nobodyさん
09/02/08 15:29:48
>>389
>>1
391:nobodyさん
09/02/08 15:46:17 mhFiPpin
>>389
別の言語を知っているのをひけらかすために下らない質問をするっていうのも
このスレの趣旨にはあってるのかもな。
まさに、下らない
392:nobodyさん
09/02/08 16:14:38
cなら格納しただけで実行はされないのにPHPってクソだな
393:nobodyさん
09/02/08 16:23:49
w
394:nobodyさん
09/02/08 16:24:30
echoしてくれたほうがいい
395:nobodyさん
09/02/08 16:26:32
普通関数内でechoしても関数を実行されない限りは動かないはずなのにな
関数を変数に格納するだけで動作するとか変な仕様だな
396:nobodyさん
09/02/08 16:30:31
配列の最後の添字を得たいのですが、簡単な方法ありますでしょうか?
自分なりに考えてみたのですが、回りくどいような気がするので
$i=1;
foreach($icarr as $key => $val)
{
$hai[$i]=$key;
$i++;
}
echo $hai[$i-1];
397:nobodyさん
09/02/08 16:32:14
てか、変数にしなくても、
hello();
だけで表示されるくね
398:nobodyさん
09/02/08 16:33:12
>>395
$x = hello();
PHPではこれは実行なんだよ。
$x = function hello() {}
なら、格納だが。
399:nobodyさん
09/02/08 16:42:39
Cでカスだったやつは、PHPに来てもカスだな
400:nobodyさん
09/02/08 16:47:42 F6PnIVyb
変数$a,$b~$zまであって、
とりあえず、初期値を$a = 0,$b=0,・・・$z=0 にしたいんですけど
できる限りすっきり書く方法ってありますか?
あれば掲示おねがいします
401:nobodyさん
09/02/08 16:59:07
PHPの言語は何の言語で作られてますか?
402:nobodyさん
09/02/08 17:03:37
愛
403:nobodyさん
09/02/08 17:05:00
>>401
phpの72%は勢いで出来ています
phpの17%は波動で出来ています
phpの6%は言葉で出来ています
phpの3%は理論で出来ています
phpの2%は成功の鍵で出来ています
404:nobodyさん
09/02/08 17:05:45
[php] 攻撃:89 素早さ:21 防御:77 命中:86 運:45 HP:139
[c] 攻撃:36 素早さ:29 防御:59 命中:13 運:95 HP:223
php vs c 戦闘開始!!
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は120のダメージを受けた。
[c]の攻撃 HIT [php]は1のダメージを受けた。
[php]の攻撃 HIT [c]は92のダメージを受けた。
[c]の攻撃 MISS [php]は攻撃を回避した。
[php]の攻撃 HIT [c]は128のダメージを受けた。
[php]が[c]を倒しました(ラウンド数:3)。
405:nobodyさん
09/02/08 17:08:43
>>396
end
array_pop
406:nobodyさん
09/02/08 17:17:02
>>400
$a = $b = $c = $d = $e = $f = 0;
407:nobodyさん
09/02/08 17:41:19
>>400
無理やりやってみた
foreach (get_defined_vars() as $varName => $varValue) {
if (ctype_lower($varName)) $$varName = 0;
}
というか初めから $var['a'] $var['b'] $var['c'] という風に
連想配列でやった方がいいんじゃないの?
408:nobodyさん
09/02/08 18:37:59
>395
クロージャを格納するのと関数の実行結果を格納するのは別の操作だ。JavaScriptで言うと
var hoge = hogeFunc();
var hoge = hogeFunc;
Cで言えば、関数ポインタを渡すのと関数の戻り値を渡す事の違い。
>400
for($loop=ord('a'); $loop <= ord('z'); $loop++){
${chr($loop)} = 0;
}
うっかりループ変数に$iを使っちまったぜ…9番目の変数が$iなのを忘れていた。
まとめて初期化したいという事は、何らかのかかわりを持った変数群だろうから、配列にしておく事をお勧めする。
変数名に意味を持たせるのは地獄の始まりだしな。そもそも、この処理(可変変数)は禁呪に近い。地獄への直行便だ。
$aが実は「アルファベットaの登場頻度」とかだったとしても、俺なら連想配列を使う。
変数をその後どう使うつもりか、ちょっとだけ話してみ?誰かがもう少しマシなデータ構造を考えてくれると思うぞ。
409:408
09/02/08 18:45:37
ちなみに
for($loop='a'; $loop <= 'z'; $loop++){
$$loop = 0;
}
も動く。どうせ黒魔術ならこれでもいいかもな。
410:nobodyさん
09/02/08 19:01:39
$$loopの$が2つつくのってどういう意味ですか?
411:nobodyさん
09/02/08 19:43:49
>408でも触れたが、可変変数(Variable variables)という名前からしてもう頭のおかしい言語仕様。
URLリンク(jp2.php.net)
こいつを使いたくなる時の99%は、設計が悪い時。残りの1%はわざと分かりにくいコードを書こうとする時。
パッと見>409のコードはスッキリしてるだろ?
この後のコードが死ぬほどカオスになる。デバッグの難易度も跳ね上がるし、コード解析の類も殆ど効かなくなる。
自分で書いておいてなんだが、こんなコードを書く奴がチームにいたら何とかして転属させる。
412:nobodyさん
09/02/08 19:46:02
じゃそんなの教えんなよ
413:nobodyさん
09/02/08 20:05:59
仕様で語りたいんなら、言語仕様の闘技場でもいってくれ。
いくらブログを呼んでもらえないからって、こんなところで、下らない持論を
ひけらかさなくてもいいだろ。
みんなわかってて使ってるんだ。
たとえば、JavaScriptだって、関数言語ライクにかっこいいコーディングもできれば
グローバル使いまくりで糞なプログラムだって書ける。
要は使う奴のセンスの問題。気に入らない言語仕様があるなら使わなきゃいいだけ
414:nobodyさん
09/02/08 20:47:00
PHPがどうこうという問題ではなく、可変変数の類がタブー視されていない言語なんぞそうそう存在しないと思うが。
(その割に、類似機能を実装してる言語は多いけどな)
ActiveRecordパターンとかSimpleXMLみたいな動的に構造が変わるものを実装しようとした場合には便利だが、基本的に悪手だろ。
「$a - $zまでを初期化したい」なんていうのは、>407-408で既出の通り、そもそも質問が(質問が前提としているデータ構造が)おかしい。
415:nobodyさん
09/02/08 20:47:53
わからないから使ったことない俺の立場も考えて教えてくれよ!
416:nobodyさん
09/02/08 21:15:49
いらっしゃいませ
いっぱい echoしていってね!
417:nobodyさん
09/02/08 21:24:27
初心者だからってバカにするなよ!!!!!
418:396
09/02/08 23:48:11 lPL/MCOf
>>405
両方とも要素が出てしまって、添字が出てきません
419:nobodyさん
09/02/08 23:51:15
array_keysかければいいじゃん
420:nobodyさん
09/02/08 23:51:19
count
421:nobodyさん
09/02/08 23:59:29
$array = array('yahoo' => 'www.yahoo.com', '2ch' => 'www.2ch.net', 'google' => 'www.google.com');
$keys = array_keys($array);
echo $keys[count($keys)-1]; // 'google'
422:nobodyさん
09/02/09 01:00:26 3WrJzpwr
$aに含まれる連想配列の数は不定です。
この$aのキーを元に、2つの配列に分けたいと思います
キーの先頭文字aとbを元に2つの配列に分けたいのですが
どなたかご教示お願いいたします
$a['a1']=1;
$a['b201']=2;
$a['b31']=2;
$a['a23']=0;
$a['b1']=2;
$a['a300']=1;
$a['b42']=1;
$a['b3']=2;
423:nobodyさん
09/02/09 01:06:58 FohDFk4k
【OS名】Windows XP Pro x64
【PHPのバージョン】php5.2.6
【連携ソフトウェア】EXCEL
【質問内容】
PHPからEXCELファイルをCOM経由で操作したいのですが、
何か良いマニュアルもしくはサンプルはありませんでしょうか?
424:nobodyさん
09/02/09 02:35:15
>>422
PHPのバージョンぐらいは提示しといた方がいいぞ
比較的新しいバージョンなら
$aa = array();
$ab = array();
foreach ($a as $key => $val) {
if ($key[0] = 'a') {
$aa[$key] = $val;
}
else if ($key[0] = 'b') {
$ab[$key] = $val;
}
else {
}
}
425:nobodyさん
09/02/09 02:37:33
>>423
php excelで検索すれば、いっぱい引っかかるから、良さそうなの適当につまんでみて
426:nobodyさん
09/02/09 03:00:22 1doMXVgO
セキュリティのことでお聞きしたいんですが (板違いならすいません
test.php?num=○○ というのがあって
○○にSQL文をうたれる場合があるんですよね?
○○は整数なので、is_numericを使えば完璧ですか?
427:nobodyさん
09/02/09 03:12:12
ctype_digit()のがベター
428:nobodyさん
09/02/09 03:18:07
いや適切にエスケープすりゃ整数だの数値だのどうのと考える必要ないだろ
429:nobodyさん
09/02/09 11:06:59
>>424
なんかスマートじゃないなあ
430:nobodyさん
09/02/09 11:14:24
じゃどんなのがスマートなんだ
431:nobodyさん
09/02/09 11:21:54
php5ならarray_intersect_ukey使えばおk
432:nobodyさん
09/02/09 11:27:14
>>424
新しいバージョンとか明示しといて新しい技術が使われてない件
433:nobodyさん
09/02/09 11:53:59 3Lbj9zQQ
配列のキーと要素をarray_walkでくっつけたいのですが
うまく動作しません
どなたかアドバイスお願いします
$ary=array("a"=>"001","b"=>"002","c"=>"003);
function test($value,$key) {
$s= $key.$value;
}
$a = array_walk($ary,"test"));
echo $a;
434:nobodyさん
09/02/09 12:05:26 zB3vQynG
phpで簡単に日付計算してくれる関数ないの?
mysqlみたいにintervalみたいなやつあったら便利なのに
435:nobodyさん
09/02/09 12:12:51
shitsumonnha gutaitekini
436:nobodyさん
09/02/09 12:13:53
>>433
return
>>434
あるじゃん
437:nobodyさん
09/02/09 12:17:00
>>433
すまんreturnはarray_mapだった
array_walkは第一引数を参照で指定みたいね
438:nobodyさん
09/02/09 12:36:49 zB3vQynG
>>436
strtotimeでできたわ
㌧クス
439:nobodyさん
09/02/09 12:55:30 3Lbj9zQQ
ありがとうございます
値を引き継げないのでarray_walkは諦めます
440:nobodyさん
09/02/09 13:05:40
>>439
ヒント:要素に要素とキーをくっ付けて入れて戻して連結
441:nobodyさん
09/02/09 13:09:54
>>440
久々に、本物のヒントを見た。
442:nobodyさん
09/02/09 13:16:13
>>440-441
同一人物乙
443:nobodyさん
09/02/09 16:48:36 7eq/MQEm
mb_substitute_character()で何も指定しない状態で
echoすると設定されているものが表示されるとマニュアルに
あるのですが、実際にechoすると63という数字が
表示され、これがいったい何を意味してるのか分りません
63の意味と他にはどんなものが用意されているのか
知りたいので関連したページでも結構です教えてください
444:nobodyさん
09/02/09 16:51:17 9eTCLU3p
分からんから教えて
hoge.incというファイルに<?php ?> でくくらないfunctionを入れて別のファイルから呼び出して
evalでPHPにして使いたいんだけど
includeと組み合わせてできないの?
eval(include("hoge.inc"));ってやってみたけどそのままソースが表示された。
<?php ?>でくくればいいだけの話なんだけど、evalも使ってみたいと思って。
外部ファイルと組み合わせる時、evalってどうやって使えばいいの?教えてYO!
445:nobodyさん
09/02/09 16:59:56
>>443
無効な場合にcが出るということでは?よく分かんないけど
>>444
スレリンク(php板)
446:nobodyさん
09/02/09 17:02:55
>>444
returnして変数にいれるか、obで取得
447:nobodyさん
09/02/09 17:09:51
file_get_contentsで十分だろ
448:nobodyさん
09/02/09 17:14:04
>>446
そんなの嫌。もっと簡単な方法教えれ。
449:nobodyさん
09/02/09 17:17:12 9eTCLU3p
>>447
お前天才。一発解決だわ。
あとさー、file_get_contentsでwikipediaのソースを取得したいんだけど
なぜか403になるんだよ。なんで?
他のサイトはソースが取得できるのにwikipediaだけは無理なの。
なんで?
450:nobodyさん
09/02/09 17:32:15
>>444
evalなんて使うな!シネカス
451:nobodyさん
09/02/09 17:38:31
>>450
damare kono chimpo yarou