【PHP】下らねぇ質問はID出して書き込みやがれ 90

このエントリーをはてなブックマークに追加
1
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 89
http://pc11.2ch.net/test/read.cgi/php/1255263534/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2009/11/14(土) 17:31:42 ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 89
http://pc11.2ch.net/test/read.cgi/php/1255263534/
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
【PHP】下らねぇ質問はID出して書き込みやがれ 86
http://pc11.2ch.net/test/read.cgi/php/1249042741/
【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
【PHP】下らねぇ質問はID出して書き込みやがれ 79
http://pc11.2ch.net/test/read.cgi/php/1231850905/
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
3nobodyさん:2009/11/14(土) 17:31:51 ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
4nobodyさん:2009/11/14(土) 17:32:11 ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
5nobodyさん:2009/11/14(土) 17:32:22 ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
6nobodyさん:2009/11/15(日) 16:44:09 ID:???
>>1
7nobodyさん:2009/11/16(月) 11:03:50 ID:bvqRdc2u
ソフトバンクの「基礎からのMySQL」のP450のコードなのですが、
<?php
/* データベースへ接続、データベース選択 */
$s=mysql_connect("localhost","root","1234") or die("失敗です");
mysql_select_db("db1",$s);

/* NAMEがhのVALUEを変数$h_dに代入 */
$h_d=$_POST["h"];

/* $h_dがsel、ins、del、serのどれかで条件分岐 */
switch("$h_d"){
case "sel":
$re=mysql_query("SELECT * FROM tbk ORDER BY bang");
break;
case "ins":
$a1_d=$_POST["a1"];
$a2_d= $_POST["a2"];
mysql_query("INSERT INTO tbk (nama,mess) VALUES ('$a1_d','$a2_d')");
$re=mysql_query("SELECT * FROM tbk ORDER BY bang");
break;
case "del":
$b1_d=$_POST["b1"];
mysql_query("DELETE FROM tbk WHERE bang=$b1_d");
$re=mysql_query("SELECT * FROM tbk ORDER BY bang");
break;
case "ser":
$c1_d=$_POST["c1"];
$re=mysql_query("SELECT * FROM tbk WHERE mess LIKE '%$c1_d%' ORDER BY bang");
break;
}

8nobodyさん:2009/11/16(月) 11:04:58 ID:bvqRdc2u
/* クエリの結果を表示 */
while($kekka=mysql_fetch_array($re)){
print $kekka[0];
print " : ";
print $kekka[1];
print " : ";
print $kekka[2];
print "<BR>";
}

/* データベース切断 */
mysql_close($s);

/* トップページへのリンク */
print "<BR><A HREF='kantan2.html'>トップメニューに戻ります</A>";
?>

を実行すると、上手く動作しないだけか、
「 "; } /* データベース切断 */ mysql_close($s); /* トップページへのリンク */ print "
トップメニューに戻ります"; ?> 」
とブラウザ上にphpファイルの内容が表示されてしまいます
コレは何がおかしいのでしょうか?
printの部分がおかしいのではないかと思うのですが・・・
自分でも一応色々と書き直してみたのですが、改善されません
9nobodyさん:2009/11/16(月) 11:39:37 ID:???
PHPが動いてないような。 多分ブラウザでソースみるとまるまる見えてると思います。
10nobodyさん:2009/11/16(月) 11:44:45 ID:???
phpは動いてるけどapacheに関連付けられてないのかも
118:2009/11/16(月) 11:56:21 ID:???
>>9

他のサンプルコードは動いていました
似たようなコードを実行したときには、このようにphpの内容がブラウザに出力されていませんでした

>>9さんの言われているように、今FireBugでスクリプトを開いて見てみたところ、ソースが(<?php〜?>の中が)表示されていました
http://localhostから出力したからなのか、自分には知識が乏しいので分かりませんが、こういう場合はどのようにすれば解消するのでしょうか?


>>10

そうなのでしょうか
よく分からないのですが、一応他のサンプルなどは動いています
ただし、それらが動作するからといってApacheに関連付けられているのかは自分には分かっていないのですが・・・

128:2009/11/16(月) 12:05:29 ID:???
ごめんなさい、書き忘れました

結局この場合、上記のサンプルコードが間違っているのではなく、自分のPHP又はApacheの設定がおかしいという事なのでしょうか?
一応単純に
<? php
print "山田";
?>
と打つと、ブラウザには(localhostから出力していますが)山田と表示されます
13nobodyさん:2009/11/16(月) 13:17:29 ID:???
>>1
148:2009/11/16(月) 13:18:33 ID:???
再びごめんなさい・・・。ありがとうございます、問題が解決しました。お騒がせしました
15nobodyさん:2009/11/16(月) 13:20:55 ID:???
はい?
16nobodyさん:2009/11/16(月) 13:32:47 ID:???
せめて何だったのか書いてくれるとあなたの書き込みが無駄にならずにすむ。
178:2009/11/16(月) 14:11:11 ID:bvqRdc2u
すみません、>>14は自分ではありません・・・
188:2009/11/16(月) 14:29:25 ID:bvqRdc2u
今コマンドプロンプトから構文エラーチェックをしてみたのですが、構文エラーなしと書かれていました
う〜ん、なんでブラウザにprint後のコードが出力されるのでしょうか・・・?
19nobodyさん:2009/11/16(月) 14:56:43 ID:+MFbLdTc
phpスクリプトをシンボリックリンクで置くのはダメなんでしょうか?
hoge.php はちゃんと動くんですが,
他の場所に hoge.php を置いてシンボリックリンクで参照すると
403 Forbidden になります.
CentOS + lighttpd + php-cgi です.
20nobodyさん:2009/11/16(月) 15:14:29 ID:???
>>19
シンボリックリンク使える。
webサーバの設定でシンボリックリンクの許可をしておかないと駄目
lighttpdは使った事無いけど、
ググったらでてきた↓↓の設定はしてある?

server.follow-symlink = "enable"
21nobodyさん:2009/11/16(月) 17:02:14 ID:???
>>18
ソースうp
228:2009/11/16(月) 17:32:02 ID:bvqRdc2u
>>21

>>7-8にコードは書いております
構文チェックはphp -lで行いました
23nobodyさん:2009/11/16(月) 18:18:13 ID:???
データベースに「"」を含む項目あるか?
24nobodyさん:2009/11/16(月) 18:40:26 ID:???
いやだから.phpファイルがPHPに関連付けられてないからでしょ
25nobodyさん:2009/11/16(月) 18:55:01 ID:???
php そのファイル で動きますか?

apacheとかIISは分かります?

26nobodyさん:2009/11/16(月) 20:34:49 ID:HkdbmVie
javascriptで、テキストボックスに文字列を追加していきたいんですがどうやったらいいでしょうか。
 
具体的には、1ページ内に、
”明日””今日””昨日”のように複数の文字列の下に、追加ボタンをおいて、
押された順番に、例えば、
明日昨日今日と押したら、
明日
昨日
今日
となるように、
テキストボックスに改行しながら文字列を追加していくような感じのを作りたいんです。

よろしくお願いします<m(__)m>
27nobodyさん:2009/11/16(月) 20:45:41 ID:HkdbmVie
すいませんこちらPHP専用のようでした
取り消してこちらに移動させてもらいます<m(__)m>

△▲ WebProg 初心者の質問 Part21 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1257701535/
28nobodyさん:2009/11/16(月) 22:35:06 ID:???
>>8
<?からBRの後の>がタグと解釈されてるだけ、だな。
ブラウザのソースの表示で見たら、全部見えるかも。
29nobodyさん:2009/11/16(月) 23:19:35 ID:???
cli版はモジュールとして動かすのと挙動が同じだと思ってるksな8
30nobodyさん:2009/11/16(月) 23:40:57 ID:DxyMrPHB
$a['test']['a1'] = 1;
$a['test']['a2'] = 2;

$b['test']['b3'] = 3;
$b['test']['b4'] = 4;

上記のような配列があり、array_merge()的な手法で下記のように結合したいのですがどうすればいいでしょうか?

$ab = array {
 ["test"]=>
  array {
   ["a1"] => 1
   ["a2"] => 2
   ["b3"] => 3
   ["b4"] => 4
 }
}

ちなみに、array_merge()では["test"]キーで上書きされてしまいます。
よろしくお願いします。
31nobodyさん:2009/11/16(月) 23:55:57 ID:???
>>30
惜しい
array_merge_recursive()
32nobodyさん:2009/11/17(火) 00:02:14 ID:149D2nEE
>>31
うぉぉおおぉ!
ありがとうございます!!
33nobodyさん:2009/11/17(火) 00:07:29 ID:???
$c = array_merge_recursive($a,$b);
34nobodyさん:2009/11/17(火) 10:32:58 ID:???
それphp5.3からじゃん
ほんと使えねえksだな
35nobodyさん:2009/11/17(火) 11:03:39 ID:???
どこの誤爆かな?
36nobodyさん:2009/11/18(水) 03:36:08 ID:/HH3qrl4
PHP5.3の開発環境でデータベース接続に関してですが
PEAR::DBとPEAR::MDB2とPDOの3つでテストしているのですが
MySQLとPostgreSQLに関しては上記の3種類で問題なくselectを発行して結果が返ってくるのですが
SQLite2のデータベースファイルに関してですがPDOでは問題ないのですが
PEAR::DBとPEAR::MDB2で問題が発生しました。
それぞれ接続
$db = DB::connect('sqlite:///ファイル名');
$db = MDB2::connect('sqlite:///ファイル名');
って感じで書いています。

PEAR::DB用
$result = $db->query(SELECT文);
while($row = $result->fetchRow(DB_FETCHMODE_ASSOC)){
 print_r($row);
 echo "<br>";
}

PEAR::MDB2用
$result = $db->query(SELECT文);
while($row = $result->fetchRow(MDB2_FETCHMODE_ASSOC)){
 print_r($row);
 echo "<br>";
}
としてそれぞれ処理しているのですがループに一回も入らず終了してしまいます。
同じソースをPHP5.2.1の環境で使う場合は問題なく動きました。

MDB2のバージョンは2.4.1
MDB2_Driver_sqliteのバージョンは1.4.1を利用しています。
なにか対処の方法ってありますか?
37nobodyさん:2009/11/18(水) 03:49:00 ID:???
とりあえず変数の中身やPHPのエラーを表示させてみたら?
38nobodyさん:2009/11/18(水) 04:13:07 ID:/HH3qrl4
>>37
どうもです。とりあえず書き込みした後テストしてわかったのですが
キモはdisconnectみたいです。
>>36で書いた処理は大まかな処理で実際にはDB接続&SQL発行部分はクラス化していて
大まかな処理は(下記はPEAR::DB用でPEAR::MDB2利用時にはDBの部分をMDB2にしてある)
$sql_UTF8 = "SET NAMES utf8";
$db = DB::connect($this->DB_connect);
if (DB::isError( $db )) {
die($db->getMessage());
}
$res = $db->query($sql_UTF8);
$result = $db->query($sql);
if (DB::isError( $result )) {
die($result->getMessage());
}
$db->disconnect();
return $result;
って感じの処理です。
PHP5.3環境においてSQLite利用時のみ$db->disconnect()の段階で取得していたSQLの結果を破棄してしまっているようです。
$db->disconnect();をコメントアウトしておくと取得できました。
PostgreSQLとMySQLは保持したまま。

また、PHP5.2.1環境下ではSQLite環境下でも$db->disconnect();しても値は残ったままのようです。

なにかしら対策の方法ってありますか?
それとも俺の書き方自身に問題があるでしょうか?
39nobodyさん:2009/11/18(水) 07:17:47 ID:???
>>38
sqlite_close()の中で結果セットまで削除する仕様が原因だね
MySQLではmysql_close()が呼ばれていても
"mysql result"リソースのデストラクタが働くまでは参照可能
嘘言ってたら許してくれ

まぁ実装に左右されたくなかったら
結果セットが必要なくなってから切断する設計にするべき
40nobodyさん:2009/11/18(水) 10:00:16 ID:xkg9vx1z
mysqlのpdoを使いたいのですがwindowsではどのようにしてインストールと設定を行うのでしょうか?
php5.2.10です
41nobodyさん:2009/11/18(水) 10:52:23 ID:???
42nobodyさん:2009/11/18(水) 12:27:53 ID:/HH3qrl4
>>39
ありがとうございました。
>sqlite_close()の中で結果セットまで削除する仕様が原因だね
PEAR::DBにしてもPEAR::MDB2にしても各DB関数のラッパーと考えると
PHPのバージョンで>sqlite_close()の挙動が変わったと言うことですね。

>結果セットが必要なくなってから切断する設計にするべき
さてこれどう実装したものか。
俺の実装の仕方が
1.PHPメイン

2.SQL文生成クラス

3.SQL送信クラス(>>38はその一部)
ってやり方やっているんだよね。
2.でメインのPHPから渡された引数を元にSQL文を生成して
3.で2.で生成されたSQL文をDBに接続してSQL発行してDB切断
で処理が2.に戻ってwhile($row = $result->fetchRow(DB_FETCHMODE_ASSOC)){でループさせて結果を取得
って一連の流れをどうにかしないとダメって事か?さてどう作り直したらいい事か?なんかアイディアありませんか?
43nobodyさん:2009/11/18(水) 12:29:21 ID:???
普通はSQL発行するたびに接続と切断を繰り返したりしないかと
44nobodyさん:2009/11/18(水) 12:38:39 ID:/HH3qrl4
>>43
一回の処理でSQLが発行されるのは1回がほとんどだからこの様な実装方式にしています。
45nobodyさん:2009/11/18(水) 12:38:54 ID:???
そうですか
46nobodyさん:2009/11/18(水) 12:55:03 ID:???
DBから結果が返ったら、さっさと自分の側に取り込まないか?
取り込んどきゃ、ライブラリ側管理のデータがどうなろうが影響無いと思うんだが。

まあ、大抵ちょー大量に返ってくるというのなら、また違うかもしれん。
47nobodyさん:2009/11/18(水) 13:18:45 ID:???
>>46
だからその処理は2.のクラスでやっている。
で取得したDBのデータそのものを使うのは1.の部分。
ちなみに3.のクラスはSQL送信だけではなくて
PEAR::DB、PEAR:MDB2、PDOのラッパー(実行環境によって使えるライブラリが変わったときにソースの修正をせずに済むようにするため)
としてさらにはMySQL、PostgreSQL、SQLiteのラッパーとしての
役割を持たせた物。
だから下手に2.の部分と統合されられない。
48nobodyさん:2009/11/18(水) 13:23:33 ID:???
なんでSQL文生成クラスがバッファリングw
DB駆動クラス(他から見れば、そいつがDBと言ってもいい)がやるならともかく。
49nobodyさん:2009/11/18(水) 13:38:27 ID:???
>>47
急に偉そうになったな
ルールも守ってないし
50nobodyさん:2009/11/18(水) 13:45:40 ID:/HH3qrl4
>>48
SQL生成クラスって書き方したが
実際には
・SQLの生成
・DB送信/管理クラスにSQLを送る
・結果セットからwhile($row = $result->fetchRow(DB_FETCHMODE_ASSOC)){でループさせて配列に格納。
・配列をメイン処理に返す
って感じの処理です。
さらにこの「SQL生成クラス」に関してですが一つだけではなくて2つあります。

一つはselect専用のDB検索用
もう一つはInsert/Update/Deleteを発行するDB操作用。
分けた理由は管理者画面においては両方を使うが
一般ユーザ利用の部分に必要なのはDB検索用の方だけだから
ユーザ利用の方でバクなどでのセキュリティー対策として
一つにしておいてDB操作の処理のメソッドが万が一呼ばれることの内容にするため
(自分がソース間違えて呼び出したりなどに対する自己防衛と)
や一般ユーザ利用部分の軽量化のため。


>>49
>ルールも守ってないし
2chビューワでいつもの癖でsageのチェックボックスつけて送信してしまいました。
51nobodyさん:2009/11/18(水) 13:47:55 ID:???
>>50
>だからその処理は2.のクラスでやっている。
などと言ってるけどその設計から見直したら?っていう話なのでは?
アドバイスしても「俺のクラスではこうなんだ」としか言われなかったら
はいそうですかどうぞご自由にと何も言うことなくなる。
52nobodyさん:2009/11/18(水) 14:01:36 ID:/HH3qrl4
>>51
現状できあがったシステムで(今まではPEAR::DB+PostgreSQLの環境)
PEAR::DB、PEAR::MDB2、PDOやMySQL、PostgreSQL、SQLiteなマルチな環境下で動くようにバージョンアップ作業していたときに
ついでに5.3での挙動もチェックしちゃえってテストしていたときに発生した問題で
根本的な設計をし直したらシステム全体も書き換えになってしまうので最低限の変更でなんとかならないかと今回の質問をしたのです。
って内情まで説明しないとダメですか?
53nobodyさん:2009/11/18(水) 14:07:58 ID:???
あのね、自分の思ってることが言葉で説明しなくても自動的に他人に伝わることはありえないんだよ?
54nobodyさん:2009/11/18(水) 14:20:43 ID:???
ふむふむ、クラスの内部でちょこっとデータ保持するようにすると、
システム全体も書き換えになってしまう、と。

どんな作りやねんw

まあそれでも、他者が作ったそういうものでも何とかしなきゃならん仕事での立場だとしたら、
もしそうならちょこっと同情はする。
55nobodyさん:2009/11/18(水) 14:22:49 ID:???
>>49
お前みたいな知識も無い素人PHP外野専門はROMってろ
56nobodyさん:2009/11/18(水) 14:38:02 ID:/HH3qrl4
>>54
>システム全体も書き換えになってしまう、と。
ごめん。書き方が変だった。
このシステム全体はSQL周りのクラスって事。

本来はSQL送信/管理しているクラスだけですませたかった。
SQL生成や取得した結果セット用のクラスは極力いじりたくなかった。

自分でも「SQL生成や取得した結果セット用」クラスまでいじるなら
「SQL送信/管理クラス」に今まで一つだったメソッドを
・接続メソッド
・SQL送信メソッド
・接続解除メソッド
にわけて
「SQL生成や取得した結果セット用」内からは今までは一回だけメソッドを呼び出していたのを
それぞれ上記のメソッドを順番で呼び出せば済むって事はわかってているんですよね。

それかPHP5.3利用時にはSQLite利用時はPDO限定にするかって事ですね。

後、今環境が無いのですが試せてないのですが
5.2.1ではsqlite_close()後も結果セットは保持されていますけど
sqlite_close()の挙動ですがPHPも5.2.1ではテストしているけど5.2.1以降の5.2系では挙動って変わっていますか?
57nobodyさん:2009/11/18(水) 14:46:27 ID:xi1WciP2
GDを使って画像のサイズを取得しようとしています。
$images = getimagesize("http://localhost/images/logo.gif");
というURLだと取得できないのですが、
$images = getimagesize("http://www.google.co.jp/intl/ja_jp/images/logo.gif");
というGoogleのロゴのサイズを取得しようとしたら出来ました。

getimagesizeを使う場合、localhostからは取得できないのでしょうか?
もし出来ない場合、どうやってローカルサーバの画像を参照すればいいのか
方法を教えていただければと思います。
58nobodyさん:2009/11/18(水) 14:49:42 ID:???
とりあえず、
ローカルPC上のブラウザから"http://localhost/images/logo.gif"が見えてるよね?
5957:2009/11/18(水) 14:52:09 ID:xi1WciP2
はい。見えてます。
60nobodyさん:2009/11/18(水) 14:57:17 ID:/HH3qrl4
>>59
そのローカル環境のファイル壊れてないよね?
一応、>>57のソースを元に
$images = getimagesize("http://www.google.co.jp/intl/ja_jp/images/logo.gif");
print_r($images);
echo "<br>\n";
$images2 = getimagesize("http://localhost/work/GD/logo.gif");
print_r($images2);
ってソースを書いてテストしたけど問題なく取得できた。
ローカルでのlogo.gifはgoogleのロゴをそのまま保存して利用。

ちなみに
$images = getimagesize("./logo.gif");
の様に相対パスで書いた場合はどうなる?
61nobodyさん:2009/11/18(水) 15:01:07 ID:???
なんか見落としてる予感だわな
エラーメッセージは出ないのか
6257:2009/11/18(水) 15:04:24 ID:xi1WciP2
>>60
相対パスや絶対パスだと普通に表示されます。
なぜかURLにするとずっと読み込み状態で、
停止してもエラーメッセージなどは出ません。

ローカルサーバがWindowsXPのApacheだからでしょうか?PHPは5.2.5です
63nobodyさん:2009/11/18(水) 15:15:31 ID:???
>>62
max_execution_timeやdefault_socket_timeoutの値を変えてエラーがどうなるか試してみたら?
64nobodyさん:2009/11/18(水) 15:18:25 ID:???
>>61
その場合、php.iniの中身も確認しないとダメかもね。
display_errorsやerror_reportingまわりがどうなっているか確認しないとダメかも。下手したら非表示になっていたりして
(以前どこだったかな。レンタルサーバでこれのレベルが下げてあってエラーも警告も出なかったことある。)

>>62
後、
header("Content-type: image/gif");
$filename = "http://localhost/work/GD/logo.gif";
$f = fopen($filename, "rb");
$buf = stream_get_contents($f);
fclose($f);
echo $buf;
なソースを書いてphp側で画像取得できるのか?
これすらNGだとPHPよりapache側の根本的な設定に問題がありそう。

>>60は俺だけど今度は回答側に回ったのにsage付け忘れました。すみませんでした。
6557:2009/11/18(水) 15:24:10 ID:xi1WciP2
みなさんありがとうございます。たぶん、サーバの設定の問題かも知れません。
先ほどサブのPCで同じ事をしたらサイズが取得できました。
php.iniの設定や>>64さんが書かれている内容も参考にしてみます。
66nobodyさん:2009/11/18(水) 15:55:00 ID:jaz8gdLl
data.txtから最終行を読み込んで表示した後、 <br> その最終行をdata.txtから削除するにはどんな方法でやれば良いでしょうか?

67nobodyさん:2009/11/18(水) 16:00:18 ID:???
fileでよみこんでend使ってunsetして書き込み
68nobodyさん:2009/11/18(水) 16:29:22 ID:jaz8gdLl
>>67
ありがとうございます。
6939:2009/11/18(水) 19:57:24 ID:???
>>56
確かに5.3で挙動が変わってるナー
バッファリングした結果セットをでっちあげちまえばいいんだ

class BufferedResult {
  private $buffer;
  public function __construct($result) { while ($row = $result->fetchRow()) { $this->buffer[] = $row; }}
  public function fetchRow($mode) { return array_shift($this->buffer); }
  public function fetchAll() { return array_splice($this->buffer, 0); }
}

こんなクラスを作ってこうだ

+ if (SQLite使用時 && version_compair(PHP_VERSION, '5.3') >= 0) {
+   $result = BufferedResult($result);
+ }
$db->disconnect();
return $result;
70nobodyさん:2009/11/18(水) 20:36:09 ID:???
$resultは参照になってると思うが大丈夫かい?
71nobodyさん:2009/11/18(水) 20:36:48 ID:???
>>69
訳してくだはい
72nobodyさん:2009/11/18(水) 20:37:46 ID:???
>>71
え、何を?
73nobodyさん:2009/11/18(水) 21:20:51 ID:nmLyX5fb
HTML4.01とXHTML1.0のタイプ別にDTDから要素と属性を取得するプログラムって探してもなかったのですが需要がないのでしょうか?
自分も書いてみたもののスマートな感じではないので勉強のためにソースを探しています
どなたかご存知の方いらっしゃいましたら教えてください
74nobodyさん:2009/11/18(水) 21:23:06 ID:???
誰得?
75nobodyさん:2009/11/18(水) 21:35:27 ID:???
何のためにそんなの作るの?
IDEのコード補完で勝手にやってくれるでしょ
76nobodyさん:2009/11/18(水) 21:40:40 ID:/HH3qrl4
>>69
ありがとうございます。
書いていただいてソースを元に
public function __construct($result,$Lib_Kind){
if($Lib_Kind==1){
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$this->buffer[DB_FETCHMODE_ASSOC][] = $row;
}
while ($row = $result->fetchRow(DB_FETCHMODE_ORDERED)) {
$this->buffer[DB_FETCHMODE_ORDERED][] = $row;
}
while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) {
$this->buffer[DB_FETCHMODE_OBJECT][] = $row;
}
}elseif($Lib_Kind==2){
while ($row = $result->fetchRow(MDB2_FETCHMODE_ASSOC)) {
$this->buffer[MDB2_FETCHMODE_ASSOC][] = $row;
}
while ($row = $result->fetchRow(MDB2_FETCHMODE_ORDERED)) {
$this->buffer[MDB2_FETCHMODE_ORDERED][] = $row;
}
while ($row = $result->fetchRow(MDB2_FETCHMODE_OBJECT)) {
$this->buffer[MDB2_FETCHMODE_OBJECT][] = $row;
}
}
}
public function fetchRow($mode){ return array_shift($this->buffer[$mode]);}
$Lib_Kindが1だったらPEAR::DB、2だったらPEAR::MDB2使用
とソース書き直してみました。

