PHP@プログラム板
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/01/23(金) 21:05:34気持ち悪いので、こっちに立てました。
0002デフォルトの名無しさん
2009/01/23(金) 21:07:17もともと気持ち悪いのが多いものなのだが、
それを考慮しても、webprog板はさらにそれよりも
もう一段、気持ち悪い
とにかくキモサが群を抜いている
0003デフォルトの名無しさん
2009/01/23(金) 21:08:46webprog板 → 腐海のど真ん中(マスクなしでは5分で肺が腐ってしまう)
0004デフォルトの名無しさん
2009/01/23(金) 21:22:17http://takeshima.2ch.net/test/read.cgi/news4vip/1232701402/
0005デフォルトの名無しさん
2009/01/23(金) 22:45:49ここに
「そもそもBASIC認証自体が安全ではなく通常利用は避けるべきです。」
と書いてあるのだが、これって本当なのか?
0006デフォルトの名無しさん
2009/01/24(土) 09:14:280007デフォルトの名無しさん
2009/01/24(土) 10:59:440008デフォルトの名無しさん
2009/01/24(土) 15:03:16datetime型をyyyy/mm/ddで表示させたいんだけど
どうすればいいの?
0009デフォルトの名無しさん
2009/01/25(日) 02:06:260010デフォルトの名無しさん
2009/01/25(日) 03:48:00->format
0011デフォルトの名無しさん
2009/01/25(日) 06:38:00setcookie("aaaaa","12341234");
print $_COOKIE['aaaaa'];
?>
このプログラムを実行すると、
もしかして、一回パソコンの中にめがけて
サーバーから12341234が送信されてきて、
そんで、次にアクセスしたときに、こんどは
パソコンから、サーバーにめがけて、
12341234が、送信されてるの?
つまり、パソコンの中の文字列がそのまま
画面に表示されるのでなくて、いったん
パソコンから出て行って、インターネットレイヤーを通過して、
相手のサーバーまで届いて、そんで今度は変数にセットされて、
またこっちのマシンに戻ってきて、それで最終的に表示されるの?
0012デフォルトの名無しさん
2009/01/25(日) 09:06:5712341234は送信されません
0013デフォルトの名無しさん
2009/01/25(日) 09:15:34w
00148
2009/01/25(日) 14:33:24mssqlにあるdatetimeをphpでselectしたときだったもんでdatetime型という表現をさせてもらいましたわ。
でもって、時刻の部分が邪魔だったので、splitで分解して、strtotimeのformatにY/m/dで希望する形式に
出せました。
どもでした。
0015デフォルトの名無しさん
2009/01/26(月) 06:11:43「予約語は変数の名前として使ってはいけません」
って教科書に書いてあるんだけど、
実際にやってみたらエラーにもならず、
実行されてしまうんだけど、エラーはでないの?
<?php
$if=1;
print $if;
?>
0016デフォルトの名無しさん
2009/01/26(月) 06:44:59for($i=0x127;$i<=0x255;$i++){
$b=$i;
$c=chr($i);
print $c;
print "<br>";
}
?>
このコードを実行すると、ところどころ、□になって
しまう文字があります。
これはこういうものなの?
0017デフォルトの名無しさん
2009/01/26(月) 06:46:41アスキー文字の127−255って
どんなものなのか、見たかったということです。
0018デフォルトの名無しさん
2009/01/26(月) 07:08:57while($a=array_shift($_SERVER)){
print ($a);
print "<br>";
}
?>
このスクリプトを実行すると、
サーバー実行環境情報が
全部出てくるよ
0019デフォルトの名無しさん
2009/01/26(月) 07:55:46エラーは出ないみたいだ。
PHP: キーワードのリスト - Manual
http://jp2.php.net/manual/ja/reserved.keywords.php
> 以下のキーワードはいずれも定数、クラス名、 関数名として使用することはできません。
> これらを変数名として使用することは一般的には可能ですが、 混乱を生じる可能性があります。
変数には頭に $ がついているからだろう。
0020デフォルトの名無しさん
2009/01/26(月) 08:07:51サンキュー
人間が混乱するってだけなのね。
0021デフォルトの名無しさん
2009/01/26(月) 08:09:01arrayを使わずに
要素を配列につっこむ便利な記法ってないの?
perlにはあったんだけど?
たとえば、
a,b,c,d,eの5要素を配列に入れたいとして、
arrayを使わずに、っていうか、クオーテーションを打たずに
格納する方法ってないのかな?
0022デフォルトの名無しさん
2009/01/26(月) 09:37:13上手く表示できない・・・誰か助けてください><
0023デフォルトの名無しさん
2009/01/26(月) 09:55:06PEAR + PECLが
PHPの「エクステンション」なの?
0024デフォルトの名無しさん
2009/01/26(月) 10:25:39PHP: 配列 - Manual
http://jp.php.net/manual/ja/language.types.array.php
PHP: array - Manual
http://jp.php.net/function.array
PHPには、配列変数の初期化方法は2つしかないと思う。
・array()を使う。
・$a[] = "hoge"; $a[] = "fuga"; という風に、未定義の変数に[] をつけて要素を一つずつ代入。
Perlはよく知らんのだけど、この記法のことを言ってる?
Perl 配列とリストデータ 【 バイクショップ パルス 】
http://www.pals-net.co.jp/a/perl3.html
> クォートワード(quote word)とは、文字列(空白以外)をリストリテラルへ記述する際に使えるショートカット
> @girls = ( "lucy" , "nancy" , "angie" , "sarah") ; これはかなり面倒だが、、、
> @girls = qw( lucy nancy angie sarah ); このように書けば同じ結果が得られる
こういうのはPHPにはないと思う。
あと、
> クオーテーションを打たずに
これはカンマのことだと推測したんだが、どう?
0025デフォルトの名無しさん
2009/01/26(月) 10:28:15<img src="./img/<?php echo $row["@@@@"]; ?>">
この記法なら、たいていのサーバの設定で動くはず。
これで駄目ならまた質問して。
0026デフォルトの名無しさん
2009/01/26(月) 10:36:34$myArray = explode(" ", "lucy nancy angie sarah");
0027デフォルトの名無しさん
2009/01/26(月) 10:48:17あー、文字列リテラルだけならそれで行けるか。
0028デフォルトの名無しさん
2009/01/26(月) 10:50:28> > クオーテーションを打たずに
> これはカンマのことだと推測したんだが、どう?
よく見たらクオーテーションもないのね。何やってんだ俺。
0029デフォルトの名無しさん
2009/01/26(月) 14:15:12ありがとうございました!動きました!感動しましたw
0030デフォルトの名無しさん
2009/01/26(月) 15:58:00Rubyも
a = %w(hoge mage hage)
みたいにいけたよな。
"hoge", "mage", ・・・ がまどろっこしいといえばそうだね。
0031デフォルトの名無しさん
2009/01/27(火) 14:06:590032デフォルトの名無しさん
2009/01/27(火) 15:33:15どこが?
0033デフォルトの名無しさん
2009/01/27(火) 15:48:28こんな感じで考えています。
$arr(りんご、どりあん、ポテト)
trim($str, $arr)
0034デフォルトの名無しさん
2009/01/27(火) 15:54:2631じゃないけど、PHPが冗長なところはたくさんある。
なんでこんな表記なんだ、洗練された構文を用意しろよっていつも思う。
例えば、変数名に$、配列が array、多重代入が list とかね。
list($a, $b) = array(0, 1);
これが例えばPythonだと
# カッコ()はなくてもいい。
a, b = (0, 1)
しかしこれは悪いことばかりではない。文の意味をarrayやlistというキーワー
ドで検索してすぐ調べられる。
Pythonだと構文の意味をある程度勉強しなきゃならない。
構文が単純なほうが入門はしやすかったりする。LISPなんかその最たるものだな。
0035デフォルトの名無しさん
2009/01/27(火) 16:00:23すまんが意図が分からない。
1行目はこれでOK?
$arr = array('りんご', 'どりあん', 'ポテト');
2行目ではなにが起こるの?
trim($str, $arr)
を実行したあと、trim関数はなにを返して、$str と $arr にはなにが入っているの?
0036デフォルトの名無しさん
2009/01/27(火) 16:29:44複数の値をでトリムってできるんですか?
$arr(りんご、どりあん、ポテト)
$str="今日の買出しは、りんごとみかんとどりあんね。"
$STR=trim($str, $arr)
echo "今日の買出しは、とみかんとね。"って感じで実装したいです。
0037デフォルトの名無しさん
2009/01/27(火) 16:48:47PHP: str_replace - Manual
http://jp.php.net/manual/ja/function.str-replace.php
$arr = array("りんご", "どりあん", "ポテト");
$str = "今日の買出しは、りんごとみかんとどりあんね。";
$str2 = str_replace($arr, "", $str);
echo($str2);
=> 今日の買出しは、とみかんとね。
ちなみに trimってのは、余計なものを切り落とすって意味で、プログラミング
言語では普通、両端の空白や改行文字を削除することを言う。
置換は普通はreplace。
0038デフォルトの名無しさん
2009/01/27(火) 17:09:24ありがとうございます。
もう忘れません。
0039デフォルトの名無しさん
2009/01/28(水) 00:27:42サンキュー、まさにそれが言いたかった。ありがと
0040デフォルトの名無しさん
2009/01/28(水) 03:38:18for ($i = 1; $i <= 100; $i++) {
$d[$i]= rand(0,999);
}
foreach($d as $b=>$c){
print $b."=>".$c;
if ($c==777){
print '<font color="crimson">スリーセブン!</font>';
}
print "<br>";
}
?>
----------------------------------------------------------
スロットマシン作ってみた。
000−999のランダムな数字を100個生成し、
もし777だったら、赤文字で、「スリーセブン!」と表示する。
偽造した特殊景品を持ってくれば換金もできる。
0041デフォルトの名無しさん
2009/01/28(水) 04:55:01chm版、の日本語版、
ダウンロードしてきて
インストールしたんだけど、メニューが文字化けしている。
なんで?
0042デフォルトの名無しさん
2009/01/28(水) 04:56:44自己レス
有名な問題みたいだな
なんで本家は対応しない?
0043デフォルトの名無しさん
2009/01/28(水) 05:32:28字が小さすぎる
フォントを大きくすることも、なぜかできない。
0044デフォルトの名無しさん
2009/01/28(水) 05:40:54for ($i=1;$i<=100;$i++){
$a[$i]=rand();
print $a[$i]." => ".$a[$i]%3;
print "<br>";
}
?>
---------------------------------------------------
ある数を3で割った余りは、
0か1か2の、3通りにしかならない、ということが、
視覚的に、ビジュアルに把握できる良質なプログラム。
0045デフォルトの名無しさん
2009/01/28(水) 05:41:43これちょっと表示が、ガタガタするんだよな
sprintfとかで整形できるのかな?
0046デフォルトの名無しさん
2009/01/28(水) 08:51:28ドラクエの、のろわれた武器を装備したときのサウンドの、
「デンデンデンデンデン、デン、デン♪」
って音を鳴らしたいのですが、どうやればいいですか?
今は、エラーメッセージは赤で表示されるようにしてあります。
0047デフォルトの名無しさん
2009/01/28(水) 09:12:06Iとlってのがあって、わからんわこんなの
0048デフォルトの名無しさん
2009/01/28(水) 09:28:26for($i=1;$i<=100;$i++){
$a[$i]=rand(1,1000);
}
foreach($a as $b){
print $b;
print " ";
}
print "<br>";
print "<hr>";
print "<br>";
sort($a);
foreach($a as $b){
print $b;
print " ";
}
?>
-----------------------------------
これは、100個の数字をランダムに出力し、
それをsortで並び替えて画面に表示するプログラムである。
0049デフォルトの名無しさん
2009/01/28(水) 09:56:180050デフォルトの名無しさん
2009/01/28(水) 10:33:33まあそれはそれでいいじゃん。
自分はこういうのも結構好きだな。プログラミングを始めたばかりのころの
ワクワクした気持ちを思い出すから。
0051デフォルトの名無しさん
2009/01/28(水) 10:38:11<hr>
<br>";
だな
0052デフォルトの名無しさん
2009/01/28(水) 10:47:19流しソーメンみたいに、だーーっと
全部実行されてしまうの、どうにかできない?
0053デフォルトの名無しさん
2009/01/28(水) 11:29:35それはCからの伝統で、PHPだけじゃなくて、JavaでもC++でもみんながうんざり
している。あきらめましょう。
ちなみに、分岐によって変数に値をセットするだけなら、連想配列を使った
ほうがきれいに書ける場合もある。
0054デフォルトの名無しさん
2009/01/29(木) 01:12:42というか、俺の場合は大抵
ifとelseifでスイッチもどきやっちゃうなあ。本当は良くないんだろうけど。
0055デフォルトの名無しさん
2009/01/29(木) 05:54:44お試し版を作ってみたが、基礎番号分布は意外と疎らだった件( ゚∀゚)y─┛~~
be別スレ立てランキング@ニュース速報(お試し版)
http://snowslide.s201.xrea.com/bedb/
※とりあえず今現在のスレ立てランク、更新はしません。
みんな結構立ててるよねぇ、複垢はどの位の割合だろか?
-------------------------------------------------------
↑これってPHP?
0056デフォルトの名無しさん
2009/01/29(木) 06:11:53まず子クラスに継承して、その子クラスからインスタンスを作成します」
って教科書に書いてあるんだけど、だとしたら、
もし抽象クラスを作って、それを、どこからも継承できないように、
final指定しておいたら、そのクラスは、永遠に、どこからも
使われることなく、35才の独身女みたいに孤立して宇宙を
永遠にさまようの?
0057デフォルトの名無しさん
2009/01/29(木) 09:33:29> ifとelseifでスイッチもどきやっちゃうなあ。本当は良くないんだろうけど。
別にいいんじゃね?
ちなみにPythonにはswitch文がないから、if 箸キ elif で全部済ませる。
Ruby はswitch case文の代わりに case when文があって、これはbreak不要。
0058デフォルトの名無しさん
2009/01/29(木) 09:41:42if 〜 elif な。
0059デフォルトの名無しさん
2009/01/29(木) 11:10:51array("トマト缶","オレンジ","みかん","オレンジ100%","トマトソース",
"ぶどう","ブドウアイス","オレンジムース");
↑の配列を下記のように出力する方法を教えてください。
print_r("トマト缶"=>"2", "オレンジ"=>"3", "みかん"=>"1", "みかん"=>"1",
"ぶどう"=>"1", "ブドウアイス"=>"1",)
0060デフォルトの名無しさん
2009/01/29(木) 11:12:51print_r("トマト缶"=>"2", "オレンジ"=>"3", "みかん"=>"1",
"ぶどう"=>"1", "ブドウアイス"=>"1",)
0061デフォルトの名無しさん
2009/01/29(木) 11:45:58法則がわからん
0062デフォルトの名無しさん
2009/01/29(木) 12:08:23「注意: システムで strfmon が使用可能な場合
のみ money_format() 関数が定義されます。例
えば、Windows では strfmon は使用できません。
そのため money_format() は Windows では 定
義されていません。」
って書いてあるが、ようはWindowsでは、テストできない
関数ということかな?
なんでWindowsではstrfmonは利用できないんだ??
0063デフォルトの名無しさん
2009/01/29(木) 12:09:19もしかして、オレンジは3回出現してるから、「3」なの?
0064デフォルトの名無しさん
2009/01/29(木) 12:10:24それで、トマトは2回出現してるから、「2」なんだな?
それで、他の野菜は1回しか出現してないから、1だと。
0065デフォルトの名無しさん
2009/01/29(木) 12:19:12$n = 1234567890;
$a = number_format($n);
print $a;
?>
--------------------------------
PHPって、これだけで、3桁ごとに
カンマ打てるんだね。
同じことをPerlでやったら、40行はコードを
書かないといけない。
0066デフォルトの名無しさん
2009/01/29(木) 12:21:440067デフォルトの名無しさん
2009/01/29(木) 17:15:23そうそう
俺も無茶したくないけど用意されたデータが・・・
違う方法あたってみます。
0068デフォルトの名無しさん
2009/01/30(金) 03:17:21その関数がWindowsでは定義されていないAPIを
利用していると考えるのが一般的では
0069デフォルトの名無しさん
2009/01/30(金) 03:19:16printf,sprintfは?
0070デフォルトの名無しさん
2009/01/30(金) 04:44:10「ボタンが押されたら、数字を1増やす」
ってプログラムを作ってるんだけど、
hiddenになんかの値を格納して(aaa=1とか)
それで、1がきたら、カウントアップ、とかって
したほうがいいかなあ?
0071デフォルトの名無しさん
2009/01/30(金) 04:44:42API、、、
PHPでもAPIとかって関係あるのですか?
0072デフォルトの名無しさん
2009/01/30(金) 04:45:14そんなの使わない
専用関数があるんだから。
0073デフォルトの名無しさん
2009/01/30(金) 04:55:57バナー広告を表示するだけで、
同時に、クッキーをセットするって可能なの?
0074デフォルトの名無しさん
2009/01/30(金) 05:03:47Perlにもprintf,sprintfはあるから、
1行で済むよっていう話
0075デフォルトの名無しさん
2009/01/30(金) 05:06:37PHPそのものはC言語で書かれてるので
0076デフォルトの名無しさん
2009/01/30(金) 09:23:20is_numeric の違いがわからないよー
0077デフォルトの名無しさん
2009/01/30(金) 09:38:26$data = "10";
if ( is_numeric($data) ) {
print "numeric";
} else {
print "not numeric";
}
?>
----------------------
これを実行すると、numericって出るんだが、
$dataを文字列としてPHP君に認識してもらうには、
どういうワイロを渡せばいいのかな?
0078デフォルトの名無しさん
2009/01/30(金) 09:43:04いやあ、専用関数があったほうが
数段便利でしょう?
0079デフォルトの名無しさん
2009/01/30(金) 09:43:38CだとAPIとか考えないといけないんだっけ?
だから結局、WindowsのAPIの話がPHPのレイヤーまで
上がってきてしまうんだ?
0080デフォルトの名無しさん
2009/01/30(金) 09:46:47そうだね
便利だと思うほうを使えばいいと思うよ
Perlだと40行〜ってところが引っかかったので
言ってみたw
0081デフォルトの名無しさん
2009/01/30(金) 10:21:23でてきたページにグールグの広告が張ってあって、
「うつ病を解消する唯一の方法」
とかって広告がでてきてワロタ
グーグルは本当になんでも知っている。
0082デフォルトの名無しさん
2009/01/30(金) 10:37:21class aaa
{
function bbb(){
print "aaaaa<br>";
}
function ccc(){
$this->bbb();
}
}
$c=new aaa();
$c->ccc();
$c->bbb();
?>
-----------------------------------
OOPもわかってくると、おもろいな。
0083デフォルトの名無しさん
2009/01/30(金) 10:56:35どっちでもいいんだね。
(1)$hoge = new hoge;
(2)$hoge = new hoge();
0084デフォルトの名無しさん
2009/01/30(金) 11:42:45http://d.hatena.ne.jp/himadatanode/20080321/p5
この前拾ったjavascriptのヘルプ、さっきちょっと使って気
づいたけど、文字サイズ小さすぎて読めない。理由はよ
く分からないけど、これはどげんかせんといかん。
適当に今調べた感じだと、IEと連動しているとかで、イン
ターネットオプションから、ユーザ補助で、指定のフォント
サイズを使わないとか言うようなのをチェックすると良いら
しいんだけど、
0085デフォルトの名無しさん
2009/01/30(金) 18:11:17さっきこのページを表示しようとしたら、なぜか
すっごく重くって、それで、ページでなくて、なぜか
ソースがまるっと出てきてしまったんだけど、なんで?
0086デフォルトの名無しさん
2009/01/30(金) 19:11:46こっちでは再現しないなあ。
(IE7 and Opera9.61 on WinXP)
0087デフォルトの名無しさん
2009/01/31(土) 06:12:38ここに
「?> の意味(line:6)
これは<?phpに対応していて、PHPという言語をここで終わります!
という意味だ。これがないともち!エラーだZE! 」
、、、って書いてあるが、実際には、?>のPHPの閉じタグは
無くても、エラーにはならないよね?
0088デフォルトの名無しさん
2009/01/31(土) 06:55:01「コンストラクタ」
と説明してあるサイトを見つけたのですが、この
説明は間違ってますよね?
PHPのOOPにおける「コンストラクタ」とは、
クラス名と、同名のメソッドを置いておくと、
newされたときに、誰も呼ばないでも、自動的に
それが実行されるということですよね。
0089デフォルトの名無しさん
2009/01/31(土) 13:14:59そのついでにコンストラクタも呼び出せますよって事だから
あたらずとも遠からずだが、近くない、ぜんぜん近くない
でもここで陰口たたくよりメールしてやりゃいいんじゃね
そのとあるサイトに
0090デフォルトの名無しさん
2009/01/31(土) 13:30:23まあそんな感じ。ちなみに new は演算子の一つな。
PHP: 演算子の優先順位 - Manual
http://jp2.php.net/manual/ja/language.operators.precedence.php
>>89
> でもここで陰口たたくよりメールしてやりゃいいんじゃね
まあまあ。自信がなかったから、ここで確認したんだろう。
0091デフォルトの名無しさん
2009/01/31(土) 19:16:38後に黒歴史化するパターンだなw
0092デフォルトの名無しさん
2009/01/31(土) 20:13:16> 、、、って書いてあるが、実際には、?>のPHPの閉じタグは
> 無くても、エラーにはならないよね?
PHP: 命令の分離 - Manual
http://www.php.net/manual/ja/language.basic-syntax.instruction-separation.php
> ファイル終端における PHP ブロックの終了タグはオプション(任意)です。
Zend Framework: Documentation
http://framework.zend.com/manual/ja/coding-standard.php-file-formatting.html
> B.2.1. 全般
> PHP コードのみからなるファイルでは、終了タグ ("?>") は決して含めてはいけません。
Zendのコーディング規約にもなっている。これは知らなかったな。
0093デフォルトの名無しさん
2009/01/31(土) 20:20:40W3C信者を発狂させたいの?
0094デフォルトの名無しさん
2009/01/31(土) 20:28:36そういうバグを出さないためではないかと愚推
0095デフォルトの名無しさん
2009/01/31(土) 21:38:09これをするための専用関数ってないのかな?
毎回打つの疲れる
0096デフォルトの名無しさん
2009/01/31(土) 22:50:540097デフォルトの名無しさん
2009/01/31(土) 23:01:09定型文を登録できる入力支援系ツールとかを使ってみるとか
0098デフォルトの名無しさん
2009/01/31(土) 23:09:26本家に要望出したらいいと思う。
オレは古いの使っているけど新しいのと比較すんの面倒なってきた・・・
どっかのページに文字化け解消法なかった毛?
再コンパイルするんだったような
よかったら新しいの作ってうpしてくれ
>>87
そだね。
フレームワークのCodeIgniterなんかも、コーディング作法で ?>を省略することを推奨しているくらいだ
0099デフォルトの名無しさん
2009/02/01(日) 02:43:21再コンパイル済みのがあったんで
そのままダウンロードして使った。
0100デフォルトの名無しさん
2009/02/01(日) 02:43:53IEのオプションいじったらできた
0101デフォルトの名無しさん
2009/02/01(日) 03:24:47print "警告- このウェブサイトにアクセスすると、コンピュータに損害が生じる可能性があります。";
?>
0102デフォルトの名無しさん
2009/02/01(日) 03:41:30他の人々に迷惑をかけるので、私の死後明らかになるよう書き残しておいてある。
0103デフォルトの名無しさん
2009/02/01(日) 03:42:04これがデストラクタ?
0104デフォルトの名無しさん
2009/02/01(日) 03:58:33$d = '%E3%81%93%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E7%A7%98%E5%AF%86%E3%81%AE%E4%BC%9A%E8%A9%B1%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%AD%EF%BC%81';
$a = urldecode($d);
print $a;
?>
0105デフォルトの名無しさん
2009/02/01(日) 04:40:11do {
$a=rand(1,10000);
print $a;
print "<br>";
(
}while$a>1000) ;
?>
----------------------------------------
90%の確率で数値を表示するプログラム
0106デフォルトの名無しさん
2009/02/01(日) 13:57:34100人以上見てきたけど、この傾向だけは異論を許さない。
[クラス1]MARCH:テキストや本を見て仕事をする
[クラス2]旧帝大、早慶:テキストや本の原理を理解して仕事をする。
[クラス3]東大、京大:テキストや本の原理を新たに創造する。
例えばナノ測定器のマニュアルがあるとするだろ。
MARCHの奴らはそれに書かれている順番で、何も考えずにボタンを押して作業するのに精一杯。
旧帝大卒の奴らは、測定器の原理(波長のコヒーレンスや方程式など)を自分で理解して装置を使うから、
測定の精度が上がる。
東大の奴らは、測定器の配線とか回路を改造して新しい装置に改造してしまう。
あれにはたまげた。
東大卒だと会社の昼休みに数学のアルゴリズムの問題をみんなで考えて遊んだりする。
MARCH卒はそれが無い。自分の与えられた仕事だけする奴が多い。
だから旧帝大卒とかは夜遅くまで残って仕事してるけど、MARCH卒の奴らはすぐに帰って合コン。
どちらが人生を楽しんでるかというとMARCH卒かも知れないが、
仕事のレベルは段違い。
0107デフォルトの名無しさん
2009/02/02(月) 04:49:11PHPにポリモーフィズムを
実装するためのものなの?
0108デフォルトの名無しさん
2009/02/02(月) 05:12:24はまちがえた
0109デフォルトの名無しさん
2009/02/02(月) 05:12:56インターフェースって、
PHPで多重継承をするための
ものなの?
0110デフォルトの名無しさん
2009/02/02(月) 10:06:23<?php
$str = '1234567890';
$shuffled = str_shuffle($str);
echo $shuffled;
?>
これで、ストリングの内容を
自動でシャッフルしてくれる。
わざわざrand使って〜
配列使って〜
とかってやらなくて済む。
0111デフォルトの名無しさん
2009/02/02(月) 11:31:37多重継承の問題点について調べている。
いろいろ根深い問題がありそうだな
0112デフォルトの名無しさん
2009/02/02(月) 12:09:14$a=fopen("1.txt",'r');
while($b=fgets($a)){
$c=str_replace("。","wwwwwwwwwww<br>",$b);
print $c;
}
?>
自動的に草を生やすプログラムが完成した。
これで世界を征服できる。
0113デフォルトの名無しさん
2009/02/02(月) 12:09:46TV界の崩壊ぶり (ゲンダイネット)
http://news.www.infoseek.co.jp/entertainment/story/02gendainet07026766/
●地方局は壊滅状態になり東京キー局も潰れるぞ!
はたして“予言”は現実になるだろうか。
日本テレビの氏家斉一郎取締役会議長(82)が発売中の「東洋経済」で、広告不況にあえぐテレビ界の未来をこ
う予測している。
「トータルのパイが少なくなってきている中でも、たとえば日本テレビがどこかとくっついて5局体制を4局体制に
するということは、
マスコミ集中排除原則により、法律的にできない。(中略)そうすると、少なくなったものを5局で分けていかなく
てはいけない。
しかし、全体を潤すわけにいかないぐらいの需要になってくれば、上位2〜3社しか食っていけなくなるだろう」
0114デフォルトの名無しさん
2009/02/02(月) 12:10:47TV界の崩壊ぶり (ゲンダイネット)
http://news.www.infoseek.co.jp/entertainment/story/02gendainet07026766/
●地方局は壊滅状態になり東京キー局も潰れるぞ! はたして“予言”は
現実になるだろうかwwwwwwwwwww
日本テレビの氏家斉一郎取締役会議長(82)が発売中の「東洋経済」で、
広告不況にあえぐテレビ界の未来をこう予測しているwwwwwwwwwww
「トータルのパイが少なくなってきている中でも、たとえば日本テレビがどこかと
くっついて5局体制を4局体制にするということは、マスコミ集中排除原則により、
法律的にできないwwwwwwwwwww
(中略)そうすると、少なくなったものを5局で分けていかなくては
いけないwwwwwwwwwww
しかし、全体を潤すわけにいかないぐらいの需要になってくれば、
上位2〜3社しか食っていけなくなるだろう」
0115デフォルトの名無しさん
2009/02/02(月) 12:33:09printer_openって使えないの?
0116デフォルトの名無しさん
2009/02/02(月) 13:22:27これをWebサーバーに上げるときどうすればいいのかわかりません・・・
作ったファイルをそのままサーバーに上げても起動しないですよね?
0117デフォルトの名無しさん
2009/02/02(月) 20:27:39動くんじゃない?
0118デフォルトの名無しさん
2009/02/02(月) 20:50:14サーバーは別のコンピュータにあってMySQLとか入ってないんです
サーバーに上げるのは、phpで記述したファイルのみですが動きますか?
MySQLのデータベースはコマンドプロンプトで立ち上げましたし、
phpにはMySQLのパスワードを記述しました。
これが別のサーバーでphpファイルのみで動くのか疑問です・・・
0119デフォルトの名無しさん
2009/02/02(月) 21:01:15それだと動かない。
サーバーにもMySQLをインストールしないと。
0120デフォルトの名無しさん
2009/02/02(月) 21:32:27ありがとうございました、やっぱり動かないですよね
サーバーにも同じ環境が作れれば動きますよね、やってみます
0121デフォルトの名無しさん
2009/02/02(月) 21:50:19いわゆる無料のレンタルサーバー?
0122デフォルトの名無しさん
2009/02/02(月) 22:04:55レンタルサーバーも考えましたけど無理っぽいですね
0123デフォルトの名無しさん
2009/02/02(月) 22:22:51そういうのにすれば?
0124デフォルトの名無しさん
2009/02/02(月) 22:48:040125デフォルトの名無しさん
2009/02/03(火) 04:50:43大学生用にhomeの容量が100KB程度でいいから
LAMPのあるサーバを無料で貸し出してくれるところがあると便利だよな
0126デフォルトの名無しさん
2009/02/03(火) 10:12:000127デフォルトの名無しさん
2009/02/03(火) 10:12:33無料で借りれるサーバーなんていくらでもあるよ
mysqlもphpも最初から入ってることがおおい
0128デフォルトの名無しさん
2009/02/03(火) 10:34:36PHPエディタで、
「テンプレート」→「クラス」
って選ぶと、
class () {
}
ってひな型が出てくるんだが、
クラスの定義に()パーレンはいらないよね?
ってことは、これってバグ?
0129デフォルトの名無しさん
2009/02/03(火) 10:45:31class greet {
function greet($a){
print "hello! $a";
}
}
$b=new greet('ぼっさん');
?>
クラスの例
0130デフォルトの名無しさん
2009/02/03(火) 10:52:12class greet {
function __construct($a){
print "hello! $a";
}
function __destruct() {
print "I have died!";
}
}
$b=new greet('ぼっさん<br>');
unset($b);
?>
-----------------------------------------
コンストラクタと、デストラクタの例。
0131デフォルトの名無しさん
2009/02/03(火) 19:25:32>PHPエディタで
作者に聞け
0132デフォルトの名無しさん
2009/02/04(水) 02:07:42何がしたいの?
0133デフォルトの名無しさん
2009/02/04(水) 06:56:05>49-50
0134デフォルトの名無しさん
2009/02/04(水) 13:09:44PDO+sqlite3で
データーを読み込む方法がわからない。
fetchの使い方がわからない。
0135デフォルトの名無しさん
2009/02/04(水) 13:18:50っていうかもしれないけど、sqlite2ならそれでいけるけど、
sqlite3だと、ネイティブ関数、使用不可ですから。
3の場合は、必ずPDO使わないといけない。
そうでないと、エラーになる。
だれかPDOのfetchの使い方教えて。
0137デフォルトの名無しさん
2009/02/05(木) 00:53:08とりま、「pdo sqlite」でググって、一個目の検索結果クリックしてこい
0138デフォルトの名無しさん
2009/02/05(木) 20:13:48それは古いから役に立たない
ソースをコピペして実行しても、全部エラーになる。
0139デフォルトの名無しさん
2009/02/05(木) 20:58:30$dbh = new PDO('sqlite:./test.db', null, null);
$sth = $dbh->prepare("SELECT colour FROM fruit WHERE id=1");
$sth->execute();
$result = $sth->fetch(PDO::FETCH_NUM);
print $result[0];
print("<br>");
?>
0140デフォルトの名無しさん
2009/02/05(木) 21:00:48よりも、もっとカンタンにデーターを取ってこれる方法無い?
データーベースの構造は、
id |name |colour
1 |みかん |yellow
2 |すいか |green
3 |トマト |red
こういう状況で、
id=1
の colourのデーターだけを取ってきて表示したい。
なのに、結果が配列で返ってきてしまって、必ず
print $result[0];
ってやらないといけない。これがめんどうくさい。
配列でなくて結果を受け取る方法は無いのか?
0141デフォルトの名無しさん
2009/02/05(木) 21:03:02結果が、
Array ( [0] => green )
って形で帰ってくる。配列なんだよね。
これがイヤ。
普通に変数に入る形で結果を受け取ることは
できないのか?こっちが欲しいのはgreenだけなの。
[0]とかいらないから。
0142デフォルトの名無しさん
2009/02/05(木) 21:07:592つの言語を同時に並行して学ばないといけない。
バイリンガルにならないといけない。
これがつらい。東大に受かるような記憶力のいい人なら
苦にならないのかもしれないが、こちらはPHPだけ学べば
いいんだ、って最初思ってたのに、実際やってみると、データーの
ストアと取り出しで、データーベースの勉強もしなければならない。
SQLを学ばされる。トランザクションやロールバック、コミット、
データーベースロックとかも勉強しなければならない。
それと素のPHPももちろん勉強しなければならないし、
それが終わったらOOPも学ばなくてはならない。
そしてPEAR、SMQRTY、CakePHPと勉強が続く。
HTMLもCSSもあるし、javascriptも学ばなくてはならない。
それで、こんどはPDOだ?SQLiteについても勉強が必要だし、
SQLiteManagerの使い方も勉強しなくてはならなかった。
しかもPHPのプログラマーは教え方がヘタだ。
つらい、非常につらい。
0143デフォルトの名無しさん
2009/02/05(木) 22:37:16list($colour)に代入すれば?
0144デフォルトの名無しさん
2009/02/05(木) 22:53:25listか、、、使ったことないな、、、
どんな機能だっけ?
変数に、配列の内容を一気にぶちこむ関数だっけか?
0145デフォルトの名無しさん
2009/02/05(木) 23:00:250146デフォルトの名無しさん
2009/02/05(木) 23:05:11php.netぐらいブックマークしとけよ、本屋でPHP本に金かける
より数倍マシだから
ttp://php.net/manual/en/function.list.php
0147デフォルトの名無しさん
2009/02/05(木) 23:11:37implodeもいいが
0148デフォルトの名無しさん
2009/02/05(木) 23:33:510149デフォルトの名無しさん
2009/02/06(金) 03:09:46プログラムを組むと言って良いものか
0150デフォルトの名無しさん
2009/02/06(金) 03:14:19逆引き500は超お世話になっとります。
0151デフォルトの名無しさん
2009/02/06(金) 10:28:48「list」
っていうのを調べようとして、
先頭の一文字の
「l」(エル)
って
一文字だけ打って、ctrl + space押したら、
候補として、ldapなんちゃら、って関数がいっぱい出てきて、
そんでlistはそっちのけで、ldapなんちゃらについてしらべていたら
時間なくなった。
0152デフォルトの名無しさん
2009/02/06(金) 10:29:20PHPはプログラムじゃなくて
「ホームページマクロ」
とかってよく揶揄(やゆ)されています
0153デフォルトの名無しさん
2009/02/06(金) 10:36:36<?php
$a[0]="green";
print_r ($a);
print "<br>";
list($b)=$a;
print $b;
?>
ありがと
これでできたみたい。
0154デフォルトの名無しさん
2009/02/06(金) 10:44:19「stmt」ってなに?
0155デフォルトの名無しさん
2009/02/06(金) 11:11:08statement
0156デフォルトの名無しさん
2009/02/06(金) 11:30:40なるほどね〜わかった。
なんでUNIXの連中はすぐに意味不明な
省略単語を使いたがるんだろうね?
0157デフォルトの名無しさん
2009/02/06(金) 11:31:12データーベースロックという概念はないの?
0158デフォルトの名無しさん
2009/02/06(金) 11:32:140159デフォルトの名無しさん
2009/02/06(金) 11:42:45ここのページに次のソースがある。
<?php
try {
$dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
array(PDO::ATTR_PERSISTENT => true));
echo "接続しました\n";
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
$dbh->exec("insert into salarychange (id, amount, changedate)
values (23, 50000, NOW())");
$dbh->commit();
} catch (Exception $e) {
$dbh->rollBack();
echo "失敗しました。" . $e->getMessage();
}
?>
0160デフォルトの名無しさん
2009/02/06(金) 11:43:32このソースなんだが、
エラーのトラップの部分なんだが、
catch (Exception $e)
っていう記述になっているが、これは
PDOを使っているのだから、
catch (PDOException $e)
って書かないとダメなのではないのか?
0161デフォルトの名無しさん
2009/02/06(金) 12:03:20このページに書いてある、
<?php
echo http_date();
sleep(60);
echo http_date();
?>
っていうコードを実行しても、エラーになるよ。
なんで?
0162デフォルトの名無しさん
2009/02/06(金) 12:04:53ダウンロードしてこないと、使えないのかなぁ?
0163デフォルトの名無しさん
2009/02/06(金) 12:08:23エラー内容わからんが
sellp(60)ってタイムアウトにならないか?
ini設定したの?
0164デフォルトの名無しさん
2009/02/06(金) 12:47:17<?php
echo http_date();
?>
このコードでもエラーになるよ
だからsleepの問題じゃないよ
0165デフォルトの名無しさん
2009/02/06(金) 12:47:53Fatal error: Call to undefined function http_date() in
C:\xampp\htdocs\1.php on line 2
0166デフォルトの名無しさん
2009/02/06(金) 13:53:02って書いてあるだろ
時間の無駄
0167デフォルトの名無しさん
2009/02/06(金) 14:05:390168デフォルトの名無しさん
2009/02/06(金) 22:01:25>しかもPHPのプログラマーは教え方がヘタだ。
授業料払ってないからじゃね?
0169デフォルトの名無しさん
2009/02/06(金) 22:38:17http://www.google.co.jp/trends?q=php%2Cruby&ctab=0&geo=US&date=all&sort=0
自分たちの国が滅びようとしているときに、
「カネよこせ」とかって言ってる場合なのか?
0170デフォルトの名無しさん
2009/02/07(土) 00:49:56http://codezine.jp/article/detail/2096
結構おもしろいんだけど、
使ってる人いる?
ボタン押して、メッセージ出す、くらいなら
5分で作れたんだけど。ポトペタ+プロパティをいくつか
設定するってだけで。
ただ製品版は3万円と高いんだよなー
0171デフォルトの名無しさん
2009/02/07(土) 13:09:57PHPに限った話じゃないだろ、「教え方がヘタ」とか泣き言いう奴って。
0172デフォルトの名無しさん
2009/02/07(土) 13:43:50DBは当たり前として、Ajaxをつかったコンポーネントもあるのか
これは面白い感じになりそうだな
0173デフォルトの名無しさん
2009/02/07(土) 21:50:42fopen($filename, "w+");
だとオープンした瞬間に内容が消えてしまいますよね?
"r+"だと追記はできますが、data.txtの一部を修正するものを書きたいのですが。。
"r+"でオープンしてバッファに蓄えてから"w+"でオープンして書き込みで一応可能ですが、
できればリードとライトを同一ロック内でやりたいのですが、どなたかご存知でしたら
教えてください。PHP 4.4.4です。
(もしかしてこういうのってデータベースじゃないとできない?)
0174173
2009/02/07(土) 22:03:170175デフォルトの名無しさん
2009/02/07(土) 22:49:16普通は使わない。なぜなら、
ファイルが空になった瞬間に、他のやつが
読み込みにきたら、空のファイルを渡すことになるから。
0176デフォルトの名無しさん
2009/02/07(土) 22:50:42↓
(2)「wでオープン ファイルの中味 「 」(空白)」
↓
(3)誰か読みにくる
↓
(4)「 」(空白)を渡す
こうなるから、バグの元。
0177デフォルトの名無しさん
2009/02/08(日) 00:27:07name | value
aaa |bbb
ccc |ddd
eee |fff
0178デフォルトの名無しさん
2009/02/08(日) 00:28:07以下のようにかいた。
<?php
try {
$dbh = new PDO('sqlite:test2','', '');
/*** echo a message saying we have connected ***/
echo 'Connected to database<br />';
/*** The SQL SELECT statement ***/
$sql = "SELECT * FROM table2";
$a= $dbh->query($sql);
foreach ($dbh->query($sql) as $row)
{
print $row['name'] .' - '. $row['value'] . '<br />';
}
/*** close the database connection ***/
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
0179173
2009/02/08(日) 00:28:40同じファイルを2度開かなきゃなのがあれですけどしょうがないですよね?
$lfp = fopen("lockfile", "r");
flock($lfp, LOCK_EX);
$fp = fopen("data.txt", "r");
/*バッファに読み込み&クローズ*/
$fp = fopen("data.txt", "w");
/*バッファをファイルに書き込み&クローズ*/
flock($lfp, LOCK_UN);
fclose($lfp);
0180デフォルトの名無しさん
2009/02/08(日) 00:28:55>>178 コード
この時、foreachを使わないで、
オブジェクト$aの内容を表示する方法は無いのか?
print $a;のような感じで。
0181デフォルトの名無しさん
2009/02/08(日) 00:29:48いやー、、、
そもそも、何をしたかったの?
0182173
2009/02/08(日) 01:50:52共有データをdata.txtに保存してWEBを介してみんなが参照するみたいなことです。
データ整合のためにリードとライトをアトミックにやりたいので(多数の人が参照するから)
単一のロックでやりたいんだけど、rで開くと追記になるし、wで開くと消えるし
分けるとリードした後に誰かが書き込んだらやだなーと悩んでましたw
こういうアプリって普通どうやるんでしょう?。。
fopen使う限りはリードとライトで2回開かないとしょうがない気がするんですが。
PHPに限ったことではないのでしょうけど。(例えばCのfopenも)
0183デフォルトの名無しさん
2009/02/08(日) 01:54:310184デフォルトの名無しさん
2009/02/08(日) 01:54:440185デフォルトの名無しさん
2009/02/08(日) 02:09:06ここみて、使えそうなメソッド無いか探してみな
0186173
2009/02/08(日) 02:09:16でも使えない環境だったので自前のファイルで共有するしかないかなーと。
0187デフォルトの名無しさん
2009/02/08(日) 02:09:390188デフォルトの名無しさん
2009/02/08(日) 03:26:58シークして該当箇所に書き込むんじゃないの?
てか俺ずっとwで開けてたよorz
0190デフォルトの名無しさん
2009/02/08(日) 12:16:48だからfseek()してfwrite()するって>>188が書いてるでしょ?
data.txtにアクセスする全てのプログラムが先にlockfileを
ロックしている限りは問題がないはず。
0191デフォルトの名無しさん
2009/02/08(日) 12:22:48print_rやvar_dumpやvar_exportという関数があるけど
その表示が気にいらないなら自分でループを回すとかしかない
0192デフォルトの名無しさん
2009/02/08(日) 14:46:350193デフォルトの名無しさん
2009/02/08(日) 15:11:32横からだけど、var_exportなんて便利な関数があったのか
しらんかったわw
0194デフォルトの名無しさん
2009/02/08(日) 15:47:59これは面白い
jQuery感覚で書けちゃうのがいいね
0195デフォルトの名無しさん
2009/02/08(日) 23:58:00ダメってのがMySQLとかのことなら、SQLiteでもどうよ
0196デフォルトの名無しさん
2009/02/09(月) 10:20:55var_dump やってみたけど、エラーになったような?
もう一回やってみるけど。
0197173
2009/02/09(月) 10:41:21"r+"でfopenしたら結局追記にしかならないんじゃないんですか?
/** data.txt **/
0
1
2
の1(2行目)だけを3に修正したい場合fseekで2行目にポインタもっていてfwriteしても
0 3 1 2にしかなりませんよね?
0198デフォルトの名無しさん
2009/02/09(月) 11:30:14試してみたけど、やっぱりダメだったよ
Connected to database
object(PDOStatement)#2 (1) { ["queryString"]=> string(20) "SELECT * FROM table2" }
って表示されるだけ。
ウソばっかりおしえやがって〜
そもそもvar_dumpでオブジェクトの中味は表示
できないでしょう??
0199デフォルトの名無しさん
2009/02/09(月) 11:31:18も今、試してみたけど、ダメだったよー
Connected to database
PDOStatement::__set_state(array( 'queryString' => 'SELECT * FROM table2', ))
って出るだけ。
0200デフォルトの名無しさん
2009/02/09(月) 11:54:21SELECTで値をとってきて、それを
表示するときって、一回関数を実行するごとに、
1行しか取れない、っていうのが基本なの?
0201デフォルトの名無しさん
2009/02/09(月) 12:07:23基本中の基本だと思うが・・・
任意の行が取りたいのなら全部三次元配列に突っ込むか
欲しい行を指定するかのどちらか
0202デフォルトの名無しさん
2009/02/09(月) 12:36:370203デフォルトの名無しさん
2009/02/09(月) 12:54:30exec ("SHUTDOWN -s -t 1")
?>
これを実行しても、なんも起きないんだが、なぜ?
0204デフォルトの名無しさん
2009/02/09(月) 15:15:12fwriteってそんな器用な動きするの?
実際に試してみた?
試して言ってるならすまん。
0205デフォルトの名無しさん
2009/02/09(月) 20:03:300206デフォルトの名無しさん
2009/02/09(月) 21:00:42SHUTDOWN →shutdown
あと、フルパスで記述してみるとか
0207デフォルトの名無しさん
2009/02/09(月) 21:24:38Windowsでは改行コードがCRLFになるかもなので知らんが
下のコードだと「foo」が"0¥n3¥n2¥n" になる。
<?php
error_reporting(E_ALL);
file_put_contents("foo", "0¥n1¥n2¥n");
$fp = fopen("foo", "r+");
fseek($fp, 2, SEEK_SET);
fwrite($fp, "3", 1);
fclose($fp);
0208デフォルトの名無しさん
2009/02/09(月) 21:36:23そもそもエラーかどうかの区別もついてないんだな
>>200
全部取ってくるAPIもあるが
http://jp.php.net/manual/en/pdostatement.fetchall.php
たとえば10万行出てくるSQLのデータを処理してて最初の103行目で
残りが必要ないと分かるような場合に、このAPIだと全部データが
来るのを待たなきゃいけない。PHPコード側も、出てくる可能性のある
最大行数を確保できる環境でないと表示する前に死んじゃう、って
こともある。
0209173
2009/02/10(火) 21:25:17試してみたら上書きでした。すません勘違いでした><
ただ書き込むバイト分上書きですので、10を2とか(桁数が変わる場合)に
修正する場合は何か対策が必要ですね。
1. "r+"で開いて、修正するとこまでシーク
2. そこからEOFまでバッファに保存
3. 修正分を上書き
で、もしファイルサイズが前より小さくなる場合、前書かれていた文字が余ってしまうのは
どうしましょう?(改行で上書きして埋める?)
「現在のポインタからEOF(あるいは行末)まで消去」みたいな関数があればいいんですけど。。
0210デフォルトの名無しさん
2009/02/10(火) 22:32:55throw new Exception('ゼロによる除算。');
}
これの意味がわからん。
if (!$x)
ここの部分が。
0211デフォルトの名無しさん
2009/02/10(火) 22:37:56(ロックしている前提だよね?)
ファイルサイズを縮めるのはftruncate
それか別ファイルを作ってからrename
>>210
「$xがfalseに評価できる場合は」
0212デフォルトの名無しさん
2009/02/11(水) 08:19:03固定長にする手もあるよ。
データが0〜100の間だとしたら、例えば12なら012にしてしまう。
001
002
003
の002を012に上書きすると
001
012
003
みたいな感じ
>>210
NULLじゃね?
0213デフォルトの名無しさん
2009/02/11(水) 16:04:07!$xは $xがfalse か 0 か null か "" のとき。 (他にもきっとある)
0214デフォルトの名無しさん
2009/02/11(水) 19:32:21なるほどね。偽の時に実行させたいわけか。
0215デフォルトの名無しさん
2009/02/11(水) 22:07:49$dbh = new PDO('sqlite:test1.sqlite3');//データーベースのインスタンス作成
$sql="SELECT num FROM table1";//SQL文の定義
$sth = $dbh->prepare($sql);//プリペアードステートメント
$sth->execute();//エクスキュート
$result = $sth->fetch(PDO::FETCH_ASSOC);//フェッチでデータ取得
print ($result['num']);//結果を表示
?>
0216デフォルトの名無しさん
2009/02/11(水) 22:08:34これで、PDO使って、SQLite3のデーターベースから
値を読み込みして表示できる。
長かった。ほんと長かった。
プログラマーが教えるのがヘタなせいで
2ヶ月近くかかった。でも、もうだいじょうぶ。
0217デフォルトの名無しさん
2009/02/11(水) 22:11:20データーベース名 test1.sqlite3
テーブル名 table1
カラム id num
id | num
1 | 5
2 | 10
0218デフォルトの名無しさん
2009/02/12(木) 02:31:30エスケープとかもしてくれるのか
行数は増えるけど、こりゃいいな
0219デフォルトの名無しさん
2009/02/12(木) 03:24:05はじめは、動作スピードの対策で作られた機能のようです。
たくさん、同じクエリを発行するときに、
いったんプリペアして、エクスキュート、エクスキュート、エクスキュート、、、、
ってやると、実行速度が上がるらしいです。
そのほかにも、SQLインジェクション対策にも流用できます。
プリペアードステートメントを使えば、決してSQLインジェクションされません、
とマニュアルには書いてあります。
0220デフォルトの名無しさん
2009/02/12(木) 03:44:13めもめも
0221デフォルトの名無しさん
2009/02/12(木) 23:17:02掲示板アプリをPHPで作っていて、エンコードをUTF-8にしています。
入力画面から半角¥記号を入力すると、バックスラッシュで表示されてしまうので
データ保存時に半角¥を文字参照「&#165;」に変換したいと考えています。
そこで
$ret=ereg_replace('\\' , '&#165;' , '\1980');
と変換を実行するとエラーとなってしまいます。
円記号の変換元の指定方法が悪いのかと
$ret=ereg_replace('[\x5c]' , '&#165;' , '\1980');
などとやっても駄目でした。
どうやったら円記号が含まれた文字を文字参照に変換できますでしょうか?
0222デフォルトの名無しさん
2009/02/12(木) 23:31:56それとも、データーベース?
0223デフォルトの名無しさん
2009/02/12(木) 23:40:140224デフォルトの名無しさん
2009/02/12(木) 23:45:38データはWEBから入ってきたものをそのまま変換しようとしています。
実際にはWEB画面から「yen」フィールドに「\1980」と入力してPOST送信で
サーバ側は
$yen=$_POST['yen'];
$ret=ereg_replace('\\' , '&#165;' , $yen );
とやって、最終的に「&#165;1980」といった文字列を生成したいのですが・・・
0225デフォルトの名無しさん
2009/02/12(木) 23:50:48(1)WEBからデーター入ってくる
↓
(2)とりあえず変換する
↓
(3)変換終わったら、どっかに保存
-----------------------------
やろうとしているのは、
こういう流れでOK?
0226デフォルトの名無しさん
2009/02/12(木) 23:52:05それでググれってこと?
ちょっと言葉が足りないよね
なるべく
「顧客と話すのと同じようにしゃべる」、
というのを意識したほうが
営業にもなれるし、いいとおもうよ。
0227デフォルトの名無しさん
2009/02/13(金) 00:01:54OKです!
0228173
2009/02/13(金) 02:00:07おお、ありがとうございます!
renameのテクは知っていたのですが、結局ファイル2つ開くしなーって思っていたので。。。
ファイル切り詰めるってのがあるんですね。
桁固定はデータの性質によってはいけそうです。(十分大きくとればいいだけかもですが)
0229デフォルトの名無しさん
2009/02/13(金) 23:17:03>$ret=ereg_replace('¥¥' , '&#165;' , '¥1980');
このコードの意図を組むと
$ret=str_replace('¥¥' , '¥' , '¥1980');
でじゅうぶんです。
ereg_replace()やmb_ereg_replace()をどうしても使いたい場合は
第一引数を'¥¥¥¥'にすればいいです。
ereg_replace()に渡るバックスラッシュは実際には2個です
(PHPのクォートのルール)。ereg_replace()の第一引数は正規表現式
なので、バックスラッシュは特別な意味を持ちます。バックスラッシュ
自身をあらわすにはふたつ重ねる、というルールがあるのです。
だから'¥¥'だとREG_EESCAPEエラーが出ます。
http://php.net/manual/en/function.ereg-replace.php
>>226
どなたさまも先払いでお願いもうしあげます。
0230デフォルトの名無しさん
2009/02/15(日) 02:43:10違いってなに?
0231デフォルトの名無しさん
2009/02/15(日) 02:46:47ここ読むと、
「「int」のワナ
テーブル作成時に、主キーに対して、「int primary key」
というように、型として「integer」ではなく「int」を使用すると、
自動的にインクリメントされません。たとえ「autoincrement」
キーワードを付けてもダメです。」
と書いてある。つまり、INT型と
INTEGER型と、
違うものという、設計がなされている。
ヘンタイなの?
0232デフォルトの名無しさん
2009/02/15(日) 05:48:220233デフォルトの名無しさん
2009/02/15(日) 14:11:310234デフォルトの名無しさん
2009/02/15(日) 16:20:39すごい罠だ、それw
MySQL使いだけど、SQLite使う時のために憶えとくわw
0235デフォルトの名無しさん
2009/02/16(月) 01:47:51女がパチンコにはまって借金する話。
そんで、それみて、
「自分でギャンブルの元締めやればいいのにー」
って思ったわけ。
で、具体的になにやるの?って話になるけど、
それはたとえば、サイコロ賭博とか、やればいいじゃんって。
0236デフォルトの名無しさん
2009/02/16(月) 01:49:18その合計の値は、全部で何通りあるのか?って話になるじゃん。
それを数学的に考えようと思ったんだけど、無理だったので、
SQLiteのデーターベースでやってみました。
1
2
3
4
5
6
ってテーブルを作る。そんで、これをエイリアスを作って
自己結合するだけ。そしたら、サイコロを2個ふったときの、
全部のパターンがでます。
0237デフォルトの名無しさん
2009/02/16(月) 01:49:471 2
1 3
1 4
1 5
1 6
2 1
2 2
2 3
2 4
2 5
2 6
3 1
3 2
3 3
3 4
3 5
3 6
4 1
4 2
4 3
4 4
4 5
4 6
0238デフォルトの名無しさん
2009/02/16(月) 01:50:195 2
5 3
5 4
5 5
5 6
6 1
6 2
6 3
6 4
6 5
6 6
0239デフォルトの名無しさん
2009/02/16(月) 01:50:56この全部で36通りの結果が出る。でも
これだとまだ合計値がでてないでしょう?
だから、いまからそれを作るつもり。
0240デフォルトの名無しさん
2009/02/16(月) 01:52:59自己結合で、合計値を出すのって無理?
0241デフォルトの名無しさん
2009/02/16(月) 02:05:59select A.VAL , B.VAL, A.VAL + B.VAL from TBL A, TBL B
0242241
2009/02/16(月) 02:10:06http://pc11.2ch.net/test/read.cgi/db/1220581676/
への誤爆か?
0243デフォルトの名無しさん
2009/02/16(月) 09:17:58「Linuxを使って試しているから」という理由で初歩的な
プログラミングの質問をLinux関係のMLで延々し続ける人が
いるけど、そういうのと同類ってだけでしょ。
そもそもこの問題って単なる高校レベルの数学の問題でしょ。
0244デフォルトの名無しさん
2009/02/16(月) 11:46:20エラー : no such column: A.me
ってゆわれます
0245デフォルトの名無しさん
2009/02/16(月) 13:27:373.14.。。
の例の円周率です。
πです。
0246デフォルトの名無しさん
2009/02/16(月) 13:37:59mysqlにはあるんだけど。
0247デフォルトの名無しさん
2009/02/16(月) 13:41:220248デフォルトの名無しさん
2009/02/16(月) 17:34:460249デフォルトの名無しさん
2009/02/16(月) 17:35:54FROM tb1
WHERE name LIKE '%sa'
0250デフォルトの名無しさん
2009/02/16(月) 17:36:26これで検索されない。
「sasaki」
っていうのが検索されてくるはずなのに。
0251デフォルトの名無しさん
2009/02/16(月) 17:39:560252デフォルトの名無しさん
2009/02/16(月) 18:00:03慎重に選考を進めてまいりましたが、残念ながらご希望に添えない結果となりましたのでご連絡申し上げます。
今後ますますのご健康とご活躍をお祈り申し上げます。
0253デフォルトの名無しさん
2009/02/16(月) 18:00:35あ、、、そっちなのかも
0254デフォルトの名無しさん
2009/02/16(月) 18:01:16うわーーー
できたできた!!
0255デフォルトの名無しさん
2009/02/16(月) 18:01:50FROM tb1
WHERE name LIKE 'sa%'
これで、できたよ。
0256デフォルトの名無しさん
2009/02/16(月) 18:02:29FROM tb1
WHERE name LIKE 'sa'
これだとできない。
必ず%が必要なのか?
0257デフォルトの名無しさん
2009/02/16(月) 19:59:05FROM tb1
WHERE name LIKE '%sa%'
これだとできるんだよな。
両方パーセント攻撃。
0258デフォルトの名無しさん
2009/02/16(月) 20:00:17PDO+sqlite3で、
トランザクションで、
Aがデーターベースにアクセスしているときに、
Bがアクセスしてくると、0秒で
「database is locked」
になるという記事を読んだんだが、
実際は、PHPはデフォルトで60秒
待機する仕様になっている。
これであってるよね?
0259デフォルトの名無しさん
2009/02/16(月) 20:06:28「PHPはデフォルトでデータベースがオープンされる際のビジータイムアウト を 60 秒に設定しています。 」
と書いてあるが、その下のコメントで、
「The PDO equivalent of this function would be PDO::setAttribute(PDO::ATTR_TIMEOUT);」
と書いてある。
もしかして、PDOでやった場合、PHPのデフォルトの設定は
無効にされてしまうのか?
0260デフォルトの名無しさん
2009/02/16(月) 20:32:53「2006年01月28日
ActiveRecordでSQLiteのbusy_timeoutをひきのばす
ActiveRecordでSQLiteアダプタを使っているとき、
ひとつのデータベースファイルに複数のプロセスや
スレッドからアクセスしていると、
SQLite3::BusyException: database is locked
というエラーが出ることがあります。SQLiteでは
アクセスを試みてエラーを返すまでにロックを
待つ時間がデフォルトでは0らしく、ロック状態
だった場合は即座にエラーが発生します。」
-----------------------------------------
、、、と書いてあるが、やっぱり待つ時間は0なのか?
それとも、マニュアルに書いてあるとおり、
デフォルトでは60秒待つのか?
0261デフォルトの名無しさん
2009/02/16(月) 21:04:09↑これって専門用語でなんていうの?
0262デフォルトの名無しさん
2009/02/16(月) 21:37:48[sqlite] "Database is locked" error in PHP via PDO despite setting timeout
Sun, 19 Mar 2006 11:15:50 -0800
I'm using Sqlite3 from PHP via PDO.
My application was working fine as long as there was only one process
accessing the database, then I ran two instances at once. Now one of the
processes is getting
"Error message: SQLSTATE[HY000]: General error: 5 database is locked"
when trying to execute a statement which modifies the database.
I understand that this is liable to happen, unless a timeout is set via
sqlite3_busy_timeout().
I have set this timeout using the $db->setAttribute(PDO::ATTR_TIMEOUT, 5.0)
however it's made absolutely no difference to the behaviour.
It's certainly not waiting 5 seconds before giving me this error, and it's
happening with exactly the same frequency as before. It's as if it's being
ignored.
I've stepped through PHP in the debugger (gdb) and it's definitely calling
sqlite3_busy_timeout with the appropriate parameters (5000 ms).
What else can I do to prevent this?
If the answer is "nothing", I'm going straight over to MySQL :)
Mark
0263デフォルトの名無しさん
2009/02/16(月) 21:39:12この問題なんだよな。これがよくわからない。
どうも
(A)「php側で待つ処理」
(B)「sqlite側で待つ処理」
と、2つに分かれているようで、
>>259のデフォルトの60秒というのは、
(A)だけの話のようだ。
つまり、(B)でエラーになったら、
(A)の処理時間がどうなっていようが、いきなり
エラーになるということだ。
0264デフォルトの名無しさん
2009/02/16(月) 21:40:31つまり、トランザクション中に、別の
プロセスがトランザクションを取得しようとしたら、
問答無用で、待ち時間0秒で、いきなり
database is locked
になるらしい。
これを回避するには、自分でエラーをトラップして、
ある程度sleepして、そんでリトライ、、、
この処理を自分で書かないといけないらしい。
↑この理解であってる?
0265デフォルトの名無しさん
2009/02/17(火) 11:35:47$LOGIN_URL = "https://moba8.net/";
$POST_URL = "https://moba8.net/a8v2/asLoginAction.do";
$LOGIN_ID = 'hoge';
$LOGIN_PW = 'huga';
$USER_AGENT = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
$http = new HTTP_Client;
$http->setDefaultHeader(
array(
'User-Agent' => $USER_AGENT,
'Referer' => $LOGIN_URL,
'Connection' => 'Keep-Alive',
'Keep-Alive' => '300',
)
);
$code = $http->get($LOGIN_URL);
if($code == 200) {
srand((double)microtime()*1000000);
$params = array(
'moa' => '/moba8',
'login' => $LOGIN_ID,
'passwd' => $LOGIN_PW,
'x' => (int) round(rand(0,100)),
'y' => (int) round(rand(0,10)),
);
$code = $http->post($POST_URL, $params, true);
$response = $http->currentResponse();
print_r($response);
なんでタイムアウトになっちゃうんでしょう??
0266デフォルトの名無しさん
2009/02/18(水) 00:44:21PDO->beginTransaction()
使えば、database is lockedの問題については
考えなくていいのか?
0267デフォルトの名無しさん
2009/02/18(水) 00:50:27プリペアードステートメントだけで、対策になっているのか?
それとも、プリペアードステートメント+バインドパラムまでしないと
対策になっていないのか?
どっちなのかな?
0268デフォルトの名無しさん
2009/02/18(水) 01:16:30そもそもSQLインジェクションって何か分かってないでしょ?
0269デフォルトの名無しさん
2009/02/18(水) 01:47:13ネットだけなら何とでも言えるよな?
どうせ糞くだらねぇ三流の文系大か、下手したら高卒のくせによw
妄想だけなら脳内だけにしとけやオッサン。
現実ではお花畑みてぇな理想なんざ、何の役にも立ちやしねぇぞ?
どうにもならねぇ事なんざ、腐るほどあるんだから、
SQLインジェクションの知識の自慢なんざしてねぇで、現実を直視しろよw
まぁ、おまえみてぇに力仕事三昧&単純作業三昧の毎日じゃ、
『〜であってほしかった!〜であれば俺は今、こんなんじゃなかったんだ!(涙目)』
みてぇな妄想に耽るしか、救えねぇもんなwwww
まぁせいぜい頑張れや。PHPはシェア0から100にまではい上がった言語だからな。
強さを求めれば結果はついてくるだろうぜ?
いつまでも弱者で、影でコソコソと強者を批判するとか情けねぇと思わねぇか?w
0270emi
2009/02/18(水) 03:02:35GPSのデータを自分のHP上にgooglemapで表示させたいんです。
HP URL http://khepresh.toyama-cmt.ac.jp/~d04233
GPSデータ
$GPGGA,025207.561,3645.5161,N,13709.5192,E,0,0,,-10.0,M,35.7,M,,*5A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,09,05,69,141,,12,64,095,17,22,59,271,24,18,51,192,21*7D
$GPGSV,3,2,09,30,50,182,18,09,42,048,,14,38,313,24,15,11,112,16*7E
$GPGSV,3,3,09,31,05,252,23*43
$GPRMC,025207.561,V,3645.5161,N,13709.5192,E,0.00,0.00,160708,,,N*7A
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPGGA,025208.561,3645.5161,N,13709.5192,E,0,0,,-10.0,M,35.7,M,,*55
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,09,05,69,141,,12,64,095,17,22,59,271,17,18,51,192,20*7C
$GPGSV,3,2,09,30,50,182,17,09,42,048,,14,38,313,23,15,11,112,15*75
$GPGSV,3,3,09,31,05,252,22*42
↑毎秒データが追加される。
このデータの必要な部分のみをPHPで抽出し、javascriptに組み込み
グーグルマップにリアルタイムでピンを立てていきたいんです。
流れはわかるのですが、プログラミングしろとなると本当にわからなくて…m(_ _)m
すみません。どうかよろしくお願いします。
0271emi
2009/02/18(水) 03:05:39while ($data = fgetcsv($fp, 10000)) {
$today = date("Y/m/d l H:i:s");
print($today)."<br>\n";
if (!in_array($count, $remove_row_list)) {
echo $data[1] ."<br>\n";
echo $data[2] ."<br>\n";
echo $data[3] ."<br>\n";
echo $data[4] ."<br>\n";
echo $data[5] ."<br><br>\n";
}
{
$count++;
}
}
fclose($fp);
?>
緯度や経度などの必要な部分だけを抽出してみたつもりです。
何かおかしいような気もするのですが
これをjavascriptに組み込むことは可能なのでしょうか。
0272デフォルトの名無しさん
2009/02/18(水) 03:56:02javascriptとphpのリアルタイムでの連携なら、
xmlhttprequestや
json、jsonpなどを調べてみると良いと思います。
ただxmlhttprequestのみでもできます。
もしかしたらそっちの方が簡単かもしれません。
それから、javascriptからphpの出力を読み込む時、
ブラウザがキャッシュを読もうとすることがあります。
その場合phpのurlに適当なクエリを、その都度変化させて追加すれば回避できます。(ブラウザに別物だと認識させる)
〜.php?12345←これ
このクエリは時刻から生成すれば良いです。
あぁ分かりづらい文章だな〜orz
0273270
2009/02/18(水) 09:32:54お返事ありがとうございます。
さっそく調べてみようと思います。
本当にご丁寧で感謝です。
行き詰ったら、再度質問させてください。m(_ _)m
0274270
2009/02/18(水) 15:54:18JSONを使用したいと思うのですが、これも一つの
プログラムになるのですよね?
最終的には個別といった形ではなく
PHP、javascript、JSONが一つのプログラムになるのでしょうか?
0275デフォルトの名無しさん
2009/02/18(水) 16:46:37JSONはプログラムではなく、データ形式です。
PHPで出力する時に、JSON形式に整形して出力します。
そうすることで、
<script type="text/javascript" src="aaa.php"></script>
のように、ページ読み込み時に一緒に読み込むことができるようになります。
ただ、これではページ読み込み時に1回読み込むのみで、
その後自動で更新するというようなことはできません。
自動でデータを更新する場合は、JSONPを使う必要があります。
>終的には個別といった形ではなく
>PHP、javascript、JSONが一つのプログラムになるのでしょうか?
ならないです。PHPとJavaScriptを連携させる形になります。
0276270
2009/02/19(木) 01:31:57本当に知識不足ですみません。
なにせ、C言語をすこしかじっただけの者でして↓
でもこのプログラムを今週中に作らないといけないんです。
JSON形式にPHPを加工するのですか?
javascriptのほうには手を加えなくてもいいのでしょうか?
JSONPはJSONを理解しないと難しいですよね…
質問ばかりですみません。
0277デフォルトの名無しさん
2009/02/19(木) 02:27:070278デフォルトの名無しさん
2009/02/19(木) 02:41:58そのレベルで今週中は厳しくないですか?
とりあえず、JSONとJSONPのさわり程度のサンプルを置いておきますね。
http://hcw.x0.to/phpphp/
ちなみに、JSON形式は
http://hcw.x0.to/phpphp/test.php?type=json
JSONP形式は
http://hcw.x0.to/phpphp/test.php?type=jsonp
のような感じになります。
これで大体理解できれば何とかなるかな・・・
0279デフォルトの名無しさん
2009/02/19(木) 02:45:11ちょっとまった。
「上から」って、具体的にはどういう意味?
プライマリーキーはふってるの?
0280デフォルトの名無しさん
2009/02/19(木) 02:50:46上じゃなくて下からでした申し訳ないです
名前 住所 電話
ああ adc 122
いい aaa 221
うう ddd 332
ええ ccc 111
例えばこんなテーブルの中身で3つ参照するとして下3つのデータを逆に表示したいのです
ええ ccc 111
うう ddd 332
いい aaa 221
0281デフォルトの名無しさん
2009/02/19(木) 03:23:08データーベースの中味は
ファイルと違って、「順番」という概念はないのでは?
だからプライマリーキーというのをふって、
idが4−2とかって指定しなければいけないのでは
ないのかな?
0282デフォルトの名無しさん
2009/02/19(木) 03:24:16id 名前 住所 電話
1 ああ adc 122
2 いい aaa 221
3 うう ddd 332
4 ええ ccc 111
カラムを一個追加して、
↑のようにする。
そんで、idが2-4って
指定すればいいのでは?
0283デフォルトの名無しさん
2009/02/19(木) 08:48:02なるほど
すばやい返答ありがとうございます
0284デフォルトの名無しさん
2009/02/19(木) 16:15:52ファイルを2つ用意して、
トランザクションと、データーベースロックの実験をしているんだが。
「1.php」
「2.php」
0285デフォルトの名無しさん
2009/02/19(木) 16:16:26<?php
$dbh = new PDO('sqlite:test1');
$dbh->beginTransaction();
print "aaa<br>";
sleep(55);
$dbh->commit();
print "bbb";
?>
0286デフォルトの名無しさん
2009/02/19(木) 16:17:00<?php
$dbh = new PDO('sqlite:test1');
$dbh->beginTransaction();
print "ccc<br>";
$dbh->commit();
print "ddd";
?>
0287デフォルトの名無しさん
2009/02/19(木) 16:18:28「1.php」
を実行する。するとsleepで55秒
待たされるから、その間に
「2.php」
を実行する。そしたら、
「1.php」がトランザクションをゲットしているから、
「2.php」は待たされる(あるいは、database is lockedになる)
はずなのだが、すぐに結果が表示されてしまう。
ということは、「1.php」はデーターベースをロックしていないと
いうことなのか?
0288デフォルトの名無しさん
2009/02/19(木) 16:43:43データ追加とか色々してみたら?
0289デフォルトの名無しさん
2009/02/19(木) 17:01:21そんなことする必要ないはず。
1がトランザクションをゲットしているんだから、
2は本来、入れないはず。
そういう動作にならないとおかしい。
そうでしょう?
0290デフォルトの名無しさん
2009/02/19(木) 17:15:53色々試さないで人に聞くやつは葛
0291デフォルトの名無しさん
2009/02/19(木) 20:46:57アメリカ人に聞いたらすぐに教えてくれたから、
お前もういいわ。クビです。
0292デフォルトの名無しさん
2009/02/19(木) 20:52:46ここだ。ここのアメリカ人に聞いた。英語で。
すぐに答えてもらったよ。やっぱ質問するなら、
アメリカだな。ひろゆきなんかもうクビでええわ。
0293デフォルトの名無しさん
2009/02/19(木) 20:59:14よかったね^^
0294デフォルトの名無しさん
2009/02/19(木) 21:00:15ちゃんとお礼しとけよ
0295デフォルトの名無しさん
2009/02/19(木) 21:07:01ちゃんと結果を貼ってくれるなんて
今読んできたが、なる程ざワールド
お礼はしとけよ。
0296デフォルトの名無しさん
2009/02/19(木) 21:16:11魚拓もとっておいた。削除されるかもしれないから。
0297デフォルトの名無しさん
2009/02/19(木) 22:20:42色々試す前にドキュメント読まないやつは五味葛
0298デフォルトの名無しさん
2009/02/19(木) 22:26:10ドキュメント読まない・試さないやつはどうなるんだ?
0299デフォルトの名無しさん
2009/02/19(木) 22:27:44030082
2009/02/20(金) 01:27:23$fp = fopen('http://自分のHP, 'r');
$count = 0;
$remove_row_list = array(1, 2, 3, 4);
while ($data = fgetcsv($fp, 10000)) {
if (!in_array($count % 5, $remove_row_list)) {
echo $data[1] ."<br>\n";
echo $data[2] ."<br>\n";
echo $data[4] ."<br><br>\n";
}
{
$count++;
}
}
fclose($fp);
?>
このプログラムの例えば$data[2]ですが、3645.5218という数字だったとします。
そこでまずこの桁を36.455218にし10進から60進に直すときは
どういったプログラムを足せばいいのでしょう?
度 = int(36.455218) = 36
分 = int(0.455218 * 60) = int(27.31308) = 27
秒 = int(0.31308 * 60 *1000) / 1000 = 18.7848
= 36°27′18.7848″といったような感じです。
0301デフォルトの名無しさん
2009/02/20(金) 08:18:34sprintf
>10進から60進に直すときは
10進から60進に直せばいい
10進から2進数に変換するのと同じ
GPS座標の変換をやってるみたいだねえ
0302デフォルトの名無しさん
2009/02/22(日) 02:09:19しばらく待って、リトライさせる処理って、
もしかして関数化して再帰なの?
それとも、こういう時にthrowを使えるの?
0303デフォルトの名無しさん
2009/02/22(日) 20:04:58レコードを削除する方法ってどのような感じでやればいいのでしょうか?
0304デフォルトの名無しさん
2009/02/22(日) 20:47:270305デフォルトの名無しさん
2009/02/23(月) 02:47:21例えば10文字
qwertyuiopの後ろ5文字を削って半分にするプログラムはどんな感じになるでしょうか?
0306デフォルトの名無しさん
2009/02/23(月) 02:53:490307デフォルトの名無しさん
2009/02/23(月) 02:54:24substr($string, 0, floor(strlen($string) / 2));
0308デフォルトの名無しさん
2009/02/23(月) 02:56:35substr で文字列数?を指定することで好きな長さにできる感じですか?
初心者なものですみません
0309デフォルトの名無しさん
2009/02/23(月) 02:57:51ttp://jp.php.net/substr
0310デフォルトの名無しさん
2009/02/23(月) 03:02:31便利な関数ですね
0311デフォルトの名無しさん
2009/02/23(月) 21:03:41try {
$oDbCxn = new PDO('sqlite:test1');
$oDbCxn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
die("Error connecting to DB");
}
$bUpdatePending = true;
while ($bUpdatePending) {
try {
$oDbCxn->query("BEGIN EXCLUSIVE TRANSACTION");
// $oDbCxn->beginTransaction();
$oDbCxn->exec("UPDATE tb1 SET value = value + 1 WHERE id = '1'");
//$oDbCxn->commit();
$oDbCxn->query("COMMIT");
$bUpdatePending = false; // Exit the loop now the update has been done
}
catch (PDOException $e) {
print $e->getMessage();
$oDbCxn->rollback();
}
}
?>
やったついに成功した
0312デフォルトの名無しさん
2009/02/23(月) 22:31:54PHPがどういうソースコードで書かれているのか読んでみたいのですが
何を読めばいいのか教えてください。
また
PHPはC言語で書かれていると本にあったのですが
C言語がわからないと読めないのでしょうか。
よろしくお願いいたします。
0313デフォルトの名無しさん
2009/02/23(月) 22:51:27日本語を読もうとしてるのか?
0314デフォルトの名無しさん
2009/02/23(月) 22:57:46PHP自体はCでかかれているけど、
Cなんて知る必要無いよ
ライブラリとか作るなら別だけど。
0315デフォルトの名無しさん
2009/02/23(月) 22:58:18行間を読め
人間はコンピューターではない
0317デフォルトの名無しさん
2009/02/24(火) 00:26:36ここ行って、Complete Source Code っていうのダウンロードして、
ひとつひとつのファイルを適当なエディタで開いて読んでいったらいいのではないかな?
そういう話ではない?
0318デフォルトの名無しさん
2009/02/24(火) 01:59:32file_get_contentsに関することです。
$〜〜 = file_get_contents(http://〜〜〜/?js=$aiueo?p=$p);
という形にして、$aiueoと$pを外において繰り返したいんですが、
どうも$aiueo?p=$pという風に一緒くたにして読み込んでしまっているようで上手く出来ません
色々試しましたが結局この形式以外に回避することは難しそうなので、教えていただけませんか?
自分でもがんばってみます
0319>>318
2009/02/24(火) 02:05:220320241
2009/02/24(火) 02:24:21どう解決したかは知らんが、こんな感じか?
$〜〜 = file_get_contents("http://〜〜〜/?js={$aiueo}?p={$p}");
0321>>318
2009/02/24(火) 02:37:07?js=$aiueo?p=$p
を、
?js=$aiueo&p=$p
にしたらいけました!
0322デフォルトの名無しさん
2009/02/24(火) 08:59:39今は三項演算とemptyを組み合わせて
(empty($variable)?($variable):(NULL))
ってやってるんだが
変数名が長くなると読みづらいし扱いづらいしで
何かいい方法は無いですか
0323デフォルトの名無しさん
2009/02/24(火) 09:28:390324312
2009/02/24(火) 09:32:26レスありがとうございます。
PHPが言語としてどういう設計をされているかを知りたいです。
>>317
レスありがとうございます。
ファイルがたくさんあるのですが、どれを読めば理解を深める近道でしょうか。
0325デフォルトの名無しさん
2009/02/24(火) 09:46:570326デフォルトの名無しさん
2009/02/24(火) 09:47:41変数の値があればその値を、なければNULLを得たい?
$hoge = $variable;
0327デフォルトの名無しさん
2009/02/24(火) 14:48:02すまん、変数が存在したらの間違いだ。
俺の手違いで紛らわしいレスにしてしまい申し訳ない。
読んで頭にハテナが出てしまったと思う
その分のガッカリ感がいかんかと想像し、しかと胸に刻んでおきます。
0328デフォルトの名無しさん
2009/02/24(火) 14:52:02存在したら、か。
そういう使い方だったら連想配列あたりを調べると幸せになれるとオモ
0329デフォルトの名無しさん
2009/02/24(火) 15:04:22そこから先は想像つかないな
array_key_exists は有無しか判断してくれないし
0330デフォルトの名無しさん
2009/02/24(火) 16:38:59fetchrowでやると$_SESSIONに代入できたときは検索結果が表示されないし
検索結果を先に表示すると$_SESSIONに代入されないんだけど他に方法あります?
0331デフォルトの名無しさん
2009/02/24(火) 16:44:54$foo = isset($bar) ? $bar : null;
0332デフォルトの名無しさん
2009/02/24(火) 17:05:270333デフォルトの名無しさん
2009/02/24(火) 17:50:160334デフォルトの名無しさん
2009/02/24(火) 18:05:40だが質問の内容をよく読んでから書き込めって……
一人浮いてるぞ……
0335デフォルトの名無しさん
2009/02/24(火) 18:22:160336デフォルトの名無しさん
2009/02/24(火) 19:14:19よく嫁
0337デフォルトの名無しさん
2009/02/24(火) 19:38:490338デフォルトの名無しさん
2009/02/24(火) 21:55:22存在しない変数を参照するとふつうにNULLが返るので、
それ以上何が問題なのか分からん。warningが嫌なら
@$foo
とかして参照すればいい。
0339デフォルトの名無しさん
2009/02/24(火) 23:23:16色々と不備を重ねてしまいすみませんでした。
>>338
これで十分なんですね。
というかwarningが出ていても変数にNULLが入るのは知りませんでした。
古い表現ですが、感謝感激あめあられです。
回答していただいた方々もありがとうございます。
0340デフォルトの名無しさん
2009/02/25(水) 03:45:490341デフォルトの名無しさん
2009/02/28(土) 01:47:27の部分配列を取り出したい。
$request = array('hoge'=>1, 'fuga'=>2, 'piyo'=>...
これからキーが hoge, fuga の物だけを取り出すとすると、
foreach (array('hoge', 'fuga') as $param) {
$a[$param] = $request[$param];
}
これ、もうちょっと簡潔に書けないかな?
$a = array_intersect_key($request, array_flip(array('hoge', 'fuga')));
こんなの考えたけど、あんまり短くならない。
0342デフォルトの名無しさん
2009/02/28(土) 13:24:25関数にする。
array_flip(array('foo','bar'))の部分を最初から連想配列にする。
0343デフォルトの名無しさん
2009/03/02(月) 18:23:16468 名前:名無しさん?[sage] 投稿日:2009/03/02(月) 11:25:37 ID:??? ?2BP(0)
PHPにバグ、vmwareの組み込みedのバグによる脆弱性。アップデートを。
と、いう事らしいです
お気をつけを
0344デフォルトの名無しさん
2009/03/03(火) 16:14:31IEだと動作してくれないのって何が原因ですか?
0345デフォルトの名無しさん
2009/03/03(火) 17:15:450346デフォルトの名無しさん
2009/03/03(火) 23:44:080347デフォルトの名無しさん
2009/03/03(火) 23:52:020348デフォルトの名無しさん
2009/03/04(水) 06:31:160349デフォルトの名無しさん
2009/03/05(木) 12:37:25function timeSinceLastCall() {
static $lastTime = null;
$curTime = microtime(true);
if($lastTime === null)
$elapsed = 0;
else
$elapsed = $curTime - $lastTime;
$lastTime = $curTime;
$d=sprintf("%.f", $elapsed);
return $d;
}
for ($i=1;$i<10;$i++){
print 'Loop took ' . timeSinceLastCall() . 's';
print '<br>';
}
?>
0350デフォルトの名無しさん
2009/03/12(木) 22:25:59$handle = fopen("./file.txt", "r+");
$b=file_get_contents ('./file.txt');
$a=$b+1;
fwrite($handle, $a);
print $a;
?>
このコードを実行すると、
一回ごとに数字が1増える
0351デフォルトの名無しさん
2009/03/12(木) 22:45:130352デフォルトの名無しさん
2009/03/12(木) 23:50:260353デフォルトの名無しさん
2009/03/13(金) 00:21:56まず、
「どのデーターベースにしようかな?」
って決めなきゃならないじゃん。
0354デフォルトの名無しさん
2009/03/13(金) 00:24:01「どのアクセス方法でアクセスしようかな?」
って、アクセス方法を決めないといけないじゃん。
PDOとか、pear::dbとか、
pear::mdbとか、pear::MDB2とか。
(これらはデーターベースアクセス抽象化レイヤー)
それか、O/Rマッパー使うか?とか。
pear db_dataobjectとか。
0355デフォルトの名無しさん
2009/03/13(金) 00:24:53そしたら、今度は、
PDO->execでやるのか、
プリペアードステートメントでやるのか、
バインドパラムは使うのか?
とか、悩まないといけない。
0356デフォルトの名無しさん
2009/03/13(金) 00:27:00そしたら
「おれたちはマニュアルにのってることしか
回答できねええんだよおおおお」
とかってキモヲタが絶叫してるし。
まじ関わり合いになりたくねぇえ、って心の底から思うじゃない。
思わずプログラム板に避難しちゃうくらいきもいから。
0357デフォルトの名無しさん
2009/03/13(金) 00:48:09おまいらのせいで100gで3600円もする貴重な最高級煎茶が無駄になったじゃないか
0358デフォルトの名無しさん
2009/03/13(金) 00:56:54テキストが良いよ
0359デフォルトの名無しさん
2009/03/13(金) 02:08:500360デフォルトの名無しさん
2009/03/13(金) 08:17:040361デフォルトの名無しさん
2009/03/13(金) 19:32:19<input type="submit" value="プッシュ!">
<input type="hidden" name="bbb" value="
あれほど言ったのに、まだそんなカキコするですか!もう許さんです!
あんたを許すわけにはいかんです!こんなカキコでレスたくさん付くとでも
思ってるなんて頭おかしーよです!あんたみたいなバカ初めて見たです!
あんたみたいなバカ、ゴキブリ以下です!あんたみたいなバカ、ウジ虫以下です!
死んでほしーです!つーか、死ぬべきです!あんたは絶対に許されないです!
勘違いしたバカを許すわけにはいかんのです!面白半分にいい加減なカキコ
するヤツなど許さんです!キャラメルコーンのピーナッツをケツの穴に詰めて
死ねよです!!!
">
</form>
<?php
if(isset($_POST['bbb'])){
print "<pre>". $_POST['bbb'] ."<pre>";
print "<br>";
}
?>
0362デフォルトの名無しさん
2009/03/13(金) 19:33:03これを「1.php」とかのファイル名で保存して実行。
するとプッシュってボタンが出るから、
それを押すと、自分に対する応援のメッセージが出力される。
0363デフォルトの名無しさん
2009/03/13(金) 20:12:21<input type="submit" name="bbb" value="プッシュ!">
</form>
<?php
if(isset($_POST['bbb'])){
$handle = fopen("./file.txt", "r+");
$b=file_get_contents ('./file.txt');
$a=$b+1;
fwrite($handle, $a);
print $a;
}
?>
0364デフォルトの名無しさん
2009/03/13(金) 20:13:14これを「2.php」とかの名前で保存。
それと、file.txtって名前のテキストファイルを作成して
同じディレクトリに置いておく。
これで事前準備はOK。
あとは、2.phpを実行して、ボタンを押すと、
一回押すごとに、数字が1増える。
0365デフォルトの名無しさん
2009/03/13(金) 22:28:07$cnt = 0;
$f = file_get_contents (__FILE__);
file_put_contents (__FILE__,
preg_replace_callback("/(?=>\$cnt = )[0-9]+(?=;)/",
create_function(
...
って感じで、自身を書き換えるカウンタもつくれるんだろうな
0366デフォルトの名無しさん
2009/03/13(金) 22:41:47そこの変な書き込みしているやつ、止まれ。
お前はタリバンか。
0367デフォルトの名無しさん
2009/03/14(土) 05:50:25拡張子はjpgでも中身はTIFFだったりする場合って、みなさんどう対処されてます?
ブラウザでは表示されないんで困ってます
教えてエロい人!
0368デフォルトの名無しさん
2009/03/14(土) 06:30:59ファイルの先頭数バイトで判定すれば良いんじゃね?
0369デフォルトの名無しさん
2009/03/14(土) 07:52:45バイナリは詳しく分からないので
getimagesize()で確認してみるとにしました
欲を言えばGDとかで通常のjpgにしたかったんですけど
上書きしたjpgも何故かブラウザで見れなかった〈(。А。)〉
0370デフォルトの名無しさん
2009/03/14(土) 09:58:10俺が適当に作って使ってるやつでよければ
大抵のサーバマシンには fileコマンド ぐらい入ってると予想して
無かったらドンマイ
function getExtensionByMineType($fname)
{
$minetype = trim(`file -i $fname | cut -d' ' -f2`);
$ext = NULL;
switch ($minetype)
{
case "image/jpeg":
$ext = ".jpg";
break;
case "image/gif":
$ext = ".gif";
break;
case "image/png":
$ext = ".png";
break;
default:
$ext = NULL;
break;
}
return $ext;
}
>>370 コード参照用
0371デフォルトの名無しさん
2009/03/14(土) 10:00:31貼ってから気付いたけどマイムタイプだな
0372デフォルトの名無しさん
2009/03/14(土) 11:46:57$a=""; $b=null; $c="hoge";
xxx($a, $b, $c); hoge と表示される
0373デフォルトの名無しさん
2009/03/14(土) 13:56:08まーないけどこんな感じでなんとかなるんじゃね。
$ret = $a == "" ? ($b == "" ? ($c == "" ? null : $c) : $b) : $a;
is_nullとか===にしちゃ駄目よ。
そういやPHPの日本語マニュアル見ると三項演算子ってterniary条件文ってなってるけど
ternaryの間違いだよなこれw
0374デフォルトの名無しさん
2009/03/14(土) 15:21:26PHP5.3 から ?: ってのが出来てるみたいだね
0375デフォルトの名無しさん
2009/03/14(土) 15:44:550376デフォルトの名無しさん
2009/03/14(土) 16:17:00$ret = $a ?: $b
0377デフォルトの名無しさん
2009/03/14(土) 16:32:050378デフォルトの名無しさん
2009/03/14(土) 16:46:480379デフォルトの名無しさん
2009/03/14(土) 16:56:18C派生なんだからPHPは最初からあったでしょ >三項演算子
0380デフォルトの名無しさん
2009/03/14(土) 17:04:440381デフォルトの名無しさん
2009/03/14(土) 17:28:26エラーでてコンパイルすら通らなかった。
0382デフォルトの名無しさん
2009/03/14(土) 17:29:45>Parse error: syntax error, unexpected ':'
0383デフォルトの名無しさん
2009/03/14(土) 18:40:330384デフォルトの名無しさん
2009/03/14(土) 18:52:20二度目以降はこの中間コードを直接見るので一度目より速度は多少速くなる。
実はこれ4.xの途中で変更された仕様で、古いバージョンだと毎度コンパイルしてるから遅い
0385デフォルトの名無しさん
2009/03/14(土) 19:00:23どうやってつかうのでしょうか
おしえてください
0386デフォルトの名無しさん
2009/03/14(土) 19:08:220388385
2009/03/14(土) 19:27:40ダウンロードしたんだよ
頼むよ、おしえてくれよ
0389デフォルトの名無しさん
2009/03/15(日) 09:26:400390デフォルトの名無しさん
2009/03/15(日) 19:34:380391デフォルトの名無しさん
2009/03/19(木) 22:49:07日本を狙う 朝鮮人の原爆ミサイル建造費用は
日本国内の 在日パチンコ屋からの送金
パチンコの市場規模は 年間30兆円
日本の国家予算の 3分の1以上
北朝鮮の国家予算の なんと100年分!
これを在日朝鮮人が 自由に動かし
パチンコマネーを 北朝鮮に送金している
パチンコ屋を 全面営業禁止にしない限り
北朝鮮は制裁など 痛くもカユくもない
在日朝鮮人なら 生活保護もらい放題
毎月二十数万円もらって 毎日遊んで暮らしてる
住宅費・医療費・教育費なんでも無料
税金は1円も払わない 超特権階級(貴族)
民主党は 選挙権まで与える予定
日本は 在日天国 <丶`∀´> ウハウハ〜♪
http://2cchan.ham-radio-op.net/kimuchi.html
0392デフォルトの名無しさん
2009/03/28(土) 02:06:58PHPのデバッグ実行を行おうとしているのですが、PHPスクリプト内に設定した
ブレークポイントで止りません。
一体どうすればブレークポイントを止める事が出来ますか?
【ブレークポイント上のエラー】
・ブレークポイントは、現在の設定ではヒットしません。
Unbound break point
【IEの設定】
次のチェックを外しています。
・スクリプトのデバッグを使用しない(Internet Explorer)
・スクリプトのデバッグを使用しない(その他)
【php.iniの設定】
[DBG]
debugger.enabled = true
debugger.profiler_enabled = true
debugger.JIT_host = 127.0.0.1
debugger.JIT_port = 7869
debugger.enable_session_cookie = true
extension=php_dbg.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
0393デフォルトの名無しさん
2009/04/02(木) 20:35:48非マルチバイト関数を利用する事が
ないかとおもいますが。
マルチバイト関数と、非マルチバイト関数対応表と、
マルチバイト関数が存在しない非マルチバイト関数表
とかってどっかにないでしょうか?
例、mb_trimが存在しない。
0394デフォルトの名無しさん
2009/04/04(土) 22:42:33go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
0395デフォルトの名無しさん
2009/04/05(日) 00:34:44http://jp.php.net/manual/ja/ref.strings.php
http://jp.php.net/manual/ja/ref.mbstring.php
ここから関数群の差分取るスクリプト書けばおk
0396デフォルトの名無しさん
2009/04/05(日) 00:48:44ありがとうございます。
非マルチバイト関数を使うな!
といっても、もれが出てしまいます。
皆様どのように解決しておりますでしょうか?
思いつくのは。
・コーディング後に非mbチェックスクリプトを実行。
・関数を改造してこけるようにする。
・対処しない、根性でテスト。
0397デフォルトの名無しさん
2009/04/05(日) 01:22:450003. セキュリティを考慮して、特定の関数を使用不可能にする方法
ttp://php.to/tips/3/
0398デフォルトの名無しさん
2009/04/05(日) 01:47:54ありがとうございます。
0399デフォルトの名無しさん
2009/04/06(月) 04:27:20$a=mb_convert_encoding(`ping www.google.com`,"UTF-8","SJIS");
print "<pre>";
print_r ($a);
print "</pre>";
?>
-----------------------------------------------
これはおもしろい。
実行すると、PHPからpingを打って、
結果を表示してくれる。
0400デフォルトの名無しさん
2009/04/06(月) 05:38:29でいいんじゃないのかと思うが。
0401デフォルトの名無しさん
2009/04/06(月) 05:44:59やってみたらできた、ありがとう。
execのコードを一部改変したものですから。
0402デフォルトの名無しさん
2009/04/07(火) 07:55:390403デフォルトの名無しさん
2009/04/07(火) 16:33:34を使用したら、「Call to undefined method Net_UserAgent_Mobile_NonMobile::isFOMA()」
って表示された。
本でもネットでも以下の方法しか記載されてないから、わけわからない。
$agent = Net_UserAgent_Mobile::singleton();
if ($agent->isFOMA()) {}
0404デフォルトの名無しさん
2009/04/08(水) 00:59:150405デフォルトの名無しさん
2009/04/08(水) 03:12:46へぇーそんな事も出来るんだ。
面白いね
0406デフォルトの名無しさん
2009/04/08(水) 11:28:04Net_UserAgent_Mobile_NonMobile::isFOMA()
と
Net_UserAgent_Mobile::isFOMA()
は違うがな
0407デフォルトの名無しさん
2009/04/08(水) 14:18:15ここにある、かなをローマ字に変換するクラスですが、
うまく動きません。サンプルまでそのまま引きうつして実行しても、
だめです。非常に便利なクラスなのでぜひ活用させてもらいたいの
ですが、何か、アドバイスをもらえませんでしょうか。
0408デフォルトの名無しさん
2009/04/08(水) 14:35:360409デフォルトの名無しさん
2009/04/08(水) 22:36:150410デフォルトの名無しさん
2009/04/08(水) 23:00:59文字コードは設定と一致してる?
クラスの先頭にある
var $charset='utf-8';
の 'utf-8' を 'shift_jis' に変えてみるとか
0411デフォルトの名無しさん
2009/04/08(水) 23:40:42ファイルはすべてUTF-8にしています。
文字コードを試しに変えてみましたが、だめなようです。
エラーは出ませんが、何も表示されません。
0412デフォルトの名無しさん
2009/04/08(水) 23:42:24display_errors
error_reporting
0413デフォルトの名無しさん
2009/04/09(木) 00:46:02(utf-8 => shift_jisのみ修正)
> class kana2roma {
// var $charset='utf-8';
var $charset='shift_jis';
…
> $roma=new kana2roma();
echo $roma->conv('アキハバラあったかまつり');
akihabaraattakamatsuri
null
このクラスは漢字を単純に捨ててるので、認識できない文字の
場合も同様に捨ててるだけ(エラーがでない)の可能性も高い
だとすると文字化けした場合、すべての文字が単純に捨てられてる
だけの可能性がある
なので以下の2点を確認することを勧める
1) 半角英字の文字がそのまま出力されるか
2) 関数 _baseOne() の最後を書き換えて文字を確認する
return NULL;
=>
return $str;
これで漢字などの変換対象でない文字もそのまま出力するはず
これで文字化けなどが起こっているなら文字コード回りを再度見直した
ほうがよいと思う
0414デフォルトの名無しさん
2009/04/09(木) 07:45:350415デフォルトの名無しさん
2009/04/09(木) 10:08:47Common Language Infrastructure (いわゆる .NET)
Command Line user Interface (いわゆる DOS窓)
Command Line Interpreter (いわゆる CMD.EXE、COMMAND.COM)
0416デフォルトの名無しさん
2009/04/09(木) 10:10:01まぎらわし〜〜〜
0417デフォルトの名無しさん
2009/04/09(木) 11:33:27<head>
<title>フォームのデータを受け取る</title>
</head>
<body>
<?php
echo "<p>入力内容:".@$_POST["text1"];
?>
<form method = "POST" action = " <? = $_SERVER["PHP_SELF"]?> ">
<table>
<tr>
<td><input type = "text" name = "text1"></td>
<td><input type = "submit" value = "送信" name = "sub1"></td>
</tr>
</table>
</form>
</body>
</html>
本で読んで上のようなコードを書いたんですがうまくいきません
原因分かる方いたら教えてほしいのですが
phpは5.2 アパッチは2.2を使ってます
0418デフォルトの名無しさん
2009/04/09(木) 12:10:24要求されたオブジェクトへのアクセス権がありません。 読み込みが許可されていないか、 サーバが読み込みに失敗したかでしょう。
サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。
Error 403
localhost
04/09/09 12:08:32
Apache/2.2.11 (Win32) PHP/5.2.9-1
書き忘れたのですが、上のようなエラー文が出ます
0419デフォルトの名無しさん
2009/04/09(木) 14:20:28apacheのerror.logさらせ話はそれからだ
0420デフォルトの名無しさん
2009/04/09(木) 14:39:05Cannot map POST /%3C?%20=%20$_SERVER['PHP_SELF']?> HTTP/1.1 to file, referer: http://localhost/rcvform2.php
POSTがちゃんと働いていないということでしょうか?
0421デフォルトの名無しさん
2009/04/09(木) 15:40:26を普通にファイルへのパスにしたらどうなりますか。
0422デフォルトの名無しさん
2009/04/09(木) 15:54:37うまくいきました!
ということは<? = $_SERVER["PHP_SELF"]?>の部分記述の仕方に問題があったんですね
お騒がせしてすみませんでした。
0423デフォルトの名無しさん
2009/04/09(木) 17:04:02そのアドレス宛にメールを送るプログラムを書いているのですが、
メールの件名の7文字目だけ抜けるという現象に見舞われています。
(文字化けは起こしていません)
文字コードなど怪しいところは調べたのですが解決に至っていません。
スクリプト内で設定した件名:パスワード再発行URL
メーラで表示されている件名:パスワード再行URL
ヘッダ内のsubject
=?utf-8?Q?=e3=83=91=e3=82=b9=e3=83=af=e3=83=bc=e3=83=89=e5=86=8d=e7=99?= =?utf-8?Q?=ba=e8=a1=8cURL?=
文字コード以外で調べるべき箇所があるのでしょうか。
アドバイスなどありましたらお願いします。
0424デフォルトの名無しさん
2009/04/09(木) 22:42:50その場合、phpのショートタグなんちゃらが
無効になっている。
0425デフォルトの名無しさん
2009/04/09(木) 22:44:18あいうえおかきくけこ
といれて、抜けるかどうか調べる
0426デフォルトの名無しさん
2009/04/10(金) 05:23:330427407=411
2009/04/10(金) 08:12:20ご指摘、ありがとうございます。
当方の環境では、半角英字も全て、出力されません。
やはり文字コード周りが怪しいので、PHP.iniを見直して
みたいと思います。
このクラスは、utf-8などの文字コード設定と内部コードが
あっている必要があるということでしょうか?
0428デフォルトの名無しさん
2009/04/10(金) 22:38:57print "Type your name , please?.\n";
$a=fgets(STDIN);
$b=trim($a);
print "Your name is " . $b . ", ok?\n";
?>
------------------------------
CLI用。
これを、アパッチ経由でなくて、
WindowsのMS-DOSプロンプトで動かす。
「1.php」とかの名前で保存して、
その保存したディレクトリにDOSで移動して
php 1.php
って打ち込む。
すると
Type your name , please?.
samansa
Your name is samansa, ok?
とかってDOSプロンプト上でphpプログラムを実行できる。
0429デフォルトの名無しさん
2009/04/10(金) 22:39:41この行でDOSプロンプトからの
キーボードからの入力を受け付けることができる。
ただし日本語は文字化けする。
0430デフォルトの名無しさん
2009/04/10(金) 23:52:51プログラムの簡単な確認なら
php -a
で組込みのインタラクティブシェルが起動するので、
対話的にプログラムを実行できる
あと、Windowsだと、ASConsole というのもある。これもインタラクティブシェル
なんだけど、複数行の入力をサポートするので関数とかのコピペが簡単に
できて結構便利
ちなみに自分の環境では>>428のプログラムで日本語文字化けしなかった
0431デフォルトの名無しさん
2009/04/11(土) 03:19:32それをDOSプロンプトで出力したので
文字化けしたのかな?
(DOSプロンプトはシフトJIS出力なので)
おそらくソースコードもシフトJISで保存すれば
文字化けしないんだと思う。
0432デフォルトの名無しさん
2009/04/11(土) 08:55:190433デフォルトの名無しさん
2009/04/11(土) 09:40:17JAVAの経験はあるのですがPHPの経験がなくてどんなの作ったらいいかわからないので、
なにか意見いただけませんか?
0434デフォルトの名無しさん
2009/04/11(土) 10:55:160435デフォルトの名無しさん
2009/04/11(土) 11:55:38ニュースサイトなどでよく見かける、「あるページに、内容が関連する他のページの見出しを表示」がしたいのですが、
これはどのような仕組みで実現しているのでしょうか。教えてください。
0436デフォルトの名無しさん
2009/04/11(土) 12:41:22形態素解析エンジンはChasenとかKakasiとかMeCabとかYahooAPIとか色々あるんで
好きなのを選ぶといいよ
0437デフォルトの名無しさん
2009/04/11(土) 12:47:440438デフォルトの名無しさん
2009/04/11(土) 13:28:060439435
2009/04/11(土) 15:39:09わかりました。挑戦してみます。ありがとうございます。
0440デフォルトの名無しさん
2009/04/11(土) 18:57:59100行で魅せろって意味だとしたら相当難しいな
0441デフォルトの名無しさん
2009/04/11(土) 19:48:210442デフォルトの名無しさん
2009/04/11(土) 20:07:460443デフォルトの名無しさん
2009/04/11(土) 21:25:310444デフォルトの名無しさん
2009/04/16(木) 06:51:16基本的に危険だから使わないほうが良い?
0445デフォルトの名無しさん
2009/04/16(木) 06:51:58¥nを入れられると、その後ろに’(シングルクオーテーション)等を
自由に入れられてしまう。
0446デフォルトの名無しさん
2009/04/16(木) 07:09:31「*Windows版では動作しません」
って書いてある関数があるんだが、これを実験するには、
やはり、自分のパソコンにLinuxを入れるしか
ないのだろうか?
0447デフォルトの名無しさん
2009/04/16(木) 10:07:43素のままのデータを使うなよw
0448デフォルトの名無しさん
2009/04/16(木) 17:06:43Cの時は読み飛ばした
今ならVMWare使って遊ぶ
0449デフォルトの名無しさん
2009/04/16(木) 17:08:41危険ではないのかな?
0450デフォルトの名無しさん
2009/04/16(木) 18:11:14画像などのファイルをアップロードしてデータベースに格納したものをダウンロード
して表示させるときにcontent-typeをつけて表示していますが、ファイルがいろいろな種類のときに
ダウンロードしてきたデータのmime-typeを判定する方法があったら教えて下さい。
お願いしますm(_ _)m
0451デフォルトの名無しさん
2009/04/16(木) 19:12:400452デフォルトの名無しさん
2009/04/16(木) 19:53:42判定結果をcontent-typeの後につけて、出力をしたいと思っています。
0453デフォルトの名無しさん
2009/04/18(土) 17:28:42何が?
0454デフォルトの名無しさん
2009/04/18(土) 18:29:25Windowsが起動しなくなるとか、、、
0455デフォルトの名無しさん
2009/04/18(土) 21:33:38phpの方が危険度高いぞw
0456デフォルトの名無しさん
2009/04/20(月) 23:10:44今までC言語6年とJava1年やってきてますので、完全なコンピュータ素人では
ないつもりです。が、Web系は関わった事が無いのでhtmlとかxmlとかは素人です。
今度担当するプロジェクトでphpを覚える必要が出てきまして、入門用の書籍を
探しています。
今日色々とPHP本を漁って、オライリーの「プログラミングPHP」が良さそうかな、
と思いました。
そこで質問が2つ。
○先輩に「PHP5徹底攻略(マンモス本?)」を薦められたのですが、執筆された
時期が5年以上前なので、情報が古くないかと心配です。
○上記の2冊以外でオススメの入門書がありましたら教えてください。
以上、よろしくお願いいたします。
0457デフォルトの名無しさん
2009/04/20(月) 23:50:26クラスの概念がC言語には無いけど、Javaやってたようだから何とかなると考えれば、
入門書に頼らずとも、本家サイト(php.net)の言語リファレンス(http://www.php.net/manual/ja/langref.php)よめば、何とかなる様に思えます。
むしろ大変なのは、phpの外の世界。
html, http, セキュリティ対策(XSS, SQL-Injection等)、Javascript、CSSなど、理解しなければならないことが山の様にあります。
0458デフォルトの名無しさん
2009/04/21(火) 00:43:24俺も>>457にほぼ同意。そんだけ経験あればマニュアルとか、買ってもリファレンス系で足りるはず。
下手に入門本とか買うとかえって混乱すると思う。(オライリー系ならいいけど)
むしろWEBアプリならではのセキュリティとかMVCとかの方が面倒。
0459デフォルトの名無しさん
2009/04/21(火) 02:53:59$names["test"]=123;
$names["a"]=1235;
unset($names["a"]);
save_namefile($names);
function save_namefile($a)
{
$fp = @fopen("./names.txt","w");
flock($fp,LOCK_EX);
foreach($a as $key => $v){
$buf = $key . "<>" . $v . "\n";
fputs($fp,$buf);
}
flock($fp,LOCK_UN);
fclose($fp);
}
0460デフォルトの名無しさん
2009/04/21(火) 02:55:48>>459
WebProg板のくだスレで質問してた人?
0461デフォルトの名無しさん
2009/04/21(火) 02:57:23違うが。
0462デフォルトの名無しさん
2009/04/21(火) 03:07:37もし、そうなら、そこのURLを教えてほしい。
該当する板に行ったがなかった。
0463デフォルトの名無しさん
2009/04/21(火) 05:57:45俺も似たような状況だったけど、webフレームワーク憶えたらすぐに実戦にもっていけた。
PHP憶えるついでに、CakePHPとかやってみたらどうかと思う。
MVCフレームワーク一度も使ったことないなら、CodeIgniterの書籍が超わかりやすいからお勧め
CodeIgniter自体は軽量すぎてあまりオススメしないがw
Amazon.co.jp: CodeIgniter徹底入門: 河合 勝彦, 鈴木 憲治, 安藤 建一: 本
http://www.amazon.co.jp/dp/4798116769
http://images-jp.amazon.com/images/P/4798116769.09.MZZZZZZZZZ.jpg
0464デフォルトの名無しさん
2009/04/21(火) 06:09:03●はじめてのphp言語 プログラミング入門
●独習PHP
●実践マスターPHP+MySQL
●速効!図解プログラミングPHP + MySQL
0465デフォルトの名無しさん
2009/04/21(火) 09:56:06マンモスの徹底攻略4ならPDFで公開されているから、何か買う前にダウンロードしてみたらどうだい。
0466デフォルトの名無しさん
2009/04/21(火) 14:07:58そのサンプルを実行してみると君がいったような動作には
ならない。予想では
0. サンプルが実際のコードをあらわしていない
(実際のコードにはつまらないタイプミスがある、など)
1. names.txtへの書き込みが失敗している
2. web上で動かしていて上書きされている
0467デフォルトの名無しさん
2009/04/21(火) 19:05:47独習PHPは、わかりにくかったでしゅ
0468456
2009/04/21(火) 23:13:35ここの意見も参考に色々な本を試し読みしまくって、結局「プログラミングPHP」と
PHPのセキュリティに関する本を買いました。
私にとってレベルが高すぎず低すぎず、文体とか読んだ感じとかのフィーリングが
好きだったので。
今回の仕事にPEARとxmlが絡む事は確定しているんで、その辺もフォローしている本の
方が良いかな?と結構迷いましたが、基本とセキュリティ知識をある程度身につけて
からにします・・・不器用なんでw
0469デフォルトの名無しさん
2009/04/21(火) 23:13:46うむ・・・。
スクリプト一式をこちらにおいておきます。
http://www6.atpages.jp/~autonomydoll/chat/
(chat_error.phpがうまくいかないほうです)
0470デフォルトの名無しさん
2009/04/22(水) 00:22:51すみません。後になって気付いたので訂正します
× 空の要素が記録されてしまう
○ 空の要素が<>の形で記録されてしまう
0471デフォルトの名無しさん
2009/04/25(土) 18:17:06「PHPの「mt_rand()」機能の脆弱性では、
ユーザーが新しく作成したパスワードを
攻撃者が予測できてしまう可能性がある。」
これってどういうことかな?
0472デフォルトの名無しさん
2009/04/25(土) 18:50:54通常PCで発生させる乱数ってのは擬似乱数って言って
同じ条件なら同じ乱数が出るようなタイプの乱数だから
パスワード再発行したときと同じ日時で乱数発生させたら
同じパスワード出来ちゃうとかそんな感じじゃないかね
0473デフォルトの名無しさん
2009/04/26(日) 20:28:34ここが分かりやすいかな。
ttp://blog.ohgaki.net/php-python
0474466
2009/04/26(日) 20:33:34>>469のアドレスをアクセスするとソースが見えないんで想像だけど
(というか見えるようにしてもらっても全部を見る気はない w)、
「値が空の要素は除外したい」だったら foreach()のブロックの最初に
if (strlen($v) == 0) continue;
を追加すればいいと思う。
0475デフォルトの名無しさん
2009/04/26(日) 22:26:20$link = mysql_connect('localhost', 'root', 'pass');
//データーベース コネクト
$db_selected = mysql_select_db('bbb', $link);
//テーブル選択
$result = mysql_query('SELECT c FROM ddd');
//クエリー発行
print mysql_result($result, 0);
//表示
?>
-----------------------
これだけで、MySQLに接続して
テーブルを選択して、
クエリーを発行して、
結果を表示できるよ!
PHP、マジで超カンタン
0476デフォルトの名無しさん
2009/04/26(日) 22:29:07ホスト名 localhost
ユーザー名 root
パスワード pass
データーベース名 bbb
テーブル名 ddd
テーブル構造
| a | b | c
--------------------
0| 111|222 | 333
0477デフォルトの名無しさん
2009/04/26(日) 22:33:09bbbというデーターベースに接続して、
dddというテーブルを選択して、
cというカラムを選択して、
行番号0の行を選択して、
そこのデーターを取ってきて、
画面に表示した。
0478デフォルトの名無しさん
2009/04/26(日) 22:34:51bbbというデーターベースに接続して、
dddというテーブルを選択して、
その中のcというカラムを選択して、
データーを全部取ってきた。そして
その中の、行番号0の行を選択して、
そのデーターだけを画面に表示した。
0479デフォルトの名無しさん
2009/05/02(土) 22:52:07$b="a";
for($i=1;$i<60;$i++):
print $b++;
print "\n";
usleep(1000000/2);
endfor;
exit;
?>
------------------------------------------------
これをCLIモードで実行すると、
ちょっとおもしろいよ。
0480デフォルトの名無しさん
2009/05/02(土) 23:03:57print "文字を入力してください\n";
$in = fgets(STDIN);
$c = rtrim($in);
print $c . "、、、ですと?!";
?>
------------------------------
これも実行すると
ちょっと面白い例。
CLIから実行。
PHPで対話的アプリが実装できる。
0481デフォルトの名無しさん
2009/05/03(日) 04:16:01全然成長してないな
0482デフォルトの名無しさん
2009/05/03(日) 04:45:110483デフォルトの名無しさん
2009/05/03(日) 11:19:40キチガイは入れない場所ですぞ
0484デフォルトの名無しさん
2009/05/03(日) 16:33:09`CLS`;
?>
なんでこれで
画面がクリアされないのか、
理由がわからないづら
0485デフォルトの名無しさん
2009/05/03(日) 16:51:340486デフォルトの名無しさん
2009/05/03(日) 18:46:26笑いどころはここらへん?
>exit;
>?>
0487デフォルトの名無しさん
2009/05/04(月) 17:55:58もう2日はトライしてるわ・・・
0488デフォルトの名無しさん
2009/05/04(月) 18:05:510489デフォルトの名無しさん
2009/05/04(月) 18:20:54mysql使ってたんだけど、コマンドラインからの操作が面倒くさすぎてMSSQLserverにしたら
2005年版は何かphpとの接続にパッチやら入れないといけないらしく、上手くいかない・・・・
あぁ〜PCやりすぎて目が痛いよう
0490デフォルトの名無しさん
2009/05/04(月) 21:17:340491デフォルトの名無しさん
2009/05/04(月) 21:32:28ちゅうかなんでその理由でPostgreSQLなどに行かずに
急にSQLServerに飛ぶのか解らんが
0492デフォルトの名無しさん
2009/05/04(月) 21:48:04>>491
あ〜そんな物があったのか・・・・丸二日費やしたのが馬鹿みたいだぜ。
なんとなく目に留まったのがMSSQLだったからorz
ちょっと試してみます
0493デフォルトの名無しさん
2009/05/04(月) 22:07:18最初からついてるよね。
0494デフォルトの名無しさん
2009/05/04(月) 22:19:05というか、ほんとに便利だから入れないと移行とか大変すぎる
0495492
2009/05/05(火) 16:23:27日本語のかねやんMySQLAdmin使いたいんだけど何か接続できないから諦めた。
それにしてもphpは自分の設定であってるかどうか不安だわ。
少しでも調べないで変えると戻すのも苦労する
0496デフォルトの名無しさん
2009/05/05(火) 17:51:51Fatal error: Call to undefined function zip_open()
・・・まあ、PHP暦1週間の初心者なので・・・(´・ω・`)
0497デフォルトの名無しさん
2009/05/05(火) 21:15:31・・・ファイアウォールの設定はしっかりとね。
0498デフォルトの名無しさん
2009/05/05(火) 21:42:23Tools→Options→GeneralOptions
右上LanguageをJapaneseにしてアプリ再起動
1%だけ日本語になるぜw
0499484
2009/05/09(土) 01:25:34毎回接続までしか試しておらず、MYSQLからMSSQLに設定を変えて、またMYSQLに戻した
からかもわからないのですが、いつからアクセス出来なくなったのかわかりません。
どなたかエスパーしてください・・・・・何を聞いていいのかもわかりません。
INSERT INTO 生徒 (id,名前) values (0001,'鈴木');
とコマンドラインからSYSQLに同じ命令を打ったら
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near 'INSERT INTO c”?a?’ (id,a??a‰?) values (0001,'e?´a?¨') LIMIT 20 OFFSET 0' at line 2
とエラーが出てきました。
これはphpのエラーじゃないのでしょうか?
0500デフォルトの名無しさん
2009/05/09(土) 01:59:47>You have an error in your SQL syntax ってエラーが出てるから、SQL文に問題あるのでは?
0501デフォルトの名無しさん
2009/05/09(土) 02:03:30項目名にマルチバイト文字なんて使えるのか?
0502デフォルトの名無しさん
2009/05/09(土) 02:19:37`項目名`
あと mysql_real_escape_string を忘れずに
0503デフォルトの名無しさん
2009/05/09(土) 02:32:09それはバッククオートで囲め、て意味?
ただコードを書くだけでは意思が伝わらないことが多いよ
0504デフォルトの名無しさん
2009/05/09(土) 02:33:300505デフォルトの名無しさん
2009/05/09(土) 02:56:10エンコーディングでいかようにでも化けちまうきがすんだけど
''で括ってもどうなるか、EUCになるならいいが、最近はUTF-8もあるから。
0506デフォルトの名無しさん
2009/05/09(土) 02:58:37テーブル名や項目名をバッククオートで囲む、これ癖つけておいたほうがいいよ
`table`.`index` という感じで
PostgreSQLから移ってきた時に、これで丸2日ほどつぶしてしまったよ俺。。。
0507デフォルトの名無しさん
2009/05/09(土) 03:36:11OracleやAccessじゃよくある
0508デフォルトの名無しさん
2009/05/09(土) 11:07:26> とコマンドラインからSYSQLに同じ命令を打ったら
コマンドライン版の PHP.EXE のこと?
PHPで直接、SQL の INSERT 文が発行できたっけ???
もしコマンドライン版の mysql.exe なら、mysql.ini で文字コードを設定する。
自分が何をしているのか、相手に伝えられないと答えようがないよ。
0509499
2009/05/09(土) 14:24:17マルチバイトを使わずにアクセスした所、アクセス出来たので設定がおかしいのだと思います。
あああああああああああああああああ何でこんなに設定がめんどくさいんだpg歩ディfgしあhふぃさdhfじゃs」dpfは
環境設定だけでプログラム全く書いてねえぇぇぇぇぇぇl!!!!!!!!!!!!!!!!!!!
0510デフォルトの名無しさん
2009/05/09(土) 15:52:550511デフォルトの名無しさん
2009/05/09(土) 16:33:32文字コードさえ一致してればマルチバイトであろうがなんであろうが動く
むしろマルチバイトで動かないけどアスキーにしたら動いたってのは何も解決して無くて
まだどこかで文字コードの不一致が起きたまま動いていると言うことだ
0512デフォルトの名無しさん
2009/05/09(土) 16:44:33今まで使ってはいけないと思って使ってなかったけど・・・。
テーブル名やフィールド名を考えるのがメンドイんだよな〜
0513デフォルトの名無しさん
2009/05/09(土) 16:58:02要は間違えなければいい。
0514デフォルトの名無しさん
2009/05/09(土) 17:18:10禁止なのは開発の規約上アルファベットで揃えるから禁止とか
日本人しか理解できないから禁止とかそういう理由であって
システム的に動かないから禁止ってわけではない
0515デフォルトの名無しさん
2009/05/09(土) 17:19:12トラブル避けるために禁止ってのもあるけど
0516デフォルトの名無しさん
2009/05/09(土) 18:01:45だから接続したあとに設定するわけで
MySqlだけど置いときます
<?PHP
//DB接続
$_DB = mysql_connect( "localhost", "root" )or die("Could not connect");
//テーブルを選択
mysql_select_db( "table" );
//DBとの接続間で使う文字コードをセット
mysql_set_charset("utf8");
?>
0517デフォルトの名無しさん
2009/05/09(土) 18:07:32SQL文書くのに面倒くさくて、見たくもない、日本語禁止。
0518デフォルトの名無しさん
2009/05/09(土) 18:10:37ツール使えよ
仮にカラム名が英文だったとしても打ち間違ってバグの元になるぞ
0519デフォルトの名無しさん
2009/05/09(土) 22:24:570520499
2009/05/10(日) 00:55:00テーブル名やカラム名をマルチバイトを使わずに、挿入するデータだけを
マルチバイトを使ったら、挿入できたのですがテーブル内容を表示するとき
文字化けが起こりました。
また、mysql_uery,mysqli_set_charset関数はエラーが出て使えませんでした・・・。
Call to undefined function mysql_query() と出ます。
環境は
PHP Version 5.2.8
Apache 2.0.63
NetBeans 6.5
MySQL 5.1
MySQL Administrator です
0521デフォルトの名無しさん
2009/05/10(日) 01:00:51>むしろマルチバイトで動かないけどアスキーにしたら動いたってのは何も解決して無くて
>まだどこかで文字コードの不一致が起きたまま動いていると言うことだ
0522デフォルトの名無しさん
2009/05/10(日) 01:01:280523デフォルトの名無しさん
2009/05/10(日) 01:04:16ちゃんとphpとmysql(のDB)と文字コード合わせてる?
0524デフォルトの名無しさん
2009/05/10(日) 01:05:49ある程度の学習が必要です。
ttp://www.oreilly.co.jp/books/9784873113654/
個人的には、全文字エンコードを統一し、
フレームワークの利用を推奨です。
・全文字エンコードの例
htmlのcharset
phpのファイル
php.ini
DBのcharset
0525デフォルトの名無しさん
2009/05/10(日) 01:56:29文字コード関係の問題解決は楽なのよねぇ
0526デフォルトの名無しさん
2009/05/10(日) 02:26:38PHPの場合DB周りも含めて実装が意味不明な事が多いんだよねぇ
せめてPEARでも使ってよと思うんだけど、何故かそうしてる所が少ない…
独自実装の方がどう考えても面倒でしょうに
0527デフォルトの名無しさん
2009/05/10(日) 02:40:24デフォルトではインストールされない。
mysql_uery なんて関数ははじめから無い。
たぶん mysql_query か mysqli_query の間違いだろ。
とにかく、php.ini、my.ini の設定を最初っからやりなおせ。
そうすれば文字化けも直る。
入門書・解説サイトなどをよく読め。
0528デフォルトの名無しさん
2009/05/10(日) 02:42:07他人の書いたコードのデバッグをしたくないからだろ。
PEAR に100%バグが無いと保証あるなら別だが。
0529デフォルトの名無しさん
2009/05/10(日) 02:46:570530デフォルトの名無しさん
2009/05/10(日) 02:47:24・有名なライブラリの存在を知らない。
・自分が作ったほうがバグが少ないという
根拠のない自信。
・作ってみたい。
・コスト意識がない。
0531デフォルトの名無しさん
2009/05/10(日) 02:55:26追加でライブラリ使うことを向こうから止められる
開発楽になりますよって言っても聞かないしー
0532デフォルトの名無しさん
2009/05/10(日) 02:59:47PEARにバグが無い確率の方が低いだろJK
0533デフォルトの名無しさん
2009/05/10(日) 03:01:39少なくとも、文字コードが良く解りませんって言ってる奴が
直接SQL発行するよりも1億倍マシ。
0534デフォルトの名無しさん
2009/05/10(日) 03:02:38PEARにバグが有る確立の方が低い
の間違いか?
0535デフォルトの名無しさん
2009/05/10(日) 03:05:49どう考えても上級PGがノウハウもって書いた独自ライブラリの方が優れてる
0536デフォルトの名無しさん
2009/05/10(日) 03:06:370537デフォルトの名無しさん
2009/05/10(日) 03:14:08ペラDBってなんですか?www
0538デフォルトの名無しさん
2009/05/10(日) 05:17:55$a = mysql_connect(localhost,root,pass);
$d= mysql_select_db(aaa,$a);
for ($index = 1; $index <= 100; $index++) :
$e=rand();
$f=rand();
$sql = "insert into bbb (id,name,value) VALUES ('','$e','$f') ";
$c = mysql_query($sql,$a);
endfor;
?>
----------------------------------
↑このスクリプトを実行すると、
データーベースに100のレコードを追加する。
idはオートインクリメントで、バリューはランダムで生成。
できあがてから、phpmyadminで見ると、すげーおもしろいよ。
0539デフォルトの名無しさん
2009/05/10(日) 05:20:16サーバー localhost
ユーザー名 root
パスワード pass
データーベース名 aaa
テーブル名 bbb
テーブル構成
id | name | value
idはプライマリーキーで、
オートインクリメント。
0540デフォルトの名無しさん
2009/05/10(日) 05:38:320541デフォルトの名無しさん
2009/05/10(日) 05:39:06○自分が作ったライブラリなら、バグ出ても自分で直せる
0542デフォルトの名無しさん
2009/05/10(日) 05:40:54そもそも使って困るようなバグなんて絶対にないし
仮に万が一出ても速攻で修正されるわ
0543デフォルトの名無しさん
2009/05/10(日) 05:44:38次の行もみてねw
あと>>530は、オープンソース限定の発言でした。>失礼
0544デフォルトの名無しさん
2009/05/10(日) 05:57:14$a = mysql_connect(localhost,root,pass);
mysql_select_db(aaa,$a);
$d = rand(1,300);
$e = mysql_real_escape_string($d);
$sql = "select name from bbb where id='$e' ";
$b = mysql_query($sql);
$c = mysql_fetch_assoc($b);
print_r($c);
?>
------------------------------------------
↑これがデーターを
取り出すときのコードね。
データーベース構造は>>539と同じ。
0545デフォルトの名無しさん
2009/05/10(日) 06:18:35$a = mysql_connect(localhost,root,pass);
mysql_select_db(aaa,$a);
$d = rand(1,300);
$e = mysql_real_escape_string($d);
print "id=" . $e;
print "<br>";
$sql = "update bbb set name='12345' ,value='67890' where id='$e' ";
$b = mysql_query($sql);
var_dump($b);
?>
------------------------------------------------------------------
↑これが、データーをアップデートするときのコード。
データーベース構造はさっきとおなじ。
0546デフォルトの名無しさん
2009/05/10(日) 06:20:093つの構文が使えるようになりました。
あとはもうオレ様無敵状態。
0547デフォルトの名無しさん
2009/05/10(日) 06:22:08つせめてPEARでも使ってよと思うんだけど
0548デフォルトの名無しさん
2009/05/10(日) 06:23:16DELETE
あと何が凄いってコネクションクローズしてないことだな
0549デフォルトの名無しさん
2009/05/10(日) 06:38:13お勧めのSQL鯖との親和性を証明できぬ。
0550デフォルトの名無しさん
2009/05/10(日) 06:55:330551デフォルトの名無しさん
2009/05/10(日) 07:37:23普通、使わないと思うんだよね。
0552デフォルトの名無しさん
2009/05/10(日) 08:17:100553デフォルトの名無しさん
2009/05/10(日) 09:13:270554デフォルトの名無しさん
2009/05/10(日) 12:29:40PHP4を使ってるんだが、
$output = '<emoji=1>';
print($output);
のようにすると、<emoji=1>が出力されない。空。
<br />のようなHTMLは出力されるけど、独自タグが出力されない。
これって、サーバー側とかPHPで何か設定とかあるのか?
0555デフォルトの名無しさん
2009/05/10(日) 14:44:16DBによってはupdateって、コピー先のデータを書き換え、元のところに
システム側でのDeleteのフラグを立てるんだよね
この辺は仕様把握しておかないとボトルネックになる
ウチだと元に戻せること前提だから、消すこと事態がないんだけど
0556デフォルトの名無しさん
2009/05/10(日) 15:22:12へんてこ仕様山盛りのunified ODBC APIは
もう捨てちゃえばいいのに。
0557デフォルトの名無しさん
2009/05/10(日) 15:33:05サンクス。その方法でやったらうまくいった。
0558デフォルトの名無しさん
2009/05/10(日) 23:51:000559デフォルトの名無しさん
2009/05/11(月) 00:20:27クラスの、メンバ変数定義のところで、
$a=$a*2;
とかって、計算をしたら、ダメなのかな?
0560デフォルトの名無しさん
2009/05/11(月) 00:24:140561デフォルトの名無しさん
2009/05/11(月) 20:26:300562デフォルトの名無しさん
2009/05/11(月) 22:52:36「マニュアル読め」しかいえないキチガイは
かえってください!
0563デフォルトの名無しさん
2009/05/11(月) 23:33:510564デフォルトの名無しさん
2009/05/12(火) 01:13:37メンバー変数定義?
class test
{
private $a = $a * 2;
private $b;
function __construt()
{
~~~~
}
}
ってことか?
0565デフォルトの名無しさん
2009/05/12(火) 01:15:520566デフォルトの名無しさん
2009/05/12(火) 01:46:58おお。
そのためにコンストラクタってあるんだ?
0567デフォルトの名無しさん
2009/05/12(火) 01:51:380568デフォルトの名無しさん
2009/05/12(火) 02:50:29self:$:hogera
かと
0569デフォルトの名無しさん
2009/05/12(火) 19:00:130570デフォルトの名無しさん
2009/05/12(火) 20:13:44プログラム板だとなぜにマニュアル読まないんだ?
あと,マニュアルに書いてあることをなぜわざわざ質問するんだ?
0571デフォルトの名無しさん
2009/05/12(火) 21:36:41しか言えない人はこなくていいです。
帰ってください。
0572デフォルトの名無しさん
2009/05/12(火) 21:50:12ドキュメント読んで探すより回りのデキる奴に聞いたほうが早い
(邪魔だが朝出した簡単な課題に1日かけられるよりマシかも知れない)
0573デフォルトの名無しさん
2009/05/12(火) 21:53:46おれら、生き字引じゃ、なーいんだ!
0574520
2009/05/13(水) 00:42:29skip-character-set-client-handshake
を書いてみたりしたのですが、全く変化ありません。
色々なサイトの情報を全て試したので元に戻せるのかも微妙です^q^
どこかにまとめて記述してあるサイトを教えてください。
0575デフォルトの名無しさん
2009/05/13(水) 01:10:260576デフォルトの名無しさん
2009/05/13(水) 07:22:14>色々なサイトの情報を全て試したので元に戻せるのかも微妙です
戻せないなら全部消してインストールしなおしがおすすめです。
これを機会にバージョン管理ツールの使い方をちょっとかじって
楽に戻せるようにしておきましょう。
0577デフォルトの名無しさん
2009/05/13(水) 20:04:31最初の質問がどこにあるかわからないから、
もう一回最初から質問書いて。
0578デフォルトの名無しさん
2009/05/13(水) 21:33:33コマンドラインでやるしかなくなったことでひるんでる。
作業用クライアントマシンにPHP環境仕込んだけど、やっぱサーバの
環境とはかなり違う・・・憂鬱。
0579デフォルトの名無しさん
2009/05/13(水) 21:44:08クライアントにPHP入れたことに何か関連性があるのか?
0580デフォルトの名無しさん
2009/05/13(水) 22:33:48ない。
0581デフォルトの名無しさん
2009/05/13(水) 22:34:42ってやったら、プラスされないんだけど、
なんで?
0582520
2009/05/13(水) 22:45:39default_charset = "UTF8"
extension=php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = UFT8
mbstring.http_output = UFT8
my.ini
default-character-set=utf8
mysql.default_charset = UTF-8
上記を設定したのですが、MySQLにマルチバイト文字を追加しAdministoratorなどで見てみると文字化けが起こります。
やりたい事は、マルチバイトでレコードの追加と表示とブラウザへの表示です。
フレームワークのコード設定がおかしいのでしょうか?
環境↓
PHP Version 5.2.8
Apache 2.0.63
NetBeans 6.5
MySQL 5.1
MySQL Administrator
0583デフォルトの名無しさん
2009/05/13(水) 22:46:380584デフォルトの名無しさん
2009/05/13(水) 22:53:04発行したSQLくらい書け
0585デフォルトの名無しさん
2009/05/13(水) 23:16:26早速直しました。ありがとうございます。
>>584
INSERT INTO `test` (id,name) values (0012,'ああ')
でphpから挿入しようと試みました。
マルチバイト以外は正常に挿入できたので文法に間違いはないと思います。
utf8で全て揃えたら今度は挿入時にエラーが発生するようになってしまいました・・・・
0586デフォルトの名無しさん
2009/05/13(水) 23:31:22・・・・・・・・・・。で、エラー文を書く気は無いのかい。
0587デフォルトの名無しさん
2009/05/13(水) 23:34:07File_Archive::extract
↑このコロン二つってどういう意味なんでしょう?
文法とか調べたけど全然載ってないので・・・・
0588デフォルトの名無しさん
2009/05/13(水) 23:39:19すましえん
try{
$dbh=new pdo($dns,$user,$password);
$st=$dbins->query("INSERT INTO `test` (id,name) values (0012,'ああ');");
if($st){
print "よい";
}
else{
print "だめ";
var_dump($st);
}
}catch(pdoexception $e){
print"エラー :".$e->getMessage();
die();
}
で実行すると
だめbool(false)
と出てきます。
少し前までは文字化けしながらも挿入できたのですが・・・
0589デフォルトの名無しさん
2009/05/13(水) 23:41:55INSERT INTO `test` (`id`,`name`) values ('0012','ああ');
こうじゃダメかい?
0590デフォルトの名無しさん
2009/05/13(水) 23:42:19親クラスのメソッドとか、メンバに
アクセスするってこと。
たとえば
親クラスA{
unko-
}
だったら、子クラスがBだったら、
親クラスAのメソッドunko-にアクセスしたかったら、
A::unko-
って書く。
0591デフォルトの名無しさん
2009/05/14(木) 00:00:59出来ませんでした・・・。
INSERT INTO `test` (id,name) values (0012,'aa');
にするとすんなり挿入できるのですが・・・・
utf8 UTF8 UTF-8 など表記の違いがあるのでしょうか
0592デフォルトの名無しさん
2009/05/14(木) 00:05:550593デフォルトの名無しさん
2009/05/14(木) 00:13:44うーん、とりあえず自分の晒してみる
$query = "
INSERT INTO inline
( `day_index`, `write_day`, `edit_day`, `text`, `flag` )
VALUES
( ". $ID .", ". time() .", ". time() .", '". mysql_real_escape_string( $post_array["text"] ) ."', '1' )
";
0594デフォルトの名無しさん
2009/05/14(木) 00:25:09sjisだったりしてなぁ。
0595デフォルトの名無しさん
2009/05/14(木) 00:40:15ttp://php.plus-server.net/language.oop5.static.html
0596デフォルトの名無しさん
2009/05/14(木) 00:52:53phpinfoで設定確認をされました?
0597デフォルトの名無しさん
2009/05/14(木) 00:55:16勉強になった>結構はまりますよね。
0598デフォルトの名無しさん
2009/05/14(木) 01:12:33あと、mysql_set_charset関数は、ためしました?
mysqli_set_charseじゃないよ。
ttp://www.phppro.jp/phptips/archives/vol42/1
0599デフォルトの名無しさん
2009/05/14(木) 01:17:08ttp://arumtaunsaram.tumblr.com/post/102893729/php-mysql
0600デフォルトの名無しさん
2009/05/14(木) 01:29:38>>599も見なかったことに。。。
ROMにもどります・・・
ttp://blog.ohgaki.net/set_namesa_mcb_asc
0601デフォルトの名無しさん
2009/05/14(木) 01:53:26また違う指定されてる方もおられました。
MySQL、PDOとSET NAMESの組み合わせで、
鉄板の指定てあるのかな?
ttp://d.hatena.ne.jp/jrofbyr/20081228/p1
0602デフォルトの名無しさん
2009/05/14(木) 09:53:34for文の方がコード少なくていいから、
while文使った事ほぼないんだけど。
0603デフォルトの名無しさん
2009/05/14(木) 11:21:040604デフォルトの名無しさん
2009/05/14(木) 12:14:150605デフォルトの名無しさん
2009/05/14(木) 13:51:30テキストファイルを読み込む時 とか
DBからデータを取り込むとき
hashの処理とか
が多い(while not eof)
for は配列処理とか(個数が決まっているとか)が多いかも
0606デフォルトの名無しさん
2009/05/14(木) 16:41:490607デフォルトの名無しさん
2009/05/14(木) 17:58:220608デフォルトの名無しさん
2009/05/14(木) 20:03:55ファイルからデーター抜くときはwhile
0609520
2009/05/14(木) 20:29:30phpinfoで確認した所、ちゃんとutf8に設定されていました。
mysql_set_charset()などの関数が使えればいいのですが、別途にインストールが
必要なのでしょうか?
Fatal error: Call to undefined function mysql_set_charset()
とエラーが出てしまいます。
0610デフォルトの名無しさん
2009/05/14(木) 20:40:03ちなみにPHPのバージョンは?
古いと関数自体ないよ
ttp://www.phppro.jp/phptips/archives/vol42/1
>mysql_set_charset関数はPHP-5.2.3から追加された
>MySQLのクライアント側の文字コードまで設定することができる関数です。
0611デフォルトの名無しさん
2009/05/14(木) 23:50:19#postgresと間違えているか?
0612520
2009/05/15(金) 00:20:02XAMMPでまとめて入れてみます。
0613デフォルトの名無しさん
2009/05/15(金) 01:00:43どうもお騒がせしました。
これからもよろしくお願いします
0614デフォルトの名無しさん
2009/05/15(金) 01:06:070615520
2009/05/15(金) 01:15:09$dbh->query("SET NAMES 'utf8' ;")
を書いたらマルチバイトが扱えるようになりました。
書かなかったら使えませんでした。
>>614
phpの入門書的な本に、それぞれ単体でインストールする方法が載っていたのでXAMMPは存在自体
知りませんでした。
設定をいじくると怖いので、しばらくこれでいきます。
どうせローカルでの用途しかないので。
皆さんありがとうございました。
0616デフォルトの名無しさん
2009/05/15(金) 07:32:52いいと思う
0617デフォルトの名無しさん
2009/05/15(金) 15:08:45mysql_set_charset('UTF8');
の方が望ましい。
・・・らしいよ。
0618デフォルトの名無しさん
2009/05/15(金) 15:54:31セキュリティ上よくない。
0619デフォルトの名無しさん
2009/05/15(金) 17:40:06utf8なら問題なくね?
0620デフォルトの名無しさん
2009/05/15(金) 20:33:12お勧めのライブラリは何でしょうか
0621デフォルトの名無しさん
2009/05/15(金) 20:55:520622デフォルトの名無しさん
2009/05/15(金) 21:20:150623デフォルトの名無しさん
2009/05/15(金) 22:58:43それのコントロールとかをPHPで書けるってことなのかえ?
すごいなあ
0624デフォルトの名無しさん
2009/05/15(金) 23:03:48とりあえずphpで作ろうとするなw
デバイスドライバがある前提にしたって、それに特化したライブラリがなきゃ話にならん
0625デフォルトの名無しさん
2009/05/15(金) 23:10:22いままでCとか組み込み系とかで
10年くらいやってきた人なんでしょう?たぶん。
0626デフォルトの名無しさん
2009/05/15(金) 23:47:590627デフォルトの名無しさん
2009/05/16(土) 06:32:05phpのバージョンが不明だから 書いてみた
0628デフォルトの名無しさん
2009/05/16(土) 13:33:530629デフォルトの名無しさん
2009/05/16(土) 15:06:55外部にクエリを書いて読み込みたいのですが、可能でしょうか?
0630デフォルトの名無しさん
2009/05/16(土) 15:16:06ライブラリが導入可能であれば、
O/R Mappingとかいいですね。
SQL文いらなくなります。
0631デフォルトの名無しさん
2009/05/16(土) 22:11:07クエリを生成するルーチンを書けばいいんじゃないかな
0632デフォルトの名無しさん
2009/05/16(土) 22:50:12俺は連想配列からクエリ生成するようにしてるよ
0633デフォルトの名無しさん
2009/05/16(土) 22:59:08配列からデーターを一個づつ抜いてきて、
なんかの処理をするときに便利だよ
配列を使わないのなら、得に使わないかもしれない
0634デフォルトの名無しさん
2009/05/17(日) 00:34:29むしろUSBコネクタに接続するシリアルポートの方が一般的だったりする。
若い人はそれしか知らんやろね。
0635デフォルトの名無しさん
2009/05/17(日) 00:40:320636デフォルトの名無しさん
2009/05/17(日) 00:46:190637デフォルトの名無しさん
2009/05/17(日) 01:36:16あのセントロニクスの巨大コネクタがいいんじゃねぇか
0638デフォルトの名無しさん
2009/05/17(日) 01:47:39今、RS-232C⇔UBSの製品おおいよ
この間仕事で使ったよ
0639デフォルトの名無しさん
2009/05/17(日) 01:51:11ノートはなくなったけど
0640デフォルトの名無しさん
2009/05/17(日) 02:28:43プロシージャ使えばいいんじゃない。
0641デフォルトの名無しさん
2009/05/17(日) 06:43:18そこから吐かれるSQLの効率がよく問題になると思うのだが
#チューニングするときは、ちゃんとわかってないとできないぞ
>>633
それをいうならhashだろう?
0642デフォルトの名無しさん
2009/05/17(日) 16:11:20それに、添え字が連続した数値の普通の配列にもforeachは便利に使えるぞ。
0643629
2009/05/17(日) 18:16:58カラムが20以上あって何も考えずに書くと骨が折れます・・・。
ルーチンとは、forなどで回すということですよね?
その場合、トランザクションはどのようにすればよいのでしょうか?
0644デフォルトの名無しさん
2009/05/17(日) 18:52:07うーん 配列と実装は違うと思うよ
key<->val のmapはhash使ってると思うしw
#ちごうたかな?
0645デフォルトの名無しさん
2009/05/17(日) 18:52:410646デフォルトの名無しさん
2009/05/17(日) 19:01:380647デフォルトの名無しさん
2009/05/17(日) 19:50:48ま、この辺読んでから語ってくださいな
ttp://www.php.net/manual/en/language.types.array.php
0648643
2009/05/17(日) 21:04:480649デフォルトの名無しさん
2009/05/18(月) 22:49:17$arr['id'] を新しく生成するページの名前
$arr に登録された情報が入っていて
$newpage に新しく生成するページのhtmlが<?= ?>込みで書かれているのですが
なにか上手い方法はありませんか?
0650デフォルトの名無しさん
2009/05/18(月) 22:53:53ソースを書いてください
0651デフォルトの名無しさん
2009/05/18(月) 23:01:54$arr=$array(id=>'0001',name=>'sato');
$newpage="
<html><body>
id=<?= $arr['id'] ?><br>
name=<?= $arr['name'] ?>
0652デフォルトの名無しさん
2009/05/18(月) 23:05:550001.html ?
それとも、
naoko.html?
0653651
2009/05/18(月) 23:06:23$arr=$array(id=>'0001',name=>'sato');
$newpage="
<html><body>
id=<?= $arr['id'] ?><br>
name=<?= $arr['name'] ?> </body></html>"
この2つを合わせて
$arr['id'].html というファイルに
<html><body>
id=0001<br>
name=sato</body></html>
と書き込みたいです。
0654デフォルトの名無しさん
2009/05/18(月) 23:15:030655デフォルトの名無しさん
2009/05/18(月) 23:15:460656デフォルトの名無しさん
2009/05/18(月) 23:17:060001ってIDの人がきたときに、
0001.htmlっていうHTMLファイルを作って、
そこにデーターを書き込みたい、ってことだな?
0657デフォルトの名無しさん
2009/05/18(月) 23:18:130658デフォルトの名無しさん
2009/05/19(火) 01:07:20独習PHPという本で、値がダブルクォーテーションで囲まれているか
シングルクォーテーションで囲まれているかで、結果が違うという内容なのですが
サンプル通りに入力して、ブラウザで表示すると
サンプル
<?php
$title='サーバサイド技術の学び舎 - WINGS';
$data1="「$title」はサーバサイド技術の最新情報をお届けします。<br />";
$data2='「$title」はサーバサイド技術の最新情報をお届けします。<br />';
print($data1);
print($data2);
?>
↓次のようなエラーが出てしまいます。
Parse error: parse error, expecting `']'' in C:\Apache Software
Foundation\Apache2.2\htdocs\samples\chap2\variable2.php on line 3
どうすれば正しく表示されるようになるでしょうか(´Д`)??
教えてちょんまげm(_ _)m
0659デフォルトの名無しさん
2009/05/19(火) 01:53:40$title='サーバサイド技術の学び舎 - WINGS';
$data1="「$title 」はサーバサイド技術の最新情報をお届けします。<br />";
$data2='「$title」はサーバサイド技術の最新情報をお届けします。<br />';
print($data1);
print($data2);
?>
---------------------------------
これで、できる。
0660デフォルトの名無しさん
2009/05/19(火) 01:54:22ここに、半角スペースを入れた。
eと、」のあいだ。
0661658
2009/05/19(火) 02:00:07助かりました(。・_・。)ノ
0662デフォルトの名無しさん
2009/05/19(火) 02:08:51Shift-JIS以外だと何もせず動いた
0663デフォルトの名無しさん
2009/05/19(火) 13:44:44文字コードの設定に関して教えて下さい
サイトなどを見るとUTF-8かEUC-JPで構築されている例が多いのですが
どちらの文字コードの方が主流、またはおすすめなんでしょうか?
SJISで構築してみたのですが、文字の正規表現が上手くいかず
構築しなおそうかと思っています
宜しくお願い致します
0664デフォルトの名無しさん
2009/05/19(火) 14:13:33UTF-8 にしても EUC にしてもうまくいかない。
まずは、なぜ SJIS でうまくいかなかったのか
それを解決してみろや。
SJIS か EUC か UTF-8 かは、サーバOSや
クライアントOS(Windowsとは限らないぞ、ケータイだってあるし)
にあわせて最適なヤツをその都度選定すればいい。
0665デフォルトの名無しさん
2009/05/19(火) 14:34:20DB使わない場合はPC向けでもS-JISで作る事はあるけど。
0666デフォルトの名無しさん
2009/05/19(火) 14:40:48�@POSTがない場合に代用の値を入れる。
if($data != $_POST['data']) $data = 0;
�Aデータを配列に入れ、キーを付けて再格納する。
$file = $file('./data.txt');
foreach($file as $xxx){
$p = split('<>',$xxx);
$data[$p[0]] = $xxx;
}
この二つより軽い書き方とかあるんでしょうか?
0667デフォルトの名無しさん
2009/05/19(火) 15:15:03if(!$data = $_POST['data']) $data = 0;
0668デフォルトの名無しさん
2009/05/19(火) 17:53:070669デフォルトの名無しさん
2009/05/19(火) 17:54:49$data = ( array_key_exists( "data", $_POST ) ? $_POST['data'] : NULL );
array_key_exists だとエラーログも荒れないというのも重要です
0670デフォルトの名無しさん
2009/05/19(火) 19:23:44おお……ありがとうございます!
0671デフォルトの名無しさん
2009/05/19(火) 19:54:21if(!$data = $_POST['data']) $data = 0;
結果0.0024509429931641/sec
$data = (array_key_exists("data", $_GET) ? $_GET['data'] : NULL);
結果0.0069079399108887/sec
if(isset($_GET['data'])){
$data = $_GET['data'];
}else{
$data = NULL;
}
結果0.0036120414733887/sec
orz
0672デフォルトの名無しさん
2009/05/19(火) 19:56:32if(!$data = $_GET['data']) $data = 0
結果0.0024509429931641/sec
0673デフォルトの名無しさん
2009/05/20(水) 00:03:47数msの差なんてDBで・・・
0674デフォルトの名無しさん
2009/05/20(水) 00:08:30(1)プリント分。hello
(2)変数、定数
(3)配列、連想配列(ハッシュ)
(4)if、switch(条件分岐)
(5)while,for,forech(ループ)
(6)ユーザー定義関数
(7)OOP
0675デフォルトの名無しさん
2009/05/20(水) 00:10:230676デフォルトの名無しさん
2009/05/20(水) 00:11:36赤
橙
黄
緑
青
藍
紫
にするべきだと思うのね。虹の色にあわせて。
0677デフォルトの名無しさん
2009/05/20(水) 00:12:51なんでだよ。ヘンタイ。
0678デフォルトの名無しさん
2009/05/20(水) 00:16:07プログラムを書かせるため。
表示、変数、分岐まで覚えさせて、それらでプログラムを作らせる
プログラムは覚えるだけじゃなく、自分で考えて書くことが大事だと思ってる
0679デフォルトの名無しさん
2009/05/20(水) 00:21:28(2)変数、定数
(3)配列、連想配列(ハッシュ)
の間は、プリント文と変数と定数だけでいいんだよ!
0680デフォルトの名無しさん
2009/05/20(水) 00:22:49print "hello";
(B)
次に変数に入れて出させる
$a="hello";
print $a;
(C)
次に定数を教える
(D)
そん次に
配列を教える。
使い方はprint文だけ。
0681デフォルトの名無しさん
2009/05/20(水) 01:16:440682デフォルトの名無しさん
2009/05/20(水) 13:09:39includeは古い書き方だって聞いたのですが、そういう認識でいいんでしょうか?
0683デフォルトの名無しさん
2009/05/20(水) 13:27:06include → Warning 続けて動作する。
require → Fatal Error 実行停止
基本は
0684デフォルトの名無しさん
2009/05/20(水) 13:27:550685デフォルトの名無しさん
2009/05/20(水) 13:43:35requireだと読み込むファイルがなかったらそこで終わるということですか?
includeを使ったことがないので、厳密な違いがあるのかなと
requireを使ってれば間違いないという考え方は危険なんでしょうか?
0686デフォルトの名無しさん
2009/05/20(水) 14:11:56大体はrequireでオッケー
自分でエラー処理とかしたい場合はincludeを使うという感じかな?
0687デフォルトの名無しさん
2009/05/20(水) 15:04:02なるほど、そういう使い方ですか
まだPHPを始めて日が浅いので、色々やってみます
ありがとうございました
0688デフォルトの名無しさん
2009/05/20(水) 19:22:33ウニコードの整数配列から文字列を作りたいんだが、$array = array(0xE8, 0xC3, ... ); pack('C*', $array); だとうまくいかない。
とりあえず、文字境界で区切って、整数列の長さごとにswitchして
... case 2: pack('C*', $array[0], $array[1]); break; ... みたいな事やってるんだが、他にうまい方法しらない?
0689デフォルトの名無しさん
2009/05/20(水) 19:37:40http://www.ibm.com/developerworks/jp/opensource/library/os-php-unicode/
0690688
2009/05/20(水) 22:56:32情報どもです。遅くなってすまない。一応その辺りは一通り目を通してた。
html_entity_decodeで一括変換するのも試してみたが、元データがUTF8だから、実体参照にするための変換入れたりするよりは、>688の書き方を選んだ次第。
でも、switchの辺りとか、コードの見た目がアレな感じかなと。
PHP書くのが初めてなんで、他の関数とか、C#のparamsっぽいのとか、定型的な書き方の見落としがあるのかと思ってここに来た。
しかし、型制約のない言語はエラーチェックとかデバッグが大変やね・・・w。
0691デフォルトの名無しさん
2009/05/21(木) 01:08:26すまそ、何がしたいのか汲み取れなかった。
pack関数が配列をサポートしてないから、エラーなるね。
おそらくswitch〜caseの書き方しかないと思う。
数字だろうと文字だろうと基本は文字の書き出しです、ベースはWebですし。
バイナリ数使うとややこしくなるんで、文字列で書き出すしか。(フォーマットはしっかりして)
計算したあとSQL打つときは、ちゃんと枠にはめないと後々大変です ^^;
0692デフォルトの名無しさん
2009/05/21(木) 03:52:39いや、若干後出しっぽくなったかも。すまぬ。
PHPコードとしてもこれはアリみたいだからこのまま使うことにした。
サンクス
0693デフォルトの名無しさん
2009/05/21(木) 16:58:41$s = call_user_func_array('pack', array_merge(array('C*'), $a));
echo $s;
0694デフォルトの名無しさん
2009/05/21(木) 22:45:56情報はあとだしで、
なるべく小出しでちょっとづつ出しましょう
0695デフォルトの名無しさん
2009/05/21(木) 23:03:04まてwww
↓この辺は、ぜひテンプレに入れてくれ
教えてクン養成マニュアル
http://www.redout.net/data/osietekun.html
0696デフォルトの名無しさん
2009/05/22(金) 00:28:520697デフォルトの名無しさん
2009/05/23(土) 00:46:00頼むから、PHPマニュアルなんかと併用してくれよ
あと、そう言う人は人のソースをたぶんあんまり読んだりしないんじゃ
ないかという偏見を持ってみたり
他の言語でいうクックブックやレシピ集くらいまで行けば別だけど
0698デフォルトの名無しさん
2009/05/23(土) 09:04:13$a=rand(1,2);
if($a==1){
?>
aaa
<?php
}
else{
?>
bbb
<?php
}
?>
-------------------------------
こういう書き方って普通なの?
0699デフォルトの名無しさん
2009/05/23(土) 09:37:12aaaのところをprint "aaa";にするかどうかは人それぞれだろ。
0700デフォルトの名無しさん
2009/05/23(土) 09:41:170701デフォルトの名無しさん
2009/05/23(土) 10:46:20埋め込みたいデータがどのぐらいあるかによる。
0702デフォルトの名無しさん
2009/05/23(土) 13:33:38読みやすい方
0703デフォルトの名無しさん
2009/05/23(土) 13:51:470704デフォルトの名無しさん
2009/05/23(土) 14:00:330705デフォルトの名無しさん
2009/05/23(土) 16:58:13もしくは外部ファイル読み出すとか
0706デフォルトの名無しさん
2009/05/23(土) 17:00:370707デフォルトの名無しさん
2009/05/23(土) 23:27:440708デフォルトの名無しさん
2009/05/23(土) 23:42:150709デフォルトの名無しさん
2009/05/23(土) 23:46:40レスThks
だよね。
ちょっと使い倒してみます。
0710デフォルトの名無しさん
2009/05/24(日) 05:28:50ここのページに書いてある、
<?php
header("Content-Type: image/gif");
$image = imagecreate(120,120);
$black = imagecolorallocate($image,0,0,128);
$yellow = imagecolorallocate($image,255,255,0);
imageline($image,10, 60, 110, 60, $yellow);
imageimg($image);
imagedestroy($image);
?>
このサンプルコードが動かない。
「画像ファイル "http://localhost/1.php" は壊れているため、表示できませんでした。」
ってなってしまう。なんで?
0711デフォルトの名無しさん
2009/05/24(日) 06:15:11<script>
a="hello world!";
b=a.strike();
document.write(b);
</script>
こういうの見ると、ああ、OOPなんだな、って思うね。
なので、PHPで、おんなじようなことしたいんだけど。
どう書いたらいい?
OOPでクラスを書いてnewするの??
0712デフォルトの名無しさん
2009/05/24(日) 06:24:050713デフォルトの名無しさん
2009/05/24(日) 06:35:19ふざけんなゴミクズ。
PHPなめとんのか?コラ。
0714デフォルトの名無しさん
2009/05/24(日) 06:36:09とりあえず、数値だけでも、
tiniint
smallint,
int
って3種類あるんだけど、
127以下だったらtinyintでいいのか?
0715デフォルトの名無しさん
2009/05/24(日) 06:38:17そもそもGDライブラリ入ってる?
0716デフォルトの名無しさん
2009/05/24(日) 06:42:54マニュアルでクラス関連嫁。
>>714
せめてDBが何なのか晒そうや。
0717デフォルトの名無しさん
2009/05/24(日) 07:46:16foreach (range('a', 'z') as $letter) {
print $letter;
print "<br>";
}
?>
こういうことができるのが、PHPのすごいところ。
おなじことをperlでやったら、正規表現を駆使した
渾身の一作で、何十行
書かないといけないことやら。
0718デフォルトの名無しさん
2009/05/24(日) 08:01:33$a = uniqid();
print $a;
?>
これ、試してみたら、全然ユニークじゃないんだけど、
どういうこと?
生成されるIDの左側が常に一緒なんだけど??
0719デフォルトの名無しさん
2009/05/24(日) 08:08:55ランダムと勘違いしてないか?
0720デフォルトの名無しさん
2009/05/24(日) 08:13:06http://www.phppro.jp/phpmanual/php/function.uniqid.html
<?php
// 接頭辞なし
// PHP 5 以降でのみ動作します
$token = md5(uniqid());
// よりよい、推測しにくい方法
$better_token = md5(uniqid(rand(), true));
?>
0721デフォルトの名無しさん
2009/05/24(日) 08:17:47ソースの中にベタ書きしてもいいのか?
0722デフォルトの名無しさん
2009/05/24(日) 08:21:150723デフォルトの名無しさん
2009/05/24(日) 08:43:56何がすごいのかわからんけど。
('a'..'z').each{|x|puts x}
0724デフォルトの名無しさん
2009/05/24(日) 08:48:57だからさ。
そういう書き方すると、
なにをやっているのか、意味が
まったくわからないわけじゃん。
0725デフォルトの名無しさん
2009/05/24(日) 08:49:35数十行になるのはアセンブラくらだよ
0726デフォルトの名無しさん
2009/05/24(日) 08:52:10でもコメントは書こうよ・・・
0727デフォルトの名無しさん
2009/05/24(日) 08:53:22それは単に言語を読めて無いだけ
0728デフォルトの名無しさん
2009/05/24(日) 08:54:12普通に解るだろ別に
それはその言語を知らないから読めないだけじゃないか
0729デフォルトの名無しさん
2009/05/24(日) 08:55:230730名無し募集中。。。
2009/05/24(日) 08:56:080731デフォルトの名無しさん
2009/05/24(日) 09:26:46「PHPのすごいところ」って、そういう意味かw
まあ、>>717はわかりやすいからいいんじゃない?
別にすごいとは思わんけど…w
0732デフォルトの名無しさん
2009/05/24(日) 10:19:01perlではこう書けます。
foreach my $letter ('a' .. 'z') {
print "$letter<br />";
}
同じくらい読み易いでしょ?
0733デフォルトの名無しさん
2009/05/24(日) 10:22:550734デフォルトの名無しさん
2009/05/24(日) 11:39:26>>723 はRubyの例だけど読みやすいように書いてみるか
('a'..'z').each do |x|
puts x + "<br />"
end
これって、すごいのだろうか?w
0735デフォルトの名無しさん
2009/05/24(日) 13:17:460736デフォルトの名無しさん
2009/05/24(日) 13:19:540737デフォルトの名無しさん
2009/05/24(日) 13:21:500738デフォルトの名無しさん
2009/05/24(日) 13:43:40print foreach a .. z, "<br>";
こんだけ。
0739デフォルトの名無しさん
2009/05/24(日) 13:57:580740デフォルトの名無しさん
2009/05/24(日) 14:15:33ダウト。仕様を満たしていない。
0741デフォルトの名無しさん
2009/05/24(日) 14:33:52>おなじことをperlでやったら、正規表現を駆使した
>渾身の一作で、何十行
>書かないといけないことやら。
強引に正規表現を使ってやったぞ
(my $str = join('', 'a'..'z')) =~ s/(\w)/$1<br>/g;
print $str;
0742デフォルトの名無しさん
2009/05/24(日) 15:29:15Perlでやるとこう?
print join '', ('a'..'z'), '<br>';
または
print ('a'..'z');
print '<br>';
読みにくいかなぁ
0743デフォルトの名無しさん
2009/05/24(日) 15:33:20元のphpのコードでは、
一文字ずつ、後ろに"<br>"を付けるようになってるんだが…
0744デフォルトの名無しさん
2009/05/24(日) 15:59:05... print chr(o), '<br />'
Pythonは'a'..'z'と書けないけど、for x in 〜: という構文はPerlのforeachや
Rubyのeachよりも「その言語をしらないユーザー」に読みやすい。
inclusiveな範囲で文字列を列挙する関数を書くとこうなる。
>>> def chrange(from_, to_):
... for o in xrange(ord(from_), ord(to_)+1):
... yield(chr(o))
>>> for c in chrange('a', 'z'):
... print c, '<br />'
0745デフォルトの名無しさん
2009/05/24(日) 16:10:230746デフォルトの名無しさん
2009/05/24(日) 16:10:28[Ruby]
for o in ('a'..'z')
print o + "<br/>"
end
0747デフォルトの名無しさん
2009/05/24(日) 16:17:02素直にそう書けばいいのに、 Rubist ってやたら .each {|x| ... } を使いたがるよね。読みにくい。
0748デフォルトの名無しさん
2009/05/24(日) 16:25:08しまった><
じゃあこう
# aからzまで後ろに<br>を付けて出力
print map{"$_<br>"}('a'..'z');
0749デフォルトの名無しさん
2009/05/24(日) 16:32:27eachもmapもselectもsortもFile.openも似たような構文で書けるから。
なんでeachだけforみたいな別記法使わなきゃならんのという感じ。
rubyの世界の殻の中ではちゃんと統一はとれている。
rubyの外からだと独特で読みにくいのは認めるけど、こればかりは
「使ってみないと分からない」の世界じゃないのかなぁ。
0750デフォルトの名無しさん
2009/05/24(日) 16:32:58Ruby使いの人は、for使わない症候群なんですよ。普通は>>746みたいに書かない
0751デフォルトの名無しさん
2009/05/24(日) 16:34:27一言で言うと、「ダサイ」んだよ。Rubyで for 使うと。
他の言語で言うと、foreachを使うべきところで for使う感じ。
0752デフォルトの名無しさん
2009/05/24(日) 16:48:38Perlの場合、foreachと書くところでforと書いた方がスマートな場合を
Larry Wall自身が自著で幾つか例を挙げている。
0753デフォルトの名無しさん
2009/05/24(日) 17:15:140754デフォルトの名無しさん
2009/05/24(日) 17:22:40だって、for が each の構文糖なんだもん
0755デフォルトの名無しさん
2009/05/24(日) 17:23:120756デフォルトの名無しさん
2009/05/24(日) 19:14:36どのようなスクリプトが使えるのでしょうか?
0757デフォルトの名無しさん
2009/05/24(日) 19:24:22で1.jpg〜10.jpg用意しろ
0758デフォルトの名無しさん
2009/05/24(日) 19:27:270759デフォルトの名無しさん
2009/05/24(日) 19:35:420760デフォルトの名無しさん
2009/05/24(日) 19:44:370761デフォルトの名無しさん
2009/05/24(日) 19:46:13そのままコピペして動かなかっただけじゃないのかw
0762デフォルトの名無しさん
2009/05/24(日) 19:46:440763デフォルトの名無しさん
2009/05/24(日) 19:46:49遅れてすいません
今サーバをもってないのですが
無料PHPサーバでおすすめあげてもらえませんか?
0764デフォルトの名無しさん
2009/05/24(日) 19:47:33まあ、初心者っぽいからねぇ
0765デフォルトの名無しさん
2009/05/24(日) 19:49:48Apacheでいいんじゃね?
0766デフォルトの名無しさん
2009/05/24(日) 19:50:30ありがとうございます!
0767デフォルトの名無しさん
2009/05/24(日) 19:52:400768デフォルトの名無しさん
2009/05/24(日) 19:53:330769デフォルトの名無しさん
2009/05/24(日) 20:00:19携帯ではJSは使えないようです
0770デフォルトの名無しさん
2009/05/24(日) 20:03:300771デフォルトの名無しさん
2009/05/24(日) 20:37:490772デフォルトの名無しさん
2009/05/24(日) 20:53:57すげえええ
0773デフォルトの名無しさん
2009/05/24(日) 22:08:32けどこのスレってPHP初心者大半 + 一部の分かってる人、と
思ってたら、わりと他の言語もたしなんでる人がヲチしてる
みたいなのが分かってちょっと驚いてるw
0774デフォルトの名無しさん
2009/05/24(日) 22:34:530775デフォルトの名無しさん
2009/05/24(日) 22:58:42見積書
内容 数量 単価
DBレコード調査 1 \50,000-
0776デフォルトの名無しさん
2009/05/24(日) 23:49:42ボロい商売だな
0777デフォルトの名無しさん
2009/05/25(月) 00:02:22e-mal、正規表現、MySQL、画像生成くらいかなぁー
0778デフォルトの名無しさん
2009/05/25(月) 00:10:490779デフォルトの名無しさん
2009/05/25(月) 00:11:410780デフォルトの名無しさん
2009/05/25(月) 00:17:540781デフォルトの名無しさん
2009/05/25(月) 00:27:43LLバトルロワイヤルスレから人が来てるからな。
わざわざPHPの初心者スレをチェックする Ruby/Perl/Python 使いなんて
ほとんどいないだろ。
0782デフォルトの名無しさん
2009/05/25(月) 00:40:20他の言語のことなんか気にしてないのにねー
0783デフォルトの名無しさん
2009/05/25(月) 01:25:51>('a'..'z').each{|x|puts x}
724
>だからさ。
>そういう書き方すると、
>なにをやっているのか、意味が
>まったくわからないわけじゃん。
まじっすか。
foreach (range('a', 'z') as $x) { echo $x; }
とおなじじゃないのか。
この程度で「意味がまったくわからない」というのなら、プログラム書くのやめたほうがいいよ。
いくらなんでも頭悪すぎる。
0784デフォルトの名無しさん
2009/05/25(月) 01:27:550785デフォルトの名無しさん
2009/05/25(月) 01:41:02アンカーの張り方くらい覚えてから書き込んでくれよ
0786デフォルトの名無しさん
2009/05/25(月) 02:46:03頭が悪すぎる
0787デフォルトの名無しさん
2009/05/25(月) 02:54:04しばらくROMったほうがいいよ。
0788デフォルトの名無しさん
2009/05/25(月) 02:57:22>>724
0789デフォルトの名無しさん
2009/05/25(月) 02:58:03はどうせotuneとかだろ
0790デフォルトの名無しさん
2009/05/25(月) 07:25:190791デフォルトの名無しさん
2009/05/25(月) 07:26:56やってる奴じゃないと、普通はわかんないだろ・・・・
#そのくらいは想像せいや ってのもありだけど
0792デフォルトの名無しさん
2009/05/25(月) 07:38:360793デフォルトの名無しさん
2009/05/25(月) 07:44:04Cしか知らない人がいきなりforeachとか'a' .. 'z' とか見たらそこで凍ると思うぞ。
方言みたいなもんなんだから言語が違ったら読みにくいのは仕方ないだろ。
0794デフォルトの名無しさん
2009/05/25(月) 12:09:35DIM
GOTO
GOSUB
RESTORE
READ
PEEK
POKE
IF 〜 THEN 〜 ELSE
FOR 〜 NEXT
モシ 〜 ナラバ イケ 〜
0795デフォルトの名無しさん
2009/05/25(月) 12:42:030796デフォルトの名無しさん
2009/05/25(月) 14:55:44誰にも相手されてないくせに
やたら自意識過剰でさ〜
弱小ゴミクズ言語のくせにナマイキなんだよね〜
0797デフォルトの名無しさん
2009/05/25(月) 22:50:30a="byebye";
<a src="javascript:'window.alert(a);'">aaaa</a>
window.alert(a);
</script>
これをサニタイズするにはどうしたらいい?
0798デフォルトの名無しさん
2009/05/25(月) 23:30:050799デフォルトの名無しさん
2009/05/26(火) 08:46:23やめなさいってw
俺は両方見てるんだからさw
0800デフォルトの名無しさん
2009/05/26(火) 09:25:22高木「サニタイズ言うな」
0801デフォルトの名無しさん
2009/05/26(火) 11:29:58意図がわからない
scriptタグの中にHTMLを書くってのは何か意味があるの?
何のために「サニタイズ」したいのかもわからない
0802デフォルトの名無しさん
2009/05/29(金) 03:32:32ここに、
>extract($_POST);
>とか、
>extract($_GET);
>とすれば、$_POST[aaa] は $aaa へ展開され、そのまま変数に入ります
って書いてあるんだけど、こんなやり方あるの?
0803デフォルトの名無しさん
2009/05/29(金) 03:34:32書いてあるのだが、どうなのだ?
0804デフォルトの名無しさん
2009/05/29(金) 07:29:55危険な理由を考えてみ。宿題。
昔のPHPはクエリのaaaは自動的に$aaaに展開されていた。
危険すぐるので今はoptional、非推奨になっている。
0805デフォルトの名無しさん
2009/05/29(金) 07:33:420806デフォルトの名無しさん
2009/05/29(金) 08:22:54でも初期につくったPHPプログラムを見ると、普通にif ($aaa == とか使ってて
え、なにそれこわい
0807デフォルトの名無しさん
2009/05/29(金) 13:10:18昔はそれしかできなかったんだから、しょうがないでしょ?
機能的にできなかったことで、今の観点から文句をいわれてもねぇーって感じ
0808デフォルトの名無しさん
2009/05/29(金) 13:52:250809デフォルトの名無しさん
2009/05/29(金) 15:56:20よくこういうmysql_queryの使用例が出てくるのですが、
mysql_query('SELECT * FROM テーブル WHERE なんとか);
WHEREってどんな役割があって、どう使うものなのかがどうしてもわかりません。
色々とググっては見たのですが、具体的な解説は見付かりませんでした。
どうか教えてください。
0810デフォルトの名無しさん
2009/05/29(金) 16:46:36板違い。データベース板で聞いてよ。
SQL文については初歩の初歩だから、入門書の1冊くらい読みなさい。
0811809
2009/05/29(金) 17:15:27でもおかげで「SQL文」で検索したらわかりました。
いままではPHPを使っているんだから、
PHP関連から探すという先入観があり進めなかったようです。
0812デフォルトの名無しさん
2009/05/29(金) 17:45:33そういう問題じゃない。
この野良クエリが変数に入ることがなぜ脆弱性を引き起こすのか理解してないな。
0813デフォルトの名無しさん
2009/05/29(金) 19:17:190814デフォルトの名無しさん
2009/05/29(金) 23:18:50WHERE id=1 とか。
0815デフォルトの名無しさん
2009/05/29(金) 23:19:35お前が板違い。
質問に一切答えない
webprog板のキチガイ自閉症どもから
避難してこのスレができたのだ。
0816デフォルトの名無しさん
2009/05/29(金) 23:21:09PHPを学ぶときに、
「PHPだけ学べばいいんだ」
って思って最初はじめるんだけど、じきに
PHPプラス、SQLも学ばなくては
いけないんだ、って気づかされる。
つまり、PHPとMySQLのバイリンガルになることを
強要されるってこと。これがキツイ。
0817デフォルトの名無しさん
2009/05/29(金) 23:37:33SQLなんてエディタで楽々吐けるんだし
0818817
2009/05/29(金) 23:38:43今の時代でPHPだけってシステムのほうがほぼ無いんじゃないかな
0819デフォルトの名無しさん
2009/05/29(金) 23:40:15そういうおまえも、質問には何一つ答えてないワケだが。
0820デフォルトの名無しさん
2009/05/30(土) 00:05:130821デフォルトの名無しさん
2009/05/30(土) 00:25:29会社ではAccess、自宅ではPHPmyAdmin使ってる
Winアプリでフリーだとこのあたりが有名かな
黒猫 SQL Studio
http://kuronekosoft.ewinds.net/sqlstudio.aspx
A5:SQL Mk-2
http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/
ODBCで準備しないといけないが、マニュアル見ればすぐ出来ると思う
あと、PostgreSQLならWinでインストールするとSQLエディタも付いてる
0822デフォルトの名無しさん
2009/05/30(土) 00:43:30んー、スーパーグローバルの値を、SQL文にそのまま使うのは怖いね。
限定された空間で作るなら適当にやるけど、公開サーバーだと・・。
とりあえずは、SQL Escapeは必須だし、$_POSTで受け取った変数の中身
くらいはチェックに掛けるな
0823デフォルトの名無しさん
2009/05/30(土) 00:57:24> WHEREってどんな役割があって、どう使うものなのか
という問いに答えられるヤツは一人もいないのか。
0824デフォルトの名無しさん
2009/05/30(土) 00:59:22うん、答える人はいないよ
0825デフォルトの名無しさん
2009/05/30(土) 00:59:410826デフォルトの名無しさん
2009/05/30(土) 01:26:10だいたい「どんな役割があって、どう使うものか」を聞きたい人って
学校や会社の宿題が終わらなくて2chで済まそうっていう屑ぐらい
じゃん。そんな屑にいちいち答え教えてたらキリがない
0827デフォルトの名無しさん
2009/05/30(土) 04:46:24アパッチ権限で動く場合と、
自分の権限(自分のアカウントがもしyamadaならyamada)で動く場合と、
この2つだけ?
もっと他にもあるの?
0828デフォルトの名無しさん
2009/05/30(土) 04:49:10「ユーザー権限」
この2つ?
0829デフォルトの名無しさん
2009/05/30(土) 06:02:00PHPっつーかweb開発やってるとPHP、SQL、DB、HTML、CSS、JavaScript(AJAX)、Flash(ActionScript,Flex)、
サーバー構築の知識、サーバーメンテの知識、一通り必要だぞ。
別にPHP関係なくて、Ruby や Railsだって今時そうだし。
それで、キツイ言ってたら、プログラマーやってけないと思うけど。
0830デフォルトの名無しさん
2009/05/30(土) 07:04:330831デフォルトの名無しさん
2009/05/30(土) 07:19:02SQLでできることはSQLでやったほうが、パフォーマンスぜんぜんいいしね
#基本はねw
>>809
SQL今後も書きそうなら、入門書位読みなさい
>>827
Apacheからたたく場合はApacheのuser(and group -> httpd.conf) だっしょ?
#普通はパーミッションあわせるわなぁ・・・・
cuiの場合は起動するuser(and group)にあわせる
そういう意味では、変わらないと思うのだが
#基本はね
#cron なんかだと user 指定する場合もあるけど
0832デフォルトの名無しさん
2009/05/30(土) 08:16:40簡単なことしかやってなかったらいいんですけどねえ・・・
0833デフォルトの名無しさん
2009/05/30(土) 09:13:260834デフォルトの名無しさん
2009/05/30(土) 11:19:55> Apacheからたたく場合はApacheのuser(and group -> httpd.conf) だっしょ?
suEXECでユーザ権限で動くサーバも多い。
設定次第では、特定の既存ユーザのアカウントで動かすこともできるが、まあこれは
Apacheのuserってことになるのかな。
他のパターンはあるのかなってことだろ?
0835デフォルトの名無しさん
2009/05/30(土) 11:21:090836デフォルトの名無しさん
2009/05/30(土) 11:22:01やっぱり激しくミスマッチな気がする。
0837デフォルトの名無しさん
2009/05/30(土) 11:46:37あ そうだ すまん
#自分じゃつかわねーから 忘れてた
0838デフォルトの名無しさん
2009/05/30(土) 12:03:27>PHPとMySQLのバイリンガルになることを強要される
飯のタネだと思えばつらくもなんともない
0839デフォルトの名無しさん
2009/05/30(土) 12:10:13どんな言語でも実用的なもの作ろうと思ったら、
システムや外部ツールとの連携を覚えることは必要になる。
PHPでもコマンドラインツールだけ作る用途で使うなら、
SQLなんて知らなくてもいい。
むしろパイプやファイル入出力のほうが有用になる。
0840デフォルトの名無しさん
2009/05/30(土) 12:23:380841デフォルトの名無しさん
2009/05/30(土) 12:36:08覚えたばっかりで使ってみたかったんですね。
0842デフォルトの名無しさん
2009/05/30(土) 12:43:54片方しか知らなくていいってことじゃないと思うが
俺は文字を表示したいだけだからechoだけで十分だし
そこまでできてるので俺はPHPできる人ですって話にはならんわけで
0843デフォルトの名無しさん
2009/05/30(土) 13:10:13そりゃ君の精進が足りないのだよ
0844デフォルトの名無しさん
2009/05/30(土) 13:26:565年やって純粋なPHP以外は解りませんだったらアホだけど
5年やればそのうちの8割くらいは触ることになるはずだから
0845デフォルトの名無しさん
2009/05/30(土) 18:24:270846デフォルトの名無しさん
2009/05/30(土) 19:11:020847デフォルトの名無しさん
2009/05/30(土) 19:22:280848デフォルトの名無しさん
2009/05/30(土) 19:29:17練りこむのを入れるなら3年強。
0849デフォルトの名無しさん
2009/05/30(土) 19:31:24C++やってたから文法覚えるだけで特に苦にならなかった
SQLもいくつか見たら、ノリ判るし
0850デフォルトの名無しさん
2009/05/30(土) 19:33:210851デフォルトの名無しさん
2009/05/30(土) 19:42:030852デフォルトの名無しさん
2009/05/30(土) 19:51:55それはさすがにもう食い扶持ないと思うぞ……。
つーか今までよく食ってこれたなお前。
0853デフォルトの名無しさん
2009/05/30(土) 19:58:56この場合、ノリってのはプロジェクトの作法みたいなものを指してるんじゃね
条件の記述パターンとかトランザクションのかけ方とか
0854デフォルトの名無しさん
2009/05/30(土) 20:56:06大きなプロジェクトなら1年2年スパンだからずっとコードと保守って事もあるし
それで2年やってサーバ知らないからアホって事にはならんけど
次も同じ仕事を2年3年続けてたらアホだよねって
0855デフォルトの名無しさん
2009/05/30(土) 21:36:58思うに、誤解の無い表現が出来ない奴は、職業プログラマは駄目だってことじゃね?
0856847
2009/05/30(土) 23:16:58スピード対応重視だったせいか去年までは何故か食えてたんだけど流石に無理があったw
今はデザイナの嫁さんの稼ぎで食ってる主夫≒ニートでござい。
0857デフォルトの名無しさん
2009/05/30(土) 23:33:24食えるかどうかはともかくw
0858デフォルトの名無しさん
2009/05/31(日) 00:21:36やってることのレベルによると思うけど、それは無理
単純なSQLだけならありだろうけど、そんな奴は迷惑
#と数年前の自分に言いたいw
0859デフォルトの名無しさん
2009/05/31(日) 00:25:43もう3.23の時代じゃないんだぞ
0860デフォルトの名無しさん
2009/05/31(日) 00:49:02・その方がスクリプト(とDBの構造)がシンプルになる。
・その方が 圧 倒 的 にパフォーマンスがいい場合がある。
なんて理由から、JOINを選択的に排除するのは特に問題だとは思わない。
逆に、とにかくJOINする、っていう考え方が害になることも多いんだよ。
4〜5個JOINを入れ子にしたSQLとか、書いた奴以外が読むのは激しく負担。
また、そこでバグでも出された日には目も当てられない。
0861デフォルトの名無しさん
2009/05/31(日) 00:53:350862デフォルトの名無しさん
2009/05/31(日) 00:55:050863デフォルトの名無しさん
2009/05/31(日) 01:02:48外部結合なんて混ざりようがないだろ
0864デフォルトの名無しさん
2009/05/31(日) 01:05:33最初からJOINなしで作るのはおかしい。
よっぽど統計の取り方がクソなRDBMSでも無い限り、JOIN使った方が速い。
JOINは害って言ってる奴は、MySQL4しか使ったこと無いんじゃないか。
0865デフォルトの名無しさん
2009/05/31(日) 01:07:35それこそまさに、限定的にJOINを使ってるってことじゃないの?
>>859から感じる雰囲気では、こんなSQLも普通だと思ってそうだが、そんなもんなの?
(出所は伏せるが、知ってる人は多いかも)
SELECT
class_id1, class_id2, name1, name2, rank1, rank2,
product_class_id, product_id, T1_classcategory_id AS classcategory_id1, T2_classcategory_id AS classcategory_id2,
product_code, stock, stock_unlimited, sale_limit, price01, price02, status
FROM
(
SELECT
T1.class_id AS class_id1, T2.class_id AS class_id2, T1.classcategory_id AS T1_classcategory_id,
T2.classcategory_id AS T2_classcategory_id, T1.name AS name1, T2.name AS name2,
T1.rank AS rank1, T2.rank AS rank2
FROM dtb_classcategory AS T1, dtb_classcategory AS T2
WHERE T1.class_id IN (
SELECT class_id1 FROM vw_cross_products_class AS crs_prd WHERE product_id = ? GROUP BY class_id1, class_id2)
AND T2.class_id IN (
SELECT class_id2 FROM vw_cross_products_class AS crs_prd WHERE product_id = ? GROUP BY class_id1, class_id2
)
) AS T1
LEFT JOIN (
SELECT * FROM dtb_products_class WHERE product_id = ?
) AS T3
ON T1_classcategory_id = T3.classcategory_id1 AND T2_classcategory_id = T3.classcategory_id2
ORDER BY rank1 DESC, rank2 DESC
0866デフォルトの名無しさん
2009/05/31(日) 01:10:250867デフォルトの名無しさん
2009/05/31(日) 01:10:50言いがかりで正当化しようとするなよ
0868デフォルトの名無しさん
2009/05/31(日) 01:12:06結合してクエリ投げる回数減らした方がパフォーマンス上がる場合が多かった
0869デフォルトの名無しさん
2009/05/31(日) 01:14:43接続コストが高いけど性能も高いPostgreSQLやOracle使ってるなら、
JOINした方が全然早い。
単純読み出し命のMySQLくらいじゃないか。都度投げた方が早くなる可能性高いのは。
0870デフォルトの名無しさん
2009/05/31(日) 01:19:34ポスグレやOracleはそもそもLAMPの保障外だから
事例としては稀で、実務では通常ありえない組み合わせ
PHPでDBと言えば、特別指定しない限りMySQLのことだから
0871デフォルトの名無しさん
2009/05/31(日) 01:26:04話題変えようか…
0872デフォルトの名無しさん
2009/05/31(日) 01:27:120873デフォルトの名無しさん
2009/05/31(日) 01:33:55>>865のことか?
俺が書いたんではなく、読まされたんだよ。ボトルネックっぽいからと。
結論から言うと、そのデータを取得するためには、90%は無駄な処理。
それを確認するのにどんだけソースとテーブルの関連を調べたか。
最初から、シンプルに3つ位のクエリを出して処理して十分追いつく内容だったし、
マトリックスを作るにしても、もぶっちゃけこのSQLよりPHPで作った方が早かった。
大事なのは、それを突き止めることも困難なスパゲッティSQLを自己満足で書くんじゃないと。
チューニングの結果として複雑になるならまだしも、最初から複雑に書く奴は馬鹿じゃないか?
>>870
さすがに恥ずかしい切り口じゃね?それは。
PostgreSQLも、8.x系統からはまたライトユーザの視野に入るようになってきてる印象。
それまでは、結構昔からDB使ってる人や会社で好まれるもの、っていうイメージがあったが。
0874デフォルトの名無しさん
2009/05/31(日) 01:39:12JOINと言う仕組みが悪いわけじゃないような気が。
0875デフォルトの名無しさん
2009/05/31(日) 01:45:20Joinより、ビューをDB側で用意したほうが圧倒的に早くなるよ
0876デフォルトの名無しさん
2009/05/31(日) 01:48:520877デフォルトの名無しさん
2009/05/31(日) 01:57:360878デフォルトの名無しさん
2009/05/31(日) 02:03:35それはない
0879デフォルトの名無しさん
2009/05/31(日) 02:26:00遅かった場合に直しようがないから結局最初からSQLで結合した方が楽だよ
0880デフォルトの名無しさん
2009/05/31(日) 08:02:33ひどいね。スキーマが分からないので何ともし難いけど分かる範囲だと
次のように書ける。
[無保証]
SELECT
T1.class_id AS class_id1, T2.class_id AS class_id2,
T1.classcategory_id AS classcategory_id1, T2.classcategory_id AS classcategory_id2,
T1.name AS name1, T2.name AS name2, T1.rank AS rank1, T2.rank AS rank2,
product_code, stock, stock_unlimited, sale_limit, price01, price02, status
FROM dtb_classcategory T1, dtb_classcategory T2
INNER JOIN vw_cross_products_class crs_prd1
ON T1.class_id = crs_prd1.class_id1
INNER JOIN vw_cross_products_class crs_prd2
ON T2.class_id = crs_prd2.class_id2 AND crs_prd1.product_id = crs_prd2.product_id
LEFT JOIN dtb_products_class T3
ON T1.classcategory_id = T3.classcategory_id1 AND T2.classcategory_id = T3.classcategory_id2
AND crs_prd2.product_id = T3.product_id
WHERE crs_prd1.product_id = ? ORDER BY rank1 DESC, rank2 DESC
RDBMSのバージョンも分からないけど、インデックスの使用を妨げる
ような書き方もしていないから多分速いよ。
スキーマが分かればもっと短く速く書けるようになる可能性が高い。
(特にvw_cross_products_class。product_idがキーならこのテーブルを
第一テーブルにしてdtb_classcategoryをJOINした方が速くなる。
あとカンではT3のclasscategory_idの制約も必要ないと思う)
PHP上でロジックを書いた方が速いかはレコード数等々にもよるけど。
あと元クエリーは酷すぎ。多分最善策だったのは、このクエリを事前に
DB板の関連スレにコピペする事だったんじゃないのかな。罵倒しつつ
親切な人がすっきりと書き直してくれたはず。
0881デフォルトの名無しさん
2009/05/31(日) 09:00:46それは単なる言葉の定義。
そういう構成で使われることが多かった だけやん
誰が何の保障をしてくれるわけ?
0882デフォルトの名無しさん
2009/05/31(日) 09:36:19いやあの、LAMPって保障とかそういう言葉じゃないから。
既にあったDBがポスグレとかOracleとかあるからしねえ。
昔はポスグレの方が性能高かったから(今は知らん)か、ポスグレ指定されることもあるしねえ。
金あるとこはしょーもないシステムにOracle突っ込もうとするし。
0883デフォルトの名無しさん
2009/05/31(日) 14:17:24Oracleの待てビュー早くね?
#Ora使いじゃないからわかんないんだけど
0884デフォルトの名無しさん
2009/06/01(月) 05:15:49まじで勉強しないとダメなの?
0885デフォルトの名無しさん
2009/06/01(月) 05:46:14外部から見られたら困るtxtファイルなんかを
public_htmlの外に格納するときなんだけど、
--public_html--a--1.php
|
|--private_html--2.txt
こうなっていたとして、1.phpから、2.txtを
読みたいんだけど。
1.phpからみて、一つ上の(a)、一つ上(public_htm)の、一つ上の中の、
private_htmlの中の、2.txt
これでいいの?
だとしたら、相対パスの書き方はどうなるの?
0886デフォルトの名無しさん
2009/06/01(月) 06:04:18これでできた。
でも、ドキュメントルートを指定して書く
やり方あったよね。それ教えてよ。
[DOCUMENT_ROOT]
こんなかんじのあったでしょ。
0887デフォルトの名無しさん
2009/06/01(月) 06:48:490888デフォルトの名無しさん
2009/06/01(月) 07:07:41>はセキュリティ上のエラーとして処理(攻撃が行わ
>れたとアラートを発生させる等)しなければなりま
>せん。
こんなこと書いてあるんだけど、
本当にこんなことしないといけないの?
0889デフォルトの名無しさん
2009/06/01(月) 07:08:23C++やJavaの偉い人がきますよ
0890デフォルトの名無しさん
2009/06/01(月) 07:33:50SQLの場合、実装に穴があると「;」の後ろにLF入れられたら面倒なことになる場合があるけど、
それは穴の方が問題であってLFが問題じゃないよね。
他にCRLFが問題になる場面って思いつかないな。SQLの場合だけ気をつけてればいいかと。
0891デフォルトの名無しさん
2009/06/01(月) 07:47:13SQLの話じゃないよ。メールヘッダインジェクションの話だよ。
0892デフォルトの名無しさん
2009/06/01(月) 09:49:44ああ、なるほど。
0893デフォルトの名無しさん
2009/06/01(月) 14:45:110894デフォルトの名無しさん
2009/06/01(月) 19:49:24Apache_2.0はちゃんとインストールできてると思います。
PHP5.2.9もちゃんとインストールして、指示されているように設定の文書も変更しました。
(それが古いバージョンのものだったので一部違う部分もありましたがだいたいできたと思います)
ちなみにOSはVistaです。
わかる方がいたら是非教えてください(>_<)
0895デフォルトの名無しさん
2009/06/01(月) 20:34:22は設定してる?
もしくは変更したところを全部書いてみる
エスパーじゃ答えられないし、それやんないとお互い時間の無駄
0896デフォルトの名無しさん
2009/06/01(月) 21:21:20まとめてインストールできるXAMPPというものがあると聞きまして
インストールしたのですが、結局できません。
依然としてApacheは正常に動いてるようなのですが。。
もうなにがなんだか…すいません
0897デフォルトの名無しさん
2009/06/01(月) 21:53:29単に使い方わかってないだけでインストールは一通り出来てんじゃないの?
何をもって「できない」と思ってるのか書いてくれないからわからんけどさ。
0898896
2009/06/01(月) 22:33:17メモ帳で書いてたので拡張子がphpのつもりがtxtになってるのが原因でした。。
ありがとうございました!!
ちなみに、こんな一括インストールがあるのに、これが主流でないのはなぜでしょう?
これには何か欠点があるのでしょうか?
0899デフォルトの名無しさん
2009/06/01(月) 22:36:48・一括インストールだと後のバージョン更新、ライブラリ追加ができない
・バージョンやライブラリ当の違う、複数の環境に対応したテストがしづらい
0900デフォルトの名無しさん
2009/06/01(月) 22:43:06秀丸使ったほうがいいと思うよ(メモ帳以外のエディタなら何でも)
>何か欠点
使いたいバージョンを手でインストしても、慣れればそう手間ではない
おまけがいっぱい入りそうなのが嫌
Linux鯖がメインでphp以外はディストリのパッケージを使うから
#Win版はzipを解凍
Postgresの方がメインだから
単なる趣味だから
0901デフォルトの名無しさん
2009/06/01(月) 22:44:25簡易デバッグも出来るし(設定できればの話だが)
0902デフォルトの名無しさん
2009/06/01(月) 22:45:36お手軽開発用としては割と主流だけどね。
本番用には>>899の理由含めて色々問題があるから使い辛いけど。
0903896
2009/06/01(月) 23:30:20僕は学校の課題を家でも出来るようにしたいだけだったので、たぶんこれで大丈夫です!
もしハマっていったらまた個別で使いやすいようにインストールしていきます。
ちなみにエディタはGreenPadを使うようにしました。一番簡単なようだったので。。。
いろいろありがとうございました!!
0904デフォルトの名無しさん
2009/06/02(火) 01:11:20まず http://www.php.net/manual/ja/ これをブックマークしといて。
それから
search for 欄にDOCUMENT_ROOT
を入力してからその右側のプルダウンからonline documentationを
選択してそのさらに右にある矢印をクリック。
気持ち悪いピンクの囲みに何か書いてあるだろう?
0905デフォルトの名無しさん
2009/06/02(火) 12:34:170906デフォルトの名無しさん
2009/06/02(火) 14:35:27上記配列で、
残りの1~9(今回の場合は1,2,3,5,6)までの値を配列に格納
する方法を教えてください。
0907デフォルトの名無しさん
2009/06/02(火) 20:18:190908デフォルトの名無しさん
2009/06/02(火) 20:44:02$b=array(1,2,3,4,5,6,7,8,9,10);
var_dump( array_diff($b,$a));
が
array(7) {
[0]=> int(1)
[1]=> int(2)
[2]=> int(3)
[3]=> int(4)
[4]=> int(5)
[5]=> int(6)
[9]=> int(10)
}
なのはなぜですか?
0909デフォルトの名無しさん
2009/06/02(火) 21:19:260910デフォルトの名無しさん
2009/06/03(水) 00:42:12$array = range(1,9);
$data = array(4,7,8,9);
print_r( array_unique( ( array_merge( $array, $data ) ) ) ) ;
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
0911デフォルトの名無しさん
2009/06/03(水) 00:46:50<?php
$a=array(4,7,8,9);
$b=array(1,2,3,4,5,6,7,8,9,10);
print_r( array_diff($b,$a));
Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 5 [5] => 6 [9] => 10 )
PHP Version 5.2.6
0912デフォルトの名無しさん
2009/06/03(水) 01:22:39何を聞きたいのか知らんが、なぜ[3]が入るのか?
ということであれば、再現せず
<?php
$a=array(4,7,8,9);
$b=array(1,2,3,4,5,6,7,8,9,10);
var_dump( array_diff($b,$a));
array(6) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[4]=>
int(5)
[5]=>
int(6)
[9]=>
int(10)
}
PHP 5.2.8
0913デフォルトの名無しさん
2009/06/03(水) 05:37:18主流じゃないと思うが、検索する限りではWindowsではよく使われているようですよ。> XAMPP
0914デフォルトの名無しさん
2009/06/03(水) 07:51:52xamppにしたほうがいいよ。
0915デフォルトの名無しさん
2009/06/03(水) 09:25:13rangeという関数あるんですね。
ありがとうございます。
いろいろと活用できそうです。
0916デフォルトの名無しさん
2009/06/04(木) 00:57:35>>910 の回答もきっと勘違いだし
頭悪そうなやつばっかだな
0917デフォルトの名無しさん
2009/06/04(木) 01:01:230918デフォルトの名無しさん
2009/06/04(木) 01:24:03おまえもばかだなあ。回答例なんてもう必要ないんだよ。
>>906 の質問の正解は >>908 で出てるだろ。>>906 = >>908 かもしれんが。
>>908 が意味不明な質問してるがきっと何か勘違いしてるんだろう。
>>910 は微妙な回答をしているが、これは >>906 の質問が悪いからだな。
0919デフォルトの名無しさん
2009/06/04(木) 01:49:21精神的な負担やストレスがはんぱないよね。
ストレス度250%って感じ。
同じこと何回もやって、
「ああ、また例のあれだな」
って、先の展開が読めれば
なんてことないんだけど、1回目は
本当に脳の血管がぶちきれそうになる。
0920デフォルトの名無しさん
2009/06/04(木) 02:00:39そこで言うストレスっていうのは、時間内にできるかどうかもわからん!ってもんだろうな。
時間的な制限がよっぽどきっちきちでなければ、初回が一番楽しい。・・・は語弊があるか。
一番モチベーション高いけどな。
二度目は前回の反省を活かしていじる楽しみがある。(でも一番迷走しやすい)
逆に、三回目以降こそ苦痛で仕方がないような気がする。
どうせそのままでは使えなくてあちこちいじる必要があるのに、全体としてやってることは
前と同じっていう、なんとも言えない作業感が辛くなったりする。
また、前にやった処理と若干違う部分がなんとも修正しにくかったりした場合とかも、変に
あるものを活かそうとして逆に足を引っ張られたりしない?
0921デフォルトの名無しさん
2009/06/04(木) 02:03:28ああ、あなたは理系だね。
私は文系だから、ストレスを感じ取る
局面が正反対なの。
0922デフォルトの名無しさん
2009/06/04(木) 06:28:58専用のページに飛ばすのって
どう書けばいい?
unko大学のリモホが、
abc-123.unko.edu
だったとしたとき。
リモホを変数に格納して、
ピリオドで区切って配列に格納して、
右から二つのセクターが、edu、unko、
と一致しているかどうかを==で調べて、
もしtrueなら飛ばす、これでいいの?
0923デフォルトの名無しさん
2009/06/04(木) 06:38:15別にそれでもいいけど普通htaccessでしょ。
0924デフォルトの名無しさん
2009/06/04(木) 06:42:300925デフォルトの名無しさん
2009/06/04(木) 07:03:41ただ飛ばすだけでなくて、ログも取りたかった。
phpで全部制御すればなんでもできるでしょ?
0926デフォルトの名無しさん
2009/06/04(木) 07:06:03ログはHTTPdのログがあるじゃないか・・・。
まあPHPで済まして悪いことは何もないからそのままでもいいと思うが。
0927デフォルトの名無しさん
2009/06/04(木) 07:36:12アパッチのログは見れないんだよ、dude
0928デフォルトの名無しさん
2009/06/04(木) 07:56:52php.iniの設定で決めるの?
0929デフォルトの名無しさん
2009/06/04(木) 07:57:35レンタルサーバーにアップロードしたら、
そのサーバーのタイムゾーンで表示されてしまうのかな?
だとしたら、アタマこんがらがるね。
0930デフォルトの名無しさん
2009/06/04(木) 08:06:040931デフォルトの名無しさん
2009/06/04(木) 08:10:51セッションクッキーも受け取れなくなるの?
0932デフォルトの名無しさん
2009/06/04(木) 08:20:21サーバ側の処理で「クッキーの受け入れ拒否」とかあるの?
0933デフォルトの名無しさん
2009/06/04(木) 08:24:33それか、ここがム板での雑談スレって扱いなら、テンプレに質問スレへのリンクでも貼って置けよ。
クソスレ乱立させんな
0934デフォルトの名無しさん
2009/06/04(木) 08:49:17当然。URLにセッションIDを埋めるしかなくなる。
それが他人のパソコンに残ったり、そのURLを利用者が知らずにネットに貼ったりして
セッション乗っ取りが行われる。セッションIDにはワンタイムトークンを使うべきと言われたり、
決済やパスワードの変更等重要なタスクが発生する場面では再認証すべきと言われているのは
そのため。
>>932
開発元に何を聞くんだよw
0935デフォルトの名無しさん
2009/06/04(木) 08:50:10date_default_timezone_set()
0936デフォルトの名無しさん
2009/06/04(木) 09:00:53あーー。
それで、use.cookie_only=1
とかにしないとダメなんだ?
0937デフォルトの名無しさん
2009/06/04(木) 09:19:47session.use_cookies = 1;じゃなかったっけ?
セッションハイジャックでググってみるといい。
0938デフォルトの名無しさん
2009/06/04(木) 17:18:28西暦と月の情報だけで、その月の朔を含む週の日曜日を求めるコード。
長くて気持ち悪いんだけど、もっと短くならないかな?
0939デフォルトの名無しさん
2009/06/04(木) 17:22:440940デフォルトの名無しさん
2009/06/04(木) 17:34:03$first_sunday = strtotime('next sunday', mktime(0, 0, 0, $month, 1, $year));
0941デフォルトの名無しさん
2009/06/04(木) 18:10:33お、ありがとう。
この関数のことは知らなかったよ。
0942デフォルトの名無しさん
2009/06/04(木) 20:54:58下のは正規表現で一発な気がする
0943デフォルトの名無しさん
2009/06/04(木) 23:48:20Webサーバが逆引きした名前を用意してくれるとは限らないし、
そもそも逆引きの名前がないかもしれない。
0944デフォルトの名無しさん
2009/06/05(金) 01:38:43$first_sunday = strtotime("next sunday $year-$month-1");
0945デフォルトの名無しさん
2009/06/05(金) 22:05:48% php -r "var_dump( date( 'Y-m-d' ,strtotime( 'next sunday 2009-2-1' )));"
string(10) "2009-02-08"
0946デフォルトの名無しさん
2009/06/06(土) 14:07:50配列に格納後joinするのが早いと思っていたのですが、実際に計測してみると「.」で一つずつ連結する方が早い始末…
メモリ確保の観点から「.」で一つずつ連結するより早い方法がある(C#のStringBuilderのような)と思うのですが、どうなんでしょう
0947デフォルトの名無しさん
2009/06/06(土) 15:58:12'.'を使うのは並び順とかを指定するコストを人間が
負担してるわけだから早いのは当たり前。
例えば以下でどっちが早い?っつったら二番目に決まってるじゃん。
ループ回す分のコストがないわけだから。
foreach(1..5 as $count){
print $a[$count];
}
print $a[1] . $a[2] . $a[3] . $a[4] . $a[5];
0948デフォルトの名無しさん
2009/06/06(土) 16:01:28PHP 4.4.3では2009-02-01と出るな・・・・。
まったくPHPってヤツは。
0950デフォルトの名無しさん
2009/06/06(土) 16:52:37foreach($a as $tojoin){
$a = $joined . $tojoin;
}
よりも
$joined = join('', $a);
の方が遅いってこと?なら研究の余地があると思うが。
joinは内部的に配列を追ってるから、そのコストを人間が
負担するのでは比べる意味がない。
0951デフォルトの名無しさん
2009/06/06(土) 17:09:040952デフォルトの名無しさん
2009/06/06(土) 17:36:18http://hcw.sblo.jp/pages/user/m/article?article_id=29631051&stq=session%3A%3A%3A%3A3a93f213efaaaa7db99f1d7175ada485
「.」で連結する度にその分のメモリを確保しているのか、参照する時に一度にメモリを確保するのか
もし前者だったらとんでもないロスになりますから、もしそうだったら何かjoinに代わる手法はあるのか
その辺りの情報が知りたくて質問させて頂きました
0953945
2009/06/06(土) 17:38:332009-02-08になったのはPHP5.2.6@FreeBSD。
まったくPHPってヤツは。。。
0954952
2009/06/06(土) 17:56:11>>952
>とんでもないロス
は言い過ぎました。
ある程度のロスがあるので、気持ち的にちゃんとした処理が簡単に出来るならしておきたい
に訂正しまふ
0955デフォルトの名無しさん
2009/06/06(土) 18:14:47あのさあ・・・・。
連結作業があって、それをそのままドンと出すのと、
配列チマチマ作る作業が先にあって、それからjoinするのとじゃ手間が全然違うでしょ。
それでも通常と配列にはほとんど差がでてないという。
逐次データが出てくるような場合は '.'、元々配列ならjoinの方が早いっていうのは
当たり前のような気がするが。
ためしに配列作ってそれを '.'で繋ぐってテストスクリプト作ってみ。
あとこういうのはクラス化するとどこでロスが出るか分からないから>>950みたいに
裸でスクリプト書くのが普通。
そもそも君が知りたいのはjoinのコストと'.'のコストでしょ?全然テストになってない。
テストスクリプト作り直し。
0956デフォルトの名無しさん
2009/06/06(土) 18:18:21リモートホストをサニタイズ無しで
表示するのって危険?
0957デフォルトの名無しさん
2009/06/06(土) 19:22:34それが何故危険かどうかわからないことだ
0958デフォルトの名無しさん
2009/06/06(土) 20:30:46お願いします、PHP以外のCやC#とかをいじってから言って下さい
C#には文字列連結用のクラスまでデフォルトで用意されてるんですが…
0959デフォルトの名無しさん
2009/06/06(土) 21:10:21他の何言語を持ち出してきても結論は変わらないでしょ?
それと>>955がCやC#をいじったことがない前提で話を
しているのはなぜ? w
0960デフォルトの名無しさん
2009/06/06(土) 21:20:24メモリ確保時のロス、リスト構造、ポインタ、PHPのメモリコピーのタイミングなどの話が全く出てこないので、他言語の事を上げさせていただきました
正直、ここまで話にならないとは思いませんでした
0961デフォルトの名無しさん
2009/06/06(土) 22:44:04話にならないのはお前のテストコードだろ。
俺は元々C書きだ。
お前が本当にC書きなら、メモリ確保やポインタがどうなってるか知りたい場合ソースコード
読むのが普通だろ。何やってんの?
> メモリ確保時のロス、リスト構造、ポインタ、PHPのメモリコピーのタイミングなどの話
PHPのテストコードレベルでそんな話出てくるわけ無いだろ。
0962デフォルトの名無しさん
2009/06/06(土) 23:14:44失礼しました。コードを書き直しましたが、これで良かったですか?
http://hcw.sblo.jp/pages/user/m/article?article_id=29631051&stq=session%3A%3A%3A%3A521c5f1096213206131ec5d0622a3c5e
本当に連結されてるのか分からないので一応str_replaceを入れましたが、
無くても同じような結果でした
てかあのコードのどこが問題だったのか分からんが、配列joinの話なんだからリスト構造とポインタの話ぐらい出るだろ
0963デフォルトの名無しさん
2009/06/06(土) 23:41:46おい・・・・・このテストスクリプトって無駄なjoinを繰り返してないか・・・?
他人にお話にならないとか抜かすのは100年早いと思うぞ。
でだ。単純に、
> for ($ii=0; $ii<$cnt; $ii++) {
> > $sb1 .= $str;
> }
と、
> $sb2 ='';
> $sb2 = join('', $test_array);
とを比較してみたら、これでもやっぱり配列の方が遅かったな($test_arrayは用意してある)。
何か問題を感じたらこういう根本的なとこから追っておくのが普通だろ。
0964デフォルトの名無しさん
2009/06/06(土) 23:45:39> for ($ii=0; $ii<$cnt; $ii++) {
> > $sb1 .= $test_array[$cnt];
> }
と、
> $sb2 ='';
> $sb2 = join('', $test_array);
だとjoinの方が早い。
結論:
・'.' と joinはjoinの方が早い。
・配列を使った連結と使わない連結は、使わない連結の方が早い(当たり前だわな)
0965962
2009/06/07(日) 00:05:10実際にどんな処理をしてるのかは知りませんが、
join時に配列の各要素を回ってメモリサイズを計算
↓
メモリ確保
↓
結合
の方が
一回一回メモリを確保で結合していくよりも速くないですか?
まあ勘違いしてるかもしれんので、今度時間のある時にでもCで確認してみます
0966965
2009/06/07(日) 00:11:08>>965で言ってる配列は、ポインタを格納した配列です。
PHPは値を書き換える時点でメモリをコピーするらしいので、
多分ポインタで持ってるのではないかなと
この時点で間違ってるんかな…
0968デフォルトの名無しさん
2009/06/07(日) 01:03:05今の時代、早いコードより見やすいコードのほうが重要
0969デフォルトの名無しさん
2009/06/07(日) 05:59:020970デフォルトの名無しさん
2009/06/07(日) 06:01:27> 配列を使わない方が速いに決まってるってのが分からんのですが
配列をシークするコストがなくなるからな。文法無視して例を書くと、
foreach(1..100 as $loop){ $a .= 'abc' }
foreach(1..100 as $loop){ $a .= $b[$loop] }
どっちが早いか明白だろ?
> 一回一回メモリを確保で結合していくよりも速くないですか?
仮にPHPがそう設計されてるとして、結合だけに関してはな。
ただ、君のテストコードだとjoinは配列使ってて'.'は配列使ってないので
、配列のコストがjoinには掛かる。だから、「君のテストコード」
の場合ではjoinの方が早いとは限らない。
>>966
だ・か・ら、
ソース嫁、と。
>>968
そうでない場面もあるよ。まあPHPでは少ないけど。
0971デフォルトの名無しさん
2009/06/07(日) 06:40:08誰がそんなこと言ってるんだ?
0972デフォルトの名無しさん
2009/06/07(日) 11:47:39> ただ、君のテストコードだとjoinは配列使ってて'.'は配列使ってないので
.で逐次連結するか、すべて一時配列に格納して最後にjoinするか、
そういう前提でどっちが効率的なのか、って質問だろうに。
勝手なテスト書いてクソの役にもたたない結論出されてもね。
0973デフォルトの名無しさん
2009/06/07(日) 12:00:11例えば>>962のコードでは
$var2[] ='a';
ってことをやって計測してるけど、本当にこれが最善の配列の作り方なのかとか、
例えば連結する文字列が固定なのであれば
join('', array('a', 'a', 'a', 'a'))
なんて書き方も可能なのでそっちとの比較もしてみるとか、
考慮に入れてもいいような事がいろいろあるはず。
その辺が甘々なのに、ちっちゃなパフォーマンスにこだわるのが違和感バリバリ。
0974デフォルトの名無しさん
2009/06/07(日) 12:10:59その辺から地道に頑張れ
0975デフォルトの名無しさん
2009/06/07(日) 12:26:120976デフォルトの名無しさん
2009/06/07(日) 12:33:52差が出るのはsplitとexplodeか。(正規表現の解釈で?)
うん。おれが地道に頑張る
0977デフォルトの名無しさん
2009/06/07(日) 12:44:21r'。∧。y.
ゝ∨ノ PHP厨が配列の ,,,ィf...,,,__
)~~( 連結の議論をしてる間に _,,.∠/゙`'''t-nヾ ̄"'''=ー-.....,,,
,i i, ,z'"  ̄ ̄ /n゙゙''''ー--...
,i> <i 文明はどんどん発達し r”^ヽ く:::::|::|:::〔〕〔〕
i> <i. ていく・・・・・・。 入_,..ノ ℃  ̄U ̄_二ニ=
`=.,,ー- ...,,,__ |,r'''"7ヽ、| __,,,... -ー,,.=' >ーz-,,,...--,‐,‐;;:'''""~
~''':x.,, ~"|{ G ゝG }|"~ ,,z:''" ___
~"'=| ゝ、.3 _ノ |=''"~ <ー<> / l ̄ ̄\
.|)) ((| / ̄ ゙̄i;:、 「 ̄ ̄ ̄ ̄| ̄| ̄ ̄ ̄\
))| r'´ ̄「中] ̄`ヾv、 `-◎──────◎一'
├―┤=├―┤ |li:,
|「 ̄ |i ̄i|「.//||「ln|:;
||//__|L_」||__.||l」u|:;
|ニ⊃| |⊂ニ| || ,|/
|_. └ー┘ ._| ||/
ヘ 「 ̄ ̄ ̄| /
0978デフォルトの名無しさん
2009/06/07(日) 12:45:320979デフォルトの名無しさん
2009/06/07(日) 13:02:35もともとはC#で言う「StringBuilder」を作りたかったのであのようなコードになりました
書き方が悪かったですね
まあ多分色々勘違いしてると思うので大人しくソース眺めてみます
0980デフォルトの名無しさん
2009/06/07(日) 15:57:01> 正直、ここまで話にならないとは思いませんでした
この流れ、どう読んでもお話にならないのは自分の方だから、
社会に出て身の程を知った方がいいよ。
0981デフォルトの名無しさん
2009/06/07(日) 16:07:23とりあえず、>>979のしたかった話と、大方のレスのレベル(階層)がずれてるのは確かだろ。
文字列連結の、PHPの実装上最も速い方法は 「.」 での連結なのか?っていう疑問。
んで、ただ単にCの階層で具体的な話をする(できる)奴がいなかったってだけじゃないか
# 本人が挙げたテストコードが、その階層以前の問題だったってことも大きいんだろうけど
>>960の煽りはいただけないが、>>980の煽り返しは明らかにレベル(次元)が低い、と思う。
ちなみに俺はPHPのソースコードはダウンロードしたことはあるが読んだことない。
0982デフォルトの名無しさん
2009/06/07(日) 19:30:070983デフォルトの名無しさん
2009/06/07(日) 19:32:09>ただ単にCの階層で具体的な話をする(できる)奴がいなかった
>ってだけじゃないか
>>961が指摘してることを理解してから出直しな
0984デフォルトの名無しさん
2009/06/08(月) 13:07:042/1は日曜なんだから次の日曜は8日で当たり前じゃないのか?
0985945
2009/06/08(月) 21:33:480986デフォルトの名無しさん
2009/06/09(火) 09:00:330987デフォルトの名無しさん
2009/06/09(火) 12:44:402/1の次の日曜は8日なんだが、'next sunday'は1日になったり8日に
なったりするからやっぱりPHPはこういうトコ困ったちゃんだな〜って流れだよ。
0988デフォルトの名無しさん
2009/06/09(火) 13:23:180989デフォルトの名無しさん
2009/06/09(火) 14:03:160990デフォルトの名無しさん
2009/06/09(火) 14:09:42客のサーバにPHP4しか入ってない(んで触れない)こととか普通にあるからなぁ。
0991デフォルトの名無しさん
2009/06/09(火) 15:44:13今度PHP5の新サーバーを立てたけど、まだまだPHP4には頑張ってもらわないとw
0992デフォルトの名無しさん
2009/06/09(火) 21:40:12今とりあえず動いてるなら4使い続けちゃうよね
0993デフォルトの名無しさん
2009/06/10(水) 06:50:20PHP4からPHP5に移行するメリットが特に無い。
PHP5でかかにゃならん仕事はPHP5が入った別のサーバーで書く。
0994デフォルトの名無しさん
2009/06/10(水) 09:17:20商用の鳥のパッケージ使うならいいけど、srcのほうはupdateとまってるでしょ?
とういうのが気になる
5.2->5.3のギャップもすごそうだね
0995デフォルトの名無しさん
2009/06/10(水) 23:34:35うちの会社はそんな感じ
正規表現苦手なのにXMLをちょこっと使う必要があるから、そのあたりの関数作ったりして、少し憂鬱になる
サポートとっくに切れてるんだから新しくしてよと
0996デフォルトの名無しさん
2009/06/11(木) 23:31:58その国が15:00前後になるように
リンクを投入すると、一番クリック数が
多くなるみたいね。
0997デフォルトの名無しさん
2009/06/12(金) 01:21:44アメリカの掲示板に英語で質問したら
すぐに解決した。2ちゃんねるはもういらない。
0998デフォルトの名無しさん
2009/06/12(金) 05:53:412chじゃなくてMLとかだろjk・・・。
0999デフォルトの名無しさん
2009/06/12(金) 13:07:44php板に帰れよ
1000デフォルトの名無しさん
2009/06/12(金) 13:11:2010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。