【PHP】下らねぇ質問はここに書き込みやがれ 45
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/05/12(土) 16:42:48ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2007/05/12(土) 20:11:37ID:???0003nobodyさん
2007/05/12(土) 21:44:14ID:???0004nobodyさん
2007/05/13(日) 00:27:07ID:aU5J+vQgwindows環境だからPHPエディタで編集 → 実行でやり易いけど、実務だと
編集するファイルはLinux上にありますよね。わざわざファイルまで移動して
Viエディタで編集してるんですか?eclipseだとリモートデバッグがあるらしいけど
重いし色々めんどくさそうだからもっといい方法ないですかね。私としては
PHPエディタを使いたいんですが;
0005nobodyさん
2007/05/13(日) 00:55:42ID:???手元のFreeBSDで開発。リモートにはSubversion via sshで同期を取る。
エディタはEmacs。リモートにも一応Emacsをインストールしてある。
0006nobodyさん
2007/05/13(日) 00:56:03ID:???zendは会社が経費で落としてくれるようなあたたかいところか、自腹で使ってる奴がいる程度
0007nobodyさん
2007/05/13(日) 00:57:08ID:???0008nobodyさん
2007/05/13(日) 09:02:19ID:???http://pc11.2ch.net/test/read.cgi/php/1178955837/
0009nobodyさん
2007/05/15(火) 09:40:09ID:???0010nobodyさん
2007/05/15(火) 16:43:27ID:6TG+QTaB半角記号があればはじくスクリプトを書いているのですが
$と\だけが正しくはじかれません。
if(eregi("$",$_POST["deta"])){
//もしくはif(eregi("\\",$_POST["deta"])){
return false;
}else{
return true;
}
いちを\$も試してみたのですが上手くいきません。
正規表現でググって見ても明確な答えも出ず
$でググる事もできないので困ってます。
OSはfreeBSD、php4.4.6(レンタルサーバ)になります。
001210
2007/05/15(火) 17:02:38ID:6TG+QTaBすばやい回答ありがとうございます。
今試して見ました。
if(eregi('$',$_POST['data'])){
return false;
}else{
return true;
}
と言う事ですよね、やっぱりダメでした。
詳しく言うと、$が入っていようが無かろうがここで必ず
引っかかってfalseを返すようなのです。
\の方は\が入ってなかろうが必ずtrueを返すみたいです。
しかも$_POST['data']のなかに\しか入れてないのに、print('$_POST['deta']');
したときに、おかしなことに\\と置き換わって表示されている事です。
そのほかの記号#$%等はうまくはじけるので、このレンタルサーバだけの
しようかもしれないと思っております。
001310
2007/05/15(火) 17:09:43ID:6TG+QTaBprint("$_POST['deta']");
シングルとダブルクオートの使い分けをレスに書いておらず
訂正させていただきます。
0014nobodyさん
2007/05/15(火) 17:11:47ID:???むこうでやれよ。お前。向こうの質問と、こっちの質問、重複して、しかも違うところあるだろが。
そもそもここはオチスレだ。
001510
2007/05/15(火) 17:17:54ID:6TG+QTaBこちらに書いた質問は取り消します。
0016nobodyさん
2007/05/15(火) 17:21:06ID:???0018nobodyさん
2007/05/15(火) 18:40:28ID:???http://qb5.2ch.net/test/read.cgi/saku/1030275652/
0019nobodyさん
2007/05/26(土) 20:39:03ID:zAGWqET90020nobodyさん
2007/05/27(日) 10:22:46ID:24TJO5qastrpos使えば?
0021nobodyさん
2007/05/28(月) 10:05:36ID:efvDy8q41列目は通しナンバー、2列目しなもの、3列目金額です。
↓画面はこんな感じです。
1,バナナ,100
2,おかし,150
3,牛乳,200
4
品物:[ ]
金額:[ ]
[登録]
カンマ区切りのデータです。
1列目は自動でナンバーを振りたいです。
$data01 = file("data01.txt");
print"$data01[1]<br>";
print"$data01[2]<br>";
print"$data01[3]<br>";
こうすると1行ずつ表示されました。
foreach($data01 as $strdat_data01)
$strbuf_data01 = split(",", $strdat_data01);
print"$strbuf_data01[0]<br>";
print"$strbuf_data01[1]<br>";
print"$strbuf_data01[3]<br>";
これは1行目だけ1つずつ表示されました。
うまくいきません!
どうしたらいいでしょうか?
0022nobodyさん
2007/05/28(月) 11:07:00ID:???>これは1行目だけ1つずつ表示されました。
>うまくいきません!
>どうしたらいいでしょうか?
ハァ?
0023nobodyさん
2007/05/28(月) 11:30:57ID:IWdKxl1zDBにあるひらがなのデータを引き出して、PHPであいうえお順に並べたいのですが、何かいい方法はありませんでしょうか?
宜しくお願いします。
0024nobodyさん
2007/05/28(月) 11:33:57ID:???0027nobodyさん
2007/05/28(月) 11:53:00ID:IWdKxl1z回答ありがとうございます!
なるほど!DBで引きださないといけないんですね。
今調べているんですが、ネットじゃ見つかりませんorz
探し方が悪いな。。。
002821
2007/05/28(月) 11:53:02ID:efvDy8q40030nobodyさん
2007/05/28(月) 12:11:01ID:pAImQaIB$_POST配列についてだけんども、フォームからの情報が空のまま送信されてきたときは、
$_POSTは空の配列という認識でええんかな?ようするに$array=array()で作成された空の配列と
同じと考えていいのかな?
教えてくさい。おながいします。
0034nobodyさん
2007/05/28(月) 12:20:24ID:???×emptyはtrueで返ってきたりする
○emptyはfalseで返ってきたりする
003530
2007/05/28(月) 12:26:45ID:pAImQaIB>>33 ですよね?わけわかんないです(><#)
0036nobodyさん
2007/05/28(月) 12:46:48ID:???「おしえれ」「教えてくさい」「おながいします」「ふざけた顔文字」
この時点でまじめに質問しようとしてないことが見て取れるので却下
0037nobodyさん
2007/05/28(月) 13:40:41ID:ywe2HeV4$_POSTは空の配列という認識で良いのですか
0041nobodyさん
2007/05/28(月) 15:17:16ID:ywe2HeV4汚いソースで申し訳ありませんが・・・
<?
/* test.php EUC-JP ?>*/
?>
<html lang="ja">
<head>
<meta http-equiv="content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<fieldset>
<form action="test.php" method="post">
<input type="text" name="hoge" />
<input type="submit" />
</form>
実行結果<br />
<?
echo $_POST['hoge']; //blank
if(empty($_POST['hoge'])) echo"empty" ; //TRUE
if(isset($_POST['hoge'])) echo"isset" ; //TRUE
if(!empty($_POST['hoge'])) echo"!empty"; //FALSE
?>
</fieldset>
</body></html>
0042nobodyさん
2007/05/28(月) 15:18:08ID:ywe2HeV40043nobodyさん
2007/05/28(月) 15:35:38ID:???0045nobodyさん
2007/05/28(月) 15:39:13ID:???自分が別の時に書いたものの改造なので・・・
>>44
2行目については把握しています
1行目の意味することが理解できません
0046nobodyさん
2007/05/28(月) 15:46:36ID:???へ?自分が別の時に書いたものの改造だからなんでprint_rやvar_dumpができないのか詳しく説明してくれ
0047nobodyさん
2007/05/28(月) 15:48:22ID:ywe2HeV4失礼しました
0048nobodyさん
2007/05/28(月) 15:57:28ID:???解決してあげようと回答者が聞いてるのに無視
「荒れた」とかいう原因は自分なのに放置
多くの人の時間と手間を無駄にしておいて自分勝手に終わらせる無責任さ
一言礼すら無し
お前最悪すぎるよ・・・
0049nobodyさん
2007/05/28(月) 16:01:25ID:ywe2HeV4これはない
> 「荒れた」とかいう原因は自分なのに放置
原因が云々の問題?
> 多くの人の時間と手間を無駄にしておいて自分勝手に終わらせる無責任さ
> 一言礼すら無し
この点は本当にごめんなさい
みなさんありがとうございました
0050nobodyさん
2007/05/28(月) 16:05:58ID:???0053nobodyさん
2007/05/28(月) 16:09:46ID:???0054nobodyさん
2007/05/28(月) 16:11:45ID:ywe2HeV4ごめんなさい・・・
>>46の質問は解決のための質問とは思えない、という意味です
都合の悪い、という意味がわかりませんが
0056nobodyさん
2007/05/28(月) 16:19:50ID:???どうすれば解決するか分からないから質問しに来たくせに、そういうことは分かってるつもりなんだw
大体>>46は>>45でキミが意味不明な返答したから言われてんじゃん。
改造だからprint_rやvar_dumpが使えないってのは君の中では論理的な考えになってるのか?
もしそうならそれに興味があるから是非教えてほしい。
0057nobodyさん
2007/05/28(月) 16:19:49ID:ywe2HeV4> へ?自分が別の時に書いたものの改造だからなんでprint_rやvar_dumpができないのか
> 詳しく説明してくれ
詳しく教えて何か意味がありますか?
言い方にも問題があると思いますよ
0058nobodyさん
2007/05/28(月) 16:21:09ID:ywe2HeV4改造だから使えないんじゃなくて、改造だから使っていなかった、という意味です
いろいろなみなさんにご迷惑おかけして申し訳ありませんでした
0059nobodyさん
2007/05/28(月) 16:22:54ID:???0060nobodyさん
2007/05/28(月) 16:25:48ID:8Nb4gWX5おかげで色々な問題を自分で解決できるようになりました
本当にありがとうございます
006130
2007/05/28(月) 16:26:32ID:pAImQaIBここのひとたちは、きっとぉんなのこが困ってると、気持ち悪く
てとりあしとり、ょぶんなことまで、ぉしぇてくるの。。ほんとうはきもちゎるぃのに・・
でも、きのょゎぃぉとこのこぁぃてだと、ばかみたぃにぃばりくさってるの。
そぅぃぅ、ぉとこの人って、かすょね。ゎたしのしょくばにもたくぁんいるの。そぅぃぅ、ぉとこのひと。
だから、かのじょもできなぃんだょ♥
0062nobodyさん
2007/05/28(月) 16:26:39ID:???0063nobodyさん
2007/05/28(月) 16:26:53ID:???空の配列とは$_POST = array();
>>41
これは$_POST = array("hoge"=>"");
print_rやらvar_dumpすればすぐ分かること
0064nobodyさん
2007/05/28(月) 16:28:20ID:???print_rやvar_dumpを使用すれば解決が早まる
↓
しかし質問者は改造だから使用できないという
↓
理由を聞く
もしかしたら勘違いかもしれないし、別の方法があるかもしれない
何かおかしいですか
回答者は質問者に対して逆に問いを発してはだめですか
質問者の要求に従ってロボットのように知識を出して検索して推測して答えを出さなきゃだめですか
>>58
いや、使えば?
新規作成でも改造でも使えばいいと思う。
何が障害なのか知らんが。
0068nobodyさん
2007/05/28(月) 16:30:01ID:???0069nobodyさん
2007/05/28(月) 16:30:33ID:???例えば【<H3>${KoMidasi}</H3>】という風に、処理する度に違う値が$KoMidasiに入る感じになるとします。
ですが、
for($i=0; $i<100; $i++){
$KoMidasi を定義する処理
$OUT_HTML .= $(HTMLの雛形);
}
と書いた場合「$(HTMLの雛形)」中の$KoMidasiには、外部ファイルが、includeされた時点での変数値が入ります。
ですのでforの1-2行目に include $(HTMLの雛形)があるファイル.php; と書けば問題ありませんが、100回も取込を行わなければなりません。
取込対象は大した容量ではありませんがやはり綺麗な処理とは言えないので、
どうにか一回取り込んで後は動的に変数値を置き換えたいのですがどうすれば宜しいでしょうか。
説明べたでスミマセンが宜しくお願いします。
007067
2007/05/28(月) 16:31:27ID:???0071nobodyさん
2007/05/28(月) 16:32:00ID:8Nb4gWX5お疲れ様です、みたいなことでも言って欲しかった?
こういう人いるから質問をしたくないんですよね
0073nobodyさん
2007/05/28(月) 16:34:50ID:???「だから何?」って聞きたかっただけなんだけど
一体お前が何を言いたいのか解らない
聞くな答えるなって言いたいのか?
007469
2007/05/28(月) 16:37:55ID:???今回は例ですので実際は○月の日別集計を表示する感じで日毎の雛形に集計結果を変数値として代入して返す風な処理です。
なので100回とか回数は飽くまで同様の処理を多数行う必要があるということをそれとなく表してるだけです。
<OL>
<LI>05/28(月) →$DAY
<LI>02:00 - 荒らしと遭遇 → $TIME[($LIST[$i])]
|
<LI>23:45 - 就寝
</OL>
こんな感じです。(実際は全然違いますが)
0075nobodyさん
2007/05/28(月) 16:40:37ID:???とりあえず書かせるだけで誰も答えないスレってどうよ?w
0079nobodyさん
2007/05/28(月) 16:44:58ID:???情報を出し惜しみしないで実際の例で出してくれ
非常に理解しづらいし
抽象的な話されても実際に役に立つアドバイスが出せるか不明だし
つかまぁ俺だったらテンプレートエンジン使うけどな
0082nobodyさん
2007/05/28(月) 16:53:39ID:???008369
2007/05/28(月) 17:09:34ID:???行数の関係で読みにくいですが、どうかご指南お願いします。
―inc.php―――――――
$HTML = <<<TEXT
<H3>${Komidasi}</H3>
<OL>
<LI>${DAY}
<LI>${TEXT}
</OL>
TEXT;
―――――――――――
―data.xtx――――――
100円拾った<>13<>今日は机の中で100円拾った
今日も2ch<>25<>一日vipでネカマになって遊んだ有意義だった
―――――――――――
―index.php――――――
include inc.php;
$data = file("data.txt");
for($i=0; count($data)>$i; $i++){
list($Komidasi, $DAY, $TEXT) = explode("<>", $data[$i]);
$OUT_HTML .= $HTML;
}
―――――――――――
index.php の1行目でコールすると変数値は空なのでforの2行目でコールしなければならないというのが>>69で言いたかった内容です。
どうか1回コールして動的に変数値を置き換える方法はありますでしょうか。
因みにSmartyの利用も考えましたが、色んな環境で動くことを考慮して利用せずに組もうと思います
0084nobodyさん
2007/05/28(月) 18:13:09ID:ni3tLdmG0086通りすがり
2007/05/28(月) 19:44:58ID:???1 <?php
2 class tmpA{
3 var $m_html="";
4 function tmpA($fpath=""){
5 //本当はここでfopen fcloseでファイル読み込み
6 $this->m_html = "<H3>__KMD__</H3> <OL> <LI>__DAY__ <LI>__TXT__ </OL>";
7 }
8 function tmpB($row){
9 list($k, $d, $t) = explode("<>", $row);
10 $ret = preg_replace("/__KMD__/i",$k,$this->m_html);
11 $ret = preg_replace("/__DAY__/i",$d,$ret);
12 $ret = preg_replace("/__TXT__/i",$t,$ret);
13 return $ret;
14 }
15 }
16 $c = new tmpA();
17 $OUT_HTML = "<html><head></head><body>";
18 $data = file("data.txt");
19 for($i=0; count($data)>$i; $i++){
20 $OUT_HTML .= $c->tmpB($data[$i]);
21 }
22 $OUT_HTML .= "</body></html>";
23 echo $OUT_HTML; </xmp>
0089nobodyさん
2007/05/28(月) 22:30:20ID:???$data = file("data.txt");
for($i=0; count($data)>$i; $i++){
list($Komidasi, $DAY, $TEXT) = explode("<>", $data[$i]);
$OUT_HTML .= <<<TEXT
<H3>${Komidasi}</H3>
<OL>
<LI>${DAY}
<LI>${TEXT}
</OL>
TEXT;
}
で、いいじゃん。
0090nobodyさん
2007/05/28(月) 22:52:21ID:???>>86はどうか知らんが、純粋なOOPやってる人ならclassに入れるのはあたり前。
使う必要があるとかそういったことは手続き型脳の視点だから。
俺ならmainメソッドも書いて、最後にそれだけ実行するようにするけど。
0091通りすがり
2007/05/28(月) 23:07:30ID:???クラス化しておいた方が、メンテと拡張はしやすいと思ってるだけ。
ログやぶっこ抜いたhtmlに応じてテンプレートを切り替える時とかね。
0092nobodyさん
2007/05/28(月) 23:16:31ID:???理由も持たずに何でもクラスに入れりゃいいと思い込んでるならOOP脳だろ
例のクラスはオブジェクト設計的に何の意味も持ってないしクラスにした価値もない
よって>>89のようにやるのが正解 (つーかロジック示せば十分だろ)
0093nobodyさん
2007/05/28(月) 23:18:57ID:???0094通りすがり
2007/05/28(月) 23:25:53ID:???ま、俺の場合は、
>>予め外部ファイルに作っておいたHTMLの雛形の特定の場所に変数を置き換えて表示する処理にて、
ってな第一要件をふまえると、ループ内に直にひな形を書くのはNGだと思ったから。
んで、外部にひな形が有るすなわち、テンプレートは切り替わる可能性がある。と
だからテンプレート切り替えの処理はまとめておいた方がいいよなぁ。→クラス作っておくこうか
となると
0095nobodyさん
2007/05/29(火) 00:10:52ID:7xq0Zk/Psmartyが使えない環境ってどんな環境?
って、このスレの常連みたいな意地悪な解答はおいといて
知ってるかもしれないけどsmartyなどPHPでできたテンプレートエンジンは
パスさえ通せば動くので、よほど特殊な環境じゃなければ
動かせるので、素直に使った方が楽だと思うけどなあ
0096nobodyさん
2007/05/29(火) 00:26:02ID:???全てをオブジェクトにしないと使えない言語だってあるわけですよ。
PHPしかやったことない人間は知らんが、
Javaしかやったことないような人間が、
中途半端OOPもできるPHPに移行してきた場合、
必然的に全てオブジェクトになってしまうだろ。
0098nobodyさん
2007/05/29(火) 01:49:36ID:???ただ他人のコードを幾つかいじった経験からいうと
・ロジックが画面半分超える場合は分離してくれ
・Perl風に書くのだけはやめてくれ、つかPerlで書けよ
と思うときはある。
とりあえずヒアドキュメントでHTML書くのはやめてくれ、マジデ orz
0100nobodyさん
2007/05/29(火) 02:16:01ID:???PHP4とPHP5とでは記述の違いはありますか?
0101nobodyさん
2007/05/29(火) 02:30:48ID:???4の書き方にあわせれば当然5でも使える。
5から使えるようになった機能や関数があるから、
5の書き方をした場合、4で使えるとは限らないのもまた当然。
0102nobodyさん
2007/05/29(火) 05:30:24ID:???<H3>..</H3>
phpとは関係ないけど、htmlの「タグ」は小文字<h3></h3>で書く癖つけたほうがいいよ
0103nobodyさん
2007/05/29(火) 06:26:11ID:???いやいや大文字がいいよ
0105nobodyさん
2007/05/29(火) 07:49:20ID:???0106nobodyさん
2007/05/29(火) 08:24:04ID:???俺は小文字で書くけど。
0107nobodyさん
2007/05/29(火) 08:50:19ID:???0108nobodyさん
2007/05/29(火) 10:19:59ID:nFUqZanjとりあえず確認したところではrequireやsession_startなどの行を入れて
ブラウザからソース見るとその部分に?が入っているのですが
これはいったいどういうことなのでしょうか?
0109nobodyさん
2007/05/29(火) 10:34:41ID:???htmlの知識もある程度あったほうがよろしい。
phpもだんだん手続き型からオブジェクト型に変化してるように、
htmlも進化しているのさ。
時代に即した書き方を覚えるのもプログラマとしてはよい心がけだと思うぜ。
まぁhtmlの場合はブラウザに実装任せてるから滅茶苦茶でも動くんだけどね。
0111nobodyさん
2007/05/29(火) 10:55:15ID:nFUqZanjなるほど、ありがとうございました。
0112nobodyさん
2007/05/29(火) 11:56:20ID:4MbNvczKこれってどうしてなんでしょうか?
0113nobodyさん
2007/05/29(火) 12:06:27ID:???0114nobodyさん
2007/05/29(火) 12:32:07ID:???0115nobodyさん
2007/05/29(火) 12:39:43ID:???ttp://e-words.jp/w/E99D99E79A84E5A489E695B0.html
ttp://e-words.jp/w/E382B0E383ADE383BCE38390E383ABE5A489E695B0.html
0116nobodyさん
2007/05/29(火) 12:56:15ID:4MbNvczKなるほど
0117nobodyさん
2007/05/29(火) 13:03:50ID:05UZMunqfunction __construct($mode) {
$this->{$mode}();
}
…
}
この{$mode}を__constructに渡した任意の文字列に置き換えて
そのメンバーmethodを実行したいのですが、可能でしょうか?
やりかたをおしえていただけますでしょうか?
0118nobodyさん
2007/05/29(火) 13:15:40ID:xx8sT90w/ ヽ
( ノ⌒〜⌒〜⌒ヽ、 )
ヽ/ \, ,/ i ノ
| ≧ , ≦ |
| 、 ,,,,(、_,),,,, ノ|
ヽ ト=ニ=ァ /
\ `ニニ´ /´ ̄ヽ
/ ̄`┻━┻' '´- }
r' f{ _ノ癶_ ノ} /
/ ハ`l´/,ゝ' /,r‐-、 j
〈´7'{ V'´ '/ />’
`7 ヽ ヽ / / l | __ ,.- ._
/ ハ ヽ/ / ,ヽ/ ̄ /´¨'´‐、 `ヽ プッー
/ / 丶.,′ / ' /  ̄7 ヽ.、_ ', ´⌒`::`)
. ,' / ,' /! ,'ヽ \`7 ≡⌒;;⌒`)
/ / / / ヽ_ /、 / , ,' ::⌒`;; )
/ / / ハ ,イ、 `ヽ._/ .X / /
/ ./_ / ./ ` } }、ー- -'´ ,イヽ _,.イ
/ ,.-_ヽ〉、./ / / /l ` ′l,.-ヽ''´ ,'
ヽ `^_ヾ、 / 丶-、| _,ィ'´ ,'
`ーr_'二`._/ 「 ̄ l /
| | /
| ! /
| l /
l | /
0119nobodyさん
2007/05/29(火) 13:25:46ID:???何がやりたいのかサッパリ。
>$this->{$mode}();
何これ?
>そのメンバーmethodを実行したいのですが
どのmethod?
class Hoge {
private $mode;
function __construct($mode) {
$this->mode = $mode;
}
function foo() {
return $this->mode;
}
}
$obj = new Hoge("ちんこ");
echo $obj->foo();
0121nobodyさん
2007/05/29(火) 13:32:23ID:???0123nobodyさん
2007/05/29(火) 14:45:00ID:???0124nobodyさん
2007/05/29(火) 15:00:12ID:???ていうか、スキル以前に頭が悪い(藁
ほんと使えない。
ここ以外にPHPの質問板を紹介しろ。
0125nobodyさん
2007/05/29(火) 15:04:38ID:???___ ━┓ ___ ━┓
/ ― \ ┏┛/ ―\ ┏┛
/ (●) \ヽ ・. /ノ (●)\ ・
/ (⌒ (●) /. | (●) ⌒)\
/  ̄ヽ__) / | (__ノ ̄ |
/´ ___/ \ /
| \ \ _ノ
| | /´ `\
0126nobodyさん
2007/05/29(火) 15:04:57ID:???http://pc11.2ch.net/test/read.cgi/php/1158647441/
0127nobodyさん
2007/05/29(火) 15:10:04ID:6paIllMGページの特定の場所にジャンプしたいとき、
<a href="#foge">
リンクの場合には、上記のようにしますが、
ボタンフォームの場合にはどうすればいいのでしょうか?
<form method="POST" action="#foge">
このようにしてもダメでした。
0129nobodyさん
2007/05/29(火) 15:12:48ID:???ここがなんのスレか理解できるまで>>1を読んだ後、
http://pc11.2ch.net/test/read.cgi/hp/1178272099/
こっちにいってくださいね。
0130nobodyさん
2007/05/29(火) 15:15:12ID:???値をセットしてゲットしてechoするだけのクラスを書いて117に対して何を言いたいのかさっぱり?
ほんと低脳という言葉がぴったりだな・・・
0131nobodyさん
2007/05/29(火) 15:16:01ID:6paIllMGすみませんでした。そちらできいてみます。
0132nobodyさん
2007/05/29(火) 15:27:04ID:???この時間帯はヘボ回答者と煽ることしかできない馬鹿しかいないから、
夜聞くといいよ。なんせニートが元気な時間帯だからな。
0133nobodyさん
2007/05/29(火) 15:28:23ID:???0134117
2007/05/29(火) 15:33:03ID:05UZMunq>>121さんの言うとおり、可変メソッドがやりたいのです。(言葉を知らなくて的確に説明できませんでした)
ですので、>>119さんのでは意図した動きをしません。(ありがとうございます)
調べてみると、
$val = 'hoge';
$this->$val();
これはできるようなのですが、(試してはいません)
$val = 'hoge';
$this->Method$val();
これはできないのでしょうか?
ブラケットをいれてもパースエラーになります
0136nobodyさん
2007/05/29(火) 16:32:41ID:dXtsAnsD今、ユーザー登録のフォームを作っていますが、
入力された情報をテキストに保存するかデータベース(mysql)に保存するか迷っています
レコードの取得や削除を考えれば圧倒的にデータベースが有利ですが、
テキストのメリットは何があるのでしょうか?
フォームに自由記入欄があったあっとして、そこで全角200文字くらい打ったりする人がいる場合、
それはテキストに保存した方がよかったりしますか?
0139nobodyさん
2007/05/29(火) 16:49:10ID:???煽りではない。分かってない奴に対する単なる指摘。
お前みたいのが頭の悪い煽り。
能力ないならもっと謙虚になれ。
>>136
データベース使うべし
0140nobodyさん
2007/05/29(火) 17:17:44ID:???その説明ではどういうことをしたいのかわからないが、
>>117でやりたいことはマニュアルに書いてる通りでできるはず。
>>136
テキストのメリットなんてDBが使えない鯖でも動くとか、
セキュリティにDBほど考慮する必要がないってことぐらい。
DBがどういう目的で作られたかを考えれば、
DBがテキストよりもあらゆる面で優秀なのはわかる。
何より楽だからね。あえて難しい道を進みたいならテキストで。
>>138
$val = '';の間違いかな。
その場合$valがメソッド名だからいらない気もするけど。
>>139
どうみても煽りだろ。煽りじゃなくて指摘とか言い分が馬鹿すぎる。
ていうか何だその回答は。簡単な質問にどうでもいい答えしやがって。
偉そうなこといっといてヒドイなこれはwwwwww
0141nobodyさん
2007/05/29(火) 17:22:57ID:dXtsAnsDありがとうございます
みなさん親切で助かりました
0142138
2007/05/29(火) 17:25:06ID:???違うよ、>>134が意図してる動作は$valの文字列と
'Method'とを連結させた名前のメソッドをコールしたいってことだろう
0144nobodyさん
2007/05/29(火) 17:32:20ID:???なるほど。漏れは型指定でもしたいのかと思ったわ。
連結演算子がわからないような質問者とは思えないんだけどね。
>>143
お前はただの煽り馬鹿だと思っていたが、
ヘボ回答者でもあったから煽りたくもなるわwwww
0145nobodyさん
2007/05/29(火) 17:35:55ID:???014669
2007/05/29(火) 17:43:05ID:???全レスしたい位ですが、要所レスにて割愛させて頂きます。
>>86
サンプルまで書き起こして下さいまして大変分かりやすいです。
ただ、当方所謂php4までの書き方しか身についておらずオブジェクト指向なのは取り扱った事がなかったりしています。
良い機会なのでclassでの書き方に挑戦してみようと思います。
HTMLタグに関しましてはXHTMLが小文字を推奨していることは把握していましたが、癖でつい大文字表記してしまいました。
今後どっちに転ぶのか分かりませんがとりあえず小文字の癖をつけようと思います(後はスラッシュも)
結局のところ当方がやろうとしていることはclassで指定するか、或いはfor内にぶち込むしか無いという事でしょうか。
>>83で書いたのは噛み砕いた感じでして実際は10-15行程度ですのでメンテのし易さを考慮してロジックとデザインを分けて処理しようと考えておりました。
ちなみにSmartyを使わない理由はphpバージョン云々より処理速度が低下するのを懸念して避けました。
宜しくお願いします。
0147nobodyさん
2007/05/29(火) 17:49:51ID:TCS52xeP素直にPEAR使ったほうがいいのかな?
0148nobodyさん
2007/05/29(火) 17:54:39ID:???simplexmlでRSS出力したいってこと?
まぁsimplexmlはやめたほうがいいよ。
出力されたソースみたら萎えるよきっと。
0149nobodyさん
2007/05/29(火) 17:58:30ID:TCS52xePうんたしかに・・・
そしてRSSの種類の多さに泣きそうになった。
PEARのXML_RSSを使うのが一番無難ですか?
0150nobodyさん
2007/05/29(火) 18:03:45ID:???0151通りすがり
2007/05/29(火) 18:07:19ID:???function tmpB($m_html,$row){
list($k,$d,$t) = explode( 省略…
$ret = preg_replace("/__TXT__/",$t,$m_html);
省略
return $ret;
}
$m_html = テンプレの値;
省略
for($i=0 …以下略){
$OUT_HTML .= tmpB($m_html,$data[$i]);
}
ってやれば、ファンクションだけでもできるっしょ
テンプレートに変数直書きするのではなく、置換用文字列を与えておけば、
いいってだけだから。
0152nobodyさん
2007/05/29(火) 18:07:41ID:???Atomにしなさいよっ!
0153nobodyさん
2007/05/29(火) 18:12:12ID:???0155nobodyさん
2007/05/29(火) 18:36:48ID:TCS52xeP難儀だなこりゃw
015669
2007/05/29(火) 18:54:35ID:???なるほど!レスありがとうございます。
そんな方法があるとは思慮が及びませんでした。
とりあえずはそちらの方法で実装して、追々class指向の書き方のスキルが備わったら改めて前述の方を試してみます。
アドバイスありがとうございました。
0157nobodyさん
2007/05/29(火) 19:08:00ID:GuBB/5Uva.php、b.phpがあったとして
b.phpには
function fopen( )
{
return mysql_connect();
}
function fclose( $link )
{
mysql_close( link )
}
と、あるとして、a.phpで
if( ボタン1が押されたら ){
$fh = fopen( );
}
else if( ボタン2が押されたら ){
fclose( $fh );
}
と、すると、当然ならが$fhの値はなくなってmysql_closeは失敗するのですが
$fhの値を保持しておくにはどうしたらいいのでしょうか?
それともPHPではこういう書き方自体しないのでしょうか?
一連の流れは同じ関数内でするのが普通なのですか?
例えば、
mysql_connect();
なんかテーブル処理
mysql_close( )
と、必ずMySQLのテーブル操作をするたびにconnectとcloseを毎回呼び出すみたいな・・・
0159nobodyさん
2007/05/29(火) 19:16:36ID:???状況がよく分からんな
そら、mysql_connect() がスクリプト内で
一度も呼ばれずにmysq_close() が呼ばれれば
当然失敗するだろう
0160nobodyさん
2007/05/29(火) 19:22:40ID:GuBB/5Uvあ、そんなのがあるんですか、これ閉じたい場合はどうしたら閉じれるんですか?
>>159
いやいや、言いたいのはそこじゃなくて、戻り値として受け取っても
mysq_closeに渡す時には値が消滅するからどうしたらいいでしょう?ってとこなので
0162nobodyさん
2007/05/29(火) 19:26:49ID:???言葉に対する回答。
>$fhの値を保持しておくにはどうしたらいいのでしょうか?
静的(static)にする。
>必ずMySQLのテーブル操作をするたびにconnectとcloseを毎回呼び出すみたいな・・・
NO
connectは最初にやって、全ての操作がおわってから閉じればいい。
その間接続は持続されている。
MySQL開けたり閉じたりするのは自分的にはこうする。
class Hoge {
private $link;
function mySqlOpen($server, $username, $password) {
$this->link = mysql_connect($server, $username, $password);
if (!$this->link) {
//例外処理
}
}
function mySqlClose() {
if (!$this->link) {
mysql_close($this->link);
}
}
}
0163nobodyさん
2007/05/29(火) 19:33:11ID:GuBB/5UvPHPに馴れている人には理解不能かと・・・
PCソフトばかりやってるとこのPHP等の処理の流れに戸惑ってしまって・・
ボタン押したらまた自分(他)を最初から呼び出してとかこれ慣れが必要だなあと、
んで、何がしたいかといいますと
例えばボタン1を押すとDB接続、ボタン2を押すと閉じる、
そして、ボタン3を押すとAテーブルの内容を表示、ボタン4を押すとBテーブルの中身を表示・・・と
そもそもこういうやり方自体が普通しないのかなと・・・
ボタン1を押したら接続→テーブルA表示→閉じる
ボタン2を押したら接続→テーブルB表示→閉じる
こういうほうが一般的ですか?
0165nobodyさん
2007/05/29(火) 19:36:23ID:GuBB/5Uvうは、それですそれです!!
そういう記述が全くの無知でして、上でアホみたいな書き方をしました・・
あーこれめちゃくちゃ参考になります。
ありがとうございます。
その前にクラスの勉強しないと・・・
0166nobodyさん
2007/05/29(火) 19:39:19ID:GuBB/5Uvえええええ!
>>162さんはNoと・・・
でも毎回するのは一番簡単だけど、コードが増えますよね
更に接続→表示→閉じるを鬼のように繰り返してもいいのか疑問ものこります
0167nobodyさん
2007/05/29(火) 19:42:55ID:???0168167
2007/05/29(火) 19:45:00ID:???0169nobodyさん
2007/05/29(火) 19:50:06ID:???どういうことしたいのかちょっと理解できないなぁ。
>>163はボタン1を押したら接続→テーブルA表示→閉じるで処理が完結してるでしょ。
それともまだその後に他の処理をしたいのなら、
結果セットだけを開放して(mysql_free_result )、新たな処理をするっていう感じになる。
0170nobodyさん
2007/05/29(火) 19:55:53ID:GuBB/5Uvいやいや、最初にやろうとおもったのは、
ボタン1を押すとDB接続
ボタン2を押すと閉じる、
ボタン3を押すとAテーブルの内容を表示
ボタン4を押すとBテーブルの中身を表示
これはようするに、1押して接続してから、3押したり4押したり5,6押したり(書いてないけど)
んで、散々テーブルをみたあとに最後に2を押して閉じるとしたかったのですが
こうすると、コネクトしたときの戻り値をcloseに渡す方法がわからなくて・・・
んで、
接続→テーブルA表示→閉じる
と、常に毎回やるのが一般的なのですか?とお尋ねしました
0171nobodyさん
2007/05/29(火) 20:01:07ID:GuBB/5UvPCソフトの場合はDOSならmain内から終わるまで抜けないので
ローカルでも値を保持してるし、Windowsの場合はグローバルを使うので
ソフトが終了するまで保持していられるんですが、
PHPとかWEB系の場合はちょっと勝手が違う感じで初歩的なとこで悩んでしまって・・
ごめんなさい、勉強不足です、はい。
0172nobodyさん
2007/05/29(火) 20:01:29ID:???それなら
open
if ($_POST['button1']) {
Queryおくって結果取得
結果表示
}
なんていう条件が続いて
close
0173nobodyさん
2007/05/29(火) 20:05:25ID:???Windowsアプリケーションでも意味不明。
一回何らかのボタンを押し、別のボタンを押すという処理でも、プログラムが再起動されるわけではないだろう?
本質的にプログラムの処理手順を勘違いしてないか。
0174nobodyさん
2007/05/29(火) 20:13:57ID:GuBB/5Uvそれすると、なにかボタンが押される度にまたopenから走ったりしないんですか?
うーん、僕たぶんかなりとんちんかんな質問をしてた希ガス
>>173
僕はボタンを押したら
<form action=$ScriptName method=POST>
こんなんで、また自分を呼び出すとおもっていて、メインが何度も呼ばれるみたいなイメージがあって・・・
ちなみに、>>173さんはWindowsソフトもPHPも全く同じ理屈でコード組んでますか?
0175nobodyさん
2007/05/29(火) 20:17:40ID:GuBB/5Uv根本が間違ってる・・・
PHPではなんとなくしょぼい掲示板つくったりしただけで
動きをまったく理解してないみたいだなあ、勉強してきます・・・
0176nobodyさん
2007/05/29(火) 20:23:26ID:???そんなわけで勉強してきます。
またわからないことがあったら教えてください。。。
ありがとうございました
0177nobodyさん
2007/05/29(火) 20:41:06ID:queQBOHYプログラムを打ち込んで、その結果を表示させたいのですが
Webサーバーを使用せずにPHPって使用できますか?
0178nobodyさん
2007/05/29(火) 20:45:22ID:???エラー処理も適当で手続き型で関数化もしてない、
手抜きスクリプト置いとくからこれで動作勉強しちくり。
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
A<input type="radio" name="a">
B<input type="radio" name="b">
<input type="submit" value="submit">
</form>
<pre>
<?php
$link = mysql_connect('localhost', 'username', 'password');
$dbselect = mysql_select_db('dbname');
if (!$link || !$dbselect) {
dir(mysql_error());
}
続く
0179nobodyさん
2007/05/29(火) 20:46:10ID:???if ($_POST['a']) {
$res = mysql_query('SELECT * FROM TABLE_A');
if (!$res) {
die(mysql_error());
}
while ($row = mysql_fetch_assoc($res)) {
print_r($row);
}
mysql_free_result($res);
}
if ($_POST['b']) {
$res = mysql_query('SELECT * FROM TABLE_B');
if (!$res) {
dir(mysql_error());
}
while ($row = mysql_fetch_assoc($res)) {
print_r($row);
}
mysql_free_result($res);
}
mysql_close($link);
?>
</pre>
あとは$linkと$dbselectの情報を設定して、
DB側に適当なTABLE_AとTABLE_B作ってください。
0180178
2007/05/29(火) 20:49:26ID:???if ($_POST['a']) {
$res = mysql_query('SELECT * FROM TABLE_A');
if (!$res) {
die(mysql_error());
}
while ($row = mysql_fetch_assoc($res)) {
print_r($row);
}
mysql_free_result($res);
}
if ($_POST['b']) {
$res = mysql_query('SELECT * FROM TABLE_B');
if (!$res) {
dir(mysql_error());
}
while ($row = mysql_fetch_assoc($res)) {
print_r($row);
}
mysql_free_result($res);
}
mysql_close($link);
?>
</pre>
あとは$linkと$dbselectの情報を設定して、
DB側に適当なTABLE_AとTABLE_B作ってください。
0181178
2007/05/29(火) 20:50:30ID:???Firefox使ってたせいで間違ってもう1回送信してしもた・・・
専ブラにしよう・・・
スレ汚しsorry
訂正
if (!$link || !$dbselect) {
dir(mysql_error());
}
dirじゃなくてdieね・・・
0182nobodyさん
2007/05/29(火) 20:54:25ID:???ローカルに環境を構築してください。
最低でもPHPはインストール。
ちゃんとした動作を検証したいのならApacheも入れてください。
DBを使って開発するのであればDBも入れてください。
XAMPPでぐぐると幸せになれるかも。
0183nobodyさん
2007/05/29(火) 20:55:41ID:queQBOHYありがとう!
今までC言語とC#しかしたことがないので
これから大変お世話になりますのでよろしくお願いします。
0184nobodyさん
2007/05/29(火) 21:50:25ID:HenTyugEDBサーバーがダウン(コネクションオーバー)するのですが、
php側で防ぐ方法で、有効な方法を教えて頂けますか?
ちなみに、レンタルサーバーです。かなり困っています。
0185nobodyさん
2007/05/29(火) 21:52:56ID:???アプリケーションレベルでは下手に対応しない方が寧ろいい。
DoSアタックの対応はもっと下位のレイヤでやるべき。
0186nobodyさん
2007/05/29(火) 21:56:19ID:???html化しても問題のないようなものなら、
html化すればいいと思うけど。
0187nobodyさん
2007/05/29(火) 21:59:36ID:KHJlG38T"abc"=>array("123"=>"456"),
"cde"=>"789",
"fgh"=>("hij"=>array("xyz"=>"10",array("foo"=>"bar"))
);
のような任意の連想配列で、fooを検索キーにして、
foo->hij->fghの並びを取得できる関数で適切なものはありますでしょうか?。
foreachを使うにしてもそれを補助的に支える関数を探しているのですが。
0188nobodyさん
2007/05/29(火) 22:01:22ID:HenTyugE早速の回答ありがとうございます。
>>185
レンタルサーバー(xrea)のため、なかなかそこが対応できないんです。
できれば、アプリケーションレベルで対応できればと思うのですが。
専用サーバーならいいのかもしれないのですが、運用経験がないので逆に危険かと思いまして。
>>186
動的に生成しないとホームページとして成り立たないものなので、
それも難しいのが現状です。すみません。
0190nobodyさん
2007/05/29(火) 22:11:57ID:HenTyugEいやぁ、それが串でもないんです。
串は、リストを作って独自プログラムで弾いているのですが、
普通のプロバイダーのIPからやられます。
日によって違うプロバイダーなので、違う人からなのかも。
政治とか教育とか意見が対立する掲示板を運営しているので、
論破された奴が荒らしているのかと。
リロード攻撃されると、暫く接続エラーになってサービスがとまって、
そのたびにサービスがとまっていると苦情のメールが。ほとほと疲れます。
0191nobodyさん
2007/05/29(火) 22:17:25ID:???じゃあsessionつかって、同一IPからある一定時間内($range_time)に複数回($reload_count)以上の
reloadがあった場合は、<なんかする>、みたいな感じでいいんじゃないの?
DBアクセスがボトルネックなんだったら、<なんかする>=キャッシュだけを送信する、とか。
結局、実装は、運営policyによるでしょ。
0192nobodyさん
2007/05/29(火) 22:29:53ID:???サーバまわりを強化しJava+Oracleで書き直す。
というのは冗談だけど、
そのコンテンツじゃPV多そうだし共有鯖だとかなり負担かけてるんじゃない?
ユーザより先にレンタル先に捨てられないように気をつけておくんなまし。
0193nobodyさん
2007/05/29(火) 22:57:20ID:???アプリケーションレベルでの対応は逆効果なんだよ。
XREAに通報したら何らかの対応はしてくれるんじゃないか?無料なら知らんが。
0194nobodyさん
2007/05/29(火) 23:36:58ID:???最近200番台後半の鯖で中国からのアタックがあったよ
上位回線レベルで対策したそうだ
0195miu
2007/05/30(水) 00:51:31ID:EHTzgQl2この中でセッション変数を使いたいのですが、
うまく値を引継げません。
session_id()を確認すると、ページごとに異なる値が
返ってきています。
なにか、セッション変数を使うための方法・設定というのはあるのでしょうか?
よろしくお願い致します。
0196nobodyさん
2007/05/30(水) 01:34:43ID:???0197nobodyさん
2007/05/30(水) 03:26:34ID:???さくらの専用鯖みたいな安い専用借りてiptableで弾くとかはどうだろ。
XREAは過負荷になってもちょっと生暖かい目で見ててくれるけど他のユーザはその間しわ寄せ受けてる希ガス。
0198nobodyさん
2007/05/30(水) 03:55:42ID:U6fy+t+P同じ結果なら、
実行速度が遅い・重いプログラムより、速い・軽いやつがいいとは聞きますし、私もそう思いますが、
実行速度を数値化したりするなどして確認する手段はありますか?
0199nobodyさん
2007/05/30(水) 04:27:45ID:???テキトーだけど、こんな感じで軽減できない? 行詰めているので見にくいがすまん
<?php
function sessCtrl(){
session_start();
$lastvtime = $_SESSION["lastvtime"];
if($lastvtime){
$timediff = time() - $lastvtime;
if($timediff <3){
//ここでさよなら
die("<html><head></head><body>3秒以内リロード禁止<hr/><pre> 前回アクセス:"
.date("Y-m-d H:i:s",$lastvtime)."/只今"
.date("Y-m-d H:i:s",time())."</pre><hr/></body></html>");
//もしくは強制10秒待たせる
//sleep(10);
}
}
$_SESSION["lastvtime"]=time();
return $lastvtime;
}
$lastvtime = sessCtrl();
?>
<html><head></head><body> ここはOK也 <hr/>
<?php echo " 前回アクセス:".date("Y-m-d H:i:s",$lastvtime)
."/只今".date("Y-m-d H:i:s",time())."<br/>";
var_dump($_SESSION); ?>
<hr/></body></html>
0201nobodyさん
2007/05/30(水) 09:09:58ID:Hm83KMHnアクセスしてくる者全員が共有できるような変数って作れますか?
Aさんが1を代入したらBさんにも1になるような。
テキストファイルを使わないとだめなのかな。
それから、サーバ上のファイルを自由に編集する画面があるのですが
ひとりがそのページを開いている間は
次に来た人には、ただいま混みいっています、のような画面を表示させたいのですけど
スマートなやりかたってないですか?
0202nobodyさん
2007/05/30(水) 09:38:06ID:???0203nobodyさん
2007/05/30(水) 09:41:15ID:???0205201
2007/05/30(水) 10:11:34ID:Hm83KMHnセッション変数って、ひとりの人間が複数のページで共通に使える変数じゃないのですか?
>>203
うーむ、なんとかPHPだけでできないかなぁ。
すみません初心者で・・・
0206nobodyさん
2007/05/30(水) 10:15:34ID:vB5BZnM8フォーム送信で、textareaに入力したテキストで、クオート(')・ダブルクオート(")が
自動的にエスケープ(\)されるんだけど、これってphp.iniの設定が関係ありますか?
(POSTの値が自動的にエスケープされるなんてことはあるの?)
0207nobodyさん
2007/05/30(水) 10:26:29ID:???>php.iniの設定が関係ありますか?
YES
http://jp.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc
0208nobodyさん
2007/05/30(水) 10:39:50ID:vB5BZnM8早速のレスポンスTHX!! あいしてるぜー
0209nobodyさん
2007/05/30(水) 11:59:49ID:???>セッション変数って、ひとりの人間が複数のページで共通に使える変数じゃないのですか?
ちがう。マニュアルよめ。
0210nobodyさん
2007/05/30(水) 12:09:56ID:???共有メモリ関数
http://jp.php.net/manual/ja/ref.shmop.php
セマフォ・共有メモリおよび IPC 関数
http://jp.php.net/manual/ja/ref.sem.php
0211nobodyさん
2007/05/30(水) 13:56:24ID:QPYqKYGNそれでもhtmlspecialcharsは必要ですか?javascriptなんて実行されないっすよね危険はないですよね。
0212nobodyさん
2007/05/30(水) 13:58:06ID:???0214nobodyさん
2007/05/30(水) 14:05:44ID:UUvKwXeJ>>178-181
ありがとうございます。
これは毎回 接続→テーブル表示→閉じる 方式ですね。
やっぱりこの方法が妥当なんでしょうか?
0217nobodyさん
2007/05/30(水) 14:39:32ID:UUvKwXeJ確かにそうですね。
やろうとしてることはそれだけなので、この方法でいきます。
ありがとうございました
0218nobodyさん
2007/05/30(水) 14:43:51ID:QPYqKYGN0219nobodyさん
2007/05/30(水) 14:47:47ID:???0221虚弱PHP
2007/05/30(水) 14:53:32ID:???ひとまずPHPというよりHTTPの勉強はしておいた方がいいと思う。
1リクエスト1レスポンスが基本。
もちろん応用はあるけど、基本からどうぞ。
0222nobodyさん
2007/05/30(水) 14:57:23ID:QPYqKYGNただ、2進数を文字列に変換するというのが何の関数を使えばいいのかわからないです。
やっぱり>>219さんの言うとおりできないんですか?
0223nobodyさん
2007/05/30(水) 15:16:08ID:l02pgwI/テキストエリアの値を消せるように、リセットボタンを押すとクリア
できるようにしたいです。
1回目はリセットできるのですが、送信ボタンを押して自分(test.php)に飛んだ後に、
リセットを押すと、値が消えてくれません。
(テキストボックスに値を入れて飛んだときに保持しているため?)
それで、javascriptで消そうと思ったのですが、phpの中での使い方が良く分かりません。
分かる方お願いします。
↓ソ〜ス
<form method=\"post\" action=\"test.php\" name=\"form\">
<input type=\"text\" name=\"url\" size=\"80\" value='$url'>
<input type=\"submit\" name=\"b1\" value=\"取得\">
<input type=\"reset\" name=\"reset\" value=\"リセット\">
</p></form>
0224nobodyさん
2007/05/30(水) 15:24:19ID:???0225nobodyさん
2007/05/30(水) 15:27:00ID:???0226nobodyさん
2007/05/30(水) 15:32:51ID:???0227nobodyさん
2007/05/30(水) 15:36:00ID:6H++tvOC俺はこうした、普通はこうするぞ、という意見をお教えください
自分の作りたいソースは何とか書けるけど、PEARのようなものはまったく使ったことがないレベルです。
0228nobodyさん
2007/05/30(水) 15:39:16ID:???0229nobodyさん
2007/05/30(水) 15:46:35ID:???0230nobodyさん
2007/05/30(水) 15:50:21ID:s13+ZS2Yうーん、なるべくなら人の迷惑にならない方法が好ましいですよねw
もう十分におかけしてしまった気がしますが・・・
0231nobodyさん
2007/05/30(水) 16:10:54ID:???中学生でもできるようなスクリプト言語だぞ・・・
ぶっちゃけ
PHP勉強しても意味ねーぞ
ちょっとマニュアル読んだら簡単に何でも作れるようになるし
JAVA勉強したほうが100倍いい
0232nobodyさん
2007/05/30(水) 16:13:03ID:???0233nobodyさん
2007/05/30(水) 16:13:20ID:???0234nobodyさん
2007/05/30(水) 16:16:31ID:???0235nobodyさん
2007/05/30(水) 16:18:15ID:s13+ZS2Yそう言われると厳しいですが・・・何とかPHPでお願いします
>>232-233
PHPでおねが(ry
0236nobodyさん
2007/05/30(水) 16:22:38ID:???その関連のPEARライブラリを愛でる様にソース見ながら使っていくというのが
地道でいいんじゃないの?
0237nobodyさん
2007/05/30(水) 16:23:19ID:???0238nobodyさん
2007/05/30(水) 16:25:30ID:s13+ZS2Yうーん、やっぱりそれしかないんでしょうか
それが王道なのはわかってます 近道はないのかなぁ
>じゃあ何をやりたいかを先に言ったほうがいいな。
何が出来るかもわかっていない状態なので、やっぱりちゃんとソース読んでみますね
>>237
言い過ぎっすよwww
0239nobodyさん
2007/05/30(水) 16:28:10ID:???これは悪いことなのか
0240190
2007/05/30(水) 16:37:07ID:m2uLNJ+I返事が遅くなってすみません。
教えて頂いたセッションで弾く方法でやったところ、
うまくいきました。
確かに、この方法だとデータベースの接続前で弾くので非常に有効ですね。
又、今まではログをみてアクセス拒否していたのですが、
リアルタイムで悪さしているIPを拒否できるので非常に助かります。
>>199さんのソースを参考に、悪さをしているIPには、ネットで仕入れたグロ画像を
デカデカと表示させて、怖くて二度と来させないように心理的作戦も実装しました。
今まで、毎日毎日アクセスログとにらめっこする手間が無くなって助かりました。
xreaに有料で利用しているのですが、サポートがイマイチなのでそこまで対応してくれないので、
いずれは、専用サーバーで運用できるようにがんばります。
色々とアドバイスどうもありがとうございました。
0241237
2007/05/30(水) 16:50:14ID:???0242nobodyさん
2007/05/30(水) 16:55:55ID:???つまり、その文字列の二進バイナリ文字列表現を元の文字列型に変換したいってことかね。
バイトのバイナリ表現つってもいろいろあるぜ。
もともとのパック方法が分からんことにはエスパー降臨まで待つしかない。
0244nobodyさん
2007/05/30(水) 18:13:39ID:???0247nobodyさん
2007/05/30(水) 19:28:10ID:???マニュアル嫁といいたいとこだが、
初心者にマニュアルは厳しいと分かっているので特別にヒントをやろう。
二つ目の問いに関していえば、
アクセスした時にセッションになんらかの固有の値を入れる。
アクセスが終わったら、消す。
セッションにその固有の値がなかった場合はアクセスさせる。
0248nobodyさん
2007/05/30(水) 20:28:08ID:???ということをやっているのですが、各フィールドの先頭の文字がおかしくなります。
「学校」→「w校」みたいな感じで。どうなっているんでしょう。
ちなみにスクリプトはutf-8で書いており、csvファイルはShiftJISのはずです。
おわかりの方、教えてください。お願いします。
0249nobodyさん
2007/05/30(水) 20:44:02ID:???釣りか?
0251250
2007/05/30(水) 20:51:58ID:???0255250
2007/05/30(水) 21:05:54ID:???0257nobodyさん
2007/05/30(水) 21:26:44ID:???やるなら昼間やってくれ。
あと質問者もID出せ。こういう馬鹿が沸くから。
0258nobodyさん
2007/05/30(水) 21:44:26ID:???いえいえ、結果的にはそんな感じになったので、あなたのおっしゃるとおりでしたよwww
>>246
さっそくソース読んでました
まさかそんな嬉しい言葉を言ってもらえるなんて思ってもいなかったので、感激です!!
みなさん本当にありがとうございました
0259250
2007/05/30(水) 21:53:17ID:QPYqKYGNガタガタうるせーなっ!!!
指図するなっ!!!!!
ヘボ回答者のくせに何様だ!?コノヤロウ!!
ID出してやったから回答即よろ
0261nobodyさん
2007/05/30(水) 21:57:50ID:QPYqKYGN答えたくないならくんなヘボ回答者!!
0264nobodyさん
2007/05/30(水) 22:01:17ID:QPYqKYGN昨日も今日も明日もおまえらだって質問してんだろ?wwwwwww
なにを回答者ぶってんの?wwwwww
ちょうしこいてんじゃねーよ、わらっちゃうねwwwwwwwwwwww
0265nobodyさん
2007/05/30(水) 22:01:24ID:???0266nobodyさん
2007/05/30(水) 22:10:53ID:???0267nobodyさん
2007/05/30(水) 22:15:00ID:???あまり効果はなさそうだけどな。
0268nobodyさん
2007/05/30(水) 22:22:11ID:???ipconfig /renew
と打てば、DHCPサーバーからのIPアドレスがリフレッシュされて新しいIPアドレスが割り振られるよ。
そうすれば、IDも変わると思うけど。
0269nobodyさん
2007/05/30(水) 22:33:57ID:???とっとと教えろカス共
0273nobodyさん
2007/05/30(水) 22:48:58ID:???http://pc11.2ch.net/test/read.cgi/php/1158647441
0274nobodyさん
2007/05/30(水) 22:57:02ID:???0275nobodyさん
2007/05/30(水) 23:20:46ID:???0276nobodyさん
2007/05/31(木) 00:02:30ID:???プログラム言語を始めてやる人間にはarrayも始めて。
PHPがはじめてのプログラムだった場合その人間にはarrayも始めて。
ただarrayとか基本型は教科書でいう2.3ページに書いてる事項なので、
ここでそれが何?とか聞くやつはマニュアルも読めない阿呆。
0277nobodyさん
2007/05/31(木) 00:27:35ID:???0278nobodyさん
2007/05/31(木) 00:43:15ID:???0279nobodyさん
2007/05/31(木) 00:56:51ID:???弄れた気がするんだけど、php.iniじゃないと無理かな?
昔できた気がするんだけど、今やり方が分からない。
気のせいだったかも・・・
0280nobodyさん
2007/05/31(木) 01:01:24ID:???0281nobodyさん
2007/05/31(木) 01:02:39ID:???error_reporting(E_ALL);
error_reporting(0);
とか、つうか
ttp://php.mirror.camelnetwork.com/manual/ja/ref.errorfunc.php
0282nobodyさん
2007/05/31(木) 01:03:04ID:5QX9Xbhtつini_set()
0283nobodyさん
2007/05/31(木) 01:06:57ID:j+g2vXuBどなたかご指導ねがいます
0284nobodyさん
2007/05/31(木) 01:09:35ID:???好きなプラグイン見つけてfeaturesとpluginフォルダにぶち込めばおk
0285nobodyさん
2007/05/31(木) 01:14:16ID:???なんてわかりやすい説明w
>>283ではないが、実際にプラグイン使ってる人いたら何使ってるかと利点も教えて欲しいな
0287nobodyさん
2007/05/31(木) 02:43:00ID:???1.【ZendStudio】PHP統合開発環境 Part2【Eclipse】
ttp://pc11.2ch.net/test/read.cgi/php/1154082822/
2.
ttp://cydn.cybozu.co.jp/2007/03/_part_4_eclipse_php_pdt_php_de.html
0288nobodyさん
2007/05/31(木) 02:48:16ID:???PDT 0.7.0 +Aptana CSS/HTML/JavaScript + Zend デバッガ(糞)
これでおなか一杯。使いこなせん
0289285
2007/05/31(木) 02:56:57ID:???え、PDTとAptanaってうまく動作する?
Aptana + Eclipse PHPやってみて 俺全部試したけど、Aptanaの機能を殺さずに動くのはこれだけだった希ガス
0290nobodyさん
2007/05/31(木) 09:28:09ID:???0291nobodyさん
2007/05/31(木) 11:46:56ID:CptwN5p9SQLから
2007-05-31 10:12:28
と引っ張ってきた日時がありまして
05/31 10:21
と表示するには
どういった関数が最適なのでしょうか?
0293nobodyさん
2007/05/31(木) 11:49:15ID:???substrで「05-31 10:12」だけ切り取って、
strreplaceで「-」を「/」にすればいい。
0294nobodyさん
2007/05/31(木) 12:00:06ID:???TIMESTAMP型だろうけど、
始めからCHAR型で05/31 10:21というデータを入れればいいのでは?
0297nobodyさん
2007/05/31(木) 12:14:43ID:???0298nobodyさん
2007/05/31(木) 12:26:55ID:???おいおい、いつの時代のPC使ってんだお前さんは?
>>296
スレ違いだから他所でやれや
>>297
そういう中途半端なわけのわからんこと言わんと黙っとれや
>>298
なんか言いたかったんだよな?
0300nobodyさん
2007/05/31(木) 12:53:06ID:B+7WuiH90301nobodyさん
2007/05/31(木) 13:16:23ID:???0302nobodyさん
2007/05/31(木) 13:18:58ID:???0304nobodyさん
2007/05/31(木) 14:17:21ID:???0305nobodyさん
2007/05/31(木) 14:26:32ID:???0306nobodyさん
2007/05/31(木) 14:28:24ID:CptwN5p9それはちょっと…
>>294
データベースの時点で削ってしまうといざという時に…
>>295
重くないですよね?
>>297
month関数とか別に結果出力してからって事ですよね?
なるべく一文のSQLを実現したいです
0307虚弱PHP
2007/05/31(木) 14:33:27ID:???>>297の対処法だけど、例えば、MySQLならDATE_FORMAT関数とかあるよね。
select文の取得カラムのところに書くだけだから、一文だと思うけど?
0310nobodyさん
2007/05/31(木) 15:14:31ID:???ID表示で質問する。
ついた回答にID無しで文句言う。
ID表示で真面目に答える。
0311nobodyさん
2007/05/31(木) 15:16:21ID:???0312nobodyさん
2007/05/31(木) 15:49:36ID:BDY8A6/X$hoge = str_replace("<html lang="ja">", "<html>", $hoge);
でエラーが出たので、
$hoge = str_replace("<html lang=\"ja\">", "<html>", $hoge);
で試してみたのですがダメでして。
0314nobodyさん
2007/05/31(木) 16:06:52ID:???0316nobodyさん
2007/05/31(木) 16:10:28ID:BDY8A6/X返答ありがとうございます。
いずれも、
Parse error: syntax error, unexpected T_CLASS in /home/hogeuser/www/test.php on line 20
とエラーが返ってきます。
0317nobodyさん
2007/05/31(木) 16:12:01ID:BDY8A6/X>>314
確認しました…が、閉じております。
>>315
遅れましたが、書かせて頂きました。
0318nobodyさん
2007/05/31(木) 16:19:44ID:???//$hoge = str_replace("<html lang=\"ja\">", "<html>", $hoge);
とかでコメントアウトしてみれば?
違うところが原因ならそれでもエラー吐くだろうし。
あとはその書式で大丈夫なのか最小単位切り出してチェックしてみればいい。
0319nobodyさん
2007/05/31(木) 16:19:57ID:???0320nobodyさん
2007/05/31(木) 16:26:02ID:BDY8A6/X有難う御座います!
似たような処理を1つずつコメントアウト前の方の行でミスをしておりましたorz
>>319
あほらしいエラーでしたか?変な質問で申し訳ありませんでした、気をつけますorz
答えてくださった皆さん有難う御座いました。
今度からエラーが出たときは別の行もさかのぼって探してみます、お騒がせしてすみませんでした。
0321nobodyさん
2007/05/31(木) 16:40:54ID:PjgXIH6jXAMPP Lite 1.4.16を動かしてphpinfoで環境を確認したところ、
MySQLのバージョンは4.1.14のようですが、PHPは5.0.5のようです。
http://cl.pocari.org/2005-10-27-3.html
このようなサイトを見ると、1.4.5以降にはPHPは4.*と5.*が両方入っているようですが、
XAMPP LiteではPHP4は省略されているのでしょうか?
WindowsXP SP1で使用するつもりです。
複数のPCで同一の環境でテストサーバーを立てたいので
持ち運べるXAMPP Liteを調べているのですが、
どなたかご存知でしょうか?
よろしくお願いします。
0322nobodyさん
2007/05/31(木) 16:52:21ID:???0323nobodyさん
2007/05/31(木) 17:17:08ID:???複数の環境に同じXAMMPPを入れたほうが解決が早い気がするけど・・
0324nobodyさん
2007/05/31(木) 17:18:20ID:???それぞれの環境に同じバージョンのapache php mysqlを入れるなり
インストーラを持ち運ぶなりすればいいじゃん
0325nobodyさん
2007/05/31(木) 17:21:59ID:???0326nobodyさん
2007/05/31(木) 17:37:13ID:hXhMR7Vu0328nobodyさん
2007/05/31(木) 17:59:13ID:???もうずっと人大杉
0329nobodyさん
2007/05/31(木) 18:57:25ID:B+7WuiH90330nobodyさん
2007/05/31(木) 19:00:27ID:???0332nobodyさん
2007/05/31(木) 20:07:27ID:2Z3X/v1Gif($x >= 0 && $x <= 50)
だけど
if( 0 <= $x <= 50)
こんな感じに簡単にできる方法ないかな?
0333nobodyさん
2007/05/31(木) 20:25:23ID:???4系だとpdo使えなかったりするウチの近所の事情
かといってMDB2は情報が少ないので結局DBをホイホイと使ってしまうのさ
0335nobodyさん
2007/05/31(木) 21:32:22ID:???SQL には、between なんてものがあるぐらいだか必要ないわけじゃないけど、
必要度は低そうだし、文法がややこしくなりそう。
0336nobodyさん
2007/05/31(木) 21:33:14ID:???どっちかというと直感系なプログラムだし。
0337nobodyさん
2007/05/31(木) 22:39:19ID:???文系的な言語設計だと思う。
FORTRAN由来のC・PHP・Java辺りじゃなかなか採用しない。
0338nobodyさん
2007/05/31(木) 22:43:33ID:???function between($min, $value, $max) {
if($min > $max) list($min, $max) = array($max, $min);
return ($min <= $value && $value <= $max)?TRUE: FALSE;
}
if(between(0, $x, 50))
とか?
0339nobodyさん
2007/05/31(木) 23:04:49ID:???> if($min > $max) list($min, $max) = array($max, $min);
こんな余計な動作はいらんと思う。
あと昔から、return condition ? TRUE : FALSE; って書く奴は、
どっか抜けてるんじゃないかと思ってるんだけど。
なんで素直に return condition; って書かないの?
0340nobodyさん
2007/06/01(金) 00:00:09ID:???0342nobodyさん
2007/06/01(金) 00:49:39ID:4yZmbPpg何が原因でしょうか?
0343nobodyさん
2007/06/01(金) 01:17:21ID:???0344nobodyさん
2007/06/01(金) 01:31:12ID:???XML の解析に失敗しました: 構文エラー (行: 25, 文字: 78)
元のファイルに問題があると思ふ。
0345nobodyさん
2007/06/01(金) 01:31:40ID:???0346nobodyさん
2007/06/01(金) 01:33:16ID:???0347nobodyさん
2007/06/01(金) 01:45:58ID:???0348nobodyさん
2007/06/01(金) 01:46:55ID:4yZmbPpg0349nobodyさん
2007/06/01(金) 01:50:35ID:???0350nobodyさん
2007/06/01(金) 02:50:46ID:4yZmbPpgお手数ですが、サンプルコードをお願いしますm(__)m
0351nobodyさん
2007/06/01(金) 03:34:58ID:???0352nobodyさん
2007/06/01(金) 05:21:30ID:Wi7GJ0Xeabstract class Baz
{
public static function bar()
{
// ここで Foo の値を取りたいんですがどうやれば良いんでしょうか
}
}
class Foo extends Baz
{}
0353nobodyさん
2007/06/01(金) 06:12:26ID:JTjp1lWk0354nobodyさん
2007/06/01(金) 06:19:30ID:???親クラスが子クラスのメンバを呼び出すべきではないし、
親クラスが子クラスを前提に組まれるべきではないかなぁ。
0355nobodyさん
2007/06/01(金) 08:04:04ID:39E81ppxFoo::bar();
abstract class Baz{
var $Foo;
public static function bar(){
// ここで Foo の値を取りたいんですがどうやれば良いんでしょうか
}
}
class Foo extends Baz{
var $Foo = 'なんとか';
}
0356nobodyさん
2007/06/01(金) 11:17:29ID:adREKSPx教えてください。
file()関数というものがあります。ためしに変数名に$fileとしてみましても有効に使えました。
また、defineでためしに("file", "test300.php")としてみても有効に使えました。
これらの区別は、関数の場合は()括弧が付いている、変数の場合は$が付いているから
インタープリタは区別できるのですか?
0358nobodyさん
2007/06/01(金) 11:30:57ID:???いってる説明が全く分からないのでソース出してください。
>関数の場合は()括弧が付いている、変数の場合は$が付いているから
関数と変数を比べてるのがわけがわかりません。
定数と変数ならまだわかるんだけど。
0359nobodyさん
2007/06/01(金) 11:47:14ID:???PHP初心者がそんなどーでもいいことを気にすることに笑った。
内部的には変数も関数も演算子も、INとOUTのフィルタのかけ方が少し違うだけの全く同じ物(ポインタ)です。
0360nobodyさん
2007/06/01(金) 11:59:58ID:39E81ppx確かにいったんインスタンスを作らないとダメですね。。すいません。
0362nobodyさん
2007/06/01(金) 13:52:41ID:MTWDEGSUカウンター作ってみました。
http://php.shiriagari.com/counter/counter.php
やっぱり根本的に間違ってますか?
それぞれの機能を部品のようにして
必要なときに呼び出すことだと思って作ってみました。
ただdoCountでまとめただけで
全然意味ないですけど。
0363nobodyさん
2007/06/01(金) 13:53:42ID:???0364nobodyさん
2007/06/01(金) 13:55:12ID:MTWDEGSU間違えた
sageてしまった
0365nobodyさん
2007/06/01(金) 13:58:32ID:???0366356
2007/06/01(金) 14:00:16ID:adREKSPxどうもありがとうございます。しっかり分かりました。なんというか
自分の性格上、内部構造というかある程度深いところまで気になってしょうがないんです。
ありがとうございました。
0367nobodyさん
2007/06/01(金) 14:01:53ID:???ファイル操作はファイル操作のクラスとしてもったほうがいい
それをextendsかなんかで呼び出してカウンタークラスを作ったほうがいいよ
0368nobodyさん
2007/06/01(金) 14:14:02ID:???色々突っ込みたいけど最初はそんなもんだろうなぁ。
関数をクラスに突っ込んだだけのような形。
PHPじゃオブジェクト指向はなかなか理解できないからJavaから学ぶといいよ。
オブジェクトに関してはPHPもJavaに近いものがあるから、
多少書き方が違うけど理解できると思う。
0370nobodyさん
2007/06/01(金) 14:28:03ID:Sl+KWZC8この & はどのような意味なのでしょうか?
0372nobodyさん
2007/06/01(金) 14:37:13ID:???すいませんほんとにそのまんまです。
>>367
修正してみました。
http://php.shiriagari.com/counter/counter0.0.2.php
こんな感じで良いですか?
>>368
> 色々突っ込みたいけど最初はそんなもんだろうなぁ。
できればどんどん突っ込んでください><
> PHPじゃオブジェクト指向はなかなか理解できないからJavaから学ぶといいよ。
> オブジェクトに関してはPHPもJavaに近いものがあるから、
> 多少書き方が違うけど理解できると思う。
Javaスレ覗いてきます。
0373nobodyさん
2007/06/01(金) 14:39:19ID:bXYxdOH8os winxp home sp2
an httpd 1.42pでphp5.2.2最新版を
動かそうとしたんですが上手くいきません・・・
設定ファイルは見直しているんですが・・・
ひょっとして鯖ソフト側がphpのヴァージョンに
対応してないのでしょうか?それが原因で
動かない可能性はありますか?
0374nobodyさん
2007/06/01(金) 14:41:47ID:???未だに意味がわからん
0375nobodyさん
2007/06/01(金) 14:43:36ID:???0376nobodyさん
2007/06/01(金) 14:45:16ID:???An httpdなんてレアなもの使ってデバッグしてる人なんて、
このスレで見つかるのか?
0379nobodyさん
2007/06/01(金) 14:52:37ID:bXYxdOH8素直にsolaris入れてきます・・・
ありがとうございました。
0380nobodyさん
2007/06/01(金) 14:53:24ID:???0381nobodyさん
2007/06/01(金) 14:56:04ID:???Apacheのページみればマルチプラットフォームなのが一目で分かるだろうに。
0382nobodyさん
2007/06/01(金) 15:10:53ID:bXYxdOH8今手元には「自宅サーバーfor Window」と「Solaris入門」
という書籍がありまして。そして右手にはunixマシンと
winマシンがありまして・・・正直横着してましたw
0384nobodyさん
2007/06/01(金) 15:19:07ID:???an httpdなんて冗談きついぜ。
どうしても使いたいというならアドバイスはできないが頑張れい。
unixマシンあるならApache+PHPは簡単に環境構築できるでしょ。
そっちのほうがいいと思うけどね。
0385nobodyさん
2007/06/01(金) 15:21:06ID:???0386nobodyさん
2007/06/01(金) 15:27:35ID:???ブートローダの意味勘違いしたままwinとのデュアルブート設定して
「Windowsが起動しなくなりました」とか質問しているアホゥな奴をたまに見かけるが
>>382もその手の人間だろ
0387nobodyさん
2007/06/01(金) 15:39:41ID:???>「Windowsが起動しなくなりました」
やべw昔の俺だw
0388nobodyさん
2007/06/01(金) 15:57:59ID:???amazonで「画像を拡大」をクリックすると小さい画像が出現します。
大きい画像を出したいのですがどうやったらでますか?
0389nobodyさん
2007/06/01(金) 15:59:05ID:???0390nobodyさん
2007/06/01(金) 16:09:30ID:bXYxdOH8アパにしたらさっくり動きましたw
お騒がせしました。
0393nobodyさん
2007/06/01(金) 16:26:46ID:???色々優位点はあるけど、主な点は↓な感じです。
夜間の作戦や悪天候時にディスプレイに視界を表示するシステムやそれが統合されたヘルメット
目標捕捉・指示照準装置
パイロット用の夜間装備
レーダー・ジャマー(電波妨害器)
赤外線迎撃兵器
地表面誘導装置
GPSなどの最先端の航空電子機器
メインローターに23mm砲弾が直撃しても一定時間の飛行が可能
ミリ波レーダーを装備
0399虚弱PHP
2007/06/01(金) 16:54:59ID:???ファイルクラスのコンストラクタにファイルパスを渡すように変更。
ロックは自動でやるようにしたりして、
インターフェースをもっと単純になるように整理してください。
次、
ファイルクラスはファイルパス毎、ひとつのインスタンスになるように、
エセSingletonパターンにしたり、
カウンタークラスでは、ファイルクラスを継承ではなく委譲を使う。
次、
ファクトリーパターンとか使って、
ファイルだけじゃなく、DBでも大丈夫なようにしたり。
それから、Javaスレ覗くんじゃなくて、Javaの勉強をした方が良い。
結城浩氏の本はとてもいいと思う。
0401nobodyさん
2007/06/01(金) 17:12:11ID:???Solarisっていつからhttpdになったんですか?
もしくはApacheはいつからOSになったんですか?
0402nobodyさん
2007/06/01(金) 17:13:36ID:???20個も前のやつにレスすんなうっとーしい
それと同じこと何度も言うなカス
0405nobodyさん
2007/06/01(金) 17:42:15ID:O/c0FzVA日本語の読解力が足りないよ
0413nobodyさん
2007/06/01(金) 18:18:17ID:???飽きたしそろそろ話の流れ戻そうか。
0414nobodyさん
2007/06/01(金) 18:32:45ID:???[TEST] => 1
みたいな形式で表示されるのですが
このTESTという名前を取得する方法を教えてください
0417nobodyさん
2007/06/01(金) 18:34:54ID:???・var $変数値 = "hoge";
変数値の前にvarをつける意味がよく分かりません。
初期化と説明してるサイトもありますが、普通に「$変数値 = "hoge";」だけでは初期化したことにはならないのでしょうか。
・class内にfunctionを定義する優位性が分かりません
class外に書くのと内に書くのとでどういう優位性があるのでしょうか。
例えばコール時に class AAA{ function BBB{} } とあって、
$TEST = new AAA;
$TEST -> BBB("なんとかかんとか");
と書くより、
$TEST BBB(); とclass外にあるユーザ関数を呼び出す方が行数が少なくならないでしょうか。
素人思考な質問でしょうが、よろしくお願いします。
当方php以外の言語はせいぜいperl位ですので、お手柔らかにお願いします。(一応これでもググって着ての質問です;)
0420417 ◆LUdEVzdrco
2007/06/01(金) 18:43:43ID:???>>418
一応マニュアルは読んでみました。
ttp://jp.php.net/manual/ja/language.oop.php を見たのですがイマイチ理解できませんでした…。
0421nobodyさん
2007/06/01(金) 18:45:48ID:???http://jp.php.net/manual/ja/function.mysql-fetch-assoc.php
例の最後のほうのwhileで囲まれた部分がヒント。
>>420
>>1も読めないならお帰り下さい。
0422nobodyさん
2007/06/01(金) 18:49:49ID:???すみません、おもいっきり質問が間違ってました。
欲しいのはフィールド名です・・・
フィールド名を列挙する関数はありますか?><
0423nobodyさん
2007/06/01(金) 18:50:40ID:???mysql_field_name ですね・・・
お騒がせしました><
0424nobodyさん
2007/06/01(金) 18:59:59ID:???カラム名といってくれ。
0425nobodyさん
2007/06/01(金) 19:00:11ID:???スレのルールを守ってないとはいえ暇だから答えてみる。
>変数値の前にvarをつける意味がよく分かりません。
これはアクセス制限用の修飾子です。意味はあるんです。
varはpublicと同義です。
php5からはJava同様詳細なアクセス制限がつけられるようになりました。
(private, protected, public)
他にもfinalだのstaticだのいろいろ修飾子はあるんですが、
どういう意味かとか使い方はマニュアル見るよろし。
>class内にfunctionを定義する優位性が分かりません
ただのfunctionは関数(ユーザ定義関数)といいますね。
class内にあるfunctionはオブジェクト関数またはメソッドといいます。
要は中身は一緒でも概念が別物なんですよ。
どう違うとかはマニュアルにちゃんとかいてるはずなので見るよろし。
というわけで、ちゃんと意味はあるんですよ。
ただOOPが理解できてないうちはそんなこと考えててもだめ。
勉強してるうち、書いてるうちにだんだんどういうものかわかってくるんですよ。
0427nobodyさん
2007/06/01(金) 19:09:36ID:???0430nobodyさん
2007/06/01(金) 19:28:13ID:???>>417
行数が減らせるからとかいう話じゃない
本当に検索してんの?いくらでもオブジェクト指向の解説ページあるじゃん
本当にマニュアル読んでんの?開いたけど理解する気ないんでしょ
本当に>>1読んでんの?上げていいか分からないのでトリップ付けますとか氏ねよ
0431nobodyさん
2007/06/01(金) 19:29:04ID:???column(C)とrow(R)。
フィールド(field)は、俗的に使われているだけ。
0433nobodyさん
2007/06/01(金) 19:31:48ID:???0434417
2007/06/01(金) 19:44:09ID:lY2OXFpS>>425
なんとなくvarについては理解できました。
極端な話がコンソール画面でls -laて打ったときのWXRの組み合わせみたいな感じでしょうか。
もうちと検索して出直してきます。ありがとうございました。
0435nobodyさん
2007/06/01(金) 20:39:00ID:???LANケーブルで吊れば
LANケーブルで吊れば
0436nobodyさん
2007/06/01(金) 20:39:20ID:???recordとfieldは意味として常に正しい。
0437nobodyさん
2007/06/01(金) 20:45:44ID:???両方使われてた
0438nobodyさん
2007/06/01(金) 22:15:46ID:8Txj8d3oSQLの||検索するには、どういうstr処理が一般的なのでしょうか?
$_REQUEST['search'] = "学校 千葉県 船橋市";
$sql = "select .....where
0440nobodyさん
2007/06/01(金) 23:25:39ID:TCcOsPViID変わってしまったかもしれませんが
>>372です。
アドバイスありがとうございます。
がんばってやってみます。
Java 結城浩 アマゾンで買ってきます。
0441nobodyさん
2007/06/01(金) 23:43:51ID:???・class内にfunctionを定義する優位性が分かりません
ま、あれだな、
・部品は、中身を隠蔽しておいた方が後で使い回せるし、部分的に手を入れやすい
・使い回すためには class化しといた方がいいみたいだ
位の認識で、書き慣れておけばいいと思う。
簡単な処理を書き捨てるのなら、class化のメリットは無いと思うけど。
画面遷移が増えてきたり、
画面ぶっこぬき(スクレイピング)+webapiを混ぜこぜにしてグルグル処理するとかいった
ほとんど同じ処理だが微妙に分岐が異なるような処理をしだすと、class化のメリットがわかると思う。
>>362
がんがれ
とりあえず次はコンストラクタからかな。
class名と同じ名前のfunction を書くと classをnewしたときに、まず呼び出される。
んで、この辺りで、いろいろ前準備をする。
0442nobodyさん
2007/06/01(金) 23:43:55ID:MZUMr7GLどうすれば宜しいでしょうか?
str_replaceを使おうと思ったのですが、
1個しかないときもあれば10個連続するときもあるので、
うまく1個にできなくて困ってしまいました。
例: <半角空白>12<半角空白><半角空白><半角空白>34<半角空白><半角空白>56 → <半角空白>12<半角空白>34<半角空白>56
ヨロシクお願いします。
0447nobodyさん
2007/06/02(土) 00:47:46ID:4Fzsq5dM教えてもらったコードで、思い通りの動作ができました。
どうも、ありがとうござました。
0448nobodyさん
2007/06/02(土) 01:57:42ID:IL4/kKoQphpの最適化を行っている道すがらで見つけたのですが、以下のURL
ttp://labs.unoh.net/2007/05/phptips.html
・@によるエラー制御は遅い
・エラーメッセージはコストがかかる
とあります。
では実際どうしたら速いのでしょうか?
ワーニングレベルでもエラーを全く吐くことなく組めばいいといわれればそれまでですが。
色々検索したのですが、何処も同じような内容でこれ以上の事がかいていませんでした。
お力添え頂けると幸いです。
0449nobodyさん
2007/06/02(土) 02:03:00ID:???0450nobodyさん
2007/06/02(土) 03:14:10ID:???エラーをだすプログラムはやめてくれ
0451nobodyさん
2007/06/02(土) 03:59:52ID:???ttp://www.ilia.ws/files/zend_performance.pdf
の53p目嫁
>>449-450
dbへの接続オープンの @ とか運用時にも残るわけだが
0454nobodyさん
2007/06/02(土) 11:53:58ID:wQhvKdCT例えば単純なショッピングシステムとかの場合だと
フォーム処理、検索処理、など処理機能でページを分けるのか
顧客処理、商品処理、などデータ別でページを分けるのか
どちらの方が良いのでしょうか?
0455nobodyさん
2007/06/02(土) 11:58:17ID:???0456nobodyさん
2007/06/02(土) 11:59:17ID:???昨日の>>362です。
修正してみました。
http://php.shiriagari.com/counter/counter.0.0.4.html
ソースに色付いてないと見にくいと思ったのでHTMLファイルです。
(火狐では色がおかしくなるのでIEで見てください)
虚弱さんの言ってることはまだ全然実行(理解すら)できてないので今からそっちがんばってきます。
0461nobodyさん
2007/06/02(土) 13:02:19ID:???0462nobodyさん
2007/06/02(土) 13:04:45ID:???これから、ガンガンやるんでみんなヨロシク!
0463nobodyさん
2007/06/02(土) 13:49:31ID:???さまざまな分野の勉強をするべきだと思うよ。
学校の勉強をがんばろうね。
0464nobodyさん
2007/06/02(土) 14:05:11ID:???いや、それはoK。ってか、コンピューターは情報でやるやる勉強だから。
大学じゃなくてitの方の専門逝くっから、他の科目は勉強する必要なし。
数学とは、○進法とかの部分は得意だけど、後はさっぱ。まぁ、卒業できればいっしょw
うちの先生バカばっかだから、俺がPCのことを逆に教えてやっているw
専門行く前に、プログラム言語きわめるぜ!!
0465nobodyさん
2007/06/02(土) 14:07:56ID:???おれ今から数学だけ習いに大学通い直したいくらいだよ。
暗号化も圧縮もポリゴンも放物線も全部広義の数学。
数学わからなきゃそのへんの雑魚プログラマで人生終わりだよ。
0466nobodyさん
2007/06/02(土) 14:08:17ID:???だからPGはバカにされる
0467nobodyさん
2007/06/02(土) 14:10:50ID:???趣味でやるか、構築設計から導入サポートまで全て自分でやるかの二択になる。
後者ならどうしたって国語も数学も礼儀作法も学校の勉強は全て必要になる。
0468nobodyさん
2007/06/02(土) 14:21:00ID:???一番たちが悪いのは、ろくに技術力が無いのSEが上流工程を仕切ること。
一流企業のSEの技術力のなさは目も当てられない。
0469nobodyさん
2007/06/02(土) 14:27:56ID:???>専門行く前に、プログラム言語きわめるぜ!!
なんで所詮スクリプト言語のPHPを選択したのかね?
悪いことは言わないから、やるならJavaかC#かVB.NETやったほうがいい。
0470nobodyさん
2007/06/02(土) 14:34:01ID:???全部いらねえ。んなもん10年後にはマイナー言語だ。バーカバーカ
子供は今しか出来ないことをやるんだ。
感性を磨くこと。世界の理を知ること。そしてセックルすること。
0471nobodyさん
2007/06/02(土) 14:36:43ID:???これはマジレスしちゃっていいの?釣りなんだろどうせ?
0473nobodyさん
2007/06/02(土) 15:42:34ID:???でもPHPはダメだな
何でも簡単に出来すぎるし、型の概念とか身に付かないでしょ
0474nobodyさん
2007/06/02(土) 16:22:02ID:VjLksS9hやっぱりphp側で前後のミリ秒経過ですかねぇ…
0475nobodyさん
2007/06/02(土) 17:08:31ID:???0476nobodyさん
2007/06/02(土) 17:18:38ID:7YNSOR8Lここでphpのセッションでも使われている
md5のバッティングが話題になってるけど
バッティング率って実際どのくらいですか?
0477nobodyさん
2007/06/02(土) 17:20:38ID:???164 名前:NAME IS NULL[sage] 投稿日:2007/05/31(木) 23:40:19 ID:???
>>162
バントしたらホームランになっちゃった くらいの確率
以上
0478nobodyさん
2007/06/02(土) 17:25:46ID:7YNSOR8L0479nobodyさん
2007/06/02(土) 17:27:15ID:6vXnRB3n//ないし/**/のコメント内部は、クライアントはダウンロードしているのですか?
コメントが多いスクリプトは重くなるという話を聞きまいした。phpの他のコードがクライアントに渡らないのと同じ理由で
コメントもサーバ側で処理されていると思うのですが・・・
0480nobodyさん
2007/06/02(土) 17:28:43ID:6vXnRB3n転送量が大きくなる、という意味です
0482nobodyさん
2007/06/02(土) 17:55:01ID:???サーバーサイドっていう意味判ってる?
0483nobodyさん
2007/06/02(土) 17:59:52ID:???0484nobodyさん
2007/06/02(土) 18:04:34ID:6vXnRB3n後でやってみます
>>482-483
私がコメントの多いソースを書いていたら
先輩に「それじゃあ転送量が増大するだろ」と忠告されました
コメント書かないとわけわからなくなる糞な設計書を書いたのはその人なので
釣りだとすればその人が犯人なんです
0485nobodyさん
2007/06/02(土) 18:08:10ID:???ごめんなさい
0487nobodyさん
2007/06/02(土) 18:32:51ID:???0488nobodyさん
2007/06/02(土) 18:32:59ID:6vXnRB3n0489nobodyさん
2007/06/02(土) 18:33:39ID:6vXnRB3n0490nobodyさん
2007/06/02(土) 18:56:49ID:???後は二人仲良く相談してコーディングしてください。
0492nobodyさん
2007/06/02(土) 19:02:34ID:???ひどww 俺バイトですから書かれてることやって提出するだけです
提出したら電話がかかってきて
「おまえのソースはコメント多すぎるんだよ 転送量がハンパなくなるから勝手に削除したわ
余計なことさせるなよ」
と言われました メールじゃなくて電話ですよ
>>491
どもです
ありがとうございました
0493nobodyさん
2007/06/02(土) 19:03:34ID:6vXnRB3n失礼しました
0494nobodyさん
2007/06/02(土) 19:07:21ID:???0496nobodyさん
2007/06/02(土) 19:13:16ID:???むしろ、コメントがなくて今まで散々悩まされてきた。
もっと、しっかり評価してくれる人の下で仕事したほうがいいぞ。
0497nobodyさん
2007/06/02(土) 19:14:40ID:???0498nobodyさん
2007/06/02(土) 19:19:14ID:???0499nobodyさん
2007/06/02(土) 19:32:43ID:???0501nobodyさん
2007/06/02(土) 20:26:28ID:???コーディング規約でコメントの「書き方」はよくあるが「つけ方」は普通ないだろ
まあ、一行ごとにコメント書けというアホ規約があって
ボスが規約作った奴に怒鳴り込んだプロジェクトもあったけどさ
ウチのまわりだと、クラスやpublicメソッドのコメントはともかく
それ以外のコメント書くならコメントがなくてもわかるようなコーディングしろ
ってのが主流ですだよ
0502nobodyさん
2007/06/02(土) 20:41:15ID:???それだとコメントの魅力半減じゃ
コード読まなくても何やってるのか解るようにするためにコメント書くのも良いんじゃない?
0503nobodyさん
2007/06/02(土) 20:47:31ID:???0504nobodyさん
2007/06/02(土) 21:38:30ID:???0505nobodyさん
2007/06/02(土) 21:46:48ID:???0506nobodyさん
2007/06/02(土) 21:49:21ID:???0509nobodyさん
2007/06/02(土) 21:54:09ID:???いや、ギャグでもなんでもないんだが・・・
自由にユーザーが投稿できるようにするには、
入力チェックや何やらでphpでは手に負えなくなるだろ。
0511nobodyさん
2007/06/02(土) 22:05:58ID:???ノコギリでも刺身が作れるだろ、と言われれば、
そうですね、と苦笑して答えますが。
0514nobodyさん
2007/06/02(土) 22:19:04ID:???結局のところどっちなんでしょう?
0515nobodyさん
2007/06/02(土) 22:20:01ID:???掲示板の延長程度
0517nobodyさん
2007/06/02(土) 22:24:45ID:???ありがとうございます。
0518nobodyさん
2007/06/02(土) 22:35:18ID:???下質大好きっ子の俺が言うのもなんだけど
今日の流れの酷さったら半端ないな
0519nobodyさん
2007/06/02(土) 22:44:09ID:???0520nobodyさん
2007/06/02(土) 22:52:38ID:???Javascriptのライブラリでやるのがオススメ
俺が知ってるのでも2,3あるけど、その場でプレビューできるから最高だよ
0521nobodyさん
2007/06/02(土) 22:54:57ID:???入力チェックってjavascriptでやるほうが簡単なの?
0522441
2007/06/02(土) 22:59:43ID:4co9FcJHttp://php.benscom.com/manual/ja/function.flock.php
例 623. flock() の例
<?php
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // 排他ロックを行います
fwrite($fp, "Write something here\n");
flock($fp, LOCK_UN); // ロックを解放します
} else {
echo "ファイルをロックできません!";
}
fclose($fp);
?>
だな ロックを掛けたら解除しる ってとこか
0523nobodyさん
2007/06/02(土) 23:00:02ID:???だから、そんなもんは、phpだろうとjavascriptだろうとperlだろうと何だってできるんだよ。
迷ってないで、まずは作れよ。
0524nobodyさん
2007/06/02(土) 23:02:14ID:???どっちがいいか?と言われれば、両方組み合わせるのが一番いいのは言うまでもない。
javascriptは画面遷移を伴わないでチェックできる利便性があるが、
クライアント環境に依存するので、javascriptオンリーは避けたほうがいい。
0527nobodyさん
2007/06/02(土) 23:28:05ID:???読みとりの時は排他ロックじゃなくて、LOCK_SH LOCK_UN か、
書き込みの時は LOCK_EX LOCK_UN だね
getData();とかは素直にそのままreturnでカウンタの値(or 戻り値を含むarray)を返した方が良いと思う
この辺は上で他の人もいっていたけど、Javaの入門の方を見た方がいいか、、setter getterあたりとか
0528nobodyさん
2007/06/02(土) 23:30:45ID:???>>521の言い方だとjsかphpかどっちか片方にしか掛けなさそうだから言ったまでさ
確かに俺も入門者に接する態度じゃなかったな、言い直すか
>>521
どっちでもやっても大差は無いよ
でも、jsで入力チェックしただけだと悪意の有るユーザーが不正な文字列を簡単に送る事が出来てしまう、だからphp側でもチェックするのは必須
0529441=522=527
2007/06/02(土) 23:31:09ID:4co9FcJH全部>>456に対してのレスです
0530nobodyさん
2007/06/02(土) 23:43:52ID:???0532nobodyさん
2007/06/03(日) 02:27:21ID:V2jBxdII0533nobodyさん
2007/06/03(日) 02:31:49ID:???0534nobodyさん
2007/06/03(日) 02:33:06ID:???0535nobodyさん
2007/06/03(日) 03:09:39ID:QBl67X/1一時作業用ファイルを作成して
別のプロセス間で共有させたいのですが、
どうやりゃいいですか?
0536nobodyさん
2007/06/03(日) 03:17:59ID:???教えてもらってもセキュリティつかれるだけ。
おまえにはまだ早い
0537nobodyさん
2007/06/03(日) 03:29:24ID:QBl67X/1共有鯖ではないので多分大丈夫です
session.save_pathというのがありました
これを使えばいいと思うのですが
もしかしてセッションを削除する時に
同時に削除されてしまったりするのでしょうか
ワイルドカード使って削除しているのか
ただ単に全削除しているのかによると思いますが
0538nobodyさん
2007/06/03(日) 03:31:44ID:???おれならおまえの鯖をクラックするのにそう時間はかからないよ
0539nobodyさん
2007/06/03(日) 03:41:19ID:???0541nobodyさん
2007/06/03(日) 04:49:53ID:???( =д=) 世の中は質問があれば答えがある。その2つしかないんだっ!
ハ∨/^ヽ
ノ::[三ノ :.'、
i)、_;|*く; ノ
|!: ::.".T~
ハ、___|
0544nobodyさん
2007/06/03(日) 12:17:38ID:yVYYmrsT不定期にエラーが発生してしまって困っています。
ここ1ヶ月試行錯誤でコードをあれこれいじったのですが、どうしてもエラーが消えないんです。
アドバイス頂けないでしょうか?宣しくお願いします。
【コード】
$fp = @fopen($fileName, 'r');
if ($fp) {
while ($line = @fgets($fp)) {
if ($line == FALSE || $line == "") {
break;
} else {
// ファイル処理
}
}
@fclose($fp);
}
【エラーメッセージ】
「while ($line = @fgets($fp)) {」の部分で発生
メッセージ「fgets(): 10 is not a valid stream resource」
【発生頻度】
1000アクセスに2,3回程度
【再現性】
アクセス負荷、時間帯、処理の内容に関係なく不定期に発生
0545nobodyさん
2007/06/03(日) 12:56:46ID:XtY/sQS4(初期化処理とかなんですが・・)
2回目以降にリクエストされても、その処理は通したくないのです。
0547nobodyさん
2007/06/03(日) 13:01:47ID:???「試行錯誤であれこれいじった」とかいう情報に何の意味があるの?
頑張ったんですけどだめでしたとかいうポーズ?
0550nobodyさん
2007/06/03(日) 13:17:57ID:XtY/sQS4それって処理終わったら消すってこと?(ファイル自体を)
PHPってそんな方法でしか実装できないの?
0552nobodyさん
2007/06/03(日) 13:23:01ID:???要件があいまいすぎてわけわからん。
本当に一回しか実行しないなら、一回実行して消せばいいのはあたりまえすぎだし。
セッションごとに一回って意味にとれなくもないし、妙に回答のしづらい質問だな。
0553nobodyさん
2007/06/03(日) 13:24:46ID:XtY/sQS40554nobodyさん
2007/06/03(日) 13:31:53ID:???pconnectとかだったらDBがやってくれるよ
2回目以降の接続なら自動的に既存の接続を使いまわしてくれる
それ以外でも1回目だけとか考えるより、対象の処理が完了していたら
実行しないとかそういう風に考えるのがまあ普通だな例外もあるが
0555nobodyさん
2007/06/03(日) 13:32:47ID:???あと何でいきなり口調が偉そうになってんの?
0556nobodyさん
2007/06/03(日) 13:33:10ID:???0557nobodyさん
2007/06/03(日) 13:36:21ID:XtY/sQS4ありがとうございます。
参考になりました。
0558nobodyさん
2007/06/03(日) 13:37:34ID:XtY/sQS4いや特にコネクションプーリングがやりたいわけじゃなく、PHP使って初期化処理って普通どうすんのかなぁと気になって。
上でも書いたけどコネクションプーリングは例えです。
0559nobodyさん
2007/06/03(日) 13:55:14ID:9Yu/VUSy0560nobodyさん
2007/06/03(日) 14:30:00ID:???0561nobodyさん
2007/06/03(日) 14:36:04ID:9Yu/VUSy存在しないメソッドが呼ばれたときに、呼ばれるメソッドを定義できて、
そのメソッド名とパラメータがえられれば実装できます。
が、今一度マニュアルを漁ってみたところそのような機構はないようです。
0562nobodyさん
2007/06/03(日) 14:43:05ID:???一応PHP4にもある、4.3.0以降オンリーで5のより使いにくいけどな
http://jp.php.net/overload
でも5でやるのがおすすめだな
0563nobodyさん
2007/06/03(日) 14:50:10ID:9Yu/VUSyありがとうございます。こんなところにあるは思いませんでした。
一応リファレンスは通読していたつもりだったんですが…。
確かにPHP5でやると楽なんですが、PHP4が要件なんです。
これで何とかなりそうです。本当にありがとうございました。
0564nobodyさん
2007/06/03(日) 16:12:50ID:???sendmail関数をforでループさせても3万通位が限界です。
これってphpの仕様?
できれば、100万通じゃなくても多ければ多いほどよくて1億通でも送ることが可能なら送りたいです。
よろぴく♪
0569nobodyさん
2007/06/03(日) 16:25:09ID:???0570nobodyさん
2007/06/03(日) 16:30:02ID:???javaはphpと違って言語レベルで並行処理ができる。
※ こういうことが出来ないのが、phpがスクリプト言語と言われる由縁だけど。
詳しくは、javaのスレでメールの送信方法と、マルチスレッドの方法を聴いて。
※ その前に、googleで検索するように。すぐ見つかる。
あとは、サーバーによって一時間当たりのメール送信数に制限掛けているところがあるから、
複数の安いサーバーと契約して送信すればできるんじゃないか?
0571nobodyさん
2007/06/03(日) 16:34:57ID:???0572nobodyさん
2007/06/03(日) 16:37:13ID:???0573nobodyさん
2007/06/03(日) 16:41:15ID:???jjavaもよくわからんけど、わかんかったらまたききに来るわ。
0574nobodyさん
2007/06/03(日) 16:43:27ID:???0575nobodyさん
2007/06/03(日) 16:43:45ID:9Yu/VUSy0576nobodyさん
2007/06/03(日) 16:46:36ID:???もうここには、聞きに来ないでくれ。
javaなら、下のメールリストに高木さんという親切な管理人さんがいらっしゃるから、
何も分からないから、メールで大量送信できるようなプログラムを至急作って送って下さい。
と送れば、すぐ作ってくれるんじゃないかなぁ。
ttp://java-house.jp/ml/
0578nobodyさん
2007/06/03(日) 16:50:31ID:???0579nobodyさん
2007/06/03(日) 16:56:48ID:???0580nobodyさん
2007/06/03(日) 16:57:59ID:???session_destroyすると
Message: session_destroy() [function.session-destroy]: Session object destruction failed
になります。
セッションが切れているかどうかを判定する方法はないですか?
0581nobodyさん
2007/06/03(日) 19:08:19ID:???ある処理が一定時間経っても終了しなかった場合に、次以降の処理に進むような処理はどうやって実装するのでしょうか。
具体的にやりたいのは、数件のRSSファイルをネットワーク経由で持ってくる場合、n秒以上応答が無い場合は
次のURLに移る・・・というような処理です。
宜しくお願いいたします。
0583581
2007/06/03(日) 20:48:31ID:ngQVF/3a環境はWindows、Apache、PHP5.2.1です。
0584nobodyさん
2007/06/03(日) 20:51:34ID:???session_destroyしてるってことは、そのスクリプトの前の方で
session_startしてるわけだわな
んで、session_destroyの時点でセッションのデータが削除されてるってことは
(session_destroyの時間 - session_startの時間) < session.gc_maxlifetime
になるわけだと思うが、いったい何をしたらそうなるのかこっちが聞きたいわ
>>581
RSSをHTTPでもってくるにしても色々やり方があるわけで
それによって答えも変わるわな
0585nobodyさん
2007/06/03(日) 22:19:08ID:3VqHHU9G0586nobodyさん
2007/06/03(日) 22:25:30ID:???日本語でおk&スレ違い&
http://pc11.2ch.net/test/read.cgi/php/1180181033/41
これお前だろ
0589nobodyさん
2007/06/03(日) 22:52:53ID:???>>585じゃないけど、その仕様だと例えばHTMLを知らないユーザーとかだとアップできなくない?
HTMLの説明書きとかを注釈で加えるとか?
0592nobodyさん
2007/06/03(日) 23:04:52ID:BrDIy+5Hぐぐってもなんらかのプログラム知識ある人向けに書かれてるページばかりで
さっぱりわかりません。
0593592
2007/06/03(日) 23:11:19ID:BrDIy+5HWarning: include() [function.include]: Failed opening 'lang/jp.php' for inclusion (include_path='.;C:\xampp\php\pear\') in C:\xampp\security\htdocs\index.php on line 13
https://localhost/xampp/
でセキュリティを押すと上のようなページ表示されてるけど
解説ページ探してもちょっと違うんだよね
なんか間違えてインストールしてるのかな?
0594nobodyさん
2007/06/03(日) 23:12:09ID:???aho-
どう見ても>>588は「自分でコメント欄もどき作っておけ」っていう冗談じゃねーか
日本語大丈夫か?
0595581
2007/06/03(日) 23:13:38ID:ngQVF/3a返信ありがとうございます。
RSSを持ってくる手段についてはfopenを使うか、もしくはRSS読み込みまでやってくれるモジュールを使うか
決めてはいませんでした。仮にfopenで持ってくる場合にどうすれば良いかお聞きしたいです。
0596nobodyさん
2007/06/03(日) 23:25:52ID:???検索すればいくらでも出てくると思うが、、、
jpの言語ファイルがないってインストーラで入れるときに
japanese選んだのかい?
0597588
2007/06/03(日) 23:31:58ID:???くそ、ID出しておけばよかった・・・
0598592
2007/06/03(日) 23:38:39ID:BrDIy+5Hインストール自体が失敗してたのかな?
0599592
2007/06/04(月) 00:07:17ID:fJ2k7ySqDLしたXampp自体のバグだったようです
http://support.exxaxon.co.jp/index.php?topic=30.0
のようにjp.phpってのをコピーしたら表示できました
しかしまぁ1.5.5の時のバグが1.6.2でも解決されてないんですね
これだけで今日6時間かかった危うく挫折するところだったorz
0600nobodyさん
2007/06/04(月) 00:41:14ID:???>しかしまぁ1.5.5の時のバグが1.6.2でも解決されてないんですね
はい、そこ。ちょっと問題が解決したからって、気を大きくしない
逆に言われてしまえば「既知のバグも確認せずにインストールするなんて」ってなるんだから、
正直見苦しいよ
0601nobodyさん
2007/06/04(月) 00:53:50ID:???0603nobodyさん
2007/06/04(月) 01:06:16ID:???どうやって調べればいいでしょうか。
0604nobodyさん
2007/06/04(月) 01:09:03ID:???http://jp.php.net/debug_backtrace
0605nobodyさん
2007/06/04(月) 02:41:59ID:???stream_set_timeout($fp, $idle);
http://php.mirror.camelnetwork.com/manual/ja/function.stream-set-timeout.php
だな
0606nobodyさん
2007/06/04(月) 10:20:36ID:???そんな関数があったのか。前に同じことをしようとしたときはわざわざforkしてた...
でも、スレッド使いたいな。
0607nobodyさん
2007/06/04(月) 11:14:34ID:xiuS9z/Z連想配列内の配列を取り出す方法を考えています。
例えば以下の配列
$a = array(0=>array(0=>"AA",1=>array("A","B")),1=>array("C","D"),2=>array("E","F"));
から$a[0][1]を取り出したい場合どのようなスクリプトならできるのか悩んでいます。
array_slice($a,0,1)だとarray(0=>array(0=>"AA",1=>array("A","B")))のみです。
$aからarray("A","B")の部分を取り出すにはどのようにすればいいのか教えていただけませんか。
0608nobodyさん
2007/06/04(月) 11:17:18ID:???0609581
2007/06/04(月) 11:36:37ID:JYPog2pEどうもありがとうございます。早速試してみます。
0610nobodyさん
2007/06/04(月) 12:00:59ID:DwHDHcMtフォームから、GETでデータをhoge.phpに渡しているんですが、
データが、'を\'にしたり\を\\にしたりと、サニタイズされています。
hoge.phpのインクルードしているプログラム間でそういう記述があると思ったのですが、
hoge.phpの一番上(処理が何もされていないだろうと思う場所)で、
print_r($_GET);
exit;
としても、サニタイズされているんです。
javascriptでも何もしていませんでした。
これってありえますかね?(現にありえてるんで悩んでいるんですが・・・)
アドバイスお願いいたします。
0612nobodyさん
2007/06/04(月) 12:26:25ID:???ってわかってるやつは切ればいいんだけど。
サーバをいじれない環境だと.htaccessでやるしかなくて、
できるかどうか確認するのまでどきどきしちゃうw
0614nobodyさん
2007/06/04(月) 12:38:17ID:???0617nobodyさん
2007/06/04(月) 16:47:52ID:???あれは、脳の中にcronの仕組みがあるという認識で間違っていませんか?
0619nobodyさん
2007/06/04(月) 17:48:34ID:6QRX92pz>中身を隠蔽しておいた方が後で使い回せるし
classに隠蔽したほうが使いまわせれるというのはどういうことですか?
毎回オブジェクトをつくらないといけないですよね?
>>画面遷移が増えてきたり
フォームかurlでしか次の表示に変数は渡せないですよね?
0620nobodyさん
2007/06/04(月) 18:14:19ID:N4khH+faセッションはクッキーと違い、変数をサーバー上に保存しておくものだと本で読みました
ということは、あるユーザーが取得したセッションで管理されてる変数を、
同じページを開いた別のユーザーも共有できるのかと思い、試してみましたができませんでした
これはなぜでしょうか?
ちなみに下記の方法で試してみました
↓ソース
test.php
<?php
session_start();
if(!isset($_SESSION["count"])){
$_SESSION["count"] = 0;
}
else{
$_SESSION["count"] ++;
}
echo $_SESSION["count"];
?>
PCが一台しかないので、同じPC内の2種類のブラウザ(IEとファイアーフォックス)で実験
1 IEで開いてF5を連打し、カウントを適当な数まで増やす
2 ファイアーフォックスで同じページを開く
ファイアーフォックスで開いたとき、IEで表示されているカウント数に関係なく 0 が表示されました
なぜでしょうか?
0621nobodyさん
2007/06/04(月) 18:33:08ID:lLfrP8Zc0624虚弱PHP
2007/06/04(月) 19:03:20ID:???厳密には正しくないけど最初は↓みたいに理解するといいかも。
○ユーザー毎にセッションIDが付けられる。
→ これをブラウザのクッキーに保存
○セッションID毎にセッションファイルが作られる。
→ ブラウザクッキーとして送られたセッションIDをもとに読み出し
0626441
2007/06/04(月) 21:51:29ID:g5MJj3HB>classに隠蔽したほうが使いまわせれるというのはどういうことですか?
>毎回オブジェクトをつくらないといけないですよね?
確かに、書き捨ての簡単な処理しか必要ない、機能追加もメンテも全部一人でこなすというのなら
無理にする必要は無いとは思うけど。
ただ、使えるけど使わない 使えないから使わない
は全然違うから、とりあえず使えるようにすることから始めてみればいいのでは。
メリットを理解するのは
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060921/248617/ とか、
ttp://www-06.ibm.com/jp/developerworks/opensource/060901/j_os-php-designptrns.shtml とかか、
>画面遷移が増えてきたり
>フォームかurlでしか次の表示に変数は渡せないですよね?
有る意味ではその通りだし、有る意味では違うともいえるかも。
class云々とは若干離れるが、
変数(+オブジェクト)の受け渡しは、 serialize ttp://jp.php.net/serialize を使う方法もある。
最近は json and xajax 使ってるけど。 なるべく画面遷移させたくないからね。
単純な登録・更新・削除だけだと、べたべた書いても変わらないけど
curl+パース→結果によりPOSTを分岐+DB格納 とかを組み合わせた
バッチ系の処理を書くと、クラス化して隔離・隠蔽しとかないと、あとで訳わからなくなってくるんすよ。
まぁ覚えておいて損は無いからまずは習得+模倣から始めればよいと思う。
0627nobodyさん
2007/06/04(月) 21:58:09ID:???>ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060921/248617/ とか、
これはいくらなんでも電波だな。電波と言うか無内容
0628441
2007/06/04(月) 22:13:23ID:g5MJj3HB平易で良くまとまっているポインタが有れば、差してくださいな。
中・高・大・大人(というか環境)によって見え方と捉え方が違うから難しいっす。
0629nobodyさん
2007/06/04(月) 22:26:07ID:5+o3owYSいつ使ったらいいかわからないんです
単に遠まわしにしているとしか感じないです。
ただのユーザー関数とクラス化したもので
例えばどういう処理orアプリにおいて便利なるんですか?
ユーザー関数だと、こういう風に格納しまくらなきゃいけなくて
オブジェクトならこんな風に数行で…みたいな
0630nobodyさん
2007/06/04(月) 22:35:46ID:???0631441
2007/06/04(月) 22:35:58ID:g5MJj3HB乱暴に一言でいうと、単純なユーザー関数だと、抽象化 継承が出来ない。
一連の機能を継承して新たな機能を派生で作るとかね。
遠回しという感覚は確かにその通りに感じると思う。
というか遠回しにしているからこそ拡張出来る。
だから、有る程度の複雑性と多様性が無いと、純粋なコードを書く量は増えてしまうだけで、
メリットを享受出来ないかも。
0632nobodyさん
2007/06/04(月) 22:43:50ID:???一人で開発していて、再利用するつもりもなくて、拡張性の必要もない場合に加えて、
言語はPHPというなら、別にOOPする必要はないんじゃないか。
0633nobodyさん
2007/06/04(月) 22:50:17ID:???とりあえずOOPで書いてみて何がいいのかを体感しようとせず
頭だけで理解しようとする奴にはいつまでたっても無理だから
0634nobodyさん
2007/06/04(月) 22:57:02ID:???そうだと思うよ。急いでその場しのぎで作るなら無理にする必要はないとも思う。
OOPが目的のOOPでの実装は意味がないと思っている。
趣味とか、やっつけ仕事、数百行程度の実装なら別にいいんじゃないか。
ただ、そのまま機能を作り込んでいくと、
「あの機能とよく処理にてる」とか
「あの処理のあの機能を引っぺがして、ちょこっと変えてこっちにも組み込みたい」
「ほとんど似ている手続きなんだけど微妙に分岐が違う一連の手続きを定期的に連続実行したい。」
とかが頻発してくる。
んで、よく似た同じ事をコピペとかでくむと、後で修正するときも、同じような機能で微妙に違う箇所を
grepして抽出して、書き換えるとかいった面倒なことになる。書き換えるだけならいいけど、テストも過給的に
増えてメンドクセーとかね。
だから、必須ではないけど、使えるようにしておいた方が何かとつぶしは効くかも。
0636441
2007/06/04(月) 23:03:21ID:g5MJj3HBID晒し忘れた。
0637nobodyさん
2007/06/04(月) 23:12:23ID:gV5OyYxv0638nobodyさん
2007/06/04(月) 23:22:45ID:???0639nobodyさん
2007/06/04(月) 23:24:34ID:???0640nobodyさん
2007/06/04(月) 23:25:12ID:???0641nobodyさん
2007/06/04(月) 23:29:34ID:???↓
人のソースを見て、自分のソースをリファクタする。
これが、最強の教育アルゴリズム。
0642nobodyさん
2007/06/04(月) 23:33:42ID:???0643nobodyさん
2007/06/04(月) 23:35:13ID:???0644nobodyさん
2007/06/04(月) 23:42:42ID:???ありがとうございます トランバック、RSS、コメントにそれらを管理するものetc
確かに勉強になりそうです
>>641さん方式が向いてそうなのでそれで進めてみますが、おすすめの既存ソースはありますか?
読みやすくて完成度が高いもの、XSS等虚弱性なんて当然なくて
サニタライズがしっかりしているものはどんなものがありますか?wordpressのように高機能でなくて良いです
0645nobodyさん
2007/06/04(月) 23:43:59ID:???http://developer.yahoo.co.jp/
とか使ってなんか面白いものを作るとか。
生きてて変化するデータを使う方が何かと楽しいとは思う。
0646nobodyさん
2007/06/05(火) 00:03:22ID:???0647nobodyさん
2007/06/05(火) 00:26:04ID:/9Tx9T4K0648nobodyさん
2007/06/05(火) 00:31:46ID:m4nsZU4oああー
まずは継承や再利用の価値を勉強すればいいんですね
0649nobodyさん
2007/06/05(火) 00:58:06ID:???if($string == "1"){
$string == "一";
}
0650nobodyさん
2007/06/05(火) 01:03:27ID:???function hoge($val) {
if ($val==0) {return '零';}
$len = strlen($val);
$j = 0;
$kansuuji = array('','一','二','三','四','五','六','七','八','九');
$kurai1 = array('','十','百','千');
$kurai2 = array('','万','億','兆');
$answer = "";
for ($i = $len-1; $i >= 0; $i++) {
if (0==($j % 4)) {
$answer .= array_shift($kurai2);
} else {
$answer .= $kurai1[$j % 4];
}
$answer .= $kansuuji[substr($val, $i, 1)];
}
$j++;
}
}
ちゃんと動くかは知らん
0651nobodyさん
2007/06/05(火) 01:06:28ID:???唯一イベント駆動型のGUIで意味がある。ウインドウやボタンをオブジェクトとして、
オブジェクト毎に色や形(プロパティ)やイベント(メソッド)を定義するだけだから。
0652441
2007/06/05(火) 01:06:53ID:J7TorZ22継承と再利用の価値は 勉強つうか >>630 だとおもう
1)仕事じゃないんだったら、最初は周りくどいことは気にせずテキトーに Aという仕組みを作ってみる。
(登録・更新・削除・参照・バッチ処理があるようなものがいいか)
↓
2)テキトーに作ったAを機能分割、汎用化して一つ一つの処理の複雑度を下げてA’を作る
↓
3) 2を使ってBを作ってみる
↓
4) 1を使って Bを作ってみる
という流れかもね。
初めからいきなり 2) → 3)が作れればそれが最短だけど、
1)を作れないのならば、いきなり抽象化と再利用ができるようにはならないかも。
ついでに言うとコーディングレベルでの抽象化と再利用だけだとうまく分割出来ないともいえる。
規模・要件によって、最適解と抽象化の粒度は異なるわけ。
再利用する必要が無いものを、汎用化して工数が余計に掛かる位ならべた書きでも
速攻仕上げた方が最適だったりする。
0653nobodyさん
2007/06/05(火) 01:07:36ID:???1文字だけ変えるのなら>>649のような感じでいいけど、
数文字いっぺんに変えるなら正規表現で置き換えのほうが楽。
30000を三万とかにするならかなり複雑になると思う。
0655nobodyさん
2007/06/05(火) 01:10:08ID:???これ以上やるならクソスレ立てて誘導します。
0657nobodyさん
2007/06/05(火) 01:21:00ID:???反論があれば具体的にどーぞ。
Railsがどんな功績や効率的な処理を実現しましたか?
ほんとCGI系でオブジェクト指向なんてひとつも意味無いから。
RubyはVisualCOBOLみたいなもんだよ。アホな人的資源の救済措置。
0658nobodyさん
2007/06/05(火) 01:25:07ID:J7TorZ22ここがそのクソスレ(ry
すまん 吊ってきます。
0659nobodyさん
2007/06/05(火) 01:26:25ID:???全て手続き型で実現可能な物事です。まぁ当たり前なんだけどね。
オブジェクト指向自体が手続き型で実装されているわけだから。
自分で実際やってみるとわかるけど、スクリプト言語でオブジェクト指向的
振る舞いを繰り返すと、すぐに重くてどうにもならなくなる。
また全体に知能が低めに設定されているのか、オブジェクト指向派は動的な
構成を好み、決まってHTMLを生成しようとしない。
0661nobodyさん
2007/06/05(火) 01:58:10ID:???な。知能低いだろ。HTML生成型という発想そのものが無く、Cで書けば速いと
思い込んでいる。自分で書いたことも無さそうなのにw
こんな5年10年使い込まれた泣き言が飛び出すとは、この糞スレだけ時の流れが
止まってるのでしょうか。サーバサイドは誰でもどんな時代でも少しでも軽い方が
良いに決まっているのにねぇ。私はカウンタだけCで書いています。関係無いけどね。
0662nobodyさん
2007/06/05(火) 02:04:37ID:???議論は他にいってやってください。
0666nobodyさん
2007/06/05(火) 02:14:37ID:???社内向けシステムなら動的にページを生成したときの
レスポンスの悪さもある程度がまんしてもらえるけど
ネットに公開するようなサイトだとそれだと困るからな〜
0667nobodyさん
2007/06/05(火) 02:34:09ID:???スレのサブタイトルに、「日本共産党員お断り」って入れておいて。
0669668
2007/06/05(火) 04:21:30ID:???0670虚弱PHP
2007/06/05(火) 10:16:30ID:???0671nobodyさん
2007/06/05(火) 11:54:18ID:4B8PpfOt<?php header("Location: 転送先URL"); ?>
だけテキストで入力して、
その後、拡張子をPHPにすればOKでしょうか?
あと、このリダイレクトの方法って、メタと違って
ブラウザ側で拒否出来ないという認識で問題ないですか?
0673nobodyさん
2007/06/05(火) 13:08:10ID:???ブラウザで拒否できないというか、
正常なブラウザならhttpヘッダを見て挙動を決めるので、
それでリダイレクトされる。
逆にそれでリダイレクトされないなら、
そのブラウザがブラウザとしての最低限の機能を搭載してないってこと。
つまりブラウザにあらず。
0674nobodyさん
2007/06/05(火) 13:19:13ID:4B8PpfOt有り難うございます。
一応、動くのは試してみてわかっているのですが、
PHP自体をほとんど理解していないので
なにか足りないのではないかと
ちょっと心配になり聞いてみました。
>>673
有り難うございます。
PHPは現在、初心者本片手に勉強してるんですが、
まだまだ理解が乏しいので助かりました。
言われてなるほどですね。
0675nobodyさん
2007/06/05(火) 13:29:59ID:???セッション関数を使うと、「セッションクッキー」という特殊なクッキーが
自動で発行される。
>セッションはクッキーと違い(中略)あるユーザーが取得したセッションで管理されてる変数を・・・
共有できるわけねぇだろ、と。
それじゃセッションの意味がないだろ、と。
0676nobodyさん
2007/06/05(火) 14:32:50ID:???0677nobodyさん
2007/06/05(火) 14:40:10ID:J1A5BxRH標準の関数oci_connect等を使うか、
PEARのDBクラスを使うか、
PDO関数を使うか、どれを使えばよいのか迷っています。
好きなものを使うべきなのでしょうが、
皆さんならどれを使いますか?
0678nobodyさん
2007/06/05(火) 14:57:10ID:???0679nobodyさん
2007/06/05(火) 15:19:54ID:fm5P/WUSPHPスクリプトを暗号化しようと思い
php_screw( ttp://www.pm9.com/newpm9/itbiz/php/ )をインストールし
php.iniにextension=php_screw.soと記述し、phpを実行すると
以下のようなエラーが出てしまいます。
PHP Warning: Unknown(): Unable to load dynamic library
'/usr/local/lib/php/extension/no-debug-non-zts-20020429/php_screw.so' -
/usr/local/lib/php/extension/no-debug-non-zts-20020429/php_screw.so:
cannot open shared object file: No such file or directory in Unknown on line 0
No such file or directorといわれていますが実際にファイルは存在しています。
何らかの原因でロードできていないんだと思いますが、検討がつきません。
どなたか分かる方いらっしゃらないでしょうか?
環境は Linux(CentOS4.4) + PHP 4.4.4です。
0680nobodyさん
2007/06/05(火) 15:24:34ID:Q4Q2J1Ec「オープンソースでの開発経験をお持ちの方」
って書いてあったんだが、気にしなくていいよな・・・
いいバイト先ないかなぁorz
0682nobodyさん
2007/06/05(火) 15:33:04ID:???開発に参加っていってもパッチを送る位なら履歴書を書きながらでもできるだろ。
適当なハックを見繕ってプロジェクトのMLにポストすりゃいいのよ。
0683nobodyさん
2007/06/05(火) 16:10:55ID:???Java だと、以下のような感じでできた。
Long mylong = new Long("1181025482687");
Date date = new Date(mylong.longValue());
System.out.println(date);
PHP で同じようなことをしたいと思い、
$param = "1181025482";
$today = date('Y-m-d H:i:s', $param);
print($today);
こんなコードを書いたが、date() や gettime() は int 型しか受け取れない。
Java みたいに long を受け取れる関数はありますか?
やりたいことですが、今使っている他システムが、ログに時刻を Unix タイムスタンプ(long型)で
出力しやがるので、それを見やすくする web 変換ページを作りたいのです。
0685nobodyさん
2007/06/05(火) 16:18:48ID:Ku9URNE5割って位を出していくでしょ?
数が巨大になると、PHPが整数として扱える範囲を超えて、
割れなくなる。
この難問どうすれば解けますか?
0687683
2007/06/05(火) 16:26:41ID:vO+V39fBサーバのOS:CentOS4.4
PHPのバージョン:PHP 4.3.9
Webサーバ:2.0.52
0688nobodyさん
2007/06/05(火) 16:48:52ID:???そのコードで何が問題?
>>685
http://php.net/base_convert
0690683
2007/06/05(火) 16:58:40ID:vO+V39fBdate() 関数に 1181025482687 のような13桁を渡すと、
オーバーフローしてしまいます。
Long mylong = new Long("1181025482687");
Date date = new Date(mylong.longValue());
System.out.println(date); // 2007/06/05 15:38:02 が表示される
同じ "1181025482687"を >>683 のコードに渡すと
2038-01-19 12:14:07 が表示されてしまいます。
>>683 のように、"1181025482"(後ろ3文字をカット)すると、
2007-06-05 15:38:02
が表示されます。
実際にはミリ病は必要ないのでこれでいいのですが、
PHP でも、Java のように long 型で受け取れないのかなと思い
質問しました。
>>689
キャストしてみた。
$param = "1181025482687";
$today = date('Y-m-d H:i:s', (int)$param); // (intをつけた)
結果は、やはり 2038-01-19 ・・・ が表示されてしまう。
0691nobodyさん
2007/06/05(火) 17:00:10ID:???date('Y-m-d H:i:s',1181025482687 / 1000)
2007-06-05 15:38:02
割ればいいんでないの?
0692683
2007/06/05(火) 17:11:04ID:vO+V39fBとりあえず割ることで対応しました。
自分が作った関数には13ケタの数字をそのまま渡したいのですが、
出力にはミリ秒が含まれなくても別にかまわないので。
# date() の出力フォーマットにミリ秒が出せるのは、PHP 5.2.2 からのようですね
http://www.php.net/manual/ja/function.date.php
をみると、date() の引数は int 型なので、結局 long は渡せないし、
ほかにそのような関数もない、ということなのかな。
っつーか http://www.php.net/manual/ja/language.types.php を見ているのですが、
もしかして PHP は long がない?
(整数は、10進だと10ケタまで?)
すみません、頭の中がJavaかCなもので・・・
0693nobodyさん
2007/06/05(火) 17:13:06ID:???ミリ秒単位で渡すなよ.
例え桁あふれがなくても1181025482687秒と認識されるだろが
0694nobodyさん
2007/06/05(火) 17:21:02ID:???普通にlong型はないね。
intの範囲(-2147483647〜2147483647)を超えるとfloatになる。
0695683
2007/06/05(火) 17:29:28ID:vO+V39fBレスどうもありがとうございます。
すみません、Unix タイムスタンプ(time_t ?)という書き方がよくなかったでした。
やりたかったことは、とにかく 時刻表現が1970/1/1 からのミリ秒として13ケタの数字でわたってくるので、
これを人間の読めるようにしたかった、でした。
PHP の time() 関数が、精度を秒で返すのは、
PHP の time() が C の time() でできているからかな?
0696nobodyさん
2007/06/05(火) 17:36:10ID:???0697nobodyさん
2007/06/05(火) 17:43:47ID:???その問題は変数の型とは全く関係ないっしょ。
確かにDate.getTimeとかで1970/1/1からのミリ秒で返ってくるんだろうけど
それは「UNIXタイムスタンプ」とは非なるもの。
適当に3桁削るか自作関数作りなるなりして対応すればいいんでないの.
つかマニュアル見れば分かることだけどlong型なんてないし
型が違ったら自動的にキャストしてくれるから引数の型は意識しなくもいい。
$param = "1181025482";
$today = date('Y-m-d H:i:s', $param);
print($today);
そもそも最初の例のこれだと$paramはstring型だしな。
0698nobodyさん
2007/06/05(火) 17:47:29ID:???クダラネー
0700nobodyさん
2007/06/05(火) 18:11:13ID:DIaHasCnこれって、サーバがやられてしまったのでしょうか?
<iframe src='http://quickcnt.com/ld/axhst/' width='1' height='1' style='visibility: hidden;'></iframe>
0702nobodyさん
2007/06/05(火) 18:39:10ID:???0703nobodyさん
2007/06/05(火) 18:41:05ID:???0704700
2007/06/05(火) 19:03:42ID:DIaHasCn>>自分のスクリプトに穴があるとは考えないんだな
問題のあるコードを書いているかもしれません。。。
>>Dreamweaver使ってるんじゃまいか?
使ってます、問題あるのでしょうか?
>>自鯖ならそく閉鎖しる
閉鎖しました
0705nobodyさん
2007/06/05(火) 19:05:35ID:???はやいなw
0706nobodyさん
2007/06/05(火) 19:21:06ID:???http://www.itmedia.co.jp/enterprise/articles/0702/08/news027.html
0707nobodyさん
2007/06/05(火) 19:37:41ID:???0708nobodyさん
2007/06/05(火) 19:55:06ID:???脆弱性のあるスクリプトがどういうものなのか気になる。
今後の参考にもぜひみせてもらいたい。
0709nobodyさん
2007/06/05(火) 20:34:47ID:6blsZ/zSというのは、どういう風に表現されるのですか?
変数Aに、値が入っていなかったら、変数Bを変数Xに代入せよ。
変数Aに、値が入っていたら、変数Xには変数Aを代入せよ。
ということを書く場合、
if($a==""){$x=$b}
else
{$x=$a}
じゃ、うまくいかないんですが、未定義・null・値が入ってない、
といったことを表現するのはどう表現するのでしょう?
0710nobodyさん
2007/06/05(火) 20:38:11ID:???http://jp.php.net/empty
0711nobodyさん
2007/06/05(火) 20:38:22ID:???「初心者ですが教えて下さい。」←これタブーね
if($a){
echo "入っています";
}else{
echo "入っていません";
}
0712nobodyさん
2007/06/05(火) 20:41:11ID:???ttp://jp.php.net/manual/ja/function.isset.php
ttp://jp.php.net/manual/ja/function.is-null.php
ttp://jp.php.net/manual/ja/function.empty.php
0714nobodyさん
2007/06/05(火) 20:47:01ID:MIae8p3rimagepng()で作成した場合はちゃんと透明化されるのですが、
imagegif()を使用すると透明化されません。
サーバによって上手くいく場合もあるのですが何を調べるべきなのかもわからない状態です。
何かご存知でしたらご教授お願いします。
↓テスト用にソースを抜き出しました。
<?
$image = imagecreatetruecolor(20,20);
$color = ImageColorClosest($image,255,255,255);
for($i=1;$i<=10;$i++){
for($j=1;$j<=20;$j++){
imagesetpixel($image,$j-1,$i-1,$color);
}
}
$color = ImageColorClosest($image,200,0,5);
//透明にする予定の色で半分だけ塗りつぶし
for($i=11;$i<=20;$i++){
for($j=1;$j<=20;$j++){
imagesetpixel($image,$j-1,$i-1,$color);
}
}
$permeateColor = ImageColorClosest($image,200,0,5);
imagecolortransparent($image,$permeateColor);
$file = "./test.gif";
imagegif($image,$file);
//$file = "./test.png";
//imagepng($image,$file); これならうまくいく
0715nobodyさん
2007/06/05(火) 20:51:11ID:6blsZ/zSすごい すごい!
こんなに素速く返事があるなんて!
あまりに初歩的すぎて、皆さんから怒られるかと思いましたが、
適切なご教示を頂きありがとうございました。
マニュアルとか解説系HPでも分からなかったのですが、
isset ってのも見かけては居たのですが、その変数が宣言されて
いるかどうかを調べる関数に違いないと即断していました。
いろいろあるんですね。
ありがとうございました m(..)m
0716nobodyさん
2007/06/05(火) 20:51:41ID:???> サーバによって上手くいく場合もあるのですが何を調べるべきなのかもわからない状態です。
とりあえず上手くいくサーバといかないサーバのGDのバージョンをリストアップしてみれば
0717nobodyさん
2007/06/05(火) 21:07:48ID:EQxq7rXderror_reporting(E_ALL);
if(isset($_COOKIE["hoge"])){
ini_set("session.gc_maxlifetime",14*86400);
ini_set("session.cookie_path","/hogehoge/");
ini_set("session.cookie_lifetime",14*86400);
ini_set("session.save_path","./hogehogehoge/");
ini_set("session.use_only_cookies",1);
session_start();
$sestmp=$_SESSION;
session_destroy();
session_id(md5(uniqid(rand(),true)));
session_start();
$_SESSION=$sestmp;
}
//以降省略
上記のコードですが、テスト環境(Windows+AN HTTPD+PHP5.2.1)では問題は無いのですが、レンサバ(Linux+Apache1.3+PHP5.1.6)で動かした所、特にエラーメッセージ等も無いのにセッションファイルがカラッポ(0バイト)になってしまいます。
単にsession_start();とした場合は期待通りに動作するのですが、session_start();session_regenerate_id(true);では駄目でした。
ローカルではいずれも意図した通りに動作するのに、何故レンサバでは動かないのでしょうか?
また解決するにはどうすれば良いのでしょうか?
0718nobodyさん
2007/06/05(火) 21:09:00ID:???アルゴリズムが難解すぎて…
具体的にどうやればいいですか?
>>688
最初はそれ使ってましたが
巨大になると挙動がおかしくなるんです
// ここまではok
echo base_convert('fffffffffffff',16,16);
// ここからng
echo base_convert('ffffffffffffff',16,16);
0719nobodyさん
2007/06/05(火) 21:28:52ID:???0720nobodyさん
2007/06/05(火) 21:30:26ID:???環境依存すぎ。
そういうことするまえに、
なにもせずに
session_start();で
var_dump($_SESSION);
が可能かどうかをしめすべきだ。
0721717
2007/06/05(火) 21:42:20ID:EQxq7rXdローカル、レンサバ共にarray(0) { }でした
環境依存と言いますと、どこかに汎用性の無い関数でも使っていましたか?
session.cookie_path等は前述のように単にsession_startした場合は大丈夫でしたので問題は無いと思います。
0722nobodyさん
2007/06/05(火) 22:09:27ID:???>アルゴリズムが難解すぎて…
ふむ、どの辺まで考えたの?
>巨大になると挙動がおかしくなるんです
まぁその理由はマニュアルに書いてあるけどね。
0724nobodyさん
2007/06/05(火) 22:21:26ID:???ココだけ見ると COOKIEが無いときは永久に通らないという罠
一行づつデバグしろよ
あと、/hogehoge/のパーミッションエラーとかはマジ勘弁
0725nobodyさん
2007/06/05(火) 22:23:44ID:???function bc_base_n2ten($num, $n) {
$len = strlen($num);
$result = ??
for ($i=0; $i<$len; $i++) {
$result = bcadd($result,
bcmul(base_convert($num[$i], $n, 10), bcpow($n, $len - $i - 1)));
}
return $result;
}
function bc_base_ten2n($num, $n) {
$len = strlen($num);
$result = ??
for ($i=0; $i<$len; $i++) {
$surplus = bcmod($num, $n);
$num = bcdiv(bcsub($num, $surplus), $n);
$result .= base_convert($surplus, 10, $n);
}
return preg_replace("/^0+/", ??, strrev($result));
}
function bc_base_convert($num, $n, $m) {
$num = bc_base_n2ten($num, $n);
return bc_base_ten2n($num, $m);
}
PEAR探さばこういうのあるかもしれないけどシラネ
息抜きに作ってみたからちゃんと動作するかもシラネ
0726nobodyさん
2007/06/05(火) 22:26:03ID:?????は上から
'0'
''
''
0727717 ◆.Ia5JkzwT6
2007/06/05(火) 22:26:49ID:EQxq7rXdレス有り難う御座います
一行ずつ試してみたいと思います
パーミッションはミスってたらエラーメッセージが表示されますし、session_start()のみだと正常に動作するのでそれは無いと思います
早いですが、今日はもう寝るのでトリップつけておきます
0728nobodyさん
2007/06/05(火) 22:41:18ID:???0729nobodyさん
2007/06/05(火) 22:58:16ID:???$hoge = array();
書かずにいきなり
$hoge[] = 'fuga';
って書くの行儀悪い?
0733nobodyさん
2007/06/05(火) 23:35:20ID:???0734nobodyさん
2007/06/06(水) 00:11:14ID:???他人のソースを見るときでもそれを前提に読むからな
どっちでもいいと思うよ
おれは宣言してから使うけど
0735nobodyさん
2007/06/06(水) 00:23:36ID:???forとかifとかの中で
$hoge[] = 'fuga';
するなら、必ず
$hoge = array();
しておく。
0736nobodyさん
2007/06/06(水) 00:27:49ID:???たぶんDBのFetchループあたりのことだと思うけど、
そういうのわざわざ変数名変えたりしないから
初期化してないってのは怖いね。
0737nobodyさん
2007/06/06(水) 00:48:44ID:???別にPHPがそうとかいう話じゃなくて、プログラミング言語の発展としてさ。
いちいちプログラマの判断で変数宣言を書き込んで管理しなきゃならないなんて、前時代の遺産となるべきものじゃないかしら
0738nobodyさん
2007/06/06(水) 00:52:31ID:???新しく使うのか、どこかから結果を引き継いでいるのかが分からないから
可読性のために俺は書く
0739nobodyさん
2007/06/06(水) 00:54:27ID:???echo $str[1]
---
o
こんな感じに、配列のように文字列から文字を切り出せるって
今日はじめて知ったんだがおまえら知ってましたか?
これ一般常識なの?
0741nobodyさん
2007/06/06(水) 01:21:46ID:???0742nobodyさん
2007/06/06(水) 01:28:32ID:???0748nobodyさん
2007/06/06(水) 01:44:10ID:???変数のスコープを自在にあやつれるほうが高級、というか混乱しなくて良い
んなわけで初期化というか変数宣言(Perlだとmyとかlocalとかな)がないと困るZE☆
0750nobodyさん
2007/06/06(水) 01:55:19ID:???0751nobodyさん
2007/06/06(水) 01:58:00ID:???アップロードできない画像は主にjpgです。
アップロードできるjpgもあります。
ファイルサイズも関係ないようです。
(ファイルサイズが大きめのjpgにもアップロードできるものがあった。逆に小さいjpgだができないものもあった)
昔も同じ症状に陥りましたがたしかphpの設定関係だった気がします。。
いったいどこが原因でしょうか?
0752751
2007/06/06(水) 01:59:12ID:b3J3b1x00753nobodyさん
2007/06/06(水) 02:00:53ID:???0754nobodyさん
2007/06/06(水) 02:07:41ID:???スコープを決めるには変数宣言必要だし
変数宣言あるなら
my $hoge;
・・・
$hoge[] = 'fuga';
するなら
my $hoge = array();
・・・
$hoge[] = 'fuga';
のほうが "読みやすい" と思う。
だから俺は変数宣言は必須で初期化は任意でいいと思うけど
初期化してあるほうが「他の人が改修する時」とか。という感じだZE☆
phpの場合スコープいいかげんだから、初期化しといたほうが気配りさんじゃね
エディタの一画面で全部把握できるコードとかだったら俺も初期化とかしねーけどさ
0755751
2007/06/06(水) 02:15:59ID:b3J3b1x0いえ、jpgです。
どうもPHPの設定じゃない気がしてきました。
うーん。
0756nobodyさん
2007/06/06(水) 02:39:59ID:3mye17O+class Hello {
function hello() {
echo "Hello, ", Hello::bar();
}
function bar() {
return "world.";
}
}
Hello::bar(); のようにいちいちクラス名を書いているのですが、
これを省略することはできますか?
0757nobodyさん
2007/06/06(水) 02:43:49ID:0gT0vIE0あるオブジェクトを返してくるメソッドがfoo()があると仮定します。
その返されたオブジェクトがメソッドbar()を持っていたとき、
このメソッドbarを呼ぶには一度テンポラリ変数にオブジェクトを代入して、
改めてメソッドを適用しなくてはならないのでしょうか?
つまり、
$tmp = foo();
$tmp->bar();
と書くしかないのでしょうか。できれば
foo()->bar();
のように一度に書きたいです。無理でしょうか。
0758nobodyさん
2007/06/06(水) 02:50:53ID:oqXEdx16PHP4用と、PHP5用を分けて2つ作るか、
ソースに差がある部分を条件文で分けて1つだけ作るか
どっちにするか迷っています。
速度面を重視するなら、条件文がないほうが早いと思うので前者がいいですか?
互換性を保つため、PHP4の書き方で1つだけ作るという方法もありますが、
速度面でPHP5から導入された関数なんかも使いたいので、
それは今回なしの方向でお願いします。
0759751
2007/06/06(水) 02:52:21ID:b3J3b1x00761nobodyさん
2007/06/06(水) 03:17:31ID:???0762nobodyさん
2007/06/06(水) 03:23:36ID:???0763nobodyさん
2007/06/06(水) 03:35:50ID:???ttp://www2.alc.co.jp/ejr/index.php?word_in=substring&word_in2=reedeirrf&word_in3=zJPa7DCxJ15687987t
0764nobodyさん
2007/06/06(水) 03:36:26ID:???fucntion hogehoge()
{
}
}
ベタなのはこんなん?だけど複雑なのはめんどそう
0766いつもの人 ◆3Htx6mDqZs
2007/06/06(水) 03:55:05ID:???速度言ってるが、ベンチすらしたことなだろ
>>757
foo()->bar(); 4だと使えない?
call_user_func(array(foo(),bar))とか
>>756
self
0767いつもの人 ◆3Htx6mDqZs
2007/06/06(水) 03:57:26ID:???0768nobodyさん
2007/06/06(水) 04:05:02ID:???0769758
2007/06/06(水) 04:40:45ID:oqXEdx16DBを使う予定なのですが、
PHP4ではPDOが使えないので、分けようと思いました。
PDOは速度面キャッシュ効率などパフォーマンスに優れているので、
PHP5ではそちらを使いたいなぁと。
4でも5でも使えるPEARはパフォーマンスは悪いですし、
標準DB関数でもいいのですが、めんどくさくて・・・
>>766
ベンチはとってないです。というのもまだ着手してないので。
結構大きいものになる予定なので、
簡単なものを作って比較するのでは誤差も微妙で参考にならないと思い質問しました。
0770nobodyさん
2007/06/06(水) 05:03:22ID:???PDOは確かにね
DBの条件分岐だけならほんの少しで済むだろうし
別に作る必要は無いと思われ
条件文自体は何個あろうが変わらん(誤差以下
0771758
2007/06/06(水) 05:14:44ID:oqXEdx16心強いアドバイスありがとうございます。
では該当部分は1ファイルにまとめて作りたいと思います。
早朝からわざわざありがとうございました。
0772nobodyさん
2007/06/06(水) 08:29:01ID:???0773nobodyさん
2007/06/06(水) 10:25:01ID:jwkhTokvどこか、初心者でもわかりやすい
解説サイトありますか??
お願いします。
0774nobodyさん
2007/06/06(水) 10:26:32ID:jwkhTokv書き込む場所間違えた。
さーせん
0775nobodyさん
2007/06/06(水) 10:50:10ID:xvgl2fqUそれは違うのではないでしょうか。
正しくは 「文字列型が実は全て配列型で構成されてる」 で、
簡単に言うと 「文字列は文字の配列」 ですよね?
0776nobodyさん
2007/06/06(水) 11:18:36ID:???0777nobodyさん
2007/06/06(水) 11:22:52ID:???$hoge = "PHP-kuso";
$hoge[3] = "\0";
print $hoge;
こうしたらどう表示されるの?
0778nobodyさん
2007/06/06(水) 11:23:49ID:???0779nobodyさん
2007/06/06(水) 11:49:24ID:KZlHfOQYこれは何という名前の虚弱生でしょうか?対処方法はありますか?
0782nobodyさん
2007/06/06(水) 12:18:54ID:???糖尿病
>>781
俺もオンラインゲームにどっぷり
やっぱパソコン持っててオンラインゲームやってないやつってクズだよな
0785nobodyさん
2007/06/06(水) 14:06:18ID:???0786nobodyさん
2007/06/06(水) 15:13:12ID:y4bZ9a73このプログラムなんですが、
ソースを見た限りではJavaScriptは使われていませんよね?
こういう、順番に取得した結果をリアルタイムに表示ようなものは、
PHPだけで出来ますか?
全て終わるまで応答が何秒も返って来ないプログラムの場合有効そうですよね?
0787nobodyさん
2007/06/06(水) 15:18:59ID:???0788nobodyさん
2007/06/06(水) 15:52:07ID:???いちおうあるよ。あまり使われてないけど。
【総合】 Webprog板質問雑談スレッド 1
http://pc11.2ch.net/test/read.cgi/php/1131016915/
0789nobodyさん
2007/06/06(水) 15:52:36ID:???<?php
echo "Hello\n";
ob_flush();
flush();
sleep(2);
echo "World\n";
?>
0791790
2007/06/06(水) 16:06:47ID:???function fluch_echo($str,$sleep=0){
ob_flush();
flush();
sleep($sleep);
echo $str;
}
fluch_echo ("Hello\n",2);
fluch_echo ("World\n",2);
こんなの作ってみたんだがどうだろ
0792nobodyさん
2007/06/06(水) 16:11:53ID:y4bZ9a73どうもありがとうございます。
こんな面白い関数があったのですねー
早速これをつかって色々遊んでみます。
0795nobodyさん
2007/06/06(水) 17:27:09ID:???出力はいろいろなところでバッファリングされる
ob_flush( ) でPHPのバッファをApacheにフラッシュ
flush( ) でApache内のバッファをブラウザへ出力
<table>があると</table>が来るまでブラウザ内にバッファされて表示されない
0797nobodyさん
2007/06/06(水) 17:41:31ID:???IEかな
IEは256バイト以下の出力はブラウザにバッファされるからHelloの前にダミーの文字を256文字出力しておけばいい
<?php
echo str_repeat("A", 256);
echo "<br>\n";
echo "Hello\n";
ob_flush();
flush();
sleep(2);
echo "World\n";
?>
0798nobodyさん
2007/06/06(水) 17:43:37ID:sQx6t4Ws|| か or か、 &&か and か。
0799nobodyさん
2007/06/06(水) 17:46:16ID:???短かったり関数だったりする場合はorとかORとか書くかな
0800nobodyさん
2007/06/06(水) 17:53:16ID:???>>ob_flush( ) でPHPのバッファをApacheにフラッシュ
これ以降の出力をメモリに格納
>>flush( ) でApache内のバッファをブラウザへ出力
今まで溜めたものを射精して、通常処理でFA?
あとネストってなにがネストってるんだ…
0802nobodyさん
2007/06/06(水) 18:22:16ID:???つかそれは論理演算子…。
優先順位が違うから基本的に&&||だね。
or exit()くらいにしか使わんなぁ。or exit()自体もほぼ使わないけど。
0803nobodyさん
2007/06/06(水) 18:27:10ID:sQx6t4Wsなんでですか?orはだめなの?
0804nobodyさん
2007/06/06(水) 18:34:02ID:2+2ZUG2Dこの方向幕が何の電車(○○○系)に使われていたのか、知りたいです。
方向幕の装置は手で動かすハンドルが付いており、
電動式ではないようなので、かなりの年代物のようです。
印刷されているコマの駅は、山口県の一部(宇部・宇部新川・下関・厚東など)と、
日豊線の門司港〜大分間、鹿児島線の門司港〜川尻間、あと長崎線です。
幕の痛み具合から日豊線で使用されていた物のようなのですが、
それ以上のことは分かりません。
『急行』と書かれたコマがあるものの、多分普通電車の方向幕だと思います。
また、小郡が『新山口』となっていないので、やはり年代物でしょうか。
どなたかお詳しい方いらっしゃったら、どうぞ宜しくお願いします。
0806717 ◆.Ia5JkzwT6
2007/06/06(水) 18:50:43ID:???一行ずつ検査して行った所、どうやらセッションの中身が空なのかどうかを判別せずに$sestmpで移していたのが不味かったようです。
session_start();
$sestmp=$_SESSION;
session_destroy();
session_id(md5(uniqid(rand(),true)));
session_start();
$_SESSION=$sestmp;
を
session_start();
if(isset($_SESSION["hoge"])){
$sestmp=($_SESSION["hoge"]);
}
session_destroy();
session_id(md5(uniqid(rand(),true)));
session_start();
if(isset($sestmp)){
$_SESSION["hoge"]=($sestmp);
}
に書き換えたところ上手く動作するようになりました。
なぜこんな所で動作の違いが生じたのかは解りませんが、とりあえず動作するようになったので報告させて頂きます。
有り難う御座いました。
0807779
2007/06/06(水) 18:54:27ID:???レスくれたみなさん、本当にありがとうございます
明日からは首にならないように皆さんの意見を取り入れ、こっそりオンラインゲームしようと思います
0808nobodyさん
2007/06/06(水) 18:59:51ID:???0810nobodyさん
2007/06/06(水) 20:21:07ID:???0811nobodyさん
2007/06/06(水) 20:25:39ID:???0813nobodyさん
2007/06/06(水) 20:31:27ID:???今かなり大きな仕事やってまして、主任を任されています
これさえ終われば・・・と思ってはいるのですが、このままでは本当に鬱病になりそうです
明日こそは頑張ってオンラインゲームじゃなかった仕事します
0814nobodyさん
2007/06/06(水) 20:34:41ID:???>session_id(md5(uniqid(rand(),true)));
なんでわざわざ、自前でこんな事やってんの?
PHPが発行してくれるセッションIDは十分に信頼できるランダム性を持ってるぞ。
0816nobodyさん
2007/06/06(水) 20:44:24ID:???欝は表に症状が出たら手遅れだから
早めに病院いったほうがいいよ
> 明日こそは頑張って(略
典型的に欝になりやすいタイプだな……無理して2ヶ月休職とかなる前に手をうっとけ
あと がんばるな
0817nobodyさん
2007/06/06(水) 20:44:33ID:???0818nobodyさん
2007/06/06(水) 20:46:40ID:???session.entropy_file = /dev/urandom
session.entropy_length = 32
これで十分
0820nobodyさん
2007/06/06(水) 21:05:13ID:???おまいらガンガレ!ガンガレ!超ガンガレ!
「頑張れ」って鬱には逆効果なんだっけ
0821nobodyさん
2007/06/06(水) 21:45:54ID:???頑張れ、は確か痴呆症の人に言ってはいけない言葉だったと思う。
鬱の人には、頑張れ、といってあげると気分が楽になると思うよ。
0823nobodyさん
2007/06/06(水) 23:25:06ID:???生真面目な人はうつになりやすいので
頑張れ、とかいうとホントに頑張っちゃって病状悪化するので言っちゃだめ
と、マジレス
0824nobodyさん
2007/06/06(水) 23:40:10ID:???鬱の人間にもそれは分かってるはず。
言われても相手に悪気がないのも分かるし、
言われても気にしなければいいと言うことが分かっているのに、
なぜか病状悪化するんだよな。
確かに>>823の言うとおり生真面目すぎるんだろうな。
0825717 ◆.Ia5JkzwT6
2007/06/06(水) 23:43:50ID:RCcsVPbuめちゃめちゃですか?もうちょっと具体的にお願いします。
ちなみに最後から二行目の括弧はミスです。
>>814
特に根拠は無いのですが、なんとなく少しIDが短かいようで不安になったので、idを長くするためだけにやっています
>>817
マニュアルのコピペです
>>818
良く意味が解らないので保留にしておきます
と言うかそれ、窓だと動かないのでは?
>>819
ほとんどsession_regenerate_idが古いファイルを消してくれなかった頃に書かれた物のコピペですが、そんなに変でしたか?
やりたいことは毎回session_regenerate_id(true)と同等の動作をさせたいだけですが、前述の理由で長ったらしいコードになっています。
0826nobodyさん
2007/06/06(水) 23:44:04ID:???って書くとむきになってマジレスしてくる奴とかは鬱になりやすいので
にちゃんなんだからとさらっとスルーできるようにしましょう。
0827nobodyさん
2007/06/07(木) 02:01:20ID:???これで明日の運勢を決めてる
0828nobodyさん
2007/06/07(木) 02:33:49ID:???( ´・ω・`) ∧_∧
/ \ ( )うんうん、それがいいよね
.__| | .| |_ / ヽ
||\  ̄ ̄ ̄ ̄ / .| | |
||\..∧_∧ (⌒\|__./ ./
||. ( ) ~\_____ノ| ∧_∧
/ ヽ 賛成だね \| ( )
| ヽ \/ ヽ. ぼくもそうするよ〜、だってそれがよさげだもん
| |ヽ、二⌒) / .| | |
0829nobodyさん
2007/06/07(木) 03:01:48ID:???0830nobodyさん
2007/06/07(木) 03:06:20ID:???0831nobodyさん
2007/06/07(木) 09:31:41ID:???実際にはLinuxのサーバで動かすプログラムをwinでコーディングするって
問題ありますか?
もちろんphpやSQLのバージョンは同じという前提ですが…
0832nobodyさん
2007/06/07(木) 09:43:29ID:???難しいことしないにしても、マニュアルのファイル操作系関数はよく見ておいたほうがいい。
あとファイル名規則はLinuxにあわせること。大文字小文字にも注意して。
0834nobodyさん
2007/06/07(木) 10:08:56ID:???コーディング自体は何使っても問題無いが、
途中の動作テストをwindows上でやるのはあまりお勧めできない。実機がなければ、VirtualPCとかを使えばマシか。
文字コード改行コードの違い、マルチバイトの正規表現、CLI まわりは特に注意する。
0835nobodyさん
2007/06/07(木) 10:13:30ID:???>めちゃめちゃですか?もうちょっと具体的にお願いします。
>なぜこんな所で動作の違いが生じたのかは解りませんが
って書いてるんだから、変更に意味があると思ってないでしょう?あなたも。
そもそも元質問>>717の駄目原因、
>session_start();session_regenerate_id(true);では駄目でした。
session_regenerate_id(true);がソースのどこにあるのよ。
0836虚弱PHP
2007/06/07(木) 11:32:02ID:???ID被り&推測可能かが心配なら自前でMD5にするより
session.hash_function = 1
でSHA1にしたらいいんじゃあるまいか。
0837nobodyさん
2007/06/07(木) 12:07:42ID:???0838717 ◆.Ia5JkzwT6
2007/06/07(木) 18:40:54ID:5RXDLZBj>って書いてるんだから、変更に意味があると思ってないでしょう?あなたも。
確かにそうです。
変数の扱い方でも変わったのかな?と思いましたが、公式にも書いて無いですし、例えそうだとしてもエラーメッセージぐらい出てもいいものだ、とお手上げ状態です。
>session_regenerate_id(true);がソースのどこにあるのよ。
後半の処理をsession_start();session_regenerate_id(true);に置き換えても駄目だったと言う事です。
>>836
その設定項目は知っていましたが、パッと見でidの長さが自前で指定したときよりも短かったのでスルーしていました。
しかし、よく見てみるとハッシュ値は16進数なのに対し、PHPが吐くセッションIDはアルファベットを全て使っているようですね。
PHPが自動で吐くIDも、自前で指定したハッシュ値も安全性に大差無い事が解りましたので、このように変えてみました。
〜行数制限に掛かるのでini_set省略〜
ini_set("session.hash_function",1);
session_start();
//セッションが空の状態でregenerate_idするのを防ぐ
if(isset($_SESSION["hogehogehoge"])){
session_regenerate_id(true);
}
else{
$_SESSION["hogehogehoge"]=1;
}
このように変えてみました。
杞憂と早とちりで無駄にスレを消費してしまい、申し訳ありませんでした。
結局、何故テスト環境では空のセッションをregenerateしても大丈夫なのか解らずじまいですが、当面はこれで問題も出なさそうですし、解決したと言う事にして置きます。
アドバイスくれた方々有り難う御座いました。
0839nobodyさん
2007/06/07(木) 21:06:49ID:4r7P9twqPHPの作成は今回が初めてです。
昨日まで順調に進んでいたのに、あるところで詰まってしまい、現在困っているので、是非アドバイスお願いいたします。
例として・・・。
1ページ目に「A」を選択し
2ページ目に「b」を選択、
3ページ目に「任意の日付を選択」を選択し、プルダウン方式(××年××月××日 ←バツをプルダウン式))で日付を選びます。
4ぺージ目には「A-b-20070607.jpg」という感じに組み合わせた画像を表示したいです。
(組み合わせた画像はすでに友人が作成してあります)
とりあえず、3ページ目の「今日」で「A-b-20070607.jpg」と表示できるのですが、
「任意の日付を選択」では、その3ページ目のデーターしか値を渡すことができません。「--20070607.jpg」となってしまいます。
作り方は・・・
1ページ目
<a href="page2.php?q1=A">A</a>
2ページ目(page2.php)
<?php
echo "<a href=\"page3.php\"?q1=".$_GET['q1']."&q2=a>a</a>";
?>
3ページ目(今日)
<?php
echo "<a href=page4.php?q1=".$_GET['q1']."&q2=".$_GET['q2']."&q4=" $now_date = date("Ymd").">1:今日<br></a>";
?>
3ページ目の「任意の日付を選択」の作り方を教えてください・・・。
よろしくお願いします。。。
0840839
2007/06/07(木) 21:14:18ID:4r7P9twq任意の書き方としては・・・
//GETフォーム
echo("
<form action=\"testf_3.php=".$_GET['q1']."&q2=".$_GET['q2']."\" method=\"GET\">
<select name=\"year\" >
<option value=\"2006\">2006</option>
<option value=\"2007\">2007</option>
</select>
年
<br>
<select name=\"month\" >
<option value=\"01\">01</option>
<option value=\"02\">02</option>
・
<option value=\"11\">11</option>
<option value=\"12\">12</option>
</select>
月
<br>
<select name=\"day\" >
<option value=\"01\">01</option>
<option value=\"02\">02</option>
・
</select>
日
<br>
<input type=submit value=確定 >
</form>
");
0843nobodyさん
2007/06/07(木) 21:34:48ID:4r7P9twqform使用してるんだけど無理なんです。
>>842
hiddenかぁ、ちょっと調べてきます。
略している部分があるけど、書き方はこれであってる?
0844nobodyさん
2007/06/07(木) 21:40:55ID:???0845nobodyさん
2007/06/07(木) 21:43:55ID:???任意の日付の選択の作り方なのかHTMLフォームの文法チェックしてほしいのか
はっきりしろよ。
何がわからなくて何を教えてほしいのかはっきりしない質問はクズ質問だ
0847nobodyさん
2007/06/07(木) 21:54:01ID:4r7P9twq任意の日付の作り方を教えてほしいです
0849nobodyさん
2007/06/07(木) 22:01:56ID:???>>840の記述をして、
次のページに移動しても
$_GET['q1']と.$_GET['q2'].の値を受け取ることができません。
<form action=\"testf_3.php=".$_GET['q1']."&q2=".$_GET['q2']."\" method=\"GET\">
↑
この文法であっているのでしょうか?
0850nobodyさん
2007/06/07(木) 22:05:00ID:???0851nobodyさん
2007/06/07(木) 22:05:40ID:???間違ってるに決まってるだろ。
>>839
>PHPの作成は今回が初めてです。
他のプログラム言語でも作ったことが無いんだろ。
素直に言えばいいのに
0852nobodyさん
2007/06/07(木) 22:10:33ID:???<form action=\"page3.php="..$_GET['q1']."&q2="..$_GET['q2']."\" method=\"GET\">
日付のデータは受け取れて表示されています。
ほかのデータはまったく表示されていません。
0853nobodyさん
2007/06/07(木) 22:13:03ID:zFLdGIyc色々しらべたところ、Javaの本には「インターフェイスで多重継承を実現する」とか書いてあるものがありまして、
しかし、中身は、インターフェイスはメソッドの中身は定義されていなくて、いちいち使用するクラスのほうで
中身を書かなくてはなりません。多重継承できるなら、継承したすべてのクラスのメソッドが使用できると解釈してしまうのですが。。
継承したメソッドを使用できなくては、「多重継承を実現する」という日本語を使うのはおかしいとおもうのですが・・
せめて、「多重継承の真似事ができる」くらいにしか表現できないとおもうのですが・・
初心者のうちはあまり深く考えずに、どんどんソース書いた方がいいですか?あまり気にしないほうがいいですか?
Javaのほうで質問しようとおもいましたが、私はJavaはよくわからないので・・
0854LwHXvdhAI
2007/06/07(木) 22:15:59ID:???<a href="http://p1ring.xshorturl.org/1/download-free-ringtones.html">download free ringtones</a>
<a href="http://p1ring.xshorturl.org/1/cingular-ringtones.html">cingular ringtones</a>
0855nobodyさん
2007/06/07(木) 22:22:27ID:???0856nobodyさん
2007/06/07(木) 22:25:27ID:???10行中に生齧りで自分が書いてても判ってない言葉が一杯あるのがよくわかるから
まあ、そんな自分でもわかってないことを質問するよりは10000行ぐらいコード書いてから来なさい。
0859853
2007/06/07(木) 22:38:23ID:???>>856 わかりました。自分でもよくわからないまま質問しました。もっとたくさん書いてからですね。
>>857 わかりました。というか、わからないんですが、多重継承が糞と呼ばれてることだけは、
おぼえておきます。
皆さん、どうもありがとうございました。どんどん書いてみます。
0860853
2007/06/07(木) 22:40:41ID:???どうもありがとうございました。気持ちを分かっていただいた上で
気にしないでいいということなので、気にせずにどんどん進めていきます。
ありがとうございました。PHPは面白いですね。Cだと、コンソール画面に向かって
短いプログラムを作ってるだけなんで。
みなさん、ありがとうございました。
0861nobodyさん
2007/06/07(木) 23:40:16ID:???クエリの文法間違ってるしGETじゃactionでパラメータは渡せん。
<input type="hidden"〜をパラメータ分作ってvalueに指定する。
>>853
インターフェイスはクラスメソッドの仕様書みたいなもんだが…。
組み込みインターフェイスを実装して
http://www.php.net/manual/ja/language.oop5.iterations.php
こんな風にオブジェクトをforeachとかで使えるようにしたりとか…。
しかしPHPでは使う機会はほとんどないかな?
まぁOOPは確かに勉強しようとするよりも
組んでいって使う場面に出会った時、こんな素敵な機能が、と気付くような物だからね。
0863nobodyさん
2007/06/08(金) 01:15:57ID:YM7YDoyYにしてると、注意で「Notice」が表示されるけど、
表示されるようにしておいたほうがいいのかな?
それとも、Noticeくらいならぜんぜん問題ないのかな?
0864nobodyさん
2007/06/08(金) 01:24:20ID:rQuqM37d初めて読ませていただきましたが、みなさん面白いですね。
私も仕事でPHP等使ってますが、この掲示板のところどころに
見覚えのある単語がかかれていたので、つい最後まで読んでしまいました。
私の環境では、PHP3,4,5サーバーが混在するので、怖くてクラスの機能は超基本的な部分しか使ってません。
多重継承... 試したことがありません。(おそらく動くでしょうけど・・・)
0865nobodyさん
2007/06/08(金) 01:25:52ID:???0866nobodyさん
2007/06/08(金) 01:39:02ID:rQuqM37d4〜5年前のもの。
各種2〜3バージョン前のもの。
ほとんどが手続き型で保守がしんどい・・・。
ざっくり再構築したいのだが・・・
ま、明日もがんばります。では!
0867nobodyさん
2007/06/08(金) 02:11:49ID:???【PHP】下らねぇ質問はここに書き込みやがれ 46 (前スレ)
http://pc11.2ch.net/test/read.cgi/php/1178955837/
【PHP】下らねぇ質問はここに書き込みやがれ 45 (ここ。実質 47)
http://pc11.2ch.net/test/read.cgi/php/1178955768/
【PHP】下らねぇ質問はここに書き込みやがれ 47 (次スレ?実質 48)
http://pc11.2ch.net/test/read.cgi/php/1180181033/
だったっけ?
0869nobodyさん
2007/06/08(金) 07:02:43ID:YM7YDoyYだよね、一番良い対策はそれだよね・・・
if($_POST['check']){
でNoticeが出るんだけどなんでだろ
結構この書き方使うのに・・・
0870nobodyさん
2007/06/08(金) 07:24:41ID:???0871nobodyさん
2007/06/08(金) 07:28:12ID:???未定義の変数を評価しようとしてるからだよ
外から来た変数が空か、定義されてるか調べるには
empty($_POST['check'])とかisset($_POST['check'])
0872nobodyさん
2007/06/08(金) 07:43:07ID:???Fatalばっかし
0873nobodyさん
2007/06/08(金) 07:54:36ID:???0874nobodyさん
2007/06/08(金) 07:55:44ID:???初心者が間に受けるからオマイラ適当なこというな
0875nobodyさん
2007/06/08(金) 08:29:03ID:???多重継承はできないけど、合成関数で多重継承ライクなことはPHPでもできるよ。
0876nobodyさん
2007/06/08(金) 11:05:51ID:???> <form action=\"page3.php="..$_GET['・・・・
というか
<form action=\"page3.php?".$_GET['・・・・
じゃ。
0877nobodyさん
2007/06/08(金) 11:14:27ID:???二重でコードではなく一度だけデコードしたいのですが。
0878nobodyさん
2007/06/08(金) 11:34:03ID:???0881nobodyさん
2007/06/08(金) 11:55:24ID:???$a = 0;
$htemp = array("35.0","35.1","35.2","35.3","35.4","35.5","35.6","35.7","35.8","35.9",
"36.0","36.1","36.2","36.3","36.4","36.5","36.6","36.7","36.8","36.9",
"37.0","37.1","37.2","37.3","37.4","37.5","37.6","37.7","37.8","37.9",
"38.0","38.1","38.2","38.3","38.4","38.5","38.6","38.7","38.8","38.9",
"38.0","39.1","39.2","39.3","39.4","39.5","39.6","39.7","39.8","39.9",
"40.0","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9",
"41.0","41.1","41.2","41.3","41.4","41.5","41.6","41.7","41.8","41.9",
"42.0","42.1","42.2","42.3","42.4","42.5","42.6","42.7","42.8","42.9",);
print("<select name=htemp><option>");
while($a < 80) {
print("<option>$htemp[$a]");
$a++;
}
print("</option></select>");
?>
もっとスマートに記述する方法、教えて偉い人
0882nobodyさん
2007/06/08(金) 12:01:16ID:???入ってくるデータが
URLエンコ*2
URLエンコ
の二種類あり前者ならURLエンコを、後者なら元の文字列を得たい、ということです。
0883nobodyさん
2007/06/08(金) 12:01:46ID:???$htemp = array("35.0","35.1","35.2","35.3","35.4","35.5","35.6","35.7","35.8","35.9",
"36.0","36.1","36.2","36.3","36.4","36.5","36.6","36.7","36.8","36.9",
"37.0","37.1","37.2","37.3","37.4","37.5","37.6","37.7","37.8","37.9",
"38.0","38.1","38.2","38.3","38.4","38.5","38.6","38.7","38.8","38.9",
"38.0","39.1","39.2","39.3","39.4","39.5","39.6","39.7","39.8","39.9",
"40.0","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9",
"41.0","41.1","41.2","41.3","41.4","41.5","41.6","41.7","41.8","41.9",
"42.0","42.1","42.2","42.3","42.4","42.5","42.6","42.7","42.8","42.9",);
print("<select name=htemp><option>");
foreach($htemp as $v) {
print("<option>$v</option>");
}
print("</select>");
?>
0885nobodyさん
2007/06/08(金) 12:07:41ID:???もっと、シンプルに記述するにはどうすればいいですか
0887nobodyさん
2007/06/08(金) 12:20:43ID:???0889nobodyさん
2007/06/08(金) 12:25:52ID:I6Gynhm5これでいいですか
0891nobodyさん
2007/06/08(金) 12:28:50ID:???0892nobodyさん
2007/06/08(金) 12:31:41ID:???あんなコードでも使えるので、もういいですよ
では、
0893nobodyさん
2007/06/08(金) 12:32:48ID:???0894nobodyさん
2007/06/08(金) 12:34:17ID:???for($i = 35; $i < 43; $i += 0.1)
とか、PHP5以上なら
range(35,43,0.1)
とか。
0896nobodyさん
2007/06/08(金) 12:47:27ID:???"%" を urlencode すると、 "%25"になるよな?
で、"%25" をurlencodeすると "%2525"になる。
ここで、"%2525"が与えられたときに、
これが"%"を2重エンコードしたものか、"%25"を一回エンコードしたものか
どうにかして判断できないかってこと?
入力データ依存のヒューリスティックな推測以外ないだろうね。
0897nobodyさん
2007/06/08(金) 12:58:32ID:???URLエンコ*2→「前者ならURLエンコを」
URLエンコ→「後者なら元の文字列を」
でしょ。
2回エンコード後が %2525 → %25 (元は "%")
1回エンコード後が %2525 → %25 (元がこれ)
0899nobodyさん
2007/06/08(金) 13:15:16ID:???「そもそもはFORTRANでどーたらこーたら」とか言う話を聞いた記憶が。
0901nobodyさん
2007/06/08(金) 13:48:29ID:???0902nobodyさん
2007/06/08(金) 13:55:39ID:???0904nobodyさん
2007/06/08(金) 14:37:45ID:???0905nobodyさん
2007/06/08(金) 14:45:02ID:Xs31IcmGを10文字単位で区切り文字を入れたいのですが
どうやらばいいのでしょうか?
0906nobodyさん
2007/06/08(金) 15:02:23ID:6ggljLpp百億 * 百億 の結果を整数で表示したいのですがどうしたらいいのでしょうか?
0907nobodyさん
2007/06/08(金) 15:10:15ID:???どっちでも問題なくPHPでMySQL使える
>>905
マルチバイトの文字列関数使えばできるのかもしれないけどざっと見た感じではよう分からん。
forで回したほうが早いかも
>>906
http://jp2.php.net/manual/ja/ref.bc.php
0908nobodyさん
2007/06/08(金) 15:20:48ID:JzH9jcRmクラスの利点は再利用って言うけど
ユーザー関数郡をインクルードしたって同じじゃないの?
別に中の変数名違うのでもグローバルしなきゃ大丈夫だし
0910nobodyさん
2007/06/08(金) 15:25:31ID:6ggljLppありがとうございます。
echo bcmul(bcmul('10000000000', '10000000000'), bcmul('10000000000', '10000000000'));
で百億の四乗とかやってみたかったのです。
もう少し見やすくする方法はないですよね?
0912nobodyさん
2007/06/08(金) 15:44:38ID:Xs31IcmGありがとうございます
とりあえず以下を作って対応しました
$test = "abcdefvhijklmnopqrstuvwxyz0123456789あいうえおかきくけこさしすてそ";
echo hohoge($test,",",10);
function hohoge($text="",$key="",$limit=100){
$max = $start = 0;
$temp = array();
if($text=="" && $limit < 0){
return false;
}
$max = mb_strlen($text);
while($max > $start){
$temp[] = mb_substr($text,$start,$limit);
$start += $limit;
}
return implode($key,$temp);
}
0914nobodyさん
2007/06/08(金) 15:57:07ID:???それがそもそもの間違い。
よくクラスはその書き方から名前空間の付いた関数群のようなものと思われがちだが、
クラスは関数よりの概念ではない。
クラスとは型であって構造体とかもっと言ってしまえばスカラー型に近いもの。
クラスの再利用っていうのは処理の再利用ではなく型の再利用。
メソッドはクラスメンバを操作するためにある。
フィールドとメソッドを内包してカプセル化することにより、
それが一つの物として機能することに価値がある。
火打ち石で何かに火を付けるよりライター1つみたいな。
とまぁ長々書いたがとりあえずクラスとは関数群ではなく型であるということを覚えておいてほしい。
0915nobodyさん
2007/06/08(金) 16:17:15ID:ORXPTs1EWEB上のサンプルファイルを試してたら上記のようなエラーがでましたが
どのような意味みなるのでしょうか?
0916nobodyさん
2007/06/08(金) 16:21:18ID:???どうせ ;か } あたりがぬけてんだろ
0918nobodyさん
2007/06/08(金) 16:31:55ID:ORXPTs1Eありがとうございます
0920nobodyさん
2007/06/08(金) 17:11:03ID:HgwodoIy$encode = 'Shift_JIS';
$delimiter = '/';
$limit = 16;
$str = mb_substr($test, 0, $limit, $encode);
for ($i = $limit; $i < mb_strlen($test, $encode); $i = $i + $limit){
$str .= $delimiter.mb_substr($test, $i, $limit, $encode);
}
echo $str;//abcdefvhijklmnop/qrstuvwxyz012345/6789あいうえおかきくけこさし/すてそ
--
ちょっと前に自分で書いたのはこんな感じ
あとマルチバイト関数使うときはエンコードちゃんと指定した方がよかよ
0921908
2007/06/08(金) 17:43:33ID:JzH9jcRmあー
税金というクラスがあったとして
このオブジェクトはお金を計算する型です。
この中に格納して、いろんなメソッドを指定すれば
所得税や手取り金など、簡単に取り出せます
みたいな?
0922nobodyさん
2007/06/08(金) 18:14:44ID:au/61P4HUTF-8で書いているなら、 preg_replaceを使って簡単に書けます。
$string = 'abcdefvhijklmnopqrstuvwxyz0123456789あいうえおかきくけこさしすてそ';
$string = preg_replace('/(?:^|\G)(.{10})/u', '${1};', $string);
0923nobodyさん
2007/06/08(金) 18:55:15ID:Xs31IcmGありがとうございます
文字コード指定するようにしました
>>922
残念ながらUTF-8ではなくEUC-JPです
なので今回は利用できそうにありません
しかし次回機会があったら是非使わせていただきます
ありがとうございます
0924nobodyさん
2007/06/08(金) 20:13:13ID:rQuqM37dよくできたマニュアルだ〜。
私もこの手の文字列操作をよくしてるが、FreeBSD, PHP (.configure -enable-mbstring のみのような) 環境では、
EUC-JP以外の文字の取り扱いは、たまにお手上げのような状況にはまることがあるな〜。
0925nobodyさん
2007/06/08(金) 20:56:58ID:rQuqM37dfor ($i=1; $i<=mb_strlen($test); $i++){
$string.=mb_substr($test, $i,1);
if ( ($i%10) == 0 ) {
$string.="/";
}
}
echo $string;
かな〜。
0926nobodyさん
2007/06/08(金) 21:01:58ID:???アルファベットを順番に表示させたいのですが…
< a href="hoge.html?$search=A">A行</a>
0927nobodyさん
2007/06/08(金) 21:02:43ID:SfnUwTBh<a href="hoge.html?$search=C">C行</a>
<a href="hoge.html?$search=D">D行</a>
とリンクを作りたくて…
0928nobodyさん
2007/06/08(金) 21:03:11ID:???なんでくだ質系のスレは回答する人も初心者さんばかりなの?
0929927
2007/06/08(金) 21:11:45ID:SfnUwTBh$abc = "A";
for($i=1; $i < 27; $i++) {
echo '<a href="?alphabet='.$abc.'">'.$abc.' </a>';
$abc++;
}
?>
そんなアホなと思いつつこれでできちゃうんですね…
でも小文字は変換するしかないのかな
0930nobodyさん
2007/06/08(金) 21:15:34ID:rQuqM37d0931nobodyさん
2007/06/08(金) 21:16:05ID:???for($i=65;$i<91;$i++){
echo '<a href="hoge.html?search='.chr($i).'">'.chr($i).'行</a>'."\n";
}
0932nobodyさん
2007/06/08(金) 21:21:21ID:rQuqM37dさすがですね。
0934nobodyさん
2007/06/08(金) 21:35:22ID:8TLyKZoa$user_arr = array(
1 => array('1','pop','0'),
2 => array('2','red','1'),
3 => array('3','dream','1'),
4 => array('4','braian','0'),
5 => array('5','boy','0'),
6 => array('6','test','0')
);
この$user_arr配列を pop,red,dream...の項目でソートすることは
出来ないでしょうか?
0935nobodyさん
2007/06/08(金) 21:45:29ID:/7xjylPausort()
0936nobodyさん
2007/06/08(金) 21:54:03ID:???$user_arr = array(
1 => array('1','pop','0'),
2 => array('2','red','1'),
3 => array('3','dream','1'),
4 => array('4','braian','0'),
5 => array('5','boy','0'),
6 => array('6','test','0')
);
function cmp($a,$b){
return strcmp($a[1],$b[1]);
}
usort($user_arr,"cmp");
echo print_r($user_arr);
0937nobodyさん
2007/06/09(土) 03:12:26ID:???0938nobodyさん
2007/06/09(土) 03:13:06ID:???0940nobodyさん
2007/06/09(土) 11:39:16ID:???$hoge[0]['value'] = "シー";
$hoge[1]['name'] = "A";
$hoge[1]['value'] = "エー";
$hoge[2]['name'] = "B";
$hoge[2]['value'] = "ビー";
上のような配列 $hoge を $hoge[$i]['name'] の名前順に並べ変えたいのですが
どうすればよいでしょうか?
つまり
$hoge[0]['name'] = "A";
$hoge[0]['value'] = "エー";
$hoge[1]['name'] = "B";
$hoge[1]['value'] = "ビー";
$hoge[2]['name'] = "C";
$hoge[2]['value'] = "シー";
のように変更したいと考えています
0942nobodyさん
2007/06/09(土) 12:22:29ID:j2tEU2ddmbstring.http_output = SJIS
この設定のとき、EUCで作成したファイルはSJISの問題に関する対処を入れておくべきでしょうか?
0943nobodyさん
2007/06/09(土) 12:23:08ID:???多くのFTPクライアントみたいに
改行コードを自動的に書き換えるようにしたいのですが、
普通にstr_replaceあたり使ってシコシコするしかないですかね?
なんか簡単な方法ないでしょうか。
改行コードの識別時点でかなりだるそうなのですが。
0944nobodyさん
2007/06/09(土) 12:39:41ID:???\r\n に統一 preg_replace("/(?<!\r)\n|\r(?!\n)/", "\r\n", $str)
0945nobodyさん
2007/06/09(土) 12:42:04ID:???<?php
$hoge[0]['name'] = "C";
$hoge[0]['value'] = "シー";
$hoge[1]['name'] = "A";
$hoge[1]['value'] = "エー";
$hoge[2]['name'] = "B";
$hoge[2]['value'] = "ビー";
foreach ($hoge as $key => $row) {
$name[$key] = $row['name'];
}
array_multisort($name, $hoge);
print_r($hoge);
かな
それかユーザ関数作る
0947nobodyさん
2007/06/09(土) 20:43:27ID:RIHYcObC""や''内は検索の対象外としたいです。
どうすれば可能でしょうか?
0948nobodyさん
2007/06/09(土) 22:00:20ID:fw4XPRkliモードhtmlシュミレーターで
http://localhost/bbs.php
にアクセスしようとしても接続出来ません。と出るのですが、
どうしたらよいでしょうか?
WindowsでApacheを使っています。
0949nobodyさん
2007/06/09(土) 22:17:11ID:???何がしたいのか、漠然としすぎてて答えにくいが、PHPの中で検索したいのか?
タグ内の文字列を検索条件から取り除きたいのなら、まずstrip_tagsした後に、抽出するとか
0950nobodyさん
2007/06/09(土) 22:25:35ID:???スレ違い
まず適当なindex.htmlを作って設置してみて、
http://localhost/index.htmlに繋がるか試せ。どうせ繋がらないはず。
0951nobodyさん
2007/06/09(土) 22:28:58ID:fw4XPRkl先ほどの質問をした者ですが、
繋がらない理由を教えていただけませんか?
インターネットエクスプローラーなら繋がるのですが、
0953nobodyさん
2007/06/09(土) 22:35:39ID:???0954nobodyさん
2007/06/09(土) 22:39:26ID:fw4XPRkl先ほど質問した者ですが、localhostの意味がわからないので説明してくれませんか?
0955nobodyさん
2007/06/09(土) 22:39:33ID:???0956nobodyさん
2007/06/09(土) 22:40:40ID:???http://www.google.co.jp/search?q=localhost%E3%81%AE%E6%84%8F%E5%91%B3&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:unofficial&client=firefox-a
0957nobodyさん
2007/06/09(土) 22:41:32ID:???0958nobodyさん
2007/06/09(土) 22:42:55ID:???スレ違いだと言っているけれど。ついでだから教えてあげる。
IEは localhost→ hostsファイルを参照→ 127.0.0.1 (自分自身) と解釈して、自分のPCに繋がるわけ。
どうせi-modehtmlシュミレータは、それを解釈できないだけでしょ。
設定画面か何かに、hostsファイルを参照するとかその辺の設定があるはず。んでそれがOFFになっていて解釈できないと。
だからPHPは全く関係ない。
0959nobodyさん
2007/06/09(土) 22:48:11ID:fw4XPRkl先ほど質問した者ですが、
設定はONにしてありますが、接続出来ないのです。
これはなぜでしょうか?
0960nobodyさん
2007/06/09(土) 22:54:21ID:???・そのシュミレータとやらを一回再起動したりした?
・あと >>948 は試してみた?
・パーソナルファイヤーウォールとかで蹴られていないか?
何故でしょうと聞かれても、エスパーじゃないから出来ない。
一つづつ可能性をつぶしていけよ。 これ以上は自分でググってがんばれ。
0961nobodyさん
2007/06/09(土) 23:01:02ID:fw4XPRkl丁寧なる改善策ありがとうございます。
お時間を取らせてしまいすみませんでした。
http://127.0.0.1/bbs.phpとしましたら接続出来ました。
ありがとうございます。
では
0962nobodyさん
2007/06/09(土) 23:12:39ID:yCd1SwCoとは書けないですよね?
$object1->object2->var
はできるのになんなのこの言語。
1 mysqlへのデータ格納時にサニタイズしなければならない文字
2 html出力時にサニタイズしなければならない文字
3 get/postでのデータ受け取り直後にサニタイズしなければならない文字
を教えていただきたいです。
また、htmlspecialcharsでjavascriptなどの特殊なスクリプトの埋め込み攻撃を完全に防げるのかどうか教えていただきたいです
また、上記すべての設定ではmagic_quote gpcの設定をonで使用することを前提としてのアドバイスをお願いいたします
0965 ◆yBEncckFOU
2007/06/09(土) 23:25:21ID:Op34nGQd0967nobodyさん
2007/06/09(土) 23:49:57ID:???SQLInjectionとXSSがごっちゃになってるような
お約束ってことで「サニタイズ言うな」
1はそれぞれDBのエスケープ用の関数なりプレースホルダーなりを使う
2はhtmlspecialchars
3はいらない
0968 ◆yBEncckFOU
2007/06/09(土) 23:55:24ID:Op34nGQdありがとうございました
0969nobodyさん
2007/06/10(日) 00:03:14ID:???「サニタイズ言いたいだけちゃうんか」
というのは置いておいて、
・どうしてもmagic_quote gpc on なんですか
・DB格納用のエスケープ処理と、XSS対策を一緒くたにすんな
・mysql内部の文字コード、php側の文字コードは?
・ユーザの入力にhtmlを許可するのか?しないのか?
・LGPL使っていいのなら、http://htmlpurifier.org/ とか面白い。
あと、
ttp://cgi36.plala.or.jp/tera5/v/security/webap_sec2/chap01.html へんとか
ttp://cgi36.plala.or.jp/tera5/v/security/char_xss1/chap01.html へん
とかは一読の価値ありか。
0970nobodyさん
2007/06/10(日) 00:05:30ID:???ファイルの内容(テキスト、画像、動画など)を判別する方法を教えてください。
$url = 'http://www.sample.com/****';
$file = file_get_contents ($url);
0971 ◆yBEncckFOU
2007/06/10(日) 00:13:58ID:isb7MrtTありがとうございました
0972nobodyさん
2007/06/10(日) 00:25:41ID:qbDoORWsMySQL + PHP で掲示板を作っているのですが、分からないことがあります。
MySQLのSQL文中にPHPの変数を入れたいです。
こんなカンジ↓
$sql = "select count(*) from post2 where tid=".$row["id"];
これで実行してみるとResource id #4 Resource id #5 Resource id #6...
といった結果が得られて思うような結果(掲示板のレス数)が得られません。
どのようにすればいいか教えてください。お願いします。
0974nobodyさん
2007/06/10(日) 00:42:49ID:???http://jp.php.net/manual/ja/ref.fileinfo.php
0975972
2007/06/10(日) 00:43:15ID:qbDoORWsレスありがとうございます。
Resource idは分かっていません・・・。
ぐぐってみましたが有用な情報は得られませんでした。
Webプログラムは検索が難しいです。
もう少し考えてみることにします。
ありがとうございました。
0976nobodyさん
2007/06/10(日) 00:49:58ID:17od7jmrANDとORのグルーピングを考えるとどうしても一つの条件を
オブジェクトまたは配列にしないとうまくできないと思った。
けど、できますか?
またはよく言われているcriteriaクラスとかはどうやってるんでしょうか。
0977nobodyさん
2007/06/10(日) 00:52:18ID:???マニュアル嫁 >>1
$ret = mysql_query($sql);
while ($a = mysql_fetch_assoc($ret)) {\
var_dump($a);
}
0980nobodyさん
2007/06/10(日) 01:03:12ID:???ID:fw4XPRklに対して感じた「いや、書かなくてもわかるから」感がなくて物足りない。
0981976
2007/06/10(日) 01:11:16ID:17od7jmrTrayクラスを作って、
var $connection="AND";
var $elements=array();
function elementtray($connection)
{
$this->connection=$connection;//(ANDかOR)
}
function addelement($element)
{
$this->elements[]=$element;
}
でこの$elementのデータ型もまたオブジェクトなわけ。
そんで
function output
{
$ret="SELECTうんぬん。";
foreach($this->elements as $element){
$ret.= $element->output();
}
}
というかんじにする。ここをポリモって、
elementクラスにもoutputメソッドを入れといて、
elementtrayのなかに入れ子にできるようにするわけだ。
こんなんしか思いつかん。
0982972
2007/06/10(日) 01:13:59ID:qbDoORWsありがとう。
おかげでうまくいきました。
$sql = "select count(*) as reply from post2 where tid = $row[id]";
として新しいフィールドを作ってあげるとうまくできました。感謝!
0983nobodyさん
2007/06/10(日) 01:15:25ID:???そんなことしなくても取れるけどね
0985nobodyさん
2007/06/10(日) 01:35:55ID:???$sql = "select count(*) as reply from post2 where tid = {$row['id']}";
って書いたほうが俺は安心する。
0986976
2007/06/10(日) 01:39:02ID:17od7jmrところでわたくしの質問なんですが誰も答えてくれないですよねすんません。
結局WHERE以下の1文章をオブジェクトにする設計にしそうです。
0989976
2007/06/10(日) 01:50:12ID:17od7jmr$elementは、WHERE以下の1つの条件文をもつオブジェクトです。
たとえばWHERE uid< 79 AND (uname like %a% OR uname like %b%)
というWHERE以下の条件に対して、一つのelementオブジェクトは
uid<79または
name like %a%または
uname like %b%であるということです。
この括弧で括る「グルーピング」をうまく表現したかったんです。
0990nobodyさん
2007/06/10(日) 02:17:19ID:???いろいろあるだろうけど、ラムダを使って入れ子方式にすんのはどうよ。
$cond->add("uid < 79");
$cond->or(create_function('$cond','
$cond->add("uname like %a%");
$cond->add("uname like %b%");
'));
うーん、文字列で渡すのがいまいちださいな。
create_functionはor()の中で呼んでもいいね。
0991867
2007/06/10(日) 02:21:12ID:???次スレの扱いは>>867な感じでいいのかな?
過去スレリストなんかはその次でどうにかするとして。
0992nobodyさん
2007/06/10(日) 02:39:31ID:???あんま的確なレスになってないけど
ttp://www.symfony-project.com/snippets/snippets/tagged/criteria/order_by/date
とか symfonyの
symfony/vendor/propel\util/Criteria.php
とか参考にならない?
0993976
2007/06/10(日) 02:51:20ID:17od7jmr賢すぎです。馬鹿はPHP極められないなぁとか思った次第です。
symfonyのcriteriaは…紹介だけだと詳しくのってませんでした。
ソースコード見るよりとりあえず作ってみます。どうもでした。
0995976
2007/06/10(日) 06:28:21ID:17od7jmrできた。よかったら使ってください。
長いんでこのスレ埋めてしまいますすんません。
<?php
//WHERE以下の条件クラス
class element
{
var $field;//DBのフィールド値
var $value;//値
var $relation;//fieldとvalueの関係。=とかlikeとか。
//コンストラクタはプロパティのセットのみ
function element($field,$value,$relation="=")
{
$this->field=$field;
$this->value=$value;
$this->relation=$relation;
}
//DB用の「サニタイズ」
function trimforquery($value)
{
if(is_numeric($value)){return $value;}
elseif(is_string($value)){return $this->strforquery($value);}
else{
error("element->trimforquery:UNKNOWN DATATYPE ".$value);
return $value;
}
}
0996976
2007/06/10(日) 06:29:47ID:17od7jmr{
$strforquery=addslashes(trim($str));
$strforquery="'".$strforquery."'";
return $strforquery;
}
//SQLフォーマットで出力します。
function render()
{
$condition=sprintf(" %s %s %s ",$this->field,$this->relation,$this->trimforquery($this->value));
return $condition;
}
}
0997976
2007/06/10(日) 06:31:11ID:17od7jmrclass elementtray extends element
{
var $elements=array();//ここにelementオブジェクトが入る。
var $connection="AND";//element同士の接続。Tray内では常に同じ接続。別にしたきゃ別のTrayを作れ。
function elementtray($connection="AND")
{
$this->connection=$connection;
}
//elementを加えるメソッド
function add($element)
{
$this->elements[]=$element;
}
//elementを$connectionでつないで、括弧でくくって出力します。
function render()
{
if($this->elements!==array()){
$condition=" ( ";
foreach($this->elements as $element){
$condition.=trim($element->render());
$condition.=" ".$this->connection." ";
}
$condition=substr($condition,0,strlen($condition)-strlen($this->connection)-2);
$condition.=" ) ";
}
return $condition;
}
}
0998976
2007/06/10(日) 06:32:25ID:17od7jmrclass query extends elementtray
{
var $order;//ORDER BYとかの機能ものちに追加したいが自分が今必要ないからプロパティだけ作っとく。
var $sql="";
function query($connection="AND")
{
$this->elementtray($connection);
}
//SQLを出力します。$this->sqlは子クラスに任せています。
function render()
{
$sql=$this->sql;
if($this->elements!==array()){
$condition=" WHERE ";
foreach($this->elements as $element){
$condition.=trim($element->render());
$condition.=" ".$this->connection." ";
}
$condition=substr($condition,0,strlen($condition)-strlen($this->connection)-2);
$sql.=trim($condition);
}
return $sql;
}
}
0999976
2007/06/10(日) 06:33:27ID:17od7jmrclass selectquery extends query
{
function selectquery($field,$table,$connection="AND")
{
$this->query($connection);
$this->sql=sprintf("SELECT %s FROM %s ",trim($field),trim($table));
}
}
//INSERT INTO ほげ してくれるクラス。$arrofnewの順序および数はテーブルのフィールドと一致している必要があります。
class insertquery extends query
{
function insertquery($table,$arrofnew)
{
$values="";
foreach($arrofnew as $value){
$values.=$this->trimforquery($value);
$values.=",";
}
$values=substr($values,0,strlen($values)-1);
$this->sql=sprintf("INSERT INTO %s VALUES(%s);",trim($table),$values);
}
}
?>
1000nobodyさん
2007/06/10(日) 06:34:16ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。