77nobodyさん:2009/11/18(水) 21:43:23 ID:/HH3qrl4
>>69
>確かに5.3で挙動が変わってるナー
どうせやるなら他のDB系関数の挙動も変更すればいいのに
それにしてもなんでこんな中途半端(SQLiteのみ)な仕様変更したんだろう?
78nobodyさん:2009/11/18(水) 21:47:22 ID:???
>>76
なんで全部fetchしてんの?
あとfetchAllがあるよ
79nobodyさん:2009/11/18(水) 22:10:31 ID:???
>>78
とりあえずMDB2で説明すると
http://pear.php.net/manual/ja/package.database.mdb2.intro-fetch.php
while ($row = $result->fetchRow()) {
だった場合拾う値はデフォルトである
MDB2_FETCHMODE_ORDEREDのみの型。
MDB2_FETCHMODE_ASSOCやMDB2_FETCHMODE_OBJECT の値も別途取得する処理を書いておく必要がある。
ただしMDB2_FETCHMODE_OBJECTの書き方はオブジェクトとして取得するのでなんか変な気がする。
80nobodyさん:2009/11/18(水) 22:22:48 ID:???
>>75
>勝手にやってくれる?

kwsk
81nobodyさん:2009/11/18(水) 23:08:03 ID:???
>>76
こういうコードがサーバー落とすんだなw
82nobodyさん:2009/11/18(水) 23:22:39 ID:???
>>81
だったら君はどんなコード書く?
元々SQLiteは大規模開発にはむかないDB。
そんなSQLite限定で利用すると考えればそんなに負荷がかかるかな?
83nobodyさん:2009/11/18(水) 23:27:05 ID:nmLyX5fb
>>75
strictで使える要素と属性、framesetで使える要素と属性・・・のように必要なものだけを取得するようなことをしてます
目的はdoctype別補完辞書作成の為なんです
IDEは全て試したわけではありませんがaptanaとDreamweaverを試した限りではあるdoctyleに対応しない属性が出てきますし足りない属性も出てきます

反応良かったらコード公開するつもりでした
質問は締め切りROMに戻ります
ますありがとうございました
84nobodyさん:2009/11/18(水) 23:44:48 ID:???
>$Lib_Kindが1だったらPEAR::DB、2だったらPEAR::MDB2使用

クラス使う意味が半分かそれ以上消えとるな。
85nobodyさん:2009/11/19(木) 00:01:54 ID:???
>>84
kwsk
86nobodyさん:2009/11/19(木) 00:29:52 ID:???
20年ほど前の、プログラミング言語C++でもしっかり明記されとるわな。
switch〜caseは止めれって。(if〜elseifの羅列も同じこと)

C++には相変わらずinterfaceは導入されて無い(よね?)けど、
それ以降出てきた言語たちにはinterfaceなんて有りがたいものが
あるんだから、よりその言葉に従うのが楽だわな。
87nobodyさん:2009/11/19(木) 00:48:25 ID:???
>>86
でも、それってPHP5だけを考慮に入れた場合は良いけど、PHP4まで考慮に入れたシステムの場合NGでは?
PHP4が、サポート終了ってなっているがPHP4系がいまだに使われているサーバなんて大量にまだあるからPHP4に対するプログラムの
サポートってなかなか切れないよ。
8887:2009/11/19(木) 01:03:22 ID:???
追加。
今回のようなマルチな環境に対応させるくらいのシステムなんだから古いシステムも考慮した上での作りだと思うよ。
そもそも、新しいのだけを考慮しているシステムならPHP4どころかPEAR::DBもシステムから外すべき物。
http://pear.php.net/package/DB
>This package has been superseded, but is still maintained for bugs and security fixes. Use MDB2 instead.
ぶっちゃけな訳しかたすると「バグとセキュリティーのためにサポートは続くがMDB2って言う後継出ているからそっち使えよ。」
PEARはPHPで書かれたライブラリだから必ずしもpearコマンドでインストール必要もなく
インストールされてないレンタルサーバでもアーカイブDLしてきてプログラムから呼び出すパスを、通せばいくらでも使える。
と言うわけで、プログラムの更新作業するのにDBは、「いらない子」。
MDB2とPDOをサポートするだけのプログラムにした方が良い。
PEAR::DB,PEAR::MDB2,PDOとサポートさせるプログラムを書いている奴が、PHP4のサポートをごっそりと打ち切ったプログラム書くのか?
8987:2009/11/19(木) 01:27:04 ID:???
>>87,>88書いて気になったけどここ見ている人たちってDB関連は、
・PEAR::DB
・PEAR::MDB2
・PDO
・そんなものラッパ使わない。各DB関数直接使う
どれが多い?
それと
・必須環境はPHP5以降。PHP4は切り捨てた。
・必須環境はPHP4以降。PHP4もサポートし続ける。
に関してもどうしている?


90nobodyさん:2009/11/19(木) 01:39:54 ID:???
・PHP5or4のみでサポートされている関数は使わない
・せっかく専用の関数が有るのだからそれらを纏めて抽象化
91nobodyさん:2009/11/19(木) 01:57:50 ID:???
>>89
IDと元質問のレス番号出しなさい。
92nobodyさん:2009/11/19(木) 01:59:56 ID:???
>>79
>別途取得する処理を書いておく必要がある
それがアホ設計だと言ってるんだがw
デザインパターンとか知らんのかね
93nobodyさん:2009/11/19(木) 02:00:09 ID:7S9/ReIJ
>>86
教科書通りのお手本を書く場合ならそれでいいけど、interfaceの実装はPHP5から。
さて私はPHP4の動作を対象外にしてまでinterfaceを使うべきですか?
PHP4を対象外にするならPHP5もPHP5.1から動作対象としてDBもPEAR::DBとPEAR::MDB2も切り捨ててより速度が出るPDOだけにしますよww
94nobodyさん:2009/11/19(木) 02:03:51 ID:???
そうしろよ
95nobodyさん:2009/11/19(木) 02:32:52 ID:7S9/ReIJ
>>92
デザインパターンの有効性って再利用時などに使いやすくなどだよね。
一時しのぎようのクラスにまでそのものが必要かどうかの天秤にかけると別にデザインパターンに
沿った作りにしないでもごり押しでソース書いておけばとりあえずはいいや。って結論になったアホな俺。

>>94
単純に切り捨てができれば苦労しない。
96nobodyさん:2009/11/19(木) 03:12:12 ID:???
再利用だのそんな問題ではなく
>>76を見て何とも思わないん?
まぁ書いた本人だから思わないんだろうけど、今後もプログラム書いていくなら
もうちょっとここの人達の意見にも耳を傾けてみたほうが幸せになれるんじゃないかなと思う次第
97nobodyさん:2009/11/19(木) 03:41:33 ID:???
>>76
継承を覚えろ。
98nobodyさん:2009/11/19(木) 06:08:18 ID:BO5FZy2H
$str='["tes0",1,"tes1",2,3,["tes2",4],5]';
このような文字列を
$array=['tes0',1,'tes1',2,3,['tes2',4],5];
みたいに配列として扱いたく、
[の数とexplode使って、forしながら配列にしてみたのですが、
もっと簡単に変換できる方法はありますでしょうか。
アドバイスよろしくおねがいします。
99nobodyさん:2009/11/19(木) 07:18:55 ID:???
それ何のデータ?
100nobodyさん:2009/11/19(木) 08:25:02 ID:BO5FZy2H
>>99
すいませんjavascriptとごっちゃになってしまっていました。
$arrayの方は、
$arr=array(
           'test0',
           1,
           'test1',
           2,
           3,
           array('test2',4),
           5
           );
でした。
$strを受け取ったときに、この$arrへ変換するにはどんな方法があるのかなぁ、と。
101nobodyさん:2009/11/19(木) 08:27:27 ID:???
>>100
json_decode
102nobodyさん:2009/11/19(木) 08:38:29 ID:BO5FZy2H
>>101
おぉ!やりたいことができました
ありがとうございましたm(_ _)m
103nobodyさん:2009/11/19(木) 13:19:46 ID:MI354vJb
htmlのヘッダとフッタが全ページ共通の場合で質問です
smartyとかcakephpとかテンプレートエンジンやフレームワークを使うより
includeで呼び出すほうが処理が軽いと思うのですが違うのでしょうか?
104nobodyさん:2009/11/19(木) 13:31:12 ID:???
>>103
あってるよ

そもそもテンプレートやフレームワークは軽くするためのモノじゃないし。
余計な処理が増えるんだから素の状態と比較したら重くなって当然
105nobodyさん:2009/11/19(木) 15:20:18 ID:???
くだらんかどうかは分からないけど
はまりにはまってどうしようもないから助けて

標準入力stdinを受け取りたいんだけど、
起動時点で標準入力が渡されていたら受取り、
そうでなければデフォルト値を使用ってしたいんです。
でも、標準入力を読み込みに行くと、空の場合、入力待ちになっちゃう
この入力待ちをさせない方法ってありますか?
106nobodyさん:2009/11/19(木) 15:21:56 ID:JXswh9pT
ID出してなかった。すんませんです。
107nobodyさん:2009/11/19(木) 15:31:35 ID:???
マルチ乙
108nobodyさん:2009/11/19(木) 20:21:52 ID:AL4i469V
環境 Fedora1064bit Apache/2.2.13 PHP/5.2.10の鯖で、
Hello-UP アップローダー
http://idol.nm.land.to/
を使用しているのですが、ある特定の条件により、
特定のページ、upload.php?id=以降のページが画面が真っ白(読み込み中状態)で開かなくなってしまいます。
errorではなく、読み込みに時間がかかっている感じです。
その間、upload.phpは問題なく表示されます。あと、パスワード付きのページの入り口upload.php?mode=pass&idd=も開けます。
ただし、正しい・間違い関係なくパスの入力後の動作が、upload.php?id=と同じく表示されません。
表示されずにどんどんプロセスだけが増えていき、数十分でサーバー自体が繋がらなくなってしまいます。

特定の条件とは、受信パス付きファイルがアップロードされた直後なのですが、
起き出したのは最近です。

アクセスが多い少ないは余り関係が無く起るようです。
そして、画面が真っ白(読み込み中状態)のときに、
/sbin/fuser -kn tcp 80
/etc/rc.d/init.d/httpd restart
をすると、ぱっと開きます。なので何らかの原因で処理が出来ない物と思われます。
ログを見てもプロセスが増大してのTimeOutの記述しかなく、具体的な原因が分からない状態です。

どうぞよろしくお願いします<m(__)m>
109nobodyさん:2009/11/19(木) 20:24:47 ID:JXswh9pT
>>107
マルチじゃないんだが
ちなみにマルチと思われるレスを教えて下され
110nobodyさん:2009/11/19(木) 20:56:58 ID:???
>>109
煽り合いしたいならよそでやってね。
111nobodyさん:2009/11/19(木) 21:05:31 ID:???
>>110
煽り合い始めたのは>>107
で、>>107=>>110
112nobodyさん:2009/11/19(木) 21:38:37 ID:???
>>111
煽り合いしたいならよそでやってね。
113nobodyさん:2009/11/19(木) 21:54:38 ID:???
>>112
煽り合いしたいならよそでやってね。
114106:2009/11/19(木) 21:56:20 ID:JXswh9pT
なにこれ・・・
115nobodyさん:2009/11/19(木) 21:57:58 ID:???
屑しか居ない板で煽りに乗ったらこうなるんだよ
バカはもうここに来るなっての。>>114
116106:2009/11/19(木) 22:04:50 ID:JXswh9pT
>>109書いただけなんだけど
あおりに乗ったことになるの?
なんでお前ごときにバカとか言われなきゃならんの?
アホなの?
117nobodyさん:2009/11/19(木) 22:05:15 ID:???
おもしろい?
118106:2009/11/19(木) 22:08:28 ID:JXswh9pT
>>117煽り合いしたいならよそでやってね。
119nobodyさん:2009/11/19(木) 22:51:13 ID:???
きめえ
120nobodyさん:2009/11/19(木) 23:14:11 ID:???
これぞPHP使い
121nobodyさん:2009/11/19(木) 23:15:55 ID:???
>>111

107は俺だが勝手にイコールにしてんじゃねえぞks
122nobodyさん:2009/11/19(木) 23:16:56 ID:???
仲良くしろよチンカスどもw
123nobodyさん:2009/11/19(木) 23:18:48 ID:???
106=OCN
107=ちんぴら
124nobodyさん:2009/11/19(木) 23:23:39 ID:???
>>121
でどこでマルチしていたの?
お前が事の発端だ。責任もて
125nobodyさん:2009/11/19(木) 23:26:26 ID:???
よくわからんがアンカも付いてないのに誰に対してマルチ乙って言ったのか分からないと思うんだけど
106が自分に言われたと思い込みが原因に一票入れておきます
126nobodyさん:2009/11/19(木) 23:29:59 ID:???
>>125 = >>107
にげるな
どこか答えて
127nobodyさん:2009/11/19(木) 23:30:46 ID:???
華麗にスルーされてる>>108涙目w
128nobodyさん:2009/11/19(木) 23:33:05 ID:???
>>106
スレが荒れてるからこっちへ誘導

くだらない質問でもど偉そうに聞いていいスレ
http://pc11.2ch.net/test/read.cgi/php/1158647441/
129nobodyさん:2009/11/19(木) 23:36:33 ID:???
>>107は「スレチ乙」と言いたかったとか?
130106:2009/11/19(木) 23:37:28 ID:JXswh9pT
>>125
もしそうなら>>121みたいな発言の前に
お前に行ってねーよカスって言ってれば済んでるだろ

頭わりーなお前
131106:2009/11/19(木) 23:40:52 ID:JXswh9pT
スレチか?
主にCLIでの話だけどCLIだとスレチなのか?
だったら謝る

つーかWebProgだもんな
微妙にスレチっぽいな
屑どもには用はないから去るわ。

あーキモイキモイ
132nobodyさん:2009/11/19(木) 23:45:55 ID:???
普通にCLIだとは思ったけど>>107は知らん
よそで聞いてみる事をお勧めする
CLI使わんからわからん
133nobodyさん:2009/11/19(木) 23:51:32 ID:???
たまに現れるキチガイのせいで>>108が空気wwwwww
134nobodyさん:2009/11/19(木) 23:57:54 ID:???
>>108
>起き出したのは最近です

なんかしたんだろ?PHPの設定変えたとか?
135nobodyさん:2009/11/20(金) 00:01:53 ID:???
で、どこでマルチしてたの?
136nobodyさん:2009/11/20(金) 11:28:38 ID:???
皆さん、PHPの開発環境はどのようにしておりますか?
Eclipseとか使っているのですか?
137nobodyさん:2009/11/20(金) 11:32:26 ID:???
IDE使う時もあればエディタで書く時もあればコマンドラインで済ます時もある
138nobodyさん:2009/11/20(金) 11:41:20 ID:???
社内はnetbeans+Xdebug+svnで統一

とはいえちょっとした事するにはwindowsだと秀丸かphpエディタ、Linuxだとvim使ってる。
139nobodyさん:2009/11/20(金) 11:44:18 ID:???
>>136
秀丸に強調定義と辞書いれて最強伝説
秀丸からPHP実行できるからね
140nobodyさん:2009/11/20(金) 11:50:56 ID:???
昔秀丸でイマはMacでTextMateだな
あとはpicoが好き
141108:2009/11/20(金) 12:01:23 ID:???
>>134
PHPの設定はいじっていません。
余りに酷いので、OSを消して再度新規で入れ直しましたが、
また発生しました。パス付きページ及びupload.php?id=を生成する課程で何かが起ってるんでしょうか?
142nobodyさん:2009/11/20(金) 12:36:12 ID:???
>>141
そこのサイトに設置してあるやつでも重い気がするけど
スクリプトがショボイだけとかだったりしない?
こういうのは地味にデバッグするしか手がないぞ
143nobodyさん:2009/11/20(金) 12:58:57 ID:HtgUuggv
zendFWを使ってるんですが、その範囲に収まらない作業だと思うのでここで質問させてください。

1)www.hoge.jp/users/id/YAMADA というアドレスでスクールAの情報を表示するとします
2)zendFWではルーティングの設定でwww.hoge.jp/YAMADAへのアクセスで、上と同じ情報を
だせるようになりました。
が、これではまだ不満で、 schoolA.hoge.jpで1)と同じ情報を表示するようにしたいです。
どうしたら、これを解決できるでしょうか?
ユーザーが自由に登録していく形のシステムをイメージしてるので、できれば .iniや.confを
逐一手動で触るのでない仕組みになったらいいなと思っています。
宜しくお願いします。
144nobodyさん:2009/11/20(金) 13:01:42 ID:???
145nobodyさん:2009/11/20(金) 13:04:31 ID:???
つーかドメインの話だろ
サブドメイン設定しろよ
146nobodyさん:2009/11/20(金) 13:05:00 ID:???
>>143
普通に無理だろ
あほか
147nobodyさん:2009/11/20(金) 13:05:42 ID:???
マルチ乙
148108:2009/11/20(金) 13:05:53 ID:???
>>142
明確なエラーが出てくれれば対処できるんですが、
それがないから困ってるんです・・・
149nobodyさん:2009/11/20(金) 13:06:53 ID:???
そのスクリプト書いたやつに聞けよ
だめなら自分でかけ
ぼけ
マルチ乙
150108:2009/11/20(金) 13:09:24 ID:???
>>149
そのサイトの管理人さんはもう掲示板に出てこないんですよ・・・・
何かこれだという糸口でもつかめればと思いここで相談しました。
151nobodyさん:2009/11/20(金) 13:11:18 ID:???
昨日の106がくやしくて関係ない人を荒らしてますwwwwwwwwwwwwww
152nobodyさん:2009/11/20(金) 13:12:34 ID:???
>>150
人の書いたしょぼいスクリプトをデバグしてくれるほどの暇人はいないと思うぞ
153nobodyさん:2009/11/20(金) 13:12:57 ID:???
>>151
煽り合いしたいならよそでやってね。
154nobodyさん:2009/11/20(金) 13:13:59 ID:???
>レッツPHP!で配布されている“PHPぁぷろだ”の改造スクリプトです。
プッ
155nobodyさん:2009/11/20(金) 13:14:51 ID:L1RHfQMx
ぴーえちぴー5.3.0
りなくす

Smartyでテンプレートが無い場合に白い画面になっちゃうんで、エラーをハンドリングしたいんですけど出来ないでしょうか?
テンプレートがあるか判定なんてめんどーなことしないといけないんですかね?
156nobodyさん:2009/11/20(金) 13:15:30 ID:???
smartyすれいけ
マルチ乙
157nobodyさん:2009/11/20(金) 13:16:12 ID:???
>【その他諸注意】
>・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
158nobodyさん:2009/11/20(金) 13:19:07 ID:L1RHfQMx
あ、わりー
159nobodyさん:2009/11/20(金) 13:20:05 ID:???
マルチ市ね
160108:2009/11/20(金) 13:23:32 ID:???
>>152
だからくだ質に流れてきました。
161nobodyさん:2009/11/20(金) 13:24:32 ID:L1RHfQMx
ぴーえちぴースレで叩かれてきました

ぴーえちぴー5.3.0
りなくす

Smartyでテンプレートが無い場合に白い画面になっちゃうんで、エラーをハンドリングしたいんですけど出来ないでしょうか?
テンプレートがあるか判定なんてめんどーなことしないといけないんですかね?
162nobodyさん:2009/11/20(金) 13:25:14 ID:???
無理ってことだよ
自分で解決できないのにサポート終わってる?人のスクリプト使うなよ
あきらめるか、自分でやり通せ
163nobodyさん:2009/11/20(金) 13:26:06 ID:???
>>161
ばか
くんな
ks
164nobodyさん:2009/11/20(金) 13:26:30 ID:L1RHfQMx
またまちがえちゃった
165nobodyさん:2009/11/20(金) 13:29:22 ID:???
>>164
この野郎w
166nobodyさん:2009/11/20(金) 13:29:32 ID:???
ID:L1RHfQMx=>>106
167nobodyさん:2009/11/20(金) 13:33:19 ID:???
>>166
煽り合いしたいならよそでやってね。
168nobodyさん:2009/11/20(金) 14:00:30 ID:???
PHPエディタって、秀丸、サクラ、TeraPad使っている人間にはわざわざ導入する必要はあるエディタ?
169nobodyさん:2009/11/20(金) 14:03:45 ID:???
PHPエディタはしょぼいけどその3点よりはマシ
170nobodyさん:2009/11/20(金) 14:14:08 ID:???
PHPエディタとか使うのは初心者だけ
171nobodyさん:2009/11/20(金) 14:21:10 ID:???
>>168
色定義、F1/F2でマニュアル、F9で構文チェック、左ペインのコードエクスプローラ、上下分割し下画面にブラウザ表示
これらがデフォで揃ってるからちょっといじるのには良い。
汎用エディタでもこれらはできるけどその設定が面倒な人には良いと思う。

コード補完・リモートデバッグ(ステップ実行)・svn/gitとの連携 まで必要ならIDEをどうぞ。
172143:2009/11/20(金) 14:22:26 ID:???
>>144
うーん、すみません。やはりそちらで聞いてみます
>>145
サブドメインですか、調べてみます
>>146
無理かどうかわからなかったんで。。

ありがとうございました
173108:2009/11/20(金) 14:38:57 ID:???
>>162
だからワラにもすがる重いでくだ質に流れ着いてきました

どなたかこれかも知れないと原因が予測できるかたいないでしょうか
よろしくお願いします<m(__)m>
174nobodyさん:2009/11/20(金) 14:49:41 ID:???
おい、ID出さんでもスレ1000行ったぞ!
誰か救済してやらんと・・・
175nobodyさん:2009/11/20(金) 16:16:23 ID:???
パッチが出たから当てといたほうがいいぞ
テスト鯖なら別に知らんが
ttp://www.apache.jp/news/cve-2009-3555
176nobodyさん:2009/11/20(金) 16:25:10 ID:???
>>175
またOpenSSLうぜえええええ
177nobodyさん:2009/11/20(金) 16:37:38 ID:???
>>168
PHPエディタで出来ることは全て秀丸でもできる
構文チェックなんてのも秀丸でも出来るしアウトラインにチェック結果を出力できる
サクラエディタでも構文チェックはできるがTerapadはできない
178nobodyさん:2009/11/20(金) 16:51:57 ID:???
サクラって、Unicode版と64bit版とかあるけど、どれがいいんですか?
179nobodyさん:2009/11/20(金) 17:06:36 ID:???
サクラってTeraPadからすると機能がゴチャゴチャしてて分かりづらいよね
それに、あのふざけたボタンが個人的には駄目だ
だからphp.iniとか、簡単なテキスト処理ならばTeraPad未だに使ってるんだけどw
180nobodyさん:2009/11/20(金) 18:18:02 ID:???
IDE薦めるサイトは多いけど、学習するときには最初からIDEは俺はお薦めしない。
メモ帳みたいな不便な環境でなれてこそ強くなれるものだ。
IDEにずっと頼ってるとコピペしかできないゆとりプログラマーになるからね。
そういう意味でPHPにとっては拡張メモ帳でしかないTeraPadはお薦めだ。
181nobodyさん:2009/11/20(金) 18:46:04 ID:???
ひどい釣りだな
182nobodyさん:2009/11/20(金) 19:22:36 ID:???
>>170
>PHPエディタとか使うのは初心者だけ
の「とか」にはなにが含まれるのかな?
EclipseなんかのIDEも含まれるのかな?

>>178
サクラエディタ使ってないから完全な推測でしかないけど
WindowsでUnicode扱えるテキストエディタっていくつもあるけど
中には内部処理はSJISってのがある。
Unicodeにしかない文字(コード)が実際には扱えない。
って事でUnicode版ってあるんじゃないの?
それと従来のバージョンとしてのものも一応は残してあるとか?

>>180
だったらvi最強って事で、、、、
いちいちサーバからFTPでローカル環境に持ってこないでも
SSHログイン+viでサーバ上のファイル直接いじる。って事も必要になる場合もあるのでviくらい使えるようにしておかないとね。
183nobodyさん:2009/11/20(金) 19:33:14 ID:???
きしょいんんだよ黙ってろ
184nobodyさん:2009/11/20(金) 19:38:58 ID:???
IDEってEclipseだけかよ
185nobodyさん:2009/11/20(金) 19:39:28 ID:???
リモートからのvi操作が最強なのは認めるが
そこまで求めちゃうのはPHP入門にしてはやりすぎだと思う
元々Unix使いでそういったことに慣れてるならまた別だけど
186nobodyさん:2009/11/20(金) 19:41:23 ID:???
いや、俺はEclipseよりNetBeans使う
好みや慣れの問題だけど
ていうかエディタスレは別スレにあるからそっち見れ
187nobodyさん:2009/11/20(金) 19:50:27 ID:???
またPHPエディタの悪口言われて顔真っ赤な人が荒らしてるのか
188nobodyさん:2009/11/20(金) 19:53:05 ID:???
>>178
unicode版で問題ないから使っとけ

>>182
サクラエディタの事しらないなら無理してレスしなくていいよ
unicode版はテストの目的で公開されてるわけで将来的に正式版に統合する前提になってるから
189nobodyさん:2009/11/20(金) 21:23:05 ID:???
>>182
PHPエディタという単語がでると荒れるのはお約束みたいなものだ、無視しとけ。
190nobodyさん:2009/11/20(金) 21:38:51 ID:???
182はもろPHPエディタ使いだろw
191182:2009/11/20(金) 21:56:31 ID:???
>>190
Eclipse+PHPEclipse+Subclipseですけどなにか?
Eclipseの公式的にはPHPプラグインはPDTみたいだけど俺はPHPEclipseの方が使いやすい
ただし、PHPEclipseも1.1.x系だと問題はないんだけど同じ設定なのに1.2.x系だと「PHP Web Browser」の
アドレスバー部分の挙動がおかしいからEclipseも古い3.2.2を使い続けているけどなにか問題ある?


ちなみに普段使っているテキストエディタは
EmEditorとMeryの二つ。

プロジェクトとして管理するならEclipse側使って
ちょっとした小物のソース書くときはEmEditorかMeryを使っている。
192nobodyさん:2009/11/20(金) 21:58:51 ID:???
必死に弁解してるとこ見ると>>190は図星らしい。
193nobodyさん:2009/11/20(金) 22:00:34 ID:???
だからスルーしとけっての
194nobodyさん:2009/11/20(金) 22:01:05 ID:???
ここって性格ひねくれてる奴大杉
まぁ現場でもそういう奴がいっぱいだけどねコミュ力皆無ww
ばっさばっさ切ってやるぜへへへ
195nobodyさん:2009/11/20(金) 22:01:54 ID:???
俺以外全部切ってやったぜえっへっへ〜 か?
196nobodyさん:2009/11/20(金) 22:09:33 ID:???
>>192
なに必死なの?
197nobodyさん:2009/11/20(金) 22:13:50 ID:???
なんでEmEditor使ってるのにMery使うんだ?wwwwwwwwwwwwwwwwwwww
そのへんのテキストエディタの名前挙げてるとしか思えんwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
198182:2009/11/20(金) 22:25:40 ID:???
>>197
メインデスクトップがEmEditor。
それ以外環境(サブPCx2台。ノートPCx2台)がMery。

EmEditorって1ライセンスで複数台環境で使って良かったか?
199nobodyさん:2009/11/20(金) 22:27:31 ID:???
PHPエディタを否定するなら理由かけばいいんだよ。

俺はエディタとしては別に悪いとは思わんけど絶対使わん。


phpspot(笑)
200nobodyさん:2009/11/20(金) 22:28:38 ID:???
何使ってるとかどうでもいいから
くだらねーからもうやめろ沈下す
201nobodyさん:2009/11/20(金) 22:31:20 ID:???
結局好きなエディタ使えで落ち着くw
202nobodyさん:2009/11/20(金) 23:16:42 ID:???
>>198がEmEditorを使ってないのが分かった
ライセンスぐらい調べろよ・・・
203nobodyさん:2009/11/20(金) 23:26:16 ID:???
おいおい、喧嘩するなよ、>>100過ぎ辺り
204nobodyさん:2009/11/20(金) 23:35:13 ID:???
>>202
他人の環境をなにをそんなに必死にしりたがるの?
バカ?キチガイ?池沼?

205nobodyさん:2009/11/20(金) 23:37:05 ID:u5rw3TXz
こんばんは^0^
パラメータのチェック(数値オンリー)をしたいんですけど
こんな感じでいいですか?


$ids = escape($_GET['page']);
$ids = abs((int) ($ids));

if(empty($ID){
echo 'じゃじゃーん♪♪ 残念!!何もありません';
}

206nobodyさん:2009/11/20(金) 23:55:42 ID:???
PHPエディタをバカにされたくないなら巣のスレで頑張ってろや荒らし

PHPエディタって、どうよ?
http://pc11.2ch.net/test/read.cgi/php/1079460638/
207nobodyさん:2009/11/20(金) 23:59:18 ID:???
>>205
ちゃんと伝わるように書いてくれるか?調子にのんなよ

まぁ名にしたいかはっきりわからんけど
in_numeric()じゃないのか?
208nobodyさん:2009/11/21(土) 00:01:38 ID:???
is_numeric()だ
209190:2009/11/21(土) 00:03:39 ID:???
>>207
ありがとうです^^
210nobodyさん:2009/11/21(土) 00:06:44 ID:???
>EmEditorって1ライセンスで複数台環境で使って良かったか?

本当に使ってたらこんな事書かないと思うんだよなw
Free版使ってるってことなら納得できるけどw
211nobodyさん:2009/11/21(土) 00:33:33 ID:???
嘘の上塗りで墓穴を掘る典型的パターンだなw
エディタで上級者気取りとかどんだけド素人なんだw
212nobodyさん:2009/11/21(土) 00:40:32 ID:???
漢なら、echo一発。

って、昔よく言われたなぁ。
213nobodyさん:2009/11/21(土) 00:49:28 ID:/0Sgr3xz
フォームから入力した波ダッシュ(〜)が
MySQL(4.1.22)に保存した後、?に文字化けします。
文字コードはUTF-8で作っています。

どうやれば文字化けしなくできるのでしょうか?
214nobodyさん:2009/11/21(土) 00:51:38 ID:???
「w」付けたがる症候群?
215nobodyさん:2009/11/21(土) 00:53:24 ID:???
wはバカレベル指数。
216nobodyさん:2009/11/21(土) 01:27:05 ID:???
>>213
PHP側の文字コードを変える
mb_convert_encodingあたり
217nobodyさん:2009/11/21(土) 02:23:12 ID:???
文字コードがUTF8なんだから、文字コード変えたら文字化けすんじゃねーの?
218nobodyさん:2009/11/21(土) 18:16:12 ID:???
なぁ、マニュアルでマニュアルでって呪文のようにいうヤツいるけれど、本当にマニュアルだけで各言語を習得した人間っているの?
どんな言語でもだけどマニュアルって膨大な上に順序良く書かれていなかったり、分からない部分が出た時に参照しにくいし、こんなのでほんとに学習できるのだろうかと思う
自分、色んな言語をやってきたけれど、全部まず本からだった
その過程で分からない部分はマニュアル行ったりしたけれど、マニュアルを全部確認したって言語は一つも無かった
まぁ俺が怠慢で各言語の奥まで突っ込んでいないからかもしれないけれど

そもそもあんなの読み続けていたら目も痛くなるしね
新しい言語とか、バージョンアップでそれに関しての本が出ないうちに習得しなければいけないのであればマニュアルしかないんだろうけれど
実際マニュアルだけで学習、習得したって人、俺は尊敬するよ
219nobodyさん:2009/11/21(土) 18:24:29 ID:???
なんで「マニュアルだけで各言語を習得した人間っているの?」っていう話になるのかわからん。

質問の答えがマニュアルにあるからそう言ってるだけだろ
何もマニュアルのみで学習しろとは言ってない
学習のためなら本でもネットでも好きなモノを効率よく使えばいい

ただPHPの場合、本も解説サイトも間違ってる場合が多々あるから困る
マニュアルが一番信用できるからマニュアル嫁とみな言うんだよ
ってテンプレに書いてあるだろ。
220nobodyさん:2009/11/21(土) 18:28:03 ID:???
>>218
そうやって愚痴ばっかり言って手を動かさない人が一番伸びない
221nobodyさん:2009/11/21(土) 18:34:20 ID:???
マニュアル読んで目が痛くなる??
本なら痛くならないのか?
222nobodyさん:2009/11/21(土) 18:55:45 ID:???
マニュアルには「こういう動作をします」っていう定義が書いてある。
入門とか解説とかのサイトや本は「こう書いたらこうなった」が書いてある。
そういう根本的な違いがあるからだろうな。

やってみれば解る様な事でも、本当にそれでいいのか、マニュアルを
調べるクセがついてると後々楽だ。
223nobodyさん:2009/11/21(土) 19:02:17 ID:???
一つの言語をみっちりやればマニュアル読んだほうがわかるようになる
自分の習得した言語で言うところの○○はマニュアルのインデックス見れば推測できるからね
224nobodyさん:2009/11/21(土) 19:57:51 ID:ilGujLBI
値がいくつか入った配列があり、この配列から任意の個数を取り出して、
「組み合わせを生成した配列」を出力するという処理を実装したいと思っています。

例えば、
 $data = array('1','2','3');
という配列から、変数$outputに2個ずつ取り出すとすれば、
 $output[0][0] = '1';
 $output[0][1] = '2';
 $output[1][0] = '1';
 $output[1][1] = '3';
 $output[2][0] = '2';
 $output[2][1] = '3';
という組み合わせが重複しない、全3パターンの出力が欲しいのです。

そこで、過去スレを確認したところ、同様の質問があり、解答も貼られていたのですが、
(解答:http://pc11.2ch.net/test/read.cgi/php/1253061577/870)
ある配列の中身の時に上手く動作してくれません。
例えば、
 for($i=0;$i<69;$i++){
  $data[$i] = $i;
 }
 $output = combinations3($data,6);
 print_r($output);
の時などです。

入力する配列が悪いのでしょうか、それともプログラムにバグがあるのでしょうか。
分かる方がいたら、よろしくお願いいたします。

解答が貼られた過去スレ(【PHP】下らねぇ質問はID出して書き込みやがれ 88)が落ちてしまっているので、
次のレスで、過去に貼られたプログラムを貼らせていただきます。
225nobodyさん:2009/11/21(土) 19:59:09 ID:ilGujLBI
>>224の続きです。
「【PHP】下らねぇ質問はID出して書き込みやがれ 88」より、「組み合わせを生成した配列」を出力するプログラムの過去スレ解答を貼らせていただきます。
--------------------------------------------------
$data = array('1','2','3','4','5');
print_r (combinations3( $data, 3));

function combinations3( $array , $num ) {
$n = count($array);
$x = (1 << $num ) -1;
$ret = array();
while ( ! ($x & ~( (1 << $n ) -1 ))){
$ret[] = arrayset($x,$array,$n);
$x =nextp($x);
}
return $ret;
}
function nextp($x) {
$s =$x & -$x;
$r = $x + $s;
$n = $r & -$r;
return ($r | ((floor($n/$s )>>1)-1));
}
function arrayset($x,$array,$n){
$r = array();
for( $i =1;$i<= $n;$i++){
if($x & 1) $r[] = $array[$i-1];
$x = $x >>1;
}
return $r;
}
--------------------------------------------------
分かる方がいたら、よろしくお願いいたします。
226nobodyさん:2009/11/21(土) 20:24:18 ID:???
>>224
http://www.google.com/search?hl=ja&q=%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0&lr=&aq=f&oq=
ネット上にいくらでも転がってるよ
キーワードも多少変えて試してみると吉
227nobodyさん:2009/11/21(土) 20:36:44 ID:???
組み合わせをビットの立っているとことみなして計算するものですので、32ビットマシンだと、32超えると動きません。
配列に置き換えて頑張ってみてね。
69C6 だと  119877472個にもなりますが・・・ 
228nobodyさん:2009/11/22(日) 00:43:21 ID:4pj+bEHt
文字列を特定の文字数で区切りたく低下のようにしました。

$limit = 100;
for($i=0;$i<mb_strlen($text);$i+=$limit){
$array[] = mb_substr($text,$i,$limit);
}

これで区切れるのですが、$textにHTMLが混入されている場合
表示がおかしくなってしまいます。
何か良い方法はないでしょうか?
229nobodyさん:2009/11/22(日) 00:49:41 ID:???
これは難しいな。。。。
ちょっとやってみっか
230nobodyさん:2009/11/22(日) 00:52:40 ID:???
区切りたいってことは中身の文章が目的だと思うんだが
HTML含める必要はあるの?
231nobodyさん:2009/11/22(日) 00:53:58 ID:???
HTMLは排除していいならstrip_tags()かませてやるだけだけどな
232228:2009/11/22(日) 01:01:41 ID:4pj+bEHt
長いページや文章を特定の文字列で区切るライブラリを作ろうと思って
>>228のような事をやっていました。
jQueryと連動させて、長い文字の場合は「...」が表示されるようにし、
(続き)をクリックすると全ての文章が表示されるような。

ブログや携帯サイトでは良くある機能だと思うのですが、
どうしてもHTMLが入った場合を想定すると、難しいので質問しました。
233nobodyさん:2009/11/22(日) 01:27:18 ID:???
自サイトでの話でしょ?
普通は区切ったあとにHTMLに埋め込むと思うんだが
234nobodyさん:2009/11/22(日) 01:39:26 ID:???
textをタグとタグ以外の部分にわけてからやればいいと思うけど、
何をしたいんだろう・・・
235nobodyさん:2009/11/22(日) 01:56:30 ID:gDLswFX5
正規表現で
■メタ文字

. 改行を除く任意の 1 文字

とありますが、改行を除きたくない場合ってどうすればいいんでしょうか?
よろしくおねがいします
236228:2009/11/22(日) 01:58:10 ID:4pj+bEHt
目的はともかくとして、技術的検証で228のような要件は無理なのでしょうか?
ブログや携帯サイトを見ると、文字数で分割しているように見えたので、
単純に考えていたのですが、実際はtextをタグとタグ以外の部分で分けないと
「出来ない」という結論になるのでしょうか?

技術的に不可能な事をお尋ねしているのなら、馬鹿すぎですね。。申し訳ありません。
237nobodyさん:2009/11/22(日) 02:03:02 ID:???
238nobodyさん:2009/11/22(日) 02:12:08 ID:gDLswFX5
>>237
sにしたら見事できました
ありがとうございました
239nobodyさん:2009/11/22(日) 02:38:05 ID:???
>>236
文章区切ってどうしたいのか分からんのですよ。 10文字までで切って ・・・つけるとかはやるけど。
どっか参考のページ教えてくれれば。
240nobodyさん:2009/11/22(日) 02:44:08 ID:???
htmlが入ってる場合表示がおかしくなるって
それはエスケープしてないからでしょ?
最後出力するときにhtmlspecialcharsかませればいいんじゃないの?
むしろ必須なんだけどな
241nobodyさん:2009/11/22(日) 03:16:38 ID:???
>>228 見た?
242nobodyさん:2009/11/22(日) 05:00:15 ID:???
>>236
犯罪行為のにおい
243nobodyさん:2009/11/22(日) 11:00:09 ID:???
>>228
できるできないで言えばできるよめんどくさいけどね
244nobodyさん:2009/11/22(日) 12:47:49 ID:???
タグの開始位置を格納して一旦タグを排除して
指定文字数にした後に、タグを元の位置に戻してやる感じかね
245nobodyさん:2009/11/22(日) 13:06:26 ID:???
>>244
日本語でおk
246nobodyさん:2009/11/22(日) 13:44:56 ID:???
>>244
それだけだと閉じタグが…
247nobodyさん:2009/11/22(日) 13:56:03 ID:???
1バイトずつ読みながら数える
htmlタグ中ならスキップ、文字なら数える
使用する文字コードの知識が必要
例えばsjisなら1バイト文字か2バイト文字かとか
携帯絵文字が入ってたりするとその処理も必要
248nobodyさん:2009/11/22(日) 14:08:00 ID:???
>>247
それだけだと閉じタグが…
249nobodyさん:2009/11/22(日) 14:09:40 ID:???
>>247
振り出しに戻してんなやks回答者
250nobodyさん:2009/11/22(日) 14:15:20 ID:???
理解できないんだったらレスしないでくれる?
251nobodyさん:2009/11/22(日) 14:16:11 ID:???
>>250
日本語でおk
252nobodyさん:2009/11/22(日) 14:18:21 ID:???
>>248
ん?
253nobodyさん:2009/11/22(日) 14:25:12 ID:???
247の方法でもできるpregとかでもできるタグとタグ以外で切り分けてカウントして
つなぎあわせてもできる

ただ、タグには意味があるから単純に文字数で分割するだけじゃおかしくなるっしょ
どんなタグがあるか、なんでもありなのか?
<b><i>abcd</i>efg</b> 「f」までカウントして以降を切り落とすわけにはいかないよね
254nobodyさん:2009/11/22(日) 14:43:11 ID:???
タダたんに文字列を区切るだけなら簡単なのにそれしか考えられないバカな素人回答者には愛想が尽きる
255nobodyさん:2009/11/22(日) 14:57:36 ID:???
独り言はブログでどうぞ
256nobodyさん:2009/11/22(日) 14:59:48 ID:???
>>244=>>250=>>255乙w
おめーにニックネームつけてやんよw
今日からおめーは文字列分割君なw
257nobodyさん:2009/11/22(日) 15:16:23 ID:???
簡易パーサ作ったらいいじゃん
258nobodyさん:2009/11/22(日) 16:31:20 ID:???
>>228
なんでstrip_tags()じゃだめなの?
259nobodyさん:2009/11/22(日) 16:34:05 ID:???
>>258
http://php.net/manual/ja/function.strip-tags.php
公式なマニュアルに
「strip_tags() は HTML の検証を行わないため、 不完全または壊れたタグにより予想以上に多くのテキスト/データが削除される可能性があります。 」
って警告あれば使うのためらうと思うよ。
260nobodyさん:2009/11/22(日) 17:41:32 ID:???
>>259
おまえは>>228なのか?
261nobodyさん:2009/11/22(日) 17:52:16 ID:???
>>260
ks回答者は黙ってろ
262nobodyさん:2009/11/22(日) 17:54:51 ID:???
>>260
それに答えると回答が出せるのか?あ?
263nobodyさん:2009/11/22(日) 18:02:28 ID:???
>>228のやりたい範囲とサイトの性質によって違うだろjk
264nobodyさん:2009/11/22(日) 18:26:29 ID:???
へぼ回答者が発狂しやがったwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
265nobodyさん:2009/11/22(日) 18:28:11 ID:???
'<'と'>'の対応を調べて、開きっぱなしなら最後に'>'を追加するだけで良かったりしてな。
266nobodyさん:2009/11/22(日) 18:28:54 ID:???
>>264
ご愁傷様
267nobodyさん:2009/11/22(日) 18:31:07 ID:???
皆さん、PHPの基礎を学習後はどんなサイトや本、雑誌見て勉強してるのですか?
268nobodyさん:2009/11/22(日) 18:33:14 ID:???
web制作でPHPを使っている方に質問です
PHPの基礎を学習後はどんなサイトや本、雑誌見て勉強してるのですか?
269nobodyさん:2009/11/22(日) 18:40:58 ID:???
わしは基礎と応用の区別なくとにかくコードをかいて学習しとるのじゃよ
270nobodyさん:2009/11/22(日) 18:43:30 ID:???
>>268
基礎ができてるなら他人が書いたソースが一番
271nobodyさん:2009/11/22(日) 18:49:43 ID:???
クライアントサイドというか、HTML、CSS、JavaScriptの雑誌はいっぱいあるけど、サーバサイドの雑誌ってないよな
見た目、というか地味で表に出てこないから仕方が無いのだろうけれども
272nobodyさん:2009/11/22(日) 19:04:23 ID:???
つ「日経サーバーサイド」
273nobodyさん:2009/11/22(日) 19:08:27 ID:???
>>271
>クライアントサイドというか、HTML、CSS、JavaScriptの雑誌はいっぱいあるけど
デザイナ向けの雑誌ね。

>サーバサイドの雑誌ってないよな
サーバサイド向けのUNIX系雑誌の連載記事としてちょこちょことPHPに限ったことではないけど出てくることあるよ。
そういえば昔購読していたLinux magazineにもRubyとかPythonなどの記事あった。

それと、技術者向けの雑誌はここ数年でどんどんと休刊になっている気がする。

昔のマイコンベーシックみたいな雑誌はもう出てこないんだろうな。
アレはアレで勉強になった。し多くのプログラマにとって登竜門的な役割をしていたな。
274nobodyさん:2009/11/22(日) 20:18:53 ID:???
>それと、技術者向けの雑誌はここ数年でどんどんと休刊になっている気がする。

地味だから売れないんだろうな・・・w
275nobodyさん:2009/11/22(日) 20:47:15 ID:???
>>272
つ「Oh!サーバーサイド」
276nobodyさん:2009/11/22(日) 20:47:42 ID:???
自分も、独学かつ本だけの勉強で行き詰ってきた。
確かに、本は基礎がわかりやすくて、サンプルアプリの解説も役立つけど、
そこからのステップアップをどうしたら良いかわからなくなる。
ランキング付きリンク集を作りたいけど、どう設計したらいいかとか見当つかない。
277nobodyさん:2009/11/22(日) 20:52:45 ID:???
>>271
Web+DB とかいうのがあったような。

>>265
それだけだと閉じタグが…
278nobodyさん:2009/11/22(日) 20:53:53 ID:???
頭悪いからだよあきらめな
279nobodyさん:2009/11/22(日) 20:57:32 ID:???
応用力がつかないのは実は基礎がまだできてないんだよ
280nobodyさん:2009/11/22(日) 21:07:18 ID:???
>>276
サイトを登録してもらう
サイトからランキングサイトへリンクを張ってもらう
リファラを取得してカウント
281nobodyさん:2009/11/22(日) 21:08:21 ID:???
>>279
完全同意
できた気になってるだけ
282108:2009/11/22(日) 21:14:14 ID:???
シングルコアからマルチコア(core2Duo)のサーバーに乗り換えたら、
flockがまともに機能しなくなりました。
この辺みんなはどうしてるんでしょうか?
283nobodyさん:2009/11/22(日) 21:18:31 ID:zH4HInjd
276です。たしかに頭は悪い方です。
>>280 inカウントはリファラの取得というのはわかります。
outカウントはどうするのですか?これがわかりません。

284nobodyさん:2009/11/22(日) 21:20:11 ID:???
間に一ページかませばよかろ
285nobodyさん:2009/11/22(日) 21:22:05 ID:???
コアよりもflock対応OSか確認じゃろ
対応ならflock機構に穴があるんじゃよ
286nobodyさん:2009/11/22(日) 21:23:19 ID:???
犬小屋と高層ビルの例えのように、
「文法わかったけど、まとまったサイズのプログラムが書けない」
って話はよくあるよな。
頭の使い方が、文法覚えるのと全然違うからしょうがないんだよね。
使い古された言い方だけど、他人の書いたソースを沢山読むしか
無いんだろう。

>>279 >>281
自分に足りないものは先に行かないと解らないから、しょうがないよ。
287nobodyさん:2009/11/22(日) 21:25:31 ID:???
いや違うね
outはどうする?とか聞いてる時点で起訴も何もわかってないか、
ただのバカ。発想力のかけらもない。おれなら首切るね。つーか雇わんね
288286:2009/11/22(日) 21:30:25 ID:???
書いてる間に>>283かよ、俺涙目w
>>287 同意。
289276:2009/11/22(日) 21:51:23 ID:zH4HInjd
間に1ページはさんで、そこにout先のURLを生成して
そのURLを取得すれば良いのでしょうか?

>>287
そもそも、プログラミング学習歴3ヶ月だから、首切るとか雇わないとか
いうレベルじゃないです。まあバカだから雇われない。
>>286
すいませんでした。
ソースコードをたくさん読む必要性は、とても感じてます。
だけど、量が多い上、解説が無いと初心者にはかなりきついです。
290nobodyさん:2009/11/22(日) 21:59:26 ID:???
そんな一つ一つ聞かなきゃならないなら無理だっつーの
ランキングって甘くないぞ
不正対策も考えなきゃな。モバイルだったらこれ大変。PCでもだけど。
どっかから誰かが作ったの拾ってこい。
291nobodyさん:2009/11/22(日) 22:03:43 ID:???
>>286
犬小屋と高層ビルの例えってどんなの?
ぐぐっても見つからないんだけど
292nobodyさん:2009/11/22(日) 22:16:25 ID:???
>>291
プログラム 犬小屋 高層ビル でぐぐったら出てくるぞ。
諺の説明じゃなくて、普通に使ってるようなやつが。

たとえば
>道具(オブジェクト指向言語など)を学ぶことに熱心な人は多いんだが、
>それを有効に使う為の基本的な工学知識が不足している人が多いと思う。
>金槌や釘の使い方を学べば犬小屋ぐらい作れるが、いくら金槌の使い方が
>うまいからといって高層ビルを建てるには、もっと別の知識が必要ですからね。
293nobodyさん:2009/11/22(日) 23:01:47 ID:???
       \
 お そ .い ヽ
 か の や  |
 し  り  `  ,. -──- 、
 い .く   /   /⌒ i'⌒iヽ、
    つ /   ,.-'ゝ__,.・・_ノ-、ヽ
    は i ‐'''ナ''ー-- ● =''''''リ      _,....:-‐‐‐-.、
      l -‐i''''~ニ-‐,....!....、ー`ナ      `r'=、-、、:::::::ヽr_
 ̄ \ヽー' !. t´ r''"´、_,::、::::} ノ`     ,.i'・ ,!_`,!::::::::::::ヽ
    ヾ、 ゝゝ、,,ニ=====ニ/r'⌒;    rー`ー' ,! リ::::::::::::ノ
       i`''''y--- (,iテ‐,'i~´,ゝ'´     ̄ ̄ヽ` :::::::::::ノ
       .|  !、,............, i }'´    _   、ー_',,...`::::ィ'
     ●、_!,ヽ-r⌒i-、ノ-''‐、    ゝ`ーt---''ヽ'''''''|`ーt-'つ
        (  `ーイ  ゙i  丿   ;'-,' ,ノー''''{`'    !゙ヽノ ,ヽ,
        `ー--' --'` ̄       `ー't,´`ヽ;;;、,,,,,,___,) ヽ'-゙'"
                       (`ー':;;;;;;;;;;;;;;;ノ
                       ``''''''``'''''
294nobodyさん:2009/11/23(月) 00:20:33 ID:???
>>277
俺の県にじは売ってないぞw
田舎だからな・・・


サーバサイドってクライアントサイドからすると目立たず地味なくせにかなり大変だよな
クライアント側なんて俺ならちょいちょいって感じで出来るんだけれど、サーバサイドでココでPOSTをこう展開するとか、データベースをこう使ってとかなると混乱する事がある
しかも、ミスったらクライアントサイドと違って致命的なダメージを受けてしまうし神経使うよ
学習もクライアント側からすると遥かに時間かけた
295nobodyさん:2009/11/23(月) 00:23:52 ID:???
>>293
工作ではありません
犯罪性のある書き込みをチェックし犯行を未然に防ぐのが業務です
基本的には読むだけ(というか熟練すれば一瞥するだけで充分判ります)ですが
事実と異なる中傷などを見掛けた場合はその場で情報の訂正を行う事もあります
296nobodyさん:2009/11/23(月) 00:24:44 ID:???
うん当たり前だって。
297nobodyさん:2009/11/23(月) 10:28:29 ID:OIwIUaSp
これしってました?
すごく気持ち悪いんですけど。
ttp://gomojp.blog77.fc2.com/blog-entry-114.html

>>283
以前作ったのは、外に行くリンクは特定のURIを踏んで、例えば
/count.php?uri=http://URLエンコードしたリンク先URI
のように張ってそこで、カウントするのを作ったことがある。

ただこの方法はとび先の解析のリファラがみんな同じになっちゃってどこから飛んできたか
わからないのが何かな。headerをいじってリファラを一個前のにできたかもしれないけど、その時は特に問題がないので試さなかった。

あとPCサイトだったら、javascriptですべてのaタグのhrefを調べて外に飛んでたら置き換えとかすると、既存のページをいじらなくて済む。
298nobodyさん:2009/11/23(月) 10:38:35 ID:???
>>289
モダン?なフレームワークを使ってみて、そのソースコードを追ってみると良いかもしれない。
人の作ったコードを読むといっても、それがひどいコードだったらあんまり意味ないし。

おすすめはZendFramworkとsymfonyかな。この二つのフレームワークが使いやすいとか、良いとかいうのではなく、よく設計されてて、勉強になると思う。あとフレームワークじゃないけどDoctrineも勉強になった。

あと、他のプログラミング言語何か勉強してる?PHPしか知らないプログラマってかなり問題だと思う。まあ、先は長いと思うけど、お互いがんばろう!
299nobodyさん:2009/11/23(月) 10:45:02 ID:???
>>298
プログラミング好きなんだね。
15年目だけど言語はphpしか自信無いよ。
300nobodyさん:2009/11/23(月) 10:48:14 ID:???
技術で食っていこうと思って無いなら問題無いだろ
俺なんて>>297がなんで気持ち悪いのかもわからんし
301nobodyさん:2009/11/23(月) 11:03:08 ID:???
>>297
宣伝乙
302nobodyさん:2009/11/23(月) 11:52:41 ID:???
>>297
publicなメソッドから、privateなメソッド(メンバ関数)呼べたら気持ち悪いって…
publicなメソッドから、privateなフィールド(メンバ変数)扱えたら気持ち悪いか?
303nobodyさん:2009/11/23(月) 12:01:54 ID:???
誰か>>297のブログに間違いを指摘できる池沼はいないのか?
304nobodyさん:2009/11/23(月) 13:22:53 ID:???
> private 宣言されたメンバーには、そのメンバーを定義したクラスからのみアクセスできます。
305nobodyさん:2009/11/23(月) 13:52:45 ID:???
「どの言語を使うのか」
ではなく
「何を作るのか」

が重要なんでは無かろうか
306nobodyさん:2009/11/23(月) 14:46:21 ID:i4rNMi7t
2009年1月1日
2009年1月2日
2009年1月3日
・・・・・・・
というリストがあり、
これを
20090101
20090102
20090103
というように直したいと考えています

正規表現を用いて、2009 1 1 という感じで分割して
月数と日数の部分が1ケタだったら、先頭に0をつける(2009 01 01)
この方法が思いついたのですが、
これより簡単な方法があれば教えてほしいです
307nobodyさん:2009/11/23(月) 14:53:55 ID:???
一旦タイムスタンプにして
date関数通しなおす
308nobodyさん:2009/11/23(月) 14:58:18 ID:???
>月数と日数の部分が1ケタだったら、

とりあえず左側に0をつけて、右から2文字を切り出すというのではどう?
あるいはm[0]="01"・・・のような配列を用意しておいて、読み込む。

簡単だから処理が速いとは限らないけどね。
309nobodyさん:2009/11/23(月) 15:08:21 ID:???
正規表現クンの出番ですよ〜
310nobodyさん:2009/11/23(月) 15:14:56 ID:???
function sentouni_zero_tsukeru($str = null) {
$str = preg_replace('/[^0-9]/', '-', $str);
$uts = strtotime($str);
return date('Ymd', $uts);
}

ためしとらん
311nobodyさん:2009/11/23(月) 15:16:31 ID:???
結局正規表現か
312nobodyさん:2009/11/23(月) 15:17:59 ID:???
年月日で入ってくる以上正規表現使うだろ
いやなら
sscanfつかえば
313nobodyさん:2009/11/23(月) 15:18:50 ID:???
sscanfでいいじゃん
314nobodyさん:2009/11/23(月) 15:19:51 ID:???
$d = "2009年1月1日";
list($year, $month, $day) = sscanf($d, "%d年%d月%d日");
echo sprintf("%d%02d%02d", $year, $month, $day);
315nobodyさん:2009/11/23(月) 15:22:15 ID:???
正規表現君 本日の名言

「年月日で入ってくる以上正規表現使うだろ」
316nobodyさん:2009/11/23(月) 15:25:31 ID:???
別にまちがっちゃいねーし
正規表現なりのパターンマッチが必要だろ
312にsscanfも書いてんだし

無能はされ
317nobodyさん:2009/11/23(月) 15:28:21 ID:???
年月日を削除すりゃ1行で済むのに
318nobodyさん:2009/11/23(月) 15:28:36 ID:???
分割後、sprintf("%4d%2d%2d",$year,$mon$day)
319nobodyさん:2009/11/23(月) 15:35:12 ID:rXJjujSh
フレームワークやテンプレートはどういう状況の時に必要になるものでしょうか?
320nobodyさん:2009/11/23(月) 15:40:02 ID:???
就職したとき
321nobodyさん:2009/11/23(月) 15:40:52 ID:???
>>320
日本語で尾k
322nobodyさん:2009/11/23(月) 15:42:23 ID:???
バカには必要ありません。
323nobodyさん:2009/11/23(月) 15:49:37 ID:???
>>319
フレームワークだ
すなわち

  _____
|      |
|      |
|      | 
|____|
324306:2009/11/23(月) 15:56:08 ID:i4rNMi7t
ありがとうございました
325nobodyさん:2009/11/23(月) 16:09:17 ID:???
312 名前: nobodyさん [sage] 投稿日: 2009/11/23(月) 15:17:59 ID:???
年月日で入ってくる以上正規表現使うだろ
いやなら
sscanfつかえば

恥ずかしいwwww
326nobodyさん:2009/11/23(月) 16:14:22 ID:???
そうだねー恥ずかしいねー^^
ハイ次
327nobodyさん:2009/11/23(月) 16:31:30 ID:???
低レベル回答者はこのスレ来んなよwww
328nobodyさん:2009/11/23(月) 16:33:42 ID:???
PHPは嫌われているから他の言語支持者が荒らしにくるんですよ〜
懇親会で「たまにphpのスレで暴れてる」と言ってた某パーラーさん見てますか?
329nobodyさん:2009/11/23(月) 17:35:17 ID:???
>>297
遅レスだが、定義したクラスから呼ぶんだから、問題なかろう。
そもそも
$child->addChild(new Child());
の時、Super::addChild()の中の$thisのクラスはChildだ。
330nobodyさん:2009/11/23(月) 17:37:05 ID:???
Rubyのほうが優れてるんですかね?
331nobodyさん:2009/11/23(月) 17:46:31 ID:???
しるか屑
332nobodyさん:2009/11/23(月) 18:21:20 ID:YeA+xhX1
ブラウザからtextboxに入力したデータを
指定したファイルの指定した部分に書き換えることは可能ですか?


何がしたいのかというと、コマンドライン実行部分をユーザが、自由に変えられるようにしたいので
フォームに入力したコマンドラインを、指定したファイルのコマンドライン実行部分に書き換えができればいいです
もちろんコマンドラインなのでlinuxだとrm -rf *みたいなのもやられますが、そういうことをするユーザはいないという前提です


何かこうしたほうがいいみたいな対案があればよろしくお願いします
333nobodyさん:2009/11/23(月) 18:23:38 ID:???
できる

ハイ次
334nobodyさん:2009/11/23(月) 18:23:48 ID:???
そういえば、初期のApacheのCGIのサンプルに
そういうバックドアみたいなのがあって、
すごい勢いでアタックが来たっけな・・・
335nobodyさん:2009/11/23(月) 19:26:29 ID:???
何か最近、ここのスレ荒さが際立ってきたな
やっぱID出さんでもスレがないと駄目だな・・・
336nobodyさん:2009/11/23(月) 21:58:11 ID:???
「下らねぇ質問と偉そうな回答はID出して書き込みやがれ」っていうスレがあれば解決
337nobodyさん:2009/11/23(月) 23:08:55 ID:???
回答以外の煽りもID出してもらおう。
338nobodyさん:2009/11/24(火) 03:29:04 ID:???
わざわざ荒らしてるのはID出さないほうから流れてきたやつなのはガチ
わざわざ分離してやったのに早く新スレたてて巣へ帰れ
339108:2009/11/24(火) 04:15:27 ID:???
プログラム系自宅サーバー系の荒れは昔より酷くなってるな
何でだろう
340nobodyさん:2009/11/24(火) 04:27:35 ID:???
ここんとこ規制でやっと書き込めて憂さ晴らししてんだろ
場所をわきまえろといった感じだが
まぁ変な質問者も回答者もスルーすればよい
頑張ってるのは1.2人しかいないんだから
341nobodyさん:2009/11/24(火) 09:28:37 ID:???
>>339
お前みたいな低レベル質問者が増えたからじゃね?
342nobodyさん:2009/11/24(火) 10:18:45 ID:???
>>338
違う、個人的な私怨。
343nobodyさん:2009/11/24(火) 10:23:05 ID:???
PHPスレを代表するユーザー

正規表現クン
OCNくん
ちんぴらくん
文字列分割君
344nobodyさん:2009/11/24(火) 10:29:23 ID:???
ほんと、以前のように住み分けしないとこの荒さは鼻に付くな
「PHPは俺が伝授してやる」とか何とかのスレがあったが、あのレベルになってしまってるよ
まぁ、同一人物じゃないかとは思うが・・・
質問が、荒れた雑談のせいで通らなくなるケースもあるからね
345nobodyさん:2009/11/24(火) 10:32:15 ID:???
>>343
いちいちそういう事書くなよ。余計つけあがるだけだろ。
346nobodyさん:2009/11/24(火) 11:39:22 ID:9u891mXW
どなたか助けてください。
会員制のサイトを個人のプログラマー製作してもらったのですが、
行方不明になり修正を頼めなくなりました。
登録用メールアドレスですが、@の前にハイフンがついていると
新規登録できずに"メールアドレスが異常です"とエラーがでます。
これを登録できるように修正したいのですが
ファイルを見ていると、下記の部分かなあと
思うんですが、どのように修正すれば良いでしょうか。


$mailmach = "([[:alnum:]_\-\.]+)(\?|@)([[:alnum:]_\-]+\.[[:alnum:]_\-\.]+)";
if (checkMultiBitesString($_REQUEST['mailaddress'])) {
$error_mes .= '全角文字は使用出来ません<br />';
} else if (!eregi($mailmach,$_REQUEST['mailaddress'])) {
$error_mes .= 'メールアドレスの形式が異常です<br />';
347nobodyさん:2009/11/24(火) 11:41:03 ID:???
一切触れなければいいだけ、完スルーが鉄則
まあこのレスも鉄則に反してるけど許して
348nobodyさん:2009/11/24(火) 11:55:28 ID:???
>>346
@の前の「\-」を消せばok
349nobodyさん:2009/11/24(火) 12:09:04 ID:9u891mXW
>>348
ご回答ありがとうございます。
ド素人ですいません、@の前の「\-」↓のようにするってことでしょうか。

$mailmach = "([[:alnum:]_\.]+)(\?|@)([[:alnum:]_\-]+\.[[:alnum:]_\-\.]+)";
350nobodyさん:2009/11/24(火) 12:43:36 ID:???
「(それが正しいなら)どんなメアドの形式でも」にマッチする正規表現を書くのは
とても困難だと聞いたことがあるな。
無理せず地道にチェックする関数を、別のプログラマに書いてもらった方が
先々にも良いんじゃないかな。
351nobodyさん:2009/11/24(火) 12:44:12 ID:???
それにしてもきめえ正規表現だな
352nobodyさん:2009/11/24(火) 12:44:59 ID:???
mailmachって何だろう、メールマッハ?
353nobodyさん:2009/11/24(火) 12:50:21 ID:???
RFC完全準拠のチェックなんてしても無駄
プロバイダメールもYahooもGoogleもRFCに準拠したメール作れないし
マイナーなメールなんて荒らし目的なんだから一般的なチェックだけしてりゃいいんだよ
354nobodyさん:2009/11/24(火) 13:01:36 ID:???
byteの複数形ってbitesなんかよ、とかもな >>352
355nobodyさん:2009/11/24(火) 13:12:14 ID:t2/f6k4N
simple_xml_load_fileでXMLを取得し、部分の値を変更して
xmlで再度保存したいのですが
simple_xml_load_fileの逆の関数ってないですか?
また、ない場合どのように保存すれば良いのでしょうか。
356nobodyさん:2009/11/24(火) 13:14:21 ID:???
SBがメールの正規表現をややこしくしてる件について
357nobodyさん:2009/11/24(火) 13:20:49 ID:???
>>349
その回答は間違ってるので無視して
というか元の正規表現が @[email protected]@ でも受け付ける程うんこ
symfonyのバリデータからパクってきたので置き換えてね

} else if (!preg_match('/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i', $_REQUEST['mailaddress'])) {
$error_mes .= 'メールアドレスの形式が異常です<br />';

>>355
http://jp.php.net/manual/ja/simplexmlelement.asXML.php
358nobodyさん:2009/11/24(火) 13:23:10 ID:t2/f6k4N
>>357
ありがとうございます!
これPEAR?
359nobodyさん:2009/11/24(火) 13:30:27 ID:???
imagecreatefromjpegの使用でURLを指定しているのですが
サービス(サービスA)をおいているサーバーのURLを指定すると失敗します。

サービスAでサービスAのURLを指定→失敗
サービスAでサービスBのURLを指定→成功
ローカルからサービスAのURLを指定→成功
ローカルからサービスBのURLを指定→成功

尚、allow_url_fopenは有効になっています。
なぜかAからAの場合だけ失敗します。

何か原因が考えられるでしょうか?
360359:2009/11/24(火) 13:47:00 ID:???
すいません書き込む場所を間違えました
ここは池沼が多いのでプログラム板で聞きます
361nobodyさん:2009/11/24(火) 14:17:36 ID:???
そうだね。でも君のほうがちしょうだね
362349:2009/11/24(火) 14:19:48 ID:???
>>357
池沼はだまってろ
>>348
ありがとうございますできました。
363nobodyさん:2009/11/24(火) 14:32:04 ID:???
また正規表現クンが荒らしてるのか
364nobodyさん:2009/11/24(火) 15:49:37 ID:???
>>362
えー、ホントにそれでいいの?  エラーが出るってのも変な話な上に でたらめなアドレス+正しいアドレスでも通っちゃうような
変なチェックだよ? -とったら、通るわけ無いのに。 
この場合はどーでもいいけど、eregiとかで返り値0のときもあるんでその書き方やめようよ。
365nobodyさん:2009/11/24(火) 15:54:07 ID:fu2efFAP
APCなどのアクセラレータとmemcacheを両方使用するのは可能でしょうか?
検索してみたのですが、APCとmemcacheの比較ページなどがでてきて、競合しているような感じでした。

memcacheは一部のSQL結果を複数台にキャッシュしておくのに使おうと思っています。
366nobodyさん:2009/11/24(火) 15:54:18 ID:???
367nobodyさん:2009/11/24(火) 16:05:10 ID:9u891mXW
>>359
ありがとうございました。
ただ、構文エラーが出てしまいます。。。

368nobodyさん:2009/11/24(火) 16:14:08 ID:9u891mXW
>>364
なんか偽物がでてきてややこしくなってますね。
362の方が偽物です。
369nobodyさん:2009/11/24(火) 16:17:25 ID:???
本物とか偽物とかどうでもいいから池沼同士仲良くやれよ
370nobodyさん:2009/11/24(火) 16:43:14 ID:???
でもそんなのかんけぇねぇ、はい
371nobodyさん:2009/11/24(火) 16:45:25 ID:???
オッ
372nobodyさん:2009/11/24(火) 16:48:07 ID:???
ッパ
373357:2009/11/24(火) 17:10:04 ID:6BE8AIaE


>>358
SimpleXMLの組み込みクラス
http://jp.php.net/manual/ja/book.simplexml.php

>>365

memcacheはmemcachedサーバのクライアント
APCは共有メモリを使うだけ…だよね?嘘言ってたらごめん

>>368
ID出てるから分かってるよ。>>1の通り相手はしないでくれ

修正前 } else if (!eregi($mailmach,$_REQUEST['mailaddress'])) {
修正後 } else if (!preg_match('/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i', $_REQUEST['mailaddress'])) {
これだけで構文エラー出ちゃう?そうならエラー内容を省かず書いて下さい
374nobodyさん:2009/11/24(火) 17:20:11 ID:???
373 :357:2009/11/24(火) 17:10:04 ID:6BE8AIaE


ちょっと違うw
375nobodyさん:2009/11/24(火) 19:34:03 ID:lkrJ2WGJ
pearのDBパッケージは業務で耐えられますか?
376nobodyさん:2009/11/24(火) 19:38:39 ID:t2/f6k4N
MDB2つかえよ
377nobodyさん:2009/11/24(火) 19:52:31 ID:???
急に態度がでかくなったww
378nobodyさん:2009/11/24(火) 19:55:04 ID:xR1IV2Mw
>>227
まさかそんな理由で処理が止まっていたとは…予想外でした…
とりあえず、69の部分を減らす努力をしてみて、無理そうであれば配列に置き換えたプログラムを作成してみようと思います。
ありがとうございました。
379nobodyさん:2009/11/24(火) 20:00:54 ID:???
>>376
よお
380nobodyさん:2009/11/24(火) 21:11:16 ID:???
>>375
昔はPEAR::DBをみな使ってたから、普通に業務でも使われてる。
ネットスーパーのトップ5に入るシステムはpear::DBだよ。

でも今から開発するならmdb2やpdoにしたほうがいい。
マニュアルにも
「This package has been superseded. Please use MDB2 for new projects. 」
とあるしね。
381nobodyさん:2009/11/24(火) 21:26:09 ID:???
正規表現クンってID出さないほうの登場キャラクターだろ?
OCNとちんぴらは俺が初心者にPHPを(ryの登場キャラクターだろ?
スレ跨いで持ち込まないでくれるかな
巣へおかえりくださいまし
382nobodyさん:2009/11/24(火) 21:37:15 ID:???
>>375
これからやるならPEAR::DBはもう保守のみだから後継のMDB2を使った方がいいよ。
もしくはPDO。速度的にはPDOが一番みたいだからね。
383nobodyさん:2009/11/24(火) 22:09:40 ID:???
PDOは今はPHPに標準でついてるから使ってる
384nobodyさん:2009/11/24(火) 22:12:46 ID:???
MDB2っていうのはスクリプトですか?
385nobodyさん:2009/11/24(火) 22:55:06 ID:???
386368です:2009/11/24(火) 23:03:36 ID:cyQ946/c
>>373
エラーでませんでした。
メチャメチャ感謝しております。
今度はあなたのような知識も人格も素晴らしい人に
作ってもらいたいです。
本当にありがとうございました。
387nobodyさん:2009/11/24(火) 23:36:19 ID:???
>>385
ありがとうございます
388nobodyさん:2009/11/25(水) 00:24:35 ID:???
ID出さないスレの幕が終わったか
これでID隠蔽厨がこちらの聖域に攻めてくるってことか
389nobodyさん:2009/11/25(水) 00:30:07 ID:???
質問者より、無意味にイライラした回答者と質問も回答もせずにひたすら煽る奴が問題
390nobodyさん:2009/11/25(水) 00:31:00 ID:???
自己紹介乙
391nobodyさん:2009/11/25(水) 00:35:01 ID:???
ID出さないスレが終わる前からこのスレはもともとこんな調子じゃん。
全員ID表示にしないと改善しないよ。
392nobodyさん:2009/11/25(水) 01:02:54 ID:???
>>389=355
393nobodyさん:2009/11/25(水) 05:13:10 ID:???
回線切って繋ぎなおすだけで変わるIDに依存するのもどうかと
394nobodyさん:2009/11/25(水) 05:48:37 ID:???
匿名だからスルーするしかない
煽り耐性つけようぜ
395nobodyさん:2009/11/25(水) 09:37:13 ID:24OMfQgX
win vista apache2.2でphp5.2から5.3.1にしたら、
phpスクリプトがそのまま(でもないですが)処理されず表示されます。
htmlソースでみると、phpスクリプトそのまんま表示されています。

5.2のときは問題なかったのですが。
どこを確認すればいいでしょうか?
396nobodyさん:2009/11/25(水) 10:16:29 ID:???
>>388
だから誰かが別スレ作らなきゃ荒れたままになってしまう
397nobodyさん:2009/11/25(水) 10:41:07 ID:HdHoonJ/
どうしてこうなるのかよくわからないので教えてください。
計算から出した答えの小数点以下を切り捨てするのですが、floorを使っています。
3000の58%、つまり3000*0.58をfloorで切り捨てています。
3000*0.58は1740となるので、小数点以下はないのですが、floorをかけると1739となってしまいます。
floor(3000*0.58)が1739となるのです。
試しにfloor(1740)とすると、ちゃんと1740と返ってきます。
どうしてこういう現象が起こるのでしょうか?
小数点切り捨てはfloorではなく、(int)nで行ったほうがいいのでしょうか?
398nobodyさん:2009/11/25(水) 10:48:50 ID:???
そりゃあれだ基本情報とるとき勉強したな
丸め誤差とか桁おちとかそのへんのキーワードで調べてみるといいかもしれん
399nobodyさん:2009/11/25(水) 10:52:09 ID:???
丸め誤差はround関数つかってくだはい
400nobodyさん:2009/11/25(水) 21:22:00 ID:7eSRtgQB
指定したファイルの属性(読み取り専用/隠しファイル)を取得できる関数はありませんか?
ファイルはローカル上のスクリプトと同じディレクトリにあります。
OSはWindowsです。
401400:2009/11/25(水) 21:44:42 ID:7eSRtgQB
すみません、事故解決してしまいました。
読み取り専用かどうかはis_writable()、隠しファイルかどうかはfileperms()
で見れば良かったんですね・・・迂闊でした
402nobodyさん:2009/11/25(水) 22:17:22 ID:QdGBdfZs
utf-8を使っていて、sessionを使うと
Cannot send session cookie - headers already sent by (output started ・・・・)
って言われちゃうのって、何が原因でしたっけ?
でphp.iniのどこを直せばよかったんでしたっけ?
前のこのスレにあったと思ったのですが・・・
403nobodyさん:2009/11/25(水) 22:19:03 ID:???
BOMです
404nobodyさん:2009/11/25(水) 22:43:18 ID:???
質問です。PHP 5.2.11です。
配列に連続した数値を一括して代入したいのですが、

 例1: $arrInt = array(0, 1, 2, 3, 4, 5, 6, 7, 8 ,9 ,10);
 例2: for ($i = 1; $i <= 100; $i++) { $arrInt[] = $il; }

↑以外の方法ってありますでしょうか。

イメージとしては
 $arrInt = array(0..10);
みたいなのが無いかなーと思って公式サイトを探して見たんですが、見当たりませんでした。
405nobodyさん:2009/11/25(水) 22:44:17 ID:???
>>404
rangeというのがあります。
あとスレタイに書いてある通りID出しもお願いします。
406404:2009/11/25(水) 22:44:27 ID:SfJ3bZNu
>>404 ID出し忘れました

改めて宜しくお願いします
407404:2009/11/25(水) 22:45:32 ID:SfJ3bZNu
>>405
おお、即答ありがとうございます!
リファレンス見てきます!
408402:2009/11/25(水) 23:32:36 ID:QdGBdfZs
>>403
ありがとうございました。
でも解決できてません。
何をしたら・・・・
409nobodyさん:2009/11/25(水) 23:40:07 ID:???
>>408
エディタの文字コードの設定でBOM無しにする。
410nobodyさん:2009/11/26(木) 04:32:58 ID:um0Zr4zV
【OS名】CentOS 5.3
【PHPのバージョン】php 5.26
【質問内容】
スクリプトの文字コードはSJIS、HTMLもSJISで出力しています。
form の input type=text に文字列を入力し、POSTされた値を $_POST で受け取る
処理を作っています。

form にSJIS以外の文字を入力されると、IEの場合は数値文字参照で渡ってくる
様なのですが、これをはじくことは出来ませんか?
また、SJISに変換可能な場合は極力変換したいです。

なお、SJIS以外の文字とは、↓の補助漢字や、第四水準の文字をコピペした場合です。
ttp://www.shuiren.org/chuden/teach/code/main5.htm
411nobodyさん:2009/11/26(木) 05:11:51 ID:???
mb_detect_encodingで判別するなり
正規表現で文字コードの範囲内かどうかをチェックするなり
すればいいんじゃないかな?
412nobodyさん:2009/11/26(木) 10:08:39 ID:???
>>410
無理
413nobodyさん:2009/11/26(木) 10:57:24 ID:uEHoE6AG
【OS名】Xp
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql

mysql+PHPでレコードされているデータを
取り出すときに
while(){$data.=$hoge[hoge];}
の形式で取り出していますが。
取り出したデータがおかしい時は処理をやめて
次の配列番号に移行したいのですがcontinueを使うとwhile文自体が
終了してしまいます。そこで
while(){
if(strlen($hoge[hoge])<1){
$data.="";}
else{$data.=$hoge[hoge];}
}
といった条件式で振り分けるとなぜか全データが表示されません。
for文で使えるcontinueに変わるような書き方はないでしょうか?
414nobodyさん:2009/11/26(木) 10:59:35 ID:???
415nobodyさん:2009/11/26(木) 11:00:28 ID:???
while(){
while(){
while(){
while(){
while(){
while(){

え?
416nobodyさん:2009/11/26(木) 11:09:36 ID:LHR/M1Ke
クライアントから、半角カナと半角英数字以外は全て消去してくれって言われたんですけど
正規表現でどう表現すればいいのか・・・
ググってはみたものの、サイトによってバラバラで決め手にかけるもので・・・。
417nobodyさん:2009/11/26(木) 11:11:13 ID:???
preg_replace 正規表現でggrks
418nobodyさん:2009/11/26(木) 11:14:28 ID:???
サイトによってバラバラなら一つずつ検証するよろし
419nobodyさん:2009/11/26(木) 11:17:19 ID:???
レベル低っ!!
420nobodyさん:2009/11/26(木) 11:34:44 ID:???
正規表現とか、ノウハウの蓄積、ほしいのう
421nobodyさん:2009/11/26(木) 11:48:12 ID:???
正規表現の基本的な部分はどれも変わらねえよks
422nobodyさん:2009/11/26(木) 14:20:56 ID:???
>>416
ばらばらなやつここに書けばいいのに。
423nobodyさん:2009/11/26(木) 14:21:22 ID:hCTIM6Hw
フレームワークとかpearとかで結構フォームを作成するためのライブラリがあったりしますけど
その中で特に記述が簡単で高機能な物ってなんでしょうか?
424nobodyさん:2009/11/26(木) 15:16:32 ID:???
自分で決めろバカ
お前のことはお前がよくわかってんだろ
425nobodyさん:2009/11/26(木) 20:06:32 ID:???
本日の回答者 =分類=

煽り系低脳
>>415 >>419 >>421 >>424

口は悪いが優しい
>>417

突き放し系
>>412

独り言
>>420

意図不明(揚げ足取り?)
>>414

尤もな意見
>>418 >>422

まともな回答
>>411
426nobodyさん:2009/11/26(木) 20:08:32 ID:???
>>425
バカ

>>415
>>421
>>417
>>412
>>414
は全部俺だ池沼
427nobodyさん:2009/11/26(木) 20:20:59 ID:???
>>425>>412>>414>>415>>417>>421

がいなくなれば少しは良いスレになるということか・・
428nobodyさん:2009/11/26(木) 20:21:41 ID:???
間違えた

>>426>>412>>414>>415>>417>>421

だな
429nobodyさん:2009/11/26(木) 20:25:12 ID:???
>>425 ひでぇスレだなw
430nobodyさん:2009/11/26(木) 20:52:47 ID:???
>>427お前IP出せ
431nobodyさん:2009/11/26(木) 21:04:39 ID:???
432nobodyさん:2009/11/26(木) 21:05:24 ID:???
酷い書き込みばかりしてることを
>>426はなんでわざわざ自分で晒してるの?
433nobodyさん:2009/11/26(木) 21:12:51 ID:???
最近荒れてる原因の人? >426
434nobodyさん:2009/11/26(木) 21:16:42 ID:???
ばかばっか
435nobodyさん:2009/11/26(木) 21:26:35 ID:???
>>432
おめー小心者だろ
てめえみてえなksは眼中にねえ
436nobodyさん:2009/11/26(木) 21:36:21 ID:???
真性バカが登場したな
437nobodyさん:2009/11/26(木) 22:09:56 ID:???
IP出せっていってるやつはチンピラだろ
巣へ帰れ
http://pc11.2ch.net/test/read.cgi/php/1167984858/
438nobodyさん:2009/11/26(木) 22:12:51 ID:???
質問でもないのに何でIP出させようとするのか意味不明
439nobodyさん:2009/11/26(木) 22:12:59 ID:???
>>413
ていうかそれだけじゃよくわからないけど
for文で解決するならfor文使えばいいのでは?
while文でできることはfor文でもできるんだし
440nobodyさん:2009/11/26(木) 22:16:09 ID:???
またOCNとちんぴらか
441nobodyさん:2009/11/26(木) 22:20:23 ID:???
煽り大好き真性池沼=ちんぴら
かしこぶって煽り耐性がない=OCN
442PHP学習中:2009/11/26(木) 22:21:09 ID:???
>>413
for ($hoge as $val)
{
  if (!empty($val))
    $data .= $val;
}

とかじゃダメ?
443nobodyさん:2009/11/26(木) 22:21:39 ID:???
>>441
アンチPHPのパーラーも追加しとけよ
444nobodyさん:2009/11/26(木) 22:33:53 ID:???
>>438
質問でもIPは出さない。
445nobodyさん:2009/11/26(木) 23:13:42 ID:???
>>442
回答するならせめてParse errorにならない例を示せよ
446nobodyさん:2009/11/26(木) 23:16:50 ID:???
447nobodyさん:2009/11/26(木) 23:19:44 ID:???
Parse errorにはならんと思われるが
448nobodyさん:2009/11/26(木) 23:20:44 ID:???
445じゃないけど、forなのにならんの??

449nobodyさん:2009/11/26(木) 23:21:43 ID:???
>>413
while(1){
  if (!empty($val))
    $data .= $val;
}

これでおk
450nobodyさん:2009/11/26(木) 23:22:33 ID:???
つかエラーになったところで少し考えりゃわかるだろうよ
451nobodyさん:2009/11/26(木) 23:24:08 ID:???
>>449
まてwww
452PHP学習中(>>442):2009/11/26(木) 23:30:48 ID:???
ごめん、眠たくて頭が働いてなかったみたい

修正版↓

foreach ($hoge as $val)
{
  if (!empty($val))
    $data .= $val;
}
453nobodyさん:2009/11/26(木) 23:38:43 ID:???
回すごとにif判断するのか
センスねえきめえコードだな
454PHP学習中(>>442):2009/11/26(木) 23:43:17 ID:???
>>453
名前のとおり、学習中だから。。

どうすればいいの?
455nobodyさん:2009/11/26(木) 23:44:19 ID:???
456nobodyさん:2009/11/26(木) 23:46:39 ID:???
>>413
> 取り出したデータがおかしい時

具体的にどんなデータのとき?
457nobodyさん:2009/11/26(木) 23:47:28 ID:???
>>452
foreachで回す前に空は取り除けよksg
458nobodyさん:2009/11/26(木) 23:48:25 ID:???
>>455
池沼は書き込むなスレが汚れるだろ
459nobodyさん:2009/11/26(木) 23:49:24 ID:???
「ks」を多用するからわかりやすい
460nobodyさん:2009/11/26(木) 23:50:27 ID:???
またインテリぶってるOCNがスレを加速させてんのか
461nobodyさん:2009/11/26(木) 23:54:11 ID:???
>>457
sampleテーブルのtestカラムの全レコードをSELECT抽出して
異常なデータを除いて連結するスクリプトよろ
462nobodyさん:2009/11/26(木) 23:57:23 ID:???
463nobodyさん:2009/11/27(金) 00:01:05 ID:???
>>462
ドサクサに紛れて丸投げ乙
464463:2009/11/27(金) 00:01:45 ID:???
アンカーミス
>>461宛ね
465PHP学習中(>>442):2009/11/27(金) 00:04:41 ID:???
>>413を読み直すと、データベースから取り出すときの話だから

   while ($hoge = mysql_fetch_assoc($rc))
   {
     ここで処理
   }

みたいな書き方にならない?
「回す前に空は取り除けよ」って、できるの?
466nobodyさん:2009/11/27(金) 00:14:04 ID:???
>>465
かわいそうな子だから無視して良いよ。
殻を取り除く処理でループもう一つ回すほうがおバカ。
467nobodyさん:2009/11/27(金) 00:26:04 ID:???
どうみてもチンピラが荒らしてるんだろ
特徴丸出しでOCNに責任転嫁とは見苦しい
468nobodyさん:2009/11/27(金) 00:30:09 ID:???
学習者だろうが善良な質問者だろうが構わず喰ってかかる様はまさにチンピラ
469nobodyさん:2009/11/27(金) 00:36:27 ID:wQd2OSTw
Array ( [0] => test_c.html [1] => test_b.html [2] => Array ( [0] => sub/test_d.html ) [3] => test_e.html )

こういう連想配列の場合に値のファイル名だけ取得したいのですが、
再帰以外で方法は無いでしょうか?
470nobodyさん:2009/11/27(金) 00:40:58 ID:???
そうだね
471nobodyさん:2009/11/27(金) 01:56:34 ID:???
>>426
おまえ1人が居なくなれば、荒れなくなるってことじゃないか
煽り目的だけ出来てる屑はさっさと死ねよ
472nobodyさん:2009/11/27(金) 03:11:44 ID:???
おかしいデータとやらはwhereで避けられないのかな?とは思う。
473410:2009/11/27(金) 09:32:06 ID:U/jB2eYt
>>411
数値文字参照をmb_detect_encoding()で判定してもASCIIにしか判定されないのよね。
?[0-9];で構成された文字列だし。

mb_convert_encoding($str, 'SJIS', 'HTML-ENTITIES');
で、数値文字参照を通常の文字列に変換出来ることは分かったけど、SJIS以外の文字は
"?"に変換されるみたいで、元から"?"を含む文字列だと変換に失敗したのか判断に困る。

> 正規表現で文字コードの範囲内かどうかをチェックするなり
これをやろうとすると、SJISとUTF-8(数値文字参照)のマッピングが細切れになってて、
結構大変そうです。
474nobodyさん:2009/11/27(金) 09:37:47 ID:???
俺も漢字の正規表現知りたい。
Perl Advent Calendar みたいに、
PHP Advent Calendar があるといいかも。
475nobodyさん:2009/11/27(金) 09:57:16 ID:???
>>426
荒らしの自白ワロタ
476nobodyさん:2009/11/27(金) 10:01:31 ID:???
そもそもおかしなデータという定義もされてないのに答えようがない件
477nobodyさん:2009/11/27(金) 10:05:38 ID:???
俺から見たら>>442が荒らしてるっぽいけど気のせいだろうか
foreach ($hoge as $val)
{
  if (!empty($val))
    $data .= $val;
}

emptyをチェックするならforeachにかけるまえに標準関数で用意されたものに通してからforeachするほうがずっとスマートだ
そもそも質問者は不正なデータというのが何なのか定義してないから>>442も間違い
478nobodyさん:2009/11/27(金) 10:11:04 ID:???
質問者が何事も無く突然現れるのも不自然w
479nobodyさん:2009/11/27(金) 10:21:08 ID:???
phpで質問なんかでてくるのが不自然
480nobodyさん:2009/11/27(金) 10:21:35 ID:???
>>477
>>465
481nobodyさん:2009/11/27(金) 10:22:24 ID:???
PHP使ってるのなんて不自然
482nobodyさん:2009/11/27(金) 10:23:14 ID:???
つーかID出して無い質問はスルーしとけよ。
483nobodyさん:2009/11/27(金) 10:24:41 ID:???
明らかに>>426が元凶なのに
そいつをかばおうとするのが不自然
484nobodyさん:2009/11/27(金) 10:26:17 ID:???
>>482
>>413はIDを出しているわけだが。

その後行方不明ではあるけれど。
485nobodyさん:2009/11/27(金) 10:27:51 ID:???
もっと荒れてクソ言語使いが減れば良い
486nobodyさん:2009/11/27(金) 10:40:31 ID:???
PHPって標準関数が多すぎるね。
それに引数のルールが曖昧。
例えば文字関数だと、引数の順序が関数によって異なるから最初戸惑った。

(例)
・mb_convert_encoding(文字列, 変換先, 変換元)
・mb_convert_variables(変換先, 変換元, 文字列)

言語自体はクソではないと思うけど、このへんがいい加減だなって思う。
487nobodyさん:2009/11/27(金) 11:07:09 ID:???
一緒じゃないとプログラムも書けない子なのか
488nobodyさん:2009/11/27(金) 11:13:27 ID:???
職業プログラマは良いだろうが、言語開発者からするとそういうところで萎えるんだよ。
489nobodyさん:2009/11/27(金) 11:13:47 ID:???
mb_convert_variablesは引数に取れる変換対象変数の数が可変だから最後になってるんだよ
490nobodyさん:2009/11/27(金) 11:21:42 ID:???
荒らしがなんちゃら言ってる奴のレスが多くて一番邪魔な件について
491nobodyさん:2009/11/27(金) 11:22:55 ID:???
4千以上もあるって聞いたけど
標準関数なんてごく基本的なものだけで良くね?
492nobodyさん:2009/11/27(金) 11:25:04 ID:???
>>489
なるほど。
str_replaceも対象の文字列が3番目だったと思うけど、あれも置換対象の数が可変なんだっけ?
493nobodyさん:2009/11/27(金) 11:25:49 ID:???
マニュアルの関数一覧だけで5999もある
ちなみにマニュアルの関数一覧は新しく搭載された関数はいまだ載ってないので6000以上はあると思われ
494nobodyさん:2009/11/27(金) 11:50:03 ID:???
>>477
で、おまえはいつになったら正解のコード書くんだよ
495nobodyさん:2009/11/27(金) 11:51:10 ID:???
array()笑
496nobodyさん:2009/11/27(金) 11:52:31 ID:???
>>494みたいなのが一番荒らし
497nobodyさん:2009/11/27(金) 11:56:08 ID:???
498nobodyさん:2009/11/27(金) 11:58:03 ID:???
>>457にも早く正解を書いてほしい。
499nobodyさん:2009/11/27(金) 12:01:13 ID:???
>>487
「最初戸惑った」という字も読めない子なのね・・
500nobodyさん:2009/11/27(金) 12:03:01 ID:???
>>494-499
>>490を読んでから以下のスレに移動よろ

【総合】 Webprog板質問雑談スレッド 1
http://pc11.2ch.net/test/read.cgi/php/1131016915/
501nobodyさん:2009/11/27(金) 12:04:25 ID:???
>>498=>>442
もっと煽り体勢を付けようぜ
502nobodyさん:2009/11/27(金) 12:04:34 ID:???
久々に荒れてんなw
503nobodyさん:2009/11/27(金) 12:04:36 ID:???
504nobodyさん:2009/11/27(金) 12:05:58 ID:???
>>410>>442がだと思われるオッサンが無駄にレスして荒らしてるんだろ?
無駄にスレが進行するから消えて^^
505nobodyさん:2009/11/27(金) 12:06:20 ID:???
506nobodyさん:2009/11/27(金) 12:07:17 ID:???
明らかに>>426が元凶なのに
そいつをかばおうとするのが不自然
507nobodyさん:2009/11/27(金) 12:10:17 ID:evx8hvV/
自分は荒らしじゃないと思ってる人は何で他の人の迷惑になってるのに気づかないんだろう
以下自称自治厨の荒らしはスルーでお願いします

質問どうぞあげ
508nobodyさん:2009/11/27(金) 12:11:24 ID:???
いまID出たら面白いことになりそうだw
509nobodyさん:2009/11/27(金) 12:14:38 ID:???
>>457
威勢よく言ってみたけど
やっぱり書けなかった
ってパターン
510nobodyさん:2009/11/27(金) 12:15:55 ID:???
>>442が自分のコード煽られて悔しくて荒らしてるパターン乙
511nobodyさん:2009/11/27(金) 12:18:04 ID:???
>>510はなぜ>>457>>426の肩を持つのでしょうねぇ
512nobodyさん:2009/11/27(金) 12:18:28 ID:???
ここまで>>442以外のコードが出てこない件について
513nobodyさん:2009/11/27(金) 12:19:02 ID:???
514nobodyさん:2009/11/27(金) 12:19:46 ID:???
for ($hoge as $val)
{
  if (!empty($val))
    $data .= $val;
}
つうかこれのどこが>>410の回答になってるのかkwsk
515nobodyさん:2009/11/27(金) 12:22:14 ID:???
>>442>>452>>465 でしょ
516nobodyさん:2009/11/27(金) 12:22:39 ID:???
>>413への回答だろ常考
517nobodyさん:2009/11/27(金) 12:23:15 ID:???
2〜3人だと思われる荒らし君達はいつまでここで続けるのかお金掛けようぜ
518nobodyさん:2009/11/27(金) 12:23:31 ID:???
荒らしてたのは>>410でした、と。
519nobodyさん:2009/11/27(金) 12:24:19 ID:???
>>410>>413の話を出してる奴らは全員ID出してレスしてくれや
あぼ〜ん出来ないだろ
520nobodyさん:2009/11/27(金) 12:25:59 ID:???
見ないという選択肢もある
俺は面白いから見てるがw
521nobodyさん:2009/11/27(金) 12:26:18 ID:???
>>519さんがあぼーんできるようにID出してあげます
っていう人がいると思う?
522nobodyさん:2009/11/27(金) 12:27:59 ID:???
初学者を貶す人って、PHPができる人が増えたら自分の存在価値がなくなるから焦ってるとか?
523nobodyさん:2009/11/27(金) 12:28:52 ID:???
伸びてるなーと思ったら・・・なんつー低俗な祭り
低レベルあほ無職プログラマー同士仲良くやってくれるかな
524nobodyさん:2009/11/27(金) 12:39:09 ID:???
>>522
だからphpが嫌いで嫌いでしょうがないから荒らしてるんだって
525nobodyさん:2009/11/27(金) 12:43:43 ID:???
伸びてるねーちなみに荒らしてるレスってどれ?
526nobodyさん:2009/11/27(金) 12:48:52 ID:???
>>522
単に馬鹿にしたいだけ。
527nobodyさん:2009/11/27(金) 12:55:09 ID:???
PHPが特段他に比べて関数が多いってことはないよ
ほぼWebに限定してるからむしろ少ないぐらい
純粋なオブジェクト指向型の言語だとメソッド(関数のようなもの)を継承するので
サブクラスのメソッドを含めるととてつもなくややこしくなる
スーパークラスのメソッドを使うべきかサブクラスのメソッドを使うべきか迷うこともある
いくつかの解説サイトなんかを見ても同じことしてるのにインスタンス化するクラスが違ったりね
PHPのような元々手続きから進化してきた言語は分かりやすくていいと思うけどね
528nobodyさん:2009/11/27(金) 13:04:48 ID:???
oopできない馬鹿がなにかいってる
529nobodyさん:2009/11/27(金) 13:07:52 ID:???
あらしっつーかバカ同士の馴れ合いでしょ

そんなのもわかんねーの?
じゃあ答えてやれよ
は?お前が答えろよ
はい、荒らし乙
いやいやお前が荒らし
これでどうだ?
プなにそれ恥ずかしくないの?
じゃあおまえがry
530nobodyさん:2009/11/27(金) 13:10:20 ID:???
コアメンバにマルチバイトに対して理解が無い奴がいるから使うの辞めた
あいつ頭固すぎだろ、今は知らんが。
531nobodyさん:2009/11/27(金) 13:23:25 ID:???
oopっていう用語使うやつってだめなやつ多いよね
532nobodyさん:2009/11/27(金) 13:26:53 ID:???
質問ならIDだせ
533nobodyさん:2009/11/27(金) 13:54:22 ID:???
>スーパークラスのメソッドを使うべきかサブクラスのメソッドを使うべきか迷うこともある

それ、どっちの「メソッドを」使うべきかって問題じゃないからw
534nobodyさん:2009/11/27(金) 13:58:29 ID:LIY03Y4c
会社のホームページ上で案件DBから引っ張ってきたデータを表示する、案件管理システムを構築中です。

DBの編集は、CSVダンプ→アップロード、またはphpMyadminから可能ですが、どちらも一長一短でして。
ところが、最近http://www.drasticdata.nl/DrasticTools/ExampleGrid1.phpこんなのを発見し、重宝しております。

使い勝手も良く、素晴らしいツールなのですが、ただ1点、問題点があります。
レコードの最終更新日を自動で持つ項目(timestamp型、デフォルト値はCURRENT_TIMESTAMP)が、更新されないのです。

たすけて

535nobodyさん:2009/11/27(金) 13:59:30 ID:???
>>534
【 スクリプト改造依頼スレ】(丸投げ) part7再々
http://pc11.2ch.net/test/read.cgi/php/1222645553/
536nobodyさん:2009/11/27(金) 14:02:00 ID:???
継承も理解してないのにoopをたたくバカ
生き恥だな。こんなやつが回答してるすれだもんな
そりゃ低レベルな荒れ方するわ
537nobodyさん:2009/11/27(金) 14:06:18 ID:???
質問する

回答つくまでリロード

他の質問

これならわかると回答


低レベルスレの完成です。
538nobodyさん:2009/11/27(金) 14:23:00 ID:???
くだしつなんだからレベルとか気にするなよ
539nobodyさん:2009/11/27(金) 14:29:17 ID:???
>>531はいつもの荒らしさんですね、わかりますよ
540nobodyさん:2009/11/27(金) 14:38:18 ID:???
>>533
使う”べき”じゃなくて使う”か”に訂正しといて
実際どっちのクラスを使っても正解ということはあるよね?
正解というかどっちでもOKみたいな感じ
たとえばオーバライドしたメソッド1つ変更しただけで他は変更なしみたいなサブクラス
このメソッドを使用しなかった場合普通はスーパーのほうを使うかもしれないけど
サブを使っても問題はないというお話
541nobodyさん:2009/11/27(金) 14:40:40 ID:???
ww

まずおまえはIDだせ話はそれからだ
542nobodyさん:2009/11/27(金) 14:41:22 ID:???
おい、またチンピラが出たぞ
543nobodyさん:2009/11/27(金) 14:47:05 ID:???

ずれてるの指摘してやるからIDだせっつてんだ
出さないなら回答しない。それだけ

なーにがちんぴらだ気色悪い
544nobodyさん:2009/11/27(金) 14:52:01 ID:???
回答しなくていいよ
また低レベルな回答されても荒れるだけだからww
545540:2009/11/27(金) 15:02:04 ID:p6jIIbQ6
指摘はきいてみたい
というわけでID出すので>>543よろしくお願い
546nobodyさん:2009/11/27(金) 15:02:06 ID:???
こいつが元凶だわ
救いようがない。
547nobodyさん:2009/11/27(金) 15:08:32 ID:???
まるで自分が見えてないな
人には言うが自分のことが全くわからないタイプのアホか
頭固すぎるとまわりから思われてるのはお前なんだよ
面白いから見てるとかクールぶって随分熱くなってるようだがw
指摘してやる?されてやるの間違いじゃないの?ww
元凶は自分が見えないやつ
548nobodyさん:2009/11/27(金) 15:22:54 ID:???
自分の考えに合わないと全てチンピラにしたい人間が一人いることを理解した
549nobodyさん:2009/11/27(金) 15:27:03 ID:???
いやいや
考えにあわないからチンピラといったわけではないんだが
ID出せと(本家はIP出せだが)まるでチンピラのような振る舞いをし
超上から目線でチンピラのような態度を取り続けてたのでちょっといじっただけじゃないですか
ほんとあなたみたいな人は誰からも嫌われて孤立しますよwwwwwwww
550nobodyさん:2009/11/27(金) 15:46:08 ID:???
午前中からおやつの時間まで自治ごくろうさん
551nobodyさん:2009/11/27(金) 15:49:20 ID:???
ROMってるみんなへ

実はこのスレ俺が一人でかいてるんだぜ
552nobodyさん:2009/11/27(金) 15:50:31 ID:???
しかし特定厨はすごいな
ぴったり当たると相手黙り込んじゃうんだな
553nobodyさん:2009/11/27(金) 15:59:41 ID:???
IDでないからどうとでも書けるな
554nobodyさん:2009/11/27(金) 16:05:05 ID:???
っていうかみんな楽しんでるんだろ?
555nobodyさん:2009/11/27(金) 16:05:44 ID:???
ウザイと思うからやらないけど
誰がどれ書いてるか=で結んでやってもいいよ
IDなんて出さんでも俺には分かる
556nobodyさん:2009/11/27(金) 16:14:05 ID:???
>>555
プッ
557nobodyさん:2009/11/27(金) 16:16:50 ID:???
>>555
残念ながらお前は>>543ではないな
558nobodyさん:2009/11/27(金) 16:17:38 ID:???
oh失礼アンカミス
>>556
559nobodyさん:2009/11/27(金) 16:22:34 ID:???
なんつーか病気だな
560nobodyさん:2009/11/27(金) 16:24:40 ID:???
っ[鏡]
561nobodyさん:2009/11/27(金) 16:24:55 ID:???
荒らしと自治厨の比率で言ったら自治厨で大半を占めている件w
562nobodyさん:2009/11/27(金) 16:26:42 ID:???
もうそろそろ勘弁してやるかだいぶおとなしくなったからな
さぁ質問待ってるぜ
563nobodyさん:2009/11/27(金) 16:27:02 ID:???
荒らしが飽きるまで待つか削除依頼を出すかだな
564nobodyさん:2009/11/27(金) 16:27:52 ID:???
良い具合に荒れてる、グッドだ
565nobodyさん:2009/11/27(金) 16:30:53 ID:???
とりあえずさっきのやつは>>545に答えてやれよ
566nobodyさん:2009/11/27(金) 17:00:30 ID:???
540って何言語のこと言ってるの?
567nobodyさん:2009/11/27(金) 17:03:47 ID:???
荒らしに反応してる基地外もニートですか?
568nobodyさん:2009/11/27(金) 17:22:08 ID:FMCnKcYU
【OS名】WinXP
【PHPのバージョン】php5.26
【連携ソフトウェア】QuickForm
【質問内容】
QuickFormで下のようにformのnameが動的に変化(数字がつく)する場合に
Smartyのテンプレートからどうアクセスすればよいのでしょうか?
for($i=0; $i<count($array); $i++) {
$form->addElement('text', 'title_'.$i, '');
$form->addElement('text', 'num_'.$i, '');
}
569nobodyさん:2009/11/27(金) 17:34:43 ID:???
>>410>>413>>568は同じ人かな?
570568:2009/11/27(金) 17:54:45 ID:FMCnKcYU
>>569
いえ、違う人です
title_0にアクセスするときは{$form.title_0.html}こうすればいいのは分かるのですが、ループになるとさっぱりです
たとえば,
{section name="list" start=0 loop=$count}
{$smarty.section.list.index}
{/section}
とすれば、数字が0からカウントされていくので
{$form.title_$smarty.section.list.index.html}こうしてみたり
{$form.title_[$smarty.section.list.index].html}、{$form.title_{$smarty.section.list.index}.html}
と、やってみたのですが
{$form.title_0.html} {$form.title_1.html} {$form.title_2.html} ...の内容が表示されることはありませんでした
フォームなので同じnameになることは避けなきゃいけない場合、どうすべきなのでしょうか?
571nobodyさん:2009/11/27(金) 18:01:26 ID:???
>>570
smartyの事ならこっちいったほうがいいぞ。

【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/
572568:2009/11/27(金) 18:05:11 ID:???
>>571
そうですね、そちらへ移動します
失礼しました
573nobodyさん:2009/11/27(金) 18:15:33 ID:???
>>527
それ、標準関数の話?
574nobodyさん:2009/11/27(金) 18:24:43 ID:???
>>569
なんで同一人物だと思うんだ?
575nobodyさん:2009/11/27(金) 18:33:42 ID:???
>>473
変換前に mb_substitute_character('none') しておけば
変換できなかった文字は無かった事にしてくれる
逆に mb_substitute_character('long') とすると "U+XXXX" に置換してくれるので
この部分をUnicodeコードポイント―JIS X 0213対応表で置換し
それをShift_JIS-2004でエンコードすりゃ文字参照を無くせる
当然それはもうShift_JISじゃないしブラウザが表示してくれないかもしれない
じゃあ出力時に文字参照に変換すりゃよくね?奇才現る、という話になり
だんだん面倒になってきたので俺はUnicode一本化を選んだのであった 〜終〜
576568:2009/11/27(金) 18:48:08 ID:???
移動する前に質問内容を考え直していたところ解決しました
'title_'.$i としていたところを'title['.$i.']'として、sectionの中で$form.title[list].htmlとしたら表示できました
スレ違い失礼しました
577nobodyさん:2009/11/27(金) 18:49:23 ID:???
数値文字参照で入ってくる、それをはじきたい、変換できるもんなら変換したいってんだから、
数値文字参照部分それぞれを、一個一個変換かけて ?で無ければ使えばいいのでは。
578nobodyさん:2009/11/27(金) 18:50:37 ID:wQd2OSTw
file_get_contents("test.php")をすると、PHPのソースまですべて取得できます。
HTMLの箇所だけ取得したいのですが、どうすればいいのでしょうか?
579nobodyさん:2009/11/27(金) 18:56:47 ID:???
>>578
file_get_contents('http://www.example.com/test.php');
って意味かな?
580nobodyさん:2009/11/27(金) 18:57:43 ID:???
file_get_contents("http://localhost/test.php")
ではどうだろう
581578:2009/11/27(金) 19:00:01 ID:???
自己レスです。以下でいけました。

$files = array("test.php","tree.php");
for($i=0;$i<count($files);$i++){
ob_start();
include($files[$i]);
$contents[] = ob_get_contents();
ob_end_clean();
}
582nobodyさん:2009/11/27(金) 19:00:25 ID:???
>>574
PHP5.26ってバージョンはないから
583nobodyさん:2009/11/27(金) 19:03:14 ID:MTMre+lf
$vari = 'memb';
$this->$vari = 'hoge';

とかやると落ちるというより、シャットダウン関数が呼ばれてスクリプトが終わってしまうんですが、
これってどんな症状なんでしょうか。
エラーも何も出ないので困ってます。

バージョンは5.2.5です。
584nobodyさん:2009/11/27(金) 19:04:07 ID:???
んなわけない
別の部分のせいじゃね?
585nobodyさん:2009/11/27(金) 19:17:55 ID:???
>>582
テンプレの存在を知らない?
586nobodyさん:2009/11/27(金) 19:18:51 ID:???
テンプレコピペのほうが最悪だわw
587nobodyさん:2009/11/27(金) 19:21:30 ID:???
OSの部分とかは変えてもバージョンだけは変えないっておかしいだろ
588nobodyさん:2009/11/27(金) 19:26:27 ID:???
>>578=581
それ大丈夫か?PHPの部分動いてるけど意図してないだろ
全部読み込んでからPHP部分を排除したほうがいいような
589nobodyさん:2009/11/27(金) 19:31:32 ID:???
PHPの部分も取得って俺の環境では確認できないんだけどさ
590nobodyさん:2009/11/27(金) 20:23:50 ID:???
へ?
file_get_contentsは
fileしてimplodeしたみたいな関数だろ?
ローカルファイル読んだらPHPのまま取れるでしょ
591578:2009/11/27(金) 22:25:57 ID:wQd2OSTw
>>588
おっしゃるとおり、581のソースでは
PHP内にexitとかしてるとそこで止まります・・。

URLでfile_get_contentsする方法が一番なんですかね。
URLだとローカル環境で読み込む時に、多少違和感あるんですよね。
592nobodyさん:2009/11/27(金) 23:06:14 ID:???
ていうか>>578の症状っておかしくね?
なんでソースコードが表示されるの?
ローカルでもそんなことありえないよ



なんて思って試してみたら本当に表示されやがったwwwwwwwww
593nobodyさん:2009/11/27(金) 23:13:02 ID:???
だから当たり前だってば
594nobodyさん:2009/11/27(金) 23:17:13 ID:???
>>591
そこにたどりつく以前のところが知りたい。
何がやりたくてそうなってるの
595nobodyさん:2009/11/27(金) 23:19:21 ID:???
test.phpにHTML返す関数作ってincludeすればよいのでは?
596nobodyさん:2009/11/27(金) 23:19:26 ID:???
includeを何で使いたくないのか
597nobodyさん:2009/11/27(金) 23:21:31 ID:o/LEECMb
【OS名】Xubuntu
【PHPのバージョン】PHP5.2.4
【連携ソフトウェア】Apache2、MySQL
【質問内容】
PHPで開発するのに適したエディタ/IDEを探してます。
CPU:1GHz、メモリ:256MBでも快適に動く環境を・・・。
今はMeditで書いていますが、何か他に良いソフトがあれば教えてください。
598nobodyさん:2009/11/27(金) 23:23:32 ID:???
日本語を書かないならEditra最強伝説
599nobodyさん:2009/11/27(金) 23:32:49 ID:???
快適性を求めるならせめてメモリを増設しないとなー
それじゃX起動するだけでいっぱいいっぱいじゃないの?
冗談抜きでCUIにvimなら快適だと思うけど
600nobodyさん:2009/11/27(金) 23:38:26 ID:???
>>597
emeditorいいよ
601nobodyさん:2009/11/27(金) 23:41:49 ID:???
emeditorってLinux版でとったんか
602nobodyさん:2009/11/27(金) 23:44:05 ID:???
emeditorってlinux版あったっけ?
603602:2009/11/27(金) 23:45:59 ID:???
>>602
2分16秒も遅れて完全にかぶった
反省してちんこ切りおとしてくるわ
604nobodyさん:2009/11/27(金) 23:51:21 ID:???
>>598
どうも。
Scintillaベースのエディタなんですね。
良さそうですが、日本語が書きにくいのはちょっと…。

>>599
Xubuntuからさらにいろいろ削って、XPと比べてかなり軽快に動いてますよ。
メモリ増設はいま無理なんです。
その日暮らしをしているもので。。

>>600
Wineでってことでしょうか。
605nobodyさん:2009/11/28(土) 00:18:54 ID:???
>>597
NetBeansがお勧め、Java,C,C++,Ruby,PHP,CSS,JavaScript,HTMLに対応してる優れもの
PHPを使うからダウンロードページ右の「すべて」を選ぶこと
http://ja.netbeans.org/
606nobodyさん:2009/11/28(土) 00:22:59 ID:???
メモリ250MBではすこしきついかもしれないw
Geditで我慢しておけ
607nobodyさん:2009/11/28(土) 00:26:59 ID:???
NetBeansって激重じゃなかった?
608nobodyさん:2009/11/28(土) 00:29:06 ID:???
>>607
30-60MBぐらいメモリを使うが昔みたいに激重ではない。今はEclipseより軽いかもしれない
609nobodyさん:2009/11/28(土) 00:33:55 ID:???
プロセスに見えてるメモリ使用量が全てじゃないからな?
起動、デバッグ時なんかは特に重くなる。
256だとコード補完もまともに働くか怪しい・・・・
610nobodyさん:2009/11/28(土) 00:35:42 ID:???
ごめん
IDEを探してます。
までしか読んでなかった
611nobodyさん:2009/11/28(土) 00:41:06 ID:???
コード補完程度でいいなら辞書つくって優秀なエディタつかえばいいんでないの
デバッガはなしで本番環境で実行して動作確認みたいな
原始的だがPHPではよくあること
612nobodyさん:2009/11/28(土) 01:07:27 ID:???
入力補完機能のついたエディターてなにがあったっけ?
613nobodyさん:2009/11/28(土) 01:56:23 ID:???
emacs vim
Unixで発展してきたエディタはメモ帳とは違うんです
614nobodyさん:2009/11/28(土) 19:04:59 ID:???
やっぱりvim
615nobodyさん:2009/11/28(土) 19:40:56 ID:/BKpNybq
【OS名】fedora11
【PHPのバージョン】php5.25
【質問内容】
phpを用いたredirectに対しての質問なのですが、

http://ho.example.com/にアクセスしてきた場合は
http://ho.example.com/index.htmlに
http://ho.example.com/index.php?id=******(数字)
でアクセスしてきたURLには、
http://ho.example.com/geru/index.php?id=******(数字)で返したいのですが、
これならどうしたらいいでしょうか

http://ho.example.com/index.php?id=987678でのアクセスには
http://ho.example.com/geru/index.php?id=987678で返したいんです

Apacheのredirectだと、DirectoryIndexを、 index.php index.htmlの設定がじゃまをしているのか、
ループを起こしてしまうので、どうにもなりませんでした。
どうぞよろしくお願いします<m(__)m>
616nobodyさん:2009/11/28(土) 19:52:06 ID:???
5.25ってバージョンはいつでたのかな^^
617nobodyさん:2009/11/28(土) 19:54:22 ID:???
>>615
DirectoryIndexをindex.html index.php にしておけば、
http://ho.example.com/ のアクセスは http://ho.example.com/index.html になる
そのうえで、
http://ho.example.com/index.php の最初の方で
http://ho.example.com/geru/index.php にheaderで飛ばせばいい
618nobodyさん:2009/11/28(土) 19:55:48 ID:???
>>615
DirectoryIndex を index.html index.php

にすりゃいいんじゃないかなぁ。
619nobodyさん:2009/11/28(土) 19:55:57 ID:???
ってカブってたw
620615:2009/11/28(土) 20:12:40 ID:PfdzqFPX
>>617 >>618 レスありがとうございます。

しかし、下記のように設定しても、ループしてしまうのです

DirectoryIndex index.html iindex.php ndex.htm

<VirtualHost *>
DocumentRoot /home/pap/geru/
ServerName ho.example.com
Redirect /index.php http://ho.example.com/geru/index.php
Redirect / http://ho.example.com/index.html
</VirtualHost>

なのでどうにか、http://ho.example.com/index.phpで同じことができないかと思い
ここに相談させてもらいました
621615:2009/11/28(土) 20:19:09 ID:PfdzqFPX
622nobodyさん:2009/11/28(土) 20:33:34 ID:???
Redirect / http://ho.example.com/index.html

これいらなくね?
623615:2009/11/28(土) 20:52:38 ID:???
>>622
あ・・・・
それ外したらできました・・・・
とても恥ずかしいです・・・・

でも解決できて本当によかったです!!!
皆さんありがとうございました!!!
624nobodyさん:2009/11/28(土) 20:55:24 ID:???
phpの質問ですらなかった件について
625nobodyさん:2009/11/28(土) 23:13:14 ID:GFmYlKP+
ログ保存させるディレクトリに書込権を付けて〜という説明がよくありますが、
自分で試したところ、fopenでテキストファイルなどを作成する場合、
作成先のディレクトリのパーミッションが、755のままでも作成されました。

簡単なファイル作成の場合、777とか707とか666とかにしなくても良いのでしょうか?



626nobodyさん:2009/11/28(土) 23:25:24 ID:???
CGIあるいはコマンドラインで実行したとかじゃないだろうな。
627nobodyさん:2009/11/28(土) 23:25:58 ID:???
755だから書き込みできる件
少しはパーミッションを勉強することをすすめる
628nobodyさん:2009/11/28(土) 23:31:45 ID:???
ちなみにジオシティーズのファイルマネージャとかで
ディレクトリを作成して755と777に交互に変更してそのディレクトリにファイルを移動とかしてみろ
629nobodyさん:2009/11/28(土) 23:45:56 ID:???
755だから書けるってのもちょとおかしい。
そのディレクトリのユーザーが誰かってのが問題なわけで。
630nobodyさん:2009/11/28(土) 23:52:04 ID:???
おかしいと思ってるのはちゃんと理解してないから
いろんな鯖借りて100回パーミッションをいじれ
631nobodyさん:2009/11/28(土) 23:55:26 ID:???
>>630
何回いじったところでhoge所有の755ディレクトリにnobodyは書き込めませんが何か?
632nobodyさん:2009/11/28(土) 23:57:02 ID:???
>>630
755ってrwxr-xr-xだから所有者じゃない限り書き込めないのだが
お前こそパーミッション理解できてるか?
633nobodyさん:2009/11/28(土) 23:59:42 ID:???
755も705もそりゃ所有者で書き込んでるんだから書き込めてるでしょ
何を言ってるんだ
634nobodyさん:2009/11/29(日) 00:05:06 ID:???
mod_php実行が前提ならapache以外の所有者の0755ディレクトリには書き込めない
>>626の前提なら>>633の通り。で、>>625はどっちなんだ?
635nobodyさん:2009/11/29(日) 00:08:58 ID:???
phpってsuexecできるの?
636nobodyさん:2009/11/29(日) 00:10:48 ID:???
>>625
CGIで実行すれば可能。phpの優位性は失うが。
637nobodyさん:2009/11/29(日) 00:11:10 ID:???
わり、>>636>>635だった。
638nobodyさん:2009/11/29(日) 01:09:13 ID:???
>>635
無理
639413:2009/11/29(日) 07:26:12 ID:Yzy3uLLn
レスして下さった方ありがとうございました。
ローカル環境では>>413のやり方でいけたのですがレン鯖だとなぜかNGだったので
WHERE句を書き直して無事実装できました。
640nobodyさん:2009/11/29(日) 11:09:26 ID:Q44vnMJC
ttp://www.php.net/manual/ja/function.date.php
このページのdate関数の引数「string date ( string $format [, int $timestamp ] )」という部分を取得したいのですが
標準関数でこういうのを取得できませんか?
641nobodyさん:2009/11/29(日) 11:30:43 ID:???
$function = "date";
file_get_contents("http://jp2.php.net/manual-lookup.php?pattern=".$function);
642nobodyさん:2009/11/29(日) 11:42:07 ID:???
>>641
ブラクラ乙
643nobodyさん:2009/11/29(日) 14:47:44 ID:???
もうさ、XAMPPでいい気がしてきたんだけど、PHP、MySQL、Apacheを自分でインストールして使う事と何が違うのですか?
やっぱ汎用性などで独自でインストールした方がいいのでしょうか?
644643:2009/11/29(日) 14:51:22 ID:???
追記
大きな会社などでPHPで開発するときに、独自でインストールしたりするとフォルダ先とか変わったりでわずらわしい気がしますが、
やっぱそういう環境ではXAMPPのように一元化を図った方が効率は良くなるのでしょうか?
645nobodyさん:2009/11/29(日) 14:52:37 ID:???
君みたいな自分が扱う技術の勉強を放棄する人間が増えるのが一番の問題
646nobodyさん:2009/11/29(日) 14:54:46 ID:???
テスト環境なんてどんな方法でも入ればいいよ
647nobodyさん:2009/11/29(日) 14:55:29 ID:???
XAMPPで全て対応できるもんならそれでいいんじゃね?というしかない
648nobodyさん:2009/11/29(日) 15:00:27 ID:???
>>646
できるかぎり本番に近いほうがいいだろ
6498:2009/11/29(日) 15:15:11 ID:???
Linux on VMが最強
650nobodyさん:2009/11/29(日) 15:16:46 ID:???
Perlがいらないのにインストールされたり
各ソフトが最新じゃなかったり

っていう程度かな
651nobodyさん:2009/11/29(日) 15:28:01 ID:???
うちの場合は、ローカル環境はxamppも考えたけど、PostgreSQLも使うので
apache/php/mysql/postgresqlを個別にc:\dev\以下にインストールして
c:\dev\をzipでかためて配布する事でローカル環境の統一を行ってる。

元々subversion使ってて、その時はローカルに環境つくらず
コミットしてサーバ上で確認してたが、gitに乗り換えたので
ローカルで簡単に確認してからコミット(git push)するようになった。
652nobodyさん:2009/11/29(日) 15:37:11 ID:???
>>651
gitでコミットしたやつそのまま公開してるの?
653nobodyさん:2009/11/29(日) 15:37:43 ID:???
>>651
なんでwindows鯖なの?
654nobodyさん:2009/11/29(日) 15:55:51 ID:???
>>652
公開してないよ。
gitのサーバは本番機とは別に用意してあり、他のプロジェクトと共用。
pushするとフックスクリプトで本番機の開発用ディレクトリに転送される。
転送されるディレクトリは社内からしかアクセスできない

>>653
ローカル環境と言ってるのは、個人の作業用PCの事。
作業用PCはwindowsで、サーバはLinux。
それぞれの作業用PC上で簡単に確認してからgit pushする。
655nobodyさん:2009/11/29(日) 16:09:13 ID:X6l6A2G2
$str='\a\i\u\e\o';
をaiueoという風に出力したくて、
一個の\だけだとメタ文字?のような気がしたので
もう一個\をつけて普通の文字\として、
echo preg_replace("/\\/i","",$str);
としたらできるのかなと思ったらできませんでした。
しかし、
echo preg_replace("/\\\/","",$str);
のようにしたらできたのですがこれはなぜなんでしょうか?
656nobodyさん:2009/11/29(日) 16:17:58 ID:???
外部xml読んできて集計する、よくあるプログラム作ってるんだけど、
なんか重いな〜と思って、xDebugでボトルネック調べたら
simplexml_load_file が全体の99%も時間かけてた。

予想通りネットワークのボトルネックでフイたけど、
ブロードバンドなのに改善できそうなことってほとんどないよな?
657nobodyさん:2009/11/29(日) 16:18:45 ID:s4Mu180M
すまんID消えてた。
658nobodyさん:2009/11/29(日) 16:25:48 ID:???
>>657
ローカルでやってみた?
simplexml_load_fileはパースもするから、案外パースと
PHPのオブジェクトの生成に時間かかってたり。
659nobodyさん:2009/11/29(日) 16:28:13 ID:???
ISPを変える
660657:2009/11/29(日) 16:34:44 ID:s4Mu180M
>>658
ローカルでやってます。
一応環境を書いておきます…
【OS名】MacOS 10.5.6
【CPU、メモリ】CoreDuo 2GHz、2GB
【PHPのバージョン】php5.25
【連携ソフトウェア】MAMP 1.7.1(MySQL 5.0.41など)

アクセス対象のサーバの問題ですかね。

>>659
そんな手が…。
661nobodyさん:2009/11/29(日) 16:36:15 ID:???
preg_match_allを使うとか
662nobodyさん:2009/11/29(日) 16:41:59 ID:???
つかどこのネットワークが遅いのかしらんけど
一回ファイルだけローカルになりスクリプトのある鯖にもってきてそこで処理すればよくない?
663nobodyさん:2009/11/29(日) 16:42:15 ID:ZEhApNdv
現在のサーバにインストールされたPHPで使用できる標準関数を取得できる関数があったと思うのですが
どの関数かご教示お願いします
664nobodyさん:2009/11/29(日) 16:44:37 ID:???
マニュアル見れ
665657:2009/11/29(日) 16:47:32 ID:s4Mu180M
>>661
>>662
あーなるほど、外部から読みながらパースしてるから、
パースする前に生データをローカルに落としてから、
ローカルでパースしたらどうか、ってことですね。
やってみます、ありがとう。
666nobodyさん:2009/11/29(日) 17:29:33 ID:hZFEF+gf
みなさんバージョン管理システムは何を使ってますか
667nobodyさん:2009/11/29(日) 17:35:28 ID:???
svn

ドキュメント類はGoogleDocs
668nobodyさん:2009/11/29(日) 17:55:24 ID:7vifCWX5
GDを使ってテキストを縦書きに出力したいんですが、どうしたらいいでしょうか?
一文字一文字改行するようにすると、()や、などが横書きのまま表示されてしまいます。
669nobodyさん:2009/11/29(日) 18:02:40 ID:???
縦書き用フォントを使う
670nobodyさん:2009/11/29(日) 18:27:43 ID:???
>>663

phpinfo();
671nobodyさん:2009/11/29(日) 18:33:43 ID:???
そりゃねーだろ
672nobodyさん:2009/11/29(日) 19:28:16 ID:???
$y = 100;
$x = (function($y){return $y*$y})();
動かない・・・
673nobodyさん:2009/11/29(日) 19:37:36 ID:???
そりゃねーだろ
674nobodyさん:2009/11/29(日) 19:41:31 ID:???
function test(){};
$x = test();
は動くのに何で
$x = (function(){})();
は動かないの
675nobodyさん:2009/11/29(日) 19:44:31 ID:???
だってPHPだもの
676668:2009/11/29(日) 19:46:55 ID:7vifCWX5
>>669
レスありがとうございます。

縦書き用として配布されているフォントをImageTTFTextで回転させてみたんですが、横書きのまま回転されてしまいました。
なにか特別な指定がいるんでしょうか?
677nobodyさん:2009/11/29(日) 19:48:03 ID:???
まぁ動いてほしい気持ちは分かる
678nobodyさん:2009/11/29(日) 19:51:44 ID:???
回答まだ?
679nobodyさん:2009/11/29(日) 19:54:22 ID:???
>>678
誰お前?
680nobodyさん:2009/11/29(日) 20:07:16 ID:???
>>678

メール欄を空にしてID出せ。
681nobodyさん:2009/11/29(日) 21:28:44 ID:pv1VwVRH
PHPは特に権限変更不要というけど
権限変更しなきゃいけないケースというのは
何か書き込みを行うファイルを666あたりに
セーフモードがかかっていて使えない一部の関数を使うために
親ディレクトリを777あたりに
こんな感じであってますか?
682nobodyさん:2009/11/29(日) 22:25:49 ID:???
>PHPは特に権限変更不要というけど

誰だそんなバカなこと言ってる奴は
683nobodyさん:2009/11/29(日) 23:04:52 ID:???
やはりここで聞いてもわかる人はいなかったか・・
684nobodyさん:2009/11/29(日) 23:15:16 ID:???
うん、いないよ。
685nobodyさん:2009/11/29(日) 23:21:14 ID:???
早く回答ください待ってます
686nobodyさん:2009/11/30(月) 13:51:39 ID:85q7Lxtd
phpMyadminって皆さん使われていますか?
自分使った事はないのですが、ココ(http://www.atmarkit.co.jp/fsecurity/column/kawaguchi/019.html)等を見ると
セキュリティの問題が無いとも言い切れないようなのでどうしようかなと思っております
データベース等狙われたら大変ですし

もし使っていないのであれば、この手のソフトで何かいいのがありましたら教えていただきたいと思います
687nobodyさん:2009/11/30(月) 14:08:01 ID:???
>>686
ローカルでたまに使ったり使わなかったり
少なくとも公開はしてない
使うとしてもセキュリティ設定ちゃんとしてれば問題ないともうけど
688nobodyさん:2009/11/30(月) 14:25:47 ID:???
>>686
ソフトウェアに絶えずバグや脆弱性が存在するのは当たり前のことです。
使いたいソフトウェアのコミュニティがどれほど発達してるかを見極めた上で、
十分なセキュリティパッチが提供されると判断したのなら積極的に利用していいと思います。
目安としてオープンソースで人気のプロジェクトなんかは信用していいと思います。
ただソフトの管理はソフト自体が勝手にやってくれるのと、そうでないのがあるので、
後者の場合は定期的にセキュリティパッチがないか自分で情報を集める自信がないのなら使わないほうが賢明です。
689nobodyさん:2009/11/30(月) 14:27:55 ID:8SHOe8r+
質問

sqlite_query()なんかで取得した結果を、
sqlite_fetch_all()でまとめて取得して、そいつをforeach()とかでグリグリやるのと、
while()の条件でsqlite_fetch_array()を使ってグリグリするのでは、
どっちがベターでしょう?


690nobodyさん:2009/11/30(月) 14:28:22 ID:???
ベターってどういう基準で?
691nobodyさん:2009/11/30(月) 14:39:30 ID:???
好きなとり方ができるようになってるんだから
好きなほう得意なやりかたでやれっていう指示と考えておk
692nobodyさん:2009/11/30(月) 16:40:31 ID:???
>>690-691
分からないなら出てくるなよ文盲ヲタ
693nobodyさん:2009/11/30(月) 16:48:41 ID:???
PEAR::DBのDSN宣言での事なのですが、phptypeでMySQL4.1以降はmysqli で、MySQL4.0以前はmysqlと学習したのですが、
自分のMySQL5.1ではmysqliでは接続エラーになり、mysqlでは接続成功になりました
これで正しいのでしょうか?
またMySQL5.0とかからmysqlに変わったのでしょうか?
694693:2009/11/30(月) 16:49:42 ID:???
DSN宣言とは DB::connect 時です
695nobodyさん:2009/11/30(月) 16:55:02 ID:???
スレタイ
696nobodyさん:2009/11/30(月) 16:56:38 ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/l50
△▲ WebProg 初心者の質問 Part21 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1257701535/l50
くだらない質問でもど偉そうに聞いていいスレ
http://pc11.2ch.net/test/read.cgi/php/1158647441/l50

マルチ乙
697nobodyさん:2009/11/30(月) 17:01:50 ID:???
マルチはシネよ
698nobodyさん:2009/11/30(月) 19:17:48 ID:OqzSho9e
【OS名】windows XP
【PHPのバージョン】php5.3.1
【連携ソフトウェア】MySQL
【質問内容】
アクセスログをDBに残していくのが目的であるphp文を埋め込んだファイルを作ったのですが、
ローカルからのアクセスではクエリが実行されているのですが
外部のコンピュータからのアクセスではクエリが実行されていない?ようです。
これを実行する方法はありませんか?

$com = "INSERT INTO `log`(`id`,`date`,`time`) VALUES('{$id}','{$d}','{$t}')";
mysql_query($com);
699nobodyさん:2009/11/30(月) 19:23:06 ID:???
なんか質問内容がずっと近いな
同じやつがずーーーーっと聞いてる予感。
しね
700nobodyさん:2009/11/30(月) 19:34:32 ID:???
>>698
ローカルで動くんなら、プログラムはいいんじゃないの。
外部のコンピュータからのアクセスとはどうやったんでしょうか。
701698:2009/11/30(月) 19:42:41 ID:OqzSho9e
>>700
レスありがとうございます。

>>外部のコンピュータからのアクセス

ブラウザから【http://ipアドレス/index.php】を覗いてもらいました。
702nobodyさん:2009/11/30(月) 19:46:02 ID:???
>>701
クエリが実行されていないってどうやって確認したんでしょうか
703702:2009/11/30(月) 19:53:39 ID:OqzSho9e
>>702
友達に頼んでスカイプしながら、自分「今アクセスしてみて」、友人「したよ。カウンターは増えてるね」
という具合に、確認しながらやっていきました。
mysql_query($com);
このあとさらに

print($com);
でINSERT文を明示し、表示された内容を送ってもらったりしましたが、何のエラーも出ておらず、
ローカルからのアクセスにのみMySQLが反映されます。
また、そのとき随時MySQL画面でSELECT文を発行しDB確認しておりました。

実際にurl載せてみてもらったほうが早いんでしょうか(;´Д`)
704698:2009/11/30(月) 20:08:24 ID:OqzSho9e
すいません、自己解決しました。
保存されるカラムの一つに`ip`があったのですが
その`ip`、ローカルだと127.0.0.1ってすごく短いのですが
他のコンピュータだと15文字と長いのでvarchar(10)をオーバーしていました。
お騒がせしました(´Д`)

ALTER TABLE `log` MODIFY `id` VARCHAR(20);
705nobodyさん:2009/11/30(月) 20:22:21 ID:???
あほまるだしやな
706nobodyさん:2009/11/30(月) 20:28:33 ID:???
切捨てだったような気がするけど気のせいか。
707nobodyさん:2009/11/30(月) 21:17:19 ID:???
俺は和んだ
切捨てしてくれるのもあったなそれに任せてしまうかは置いとくけど
708nobodyさん:2009/11/30(月) 23:43:16 ID:Vf7i1FvX
httpd.confでmb_internal_encoding EUC-JPと設定されているため、
HTMLソースの文字コードがUTF-8でも$_REQUESTの中身がEUC-JP
で入ってくるのですが、スクリプト側の設定で$_REQUESTの中身を
UTF-8にすることはできないでしょうか?

最初に
mb_internal_encoding("UTF-8");
と書いてももう遅いようですし、
.htaccessは使えない状態です。

よろしくお願いします。
709nobodyさん:2009/12/01(火) 00:06:15 ID:???
mb_こんヴぇrt_えんこぢんgでええやん
710nobodyさん:2009/12/01(火) 00:09:44 ID:???
>>708
eucで入ってくるリクエストをphpの中でutfに変換すりゃいいだけじゃないの?
phpに入る前に変換かけようったってそりゃ無理な話でさ。
711nobodyさん:2009/12/01(火) 15:33:58 ID:???
a
712nobodyさん:2009/12/01(火) 18:19:04 ID:+KFRV8KP
PHPでメールを送信するテストをしています。

mail関数の第五引数に
-f (送信元アドレス)
を指定すると、ちゃんと送信できるのですが、
指定しないと、処理上はtrueが返ってくるものの、
実際には送信できていません。

この場合、どこの設定を見直せばよいのでしょうか?
OSはCentOSです。
713nobodyさん:2009/12/01(火) 18:20:03 ID:???
>>712
問題があるのはPHPじゃないとおもうよ
714nobodyさん:2009/12/01(火) 18:25:14 ID:+KFRV8KP
>>713
となるとPostfix周りですかね。
ありがとうございます!
715nobodyさん:2009/12/01(火) 18:32:23 ID:???
いや、メールって複数のサーバー介して届くのよ
Webより数倍複雑

関連しそうなキーワードだけ
SPFレコード
エンベロープ
DomainKeys

716nobodyさん:2009/12/01(火) 18:45:05 ID:pkq6G5xh
【OS名】WinXP-Pro
【PHPのバージョン】php5.2.6
【連携ソフトウェア】なし

【質問内容】
MS-DOS上で動作させていますが、周期的な動作はどう書けば良いでしょうか?
やりたいことは、「5秒毎にWebサーバー上にあるテキストファイルを上書きする」です。
717nobodyさん:2009/12/01(火) 18:47:30 ID:???
>>716
5秒ごとにリロードするJavaScriptの書いてあるページを表示しとく。
718nobodyさん:2009/12/01(火) 19:25:53 ID:???
>>716
5秒とかだと永久ループでsleep使うってのがいいんじゃない?

while (true) {
なんか処理
sleep(5);
}
719nobodyさん:2009/12/01(火) 19:32:53 ID:???
タスクスケジューラみたいなのなかったっけ
720nobodyさん:2009/12/01(火) 19:54:10 ID:???
あるけど5秒じゃ無理な感じ
721nobodyさん:2009/12/01(火) 20:11:17 ID:O1z84gpd
XAMPPのアンインストールを失敗してApacheだけが残ったのですが、普通にフォルダごと削除しようとしても削除されません
コレはWindowsで起動しているからだと思うのですが、タスクマネージャのプロセスで停止してから消さなきゃいけないのでしょうがどれがApacheなのか分かりません
どなたか教えていただけないでしょうか?
722nobodyさん:2009/12/01(火) 20:18:08 ID:???
Unlocker使って無理やりけしt
723nobodyさん:2009/12/01(火) 20:22:32 ID:O1z84gpd
http://whzat.dyns.net/textbook/apache/
コレを見ると、Apache.exeってのが起動しているようですが、自分のタスクマネージャには存在しません
XAMPPだからかは分かりませんが
う〜ん、どれを停止すればいいのかわかりません

>>722
Unlockerで消しても大丈夫ですか?
724nobodyさん:2009/12/01(火) 20:54:08 ID:???
スレタイ読んだら親兄弟と一緒に市ね
725nobodyさん:2009/12/01(火) 21:28:57 ID:???
OS再起動してもだめなの?
726nobodyさん:2009/12/01(火) 21:36:21 ID:???
サービスに登録されてて毎回起動時に実行されるようになってるんじゃね?
サービスを無効にして再起動後削除を試みる。
場所はコンパネ→管理ツール→サービスね
727nobodyさん:2009/12/01(火) 22:35:42 ID:???
XAMPPかぁ・・・
俺、実家用に諸設定がめんどくさいのでXAMPPにしようとしたんだけど、SubVersionが入ってると本に書かれていたのでやろうとしたらApacheが最起動しなくて結局普通に各自インストールした・・・
728nobodyさん:2009/12/01(火) 23:29:09 ID:???
おはようございます
XAMPP ザンプって読むんですね
エックスエムピーピーって読むんじゃないんですよ。
729nobodyさん:2009/12/02(水) 00:11:10 ID:???
>>728
よく学習したな
お兄さん嬉しいぞ
730nobodyさん:2009/12/02(水) 00:11:56 ID:???
Aはどこいったんだよ
731nobodyさん:2009/12/02(水) 01:40:51 ID:???
PHP5の例外処理についての質問です。
MySQLへの接続エラー時に例外処理を発生させようと思ったのですが、
なぜかエラーをcatchしてくれません。
mysql_connectを実行する処理で存在しないユーザでDB接続しようとして
DB接続エラーの例外を発生させようと思っています。

<?php
try{
$con = mysql_connect("localhost", "nisemono", "pass");
mysql_select_db("sna_db1", $con);
$this->execute($con);
}
catch(Exception $e){
echo "DB接続エラー:" . $e ;
}

mysql_close($con);
?>
732nobodyさん:2009/12/02(水) 02:33:10 ID:???
ggr
krsz
733nobodyさん:2009/12/02(水) 03:05:19 ID:???
スレタイ嫁
mysql_connectのリファレンス嫁
例外のリファレンス嫁
734nobodyさん:2009/12/02(水) 03:57:31 ID:???
krszって何だっけ?
735nobodyさん:2009/12/02(水) 08:39:04 ID:???
今年の流行語大賞もやっぱ糞だった
736nobodyさん:2009/12/02(水) 08:50:13 ID:XLJ1VtlA
phpのリフレクションで、クラスの静的関数がスーパークラスのモノだった場合、
継承してその関数を使用したクラスの名前って取得する方法ありますかね?
737nobodyさん:2009/12/02(水) 09:25:07 ID:???
【社会】FreeBSDに権限昇格の脆弱性…正式版を近く公開
http://tsushima.2ch.net/test/read.cgi/newsplus/1259712523/
738nobodyさん:2009/12/02(水) 13:35:31 ID:8Zgo4w9q
function hoge($a = "a", $b = "b") {
return $a.$b;
}
echo hoge();
とやった場合abと表示されます。

echo hoge("s");
とやった場合sbと表示されます。

ここでasと表示したいのですが、
第一引数はデフォルトのものを使って、第二引数だけを指定したいのですが、
どのようにやればいいのでしょうか?
739nobodyさん:2009/12/02(水) 13:36:42 ID:???
hoge(null, 's')

しね
しらべろ
ぼけ
740738:2009/12/02(水) 13:51:40 ID:8Zgo4w9q
すみません何か勘違いしてました。
省略してやってたスクリプトがあったので質問しましたが、
引数の型が別々になっていて型で振り分けしてるようなトリッキーなものでした。
741nobodyさん:2009/12/02(水) 13:58:39 ID:KEaNjFio
【OS名】WinXP(SP2) 【PHPのバージョン】php5.2.6  【連携ソフトウェア】無しです

【質問内容】
久しぶりにPHPをやろうとコマンドプロンプトで本にあるサンプルを実行したところ
下の警告が出て前に進めません。
http://uproda.2ch-library.com/193256tTF/lib193256.png
これはバージョン確認の >php -v でも出てきて右上の閉じるボタンを押すと

PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php5/ext/php_sqlite.dll'
- 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP 5.2.6 (cli) (built: May 2 2008 18:02:07)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

などと出ます。実行環境php5.2.6は本のCD-ROMから再インストールしても
駄目でした。
どうしたら良いでしょうか?
742741:2009/12/02(水) 14:00:29 ID:???
補足:
以前(約半年前)は問題なく実行できていました。
743nobodyさん:2009/12/02(水) 14:05:01 ID:???
最新の環境揃えてください
とりあえず経験者ならxamppでも入れておけばおk
744nobodyさん:2009/12/02(水) 14:05:34 ID:???
dllがないからだろボケ
745nobodyさん:2009/12/02(水) 14:45:28 ID:???
ドゥルル
746nobodyさん:2009/12/02(水) 14:57:25 ID:???
pdoでコネクションプーリングってどうすればいいですか?
環境はubuntu9.04とphp5.xとapache2.x
747nobodyさん:2009/12/02(水) 14:57:45 ID:DXr2OxkP
間違った。あげ
748nobodyさん:2009/12/02(水) 15:06:11 ID:???
PHPってコネクションプールできるんだっけか
749nobodyさん:2009/12/02(水) 15:23:37 ID:???
>>748
あんた誰?なんなの?
750741:2009/12/02(水) 15:30:33 ID:???
>>743-744
5.3.1をインストールしてOKでした。
有難うございます。
751746:2009/12/02(水) 15:34:41 ID:DXr2OxkP
>>748
だめっすか。pgpoolとか必要ですか
752nobodyさん:2009/12/02(水) 15:37:21 ID:HX28fxfQ
WinXP-Pro,5.2.6です。

DOS上のPHPの動作をキー入力で制御するにはどうしたら
良いでしょうか?
例えば、Enterキー1回目で動作開始,2回目で停止(終了)
とういう感じです。
753nobodyさん:2009/12/02(水) 15:39:21 ID:???
ID変えて質問してる教えてクンがいるな
754nobodyさん:2009/12/02(水) 15:39:34 ID:???
>>751
そうなるかなー
755nobodyさん:2009/12/02(水) 15:41:34 ID:???
>>754は黙っててくれないかな^^
知らないくせに「そうなるかな」じゃねえよ
756nobodyさん:2009/12/02(水) 15:43:55 ID:???
>>755
ではお答えをどうぞ
PHPでコネクションプールができるのならこっちも知りたいぐらいです
757nobodyさん:2009/12/02(水) 15:45:18 ID:???
>>755
さっさと答えろよ^w^
758nobodyさん:2009/12/02(水) 15:45:37 ID:???
759nobodyさん:2009/12/02(水) 15:47:59 ID:???
ようするに分からないのに煽るのは一人前のいつものちんぴら君なわけね
760nobodyさん:2009/12/02(水) 15:49:09 ID:???
>>759
自分のことですね
761nobodyさん:2009/12/02(水) 15:49:34 ID:???
ケンカするなよ・・・

>>751
とりあえずDBの種類を明記して。pgpoolってことはPostgreSQLでOK?

あとマニュアルの持続的な接続も見て。
http://jp2.php.net/manual/ja/pdo.connections.php
762nobodyさん:2009/12/02(水) 15:51:06 ID:???
それはコネクションプールとちゃうで・・・
763nobodyさん:2009/12/02(水) 15:51:21 ID:???
煽ってる自覚の無い>>759
764nobodyさん:2009/12/02(水) 15:56:38 ID:???
結局PHP+Apacheではミドルウェア入れないとできないってことでいいのかな?
765nobodyさん:2009/12/02(水) 15:59:16 ID:???
>>755
早く答えてよ
766nobodyさん:2009/12/02(水) 16:05:01 ID:???
また煽られて悔しい人が連投で荒らしてるのか
飽きないね〜
767nobodyさん:2009/12/02(水) 16:06:48 ID:???
残念だが俺は>>765で1回発言したきりだ
768nobodyさん:2009/12/02(水) 16:18:41 ID:???
>>755
自分も知らないくせにそうなるかなーというレスが気にいらなかっただけで煽るただの餓鬼

>>757 >>759 >>760 >>763 >>765 >>766
煽りに煽りで返す阿呆集団

>>758
コネクションプーリングができるとググル先生が言ってるぞと言う厨房

>>756 >>761 >>762 >>764
まともな人間と見せかけてどこかで煽りに参加してる阿呆集団の一人
769nobodyさん:2009/12/02(水) 16:24:33 ID:???
ID出たら楽しみだなw
770nobodyさん:2009/12/02(水) 22:03:26 ID:???
どなたか>>40お願いします
771nobodyさん:2009/12/02(水) 22:07:55 ID:???
772nobodyさん:2009/12/02(水) 22:08:36 ID:???
<<771
ありがとうございます
773nobodyさん:2009/12/03(木) 10:49:04 ID:???
このスレの85%は自称自治集団によって構成されております
774nobodyさん:2009/12/03(木) 14:21:03 ID:???
>>752
スクリプトファイルを入出力と処理に分けて、
入出力側は fgets(STDIN) でコマンドライン入力を受け取り
処理側スクリプトを proc_open(), proc_close() するでどうだい
775nobodyさん:2009/12/03(木) 14:59:54 ID:5T9WpFv8
例外処理についてですが、

$arr = array('test1'=>1, 'test2'=>2);

try {
 echo $arr['test3'];
} catch (Exception $e) {
 echo $e;
}

これだと普通にPHPのエラーが表示されてしまいます。(Undefined index test3)
こういう使い方はダメなんでしょうか?
例外処理について教えて頂けると助かりますm(__)m
776nobodyさん:2009/12/03(木) 15:15:48 ID:???
つマニュアル
777nobodyさん:2009/12/03(木) 15:23:51 ID:5T9WpFv8
>>776
スレ題通り、くだらない質問かもしれませんが
マニュアルは読んでもイマイチ理解できなかったので教えてください。

例外をcatchするには、自分で例外を投げないといけないのでしょうか?
それだとぶっちゃけif文とかわらないですよね?
778nobodyさん:2009/12/03(木) 15:34:32 ID:???
>>777
$arr['test3']を初期化するかerror_reporting(E_ALL ^ E_NOTICE)でもぶちこんどけ
779nobodyさん:2009/12/03(木) 15:35:31 ID:???
PHPで例外処理が可能だと知らなかった俺。。
780nobodyさん:2009/12/03(木) 15:37:20 ID:???
まさか例外処理も知らないでこのスレで回答してたわけじゃ・・・
781nobodyさん:2009/12/03(木) 15:40:24 ID:???
例外処理とかいらねーよ
安心させる為にあるだけ
782nobodyさん:2009/12/03(木) 15:42:08 ID:???
まあ最近っちゃ最近だからな
あればあったで便利だな
そろそろ4系は葬ってほしいぜ
783nobodyさん:2009/12/03(木) 15:44:40 ID:???
>>775の場合は全角スペースが入ってるからエラー吹いてるんだと思う。
784nobodyさん:2009/12/03(木) 15:51:02 ID:5T9WpFv8
>>778
予期せぬ値がキーに入った時の為の例外処理なわけで、初期化する位だったら例外処理も必要ないです。
というかサンプルコードが適当すぎですよね・・・すみません。
error_reportingは最終的にはオフにする予定ですが、今はまだ作成段階なのでエラー発見の為にも表示しなくてはなりません。

で、結局以下のように自分で例外を投げるようにしました。(サンプルなので、実際はこれだけのコードなら大人しくisset()使っておけば済む話なのですが。)

$arr = array('test1'=>1, 'test2'=>2);

try {
echo $this->check($arr, 'test3');
} catch (Exception $e) {
echo $e;
}

function check($arr, $index) {
if(!isset($arr[$index])) {
throw new Exception(sprintf('Undefined index %s', $index));
}
return $arr[$index];
}

>>783
全角はわざとです。見やすいほうがいいかと思い全角にしました。
785nobodyさん:2009/12/03(木) 15:51:22 ID:???
>>775

<?php
echo $arr['test3'];
?>

やってみ
例外関係ないから
786nobodyさん:2009/12/03(木) 15:58:00 ID:???
787nobodyさん:2009/12/03(木) 16:02:18 ID:???
2004年(笑)
788nobodyさん:2009/12/03(木) 16:06:21 ID:5T9WpFv8
>>786
とても分かりやすいサイトを教えて頂きありがとうございます。
そのサイトに書かれているように、手動で「例外」を投げないと処理が実行されないという所で悩んでました。
JavaScriptだと自動で投げてくれるので、PHPもてっきりそうだと思って・・・。

万事解決です!お答えくださった皆様ありがとうございました!
789nobodyさん:2009/12/03(木) 16:12:24 ID:???
万事解決なのか
エラーハンドラ使えばいいのに
790nobodyさん:2009/12/03(木) 16:17:42 ID:???
的外れな回答多すぎwww
無能ばっかだなワロスwww
791nobodyさん:2009/12/03(木) 16:20:16 ID:???
なんかきた
792nobodyさん:2009/12/03(木) 16:49:38 ID:???
まぁ無能ばっかは同意
793nobodyさん:2009/12/03(木) 17:12:20 ID:???
無能さとwの数は比例するらしいよ
794nobodyさん:2009/12/03(木) 17:45:56 ID:???
まあwだらけの書き込みは頭が良くないように見えるのは確か
795nobodyさん:2009/12/03(木) 18:35:28 ID:FkIkewDA
test.phpにtest.php?A=a&B=bでアクセスして、
phpと同じ階層に「a, b」というデータを記録していのですが
どういった記述にすればいいでしょう?
796nobodyさん:2009/12/03(木) 18:36:04 ID:9BLN2rJ9
【OS名】Fedora10
【PHPのバージョン】php5.26
【連携ソフトウェア】Services_Twitter
【質問内容】
Twitter上で動くbotを開発しています。
現在はbotはcronで毎分呼び出されてシェルスクリプト経由でphpに渡されるのですが、
人工知能のような汎用処理系を目指しているので実行時に膨大な数の設定ファイルを読み出すため、処理に負担をかけています。
現在の処理:cronからシェルスクリプト呼び出し->phpにファイルを渡す->設定ファイルを読み出す(連想配列に格納)->随時設定を配列からロードし利用する
の設定ファイルの読み出しで多大な時間をとられています。

これを解決するためにループ処理で常時スクリプトを実行(定期的に取得と返事のみ実行)という案を考えつきましたが、
このような事は可能でしょうか。可能ならば実装方法と留意点も教えていただけるとありがたいです。
797nobodyさん:2009/12/03(木) 18:55:06 ID:???
>>795
1.GETパラメータを取得
2.ファイルを書き込み属性つきでオープン
3.ファイルに書き込み(なくてもいいが書き終わったらファイルをクローズ)

あとは調べろコードもらっても勉強にならん
798nobodyさん:2009/12/03(木) 18:56:20 ID:???
>>796
Gearmand導入してみたら
799nobodyさん:2009/12/03(木) 19:31:03 ID:???
>>796
max_exection_timeを0にしてwhile(true)
800nobodyさん:2009/12/03(木) 19:32:54 ID:???
>>797
できた!!!!!!!!!!!!!
お前様にとてつもなく感謝する。
801nobodyさん:2009/12/03(木) 19:35:18 ID:APsxzQ0B
【PHPのバージョン】php4.3.9
4.3.10 からサポートされた、sprintf フォーマットのロケールに依存しない
浮動小数点数表現 F と同じ動作を実現するにはどうしたらいいですか?
802nobodyさん:2009/12/03(木) 19:45:06 ID:???
PHPをバージョンアップするのが一番楽
803nobodyさん:2009/12/03(木) 19:49:22 ID:9BLN2rJ9
>>798
>>799
ありがとうございます。なんとかなりそうです。
804nobodyさん:2009/12/03(木) 21:04:31 ID:DjsgAevR
どうしてもShiftJISにする必要があって、UTF8からmb_convert_encodingで変換してるんだけど、
sjis,sjis-winに無い文字が含まれるとき、?になるときとならない時があって困ってます。
タイミングによって結果が変わるのも解せないんだけど、同じことで悩んでたりスマートな解決策わかる人いませんか。
805nobodyさん:2009/12/03(木) 21:08:03 ID:???
元データをsjisで作り直す
806nobodyさん:2009/12/03(木) 21:08:31 ID:???
出力する前に正規表現でsjis範囲外の文字を削除するか別の文字に置き換えるといい
807nobodyさん:2009/12/03(木) 21:14:56 ID:DjsgAevR
>>805
元はUTF8なんですよ。TwitterAPI。
毎回結果かわるからconvert_encodingはだめだし。

>>806 の方法試してみます。
mb_encode_numericentityが使えそうな気がしてきた。
808nobodyさん:2009/12/03(木) 21:19:13 ID:???
携帯かWindowsのCUIで使う以外ならShift-JISを使うのはやめて方が良い
809nobodyさん:2009/12/03(木) 21:29:47 ID:R411r6if
わかる人いたら教えてください!!

WordPressでカテゴリーを表示する「wp-dtree」というプラグインがあるのですが、
カテゴリーが二階層以上になったとき、そのカテゴリーに所属する記事数の計算が合いません。

(例)
A は B の親カテゴリーです。
B は C, D の親カテゴリーです。
C というカテゴリーに 2 つの記事が紐づいています。
D というカテゴリーに 3 つの記事が紐づいています。

【標準の動作】
A (5)
└ B (5)
 ├ C (2)
 └ D (3)

【WP-dtree】
A (10)
└ B (5)
 ├ C (2)
 └ D (3)

子や孫のカテゴリーに所属する記事数まで、すべて足し合わせるようなコードになっているのが原因だと思いますが、
どう直せばいいのかわかりません。

よろしくお願いします。

wp-dtree のコード
http://www.happy-pass.jp/wp-content/plugins/wp-dtree/
810nobodyさん:2009/12/03(木) 21:32:41 ID:???
標準の方使えばいいんじゃないの?
811nobodyさん:2009/12/03(木) 21:33:25 ID:DjsgAevR
>>808
出来ればutfにしたいけど、2ch専ブラで見るのでどうしても…
とりあえずUTF8とsjisのコード範囲調べます。
812nobodyさん:2009/12/03(木) 21:33:57 ID:???
>>809 スレ違い

WordPress (ワードプレス) その14
http://pc11.2ch.net/test/read.cgi/blog/1254473826/

【 スクリプト改造依頼スレ】(丸投げ) part7再々
http://pc11.2ch.net/test/read.cgi/php/1222645553/
813nobodyさん:2009/12/03(木) 21:37:31 ID:???
>>811
Shift-JIS範囲外の文字は数値参照に置き換えれば文字を削除せずに済む
814nobodyさん:2009/12/03(木) 21:38:58 ID:DjsgAevR
>>809
wpあんまり詳しくないけど、階層表現なら入れ子集合モデルが好きです。
815nobodyさん:2009/12/03(木) 21:41:08 ID:APsxzQ0B
>>802 ありがとうございます。
RHEL4のrpmが4.3.9で、そこから動かせない場合にはどうしようもないってことでしょうか。
816nobodyさん:2009/12/03(木) 21:41:15 ID:DjsgAevR
>>813
UTF8上のShiftJISの範囲って、なんか飛び飛びでしたっけ?
817nobodyさん:2009/12/03(木) 21:42:23 ID:R411r6if
>>809
wp-dtree_gen-functions.php

の133〜135行目

foreach($children as $child){
$count += $child->category_count;
}

が原因のように考えられるのですが、どう直せばいいのかがわかりません。

下記は試しましたが、うまくいきませんでした。

【この3行を削除】
A (0)
└ B (0)
 ├ C (2)
 └ D (3)

【$count = $child->category_count; に変更】
A (1)
└ B (2)
 ├ C (2)
 └ D (3)

foreachという構文を使っていることに原因があるようにも思いますが、やはりどう直せばいいかがわかりません。
818nobodyさん:2009/12/03(木) 21:46:57 ID:R411r6if
wp-dtree_gen-functions.php

の110〜132行目(参考)

function wp_dtree_get_count($nodedata, $treetype){
global $wpdb;
$idtranspose = wp_dtree_get_id_transpose();
$count = '';
if($treetype == 'cat'){
$catid = $nodedata['id']-$idtranspose['cat']; //DONT put this calculation in the parameter list. http://wordpress.org/support/topic/148638?replies=3
$catobj = get_category($catid);
$count = $catobj->category_count;
$children = get_categories( //a roundabout way to get the padded count of this category...
array(
'type' => 'post',
'child_of' => $catid,
'orderby' => 'ID',
'order' => 'DESC',
'hide_empty' => false,
'include_last_update_time' => false,
'hierarchical' => 1,
'exclude' => '',
'include' => '',
'number' => '',
'pad_counts' => 1
)
);
819nobodyさん:2009/12/03(木) 21:48:26 ID:???
おいおい
820nobodyさん:2009/12/03(木) 21:49:19 ID:???
twitterのTLをdatに吐き出してJaneStyleで見てるけど、特に化けたりとかはしてないな。
エンコード変換以外に必要なのは、実体参照になってるのを戻してやるぐらいか。
821nobodyさん:2009/12/03(木) 21:50:38 ID:???
822nobodyさん:2009/12/03(木) 21:52:49 ID:R411r6if
>>810
このプラグインを使うとカテゴリーをExplorer状に折りたたんで表示することができるんです。
同じようなプラグインはあるのですが、これが一番見た目はよくできているのです。
823nobodyさん:2009/12/03(木) 21:54:33 ID:R411r6if
>>821
そこで聞いてみます。すみません。
824nobodyさん:2009/12/03(木) 21:55:55 ID:DjsgAevR
>>820
まさにそれ作ってます。
2chのAAで使われるような絵記号とか3/4スペースとかあるとおかしくなりませんか?
うちの環境だと、convert_enc〜が何も吐かない時と?を吐くときとランダムで、
DATサイズ合わないので困ってます。
ttp://labs.moene.ws/2wit/
825nobodyさん:2009/12/03(木) 22:37:07 ID:???
>>824
$string = "abc"; //UTF-8でエンコードされた文字列
$length = mb_strlen($string,"UTF-8"); //文字数を取得
$return = "";
for($i = 0; $i > $length; $i++){
  $return .= "?".mb_convert_encoding($str,"Unicode","UTF-8").";";
}

文字列を全部数値文字参照に変換するものを書いてみた
forの中にShift_JISの範囲内に入っているかを判別する式を書いて振り分ければ望んだ動作になるはず
826nobodyさん:2009/12/03(木) 22:38:42 ID:???
  $return .= "?".mb_convert_encoding($str,"Unicode","UTF-8").";";

  $return .= "&#".mb_convert_encoding($str,"Unicode","UTF-8").";";
だ、ミス。
827nobodyさん:2009/12/03(木) 22:40:00 ID:???
ああ、中途半端に送信してたこれが正しいやつね。
$return .= "&#".mb_convert_encoding($string{$i},"Unicode","UTF-8").";";
828nobodyさん:2009/12/03(木) 22:44:49 ID:???
探してみたら拡張ラテン文字(TURNED K: ?)をユーザ名に使ってる人のが
当然のように化けてた。
# Twitでも化けてたから(見た目は同じ?に置換)見慣れてしまってて気付かなかった。

コードは取れるだろうから素直にHTMLの数値参照に置き換えるのがベストなんだろうな
829nobodyさん:2009/12/03(木) 22:44:55 ID:ZvKoTbw+
>>824 です。帰宅しました。
>>825-827
おおお。ありがとうございます!
ちょっくら試してみます。Unicode、考えてもいませんでした。
あとはUnicode<>ShiftJISの対照テーブルですね。
830nobodyさん:2009/12/03(木) 22:48:50 ID:???
>>829
何かおかしいと思って動かしてみたら動かなかった。肝心の数値に変換するところを忘れてたわ何度もスマン

  $return .= "&#".hexdec(bin2hex(mb_convert_encoding($string{$i},"Unicode","UTF-8"))).";";
831nobodyさん:2009/12/03(木) 22:52:17 ID:ZvKoTbw+
>>825-827
そこなんですよね。
今の環境(PHP5.2.5)だと、?にすらならずにNULLで返ってくることがあるという。。。
さっき教示いただいた方法と、mb_encode_numericentityの方法とを試してみます。
SJISとのコード範囲が直接対応しないので今泣いてますw
>>830
ちゃんと脳内補完しておりました。いろいろありがとうございます。
もし躓いたらアドバイスいただけるとうれしいです。。。
832nobodyさん:2009/12/03(木) 23:02:23 ID:???
$return .= "&#".hexdec(bin2hex(mb_convert_encoding($string{$i},"Unicode","UTF-8"))).";";

$return .= "&#".hexdec(bin2hex(mb_convert_encoding(mb_substr($string,$i,1,"UTF-8"),"Unicode","UTF-8"))).";";
マルチバイト考慮してなかったわ、、頭が回ってないな
833nobodyさん:2009/12/03(木) 23:12:10 ID:ZvKoTbw+
>>832
Unicode.orgのJIS資料見てました。さんくすです。
834nobodyさん:2009/12/04(金) 00:51:20 ID:pWkVeJ5L
>>832
ほんとうにありがとうございました。解決しました。
SJISのテーブルを配列で持って、in_arrayで判定していますが
ちょっとロス多いし重いので改善します。
835nobodyさん:2009/12/04(金) 01:09:35 ID:???
>>834
$string = "【PHP】下らねぇ質問はID出して書き込みやがれ 90";
$length = mb_strlen($string,"UTF-8");
$return = "";
for($i = 0; $i < $length; $i++){
  $now = mb_substr($string,$i,1,"UTF-8");
  if(preg_match("/[\0-\ff]|[ -滌]|[漾-K]/",bin2hex($now)) == 1) {
    $return .= $now;
  }else{
    $return .= "&#".hexdec(bin2hex(mb_convert_encoding($now,"Unicode","UTF-8"))).";";
  }
}

正規表現で纏めると楽。

動かしてないからバグ含むかもしれないが
836nobodyさん:2009/12/04(金) 01:10:53 ID:???
if文の所はbin2hexいらなかったな
837nobodyさん:2009/12/04(金) 01:23:42 ID:pWkVeJ5L
>>835
あー。範囲をざっくりでよければそれが楽だし早そうですね。
かなり遅くなって、2000レスくらいあるとタイムアウトになるのでw
明日起きたら修正してみます。
本当に助かりました。ありがとう。
838nobodyさん:2009/12/04(金) 01:28:11 ID:pWkVeJ5L
>>835
…あれ?
眠くて頭回ってないんですが、preg_replaceつかえばfor回さなくていけそうな気が。
起きたらやってみます。スレ汚しすみませんでした。
839nobodyさん:2009/12/04(金) 01:51:51 ID:???
>>838
漢字の表にらめっこしてて気づいた。UTF-8の[漾-K]とsjisの[漾-K]は違う、と
なのでPHPに直接漢字を書いたら意味を成さない

mb_convert_encodingでshift_jis範囲外の文字をshift_jisに変換すると\x0-\xffの範囲に収まる文字に化けることに気づいたので
書いてみた。これで今度こそちゃんと動くはず

<?php
$string = "ここにsjis範囲外の文字を混ぜてみるといいよ";
$length = mb_strlen($string,"UTF-8");
$return = "";
for($i = 0; $i < $length; $i++){
  $now = mb_substr($string,$i,1,"UTF-8");
  $sjis = mb_convert_encoding($now,"Shift_JIS","UTF-8");
  if(preg_match('/^[\x0-\xff]$/',$now) == 1) {
    //半角文字はスルー
    $return .= $now;
  }else if(preg_match('/^[\x0-\xff]$/',$sjis) == 1) {
    //半角文字ではないのにsjisに変換したら半角文字になったらsjis範囲外と判定
    $return .= "?".hexdec(bin2hex(mb_convert_encoding($now,"Unicode","UTF-8"))).";";
  }else{
    //それ以外は対応していると判定
    $return .= $now;
  }
}
echo $return;
?>
840nobodyさん:2009/12/04(金) 08:37:23 ID:k0I4hXn9
>>839
出勤途中なんであとでためしてみます。
現状の方法だと、sjisにあるunicodeのコード表を持っているためかメモリ•時間のコストが高いです。
最終的に一文字ずつの処理がネックにならなければいいのですが。。
841nobodyさん:2009/12/04(金) 09:30:36 ID:???
mb_substitute_character("?");

変換できない文字もなんとかしたいなら
mb_substitute_character("long");



842nobodyさん:2009/12/04(金) 09:57:19 ID:bmPzZ+0r
>>841
うわわわわ。1行で解決しちゃった。この関数知りませんでした。。。
本当にありがとうございます。
longで出した後に、該当だけpreg_matchで数値参照形式に置換しました。
速度も従来と同じですし快適です。

>>839, >>841 重ね重ね御礼です。ありがとうございました。勉強になりました。
843nobodyさん:2009/12/04(金) 10:10:50 ID:???
>>841
うーん。よく見たら期待するunicode値がでないですね。。。
&#9992;になって欲しいところ、出力は&#2708;(U+2708)
844nobodyさん:2009/12/04(金) 10:28:04 ID:???
おっと。hexdecしてなかったです。すみません。
845nobodyさん:2009/12/04(金) 10:51:45 ID:???
まだ続けるなら他所でやってくれないかなぁ
846nobodyさん:2009/12/04(金) 14:13:59 ID:QlPFqhzQ
質問です。

$NewID=10;
$NewFile = @fopen("ID/"+$NewID+".txt, "w");

のようにファイル名の中に変数を用いたいのですが、どうすればいいのでしょうか?
847nobodyさん:2009/12/04(金) 14:20:48 ID:???
"ID/$NewID.txt"
848nobodyさん:2009/12/04(金) 14:21:16 ID:???
>>846
そのソースのままでいいんじゃないのか?w
849nobodyさん:2009/12/04(金) 14:27:42 ID:???
"ID/".$NewID.".txt"
850nobodyさん:2009/12/04(金) 15:03:29 ID:???
849が書いてるがPHPの文字列連結演算子は+でなく.(ドット)な
851nobodyさん:2009/12/04(金) 15:06:45 ID:???
どこの言語やねn
852nobodyさん:2009/12/04(金) 15:08:19 ID:???
'ID/'.$NewID.'.txt'
これと
"ID/{$NewID}.txt"
これとかは許せるけど

"ID/".$NewID.".txt"
これだけは許せない。
853nobodyさん:2009/12/04(金) 15:10:08 ID:???
なんでカンマとドットが混在してるんだ?
854nobodyさん:2009/12/04(金) 15:11:03 ID:???
>>852
許せない理由は?
855nobodyさん:2009/12/04(金) 15:26:59 ID:???
遅くなるからだろ
856nobodyさん:2009/12/04(金) 16:09:48 ID:++QWFr0H
WinXP-Pro(SP2)です。

PHP5.2.6で実行エラーが出るので、最新版5.3.1をインストールしました。
これでDOS上は問題なく動いたので、Apache(Localhostサーバー)を
試すため下記の phpinfo.php をFireFoxで実行したところ、PHPのバージョンが
5.2.6のままでした。

<?php
phpinfo();//上の行の <? タグが消えています
?>

php -v で確認したところ、やはりDOSでは5.3.1です。
これって、動作上の不具合は起きますか?(今のところ起きていませんが・・・)
857nobodyさん:2009/12/04(金) 16:10:01 ID:???
ほとんど遅くはならんだろうけど
変数展開必要かどうかで使い分けて欲しい。
858nobodyさん:2009/12/04(金) 16:12:35 ID:???
DOS?
859nobodyさん:2009/12/04(金) 16:16:03 ID:???
>>856
php -vとやって実行されるのはphp.exe
apacheで読み込まれるのはphp5ts.dllで違うモノ。

apacheの再起動はした?もししているのなら
apacheが読み込んでいるDLLが5.2.6の奴を読み込んでいる。
httpd.confを確認して。
860846:2009/12/04(金) 16:18:56 ID:QlPFqhzQ
レスくださったかた、ありがとうございました。
861nobodyさん:2009/12/04(金) 16:24:16 ID:g07CCDF2
【OS名】Ubuntu
【PHPのバージョン】php5.2.6
【連携ソフトウェア】MySQL
【質問内容】
ブログ作りに挑戦していて、これからいよいよメイン画面を作るところです。

毎日1エントリ投稿して、各エントリにコメントが10件つくとすると、
約3年でコメントが10,000件になってしまいます。
レコード数の増大によって速度が落ちるのを防ぐ対策が必要でしょうか?

数エントリごとに新たにデータベースのテーブルを作って、テーブル一つ一つの
サイズが大きくなりすぎないようにしないといけないのでしょうか。
良い方法をご教示いただければ幸いです。
862nobodyさん:2009/12/04(金) 16:32:27 ID:???
>>861
サーバスペックが書いてないが、1万レコード程度では問題にならんと思うぞ

その程度の規模なら、最低限の事としてINDEXを貼って、定期的にanalyzeしとけばまず平気
あとはPHPの話ではなくDBの話になるからスレ違い。
863856:2009/12/04(金) 16:40:23 ID:???
>>857-859
すいません、DOSではなくコマンドプロンプトです。

あと、再起動しようとしましたがStopが無効だったので、Exitをしたら
タスクトレイからApacheが消えてしましまいした。

復旧のため、Apacheのhttpdがあるbinディレクトリより \bin>httpd start 
としましたが、駄目でした。どうしたら良いでしょうか?
864nobodyさん:2009/12/04(金) 16:43:54 ID:???
それはApache Monitorだと思うよ
865nobodyさん:2009/12/04(金) 16:54:26 ID:???
>>863
windows再起動すればまたhttpdあがるよ
866nobodyさん:2009/12/04(金) 16:55:35 ID:???
apache起動するためにOS再起動(笑)
867nobodyさん:2009/12/04(金) 16:59:14 ID:???
実際そのほうが早そうだろw
868nobodyさん:2009/12/04(金) 17:00:20 ID:???
Windows再起動30秒〜1分
Apache再起動5秒〜10秒
869861:2009/12/04(金) 17:04:22 ID:g07CCDF2
>>862
まだローカルでしか動かしてませんが、完成したら無料のレンタルサーバに置く予定です。
10,000件でも100,000件でも大丈夫なんでしょうか・・・。

analyzeというのは何のことかわかりませんが、これから調べてみようと思います。
INDEXというのはテーブルの主キーになる連番のことですよね?
PHPの質問だと思ってここに書きましたが、おっしゃるとおりDBのことなので、
わからなかったら今度は該当するスレに行こうと思います。

ありがとうございました!
870nobodyさん:2009/12/04(金) 17:07:55 ID:???
>>868
その書込みはちょっとズレすぎじゃないか?

>>869
レン鯖なら容量が決まってると思うので、そっちを心配した方が良い
871nobodyさん:2009/12/04(金) 17:12:57 ID:???
何でWindowsなんかで開発してんの?
872856:2009/12/04(金) 17:18:30 ID:???
>>864-868
有難うございます。

binにあるApacheMonitorをダブルクリックしてタスクトレイに
ApacheMonitorを復帰させることは出来ましたが、Startを選択すると
下記のメッセージが現れます。
http://uproda.2ch-library.com/193874eFA/lib193874.png

すいません、アドバイス願います。
873nobodyさん:2009/12/04(金) 17:20:16 ID:???
apacheのスレいけよ
874nobodyさん:2009/12/04(金) 17:30:01 ID:???
>>872
状況を整理するぞ、違ってたらごめんな

1.php5.2.6が正常動作
2.その状態でphp5.3.1をインストール(apacheの再起動は行ってない)
3.>>856 の状態になる
4.apacheの停止でエラー、起動させると>>872のエラーがでる。

これであってるなら、httpd.confの整合性がとれない可能性がでかい
httpd.confのLoadModuleとかで読み込んでいるファイルが存在するのか確認して。
php5.3.1入れたんだから、php5.3.1のファイルを指定しないと駄目だよ

っていうかエラーメッセージで検索してみな、いっぱいでてくるから。
875nobodyさん:2009/12/04(金) 17:32:13 ID:???
>>872

PHPをインストールした場所はどこ?。
876861:2009/12/04(金) 18:08:51 ID:g07CCDF2
>>870
> レン鯖なら容量が決まってると思うので、そっちを心配した方が良い

100MBくらいあれば問題ないと思ってました。。
実際に運用を始めたら、ときどき使用容量を確認しようと思います。
アドバイスありがとうございました。
877856&874:2009/12/04(金) 18:12:47 ID:???
ApacheMonitor復活できました!
が・・・ Restartしてもphpinfo.phpでは5.2.6のままです。
(つまり、>>856の状態に戻りました)


> httpd.confのLoadModuleとかで読み込んでいるファイルが存在するのか確認して。

確認したところ、LoadModule php5_module "c:/php5/php5apache2_2.dll" となって
いるもののphp5内にphp5apache2_2.dllがありませんでした。
幸い、バックアップを取っていたphp5apache2_2.dllがあったのでこれを流用しました。



>>874
流れ的には、
PHP5.2.6で実行エラー 
→ 5.3.1に変える(php -v で確認)
→ phpinfo.php をFireFoxで実行したところ、PHPのバージョンが 5.2.6のまま
→ ApacheMonitorを再起動しようとするとStopが無効だったので、
  ExitをしたらタスクトレイからApacheMonitorが消えた
→ ApacheMonitorは復活したが、Startを選択すると下記のメッセージが現れる
  http://uproda.2ch-library.com/193874eFA/lib193874.png

です。なので>>854さんの1,2が違います。


>>875
Cドライブ直下のphp5内です。


878nobodyさん:2009/12/04(金) 18:24:29 ID:???
>>877

バージョンが5.2.6のままなのは、
php5apache2_2.dllが古いからかも。

PHP5.3.1のphp5apache2_2.dllを上書きしてみたら?
879nobodyさん:2009/12/04(金) 19:02:52 ID:???
pregによるパターンマッチで正規表現内に変数を扱うのですが、
その変数内にスラッシュが含まれているとエラーになるみたいなんですが何か対処法はありませんか?

もし問題なければそう言って頂ければ幸いです。宜しくお願いします。
880nobodyさん:2009/12/04(金) 19:07:49 ID:???
>>879
スレタイ読んだ?
881nobodyさん:2009/12/04(金) 19:09:52 ID:fvCG6CPk
すみません忘れてました
882nobodyさん:2009/12/04(金) 19:11:12 ID:???
>>881
正規表現の構文を囲んであるスラッシュを@とか#とか適当な(使わない)ものに変えればok
883nobodyさん:2009/12/04(金) 19:14:54 ID:fvCG6CPk
Perlのm演算子みたいなものですね
ありがとうございました
884nobodyさん:2009/12/04(金) 20:56:52 ID:???
preg_quoteとかって言う関数も賢いです
変数の正規表現するときくらいはかまってあげてください
885nobodyさん:2009/12/05(土) 17:16:42 ID:???
【OS名】Ubuntu
【PHPのバージョン】php5.2.6
【連携ソフトウェア】MySQL
【質問内容】

ブログを作っていて毎日記事を書いているとアクセスが増えてきてコメントがたくさんつくように
なりました。コメントの表示はreadfile("txt")としてましたが一ページのコメント量が
多いページになると読み込みが重くなるので分散したいと考えDBの利用を検討してます。

例えばpageというフィールドを作って1とか2といったレコードを記録して参照時は
WHERE page = 1 LIMIT 0, 5みたいなSQLを発行した方がいいのか
ページごとにテーブルを作った方がいいのか迷ってます。(ページ総数は1000ページ)
読み込み時の負荷の軽い方はどちらでしょうか?

886nobodyさん:2009/12/05(土) 17:20:32 ID:???
>>885
スレタイぐらいよめ
そして1テーブルでやれ
887nobodyさん:2009/12/05(土) 19:08:17 ID:???
むしろページ毎にテーブルを作ったDB設計を見てみたい
888nobodyさん:2009/12/05(土) 19:47:59 ID:???
DB設計の前に、まず人生設計を見直せ
889nobodyさん:2009/12/05(土) 19:48:54 ID:???
むしろページ毎に1つのテキストファイルにまとめてしまった方がよさげ。
890nobodyさん:2009/12/05(土) 20:01:38 ID:39Sh3r0Z
Flash・PHP連携でPHP(5.2.6)「側の値の扱いで質問です。

PHPから値(data1,data2)を送信するとき、引用したサイトでは下の
ように書いてありました
echo '&data1='.$data1.'&data2='.$data2;
※引用 ttp://wiki.minaco.net/index.php?Flash/%E9%96%A2%E6%95%B0/LoadVars

この記述(引数の参照渡し)自体は問題なく動作したのですが、
本によると
「引数の参照渡しはコードの見通しが悪くなるので、無闇に使う
のはやめましょう」
とありました。

そこで質問ですが、上記の「echo 〜」の別の表現にはどのようなものが
あるのでしょうか?
891nobodyさん:2009/12/05(土) 20:08:37 ID:???
どこに参照渡しがあるの?
892nobodyさん:2009/12/05(土) 20:10:43 ID:???
それ、ただのgetパラメ(略
893nobodyさん:2009/12/05(土) 20:13:04 ID:???
まず、”参照渡し”と”値渡し”の違いを理解しようか
894nobodyさん:2009/12/05(土) 20:43:30 ID:???
いや
ページ毎にテーブルを作った方が元取れんぞ
焼肉食べ放題でも元取れるまで食うだろ。それと一緒だ
どんどん使え 食え! 食エリ!
なんちゃってwwwwww
895nobodyさん:2009/12/05(土) 20:48:20 ID:???
ざわざわ・・・
896nobodyさん:2009/12/05(土) 20:52:30 ID:???
特定のphpファイルを常時起動させときたいんでスケジューラで一定タイミングごとに起動させようと思います。
ただし多重起動しないように、起動時にチェックしてすでに常駐してるなら終了、
みたいな処理させたいのでおそらくプロセスIDを見て処理するのだと思うんですが
Vistaの場合にはどうしたらいいんでしょうか。
897nobodyさん:2009/12/05(土) 20:53:22 ID:2rpAUHym
すいませんsage消し忘れです。上のと同じですがよろしくお願いします。

特定のphpファイルを常時起動させときたいんでスケジューラで一定タイミングごとに起動させようと思います。
ただし多重起動しないように、起動時にチェックしてすでに常駐してるなら終了、
みたいな処理させたいのでおそらくプロセスIDを見て処理するのだと思うんですが
Vistaの場合にはどうしたらいいんでしょうか。
898nobodyさん:2009/12/05(土) 21:11:22 ID:???
スレ違い乙
899890:2009/12/05(土) 21:16:33 ID:???
>>891-893
”参照渡し”と”値渡し”というのは、Cにおけるポインタ
みたいなものでしょうか?

つまり、出席番号21番の鳩山君という定義があったとき、
彼を検察が呼び出すとき、
参照渡し)「出席番号21番出頭しなさい」
値渡し)「鳩山君出頭しなさい」

という違いですか? これが正しいとして、'&data1='の『&』の
役割りが分かりません。
900nobodyさん:2009/12/05(土) 21:19:01 ID:???
>>899
その場合の&はただの&
これとこれって意味
901nobodyさん:2009/12/05(土) 21:24:59 ID:???
>>899
PHPで参照渡しするときは&$example
902nobodyさん:2009/12/05(土) 21:36:01 ID:???
GETパラメターってPHPとか関係ないし
903nobodyさん:2009/12/05(土) 22:15:00 ID:???
>>897
スレ違い

普通はロックファイル作ると思う
PHPってApacheだし
904nobodyさん:2009/12/05(土) 22:40:33 ID:???
>>903
>PHPってApacheだし
そういう端折り方すると、いろんなモノを召喚しそうだw
905nobodyさん:2009/12/05(土) 22:41:45 ID:???
あぶねー召還されかけた
906nobodyさん:2009/12/05(土) 22:43:44 ID:???
天下のIIS様がお怒りになるぞ


っていうかwindowsなのにIIS使わない理由は何?
MS様がサポートしてくれるのに。
907nobodyさん:2009/12/05(土) 22:51:54 ID:???
>>906
頼む!元の世界に還ってくれ・・・!
908nobodyさん:2009/12/05(土) 22:59:29 ID:???
>>907
調子のりすぎた。
カンファレンスのスポンサーにもなってるのに、PHP on IISの話は全然でてこないなーと思って。

http://technet.microsoft.com/ja-jp/iis/ee794964.aspx
909nobodyさん:2009/12/05(土) 23:20:54 ID:???
使うヤツがいねーからだろjk
今すぐ土へ還るんだ
910nobodyさん:2009/12/06(日) 00:39:40 ID:NcEl5Lj3
形態素解析エンジン入れたくて
http://page2.xrea.jp/#php_mecab
http://cvs.php.net/viewvc.cgi/pecl/chasen/
こういうのが見つかったんですがcのファイルだけ置いてあってREADMEにVisualStudioでビルドしろって書いてありますが
これらはわざわざ製品買ってコンパイルしてやらないとphpで使えないってことでしょうか。
911nobodyさん:2009/12/06(日) 01:06:36 ID:???
いいえ
912nobodyさん:2009/12/06(日) 01:48:25 ID:???
make
913nobodyさん:2009/12/06(日) 02:07:54 ID:lUTuxG8h
>>899
C言語にも参照渡しあるでしょ。
アドレス渡しとか参照呼び出しとかとも言ったと思うけど。
914nobodyさん:2009/12/06(日) 02:18:20 ID:???
phpファイルを常時起動しておくってどういう意味だ?
915nobodyさん:2009/12/06(日) 05:06:29 ID:???
デーモンのことじゃね
916nobodyさん:2009/12/06(日) 06:28:24 ID:C3/Ead/T
入力されたデータを元にページを生成するものを作っています。
次回同じページを見るときに、GETリクエストで、
http://example.com/?a=1&b=1&c=1&d=1&e=1&f=1
みたいな感じでアクセスすると同じページが生成されますが、
ページによるとなんか暗号化?みたいにしてサーバ側でデコードしてやってるとこがありますよね?
http://example.com/aHwh2iuAwuihs2
みたいなランダムな文字列で。
これってどういう風にやるのでしょうか?
917nobodyさん:2009/12/06(日) 09:58:37 ID:???
サーバ側でデコードしてるのでは
918nobodyさん:2009/12/06(日) 10:27:22 ID:C3/Ead/T
>>917
なんかそういう関数があるのでしょうか?
base64関数はありますが、これはちょっと用途的に違うような気もしますし。
919nobodyさん:2009/12/06(日) 10:43:11 ID:???
何パターンかあると思うよ
・ランダムでユニークな文字列を作成して、
ユニークIDとGETの値をDBに入れておく
・GETの値で使用する値を取得、serialize+pearの暗号化+base64の組み合わせ

まぁ暗号化が一番バランスいいかなと
920nobodyさん:2009/12/06(日) 10:47:42 ID:C3/Ead/T
>>919
ありがとうございます。
調べてちょっとやってみたいと思います。
921nobodyさん:2009/12/06(日) 11:20:00 ID:???
>>913
無いよ。Cの引数は全て値渡し。
ポインタ(の値)を渡すことで、参照渡し相当のことを擬似的には行えるけど。
922nobodyさん:2009/12/06(日) 17:56:10 ID:???
>>921
擬似的ってつうか、同じことじゃね?
923nobodyさん:2009/12/06(日) 18:15:21 ID:Sn8eXDuL
はじめてPHPにチャレンジしてます。

PHP4向けのサンプルプログラム(書籍添付CDのコピー)を
PHP5の環境で動かしています。
フォームに"名前"を入力したら、「"名前"さん、ようこそ」と表示する
簡単なものですが、"名前"が表示されずに「さん、ようこそ」と表示されます。
HTMLやPHPソースの名前の変数名は一致しています。

フォームでの変数名指定、フォームの変数参照の規約は
PHP4とPHP5と違うのでしょうか?

924nobodyさん:2009/12/06(日) 18:18:10 ID:???
$_POSTを使わなきゃだめだよ
925923:2009/12/06(日) 19:05:20 ID:Sn8eXDuL
>>924
レスありがとうございます。

でもビックリです。
4から5に上げる時、みなさん修正されたんでしょうか?!
926nobodyさん:2009/12/06(日) 19:06:54 ID:???
上げれなくなって悲惨な状況になった人はいるらしいね
927nobodyさん:2009/12/06(日) 19:07:38 ID:???
phpではよくあること
928nobodyさん:2009/12/06(日) 19:13:03 ID:???
4だと$_POSTじゃなくてどうやってやってたの?
929nobodyさん:2009/12/06(日) 19:16:51 ID:???
$HTTP_POST_VARSとか
930nobodyさん:2009/12/06(日) 19:20:59 ID:???
>>929
サンキュ。

>>926
$HTTP_POST_VARSを$_POSTに一括置換するだけじゃダメなのかな。
931nobodyさん:2009/12/06(日) 19:26:30 ID:???
それじゃなくてregister_globalsがonなわけでしょ
932nobodyさん:2009/12/06(日) 19:31:17 ID:???
最後は?>で終わるのが当たり前と思ってた時期もありました
933925=923:2009/12/06(日) 19:34:14 ID:Sn8eXDuL
みなさん、レスありがとうございます。

>>927

「よくある」んですか?!


>>930

PHP4での記述形式が変わったのは、
$_POST関連だけなんでしょうか?
934nobodyさん:2009/12/06(日) 19:35:32 ID:???
もっと色々いっぱい
935925=923:2009/12/06(日) 19:43:28 ID:Sn8eXDuL
>>933
レスありがとうございます

今後も変更の可能性があるのならば、
作るプログラムが小さい場合は、
PHPよりPerlの方が無難なのでしょうか?
936nobodyさん:2009/12/06(日) 19:46:47 ID:???
好きにしろよw

どんなソフトでもバージョンアップはあるよ
937925=923:2009/12/06(日) 19:54:46 ID:Sn8eXDuL
「お客さんに納めたシステムが1年後に動かなくなります。
ちゃんと動くようにするのにxxx万円かかります」なんて言ったら、
お客さん怒るんじゃないでしょうかw
私だっら怒りますよ。「そんな話は聞いてない!」ってw
938nobodyさん:2009/12/06(日) 19:56:13 ID:???
だから今でもphp4のシステムはたくさんあるし
本家のサポートは終わったけど、有償サポートしてる所があるわけ。
939nobodyさん:2009/12/06(日) 19:59:31 ID:???
>>937
どの関数がなくなるとか言う情報はずっと前から公開されるから
使わないで作れば大きな問題はないよ
940nobodyさん:2009/12/06(日) 20:34:24 ID:???
>>937
なんでwを付けてんの?
941925=923:2009/12/06(日) 21:10:18 ID:Sn8eXDuL
>>940
そんなソフト(の開発者が作ったもの)は使うべきでないのに、
それを許して、多くの人が使ってるから
942nobodyさん:2009/12/06(日) 21:12:35 ID:???
まあでもウィンドウズでもマックでもあるからな
開発っちゃそういうもんさ
943925=923:2009/12/06(日) 21:13:06 ID:Sn8eXDuL
コンピュータ業界で、そんなことが許されたのは、
コンピュータアーキテクチャが違う時のみ。
利用者の過去の資産が使えなくなる形でバージョンアップするのは
本来ならトウシロウと呼ばれるべき。
944nobodyさん:2009/12/06(日) 21:16:25 ID:???
>>943
結局どっちだったの?$HTTP_POST_VARSかregister_globalsか
945nobodyさん:2009/12/06(日) 21:41:35 ID:???
post office
946nobodyさん:2009/12/06(日) 22:23:54 ID:???
>>943
ここでうだうだ言ったところで仕様は変わらんよ
気に食わないならperlでもrubyでもjavaでも好きな言語選べや
947nobodyさん:2009/12/06(日) 22:27:45 ID:???
>>943
団塊ジジイ乙

4で作ったら4で動かしていればいいだけ。
自動でバージョンアップは普通しない
たぶんPHPの設定がサンプルと違っているだけ
セキュリティの問題とかでわりと変わってる品

まあ、時代についていけない団塊世代はプログラムなんぞ
やるんじゃねぇってことだ
948nobodyさん:2009/12/06(日) 22:45:00 ID:???
>>922
C++が参照渡しが書けるから、それと区別する意味でも
Cの方はポインタの値渡しとしたほうが自然。
949nobodyさん:2009/12/06(日) 22:49:15 ID:???
まさかこんな展開になるとは予想もしなかった>>927であった
950nobodyさん:2009/12/06(日) 22:50:07 ID:???
このスレではよくあること
951nobodyさん:2009/12/06(日) 23:12:01 ID:???
>>943
バージョンアップでどう変わったのか自分で調べることもできない低脳質問者のくせにやたらと饒舌だなw
952nobodyさん:2009/12/06(日) 23:52:36 ID:???
>コンピュータ業界で、そんなことが許されたのは、
許されないのはCOBO・・・おっと。

新しいバージョンに入れ替えてどうなるか調査しないで
モンク垂れることが許される業界は、コンピュータ業界
には無いな。
953nobodyさん:2009/12/07(月) 00:20:44 ID:???
年寄りをからかっちゃダメw
954nobodyさん:2009/12/07(月) 00:30:26 ID:???
てか、PHP4でも$_POSTは使えるんだがって誰も書いてねえ
955nobodyさん:2009/12/07(月) 00:32:14 ID:???
いやそういう話じゃないから・・・
956nobodyさん:2009/12/07(月) 01:06:00 ID:???
PHP5から始めてよかったwwwwww
957nobodyさん:2009/12/07(月) 02:12:36 ID:???
PHPはじめなければ良かった…
958nobodyさん:2009/12/07(月) 03:23:16 ID:???
PHP4だと直接変数で受け取ってたのか・・
959nobodyさん:2009/12/07(月) 04:09:41 ID:Q2sf5+Ka
mail()関数で簡単なメールを送信したんですが送られてきません

関数部分の内容は
mail('****@gmail.com', 'My Subject', "testFromMail"); ってだけです。
php.iniを確認すると、sendmail_path = /usr/sbin/sendmail -t -i となっています。
ためしに "/usr/sbin/sendmail -t -i" と"で囲んでも同じ結果でした。

何が問題と考えられますか?
どこがおかしいか、可能性を教えてもらえると幸いです。
宜しくお願いします

環境は、centOS5.3 apache2 php5.2.6
macのvmware-fusion上で動かしています。
960nobodyさん:2009/12/07(月) 09:07:04 ID:???
メール送信のみのプログラムを走らせる
PHPのエラーは全て拾う
エラーが無かったらメールログを見る
正常に送信してたらスパムフィルタを疑う
スパムフォルダ等になければ遅延を疑う
961nobodyさん:2009/12/07(月) 10:48:28 ID:???
>>960
ありがとうございます
アパッチのエラーログには異常がないので、メールログに何か書いてあるみたいですが読み方がわかりません
スレ違いは承知していますがSENDMAILのエラーログの解説してるサイトを教えてもらえないでしょうか
もちろんググったんですが、似たような質問ばかりでてきて肝心のリンク先が切れてるのばかりで…

気に障ったら無視してください、引き続き自分でも探しますので
ありがとうございました
962nobodyさん:2009/12/07(月) 11:06:03 ID:???
test
963nobodyさん:2009/12/07(月) 11:08:02 ID:???
うん、自分で探せ
964nobodyさん:2009/12/07(月) 15:32:12 ID:???
ログなんて数行なんだからだいたいは読み取れるだろ
あと忘れてたけど自宅鯖なの?ポート25では直接送れないのかもね
ログの件もそうだけどわからなかったら自宅鯖のくだ質行ってください
965nobodyさん:2009/12/07(月) 18:42:01 ID:???
三項演算子みたいに
$a = ($b===0)?0:1;
な感じで、
$a = if($b===0){0;}else if($b===1){1;}else{2;}
と言う風なことができたらいいなと思ったんですがsyntax errorが出てしまいます。
ふつうにif($b===0){$a=0;}else if($b===1){$a=1;}else{$a=2;}
でもいいのですが、どうにかできないものでしょうか
よろしくおねがいします。
966nobodyさん:2009/12/07(月) 18:42:49 ID:0YQe80X3
id
967965,966:2009/12/07(月) 18:43:47 ID:0YQe80X3
 
968nobodyさん:2009/12/07(月) 18:55:21 ID:???
$a = $b <= 1 ? $b : 2;
969nobodyさん:2009/12/07(月) 19:29:56 ID:???

$a = ($b===0) ? 0 : ($b===1) ? 1: 2;
970969:2009/12/07(月) 19:31:15 ID:???
あ、>>968でいいのか・・・
すまん
971nobodyさん:2009/12/07(月) 19:47:39 ID:???
全然良くないじゃん
-1だったら?
972nobodyさん:2009/12/07(月) 20:03:31 ID:0YQe80X3
>>968
この数字だとニュアンスが伝わらなかったですね・・
すいませんでした。
$a = if($b==='a'){0;}else if($b==='b'){1;}else{2;}
というような感じに書きたかったんです。
>>969
ありがとうございます。
なるほど三項演算子の入れ子っぽい感じでしょうか
しかしさっそく

$b='a';
echo 'a='.$a = ($b==='a') ? 0 : ($b==='b') ? 1: 2;

として試してみたところ
$aは2になってしまいました・・

$b='b' のとき、 $a=1 。
$b='c'とした場合や、$bが未定義のときは$aは2になってくれました。

そこで調べてみると、ネストした三項演算子の挙動とその対応策
というサイトに行きついて対応策が書かれていたので
分岐が少ないうちは()でくくろうかなと思います
ありがとうございました。
973nobodyさん:2009/12/07(月) 20:08:37 ID:???
switchでも使ったほうが良さそうだけど。
974nobodyさん:2009/12/07(月) 20:17:18 ID:???
参考塩山市のネストは醜いです
なので私もswitch推奨
975nobodyさん:2009/12/07(月) 20:35:16 ID:???
>$a = if($b==='a'){0;}else if($b==='b'){1;}else{2;}
一行でちゃちゃっと書きたいんだろうけど、その発想は後々後悔する
複雑なら関数(メソッド)化したほうがいいと思う
976nobodyさん:2009/12/07(月) 20:38:28 ID:???
PHPでワンライナーとか…。悪いことは言わん、やめとけ
977nobodyさん:2009/12/07(月) 22:33:22 ID:Uy2a15lY
hoge1フォルダの中にあるファイルにアクセスしたときに
hoge1フォルダからの相対アドレスを取得したいのですが、
どのようにやったらいいでしょうか?
978nobodyさん:2009/12/08(火) 00:06:57 ID:???
echo RelativePath("/hoge2/hoge3/hoge1" , "/hoge2/hoge3/mydir" );

function RelativePath( $basePath , $targetPath) {
$basePath = ereg_replace("/$","",$basePath);
$targetPath = ereg_replace("/$","",$targetPath);
$basePath = ereg_replace("^/","",$basePath);
$targetPath = ereg_replace("^/","",$targetPath);
$base = explode("/",$basePath);
$target = explode("/",$targetPath);
$targetCount = count($target);
$baseCount = count($base);
for ($i=0;$i<$targetCount and $i<$baseCount;$i++){
if ( $base[$i] == $target[$i] ){
unset( $target[$i]);
unset( $base[$i]);
}
}
if (count($base) ==0)
$path ="./";
else
$path = str_repeat("../", count( $base ));
$path.= implode("/",$target);;
return $path;
}
979977:2009/12/08(火) 00:16:54 ID:???
>>978
すごい
うまく取れました
ありがとうございます
980nobodyさん:2009/12/08(火) 00:51:08 ID:???
よく質問の意図がわかったな
感心するわ。
俺ならちゃんと説明しろって答えてたな
何言ってるかわからんかった
981nobodyさん:2009/12/08(火) 01:33:43 ID:???
>>980
普通に分かるが・・・
982nobodyさん:2009/12/08(火) 09:39:14 ID:???
crypt() の仕様変わってる?
下のコードで $password が 3 文字以下だと $str1 == $str2 にならん。

$password = 'aaa';
$str1 = crypt($password);
$str2 = crypt($password, $str1);
echo $str1 . "\n" . $str2;

▼出力結果例(PHP 5.3.1 / Win7 64bit)
$1$Vd5.4a3.$y6Jjb8HaT6UzUwuzlHCKp1
$1$Vd5.4a3.$eOEyiWRgt1JKH9FUKpJW60
983nobodyさん:2009/12/08(火) 09:47:14 ID:???
crypt ( string str, string [salt])

strは暗号化する文字列(8文字以上は同じになるので8文字まで。)
saltは暗号化するための2文字の文字列です。これはプログラム内に指定します。
saltによって返り値は変化します。また、返り値の最初の2文字にsaltが含まれ、その後の11文字が暗号化文字列になります。
984nobodyさん:2009/12/08(火) 09:55:49 ID:???
つ CRYPT_SALT_LENGTH
985nobodyさん:2009/12/08(火) 10:08:19 ID:???
例が分かり辛かったかも知れない。
要するに、

crypt($password, '$1$zA/.AE/.$KwOIKMK9oPvXu6ybBNj/d/');

を複数回試行した時、$password が 4 文字以上の場合は常に同じ値が、
3 文字以下の場合は毎回異なる値が返るって話で。
986nobodyさん:2009/12/08(火) 10:14:57 ID:???
だから CRYPT_SALT_LENGTH
987nobodyさん:2009/12/08(火) 10:42:12 ID:???
すまん。やはり CRYPT_SALT_LENGTH は関係ないと思うんだが…

CRYPT_SALT_LENGTH == 60
CRYPT_STD_DES == 1
CRYPT_EXT_DES == 1
CRYPT_MD5 == 1
CRYPT_BLOWFISH == 1

$password = 'aaa';
crypt($password, 'rl.3StKT.4T8M'); // Standard DES。毎回同じ結果。
crypt($password, '_J9..rasmBYk8r9AiWNc'); // Extended DES。毎回同じ結果。
crypt($password, '$1$rasmusle$rISCgZzpwk3UhDidwXvin0'); // MD5。毎回違う結果。
crypt($password, '$2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi'); // Blowfish。毎回同じ結果。
988nobodyさん:2009/12/08(火) 10:49:08 ID:???
>>987
md5のsaltが変なんだけど。なんで$で終わってないの?
989nobodyさん:2009/12/08(火) 10:51:13 ID:???
$で終わる必要は無いが12文字越えてるのはおかしいな
990nobodyさん:2009/12/08(火) 11:13:17 ID:???
>>988-989
申し訳ない、ただの手抜きです。crypt() の公式マニュアルのサンプルコードでは、
crypt() 済みの文字列から salt 部分を切り出さずに全文使ってたから、その通りに。

公式のサンプル
$password = crypt('mypassword');
if (crypt($user_input, $password) == $password) { echo "Password verified!"; }

試しに salt を切り出して実行してみたけど、結果は同じ。
ちなみに下のコードを実行したところ…

$password = 'aaa';
$salt = '$1$rasmusle$';
echo crypt($password, $salt) . "\n";
echo crypt($password, $salt) . "\n";
echo crypt($password, $salt) . "\n";
for($i = 0; $i < 3; $i++) { echo crypt($password, $salt) . "\n"; }
for($i = 0; $i < 3; $i++) { echo crypt($password, $salt) . "\n"; }

こうなりました

$1$rasmusle$j.76fUGadpG60PYrj.lpj1
$1$rasmusle$3VBtfb3er4yAzFEKUB2Dy1
$1$rasmusle$PPO.hs4CYwNRgTFYlxOXu/
$1$rasmusle$1wrvgdwXYuAdAc8yapgcG1
$1$rasmusle$1wrvgdwXYuAdAc8yapgcG1
$1$rasmusle$1wrvgdwXYuAdAc8yapgcG1
$1$rasmusle$p4dvB0SB7HcE7HXi1oGhS0
$1$rasmusle$p4dvB0SB7HcE7HXi1oGhS0
$1$rasmusle$p4dvB0SB7HcE7HXi1oGhS0
991nobodyさん:2009/12/08(火) 11:41:37 ID:7sia6qgu
$_POSTにダブルクォート等が含まれていると自動でエスケープ(バックスラッシュが投入)されてしまうのですが、
それをstripslashesを使って削除しようと思い実行したのですが削除できません。

テキストフォームにバックスラッシュ無しで出力したいのですが何か削除する方法はありませんか?
992nobodyさん:2009/12/08(火) 11:47:43 ID:???
>>991
magic_quotes_gpc をoffにはできないの?
993nobodyさん:2009/12/08(火) 11:54:24 ID:7sia6qgu
>>992
解決に導いて下さってありがとうございました
994nobodyさん:2009/12/08(火) 11:55:07 ID:???
// CRYPT_SALT_LENGTH=60

$password='aaaaaa' ;
echo crypt($password, '$1$zA$').'<br />' ;
echo crypt($password, '$1$zA$').'<br />' ;

違う結果になったよ。
995nobodyさん:2009/12/08(火) 12:01:39 ID:???
<?php
function echo_crypt($pw, $s){
echo crypt($pw, $s) ; //.'<br />' ;
}

$password = 'aaa';
$salt = '$1$rasmusle$';
echo echo_crypt($password, $salt).'<br />' ;
for($i = 0; $i < 2; $i++) { echo echo_crypt($password, $salt).'<br />' ; }
?>
これは全部同じ。
crypt()がsaltを補完してて、CRYPT_SALT_LENGTH に対して充分な補完が行われない場合、コード位置によるゴミが入るバグと推測。
996nobodyさん:2009/12/08(火) 12:07:24 ID:???
あるいは、12文字(に関連する数値)に足りない場合に出るバグか。
997nobodyさん:2009/12/08(火) 12:16:51 ID:GGPotsAy
<?php
require_once("Auth/HTTP.php");
$params=array(
"dsn"=>"mysqli://pearusr:pearpass@localhost/pear",
"table"=>"auth",
"usernamecol"=>"username",
"passwordcol"=>"password",
"db_fields"=>"*");
$myAuth=new Auth_HTTP("DB",$params);
$myAuth->setRealm("Pear Sample");  //←ココです
$myAuth->setCancelText("このページは表示できません。");
$myAuth->start();
if($myAuth->getAuth()){
print("ユーザ名:".$myAuth->getAuthData("unam"));
}
?>

申し訳ございませんが、上記のコードの$myAuth->setRealm("Pear Sample"); の部分が分かりません
このPear Sampleという領域名はいったい何を意味して、何の効果(動作)があるのでしょうか?
認証情報を識別するためのレルム名と書かれていますが、何の事かサッパリ分かりません
998nobodyさん:2009/12/08(火) 12:31:27 ID:???
>>997
それはあなたが決めればいい。
ブラウザの認証ダイアログにそのまま文字列として表示されるよ。

サイトに複数の独立した領域を作って、それぞれでぜんぜん違うユーザー名:パスワードで管理したとする。
ユーザーはどっちのユーザー名が有効なのか、領域名で判断するんだ。
999nobodyさん:2009/12/08(火) 12:36:35 ID:???
>>993-994
検証ありがとうございました。
確かに crypt() を記述する行番号によって出力結果が変わりました。
また salt を11文字以下にすると、$password が 4 文字以上でも出力結果が変わりました。
一方で salt の 13 文字目以降は、出力の 13 文字目以降に全く影響しませんでした。

公式のサンプルコードをそのまま使用する場合、
パスワードが 3 文字以下のユーザはログインできないことになりますね。
殆どのサイトはパスワードの文字数に制限をかけてはいるでしょうが…。
1000nobodyさん:2009/12/08(火) 12:42:20 ID:???
>>999
結論は、saltは長めにしましょう、って事ですね。
公式サンプルの通りじゃだめよ、って。

1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。