【PHP】下らねぇ質問はここに書き込みやがれ 45
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/04/27(金) 10:02:42ID:H9gF1SfBPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 44
http://pc11.2ch.net/test/read.cgi/php/1176364487/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2007/04/27(金) 10:03:52ID:H9gF1SfB■本家マニュアル 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://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0003nobodyさん
2007/04/27(金) 10:04:31ID:H9gF1SfB1.文字コードは何を使えばいいの?
→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プログラムとして実行された結果になる。
0004nobodyさん
2007/04/27(金) 10:05:19ID:H9gF1SfB→ 確認すべきは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に保存?
→ 好きにしてください
0005nobodyさん
2007/04/27(金) 10:15:05ID:H9gF1SfBニコニコに自分のフォームよりログインさせるスクリプトなんですが、
if(isset($_POST["submit"])) {
mb_http_output ('UTF-8');
$connect = "www.nicovideo.jp";
$ref = "http://www.nicovideo.jp/";
$dir = "/login";
$mail = trim(urlencode($_POST["mail"]));
$password = trim(urlencode($_POST["password"]));
$POST="next_url=&mail=$mail&password=$password";
$request = "POST $dir HTTP/1.0\r\n";
$request .= "Host: $connect\r\n";
$request .= "Referer: $ref\r\n";
$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
$request .= "Content-Length: ".strlen($POST)."\r\n";
$request .= "Accept: */*\r\n\r\n";
$request .= $POST."\r\n\r\n";
echo $request."\n<br>";
$fp = fsockopen($connect, 80, $errno, $errstr, 30);
if (!$fp) { echo "$errno<br>{$errstr}<br>"; exit; }
fputs($fp, $request);
$response = "";
while (!feof($fp)) { $response .= fgets($fp, 4096); }
echo $response;
fclose($fp);
これを実行するとHTTP ヘッダには302 Foundが出て、メールアドレスまたはパスワードが間違っている旨が…
どうすればちゃんと値を渡せるでしょうか…
0006nobodyさん
2007/04/27(金) 10:16:14ID:???http://up2.viploader.net/pic/src/viploader460273.png
以下ソース
<?php
header("Content-type: image/png");
$im = imagecreatetruecolor(400, 30);
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
$text = '$_GET["img"]';
$font = 'micross.ttf';
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
imagepng($im);
imagedestroy($im);
?>
$_GET["img"]にはGETメソッドでデータを送ります。
なぜでしょうか?
00076
2007/04/27(金) 10:16:44ID:w1Tyd60P0008nobodyさん
2007/04/27(金) 10:23:54ID:w1Tyd60P0009nobodyさん
2007/04/27(金) 10:53:43ID:???0010nobodyさん
2007/04/27(金) 14:59:33ID:???の結果をファイルに保存したいのですがどのようにすれいいでしょうか?
$fp = fopen('hoge.dat', 'w');
fwrite($fp, var_dump($hoge));
こんなイメージです
0013nobodyさん
2007/04/27(金) 17:55:47ID:???例えばこんな感じです。
$hoge =
array('a','b','c','', 'd','e','f')
こんな配列を$hoge['4']の''から前と後でわける
$y$hoge[5].$hoge[6].$hoge[7];
0014nobodyさん
2007/04/27(金) 18:42:22ID:???セッションIDをクッキーで保存して、
サーバーがそのIDを参照に値を返すんだよな?
クッキー使えないとセッションつかえねーじゃん!
0017nobodyさん
2007/04/27(金) 19:01:34ID:???だがPCコンテンツを実装するなら推奨はURLベース
理由はセッションハイジャックでググればわかるんじゃないかな
0018nobodyさん
2007/04/27(金) 19:01:34ID:???だがPCコンテンツを実装するなら推奨はURLベース
理由はセッションハイジャックでググればわかるんじゃないかな
0019nobodyさん
2007/04/27(金) 19:02:02ID:???0022nobodyさん
2007/04/27(金) 19:26:03ID:???PCはCookieベース推奨な
0023nobodyさん
2007/04/27(金) 19:33:47ID:???それならハイジャックされないでしょ
それかIPを暗号化したものをIDにしてみたり
0024nobodyさん
2007/04/27(金) 19:35:21ID:???$foo['14']に入っている値じゃなくて$foo['14']から14という数字を抜き出したいんです
0025nobodyさん
2007/04/27(金) 19:36:20ID:???こっから好きなのを選べ
ttp://www.php.net/manual/ja/ref.array.php
上から二番目とかいいかもな
次からはマニュアル読むか、関数逆引き本でも買えよ
0029nobodyさん
2007/04/27(金) 19:46:02ID:???マニュアルの配列関数のところから好きなの選んで使え
というか質問する前にマニュアル見てそれでも分からんかったら質問しろ
0031nobodyさん
2007/04/27(金) 22:39:05ID:8D0fnv57セッションを使った認証のときの話だけど
ログインしたときのIPアドレスをセッションに保存しといて
IP変わったらまたログイン画面に飛ばしてるけど、あんまり意味ない?
0032nobodyさん
2007/04/27(金) 23:39:43ID:4e9jJ8pOsmartyで、テンプレートの出力結果をhtmlファイルにしたいのですが、どうすればいいのでしょうか?
$fp = fopen("html.html", "w");
fputs($fp, $smarty->display("test.html"));
fclose($fp);
実行後に$smarty->displayでの結果はブラウザに表示されるのですが、html.htmlはカラッポです。
0034nobodyさん
2007/04/28(土) 00:43:40ID:???・環境によっては意図せずにリクエストごとにIPが変わる可能性がある
・同じNAT内だったりでIPが同じ場合は無意味
を考慮したうえでご利用ください。
0035nobodyさん
2007/04/28(土) 00:44:49ID:???【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc11.2ch.net/test/read.cgi/php/1118799352/
003732
2007/04/28(土) 09:26:10ID:HnvRPjiHやりたいことができました。 どうもありがとうございました。
0038nobodyさん
2007/04/28(土) 10:57:40ID:???.htaccessのこと何てよんでる?
「ドットエイチティーアクセス」って読んでたんだけど長くね?
もっと短い言い方ないの?
0039nobodyさん
2007/04/28(土) 11:00:02ID:???0041nobodyさん
2007/04/28(土) 11:06:36ID:???0042nobodyさん
2007/04/28(土) 11:47:49ID:???0043nobodyさん
2007/04/28(土) 12:19:47ID:???っていうかスレ違いだ。
0044nobodyさん
2007/04/28(土) 12:24:00ID:???え?なんだっrわなにすんだやめt
0045nobodyさん
2007/04/28(土) 13:59:17ID:???書き方を教えてください
004645
2007/04/28(土) 14:00:15ID:RKMxVa9I0047nobodyさん
2007/04/28(土) 14:00:56ID:???case 1:
ページ1の内容
break;
case 2::
ページ2の内容
break;
case 3:
ページ3の内容
break;
case 4:
ページ4の内容
break;
}
004845
2007/04/28(土) 16:07:29ID:RKMxVa9Iそれなぜかうまく動きませんでしたローカルだと動くんですが・・・
switch($hoge){
case 1:
echo <<<PAGE
ページ1の内容
PAGE;
break;
default:
echo <<<INDEX
インデックスの内容
INDEX;
break;
}
こう書きました。
0049nobodyさん
2007/04/28(土) 16:12:13ID:???0050nobodyさん
2007/04/28(土) 16:13:28ID:???という書き順と、
static public function
という書き順、
どちらが一般的ですか?
0051nobodyさん
2007/04/28(土) 16:16:14ID:???http://jp.php.net/manual/ja/language.oop5.static.php
0052nobodyさん
2007/04/28(土) 17:10:24ID:???0053nobodyさん
2007/04/28(土) 17:58:04ID:jQarZsxI4.3.7バージョンで、$string =mb_convert_kana($string,'a');
って書いてるんですが。
0054nobodyさん
2007/04/28(土) 18:02:39ID:jQarZsxIちょっと勢いで書いちゃいましたが。数字を入れています。
005631
2007/04/28(土) 19:09:02ID:tgkVshtzこっちはわかるけど、それはもう「IDとパスを盗まれたら無意味」というのとそう変わらないと思う。
ログアウトの機能を持たせて、使う人に気をつけてもらうしかないレベルと思うけど。
>>環境によっては意図せずにリクエストごとにIPが変わる可能性がある
そんな環境あるんですか?固定IPじゃないプロバイダとかルーター再起動したりすると変わる事あるけど
リクエストのたびにって・・・。
どんな環境でしょうか?結構あるならなんか対策しなきゃ。
というか、そんなシステムでネットするの禁止。早くIPV6にして全部固定IPにしてくれ。
0058nobodyさん
2007/04/28(土) 19:36:15ID:jQarZsxIいれるというのはphp.iniの設定を変えるということでしょうか。
教えてください。
005958
2007/04/28(土) 19:46:53ID:???0060nobodyさん
2007/04/28(土) 19:48:43ID:???php.iniのmbstringの設定を変えると良い
たしか、windowsならコメントアウトさせるだけでいけた、リナ糞はしらん
0062nobodyさん
2007/04/28(土) 23:41:34ID:hsKT4F0A0063nobodyさん
2007/04/28(土) 23:44:10ID:???http://www.google.com/search?hl=ja&q=php+%E5%87%BA%E5%8A%9B&lr=
0064nobodyさん
2007/04/29(日) 00:58:57ID:D3V82o9R0065nobodyさん
2007/04/29(日) 01:02:23ID:???0066nobodyさん
2007/04/29(日) 02:23:14ID:WQ/2F+8H0067nobodyさん
2007/04/29(日) 02:47:41ID:???0069nobodyさん
2007/04/29(日) 09:55:27ID:/kWfCH0wPHPでCSVファイルを読み込む時に、
「あいうえおかきくけこ」という文字を
あいうえお
かきくけこ
という表示のさせ方を、セルで分割せずにするにはどうすればいいですか?
まだ始めたばかりの素人なんで、まったく分かりません。
どうかよろしくお願いします。
0070nobodyさん
2007/04/29(日) 10:49:36ID:???できたら方法も知りたいです。
スパムに利用されるから確認できないということもあり得ますかね?
0072nobodyさん
2007/04/29(日) 14:09:34ID:???いまいち言いたい事が分からない。
ひとまずID出しましょう。
セルってなに?
テーブルの事?
文字を分割したいって事かな、どういう法則で分割したいかによる。
0073nobodyさん
2007/04/29(日) 14:24:42ID:???梳毛そもう糸を平織りまたは綾織りにした薄手の毛織物。合着用の和服地にする。◇オランダ語の「セルジ(serge)」を「セル地」と解して「地」を略した語。
明鏡国語辞典 (C) Taishukan 2002-2006
0074nobodyさん
2007/04/29(日) 14:25:52ID:???それともただ中身見えなくするだけ?
includeに使うfunctionファイルだけコンパイルしてみるのってありかな?
007574
2007/04/29(日) 14:34:16ID:???プログラム板逝くか
0076nobodyさん
2007/04/29(日) 14:36:06ID:???ソースはサーバに上げれば見えなくなるだろ
0078nobodyさん
2007/04/29(日) 14:50:50ID:???0079nobodyさん
2007/04/29(日) 14:52:24ID:???それなら速度とか気にせずコンパイルすればいいんじゃね
実際、コンパイルする前と後じゃどんくらい差が出るんだろう
0080nobodyさん
2007/04/29(日) 15:04:47ID:???008174
2007/04/29(日) 15:06:15ID:ZLR/bMbw今年卒業しました><;
一応教習生という学生wwwwww
つまりニート
0082nobodyさん
2007/04/29(日) 15:11:22ID:???普通はコンパイルした方が早い(と言うかしなきゃ動かない)が
PHPの場合元々さらで読むからコンパイルすると逆に遅くなるの?
0083nobodyさん
2007/04/29(日) 15:12:10ID:zGQc/Sec0084nobodyさん
2007/04/29(日) 15:38:28ID:???0086nobodyさん
2007/04/29(日) 15:40:27ID:???ZendGardとかのことか?
下を読めば分かる。読んで分からないなら別の職業を探せ。
http://www.zend.co.jp/products/guard/
0087nobodyさん
2007/04/29(日) 16:08:43ID:ZLR/bMbw読んでも分からない以前に三行以上読めない
0088nobodyさん
2007/04/29(日) 16:11:35ID:???というか途中からID出してるけど本当に本物か?
ネタ臭がキツイわ
0089nobodyさん
2007/04/29(日) 19:07:50ID:???0090nobodyさん
2007/04/29(日) 19:13:05ID:???コードキャッシュとしてコンパイル済み中間コードで
保持する仕組みなら速度は速くなるけどな。
そんな形式で配布・インストールできるシステムは知らん。
一般のバイナリ化の目的は暗号化で速度は低下する。
暗号化+コードキャッシュの組み合わせなら問題なくなるが。
0091nobodyさん
2007/04/29(日) 19:20:54ID:???0092nobodyさん
2007/04/29(日) 21:27:03ID:???バイナリ化する程度ならほとんど変わらんよ
0093nobodyさん
2007/04/29(日) 22:52:16ID:o45ltyhEユーザーは意識しなくてすむ、っていうんじゃなかったっけ?
でA・・なんとかとかは、コンパイルした物をキャッシュするので、処理速度というか、起動?が速くなるとか
PHP6ではデフォの機能になるとかならないとか。
ところでだれか
「PHPプログラマの技量を知りたい時に書いてもらうスクリプト」
っていうのどういうお題だったかわかるサイト知りませんか?
元の、なんとかっていう外人さん?のブログはリンク切れ起こしててもう見れないんですけど。
0094nobodyさん
2007/04/29(日) 22:58:32ID:???0097nobodyさん
2007/04/30(月) 00:00:29ID:???ウチではvivi -> terapad -> サクラ
会社だと強制秀丸、俺の場合
秀丸は補完機能がないのがなぁ
0098nobodyさん
2007/04/30(月) 01:45:32ID:???β版が使えるなら 結構前から補完機能ついてますよ
(2006/11/28 6.50b1 より/今は7.00b1)
会社方針でβはダメかも ですが
0099nobodyさん
2007/04/30(月) 01:46:02ID:???7.00b2
0100nobodyさん
2007/04/30(月) 03:14:13ID:jiCOQ4J+DBではなくファイルベースのPHP構築してますが、
間違ったデータの上書きという不注意への対策は、
通常どのように行うべきなんですか?
0101nobodyさん
2007/04/30(月) 03:19:32ID:???write}else{
qawsedrftgyhujikolp};
0103nobodyさん
2007/04/30(月) 06:57:32ID:???言語は出来ればPHPが良いのですが。
感覚的にはベクターのPCショップみたいな感覚です。
回答キボソ
0104nobodyさん
2007/04/30(月) 07:01:16ID:???よって探してますはスレ違いなので、
http://pc11.2ch.net/test/read.cgi/hp/1166794984/
こちらにでもいってください。
0105nobodyさん
2007/04/30(月) 07:01:43ID:2a6Y0d07このheaderの次にexitは必要でしょうか?
いまはこのように書いてます。
header("Location: $url);
//ここにexit;をいれるべきでしょうか?
break;
0106nobodyさん
2007/04/30(月) 07:05:46ID:???0107nobodyさん
2007/04/30(月) 08:07:33ID:qLOaqEyD別ページでリファラー書き換えてヘッダーで飛ばしたいのですが
どのように書き換えれば良いのでしょうか?
0108nobodyさん
2007/04/30(月) 10:39:17ID:2a6Y0d07PHPスクリプトを書く仕事をしている人の一週間のスケジュールをおしえてください。
できれば具体的に教えていただけると助かります。
0110nobodyさん
2007/04/30(月) 11:11:41ID:???0111nobodyさん
2007/04/30(月) 11:14:12ID:???なんかすごい釣りにしか見えないんだが
リファラを任意に書き換えるのは無理だぞ
狭い意味でいっているならmod_rewriteとかの範疇かと
0112nobodyさん
2007/04/30(月) 11:15:40ID:???0113nobodyさん
2007/04/30(月) 11:20:26ID:???月: らき☆すたを2度見したせいで朝会に遅れる
火: 喫煙室で営業さんの愚痴をきいてあげる
水: めずらしく仕事がノッてしまい終電にまにあわず漫喫
木: デザイナの女の子を理論攻めして泣かす
金: 帰ろうと思って支度をしていると、ボスに笑顔で呼ばれる
0114nobodyさん
2007/04/30(月) 11:27:46ID:???0115nobodyさん
2007/04/30(月) 11:29:01ID:???0116nobodyさん
2007/04/30(月) 11:36:04ID:???0117nobodyさん
2007/04/30(月) 11:38:33ID:???0118nobodyさん
2007/04/30(月) 11:41:33ID:RWiBoY20unlinkを使うと
Permission denied in
というエラーが出てしまいます。
削除しようとしているファイルの所有者は自分です。
削除しようとしているファイルのパーミッション、777.707.755などに変更して試したのですが
やはり上記のエラーがでてしまいます。
chmodなどで変更してみてもだめです。
もうお手上げ状態なのですが、何が原因と考えられるでしょうか?
よろしくお願いします。
0119nobodyさん
2007/04/30(月) 11:43:52ID:???0120nobodyさん
2007/04/30(月) 11:46:38ID:RWiBoY20すいませんこんな質問に答えていただきありがとうございました。
0121nobodyさん
2007/04/30(月) 12:06:52ID:???> 25歳。去年までニートでしたが、今年は独立したいと考えてます。
> PHPスクリプトを書く仕事をしている人の一週間のスケジュールをおしえてください。
> できれば具体的に教えていただけると助かります。
このレスを書いている人はこんなスレにも書いています。
SOHOやフリーでWEB制作してる奴【総合】 2人目
http://pc11.2ch.net/test/read.cgi/hp/1174481142/961
0122nobodyさん
2007/04/30(月) 12:30:41ID:???0123nobodyさん
2007/04/30(月) 12:31:01ID:xBM5mH9aWikipediaを参考に、Proxy特有の環境変数があるかどうかの判定を書いています。
http://ja.wikipedia.org/wiki/Open_Proxy
IE6では特有の環境変数は何もセットされませんでしたが、
FirefoxとOperaではいくつかセットされていました。
そこで質問ですが、
ブラウザ別に対処するか、FirefoxとOperaでセットされた環境変数をチェックから除外するか、
どちらがいいと思いますか?
後者のほうが楽なんですが、確実性をとると前者のほうがいいですよね?
確認したのがこの3つのブラウザだけなので、他のブラウザで見たらProxy判定される恐れもあったり、
ブラウザの今後のアップデート状況で、変数が変わる恐れもあったり、
問題は多いですが、Proxy判定ってアバウトでいいと思いますか?
0125nobodyさん
2007/04/30(月) 12:43:49ID:???>Proxy判定ってアバウトでいいと思いますか?
アバウトにしか出来ないよ。
やりたいことはspam関係でproxyはずすってことだろうと思うから、
前スレ見てproxy等で検索かけたほうが早い
0127nobodyさん
2007/04/30(月) 12:52:34ID:xBM5mH9aやっぱアバウトになっちゃいますよね。
>やりたいことはspam関係でproxyはずすってことだろうと思うから、
仰るとおりです。spamが多くて・・・
前スレみてきますね。どうもありがとうー
0128nobodyさん
2007/04/30(月) 13:36:16ID:???" / \ (・∀・ )/",
" 〆 ⊂ つ∈≡∋",
" || γ ⌒ヽヽコノ ||",
" || .| |:::|∪〓 ||",
" ./|\人 _.ノノ _||_ /|\",
"",
0129nobodyさん
2007/04/30(月) 14:14:50ID:2a6Y0d07http://ilia.ws/archives/167-5.2.2RC2-Released.html
0130こんばんは ◆5m18GD4M5g
2007/04/30(月) 17:42:23ID:???なかなかうまくいきません。
以下を某サイトからコピペしてやってるのですが、不安定でなかなか使えるように
なりません。
■たまにまともに検索できる(10回に3回くらいの割合。
■10回に6回くらいは検索ワードが文字化けして反映されない。
例:「lエ..u..アnウ」は0件みつかりました。
■10回に2、3回は検索ワードが空になってもどってきて、データが全件表示される。
例:「」は167件みつかりました
0131こんばんは ◆5m18GD4M5g
2007/04/30(月) 17:43:07ID:???タグ(EUC-JP環境)
<?php
if($_GET["key"]==""){
print"キーワードを入力してください";
}else{
//入力されたキーワードをスペースで分解し配列に収める。
$KeyWord=$_GET["key"];
$KeyWord=mb_convert_encoding($KeyWord,"EUC-JP");
$KeyWord=htmlspecialchars($KeyWord);
$KeyWord=mb_convert_kana($KeyWord,"s");
$ArrKeyword=explode(" ",$KeyWord);
//すべての要素と一致すれば$Resultにデータを移し変える
$Result=array();
$Data=file("item.csv");
for($i=0;$i<sizeof($Data);$i++){
$lines=strip_tags($Data[$i]);
$Match=true;
for($n=0;$n<sizeof($ArrKeyword);$n++){
if($ArrKeyword[$n] != '' && strpos($lines, $ArrKeyword[$n]) === FALSE) {
$Match=false;
break;
}
}
if($Match==true){
array_push($Result,$Data[$i]);
}
}
?>
どこか致命的に間違っている箇所があるのでしょうか?
お願いします。
0134こんばんは
2007/04/30(月) 18:17:30ID:A+71Ioc20135nobodyさん
2007/04/30(月) 19:05:29ID:???item.csvがEUCじゃねーとか
他に爺的に気になるのは
・$lines=strip_tags($Data[$i]); はlinesじゃなくてlineにしてくれ気持ち悪い
・データはstrip_tagsして入力はhtmlspecialcharsておかしくね
0137nobodyさん
2007/04/30(月) 19:16:02ID:xadrbgql$ArrKeywordとか$Dataとか$linesとか$Resultを適宜var_dumpもしくはprint_rして
内容を確かめればどこがいけないかわかるよ。
あと、配列を要素分繰り返すときPHPではforはあんまり使わなくない?
foreachのほうが見やすいし、好き。まあ、別に良いけど。
0138nobodyさん
2007/04/30(月) 19:42:39ID:Jfzlq/mbmb_send_mail($to, $subject, $message, $add_header)
の$messageの中身を複数のtextから受け取りたいんです。
複数受け取るには、配列を使う気がするのですが、
$message =$_POST["message1"].$_POST["message2"]のような方法しかできません。
何かヒントを教えてください。お願いします。
0140nobodyさん
2007/04/30(月) 19:53:59ID:YPFQGcFEPHPとPostgresqlでやっています。
今日データベースを見てみたら、文字コード
がユニコードなんですが、このままで大丈夫
なんでしょうか?
ちなみにPHPのほうはEUC-JPです。
0141nobodyさん
2007/04/30(月) 20:03:32ID:???0142nobodyさん
2007/04/30(月) 20:11:39ID:5qEh+XE7$image_in=ImageCreateFromPNG("small_php.PNG");
このsmall_php.PNGというのは、どのフォルダにおけばいいんでしょうか?
Apacheのhtdocsやc:\phpにおいてもだめでした。
書籍にも書いてないので。。この本、結構まとめてあって、重宝するんですが、
初心者には不親切?です。
わかるかた、おしえてください。http://www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000031444561&Action_id=121&Sza_id=C0です。本は。
0143nobodyさん
2007/04/30(月) 20:24:14ID:???ふざけてるの?
0144nobodyさん
2007/04/30(月) 20:24:22ID:???その構文が書いてあるファイルと同じ場所におけばいいでしょう。
PHP以前の問題では?HTMLから始めてください。
0145nobodyさん
2007/04/30(月) 20:25:13ID:???0146nobodyさん
2007/04/30(月) 20:37:18ID:???ここは初心者同士の憩いのオアシスです
0147nobodyさん
2007/04/30(月) 20:37:52ID:xadrbgql出来ない事はないと思うが
いちいち文字コードを変更するのは面倒なのでDBとPHPの内部エンコードはあわせるのがセオリーでは?
もっというと、出力も同じにして、しかも出来る事ならUTF-8で統一するといいかも
そのうちAJAXとか使いたくなったときにUTF-8にしとくと楽。
でも携帯がSJISだからとかいって全部SJISに統一するのはやめた方がよい。
いろいろ問題のあるコードだから。
0148nobodyさん
2007/04/30(月) 20:42:18ID:5qEh+XE7だから、htdocsにおいても駄目ってかいたんですが・・
ちなみにPHPHOMEにおいても駄目なんす。ふざけんな!場所くらい書いとけ作者!
もういい。フルパスで記入したから。
レスくれた方、サンクスです。
0149142
2007/04/30(月) 20:48:51ID:5qEh+XE7>>144さんのいうとおり。すませんでした。ちなみにさ、imagedestroy関数って
PHPで表現された画像を、メモリ上から解放します。ってあるんだけどこれって
サーバーのメモリ?クライアントのメモリ?
0150こんばんは ◆5m18GD4M5g
2007/04/30(月) 20:58:59ID:A+71Ioc2全部消えたよ ^^;;;
どうしたらいいですか?
0151140です。
2007/04/30(月) 21:00:57ID:YPFQGcFE本とサイトを見て、
DBをEUCに
後PHPを
default_charset = EUC-JP
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
mbstring.http_input = ASCII,JIS,EUC-JP,SJIS
mbstring.detect_order = ASCII,JIS,EUC-JP,SJIS
mbstring.substitute_character = none
か
default_charset = Shift_JIS
output_buffering = On
output_handler = mb_output_handler
mbstring.http_output = SJIS
mbstring.internal_encoding = EUC-JP
mbstring.http_input = ASCII,JIS,SJIS,EUC-JP
mbstring.detect_order = ASCII,JIS,SJIS,EUC-JP
mbstring.substitute_character = none
にあわせようと思うのですが、どうでしょうか?
0152149=142
2007/04/30(月) 21:05:54ID:5qEh+XE7しかし、GD関係がよくわからなくて、色々調べたら、クライアントのメモリから
画像データを開放するなんていうばかげたページがあったもんですから、つい聞いてしまったわけです。
色々検索してるうちにどこのページだかわかんなくなったいました。当然、サーバーの
メモリ開放ですよね?
0153nobodyさん
2007/04/30(月) 21:15:54ID:???0154nobodyさん
2007/04/30(月) 21:22:03ID:???ttp://yuukiremix.s33.xrea.com/chirashi/
0155149=142
2007/04/30(月) 21:22:19ID:???さんくすっす。どうもありがとうございます。胸のつっかえがとれました。ふざけたホームページは本当に
開設しないでほしいですよね?初心者は混乱してしまいます。
みなさん、色々とおしえていただき、ありがとうございました。
0157nobodyさん
2007/04/30(月) 21:31:24ID:???UNIXの基礎概念 ASCII
でも読んで、もちつけ
>>151
Shift_JISにするなら
encoding_translationを入れとくと楽かも
0158nobodyさん
2007/04/30(月) 21:33:53ID:???http://www.scollabo.com/banban/php/php_13.html
「また、閲覧者のメモリから画像リソースを解放するために、imagdestroy()関数を利用します」
って書いてある・・ふざけるな!
おじゃましました。
0159140です。
2007/04/30(月) 21:36:17ID:YPFQGcFE教えてください。
0160nobodyさん
2007/04/30(月) 21:49:45ID:???あのねぇ。PHP関数にはmb_convert_encodingという関数があって
うまく変換してくれるんです。PHPの設定は本のままにして
DBに入れる前に文字コード変換って言う手がいいとおもいますよ。>>140氏のPHP.iniの設定は
あまりよくないとおもいます。現場でもこの関数を使うことが多々ありますよ。
また、PostgreSQLは、DB毎に使用する文字エンコを指定できます。あるDBはSJISで他はUnicodeで
他はEUCとか。また、一度DBにデータを入れてしまったなら、そのDBの中のデータを他のエンコにするのも
できますし。
CREATE DATABASE name ENCODING=EUC_JP
とすれば、その新規DB(データベースはEUCになります。)
mb_convert参照↓
http://oss.kk-ntc.co.jp/jpug/pukiwiki/pukiwiki.php?PHP%2FDB%A5%A2%A5%AF%A5%BB%A5%B9%A1%CAPostgreSQL%A1%CB
0161nobodyさん
2007/04/30(月) 21:55:58ID:???ダウト
0163140です。
2007/04/30(月) 22:06:59ID:YPFQGcFEもし自分のやったとおりにやったら表示されませんか?
表示されなくて困っています。
0164160
2007/04/30(月) 22:32:50ID:???俺もまだ初心者の域を脱していないからよくわからないんだけど、
勉強のうちはphp.iniは本に書いてあるとおりにしたほうがいいよ。http_outputのところとか
色々なエンコード表示しすぎじゃないのかな?
俺は160で書いたとおりにしかやってないから、わからないんだけど。
苦労してるみたいだから、がんばってください。
0165163です。
2007/04/30(月) 22:55:15ID:YPFQGcFEこれのとおりやってうまく表示されましたか?
http://oss.kk-ntc.co.jp/jpug/pukiwiki/pukiwiki.php?PHP%2FDB%A5%A2%A5%AF%A5%BB%A5%B9%A1%CAPostgreSQL%A1%CB
後、本ってなにを買いました?
0166nobodyさん
2007/04/30(月) 23:15:04ID:???>じゃあ、お前さんがおしえてあげなよ。不親切だな。
×うまく変換してくれるんです。
○条件・設定しだいでは変換してくれることもあります。
迷路に迷い込ませるそっちのほうが不親切だ。
0168160
2007/05/01(火) 00:43:56ID:???http://www.cbook24.com/bm_detail.asp?sku=4839921199
http://www.cbook24.com/bm_detail.asp?sku=4839914397(こっちはMySQLだけど)
がいいとおもうよ。
また、PostgreSQLの本にもPHPとの連携がのっているからそっちのプログラムだけだったら
http://www.cbook24.com/bm_detail.asp?sku=4839914397
http://www.cbook24.com/bm_detail.asp?sku=4798010642
がいいとおもうよ。
僕は 山田祥寛 の本でphp.iniの設定とかしてるけど、本によってまちまちだよ。
こうみると、PHPとかPostgreSQLって初心者向きの本があまりない。。
これじゃ初心者がかわいそうだとおもう。
僕はJavaやC#やってたから、一応すんなりとこれたけど、いきなりのプログラム初心者には
厳しい現実だね。でも、JavaやC#も初心者に丁寧な本はあんまりないんだけどね。実際。
独学でやるには、とにかく根性だよ。
0169160
2007/05/01(火) 00:46:01ID:???http://allabout.co.jp/internet/database/closeup/CU20050320A/
http://allabout.co.jp/internet/database/closeup/CU20050321A/index.htm
2番目ので自分にあうのをえらんでphp.iniを変更してDB側も文字コードを>>160で紹介したものに
あわせてデータベースをつくればOKです。勉強のだんかいならこれで十分です。
また、本によってはグラフィック関係やPDF関係があるのですが、それについては
あらたにphp.iniを変更する(といってもほんの少し)必要があるので、
書籍にしたがってください。ではがんばってください。>>140氏のphp.iniはどうみても
問題があるので、一番下のURLを参考にがんばってください。Windows環境なら
ShiftJIS→ShiftJISでいいとおもいますよ。
postgreSQLでも CREATE DATABESE name ENCODING=WIN
とすればShift_JISになります。
0170nobodyさん
2007/05/01(火) 01:03:43ID:1OYzEHDwこれかいました。
このデータベースはEUC-JPで、プログラムも
EUC-JPですよね。
ってことはPHPの設定もEUC-JPに変えれば表示されるということですよね。
一応php.iniはhttp://www.hizlab.net/app/phppg.html
を見て設定したのですが....
0171nobodyさん
2007/05/01(火) 01:06:12ID:???2.情報を小出しにするな
3.マルチするな
0172nobodyさん
2007/05/01(火) 01:15:18ID:1OYzEHDwを買いました。そこで、ユーザー登録プログラムを表示させようと
php.iniの設定を
default_charset = Shift_JIS
output_buffering = On
output_handler = mb_output_handler
mbstring.http_output = SJIS
mbstring.internal_encoding = EUC-JP
mbstring.http_input = ASCII,JIS,SJIS,EUC-JP
mbstring.detect_order = ASCII,JIS,SJIS,EUC-JP
mbstring.substitute_character = none
にかえ、データベースのコードをユニコードからEUC-JPに変えました。
まだ、試していないのですが、これで表示されるようになるでしょうか?
これが質問です。
よろしくお願い致します。
0173nobodyさん
2007/05/01(火) 01:16:14ID:???0174nobodyさん
2007/05/01(火) 01:20:11ID:???素朴な疑問だけど
サンプルのページ見てクッキークリアしたら初期化されたからそういうことだよね?
0175nobodyさん
2007/05/01(火) 01:23:50ID:???http://jp.php.net/session
0176nobodyさん
2007/05/01(火) 01:27:07ID:???mb_encode_mimeheader関数の使い方について質問させてください。
この関数で送信者名(ヘッダのFrom)に入力された日本語をMIMEエンコードしようとしています。
前に読んだ書籍では日本語部分にのみこの関数を使用すること、
という記載があったと記憶してるんですが現在確認できません。(マニュアルにも記載なし)
例えば入力された送信者名が「progra民具」さんだったら「
民具」のみ切り分けてMIMEエンコードすること、という説明だったと思います。
テストしている範囲ではそのまま
$fromName = mb_encode_mimeheader("progra民具");
で特に問題なくエンコードできてるんですが・・・
メール送信をすでに実用している方、どのようにされていますか?
0179nobodyさん
2007/05/01(火) 02:21:04ID:???メールヘッダーに生の日本語入れるつもりか・・・
0180nobodyさん
2007/05/01(火) 02:37:50ID:???0181nobodyさん
2007/05/01(火) 03:30:08ID:1OYzEHDwphp+postgresqlを使っています。
grant 操作 on クラス to ユーザ;
ってapacheとDBをつなげるときに必要みたいですが、
publicで大丈夫でしょうか?
よろしくお願い致します。
0182nobodyさん
2007/05/01(火) 03:34:06ID:???まず1000文字あるかどうか確認して
もしあればケツから一番近い改行
までを取得すればいいだけでないの?
1000文字以上ある場合は一度最後まで
改行があるかどうか走査する必要はある。
>>181
それはPostgreSQLの権限の話だよな?
Apacheユーザ(言うなればPHPユーザ)
がDBにアクセスできるように、またアクセス
制御を行うためにDB側で設定する。
まったくPHP関係ないけどgrant分にpublic
なんかあったっけ?
0183nobodyさん
2007/05/01(火) 03:49:20ID:3L8/2YzFis_int()だと文字列なのでfalseになり、
is_numeric()だとtrueになる幅が広すぎます。
整数を表す文字列かをうまく調べるにはどうすればいいですか?
0185nobodyさん
2007/05/01(火) 04:23:10ID:???条件が整数だから
preg_match('/^-?[1-9]¥d*$/', $string)
の方がよくなくね?
0186nobodyさん
2007/05/01(火) 04:25:09ID:???'0'===$string || preg_match('/^[\-+]?[1-9]\d*$/', $string)
0187176
2007/05/01(火) 04:27:57ID:???数値文字列を整数型に型キャストしてから調べては。
is_int((int)$num_str)
>>179
エンコードはする前提なので、>>177氏の助言は、
あくまで関数の使い方ことですね。
0188nobodyさん
2007/05/01(火) 04:39:06ID:???> is_int((int)$num_str)
だと '10 hogehoge' とかも通るんじゃなかたけ?
0189nobodyさん
2007/05/01(火) 04:45:09ID:???0190nobodyさん
2007/05/01(火) 04:52:53ID:???PHP+MySQLにするとサーバーへの負荷はどのくらい変わりますか?
アクセスのたびに呼び出す仕様です。
0192181です。
2007/05/01(火) 06:31:19ID:1OYzEHDwではgrantは関係ないってことですか?
0193nobodyさん
2007/05/01(火) 07:47:04ID:???grant構文はレン鯖業者のためにあるようなものです。
publicは登録されている全ユーザに同じ権限を与えるものです。
自鯖などで1人で使う場合、自分用に1つ作ればいいんじゃないすか?
知り合いに貸して、その知り合いがDBを使いたいならば、
その知り合いに対してgrant文を実行する感じです。
0194193
2007/05/01(火) 07:50:16ID:???>apacheとDBをつなげるときに必要
必要なのはapacheのconfでモジュール組み込むことじゃないっすかね。
0195nobodyさん
2007/05/01(火) 11:16:25ID:???CGIとしての動作ってなんだよ
0196nobodyさん
2007/05/01(火) 11:55:08ID:???よくあるパターンだと
webアクセス専用にユーザ用意 + 権限設定するから
全く関係ないわけじゃない
とりあえずgrantで何ができるか確認してみたら?
>>195
こんなところか?
ttp://jp.php.net/manual/ja/install.general.php
0197180
2007/05/01(火) 12:28:23ID:???ありがとうございます。
ただそれだと意図した動きになりません。
$hogeは普通の文ですので改行もたくさんあります。
そして1000文字以下の場合もあれば、2000文字以上の場合もあります。
なので見やすいように1000文字単位で区切ろうと思っています。
substr($hoge, $page*1000, 1000) //$pageは数字
これで1000文字単位の文字は取れるのですが、変な切れ方になるので改行で区切りたいのです。
0198nobodyさん
2007/05/01(火) 12:33:53ID:???http://php.net/wordwrap
とか
http://php.net/strrpos
とか使ってみれば?日本語でうまくいくのか知らんけど。
それから>>1読んでね
0199虚弱PHP
2007/05/01(火) 12:49:20ID:???改行でってのは、結構面倒だと思うから、
mb_strwidthでも使えばいいんじゃないかな。
どうしても改行でやりたくて、
うまくいかないならソースplease。
0200虚弱PHP
2007/05/01(火) 12:52:35ID:???http://www.php.net/manual/ja/function.mb-strimwidth.php
0203nobodyさん
2007/05/01(火) 15:44:06ID:???1. 文字列aの長さを測る
2. aが1000文字以内ならループブレイク
3. aを添え字0-998までとそれ以降に分ける
4. 前者の末尾に改行をくっつけて配列にぶちこむ
5. aに後者を代入 1に戻る
いや、冗談だけどさ
改行なんてどこに入っててもいいじゃん
0205nobodyさん
2007/05/01(火) 16:40:02ID:???をごっちゃにして、勝手に混乱するよね、この文字切り・改行厨ってのは。
この手の質問、何度見たか。
0206nobodyさん
2007/05/01(火) 17:27:07ID:???あー、それ俺が感じていた疑問というかモヤモヤを見事に指摘しているわ。
自分が「こうしたい」という問題を、プログラミング的にに落とし込んでから(または落とし込む方法を)質問するスレです。
とかに変えたほうがいいかも。
PHPに絡むならビジネスロジックだろうとスクリプトの設置・改造方法までOKだと勘違いしてる奴多いからな。
0208nobodyさん
2007/05/01(火) 17:52:41ID:smYMDtq3「つ」以降の先頭文字検索でつ以外の文字も抽出されるのですが
どうすればよいでしょうか?
あ〜ちまでの文字は普通に抽出されます。
$str="つ";
$SQL="SELECT * FROM tbl WHERE field1 LIKE '$str';";
0209nobodyさん
2007/05/01(火) 18:01:12ID:???あと文字コードは何でつか?
0210nobodyさん
2007/05/01(火) 18:10:07ID:smYMDtq3$SQL="SELECT * FROM tbl WHERE field1 LIKE '$str%';";
文字コードはJISです。
0211nobodyさん
2007/05/01(火) 19:15:14ID:EEwZpxpS雇われ給料もしっかりと払われ、片や、事務職の給料の安い派遣のお姉ちゃんが
一生懸命マクロ・VBAを組んでいる。
これは非常に矛盾です。
0213nobodyさん
2007/05/01(火) 19:44:59ID:EEwZpxpSおねえちゃんがほしいんです!
0216214
2007/05/01(火) 20:10:02ID:???0220214
2007/05/01(火) 20:17:58ID:???エロコレクションを削除したら空が5GBになった
削除する時はverupなみの勇気がいる
0221nobodyさん
2007/05/01(火) 20:39:13ID:???DBの設定もDBの中身も
phpの設定も動かしてるスクリプトも
全部JISなの?
一応訊いておくけどShift_JISじゃないんだよね?
0222nobodyさん
2007/05/01(火) 20:39:41ID:ghVsgOyNこのエラーはどこを改善すればいいのでしょうか。
htmlspecialchars関数が期待する文字列より長い?という意味だと思うのですが。
何か制限があるのでしょうか。
マニュアルとGoogle先生にはお尋ねしたのですが、分かりませんでした。
0225180
2007/05/01(火) 20:59:51ID:???日本語でお願いしますね^^
あと求めているのは答えですからオナニー論理はメモ帳にでもかいててくださいな
軟式さんが仰っているように簡単な問題ではないと思いますが
0226Lisa
2007/05/01(火) 21:14:20ID:vsWpEyDKあったら教えて下さい☆ あと、CIWのウェブ言語 PERL基礎って
試験は、受験制約はあるのかなぁ
0230nobodyさん
2007/05/01(火) 22:16:57ID:???0231nobodyさん
2007/05/01(火) 22:25:19ID:???「書き込みやがれ」だから、答えるとは言ってないし。
0232nobodyさん
2007/05/01(火) 23:00:06ID:???Perlは新規案件減ってるし
どっかの誰かが書いた理解不能なコードの修正とかあるからオススメできない
つか、普通Perl案件で資格なんて考慮されない
今プログラマ案件で一番要望多いのはJava技術者
と、人事の人から聞いたが
デスマーチ案件も多いから気をつけろ
0233Lisa
2007/05/01(火) 23:02:50ID:???( ?д?) 受けたいんですが、なにか?
ハ∨/^ヽ
ノ::[三ノ :.'、
i)、_;|*く; ノ
|!: ::.".T~
ハ、___|
0234nobodyさん
2007/05/01(火) 23:24:19ID:???0235nobodyさん
2007/05/01(火) 23:48:13ID:OxYFPqZQ$obj = new hogeHoge("");
とするクラスの実行箇所が、1ファイル上にいくつもある場合、
それだけで負荷がかかかりますよね?class内部の関数を実行していなくても。
ポイントの仕組みなどを作っている時、
ポイント設定テーブルの読込→会員テーブルの読込→
会員ポイント状況の読込→ポイントの付与→ポイントの更新
など、それぞれに応じて異なるテーブル・classを実行する必要があるので、
newする回数がどうしても増えてしまいます。作り方にもよるでしょうが、
なんどもclassを実行する場合、処理の遅れなどは仕方ないのでしょうか?
0237nobodyさん
2007/05/01(火) 23:51:39ID:???「気にしない」が正解。
もうちょっと詳しく書くと、そういうことを気にして性能に影響あるかどうかわからないところで
わかりづらいコードを書くよりもまずは綺麗にわかりやすいコードを書くべし。
性能に問題が出てからはじめて性能測定をして最適化を行うなり、
機材の増強を図るなりすればいいのだ。
0238nobodyさん
2007/05/01(火) 23:53:58ID:???すると、$objん中に何はいるのよ
0239nobodyさん
2007/05/02(水) 01:30:41ID:???ポイント云々ならポイント操作関連を一まとめにしてっていうか、
それを一つのデータ型っぽいものにするっていうのがclassの真骨頂なような
それでなければ普通の自作関数かstaticなclassの関数呼び出しにするとか
0240nobodyさん
2007/05/02(水) 01:40:51ID:???っぽいもの
0241nobodyさん
2007/05/02(水) 02:08:52ID:???それで負荷がかかってどうしようもないなら
オブジェクト設計に問題があるんじゃないか?
アクションメソッドやDAOで抽象化するのは普通。
どう考えてもインスタンス化じゃなくて中身の処理が悪くて実行時間がかかってると予測するが。
0242nobodyさん
2007/05/02(水) 02:42:07ID:???何かおぬぬめのエディタない?
0243nobodyさん
2007/05/02(水) 02:45:14ID:???その例の場合インスタンスの生成なんかより
DBとの会話のほうがロスが大きそうなので
ストアドプロシージャ使ったほうがいんじゃね
あとなんとなくだが
リファクタリングの本を一通り読んでみることをオススメする
0245nobodyさん
2007/05/02(水) 02:55:47ID:???TEST
</TAG>
タグの間の文字列(上の場合TEST)を抜き出したいのですが、
どういった関数を利用するのがベターでしょうか?
0246nobodyさん
2007/05/02(水) 02:57:06ID:???0249nobodyさん
2007/05/02(水) 03:54:38ID:???0250nobodyさん
2007/05/02(水) 03:54:43ID:???0253nobodyさん
2007/05/02(水) 04:01:44ID:???0254nobodyさん
2007/05/02(水) 04:04:41ID:???0255245
2007/05/02(水) 04:14:02ID:???これで改行も認識されますか?
0257245
2007/05/02(水) 04:18:39ID:???意味的には、
((?:(?!<\/TAG>).)*?)
が</TAG>以外、
という感じなのはなんとなくわかりますが、
(が2個続いていたり:や?の役目がよくわからんです。
>>251
正規表現の本5冊ほど持ってますが、
さっぱりです。初めて英語を勉強したとき以上のカルチャーショックです、
呪文です、あれは。
0259nobodyさん
2007/05/02(水) 04:20:34ID:????:は後方参照しない
?!は否定
()はグループ化して後方参照
0261nobodyさん
2007/05/02(水) 04:27:00ID:???オライリーの「詳説正規表現」以外は要らない。
1,2,3章の入門編を軽く流したら、4,5章を徹底的に理解すべし。
0262245
2007/05/02(水) 04:31:02ID:???(?!<\/TAG>) はわかりました
((?:(?!<\/TAG>).)*?) の *?は最短マッチですよね。
?:と(?!<\/TAG>)の後ろのドットの役割が説明聞いてもいまいちわからんですね。。。。
preg_match("/<TAG>(.*)*?<\/TAG>/", $html, $return);
↑これではダメでしょうか?
0263nobodyさん
2007/05/02(水) 04:35:15ID:???0264nobodyさん
2007/05/02(水) 04:36:18ID:???0265nobodyさん
2007/05/02(水) 05:54:44ID:???(?!hoge)は前方参照否定じゃなかたけ、否定とはちょい違う
>>262
(?!<\/TAG>)(.*?)
て書きたかったんじゃね
>>264
どうしてそこにドットが出るのかがわからない、と聞いているんだろ
常識的に考えて
0266nobodyさん
2007/05/02(水) 06:23:43ID:???そんなことも分からないってことは修飾子と構文を正しく理解してないってこと。
その2つは最低限理解してから実例に入るべき。
人に教えてもらってコピーするとか改良するとかはその後。
0268208
2007/05/02(水) 07:44:06ID:e82GvhiD0269nobodyさん
2007/05/02(水) 08:08:14ID:???0270nobodyさん
2007/05/02(水) 08:46:10ID:UK9OmFrQGETmethodで情報をphpに受け渡した時、受け側のphpでは以下の通りになりました
storeCart.php?num1=45&code1=1&num2=0&code2=2&num3=0&code3=3&num4=0&code4=4
で、このstoreCart.phpに
if($_get['code1']=""){
echo "karadayo";
}else{
echo "「".$_get['code1']."」";
}
と書いたんですが、何も表示されません なぜでしょう?
0271nobodyさん
2007/05/02(水) 08:47:05ID:???0272nobodyさん
2007/05/02(水) 08:51:03ID:UK9OmFrQすみません、書き間違いがありました
「」 と表示されました(270の時点で)
271さんの言うとおりにしても、「」のまま変わりません
なぜ??
0273nobodyさん
2007/05/02(水) 08:55:03ID:jXkSXyAxだからじゃね
0274nobodyさん
2007/05/02(水) 08:56:00ID:???0275nobodyさん
2007/05/02(水) 09:02:39ID:UK9OmFrQそれでした! ハズカシイ。。
$_GET['code1']=="" にしたら解決しました
しかし $_GET['code1']="" が変なのと echo "「".$_get['code1']."」"; が
まともに動作しないのって別問題と思うんですけどね。。
ともかくありがとうございました
0276nobodyさん
2007/05/02(水) 09:19:39ID:jXkSXyAx空っぽの文字列を代入してるからif式はfalse
だから「」が表示される
ちゃんと動作してるんじゃね?
0277nobodyさん
2007/05/02(水) 09:49:23ID:???勉強します…
0278nobodyさん
2007/05/02(水) 13:45:41ID:s9SsVluQ$hoge[0]['value'] = 100;
$hoge[1]['name'] = "BBB";
$hoge[1]['value'] = 10;
$hoge[2]['name'] = "CCC";
$hoge[2]['value'] = 50;
上記のような配列を ['value']値の順に並び替えたい、
つまり
$hoge[0]['name'] = "AAA";
$hoge[0]['value'] = 100;
$hoge[1]['name'] = "CCC";
$hoge[1]['value'] = 50;
$hoge[2]['name'] = "BBB";
$hoge[2]['value'] = 10;
に変更したいのですが、どのようにすればいいでしょうか。
ご教授お願いします
0279nobodyさん
2007/05/02(水) 14:15:26ID:???$hoge = array(
array('name' => 'AAA', 'value' => 100),
array('name' => 'BBB', 'value' => 10),
array('name' => 'CCC', 'value' => 50)
);
$values = array();
foreach ($hoge as $i => $val) {
$values[$i] = $val['value'];
}
array_multisort($values, SORT_DESC, SORT_NUMERIC, $hoge);
var_dump($hoge);
0280nobodyさん
2007/05/02(水) 17:45:01ID:QSxF3+cOソースには頭にframesetタグが書かれてて大丈夫だと思うんだけどうまくいかなかったんで
require無くしたらいけたりしたんですけどいまいちよくわからないので詳しくわかる人があれば教えていただきたい
0281nobodyさん
2007/05/02(水) 17:49:41ID:???0282nobodyさん
2007/05/02(水) 17:58:46ID:???おかしくなってるんだろ
0283山本山
2007/05/02(水) 18:08:43ID:???0284nobodyさん
2007/05/02(水) 18:37:16ID:QbFzO5vtフレームワークやらSmartyやらよく聞くがどんなものかわかんなす
0285nobodyさん
2007/05/02(水) 18:44:51ID:???フレームワークはフレームワーク。
Smartyはテンプレートエンジン。
まず公式サイトでドキュメントを読め。そしてぐぐれ。
0287nobodyさん
2007/05/02(水) 20:00:38ID:???デザイナー上がりって使えない奴多いよね
0288nobodyさん
2007/05/02(水) 20:21:22ID:???簡単なログイン機能つけるのって初心者には簡単じゃないなw
同じファイルの中でやろうとしたら混乱してきた
0290nobodyさん
2007/05/02(水) 20:30:59ID:ZxrVMRS9id<>pass
aaa.php
$fp = fopen('./data/log.txt','r');
while(!feof($fp)) {
$user = explode('<>',fgets($fp));
}
fclose($fp);
0291nobodyさん
2007/05/02(水) 21:18:47ID:???初心者が簡単にできたらそれ初心者っていうのか?
つか個人的には簡単なログインくらいなら初心者にも作れて当然だと思うけどさ。
思うに今の君に必要なのは初心者がどうのとか難しいとか愚痴ることることではなく
「マニュアルとちゃんと読む」ことと「参考になる書籍/解説Webサイト」を見て学ぶことだと思うぞ。
0293nobodyさん
2007/05/02(水) 23:30:25ID:???0294nobodyさん
2007/05/02(水) 23:56:44ID:???cookieにセッションにcryptに認証状態の維持に有効期限に
初めてのことばっかで情報量多くて…すまん
0295nobodyさん
2007/05/03(木) 00:15:12ID:4b9rb2KaZendPHPの問題集買ったが洋書でわけわかんねwwwwww
0296nobodyさん
2007/05/03(木) 00:22:50ID:B994S/bSPHP5以降を使って
Zend Framework http://framework.zend.com/manual/ja/index.html
と
Smarty http://sunset.freespace.jp/smarty/SmartyManual_2-6-7J_html/
をおすすめする。
てかその質問内容からしてフレームワークとか無理じゃない?
まずはPHPの基礎とSmartyでデザイン部分を分離するところから勉強してみたら?
0297nobodyさん
2007/05/03(木) 00:26:11ID:???http://smarty.m-takagi.org/
翻訳者のみなさんマジGJ!
0298nobodyさん
2007/05/03(木) 00:31:23ID:x91D8BN0誰か作ってください。
javaはいりません。
0300nobodyさん
2007/05/03(木) 00:33:34ID:B+f7twkm簡単過ぎる
で、いくら?
0302nobodyさん
2007/05/03(木) 01:48:24ID:???google adsenceのパクリシステムを作ったはいいが、
GoogleBotとチョソBotしか栗ってくれないプログラムだけどいいか?w
0303nobodyさん
2007/05/03(木) 01:50:23ID:???ほれ。
<html>
<head></head>
<body>
<?php
$i = mt_rand(1,3);
if($i < 2 ){
?>
<img src="img1.jpg">
<?php
}else{
?>
<img src="img2.jpg">
<?php
}
?>
</body>
</html>
0304nobodyさん
2007/05/03(木) 01:53:51ID:ffjkYhTEエラーを独自関数で一元に管理する場合に独自関数をエラーハンドラとして設定しますが
その後の処理についてtryで囲む部分っていうのは全て囲って問題ないものでしょうか?
例を記述すると。
<?php
require_once('function.php');
set_error_handler('myErrorHandler');
try{
$str = file_get_contents('hogehoge.txt', "r");
$conn = mysql_connect("localhost", "user", "password");
mysql_select_db("hoge", $conn);
mysql_query("insert into hoge values ('".addslashes($str)."')");
} catch (Exception $e){
echo $e->getMessage();
}
?>
こんな感じです。
0305nobodyさん
2007/05/03(木) 01:55:34ID:ffjkYhTEfile_get_contentsの部分で例外が発生します。
0306nobodyさん
2007/05/03(木) 01:57:57ID:B994S/bS数が多いので各リンクの後ろに$_GETはしたくない。しかも、外に飛んだのもカウントしたい。
JS使えばclickイベントでPHP呼び出していけそうだけど。
0307nobodyさん
2007/05/03(木) 01:58:23ID:???0310nobodyさん
2007/05/03(木) 02:04:16ID:???ってか外に飛ぶのも含めるとjs使わない限り不可能だよ
0311nobodyさん
2007/05/03(木) 02:06:46ID:B994S/bSset_error_handlerはエラーが発生したときで
例外はset_exception_handlerだと思う
でhandlerは例外が発生してcatchをしなかった場合に呼び出されるので
catchしたら呼び出されない。
例外は、基本的にはある条件で自分で発生させて処理を続行したいときに使うんじゃないかな。
条件分岐みたいな物・・・っておもってたけどちがう?
set_error_handlerの使いどころは何だろ?使ったことないから解らん。
0312nobodyさん
2007/05/03(木) 02:15:37ID:B994S/bSああ、そうか。あるページから、ある同じページに複数のリンクを張る場合を除けば
リンク元のページに張ってるある全てのリンクのリンク先のページのアクセスログのリファラーが
リンク元のページの「どのリンクがどれだけクリックされたか?」になるのか。
↑解りづらいけど、たぶんあってますよね。
考えてみたらそうですね。サンクス。
外に行くリンクはやっぱりJSじゃないと無理ですか?
基本的にはリファラーを含めたアクセスログを保存して、外に行くのだけJSで別にログを保存するかんじかな〜
ありがとでした。
0313nobodyさん
2007/05/03(木) 02:38:25ID:ffjkYhTEなるほど、参考になります。
色々試してましたが、エラーを管理するだけなら
try catch等使わずに、ただエラーハンドラを設定するだけで
いけるぽいですね。
try catchの用途がいまいち理解出来ません。
0315nobodyさん
2007/05/03(木) 02:54:31ID:???何を面倒がってるのか知らんが普通にスクリプトかませばいいじゃん
>>311
>>307はスルーかよ
結局勘違いだったってことでいいわけ?
0316nobodyさん
2007/05/03(木) 04:00:11ID:0TC0EZ5+<?phpだと有効なのに<?=だと無効になってしまいます
php.iniの設定だと思うのですがどのあたりなのかよくわかりません
よろしくお願いします
0317316
2007/05/03(木) 04:09:20ID:???0319nobodyさん
2007/05/03(木) 04:11:40ID:???結城センセのリファクタリング入門でも読んでみ
例外処理の仕組があると何故便利なのかわかると思うよ
>>316
ttp://jp.php.net/manual/ja/ini.core.php
0320315
2007/05/03(木) 04:24:24ID:???間違えた>>311宛ではなく>>313宛だった。
つまりset_error_handlerしたらtry〜catchしないといけないと思ってたのね。
例外処理は俺も前は訳分からなかったけどちょっと理解したら確かに便利だってことが分かったよ。
0321nobodyさん
2007/05/03(木) 06:36:17ID:mwEz31pqphpでjavascriptがoffかどうかを判定するのは無理があるでしょうか?
0322nobodyさん
2007/05/03(木) 07:10:04ID:???JavaScriptで自動的にPHPやCookieなどにアクセスさせるようにして
そのアクセスがあればON、無ければOFFと判定はできるかも。
自動アクセスは単純な手だと画像としてsrc呼び出しなど。
ただ、画像だとブラウザ設定によってJavaScriptがONでも動作しなくなる可能性はある。
その辺はCookieを使う場合も同様。
Ajaxみたいなデータ通信であればそういった不都合は無いかもしれないが
使えるブラウザ自体が限られるかもしれない。
ただ、どんな手法を使うにせよ、判定結果が出るのは最初のPHPの処理が
全て終わって、次のアクセス以降のことになるけどね。
0323nobodyさん
2007/05/03(木) 07:39:13ID:???24歳。おとこ
0324nobodyさん
2007/05/03(木) 09:25:36ID:???0325nobodyさん
2007/05/03(木) 10:53:35ID:???0326nobodyさん
2007/05/03(木) 11:05:22ID:+5Kuly7DAの中にある変数に、globalを使わないでBからアクセスする方法はありますか?
class Test {
function A() {
$a = "a";
}
function B() {
//A()の$aを呼びたい
}
}
0327nobodyさん
2007/05/03(木) 11:13:20ID:???0328nobodyさん
2007/05/03(木) 11:27:39ID:???0330nobodyさん
2007/05/03(木) 11:32:29ID:+5Kuly7D同じ内容の変数を別のメソッドでも使いたいだけなのですが、
その場合は、メソッド別に変数を定義するべきでしょうか?
ていうかそういう場面ってありませんか?
0331nobodyさん
2007/05/03(木) 11:32:33ID:???まとめる為にクラス使ったら
newするのめんどくさくね?
class使わないほうがそのままfunction呼び出せるから便利
0332nobodyさん
2007/05/03(木) 11:33:54ID:+5Kuly7Dどうもありがとうございます。
プロパティの概念はよくわかっていないので、調べてきます。
0333nobodyさん
2007/05/03(木) 11:35:23ID:???いやそんな基本的なことも分からないってことはオブジェクト設計とかもどこ吹く風っしょ?
まぁ別にいいけど。
プロパティ変数使えばいいともうよ。
0334nobodyさん
2007/05/03(木) 12:07:27ID:869V7SM7globalにfunction作りまくるよりはclass使ったほうが良いと思う
newマンドクセならstaticにするべ
0336331
2007/05/03(木) 12:34:04ID:???ごめ、今までクラス使ったことないからわかんない
クラスって何だろう?って思うと、皆はまとめるだけとかいうが、
俺は別に必要性を感じないから使っていない
0338nobodyさん
2007/05/03(木) 12:40:48ID:???functionあるし、やっぱり必要性を感じない俺は末期wwwwww
0340nobodyさん
2007/05/03(木) 12:44:51ID:???まだ20歳だし、勉強していこうと思えばなんとかなるかな?
しかし、2年も独学で勉強していてここまで成長がないのは俺だけでいい
0342nobodyさん
2007/05/03(木) 12:55:15ID:???趣味でやる場合は特に。
会社に入れば使えるようになるし、
覚えようと思って覚える必要はない。
0343nobodyさん
2007/05/03(木) 13:00:11ID:???それそれデザインパターン
まえから気になってたんだけど良い本がなかったorz
「PHPのデザインパターン」って本はないのかな・・・?
>>342
今までは趣味でしていたけど、
知り合いのWebデザイン関係の人のコネでPHPを使った簡単な仕事が入るようになった
この場合はもう趣味では済まされなくなるよな・・・
0344nobodyさん
2007/05/03(木) 13:30:24ID:???言う奴はどうかしてると思う
0345nobodyさん
2007/05/03(木) 13:30:59ID:???お前本当に探したのか?
http://www.amazon.co.jp/dp/4798015164/
0346nobodyさん
2007/05/03(木) 13:37:19ID:???よってまずはOOP入門が先。デザパタはその次。
0347nobodyさん
2007/05/03(木) 13:41:45ID:???最初はstatic,singletonだけで、クラスに関数まとめるだけでも利便性があるし。
0348nobodyさん
2007/05/03(木) 13:44:23ID:???0349nobodyさん
2007/05/03(木) 13:47:50ID:???理解したいなら真剣に読んでみたら?
手続き指向とはプログラムの設計の考え方が根本的に違うわけで、
便利になるとか不便になるとかいう次元の話ではない。
0350nobodyさん
2007/05/03(木) 13:49:05ID:???プログラム作りが楽になるとか面倒になるとかいう話ではないってこと
0351nobodyさん
2007/05/03(木) 14:10:43ID:???リモートサーバが「404」を返して失敗したとか
「200」を返して成功したとか
の判定をしたいと思ってます。
0353nobodyさん
2007/05/03(木) 14:32:53ID:???以前はcURL結構使ってたけど使いづらい面が多いので、
PEAR辺りのHTTP接続ライブラリ使ったほうが良いよ。
http://jp2.php.net/manual/ja/function.curl-getinfo.php
CURLINFO_HTTP_CODE
0354nobodyさん
2007/05/03(木) 14:43:28ID:???md5は日本語何文字程度までなら暗号化→複合が可能なんでしょうか?
0357354
2007/05/03(木) 14:48:49ID:eLSTvBdpありがとうございました。
0358nobodyさん
2007/05/03(木) 14:52:21ID:???まあ、じっくりよんでくれや
ttp://ja.wikipedia.org/wiki/MD5
たんに圧縮したいならbz2関数でも使えば
0359nobodyさん
2007/05/03(木) 16:54:25ID:grlGgfbD具具って見るとSQLでのマルチバイト文字抽出はPHPが対応していない
ような記事を見かけたのですが、これを補う方法ありませんでしょうか?
0360nobodyさん
2007/05/03(木) 17:14:31ID:???どういうSQL文かけばいいでしょうかね?
DBはMySqlです。
0362359
2007/05/03(木) 18:28:20ID:grlGgfbDたとえば、下記のようにすると「つて」を含まないレコードも
抽出されてしまいます。
どうすればよいでしょうか?
おねがいします。
$str="つて";
$sql="SELECT * FORM main WHERE fld='$str';";
0363359
2007/05/03(木) 18:31:35ID:grlGgfbD訂正
× $sql="SELECT * FORM main WHERE fld='$str';";
○ $sql="SELECT * FROM main WHERE fld='$str';";
0364nobodyさん
2007/05/03(木) 18:31:57ID:???0365359
2007/05/03(木) 18:33:08ID:grlGgfbD$sql="SELECT * FORM main WHERE fld='%$str%';";
0366nobodyさん
2007/05/03(木) 18:33:12ID:???上と下で何が違うか分からんけどSQL文の最後のセミコロンっているんだっけ?
あとできるだけ実際のコードを出したほうが解決しやすいと思いますよ
0367nobodyさん
2007/05/03(木) 18:34:06ID:???0368359
2007/05/03(木) 18:35:23ID:grlGgfbD0370nobodyさん
2007/05/03(木) 18:37:36ID:???0371359
2007/05/03(木) 18:37:41ID:grlGgfbDあ、すいません。そうですLIKEでした。慌ててしまったもんで間違いましたすいません。
$sql="SELECT * FORM main WHERE fld LIKE '$str';"; でしたね。
0372359
2007/05/03(木) 18:44:14ID:grlGgfbDうまく抽出できるようになりました。
0373nobodyさん
2007/05/03(木) 19:31:00ID:???0374nobodyさん
2007/05/03(木) 19:39:13ID:???外部ファイルなどに、すべてのタイトルや、タイトルの内容を書いたファイルを用意して。
./xxx.php?title=1 の時は
■タイトル1
■タイトル2
■タイトル3
./xxx.php?title=2 の時は
■タイトル1
■タイトル2
□タイトル2の内容1
□タイトル2の内容2
■タイトル3
とアドレスによってメニューを変えたいのですが、どんな風に組めばいいのでしょうか?
0375nobodyさん
2007/05/03(木) 19:44:13ID:???■タイトル1
■タイトル2
■タイトル3
<? } else if ($title == 2) { ?>
■タイトル1
■タイトル2
□タイトル2の内容1
□タイトル2の内容2
■タイトル3
<? } ?>
0376nobodyさん
2007/05/03(木) 19:44:49ID:???0377nobodyさん
2007/05/03(木) 20:19:34ID:???やはりifで分岐するのがいいんですね。
タイトルの数が多いのでfile()と組み合わせてやってみます〜
file()で開いて書き出すときにifすればいいのかな?
朝まで悩んでみますw
0378nobodyさん
2007/05/03(木) 20:21:19ID:???fileと組み合わせるってどういう意味?
番号ごとに行で区切ったらその行のデータだけもってくればいいんじゃね?
0379nobodyさん
2007/05/03(木) 20:23:47ID:???ひとつのclassにfunctionいっぱい書いてたら、そのうちのひとつ呼び出したくても重くならね?
0380nobodyさん
2007/05/03(木) 20:31:24ID:Ur5keSLI例えば0〜100までの場合は処理1
101〜200までの場合は処理2
201〜300までの場合は処理3
IF分でできるのでしょうか?
0383nobodyさん
2007/05/03(木) 20:41:37ID:???if (($w > 0) or ($w < 100)){
return '処理1';
}elseif(($w > 101) or ($w < 200)){
return '処理2';
}elseif(($w > 201) or ($w < 300)){
return '処理2';
}
こんな感じで合ってる?
$w = 150ってすると処理1が帰ってくるorz
0384nobodyさん
2007/05/03(木) 20:45:01ID:???当然そうなるわな
0386nobodyさん
2007/05/03(木) 20:53:55ID:???30分無駄な時間をすごしたo... rz
0388nobodyさん
2007/05/03(木) 20:59:52ID:4b9rb2Kaclass=functionをグループにしたもの
function=独自関数
__construct=クラスが呼び出されたときに行う処理
こんな感じでいいのかな?
0389nobodyさん
2007/05/03(木) 21:01:43ID:???0390nobodyさん
2007/05/03(木) 21:04:11ID:???0391nobodyさん
2007/05/03(木) 21:15:21ID:4b9rb2Ka本には印鑑にたとえて説明してあった
0392nobodyさん
2007/05/03(木) 21:21:29ID:???0393nobodyさん
2007/05/03(木) 21:22:37ID:???0394nobodyさん
2007/05/03(木) 21:25:55ID:4b9rb2Ka彫られた名前、直径、長さなどの属性を「プロパティ」
押すという手続きを「メゾット」
こんな感じで載ってる
(秀和システムの書籍「PHP5逆引き大全500の極意」より)
0395nobodyさん
2007/05/03(木) 21:30:28ID:???0396nobodyさん
2007/05/03(木) 21:32:11ID:???また新しいおかしなたとえを考え出したなw
車でアクセルとブレーキがメソッドで、色や馬力がプロパティとかよく見たけど。
日本人向けか?
オブジェクト指向って、本読んで頭で理解してもなかなか使おうと思わないような気がする。
というか、使いどころが解らないと思う。
俺みたいな馬鹿は
>>347の言うとおり、いっぱいコード書いて、「なんかこのコード前も書いたなあ」と何度も思ったりとか
コピペしまくって、後でバグ発見して、全部直すのに手こずって、パニックったりとか
クラスを拡張しすぎて、3000行ぐらいになっちゃって、どこにバグがあるのか解らなくてイライラしたりとか
と言う経験をいっぱいしてやっとOOPを意識するようになった。
とにかく動く物をいっぱい書いてみると良い。
OOPの本をいっぱい読むのもイイ。
あと、OOPで設計されたフレームワークとかのソースを読んでみるのも良い。
(PHPならZendFrameworkあたりが良い)
となんか偉そうに書いてみたけど「デザインパターン」でもいってるように
「OOPを使って再利用可能なプログラムを設計する」のって難しいよね。
でも、出来たときは嬉しい!
0397nobodyさん
2007/05/03(木) 21:42:56ID:???趣味でやってるとか個人で完結するプログラムなら別に要らないだろ。
使いどころが解らないなら理解が足りないか必要性がないかのどちらかなわけで。
OOP信仰とでもいうのかね。
0398nobodyさん
2007/05/03(木) 21:46:01ID:dREQm95x{
....
function 押す($myname)
{
$this->set_name($myname);
$this->put();
}
....
function result()
{
return 'あなたは、'.$this->result.'です。';
}
.....
}
$hoshou = new 印鑑;
$hoshou-> 押す('>>394');
echo $hoshou->result();
----------------------
あなたは、自己破産です。
0399nobodyさん
2007/05/03(木) 21:46:46ID:4b9rb2Kaいつか必要になるかもしれんので覚えておこうと思っただけなんだ、ごめん・・・
0400398
2007/05/03(木) 21:49:13ID:???デザパタは
【GoF】デザインパターン 6
ttp://pc11.2ch.net/test/read.cgi/tech/1141846078/
などで
0401nobodyさん
2007/05/03(木) 21:55:54ID:???PHPのMySQL関数でクエリを送る場合「いれない」が正解。
1行だけしか送れないので不要という理由もあるけど
説明でわざわざ「いれない」との記述があるので
入れると寧ろどこかで悪影響がある可能性も考えられる。
0402nobodyさん
2007/05/03(木) 23:48:58ID:???通常のと第2版ってのがあるけどどっちがいいのよ?
0403nobodyさん
2007/05/04(金) 00:25:28ID:???name属性に"Submit_1"もあれば"Submit_158"もあったり数字の部分は動的に変えています。
なにか方法はありますか?
0405nobodyさん
2007/05/04(金) 00:29:19ID:???0406nobodyさん
2007/05/04(金) 00:29:37ID:7svLyDoe$a = substr($a,1,2);
↑
substrが使えません。
なぜ?
0408406
2007/05/04(金) 00:44:29ID:???0409nobodyさん
2007/05/04(金) 00:51:01ID:???意味がワカランが・・・「動的」ってのが鍵なのか?
だったら、nameをarrayにすればいい。
<input name="send[120]".....value="foo" />
<input name="send[30]".....value="bar" />
<input name="send[220]".....value="doraemon" />
var_dump($_POST);
すれば、[send]=>array([30]=>bar)とかが取れる
0410nobodyさん
2007/05/04(金) 01:19:19ID:???2chと同じようにこんな感じでユニークなIDを作りたい
uniqidやmd5は小文字しかないのでダメでした。
どうやったら作れますか?
0412nobodyさん
2007/05/04(金) 01:30:41ID:???perlで上のような構文を見かけたんですが、
phpで似たような構文は可能でしょうか?
それともpreg_match()などの関数を使う必要があるでしょうか?
0414410
2007/05/04(金) 01:56:19ID:???0415nobodyさん
2007/05/04(金) 02:10:24ID:4Tv/1S6hif(is_numeric($_GET['key'])){ $key = intval($_GET['key']); }
}
てやってたんだけど変数セットされてなかったらis_numericがfalse返すから
if(is_numeric($_GET['key'])){ $key = intval($_GET['key']); }
これだけでいい?
0416403
2007/05/04(金) 02:11:03ID:???<input type="submit" name="send[30]" value="foo" />
<input type="submit" name="send[120]" value="foo" />
<input type="submit" name="send[220]" value="foo" />
の場合ですと、2番目のボタンをクリックしたときに「120」の値を取得したいのです。
調べて見ましたが「var_dump($_POST);」だと全部でてしまうし
array_slice(var_dump($_POST),0,1);と書いてもダメみたいです。
foreachもやってみましたがダメみたいです。
どうやれば取得できるのでしょうか?
0417403
2007/05/04(金) 02:15:16ID:???>>410
echo md5(uniqid(mt_rand(), TRUE));
とすれば32桁のユニークなIDが取れます。
あとは適当に切って取りたい桁数にしてあければいいのでは?
0418nobodyさん
2007/05/04(金) 02:16:52ID:???IPとか絡めてDESハッシュにしたら。
>>415
Undefined indexになるからよくない。
>>416
<input type="submit" name="send" value="120" />
ではダメなん?
0420nobodyさん
2007/05/04(金) 02:22:08ID:???$_POST['name']['30']に渡ってくるんだろ?
だったらそれのキーを取ればいいじゃん。
まぁ俺だったら面倒だからhidden使うけど。
0422403
2007/05/04(金) 02:35:19ID:???取れました!!
$_POSTの後に何も書かなかったのがダメだったのですね
['name']と入れたら取得できました。
夜分にお騒がせしました。
今までtextのサイズを0pxにしていましたがhiddenを今まで知りませんでした。
便利そうですね。早速使って見ます。
0423nobodyさん
2007/05/04(金) 02:44:24ID:4Tv/1S6hUndefined indexだけなら実用上問題ないか
thx
0424nobodyさん
2007/05/04(金) 05:32:41ID:???(;´Д`)
0425nobodyさん
2007/05/04(金) 05:52:42ID:???自演に必死真面目に答えてる奴もどうかと思うわ
0426nobodyさん
2007/05/04(金) 06:48:35ID:???0427409
2007/05/04(金) 07:00:45ID:???>>422
hiddenなんか使ってもあなたのやりたいことは、無理。
form要素をsubmit分使うなら別だけど、それなら、もともとの質問>>403と合わない。
0428nobodyさん
2007/05/04(金) 11:05:02ID:/O1lAt+h0429nobodyさん
2007/05/04(金) 13:27:04ID:???HTMLもろくに知らないやつでもできるんだーwww
0430403
2007/05/04(金) 13:46:28ID:???HTMLは多少知っている程度でも出来るみたいですねwwww
今はなんとなく書き方が判ったからなんとなく出来てますwwwwwwwww
0431nobodyさん
2007/05/04(金) 13:47:53ID:???HTML使わないケースもあるし
0432nobodyさん
2007/05/04(金) 16:31:43ID:tMlUrrmDPHPスクリプトで作ったRep2というスクリプトを動かすと
php_sqlite.dllがロードできないとエラーが出るようになりました。
php.iniの関連がありそうな
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
のコメントアウトの確認やdllの再コピーを試したのですが全く改善されません。
どなたかアドバイスください。よろしくお願いします。
0433nobodyさん
2007/05/04(金) 16:38:17ID:???・php.iniのextention_dirの設定は?
・正確なエラー文は?
・php_sqlite.dllはちゃんとあるの?
0434nobodyさん
2007/05/04(金) 16:50:51ID:Cy0pzuiX必死真面目とか言うけど、このスレ程解答者が情報出し渋るスレも中々ないから。
昔風の頭の固いお荷物共が答えてる感じしかしない。
0435nobodyさん
2007/05/04(金) 16:56:52ID:tMlUrrmD早速ありがとうございます。
・ApacheのPHPIniDir設定は?
sqlite絡みでないPHPは動いているので大丈夫だと思います。
・php.iniのextention_dirの設定は?
extension_dir = "c:/php/ext/"
Cドライブ直下にPHPをインストールしてます。
同じくsqliteでないほかのextentionは読み込めているので大丈夫だと思います。
・正確なエラー文は?
Error: php_sqlite.dllをロードできませんでした。
です。
・php_sqlite.dllはちゃんとあるの?
>>432で書いたように
PHPのzipパッケージからextフォルダーに
php_sqlite.dll、php_pdo_sqlite.dll、php_pdo.dllの再コピーを行いましたのであると思います。
このrep2、アップグレードするまでは通常に動作していました。
rep2スレでPHPのスレで質問するように誘導されました。
0436nobodyさん
2007/05/04(金) 17:00:11ID:???エラー文はPHPのFatal Errorではなくてスクリプトのエラー表示なのね?
それならコード見せて。
0437nobodyさん
2007/05/04(金) 17:19:13ID:LLBEYpsmpublic $aaa;
public $bbb;
public $ccc;
public function ech($aaa,$bbb,$ccc){
echo $aaa,$bbb,$ccc;
}
}
$obj = new test("aaa","bbb","ccc");
$obj->ech();
この場合、$aaa〜$cccが出力されるはずなのですが、
なぜかエラーが返ってきます。
「Missing argument 1 for test::ech(), called」
function ehc内でglobalで呼び出すしかないのでしょうか?
0438nobodyさん
2007/05/04(金) 17:20:00ID:tMlUrrmD丁寧にありがとうございます。
>PHPIniDir設定は大いに関係ありますです。
とのことなので早速調べてみたのですが
httpd.confの中にPHPIniDirという設定項目がありません。
PHPIniDir "C:/php"
を付け足そうと思うのですが
httpd.confのどこに足せばよいのでしょうか?
自作スクリプトでなくてどこが原因かわかりませんが
ttp://page2.xrea.jp/expack/index.php/download
の
rep2ex-060903-0030.zip (905KB)
を展開して使用してました。
これのread.php、/iv2.phpで前述のエラーが出るようになりました。
0440nobodyさん
2007/05/04(金) 17:23:34ID:???httpd.confの一番最後にでもそれを付け足して再起動して試してみて。
>>437
それだと引数で渡してる先はコンストラクタ。
echメソッドには何も渡してない。
0441nobodyさん
2007/05/04(金) 17:30:29ID:LLBEYpsmclassを宣言するときに、引数をclassに渡して、それをそのクラス内で使いまわしたい場合はどのようにすれば良いのですか?
0442nobodyさん
2007/05/04(金) 17:34:02ID:tMlUrrmD付け加えてPC自体を再起動してみましたが状況は変わりませんでした。
PHPinfoで見るべき場所とかありますか?
0444nobodyさん
2007/05/04(金) 17:39:40ID:???Configuration File (php.ini) Path
extension_dir
mysqliteの段落
0445nobodyさん
2007/05/04(金) 17:40:32ID:LLBEYpsmサンクス
その方法でやってみます
0446nobodyさん
2007/05/04(金) 17:46:22ID:tMlUrrmDConfiguration File (php.ini) Path C:\PHP\php.ini
extension_dir c:/php/ext/ c:/php/ext/
mysqliteという項目が存在しません。
PDO drivers sqlite
PECL Module version 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6.2.2 2007/03/23 14:30:00 wez Exp $
SQLite Library 3.3.16undefined
というのはありますけど違いますよね。
0447nobodyさん
2007/05/04(金) 17:48:39ID:???0448nobodyさん
2007/05/04(金) 17:52:07ID:???何で合体してるんだwwwwwwwwww
0449nobodyさん
2007/05/04(金) 18:02:04ID:???あとは、会員システムが作りやすくなる補助的なもの
0450nobodyさん
2007/05/04(金) 18:13:49ID:???> PHPのzipパッケージからextフォルダーに
> php_sqlite.dll、php_pdo_sqlite.dll、php_pdo.dllの再コピーを行いましたのであると思います。
PHP5.2.2のWindows用zipパッケージなら最初からextディレクトリにphp_sqlite.dllって入ってるだろう。
それ、どっから何を再コピーしてきたのさ?そんな操作は不要なはずだぞ?
PHP自体を再インストールしてみた方がいいんじゃないの?
ちなみに5.2.2を解凍してphp.iniで
extension_dir = "c:\php\ext"
と設定して
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
の3つのコメントを外しただけの状態でphpinfoには
> SQLite
>
> SQLite support => enabled
> PECL Module version => 2.0-dev $Id: sqlite.c,v 1.166.2.13.2.7 2007/03/06 02:17:13 stas Exp $
> SQLite Library => 2.8.17
> SQLite Encoding => iso8859
という項目が現れるはず。
0451nobodyさん
2007/05/04(金) 18:21:06ID:tMlUrrmD>それ、どっから何を再コピーしてきたのさ?そんな操作は不要なはずだぞ?
念のためにphp-5.2.2-Win32をDLして解凍して
extフォルダー内からコピーし直しました。
再インストールしてみます。
0452nobodyさん
2007/05/04(金) 18:24:27ID:???そのコピーが問題なんじゃね。
まずphpinfoで認識されるかどうかを確実にすることが先決だな。
0453nobodyさん
2007/05/04(金) 18:31:06ID:tMlUrrmDどーやら再インストールしようとしたら解決しました。
えーとwindowsのsystem32フォルダに以前のバージョンのdllを放置してたのが原因だったようです。
申し訳ありませんでした。
再インストールの段になって以前のバージョンを削除することに考えがいきました。
削除しながらもしかしてと思って一度再起動して確認したところ
SQLite support enabled
PECL Module version 2.0-dev $Id: sqlite.c,v 1.166.2.13.2.7 2007/03/06 02:17:13 stas Exp $
SQLite Library 2.8.17
SQLite Encoding iso8859
このようなメッセージも確認でき無事にスクリプトも動きました。
アドバイスありがとうございました。
0454nobodyさん
2007/05/04(金) 18:41:49ID:???> えーとwindowsのsystem32フォルダに以前のバージョンのdllを放置してたのが原因だったようです。
要らん再コピーとか無駄なアレンジを加えたための単なる自爆だな。
0455453
2007/05/04(金) 18:48:28ID:???これはこれで動くようになったという人の話をググって見つけたので試してみました。
要るかどうか判断できなかったので。。
でもそれ以前の問題だったようですね。すいません。
0459nobodyさん
2007/05/04(金) 19:31:25ID:???でも内容自体がくだらないので決して良スレには化けない。
くだ質スレなんてどこもそんな感じ。
0460nobodyさん
2007/05/04(金) 19:42:29ID:???0461nobodyさん
2007/05/04(金) 19:54:01ID:???0462nobodyさん
2007/05/04(金) 20:29:43ID:???礼に無神経な質問者が多いから駄目なんだよ。
言われる前に気を払わないと。
てか453は言われてもシカトだしな。
0463nobodyさん
2007/05/04(金) 20:38:16ID:???0464453
2007/05/04(金) 21:15:30ID:???離席してました。
ご回答くださった皆さん、本当にありがとうございました。
0465nobodyさん
2007/05/04(金) 21:43:07ID:4LncoC7VPHP5.xみたいなディレクトリに収まってるはずじゃ
0466nobodyさん
2007/05/04(金) 21:58:58ID:KgO3BPJP0468nobodyさん
2007/05/04(金) 22:05:55ID:???そもそもこのタイトルが悪い
このタイトルを変えない限りここは基地外の巣靴であり続ける
0470nobodyさん
2007/05/04(金) 22:26:10ID:???0471nobodyさん
2007/05/04(金) 22:43:26ID:???http://pc11.2ch.net/test/read.cgi/php/1158647441/l50
0472nobodyさん
2007/05/04(金) 22:51:43ID:CQ+J25QfRewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)\.html$ read.php?category=$1&contents=$2&page=$3 [L]
RewriteRule ^([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)$ /read.php?category=$1&contents=$2&page=$3 [L]
と書いてアドレス変換するようにしていますが、
rade.phpなどをいじっていると
/xxx/yyy/zzz.htmlでは問題ないのですが、
/xxx/yyy/zzz では白紙になってしまいます。
また、
if (@is_file("./xxx/yyy/zzz/..php")) {
include("./xxx/yyy/zzz/..php");
include("./menu.php");
}else{
header("HTTP/1.0 404 Not Found", true, 404);
include("./error.php");
error();
exit;
としているのですが、これまた
/xxx/yyy/zzz の場合に白紙になってしまいます。
どのあたりをチェックすればいいでしょうか?
0473nobodyさん
2007/05/04(金) 23:20:41ID:JeCkXlLhアクセス数が万などになって、訪れる1人1人が頻繁にSQL文を発行するようなサイトの場合、
PHPで作成した場合とJSP&サーブレットで作成した場合ではどの程度レスポンスに差が出てくるのでしょうか?
〜のサイトがPHPを使ってるなどという情報も教えていただけたら、と思っています。
0474nobodyさん
2007/05/04(金) 23:22:56ID:???0475nobodyさん
2007/05/04(金) 23:38:16ID:???>rade.phpなどをいじっていると
意味不明。
まあ、すくなくとも
RewriteRule ^([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)$ /read.php?category=$1&contents=$2&page=$3 [L]
の方は、/read.phpの/が悪さしてるんだろ。
0476nobodyさん
2007/05/05(土) 00:03:04ID:1dXIFJS6レスありがとう。
/ は何かのゴミです。.htaccessには入ってないです。
0477nobodyさん
2007/05/05(土) 00:07:01ID:???.htaccessの書式については
read.phpの冒頭に
var_dump($_GET);を書いてで引数が渡っているかどうかを確認
ここが問題なきゃ後者のfile includeの部分で失敗している。
0478nobodyさん
2007/05/05(土) 00:18:42ID:???phpのバージョンは 4.4.7 です。
オブジェクトのメンバへのアクセスが
$dbTbl = new clsDB();
$dbTbl->db2table("hogehoge");
だとNGで
$dbTbl = new clsDB();
$dbTbl.db2table("hogehoge");
だとうまくいきます。
どの資料でも -> でアクセスしているので -> にしたいのですが、
原因は何でしょうか?
0479nobodyさん
2007/05/05(土) 00:25:48ID:???2.うまくいくじゃ分からん。何がどうなる。
ちなみにPHPでメンバにドットではアクセスできません。
0480478
2007/05/05(土) 00:34:58ID:???メンバにドットでアクセスできて、アロー演算子でできなくて困ってます。
$dbTbl = new clsDB();
$dbTbl->db2table("hogehoge");
class clsDB{
function clsDB(){
}
}
function db2table($str){
print($str);
}
アロー演算子でメンバにアクセスすると、
Fatal error: Call to undefined method: clsdb->db2table()
となり
Javaのようにピリオドでメンバにアクセすると、
hogehoge
が表示できます。
なぜだろう…
0482nobodyさん
2007/05/05(土) 00:38:17ID:???db2tableってメソッドになってないし
0484nobodyさん
2007/05/05(土) 00:48:35ID:???1.そもそもclsDBクラスでdb2tableメソッドを宣言していない
2.だからドットでアクセスしているというのは勘違い
3.つーかドットでアクセスできないっつってんだろ勝手にPHPコア書き換えんな
4.アクセスの仕方も分からないなら該当部分のマニュアルくらい読もうよ → http://jp.php.net/manual/ja/language.oop.php
5.>>1のルールすら守れないやつは引っ込んでろ
0485nobodyさん
2007/05/05(土) 00:51:00ID:eLQmnQPO最初にヒットした箇所だけを変換したい場合はどうすればいいですか?
0486484
2007/05/05(土) 00:59:36ID:???「いいやこっちの方が正しい。アクセス可能。」と言い張る神経が理解できない。
もしかして間違ってるのは自分のほうかな?と省みることは無いんだろうか。
自分のやってることは全て正しくて、間違ってるのは周りに決まってると思ってるんだろうか。
>>485
preg_replace
0487nobodyさん
2007/05/05(土) 01:08:53ID:wIBq1T/y0488nobodyさん
2007/05/05(土) 01:58:52ID:???行く文字のながれは絶えずして、しかも本のソースにあらずってな
0489nobodyさん
2007/05/05(土) 02:45:33ID:???0490nobodyさん
2007/05/05(土) 03:07:58ID:1dXIFJS6レスありがとうございます。
var_dump($_GET);を書いてやってみました。
.htaccessの内容は
RewriteRule ^([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)$
の部分を
RewriteRule ^([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)/([0-9A-Za-z_)]+)/?$
とした以外変わりないです。
/xxx/yyy/zzz.html だとページは問題なく表示され
array(3) { ["category"]=> string(11) "xxx" ["contents"]=> string(8) "yyy" ["page"]=> string(5) "zzz" }
と表示されています。しかし
/xxx/yyy/zzz だとやはり白紙です。
また/xxx/yyy/z と少しアドレスをきると、404が帰ってて、その上部にarray(3)・・・と同じものが表示されます。
それと、RewriteRule ^(.*)/(.*)/(.*)/?$ read.php?category=$1&contents=$2&page=$3 [L]
に変えてみらところ、/xxx/yyy/zzz では、白紙ではなく、404が戻ります。
404は、rade.phpで if (@is_file ・・・ していて該当ファイルがない場合
header("HTTP/1.0 404 Not Found", true, 404);でエラードキュメントを表示するようにしてるためだと思うのですが、
上記の時に、/image/rrr/sss.jpg などが直リンできなくなります。
いったいどこがどうなっているのかさっぱりです・・・
0491nobodyさん
2007/05/05(土) 03:08:07ID:1lZd7YECTEST 1
TEST 2
TEST 3
</HTML>
上から 1,2,3という数を正規表現で抜き出したいです。
preg_match_all()を使用して、
"/<HTML>(TEST ([0-9])\n)+<\/HTML>/s"
のようにしていますが、
3しか取得できません。
「TEST [0-9]」の数が定まっていれば簡単ですが、
変化する場合、()の使い方がイマイチわかりません。
どのようにすればよいでしょうか?
0492nobodyさん
2007/05/05(土) 03:17:45ID:???素直にソース出したほうが早い
なんとなくpreg_match_allのマニュアル読み直すと解決しそうな匂いはする
0493nobodyさん
2007/05/05(土) 04:04:49ID:???0494nobodyさん
2007/05/05(土) 04:09:10ID:???単に改行コードが\r\nなだけじゃ?
初めから終わりまで指定してまうと
その間の全ての文字を考慮しないといけなくなるから
(もちろんそれが必要になる場合もあるけど)
'/TEST ([[:digit:]]+)/'
その場合単にこうしてしまった方がいいと思うけど。
0495494
2007/05/05(土) 04:13:01ID:???0496nobodyさん
2007/05/05(土) 05:32:40ID:???入力値に正規表現の特殊文字が含まれているかもしれないですよね?
そんな特殊文字を一括してエスケープする方法はありますか?
0497nobodyさん
2007/05/05(土) 05:40:53ID:???0498nobodyさん
2007/05/05(土) 05:47:39ID:2h7OPxMf0501nobodyさん
2007/05/05(土) 10:29:56ID:???例、
こども人口、26年連続減少の1738万人
↓
こども人口、年連続減少の万人
0503nobodyさん
2007/05/05(土) 11:20:07ID:???UTF-8ならpreg_replaceでuオプションを付けて、
他のエンコードならmb_ereg_replaceで、
[0-90-9]を指定。
0504nobodyさん
2007/05/05(土) 11:24:53ID:???セッションが勝手に破棄されることってありますか?
maxのlifetimeという表現が気になります
0506501
2007/05/05(土) 11:50:38ID:???0507nobodyさん
2007/05/05(土) 12:13:54ID:???0509nobodyさん
2007/05/05(土) 13:13:52ID:???さっきphp5.2.2ダウンロードして、今httpd.confを編集中のあたりでもうすでにでっかい壁が出来ました。
AddDefaultCharset none
LoadModule php5_module C:/php/php5apache2.dll
AddType application/x-httpd-php .php
をちゃんと置いてるはずなのにphpinfo.phpがちゃんと表示されない(ソースが出る)。
これってやっぱhttpd.confの設定が駄目なんすかね?あと、php.ini編集した後にapache再起動するの忘れた。
もしかしてそれのせい?
0511nobodyさん
2007/05/05(土) 13:22:14ID:???0512nobodyさん
2007/05/05(土) 14:51:25ID:???面白半分に騙る奴が出て来るんだよ馬鹿。
0513nobodyさん
2007/05/05(土) 15:35:13ID:KTSUFz5Dファイルロックはしておく必要があるのでしょうか?
flock は使えないみたいですし…
読み込むだけなら別にロックしなくてもいいんですかね?
0514nobodyさん
2007/05/05(土) 15:42:13ID:???そりゃそうだ
0515513
2007/05/05(土) 15:46:33ID:???http://nyx.pu1.net/practice/file_ope/file_ope9.html
0516nobodyさん
2007/05/05(土) 15:54:47ID:???「ファイルロックって何?」って思わないもんなん?
0517nobodyさん
2007/05/05(土) 16:02:16ID:???読み込むだけなら〜 の部分は readfile などがロックしてるのかと思って書いたものです
急いで書いたため全然違う日本語になってしまいましたが…
0518nobodyさん
2007/05/05(土) 16:28:34ID:???日本語も分かってないんじゃねw
まずマニュアル読めよ
0519nobodyさん
2007/05/05(土) 18:17:10ID:H+RxaHTQ<a href="../test/read.cgi/php/1177635762/500" target="_blank">
↓
<a href="#500">
<a href="../test/read.cgi/php/1177635762/249-250" target="_blank">
↓
<a href="#249">
こんな感じに変換したいんですが、うまくいきません。
お力添え御願いします。
0520nobodyさん
2007/05/05(土) 18:34:55ID:???0521519
2007/05/05(土) 18:50:54ID:H+RxaHTQ$a = ' target="_blank"';
$b = '../test/read.cgi/'.$u1.'/'.$u2.'/';
$text = str_replace($a, '', $text);
$text = str_replace($b, '#', $text);
これで上のパターンはうまくいくのですが
下のパターンがダメです。
正規表現を使えばいいのでしょうが書き方がわかりません。
0522nobodyさん
2007/05/05(土) 19:06:13ID:???$pattern = '!<a.+href=".+/(\d+).+".+>!';
$replace = '<a href="#\1">';
$str = '<a href="../test/read.cgi/php/1177635762/500" target="_blank">';
$replaced = preg_replace($pattern, $replace, $str);
var_dump($replaced);
$str = '<a href="../test/read.cgi/php/1177635762/249-250" target="_blank">';
$replaced = preg_replace($pattern, $replace, $str);
var_dump($replaced);
こんな感じか
パターンかなり適当だからマッチしない場合には修正してくれ
正規表現はマニュアル見て勉強するしかない
0523519
2007/05/05(土) 19:57:17ID:H+RxaHTQ$pattern = '!<a.+href=".+/(\d+).+".+>!';
$replace = '<a href="#\1">';
これだと</a>まで巻き込んでしまったので
$pattern = '!<a.+href=".+/(\d+).+".+>(.+)</a>!';
$replace = '<a href="#\1">\2</a>';
これでうまくいきました。有難うございました。
0525nobodyさん
2007/05/05(土) 23:33:15ID:cnfZ7N5Yで、その逆のgzdecodeが何故かなかったんで
ググったらhttp://www.php.net/manual/ja/function.gzencode.php#44470に
それらしいのを発見したんで使ってみたんですが、
今度は上のgzdecode内で使われているgzinflateがbuffer errorってのを返すんですね。
ちなみにgzdecodeしようとしたデータは、Googleに対してContent-Encoding: gzipで
アクセスして返ってきたデータなんですが、これをデコードするには
一旦ファイル作成して、gzopen使うしかないんでしょうか。
0526nobodyさん
2007/05/05(土) 23:43:34ID:cnfZ7N5Y×Googleに対してContent-Encoding: gzip
↓
○Googleに対してAccept-Encoding: gzip
でした。
0527nobodyさん
2007/05/06(日) 00:14:57ID:???あるじゃん
ttp://jp.php.net/manual/ja/function.gzdecode.php
目的に合うかわしらんが
0528nobodyさん
2007/05/06(日) 01:12:42ID:???0529nobodyさん
2007/05/06(日) 01:59:55ID:mYMYvtVv各々のウェブアプリのセッションの寿命設定が違う場合、
他のウェブアプリが走らせたガベージコレクションによって
別のウェブアプリのセッションファイルが
目論見より早い段階で掃除されてしまう、
ということはありえるでしょうか?
ありえるとしたら、
アプリごとに、セッションパスを必ず分けなくてはいけない…
ということでしょうか?
0530nobodyさん
2007/05/06(日) 02:31:53ID:???IDだしてて偉い!
ということで不肖ながら答えさせていただきます。
どうせだからちょっとセッションの軽いまとめをしてみよう。
まずガーベジコレクタが起動するタイミングはsession_start()が
呼び出されたとき。
で、session_start()が呼び出されても必ずガーベジコレクタが起動
するとは限らない。
ガーベジコレクタはsession_start()が呼び出された際に、php.iniの
session.gc_divisor / session.gc_probabilityの確率で起動する。
当然これは全てのsession_start()で等しい確率となる。
で、ガーベジコレクタが起動して掃除を始めると、これまたphp.iniの
session.gc_maxlifetimeを超えているセッションのみを削除する仕組
になっている。
つまり、>>529の心配していることが半分的中してしまう訳だな。
確かにあるWebアプリ用のガーベジコレクタが別のWebアプリ用の
セッション情報を削除してしまうのは間違いないけど、それは既に
寿命の切れたセッション情報だから問題ないはずだ。
どう?
0531nobodyさん
2007/05/06(日) 02:58:14ID:???セッションパスとセッション接頭子が全く一緒なら
そりゃ混ぜこぜにされちゃって掃除対象になっちゃうのでは。
session.save_pathかsession.nameのどっちかは
変えとかないといかんのじゃないかな。
うちはセッションルールが異なるアプリの場合、
session.save_pathは一緒だけどsession.nameをそれぞれ変えてる。
0532nobodyさん
2007/05/06(日) 02:59:20ID:???http://jp.php.net/manual/ja/ref.session.php
> 注意: 異なる値を session.gc_maxlifetime に指定している 別々のスクリプトがセッションデータの保存場所を共有している場合、 一番小さい設定値に達した時点でデータが消去されます。このような場合には、 お互いに session.save_path を使用します。
他のノイズは無視して下さい。
0533nobodyさん
2007/05/06(日) 03:00:50ID:???その「寿命」の設定が全く異なる場合に、
長命設定のものが短命設定のものに巻き込まれて
削除されてしまうのを心配してるんじゃ?
何を持って
> それは既に寿命の切れたセッション情報だから問題ない
と言ってるんだろう。
0534nobodyさん
2007/05/06(日) 03:05:01ID:???session.nameってURLのパラメータ識別子であって接頭子なんかじゃないぞ。
セッション情報は session.save_path/sess_* で保存されてるんだから
session.save_pathが一緒である限り他と区別する方法なんてない。
0535nobodyさん
2007/05/06(日) 03:10:41ID:WP5rGYZnとクッキーをセットした場合、セットしたディレクトリのみ有効?
上のディレクトリも有効にする事って出来ない?
0536nobodyさん
2007/05/06(日) 03:20:24ID:???ガーベジコレクタは寿命の切れたものしか削除
しないだろ?
だったら>>530の言うように寿命がそれぞれ違っ
ても問題ないんじゃない?
0537529
2007/05/06(日) 03:22:18ID:???最低の設定で掃除されてしまうとは・・・
セッションセーブパスを必ず設定することを習慣にした方が
いいかもしれないですね
0538nobodyさん
2007/05/06(日) 03:27:27ID:???寿命は生成時には決められない、ということでは?
gc_maxlifetimeは文字通りGCに対してだけの設定で、
セッションファイルに「このファイルの寿命はここまで」という属性を
与えるわけではないと。
0539nobodyさん
2007/05/06(日) 03:39:48ID:???なるほど。いや勉強になった
しかし俺が言うのもあれだがセッション関連の話題は毎スレ出てくるな
まとめをテンプレに入れたほうがいいのかな?
0540nobodyさん
2007/05/06(日) 03:48:36ID:???http://pc11.2ch.net/test/read.cgi/php/1064399467/
0542nobodyさん
2007/05/06(日) 04:50:39ID:mYMYvtVvsession.bug_compat_warn
こんなディレクティブの存在をはじめて知りました
説明を読むと、
本来はsession.bug_compat_42は0にしておくのがベターだと思うのですが
何故か1になっていました。
で、session.bug_compat_warnも1になっているのですが、警告されません。
エラーリポートはE_ALLです。
バージョンは5.1.6です。
PHP5ではsession.bug_compat_42は無視されているのでしょうか?
0543525
2007/05/06(日) 05:36:49ID:7LnaFZ8Pレスポンスされたデータを適切に処理していなかったため
gzdecodeでエラーを返していたみたいで、その壊れたデータをgzopenを使って処理した場合には
なぜかうまく処理できていたというだけのようです。
具体的にはTransfer-Encoding: chunkedの時に
40
hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
3a
hogehogehogehogehogehogehogehogehogehogehogehogehogehogeho
0
のように返ってくるデータを
全部つなげてからgzdecodeしなければならないところを
切れたままのデータにgzdecode処理してしまっていたのが原因でした。
レスくれた人ありがとうございました。
0544542
2007/05/06(日) 08:20:18ID:???ここのブログによると
実際に代入する段階で警告が出るようです
いずれにしろ検索して出てくる記事の少なさからも
かなりマニアックな機能のようで…。
session.bug_compat_42がデフォルトで1なのがちょっと疑問です
まあ互換性の問題なのでしょうが
PHP5なら0にしておいた方がいい気がします
0545nobodyさん
2007/05/06(日) 12:39:42ID:???0546nobodyさん
2007/05/06(日) 12:51:11ID:???0547nobodyさん
2007/05/06(日) 13:41:07ID:???0548nobodyさん
2007/05/06(日) 13:46:15ID:???0549nobodyさん
2007/05/06(日) 16:09:13ID:???0550nobodyさん
2007/05/06(日) 16:16:08ID:???0551nobodyさん
2007/05/06(日) 16:52:18ID:???昔、グローバル変数とSESSIONがカチ会うとSESSIONが上書きされる現象に悩まされたが
原因はそれかあああ
session変数にses_を付ける方法でしのいだがとんでもないバグだな。
PHPのクオリティーの低さは異常。
0552nobodyさん
2007/05/06(日) 17:30:45ID:bSP5KVqHApache2.2.4 + MySQL5.0.37 + PHP5.2.2 + phpmyadmin2.10.1で
phpmyadminがエラーになります
動くようにするにはどうすればいいでしょうか
表示されるメッセージは「phpMyAdmin - エラー」のみです
設定はttp://www.yamada-lab.org/doc/win/mysql5/index.html
などを参考にしました
phpinfoではmysqlの欄も表示されます
行ったのは
文字コードをUTF8に統一
http.confにLoadModule php5_module(ry
php.iniのmbstringとmysqlのコメントを外す
config.inc.phpのpmaのURL記述と認証のhttpへの変更
libmysqlのsystem32へのコピー
です
文字コードはsjisに統一した状態でも同じでした
0553nobodyさん
2007/05/06(日) 17:34:47ID:bSP5KVqHselect_lang.lib.php on line 405
session.inc.php on line 117
session.inc.php on line 100
が何度か出てきます
0554nobodyさん
2007/05/06(日) 18:30:30ID:zIFA24Jthandan(aaa32) >no
handan(4223) >yes
handan(0) >yes
handan(ads8ds) >no
handan(000333) >no
というふうに
正の整数+0ならYESと返す関数が見つかりません
あれば教えてください。
0555nobodyさん
2007/05/06(日) 18:31:03ID:zIFA24Jt0556nobodyさん
2007/05/06(日) 18:43:18ID:???0558nobodyさん
2007/05/06(日) 19:11:21ID:???0559552
2007/05/06(日) 19:17:43ID:bSP5KVqHここもスレ違いでしょうか
0560nobodyさん
2007/05/06(日) 19:20:07ID:???preg_match("/^(0|[1-9][0-9]*)$/", "値")
0561nobodyさん
2007/05/06(日) 19:22:07ID:gRJO/G6J会員毎のアクセス解析を作る場合、アクセスがあった度にログに追加していては
例えDBを使ったとしても、尋常じゃないほどログが増えすぎると思います。
かといって、1会員毎にログファイルを生成するやり方も、古い気がします。
そこで、指定件数(例えば30日以降のログは消去する)を決めて
1回目のアクセスは新規登録、2回目以降は上書き(カウントアップ)だけに
しようとも思います。これだと会員が1000人いたら、1000×30=3万件ですが。
ただ、この考え方で良いのかどうか不安です。良い知恵をお借り出来ないでしょうか。
0563nobodyさん
2007/05/06(日) 19:32:08ID:???俺ならアクセス毎に1件登録して
1日1回バッチ処理でユーザ毎の
カウントを集計してログを削除、にする。
アクセス毎にupdateは処理が重いのと、
不具合が出たときに誤集計になりやすい。
0564nobodyさん
2007/05/06(日) 19:38:24ID:NIpCxqfr最近URLに(タグと言うべきか)文字が挿入されているサイトをよく見かけますが
これってどのようにURLからデータを取得しているんでしょう?
(ウィキペディア)http://ja.wikipedia.org/wiki/PHP:_Hypertext_Preprocessor
(はてな)http://d.hatena.ne.jp/keyword/PHP
(amazon)http://www.amazon.co.jp/○○
(ニコニコ)http://www.nicovideo.jp/tag/○○
日本語はエンコード・デコードしているのはわかります。
URLに ?test=hogehoge みたいな風になっていれば
$_GETで取得できるのはわかるのですが、どなたか仕組みを知りませんか?
0565561
2007/05/06(日) 19:38:27ID:???ありがとうございます。なんとなく糸口が見えてきたので、
もう少しお願いします。
>1日1回バッチ処理でユーザ毎の カウントを集計してログを削除、にする。
との事ですが、これはログファイルを生成して日が終わった後に
修正したデータをDBに登録する。
と言う事でしょうか?それとも日のアクセスも一時保存用テーブルに保存して、
集計時に集計したデータを履歴用テーブルに保存し、一時保存のテーブルは
空にする と言う事でしょうか?
0566nobodyさん
2007/05/06(日) 19:38:54ID:zIFA24Jtおお、これです。
感謝します。
解答してくれた方もありがとうございました
誤入力を避けるために000333は禁止する方向でやってます
0569nobodyさん
2007/05/06(日) 19:56:41ID:bSP5KVqHXAMPPの最新版を入れても同じエラーになります
0570nobodyさん
2007/05/06(日) 19:57:07ID:CCThxWoFもしサイトが更新されても安定して取得・表示する方法でいいアイデアってないかな?
今はサイトを取得してからeregで特定タグなりを目印にして出力しているんだが…
0571nobodyさん
2007/05/06(日) 20:13:39ID:OoDHPbxzこれってどういう意味?
一応調べたんだけど記号だからうまく調べられなかった
0572nobodyさん
2007/05/06(日) 20:17:03ID:jInvdC5H0573nobodyさん
2007/05/06(日) 20:19:18ID:OoDHPbxzサンクス!
0578nobodyさん
2007/05/06(日) 20:35:48ID:UWEsfuIOじゃなくて
http://***/?hoge
とか
http://***/hoge
でやってるサイトが多いのは何で?
0579nobodyさん
2007/05/06(日) 20:37:10ID:???0581nobodyさん
2007/05/06(日) 20:40:07ID:???apache再起動した?
最初からXAMPPなの?別個に入れた後XAMPPも入れたの?
ちなみにいつエラーって言われるのさ?
もう一回最初から手順どおりやって見れ。そのほうが早いよ。
0583nobodyさん
2007/05/06(日) 22:46:11ID:???>>564じゃないが、echo $_SERVER['PATH_INFO']で何も出なかった
http://example.com/hogehogeだったら
http://example.com/hogehoge/index.phpにアクセスされね?
http://example.com/index.phpでhogehoge取得とかできないな
0584nobodyさん
2007/05/06(日) 22:56:15ID:???一番不安定。俺ならREQUEST_URI使うな。
0585nobodyさん
2007/05/06(日) 22:58:29ID:???0587nobodyさん
2007/05/06(日) 23:05:09ID:???0589nobodyさん
2007/05/06(日) 23:41:18ID:???http://example.com/index.php/hogehoge/fugafuga
設定次第で http://example.com/index/hogehoge/fugafuga
とかもできる
0592nobodyさん
2007/05/06(日) 23:48:11ID:???0593nobodyさん
2007/05/06(日) 23:49:30ID:???0594nobodyさん
2007/05/06(日) 23:51:47ID:???0595nobodyさん
2007/05/07(月) 00:05:20ID:???0596nobodyさん
2007/05/07(月) 00:44:37ID:???./  ̄/  ̄ / _|__ ___|_
―/ / |/ /|
_/ _/ | _/|
/\___/ヽ
(.`ヽ(`> 、 /'''''' '''''':::::\
`'<`ゝr'フ\ + |(●), 、(●)、.:| +
⊂コ二Lフ^´ ノ, /⌒) | ,,,ノ(、_, )ヽ、,, .::::|
⊂l二L7_ / -ゝ-')´ .+ | `-=ニ=- ' .::::::| + .
\_ 、__,.イ\ + \ `ニニ´ .:::/ +
(T__ノ Tヽ , -r'⌒! ̄ `":::7ヽ.`- 、 ./| .
ヽ¬. / ノ`ー-、ヘ<ー1´| ヽ | :::::::::::::ト、 \ ( ./ヽ
\l__,./ i l.ヽ! | .| ::::::::::::::l ヽ `7ー.、‐'´ |\-、
___________________________ __
│二│三│四│二│三│四│二│三│四│◎│◎│◎│伍│|伍|
│萬│萬│萬│萬│萬│萬│萬│萬│萬│◎│◎│◎│萬│|萬|
0597nobodyさん
2007/05/07(月) 02:20:03ID:ey+jINI9どうやって実装すればいいですか?
0598nobodyさん
2007/05/07(月) 02:46:59ID:oQG5Osro20〜30ページも作るとファイルの管理とエディタで切り替えがいい加減だるくなってくるんですが、
皆さんテンプレートやPHPファイルの数が増えても普通にエディタで作ってますか?
EmEditorで全部書いてるんですけど、統合環境とか使うと違うのかなぁ。
0599597
2007/05/07(月) 03:34:54ID:???0600nobodyさん
2007/05/07(月) 03:52:54ID:???0601nobodyさん
2007/05/07(月) 04:14:46ID:???0602nobodyさん
2007/05/07(月) 05:29:17ID:VG09sLBd0603nobodyさん
2007/05/07(月) 06:53:03ID:HuKM0EbBhttp://hoge.com/poge/fugo
↓
hoge.com
みたいな感じです
0604nobodyさん
2007/05/07(月) 07:10:02ID:???var_dump(parse_url('http://hoge.com/poge/fugo'));
array(3) {
["scheme"]=>
string(4) "http"
["host"]=>
string(8) "hoge.com"
["path"]=>
string(10) "/poge/fugo"
}
0606nobodyさん
2007/05/07(月) 11:00:55ID:???PHPでPDFを出力したく、フリーのライブラリを探しているのですがなにがお勧めでしょうか?
PDFLibは、商用で使う場合有償なのですよね?
0607nobodyさん
2007/05/07(月) 11:26:11ID:???多分
0608nobodyさん
2007/05/07(月) 11:47:12ID:sGzYZkCOどのようにすればよいでしょうか、よろしくお願いします。
$str="a";
$sql="SELECT * FROM table WHERE field LIKE BINARY '$%str%';";
0609nobodyさん
2007/05/07(月) 11:49:26ID:sGzYZkCO訂正 $sql="SELECT * FROM table WHERE field LIKE BINARY '%$str%';";
0610nobodyさん
2007/05/07(月) 12:18:04ID:???バイナリで検索してるんだから当たり前
LIKE BINARY
↓
LIKE
更にフィールドの型がbinary型になっていないかチェック
0611nobodyさん
2007/05/07(月) 12:30:58ID:sGzYZkCOありがとうございます。
LIKE BINARYとしているのは、テキストボックスに入力があった場合に
日本語文字も検索できるようにしているからです。
この場合どうすればよいでしょうか。
よろしくお願いします。
0612609
2007/05/07(月) 13:09:14ID:sGzYZkCO思うようにいきません。
データベースはMYSQLで検索対象フィールドタイプはtextにしています。
0613nobodyさん
2007/05/07(月) 13:16:35ID:???setcookieで同一ページでは問題ないのですが
同じ階層の違うページで
if( isset( $HTTP_COOKIE_VARS["vs_pass"] ) ) {
$vs_pass = $HTTP_COOKIE_VARS["vs_pass"];
} else{ . . .
とやってもからっぽでした。
ドメインやパスか何かを指定しなければならないんでしょうか?
0617nobodyさん
2007/05/07(月) 14:22:40ID:???0618nobodyさん
2007/05/07(月) 14:33:03ID:V6z/gjwqPHP5.2.1にて、ダイレクトIO(DIO)関数を使いたいのですが、
./configure 時に --enable-dio を指定しても DIO が有効になりません。
PECLのサイトに dio がありましたが、ダウンロードしようとすると File Not Found となってしまい、pear install dio 、 pecl install dio でもインストールすることが出来ません。
ググっても同じような症状を解説しているサイトが見つからず、解決策が見つかりません。
どなたかご存知の方がいらっしゃいましたら、アドバイス頂けたらと思います。
よろしくお願いいたします。
0619nobodyさん
2007/05/07(月) 14:33:48ID:???0620618
2007/05/07(月) 15:01:20ID:V6z/gjwqCSVにてダウンロード、コンパイルが出来ました。。
お騒がせいたしました。
0621nobodyさん
2007/05/07(月) 18:28:01ID:eAJiAY6QApache2/htdocs/sampleフォルダにPHPファイルを入れています。include構文で使うふぁいるは
Apache2/includeに入れないとだめみたいなんですが、sampleフォルダからだと相対パスはどうなるんでしょうか?
../../include.incとしても駄目でした。他にも色々試したんですがだめでした。
0622621
2007/05/07(月) 18:31:26ID:eAJiAY6Qすみません。
0623nobodyさん
2007/05/07(月) 20:07:37ID:???0624nobodyさん
2007/05/07(月) 22:11:52ID:i2xtF+k70625nobodyさん
2007/05/07(月) 22:46:53ID:RBHhVsf2PDOでsqliteを操作しようとしています。
selectは問題なくできるのですが、insertができません。。orz
コマンドラインからならinsertも出来ます。。
$dbh = new PDO("sqlite:test.db", '', '');
$sql = "INSERT INTO counrty_tbl (country) VALUES ('japan')";
$res = $dbh->query($sql);
var_dump($res);
でfalseが返ってきてしますうのですが。。どこら編がまずいのでしょうか。
sql文はコマンドラインで試したのと同じなので問題ないともうのですが。。
よろしくおながいします。m(_ _)m
0626115
2007/05/07(月) 22:47:53ID:???単一では、ないんじゃないの?
最後の行が、改行コード行末を持つかどうかでちがう。
$file_array = file('foo/bar/file');
$count = count($file_array);
として、end($file_array);で最後の行の末尾が改行コードあるかどうかをチェックして
$count + 1 するかどうかが必要。
0627nobodyさん
2007/05/07(月) 23:01:44ID:DrdXpO7Ufile()だとtextが100MBあったら100MBの配列作ることになるわな
>>625
insertは戻り値無いからPDO->exec使うべ
0628625
2007/05/07(月) 23:16:58ID:???どうもありがとーです!
原因は、、、、dbのアクセス権がよろしくなかったみたいです。。orz
アクセス権を修正したら、execでもqueryでも出来ました。><
しかも、「counrty_tbl」のつづりが間違ってました。。orz
でも、627さんのレスのおかげで、再び希望を持つことが出来、原因を突き止めることが出来ました。本当に助かりました!
0629624
2007/05/07(月) 23:30:11ID:i2xtF+k7私がやりたかったのは、
「ある行で、ある文字が検出されたら、それより上の行を全削除する」ってのをやりたかったんです。
0630nobodyさん
2007/05/08(火) 01:18:30ID:???同じ階層であれば通常は問題ないはずなんだがなぁ〜
なんか特殊なことでもしてる?
単純にクッキーの発行と読み出しだけする
2個のプログラムでも書いて動作確認してみては?
どうでもいいけど $HTTP_COOKIE_VARS はもう古い。
0632nobodyさん
2007/05/08(火) 03:46:58ID:???プログラムがまともに動きません。
買い物カートにモノを入れて、最後のカート内確認画面まで選択情報を
セッションで維持して、最後に確定ってやつなんですが、カートの中身がカラなんです。
phpinfoは以下の通りなんですが、これじゃダメなんでしょうか?
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
0633nobodyさん
2007/05/08(火) 04:01:01ID:???0634nobodyさん
2007/05/08(火) 04:01:16ID:???0635nobodyさん
2007/05/08(火) 04:11:33ID:???いやー、ほんについてたCDのソースをそのまま使ってみたんだけど、
それでも動かなかったので…
基本的な設定がおかしいのかと。
0636nobodyさん
2007/05/08(火) 04:18:10ID:???0637nobodyさん
2007/05/08(火) 04:18:22ID:???auto_startがOFFならソース中にsession_start()はあるんだよな?
…という感じで、設定値が正しいかどうかはソースによる。
設定だけ出されても
> Session Support enabled
を見て、使えるかもしれなないね、としか言えない。
save_pathのディレクトリにセッションファイルは生成されてんの?
0638nobodyさん
2007/05/08(火) 04:25:38ID:???どうどうと晒せよクズ
0639nobodyさん
2007/05/08(火) 04:35:11ID:???晒すならお前が晒せよ
0640nobodyさん
2007/05/08(火) 04:43:03ID:???0641nobodyさん
2007/05/08(火) 04:46:53ID:???0642nobodyさん
2007/05/08(火) 04:52:30ID:???Perl:漢
asp:いとこ
Ruby:ネカマ
0644nobodyさん
2007/05/08(火) 07:32:02ID:???PDO->exec()はほぼSELECT文専用。…というより、コンストラクタコールを
new PDO('sqlite:./test.db',null,null,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION))
にしとけば何が起きてもすぐ解ると思うよ。
0645632
2007/05/08(火) 08:11:02ID:???http://sakuratan.ddo.jp/uploader/source/date39691.zip がソースです
セッションの問題ということで、複数のファイルから構成されていて量があるため
見るほうの負担になるんじゃないかと思ったんですがヨロシクお願いします。
0646nobodyさん
2007/05/08(火) 10:45:51ID:???回答者に対して全部読めとかふざけてんの?
どこが関連部分かすらも分かってないからできないんじゃん
0647nobodyさん
2007/05/08(火) 10:55:59ID:???お前が抜き出せよ
0648nobodyさん
2007/05/08(火) 11:02:17ID:???おまえらが晒せっていったんだぞクズ度も!!!
いいから答えろや!!!
あ、ごめんwwwwおまえらレベルひくいんだっけ?wwwwwwwwwwwww
0649nobodyさん
2007/05/08(火) 11:41:50ID:???なんとなくPHPのバージョンが悪いんじゃないかと思う。
0650nobodyさん
2007/05/08(火) 11:46:45ID:???0652nobodyさん
2007/05/08(火) 12:55:43ID:???0653nobodyさん
2007/05/08(火) 13:53:03ID:???0654nobodyさん
2007/05/08(火) 14:10:32ID:???0655nobodyさん
2007/05/08(火) 14:36:56ID:???の違いは何でしょうか?
PHPマニュアルでは、
sprintf:フォーマットされた文字列を返す
printf:フォーマット済みの文字列を出力する
とありますが、意味がよく分かりません。
0656nobodyさん
2007/05/08(火) 14:43:43ID:???0658nobodyさん
2007/05/08(火) 14:51:18ID:???0659nobodyさん
2007/05/08(火) 15:59:29ID:???session_start()して$_SESSIONでI/Oしてるから
特に問題はなさそうな気がするけど
phpinfoでsession.save_pathってどこになってる?
そのディレクトリはちゃんと存在する?
0661nobodyさん
2007/05/08(火) 16:54:16ID:???俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
http://wwwww.2ch.net/test/read.cgi/news4vip/1178602852/
1. チリ 136,836,018
2. ポーランド 135,173,390
3. イスラエル 80,308,719
4. ★日本 71,029,997★
5. スロベニア 56,818,986
6. フィンランド 40,275,252
石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である
・戦場
http://www.clickclickclick.com/default.asp
・まとめサイト
http://www33.atwiki.jp/clickvip/
・mixi
http://mixi.jp/view_community.pl?id=2141035
0662nobodyさん
2007/05/08(火) 17:50:46ID:8RlmlJO80663nobodyさん
2007/05/08(火) 18:00:01ID:???0665nobodyさん
2007/05/08(火) 19:07:54ID:???UpLoader作成して
Upできるようにはなったんだが
ブログにリンクはるとアクセスできませんって
でるんだが
原因なにかわかりますか?
使ってるレンタルHPは
infoseek
0666nobodyさん
2007/05/08(火) 19:11:42ID:???0667nobodyさん
2007/05/08(火) 19:17:16ID:???スーパーエスパーが必要
0668nobodyさん
2007/05/08(火) 19:18:21ID:???PHPじゃなくてPerlでした
質問とりさげます
0669nobodyさん
2007/05/08(火) 19:28:20ID:???0670nobodyさん
2007/05/08(火) 19:39:36ID:???0671nobodyさん
2007/05/08(火) 19:39:38ID:???0672nobodyさん
2007/05/08(火) 20:01:07ID:???0673nobodyさん
2007/05/08(火) 20:47:26ID:T0+r/ZNAこれはプロパティとも呼ばれるもので、
クラス内のprivateメンバ変数が、外部からの操作を直接できないように、
間接的にアクセスするための仕組みなようなものという認識であっていますか?
Javaの参考サイトや、Wikipediaにはこのようなことが書かれていたのですが、
(自分勝手に解釈してる部分があるので、実際に書かれている意図とは違うかもしれません)
某PHP5の解説サイトでは、
>アクセサとは、未定義のメンバー変数やメソッドに対してアクセスがあった場合、
>あらかじめ用意しておいたメソッドを実行する機能である。
といった説明もあったりして、PHPではアクセサの意味が違うのかな?と思っています。
それとも両者とも正しい説明なのでしょうか?
OOPに詳しい方、ぜひこれぞアクセサだという説明をしていただけませんでしょうか?
よろしくおねがいします。
0674nobodyさん
2007/05/08(火) 20:50:16ID:???0675nobodyさん
2007/05/08(火) 20:57:31ID:zeXB/nU1前にどこかで見た気はするのですが…
0676nobodyさん
2007/05/08(火) 20:58:01ID:???PHPを作ってファイルをアップするとき
掲示板はどうしますか?
原因がわかりません・・・
0679nobodyさん
2007/05/08(火) 21:08:25ID:???http://jp.php.net/manual/ja/ini.core.php#ini.expose-php
0680nobodyさん
2007/05/08(火) 21:25:36ID:???結論から言うとPHPでは意味が違う。
PHPでいうアクセサはマジックメソッドの__get()及び__set()。
これらは存在しないメンバ変数をコール、
または存在しないメンバ変数に割り当てようとしたときにオートコールされるもの。
んで普通アクセサというとその認識で概ね合っている。
Javaだとアクセサとはいうもののただのメソッド
0681680
2007/05/08(火) 21:27:00ID:???Javaだと構造的にはただのメソッドと変わらないような物らしいから、
C#のプロパティとかがアクセサのイメージとしては一番近いんじゃなかろうか。
0682nobodyさん
2007/05/08(火) 21:46:16ID:???0683673
2007/05/08(火) 21:49:04ID:T0+r/ZNAどうもお答えありがとうございます。
おかげでモヤモヤがとれました。
イメージが近いとのことなので、早速C#のプロパティについても調べたいと思います。
0684nobodyさん
2007/05/08(火) 22:17:43ID:j3fFuUxd毎回そいつをいちいち書くのだるいから、
define("XYZARR",array("X","Y","Z"))ってやったけどだめだったよ。
$GLOBALS["xyz"]=array(ry とかで参照させるしかねぇのかな?
0685nobodyさん
2007/05/08(火) 22:18:28ID:???0686nobodyさん
2007/05/08(火) 22:24:17ID:???(ついでに言えばdefineのページくらい見れよ)
0687nobodyさん
2007/05/08(火) 22:24:20ID:j3fFuUxdでもdefineっぽくもっと汎用で使えないかなぁと言ってみます。
まぁ最上位のクラスのプロパティにすればほぼ問題ないだろーけど。
0688nobodyさん
2007/05/08(火) 22:26:05ID:j3fFuUxdいろんなクラスのメソッドで使ったりとか、
とにかくいろいろ用途が多いってことなんすよ。
0689nobodyさん
2007/05/08(火) 22:28:46ID:???無理やり定数やらグローバル変数で使いまわすならクラスの意味ないし
なんて言ってみるξ゚听)ξ
0690nobodyさん
2007/05/08(火) 22:30:57ID:???0691nobodyさん
2007/05/08(火) 22:31:12ID:???ありがとうございました
「これは全くセキュリティ上の脅威ではなく、サーバ上 で PHP を使用しているかどうかを調べられるようにするものです。」
と書いてるけど、
バージョン固有のセキュリティーホールが発見された時には
それなりの脅威になりますよね?
0692nobodyさん
2007/05/08(火) 22:31:43ID:aq8SRoA20693nobodyさん
2007/05/08(火) 22:33:51ID:???0694nobodyさん
2007/05/08(火) 22:36:30ID:???http://bugs.php.net/
0695nobodyさん
2007/05/08(火) 22:36:39ID:j3fFuUxd値をうにょうにょ変えていく存在という感じがする。
initVarとかsetVarとか汎用で作ってさ。
不動なものはもっとdefineみたいにどっしり構えてほしかったのさ。
0696nobodyさん
2007/05/08(火) 22:42:52ID:???勝手なイメージで開発て
0697nobodyさん
2007/05/08(火) 22:49:32ID:???なんていうか無理してクラス使う必要ないんじゃね?
0698nobodyさん
2007/05/08(火) 22:50:05ID:j3fFuUxd固定された値のくせにオブジェクトの数だけメモリにのっちまうだろ?
やっぱり設計としてどーかと思う。
0699nobodyさん
2007/05/08(火) 22:55:13ID:???お勧めしない
ID:j3fFuUxdの気持ちはわかる
匿名関数がカスでアクティベーションできないから、処理を小分けにしにくい
0700nobodyさん
2007/05/08(火) 23:15:53ID:j3fFuUxd以下のうちどの設計が最善でしょうか?
1.arrayぐらい毎回書く
2.毎回メモリにのるけど大した量じゃないしメンバで。
3.$GLOBALSにいれる。めんどくささは1と大差ない気がする。
ちなみにオブジェクト30個ぐらい扱って計算させてます
0701nobodyさん
2007/05/08(火) 23:25:11ID:???0702nobodyさん
2007/05/08(火) 23:27:08ID:j3fFuUxd3次元座標系の粒子の処理を得意だったPHPで書こうかなーと。
0703nobodyさん
2007/05/08(火) 23:29:35ID:???どういうオブジェクト設計になってるのかも教えてくれたほうが適切なアドバイスができる気がする
0704nobodyさん
2007/05/08(火) 23:36:46ID:j3fFuUxdデザインパターンとかはわからないんで、長々とありのままを書くと、
とりあえず最上位には二つのクラス。
objectクラスとobjecthandlerクラス。handlerは複数のオブジェクトの処理や、
データファイルから読みだすときに使うクラス。
objectクラスの下にcoordinateクラスがあり、座標の処理をしている。
スカラー倍とか。
複数データの座標処理にはcoordinatehandlerていうクラスもある。
二点の距離や三点の角度などはここ。
で、それらの下にatomクラスとatomhandlerクラスがあって、
粒子の各プロパティもメンバ変数に入る、という設計。
見当違いだったらごめん。
0705nobodyさん
2007/05/09(水) 00:42:20ID:???0706nobodyさん
2007/05/09(水) 01:41:53ID:???>1から100までの数をプリントするプログラムを書け。
>ただし3の倍数のときは数の代わりに「Fizz」と、
>5の倍数のときは「Buzz」とプリントし、
>3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
どうしてプログラマに・・・プログラムが書けないのか?
http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
0707nobodyさん
2007/05/09(水) 01:53:48ID:???foreach(range(1,100) as $i) {
$p = '';
if(! ($i % 3)) $p .= "Fizz";
if(! ($i % 5)) $p .= "Buzz";
print (($p)? $p: $i) . "\n";
}
0708nobodyさん
2007/05/09(水) 01:58:17ID:???if ($a = $i % 3 == 0) echo 'Fizz';
if ($b = $i % 5 == 0) echo 'Buzz';
if (!$a && !$b) echo $i;
echo '<br/>';
}
最後のやつが厄介だね
0709nobodyさん
2007/05/09(水) 02:01:52ID:???$str = $i;
if($i % 3 == 0) $str = "Fizz";
if($i % 5 == 0) $str = "Buzz";
if($i % 3 == 0 && $i % 5 == 0) $str = "FizzBuzz";
echo "$str<br>\n";
}
0710nobodyさん
2007/05/09(水) 02:21:31ID:???もっとシンプルにできると思うのだが
0711nobodyさん
2007/05/09(水) 02:26:42ID:???0712nobodyさん
2007/05/09(水) 02:28:08ID:???明日答えをかいてやる
0713nobodyさん
2007/05/09(水) 02:28:27ID:???0714nobodyさん
2007/05/09(水) 02:28:56ID:???0716nobodyさん
2007/05/09(水) 02:29:37ID:???0717nobodyさん
2007/05/09(水) 02:30:47ID:???0718nobodyさん
2007/05/09(水) 02:31:53ID:???0719nobodyさん
2007/05/09(水) 02:33:33ID:???要領悪いな
0720nobodyさん
2007/05/09(水) 02:38:40ID:???foreachでもいいけど
0721nobodyさん
2007/05/09(水) 02:44:36ID:???for ($i = 1; $i <= 100; $i++) {
 if ($i % 3 == 0 && $i % 5 == 0) {
   echo 'FizzBuzz';
 } elseif ($i % 3 == 0) {
   echo 'Fizz';
 } elseif ($i % 5 == 0) {
   echo 'Buzz';
 } else {
   echo $i;
 }
}
0722nobodyさん
2007/05/09(水) 02:48:31ID:???可読性やスピードに注意を向ければよろし
0723nobodyさん
2007/05/09(水) 02:50:23ID:???そもそも「プログラムが全く書けない応募者」をフィルタするための問題だから
そこに高度さは必要ないだろ…
何で無駄ハック大会みたいになってんだよ
0724nobodyさん
2007/05/09(水) 02:51:40ID:???3と5の倍数判定でそれぞれフラグをセットして、両方がtrueならFizzBuzz
0725nobodyさん
2007/05/09(水) 02:51:42ID:???というかそもそも本当の話なのか…?
日本でもそんなもんなん?
0728nobodyさん
2007/05/09(水) 03:02:31ID:???日本では英文科出ても英語はなせない、技術系の専攻でもプログラム書けないなんてよく聞くけど。
卒業の厳しいアメリカではそんなことないのかと思っていたが違うんだな。
0729nobodyさん
2007/05/09(水) 03:05:12ID:???0731nobodyさん
2007/05/09(水) 03:18:09ID:???もし書ける人いたら今後の参考に使いたいからよろしゅう。
0732nobodyさん
2007/05/09(水) 03:20:33ID:???オナニープログラマーはいらん
0733nobodyさん
2007/05/09(水) 03:22:33ID:???0734nobodyさん
2007/05/09(水) 03:23:28ID:???ほい
$nums = range(1,1000);
if ($a = $nums[0] % 3 == 0) echo 'Fizz';
if ($b = $nums[0] % 5 == 0) echo 'Buzz';
if (!$a && !$b) echo $nums[0];
echo '<br/>';
if ($a = $nums[1] % 3 == 0) echo 'Fizz';
if ($b = $nums[1] % 5 == 0) echo 'Buzz';
if (!$a && !$b) echo $nums[1];
echo '<br/>';
if ($a = $nums[2] % 3 == 0) echo 'Fizz';
if ($b = $nums[2] % 5 == 0) echo 'Buzz';
if (!$a && !$b) echo $nums[2];
echo '<br/>';
:
:
以下$num[999]までやればおk
0735nobodyさん
2007/05/09(水) 03:25:52ID:???0736nobodyさん
2007/05/09(水) 03:28:09ID:???素直になれよ
そして四つんばいになれよ
0737nobodyさん
2007/05/09(水) 03:31:23ID:???カウンタを何種類か持たせて0判定の方が速そう
0738nobodyさん
2007/05/09(水) 03:34:25ID:???速いかとか効率いいかは分からんけど違う手法でやってみるのも面白そうね
0739nobodyさん
2007/05/09(水) 03:50:10ID:???$expr = '';
for ($i = 1; $i <= 100; $i++) {
$expr .= <<< TEXT
if (¥$a = $i % 3 == 0) echo 'Fizz';
if (¥$b = $i % 5 == 0) echo 'Buzz';
if (!¥$a && !¥$b) echo $i;
echo '<br/>';
TEXT;
}
eval($expr);
0740nobodyさん
2007/05/09(水) 03:51:09ID:???0741nobodyさん
2007/05/09(水) 05:43:07ID:???for ($i = 1; $i <= 100; $i++, $s = ($i % 3 == 0) ? "Fizz" : "", $s .= ($i % 5 == 0) ? "Buzz" : "", $s = ($s != "") ? $s : $i) echo $s."<br>\n";
0742nobodyさん
2007/05/09(水) 05:45:53ID:???ああ、なるほど。こういう人が>>706のリンク先で書かれてる
> 自称上級プログラマが答えを書くのに10-15分もかかっているのを見たこともある。
という現場で使い物にならないバカちんなんだ。
まさかそんな人が…と思ったが実によく理解できた。
0746nobodyさん
2007/05/09(水) 06:25:39ID:???0747nobodyさん
2007/05/09(水) 06:43:56ID:6zAvWwo5いい方法ないですか?
0749nobodyさん
2007/05/09(水) 06:58:24ID:???カウントするだけのために配列作ること自体がセンスない
0750nobodyさん
2007/05/09(水) 07:34:19ID:???0751nobodyさん
2007/05/09(水) 08:54:57ID:MkwX/1Mg現在はまた関数をチェックしてテストしてる段階なのですが、例えば、
1 簡単なスクリプトでヘッダ一覧を取得してみる→既読フラグは0
2 別のスクリプトで本文を取得してみる→オプションを指定しない場合既読フラグがつくはず
3 もう一度ヘッダ取得→既読フラグは0のまま
4 意図的にフラグをつけてみる→imap_setflag_full前後で既読フラグは0→1に変わったのを確認
5 もう一度ヘッダ取得→既読フラグは0のまま(0に戻ってる?)
ブラウザからの操作なので履歴が表示されているのかとも疑ったのですが、そうではないようです。
メールボックスがある鯖の設定も関係してるのか・・・一応複数のメールボックスで試したのですが。
上記のような手順でつけたフラグって固定しないもんなんでしょうか。。
0753nobodyさん
2007/05/09(水) 09:06:58ID:izHSsw10htmlspecialchars($str, ENT_QUOTES)かけると
< → &lt; → &amp;lt;
って当然なっちゃうんだけどサニタイズ済みの時は弄らないにはどうすればいいの?
0754751
2007/05/09(水) 09:40:37ID:MkwX/1Mg明示的な更新はしていません。
オプションで「更新しない」を指定できるのを確認してるので
特に指定しなければ更新されるはずだと思っているのですが・・
>>753
自前で処理するしかないんじゃないですかね。
&で分割して、各要素にhtmlspecialchars()をかけ、&をつけて文字列に戻す、みたいな。
0755nobodyさん
2007/05/09(水) 09:45:30ID:???PHPの処理をPOP3のコマンドの対応を考えてみる。
なにか不足してないか?
まあ、ソースを晒さずにどこまで進むか試してみようw
0756nobodyさん
2007/05/09(水) 10:15:42ID:???エスケープされたログとされていないログが混在しているのなら、
ログにエスケープするという、仕様を変えたほうが
良いと思う
0757虚弱PHP
2007/05/09(水) 10:51:14ID:???一番の問題は「もとのログがサニタイズされたりされなかったりしてるデータ」があるってことだね。
教科書通り、高木氏からサニタイズいうなって言われる状態。
htmlspecialchars_decode を使って一度サニタイズ前のデータに戻してから、
htmlspecialcharsすればいいんじゃあるまいか。
0758nobodyさん
2007/05/09(水) 12:00:42ID:QoYhDnaMURLに直接アクセスしたらメールが送信されるわけで
いたずらなどされないか心配です。
この場合、連続送信の対応はどうしたらいいのでしょうか?
クッキーを発行して制御する方法で良いのでしょうか?
0759751
2007/05/09(水) 12:09:45ID:MkwX/1Mgありがとうございます。レス遅れてすみません。
しばらく調べていたのですがやはり・・
ソースはあまりに単純なんでアレですが以下です。
お手数おかけしますm(_ _)m
no=1のメールに既読フラグをつけるスクリプト(部分)
$mb = imap_open(MAILBOX, USER, PASS); #接続
imap_setflag_full($mb, 1, "\\Seen"); #1番目のメールに既読フラグ
$ov = imap_fetch_overview($mb, 1); #1番目のメールヘッダ取得
echo $ov[0]->seen; #既読フラグの有無を表示
imap_close($mb); #クローズ
表示は「1」(既読フラグがつけられた)
次にヘッダ一覧取得のスクリプト(部分)
$mb = imap_open(MAILBOX, USER, PASS); #接続
$ov = imap_fetch_overview($mb, 1); #1番目のメールヘッダ取得
foreach($ov as $key => $value)
echo $key . ":" . $value . "\n";
一覧が表示されるが既読フラグ部分は「seen:0」になっている。
これだけです・・
ヘッダやフラグの取得以外に、メールの削除などはうまくできています。
あと今更ですが環境はphp5とwindowsですm(_ _)m
0762nobodyさん
2007/05/09(水) 12:33:07ID:???スパム業者の方ですか?
ローカルからのアクセスかどうかをチェックする機能を付け加えるべし。
>>761
どの場所においてもcronなんて使えるわけだが。
0763nobodyさん
2007/05/09(水) 12:57:38ID:???0764nobodyさん
2007/05/09(水) 13:31:14ID:???unlink使うと、Permission deniedエラーがでます。
htdocsに直接ファイルおいて、読み取り専用のチェックも外してるのですが、なぜ解決できないのかわかりません。
0766764です
2007/05/09(水) 13:43:38ID:5TpInCe7$filepointertmp = fopen("php_dailylog.tmp","w");
flock($filepointer, LOCK_SH);
flock($filepointertmp,LOCK_EX);
fputs($filepointertmp,$time.$dailylog. "\n");
while($row=fgets($filepointer)){
fputs($filepointertmp,$row);
}
flock($filepointer, LOCK_UN);
flock($filepointertmp, LOCK_UN);
unlink("php_dailylog.dat");
rename("php_dailylog.tmp","php_dailylog.dat");
fclose("php_dailylog.dat");
こんなかんじです。
0767nobodyさん
2007/05/09(水) 13:48:20ID:???unlink(ry
0768764です
2007/05/09(水) 14:04:07ID:???ありがとう御座います。
unlinkのエラーは消えたのですが、以降のエラーがでて、鯖が固まってしまいました(ノ_-;)
修行してきます
0769nobodyさん
2007/05/09(水) 14:26:01ID:???mb_language("Japanese");
mb_internal_encoding("SJIS");
$name = $_POST["name"];
$mail = $_POST["mail"];
$message = $_POST["message"];
$from = "From: " . $name . "<" . $mail . ">";
mb_send_mail($mailto, $subject, $message, $from);
これでいいと思うのですが、送信する前に print $from; をしてみると
<$mail>が表示されないのです。
送信されたメールの送信元は<$mail>になってるいるのですがそういう仕様なのでしょうか?
それと、半角のみの投稿をさせない場合に文字数とバイト数を比較する方法というのを見たのですが
if(strlen($message) == mb_strlen($message)){ exit; }
とすれば大丈夫でしょうか?
0770nobodyさん
2007/05/09(水) 14:48:16ID:???print $from;で表示されないのはわかりませんが
送信されたメールで$nameが表示されないのは
日本語に対してMIMEエンコーディングしてないからじゃない?
$name = mb_encode_mimeheader($name);
半角チェックはただexit()ってのも冷たい気がするけど
構文的にはそれでもよいのでは。
0771761
2007/05/09(水) 15:05:57ID:???いやいや
cron使ってわざわざhttpサーバにアクセスするのも変じゃない
普通素直にスクリプト起動するだけだからなぜURLにと思ったの
0772nobodyさん
2007/05/09(水) 15:25:38ID:???レンタルサーバならそういう事情もあるでしょ。
public_html以下しか接続許可していないサーバも存在するだろうし。
cronが使えるようなサーバがそんな気の利かない設定するわけないけど。
0773nobodyさん
2007/05/09(水) 16:27:05ID:???エンコードすると中身はISOなんたらかんたらとなって
人が理解できないようなものになるのはこれで正しいですか?
後、exit()だけなのは手っ取り早く1行で抑えたかったのでこの書き方になりました。
0774nobodyさん
2007/05/09(水) 16:32:08ID:???むりですか?
0775774
2007/05/09(水) 16:32:49ID:D8ftPzG/やっぱりlinux上できかできないのかな\\\
0777nobodyさん
2007/05/09(水) 16:45:11ID:???0778nobodyさん
2007/05/09(水) 16:51:54ID:D8ftPzG/XPのOS再インストールがおわったらためしてみます
0779nobodyさん
2007/05/09(水) 16:55:58ID:???0780爆音で名前が聞こえません
2007/05/09(水) 17:20:39ID:xxzAywl/$name[1] = "satou tarou";
$name[2] = "tanaka zirou";
とします
それぞれにログインネーム(氏を使用、同じ苗字は数字で区別)を作成したくて
以下の関数を作成しました
function mk_login_name($name){ //forで人数分回す、引数は$name[$i]
$split_name = explode(" ", $name);
$login_name = $split_name[0]; //スペースで分割して一つ目(氏)をログインネーム候補に
$count[$login_name]++; //連想配列でログインネーム候補をカウント
echo $count[$login_name]; //カウントのテスト表示
if($count[$login_name] >= 2) //2回目以降のカウントがあった場合には氏の後にカウント数を付ける
$login_name = "$login_name"."$count[$login_name]";
return($login_name);
}
$name[2]が入った時は$count[$login_name]が2になってログイン名がtanaka2になると思ったら
カウントテストは全て1でした
どこがおかしいのでしょうか?
0781753
2007/05/09(水) 17:30:07ID:izHSsw10ログ読む時に全部デコードして表示時にエンコードするっていう一番の基本線が
確実ですね そうすることにします
ありがとうございました
0782nobodyさん
2007/05/09(水) 17:33:00ID:???1回のリクエストの中でそのカウント方式が完結するなら、関数内の初めの部分に
static $counter = array();
をして、$count[$login_name]++;の部分を
if (isset($count[$login_name])) {
$count[$login_name] = 0;
} else {
$count[$login_name]++;
}
に変える。
0783nobodyさん
2007/05/09(水) 18:02:24ID:???>これでいいと思うのですが、送信する前に print $from; をしてみると
><$mail>が表示されないのです。
単に、HTMLの要素カッコとしてブラウザが認識してるだけでしょ。
0785爆音で名前が聞こえません
2007/05/09(水) 18:30:18ID:xxzAywl/試してみましたがログインネームはtanaka, satou, tanakaでした
for($i = 0; $i <= 2; $i++){
$login_name[$i] = mk_login_name($name[$i]);
}
↑のように人数分関数を動かしてその間中カウントしたいのですが
1回のリクエストの中でそのカウント方式が完結してよいのでしょうか…?
0786爆音で名前が聞こえません
2007/05/09(水) 18:36:00ID:xxzAywl/すいません、解決しました
カウント部分は未変更で意図した結果になりました
0787782
2007/05/09(水) 18:38:25ID:???×static $counter
○static $count
つーか、1回のリクエストの中でカウント方式が完結したら、普通はダメだわな。
どんな仕様・設計にしてるか知らんが。
0788nobodyさん
2007/05/09(水) 19:07:52ID:???<?php
function showString($value, $num, $delim){
for($i=1;$i<=$num;$i++){
print($value.$delim);
}
}
showString('だるまさんが転んだ!',5,<br />');
?>
と入力したら真っ白(エラーなんたらも無し)になったけど
Why?
0789nobodyさん
2007/05/09(水) 19:13:30ID:???0790nobodyさん
2007/05/09(水) 19:15:26ID:???つか<br />'の前に'が無いんだが
これが原因だったら2chに書き込む前に5分考えろ
0792nobodyさん
2007/05/09(水) 19:32:36ID:???0794nobodyさん
2007/05/09(水) 22:55:53ID:???ttp://b.hatena.ne.jp/entry/http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
0795764です
2007/05/09(水) 23:09:58ID:zHM/pvx9$string = "http://abc.com/とhttp://abcd.com/";
print(mb_eregi_replace('(http://|https://)[a-z0-9./_\-]+','<a href="\0">\0</a><br/>',$string);
で、http://abcd.com/がリンクされません。二回目以降どうすればいいのでしょうか?
0797nobodyさん
2007/05/09(水) 23:20:52ID:???0798nobodyさん
2007/05/09(水) 23:21:11ID:???最短解はこの辺?
$i=0;while($i<100)echo(++$i%15?($i%5?($i%3?$i:"Fizz"):"Buzz"):"FizzBuzz")."\n";
1byteでも短くするなら少々反則を入れて
while($i<100)echo(++$i%15?($i%5?($i%3?$i:Fizz):Buzz):FizzBuzz)."\n";
剰余計算なしの手法としてはこの辺りか。
$s = array(0,0,1,0,2,1,0,0,1,2,0,1,0,0,3);
$f = array("%d","Fizz","Buzz","FizzBuzz");
$i = 0;
while($i <100) printf($f[$s[$i%15]]."\n", ++$i);
0799nobodyさん
2007/05/09(水) 23:24:05ID:???ついにオナフォールを買ってしまった・・・
風俗には今まで全然いったこと無かったのに
何でいきなりオナフォール・・・
まだ風俗の方が健全な気がするぜ!
0800799
2007/05/09(水) 23:26:39ID:???うわがああああああ忘れてくれええええええええええええええ
0801nobodyさん
2007/05/09(水) 23:27:11ID:okhokTRPインストーラーなんて元々ないんだけど?
0802nobodyさん
2007/05/09(水) 23:29:36ID:???0803nobodyさん
2007/05/09(水) 23:33:30ID:???MySQLとApacheのインストーラなしって
Windowsであるの?
0804nobodyさん
2007/05/09(水) 23:34:33ID:???0805nobodyさん
2007/05/09(水) 23:39:16ID:okhokTRP0806nobodyさん
2007/05/09(水) 23:55:24ID:???ビルドするかmsiを展開できるツール使えばできそうだが
0808nobodyさん
2007/05/10(木) 00:28:42ID:i4wrMZ/Qhogehoge.com/ほげほげ
等、URIに日本語を直接記述していますが、
何故URLエンコードしなくても問題が起こらないのでしょうか?
0809nobodyさん
2007/05/10(木) 00:32:52ID:???0810nobodyさん
2007/05/10(木) 00:37:19ID:???あるじゃん
http://brandleadershipmarketing.com/apache/
つかサービス登録してくれてApache Monitor入れてくれるくらいの違いしかないだろが,インストーラ
0811nobodyさん
2007/05/10(木) 00:38:11ID:???FireFoxだと日本語で入力しても表示されない
0813795
2007/05/10(木) 01:15:59ID:???$string = "http://abc.com/とhttp://abcd.com/";
while(mb_eregi('(http://|https://)[a-z0-9./_\-]+',$string)){
$string = mb_eregi_replace('(http://|https://)[a-z0-9./_\-]+','<a
href="\0">\0</a><br/>',$string);
0814nobodyさん
2007/05/10(木) 01:23:06ID:qTUopfwt何がしたいの?
URLにリンク貼るだけならwhileいらなくね?
二回目以降って何の二回目以降?
目的がわからないから答えようないよ
0815nobodyさん
2007/05/10(木) 01:50:15ID:???$code = "
var a = \"abc\";
";
いちいち"や'に気を遣うのが嫌になりました
0816nobodyさん
2007/05/10(木) 01:54:17ID:qTUopfwtEOF;
0817nobodyさん
2007/05/10(木) 02:09:35ID:ucjeMPs6「&」を区切り文字としないで、
GET引数の数を1つに固定…なんて事はできるんでしょうか?
とりあえず.htaccessで以下のように書いて回避しています。
php_value arg_separator.input "\"
"\"にしたのは、RFC2396読んで多分URLには使われないだろう踏んだからなんですが。
(参照元:http://jbpe.tripod.com/rfcj/rfc2396.ej.sjis.txt)
この回避策に関しての欠点、もしくは他に良い方法などありますでしょうか。
0819817
2007/05/10(木) 03:05:09ID:ucjeMPs6GET引数に指定したURLをfile_get_contents()で読み取って、
中身を若干加工等して出力しようと考えてます。
イメージはこんな感じ。
http://www.hoge.com/index.php?url=http://www.piyo.com/
例として、以下のような「&」を含んだURLを引数にした場合に
「&」で区切られてしまい、file_get_contents()では
「&」の直前までのパスしか取得できません。
http://www.hoge.com/index.php?url=http://piyo.com/index.php?name=2ch&type=bbs
… echo $_GET['url']; の結果
理想:http://piyo.com/index.php?name=2ch&type=bbs
現実:http://piyo.com/index.php?name=2ch
これを、なんとか簡潔に解決できないかなと考えています。
0820nobodyさん
2007/05/10(木) 03:18:49ID:???どういう実装を想定してるのかわかんないけど。
?url=http%3A%2F%2Fpiyo.example.com%2Findex.php%3Fname%3D2ch%26type%3Dbbs
として渡す。
echo urldecode($_GET['url']); // 'http://piyo.example.com/index.php?name=2ch&type=bbs'
0822nobodyさん
2007/05/10(木) 04:44:47ID:???>>820に補足。自分でURLを生成する(a要素のhref属性値に埋め込むなどの)ような場合は、
urlencodeを使うといい。
urlencode('http://www.hoge.com/index.php?url=http://piyo.com/index.php?name=2ch&type=bbs')
→http%3A%2F%2Fwww.hoge.com%2Findex.php%3Furl%3Dhttp%3A%2F%2Fpiyo.com%2Findex.php%3Fname%3D2ch%26type%3Dbbs
これをurldecodeに通してみたらお望みのものが得られる。
もしもブラウザのGETメソッド経由のフォームで得るのであれば、
ブラウザがurlencode相当の処理をしてサーバにリクエストを投げてくるので、
それを適当に処理すればよろしい。
0823nobodyさん
2007/05/10(木) 05:03:39ID:???$string = "http://abc.com/とhttp://abcd.com/";
$string = preg_replace('/(https?|ftp)(:\/\/[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/', '<a href="\\1\\2">\\1\\2</a>', $string);
echo $string;
0824nobodyさん
2007/05/10(木) 06:27:37ID:???迅速なアップデートを! セキュリティ対策が施されたPHP 5.2.2/4.4.7リリース
アップデートが面倒くさいのですが
やはりアップデートすべきでしょうか?
0825nobodyさん
2007/05/10(木) 06:36:04ID:???デバッグにしか使わないなら別にアップデートしなくていい。
0826nobodyさん
2007/05/10(木) 10:36:30ID:???FAQを読まない馬鹿はいらない子です。
>>824
MOPBで指摘された致命的なバグの修正版だから、
公開してるならアップデートしておかないとクラックされる可能性が高くなる。
0827nobodyさん
2007/05/10(木) 11:11:27ID:???0828nobodyさん
2007/05/10(木) 12:03:12ID:p6e8Tgawやはりストリームをクローズしてしまうとフラグはクリアされてしまいます。
オープンしたままであれば維持されているのは確認できたのですが。
明示的にフラグを固定するような関数もないと思いますが
これが通常の動作ということなんでしょうか。
自分がこの質問で書き込みしたのは以下です。
>>751 >>744 >>759
0829nobodyさん
2007/05/10(木) 12:32:25ID:???おまえが設定したとおり、おまえが書いたコードのとおりの結果が生まれるだけ
0830nobodyさん
2007/05/10(木) 12:43:37ID:???imap_segflag_full関数マニュアルの
User Contributed Notesぐらい読んでこいよ。短い英語ぐらい読めるだろ?
0831828
2007/05/10(木) 13:00:45ID:p6e8Tgawデフォルトの動作って書けばよかったの?
>>830
レス番はタイプミスです。気づくと思ったんで。
でもありがとう。
0832nobodyさん
2007/05/10(木) 13:47:49ID:AA4DnND/0833nobodyさん
2007/05/10(木) 13:50:58ID:???0834nobodyさん
2007/05/10(木) 14:32:51ID:AA4DnND/友達にRUBYやれっていわれて・・・
簡単だからできるっていわれたんですけどぼくはPHPがやりたいんです。
でもともだちにそのことを話したらPHPなんてやめろ!っていわれて・・・
RUBYとPHPが共存できれば友達が家にきたときごまかせるのでどうにかできないでしょうか?
0835nobodyさん
2007/05/10(木) 14:38:55ID:???0836nobodyさん
2007/05/10(木) 14:57:44ID:???考え直したほうがいいよ。
0837nobodyさん
2007/05/10(木) 15:03:51ID:???08381
2007/05/10(木) 15:18:45ID:???0839虚弱PHP
2007/05/10(木) 15:30:00ID:???コマンドのやり取りをダンプしてみたらどうだろう?
通常のメーラーとかと比較。
>>832
できます。JavaともPerlとも…できます。
0840nobodyさん
2007/05/10(木) 17:14:41ID:???PHPコードよりむしろ、メールボックスをSELECTしたときのPermanentflagsの応答とか、
サーバ実装とか、他のIMAPクライアントで同じアカウントにログインしたときに、
問題のメールボックスに永続フラグが立てられるかをチェックしたら?
もうやってたらごめんよ。
0841nobodyさん
2007/05/10(木) 18:10:19ID:AA4DnND/0842nobodyさん
2007/05/10(木) 18:22:02ID:???0843nobodyさん
2007/05/10(木) 18:32:30ID:W08nRCtO(http://jp2.php.net/manual/ja/ref.imagick.php)
http://jp2.php.net/downloads.php
からPECLのDLL落としてインストールし、
phpinfo()やextension_loaded()でImageMagickがロードされていることも確認できるのですが、
各関数を使おうとするとundefined functionと言われます。
念のためget_defined_functions()も見てみましたが、Imagick関数はありませんでした。
インストールしたImagickはバージョン2.0.0-alphaですが、リファレンスの関数は使えないんでしょうか?
どなたかご存知の方教えてください。
ちなみにApacheのバージョンは2.2、PHPは5.2.2です。
0844nobodyさん
2007/05/10(木) 18:40:20ID:???0845nobodyさん
2007/05/10(木) 19:55:34ID:???知らないなら黙ってろっつーの
レスするのは知ってる人だけにしてね
0846nobodyさん
2007/05/10(木) 20:02:30ID:wqFHIkoe0847nobodyさん
2007/05/10(木) 20:27:26ID:Pz7PaIDgそれで調べつつ何となく画像の出力として
//index.htmlのカウンター表示用ソースとします。
<img src="counter.php">
//仮にcounter.phpのソースとします。
header("Content-type: image/gif");
readfile("0.gif");
みたいな感じで画像は表示できることは分かりました。
それなら、カウント値に応じて0.gifになっているところを桁数・数字にあった画像
にしていけば表示されるだろう、っと思っていたのですが、
この状態でどうやって複数の数字画像を結合してカウンターとして表示させる
のかが分かりません。readfileを複数追記すれば良いわけでもないし。。
なにかヒントを教えていただけないでしょうか?
0848nobodyさん
2007/05/10(木) 20:35:42ID:???0849847
2007/05/10(木) 20:39:12ID:???GDって外部画像の結合出来るんですか?
今やってるのは、DBに登録されているカウント値を
GD生成して出力していますが・・。
0850nobodyさん
2007/05/10(木) 20:51:29ID:???0851847
2007/05/10(木) 20:57:55ID:???0852nobodyさん
2007/05/10(木) 21:30:14ID:gqRdAlOpスクリプトですると、全ページにincludeしなきゃいけないよね
0853845
2007/05/10(木) 21:31:12ID:???0854nobodyさん
2007/05/10(木) 21:34:57ID:???こちらへ移動よろ
http://life8.2ch.net/utu/
0855nobodyさん
2007/05/10(木) 21:51:44ID:???http://life8.2ch.net/test/read.cgi/yume/1178723880/
>>852
DirectoryIndex access.php
RedirectMatch 301 ^/. /
出された要件をそのまま書いたらこうなった。
0856nobodyさん
2007/05/10(木) 22:33:33ID:gqRdAlOpそのまま書いてクリックしたら
headerでリファラにLocationされたみたいにアクセスできないwwww
0857nobodyさん
2007/05/10(木) 22:33:49ID:???function hoge($a,$b){
return($a,$b);
}
とするとエラーになりますが、引数を配列にするしか無いですか?
0858nobodyさん
2007/05/10(木) 22:39:06ID:???0859855
2007/05/10(木) 23:02:56ID:???リダイレクトがループしますから。ていうか、ネタなので試さないでください。
期待してる動作が「全ページでinclude('access.php')と等価」だったら
mod_layout で調べてみて。あと、あなたも俺もスレ違い。
0860nobodyさん
2007/05/10(木) 23:04:51ID:rnaMytAr0861nobodyさん
2007/05/10(木) 23:08:38ID:???0862nobodyさん
2007/05/10(木) 23:09:27ID:???そのままってのがよくわからんが、
print_rとかvar_exportとかvar_dumpとかで構造を見ることはできる。
0863nobodyさん
2007/05/10(木) 23:36:14ID:???黙って質問に答えるだけでいいのに・・・
0866nobodyさん
2007/05/10(木) 23:57:31ID:???0867nobodyさん
2007/05/11(金) 00:00:32ID:???0868nobodyさん
2007/05/11(金) 00:26:20ID:???0869nobodyさん
2007/05/11(金) 00:32:02ID:???0870nobodyさん
2007/05/11(金) 00:44:42ID:???流したいレスがあるん?
0871nobodyさん
2007/05/11(金) 00:49:16ID:???0873843
2007/05/11(金) 00:53:44ID:x3XoGdaGちなみにマルチでもありません。他のどこに書いているのか教えてほしいくらいです。
0874nobodyさん
2007/05/11(金) 00:56:24ID:???0875nobodyさん
2007/05/11(金) 04:41:54ID:uio3xUyZ誰もがURL(自動判定)、文字列などを投稿できるサイトで
アダルトサイトなどの宣伝スパム、海外からのスパムや連続投稿などに対する有効な対策にはどのようなものがあるんでしょうか?
半角のみは禁止、連続投稿には間隔制限を設ける、リンクに飛ぶ前には確認ページを割り込ませる などは
思いつくのですが、日本語含む荒しやアダルトサイトのスパムは、やはり削除人による手作業での削除+アク禁しかないのでしょうか?
0877虚弱PHP
2007/05/11(金) 09:10:52ID:???全ページにインクルードでいいなら、
http://www.php.net/manual/ja/ini.core.php#ini.auto-prepend-file
でできるらしいよ。
0878nobodyさん
2007/05/11(金) 14:07:48ID:???captchaはユーザ側の負担が高くなるから考えもの。
それらの対策+海外からの投稿遮断+プロキシ遮断。
これだけやれば海外国内からのスパムもほぼなくなる。
あとメジャーなスパム業者はあちこちでリスト化されてるんで、
それを使用してアクセス禁止にしたりする。
0879nobodyさん
2007/05/11(金) 14:09:24ID:H2TAWwyNHTMLでonClick→JSファイルでphpファイルを読み込む→phpで処理→HTMLに表示
ってな流れにしたいわけですがどうも上手くいきません。
JSファイル
function test() {
<script type="text/javascript" src="test.php"></script>
/* ここに document.write("aaa"); って書き込んだ場合は普通に処理された */
}
phpファイル test.php
<?php
header("Content-type: application/x-javascript");
echo "document.write('aaa')";
?>
これだと表示されませんでした。
0880nobodyさん
2007/05/11(金) 14:18:41ID:???0882nobodyさん
2007/05/11(金) 14:26:30ID:???0883nobodyさん
2007/05/11(金) 14:27:12ID:H2TAWwyNありがとうございます。
Ajaxの方で聞いてきます。
0885nobodyさん
2007/05/11(金) 14:29:21ID:DseW4RFSどこをいじれば英語表記になるのでしょうか?
for ($i=0; $i<12; $i++)
{
$date = date('F')+$i;
echo $date. "<br>";
}
0886nobodyさん
2007/05/11(金) 14:36:45ID:DseW4RFSお騒がせいたしました
0887nobodyさん
2007/05/11(金) 16:17:35ID:eSXQ88HVFunctionとか作って幾つかの処理をしたい場合って
1つのFunctionに引数増やしていくのと
別Functionを作ってネストするのとどちらがスマートだと思いますか?
0888nobodyさん
2007/05/11(金) 16:18:47ID:???0889nobodyさん
2007/05/11(金) 16:32:30ID:???いくつかの処理をしたいなら分けろ。
0891nobodyさん
2007/05/11(金) 18:03:39ID:4lY6Zxspphpの入門書読んでるんだけど基本の理解中にコイツが入り込んできてて
凄い邪魔くさい
データ構造とかをまず理解したいのに
0892nobodyさん
2007/05/11(金) 18:19:17ID:???そんなの真面目に覚えてるやついないから問題ない。
0893nobodyさん
2007/05/11(金) 18:21:13ID:???0894nobodyさん
2007/05/11(金) 18:24:32ID:v0UZKGOpPHP5なら$count引数があるようですが、私の環境はPHP4です。
0895nobodyさん
2007/05/11(金) 18:29:20ID:???preg_match使えば?
0897nobodyさん
2007/05/11(金) 18:36:34ID:???0899nobodyさん
2007/05/11(金) 18:57:57ID:v0UZKGOp0901nobodyさん
2007/05/11(金) 18:59:48ID:???0902nobodyさん
2007/05/11(金) 19:51:00ID:???データ構造ってのは、ヤフーのジャンル>小ジャンルみたいな階層構造の
ことで、今使ってる本に載ってるんです。DBと連動して自動的に一覧を生成する、みたいな。
自分の頭で考えてもできそうなんですけど、一応本を読んでみようとすると、
「これっているのかよ?」って感じのSmartyが組み合わされてるんで妙にソースが
分断されて逆に判りにくいっていう…
無視して仕様部分だけ参考に自分で作ることにしました
PEARは役に立ちそうだから覚えます。。
>>892-893
ありがとうです
0903nobodyさん
2007/05/11(金) 20:59:33ID:???フレームワークというの使い方を覚えるようになればなんだっていいんだよ最初は
0904nobodyさん
2007/05/11(金) 21:17:09ID:???使わなくても結局モデル(各処理)の下にPHP変数加えたHTML書くんじゃね?
echo '<p>なんたら</p>'; とかの方がいいってことか?
0906nobodyさん
2007/05/11(金) 21:28:02ID:???0907nobodyさん
2007/05/11(金) 21:29:33ID:???0908nobodyさん
2007/05/11(金) 21:35:05ID:0VNNrODg主キーを通し番号にしたいですが、やり方が分かりません。
UPDDATEで変更しようにも、WHEREでレコードを指定できないため、
途方に暮れています。
どなたかよろしくお願い致します。
PHPのバージョンは、5.0.4です。
0909いつもの人 ◆3Htx6mDqZs
2007/05/11(金) 21:43:41ID:???もしくは
SELECT * FROM my_table WHERE _ROWID_=10
0910nobodyさん
2007/05/11(金) 21:45:36ID:???したら必要なのかね>Smarty
0911908
2007/05/11(金) 21:49:51ID:0VNNrODgROWIDで指定すればいいのですね!
できました、ありがとうございました。
0913nobodyさん
2007/05/11(金) 22:19:31ID:DseW4RFS↑
を表示するだけの機能を搭載したフレームワークを勉強として作りたいのですが
class hello
{
var hello()
function hello()
{
echo "ハローPHP";
}
{
これでうまくうごきません。
どこを手直ししたらよろしいのでしょうか?
0914nobodyさん
2007/05/11(金) 22:21:40ID:???0915nobodyさん
2007/05/11(金) 22:21:42ID:???0916nobodyさん
2007/05/11(金) 22:23:56ID:???{
function __construct()
{
echo "Hello PHP";
}
}
0917nobodyさん
2007/05/11(金) 22:43:01ID:???class Controller{
var $model;
function controller() {
$this->model = new Model;
}
function draw() {
new View($this->model->get_hello());
}
}
class Model{
function Model() {}
function get_hello() {
return 'ハローPHP';
}
}
class View{
function View($arg){
echo '<p>'.$arg.'</p>';
}
}
$fw=new Controller;
$fw->draw();
0918nobodyさん
2007/05/11(金) 23:25:32ID:15XrFkFs$str = eregi_replace("ell","",$str);
echo $str;
この場合、「ho」が出力されますが、
この両サイドに英数字が有るばあいは置き換えたくないのです。
$str[1] = "ell";
$str[2] = "hello";
$str[3] = "[ello]";
$str[4] = "[hello]";
この場合に
str1 → 空白
str2 → hello
str3 → []
str4 → [hello]
このようにしたいのですが、どうすれば良いのでしょうか?
0920nobodyさん
2007/05/11(金) 23:34:23ID:???0921nobodyさん
2007/05/11(金) 23:38:17ID:DseW4RFS僕にはむずかしくて理解できませんでした。
また入門書からやりなおします。
0922nobodyさん
2007/05/11(金) 23:43:54ID:???サッパリ意味がわからないのだが、
他のやつが理解してるところを見ると俺の脳ミソが悪いのか?
というわけで意味がいまいちつかめないので適当回答。
いきなり置き換えないで、条件判定してから置き換えする。
0923nobodyさん
2007/05/11(金) 23:49:49ID:???0924nobodyさん
2007/05/11(金) 23:59:40ID:???preg_replace('/(?<![a-zA-Z0-9])ell(?![a-zA-Z0-9])|(?<![a-zA-Z0-9])ell(?=[a-zA-Z0-9])|(?<=[a-zA-Z0-9])ell(?![a-zA-Z0-9])/', '', $dest);
汚いがな
0925nobodyさん
2007/05/12(土) 00:05:56ID:???0926nobodyさん
2007/05/12(土) 00:07:15ID:???ホント下らない質問なのですが、incude関数はファイルを読み込む場合
include "http://localhost/test.php";
じゃなく、
include "/foo/var/test.php";
とやるのが正しい書き方でしょうか。。
0927nobodyさん
2007/05/12(土) 00:11:23ID:???0929nobodyさん
2007/05/12(土) 00:17:38ID:???0930nobodyさん
2007/05/12(土) 00:21:11ID:???なかなか進まないから。
0931926
2007/05/12(土) 00:21:38ID:???>>928
やはりそうですか。
どおりでURIで指定してると読み込めないことがあるな、と思ってました。。
0933nobodyさん
2007/05/12(土) 00:43:56ID:tRCRbJ5XPHPのが何件かあるので、応募してみようか迷っているんですが、携帯の絵文字が
むずかしいみたいですね。私は、携帯のプログラムを組んだことないから
できれば組みたくないんですが、携帯のプログラムは避けてとおれないのですかね?
場合によっては、.NET案件に応募しようかとおもいます。
0935nobodyさん
2007/05/12(土) 00:50:51ID:???プログラマなんてやめた方がいいと思うよ。
組んだことがあって面倒だったから避ける、ならまだしも。
0936nobodyさん
2007/05/12(土) 00:51:25ID:???0938933
2007/05/12(土) 01:00:54ID:???勇気がでました。ありがとうございました。
>>935
いや。他の言語開発の際、めちゃくちゃ振り回されて、もうこりごりなんですよ。
一応、やりました。C++で。。
0940nobodyさん
2007/05/12(土) 01:11:37ID:???倫理的な部分はいらない。金になるかならないか、それだけでいいじゃん
0941nobodyさん
2007/05/12(土) 01:13:12ID:???学生の頃、知り合いの運送会社の鯖を遊びで感覚管理して
数日メール鯖止まった時はヤクザみたいな連中が家まできた
0943nobodyさん
2007/05/12(土) 01:25:45ID:???いやーそういう意図でいったんじゃないんだよ。
>「組んだことないから」で避けるような人は
これにたいしてのレスだったんだが、
避けないで無理に受けて、返って迷惑かかったら本末転倒だということを言いたかった訳だ。
0944nobodyさん
2007/05/12(土) 01:33:01ID:???言い訳はみにくいよ
0945nobodyさん
2007/05/12(土) 01:34:01ID:???$hoge = (array)$hoge;
だと一番上しか変換してくれないようなので。
0946nobodyさん
2007/05/12(土) 01:34:47ID:???ID
ID
ID
ID
0947nobodyさん
2007/05/12(土) 01:34:59ID:???何かいい関数名ないかな・・・
0950nobodyさん
2007/05/12(土) 01:38:57ID:gNRiELWwオブジェクトの中のオブジェクトを一発で多次元配列に変換するいい方法はありませんか?
$hoge = (array)$hoge;
だと一番上しか変換してくれないようなので。
#でも回線不安定だからすぐID変わるよw
0951nobodyさん
2007/05/12(土) 01:47:07ID:???0952nobodyさん
2007/05/12(土) 01:52:58ID:???echo $str[1];
0953nobodyさん
2007/05/12(土) 02:18:36ID:gNRiELWw$hoge = simplexml_load_file($url) or die("error");
$hoge = get_object_vars($hoge);
var_dump($hoge);
やっぱりobjectが残ってしまうようです。
0954nobodyさん
2007/05/12(土) 02:22:13ID:???die();かexit();か皆どっち使う?
0955nobodyさん
2007/05/12(土) 02:24:22ID:???一文字短いから。
0956nobodyさん
2007/05/12(土) 02:24:23ID:???0957nobodyさん
2007/05/12(土) 02:27:50ID:???ああ、だめか。
でもあなたの必要とするsimplexml_load_fileのobjectのアレイ化って
manual のUser Contributed Notesに書いてあるじゃん。
0958nobodyさん
2007/05/12(土) 02:57:24ID:SOvCLEsbphpinfoでmysqlの欄が表示されません。
php.iniでphp_mysql.dllの行のコメントは取り除いております。
どなたか解決方法ご存知でしたらご教授願います
0960nobodyさん
2007/05/12(土) 03:03:18ID:???apacheの設定ファイルにphpディレクトリのphp.iniを読み込むようにしてます。
0961nobodyさん
2007/05/12(土) 03:06:15ID:???0962nobodyさん
2007/05/12(土) 03:06:18ID:???0963nobodyさん
2007/05/12(土) 03:16:20ID:SOvCLEsb問題はlibmysql.dllでした。
深夜にもかかわらず、助けていただきありがとうございました。
0964nobodyさん
2007/05/12(土) 03:22:52ID:???0965nobodyさん
2007/05/12(土) 03:28:28ID:???libmysql.dllは関係ないはず
0966953
2007/05/12(土) 03:36:04ID:gNRiELWwUser Contributed Notesのスクリプトで問題なく配列に納めることができました。
ありがとうございました。
0967nobodyさん
2007/05/12(土) 03:38:43ID:???0968nobodyさん
2007/05/12(土) 03:40:34ID:???0969nobodyさん
2007/05/12(土) 04:14:12ID:???今じゃ本家の方だな。見やすいし。
大体、古いまま放置してるの多すぎだろ・・・非公式・・・
0970nobodyさん
2007/05/12(土) 04:17:13ID:???0971nobodyさん
2007/05/12(土) 04:24:25ID:X8KuBgRVいい小遣いになってるので更新しなくてもいいの思うこのごろ。
0972nobodyさん
2007/05/12(土) 04:33:26ID:???ていうかヘルプファイルみんなDLしてないの?
0973nobodyさん
2007/05/12(土) 05:12:19ID:???0974nobodyさん
2007/05/12(土) 05:16:24ID:???0975nobodyさん
2007/05/12(土) 08:22:34ID:uqNjkBgIDBをINNODBにしてもそれらしき項目があらわれません。
MySQLはMySQL 4.0.26です
0976nobodyさん
2007/05/12(土) 12:03:39ID:???0977nobodyさん
2007/05/12(土) 12:08:19ID:IYoFhhU9まず何から勉強すれば良いですか?
また、空メが使えるレンタル鯖って少ないですか?
0978nobodyさん
2007/05/12(土) 12:18:56ID:???話はそれからだ
0979nobodyさん
2007/05/12(土) 12:20:44ID:IYoFhhU9メールサーバーは何でもおk?
「自宅鯖で行こう」サイトではArGoMailが推奨されてるんだが・・・
http://www.y-kit.jp/saba/
0980nobodyさん
2007/05/12(土) 12:22:59ID:X8KuBgRV0982nobodyさん
2007/05/12(土) 12:33:20ID:S9RD2o7Rきのう軽い気持ちで最新版のApacheインスコとphpダウソしたけど、
なんかphp関連サイトで旧ver.のセットアップ手順を参考に.iniファイルとか
いぢってみたけどうまくいかず(かなり無謀だなと思った)結局アンインスコ。
XAMPPも試してインスコして、.dllふぁいるが見つからないとか表示が出たものの、
一応apacheとか動いてて、ブラウザでlocalhostも見れるし、
でためしにphpエディタで簡単な.phpふぁいる(echoで表示するやつ)を作ったけど
ファイルの保存のしかたとか場所が悪いのかなんか知らんけど
うまくゆかずこれも今はアンインスコ…
そんなんできのう朝から晩まで1日費やしたんですが、
私はこれからどうすればいいですか?
0983nobodyさん
2007/05/12(土) 12:35:34ID:IYoFhhU9有難う御座います
DLしてみたところ、バイナリでした
どのように使うか参考になるサイトか何かあれば教えてもらってもいいですか?
0984nobodyさん
2007/05/12(土) 12:39:02ID:???0985nobodyさん
2007/05/12(土) 12:39:33ID:IYoFhhU9いやいや、こっちだって探してるよ
0987nobodyさん
2007/05/12(土) 12:42:26ID:Cpiw5Nv2xmailダウンロードしてみたけど、イマイチ使い方がわからんね
0988nobodyさん
2007/05/12(土) 12:48:46ID:???0989nobodyさん
2007/05/12(土) 12:51:08ID:X8KuBgRV昔どこかのスレで、「自分でやって失敗すると嫌なので誰か試してくれ」とかほざいてたドザいたな。
0990nobodyさん
2007/05/12(土) 12:54:00ID:???0991nobodyさん
2007/05/12(土) 12:55:47ID:IYoFhhU9MySQL+PHPMyAdminみたいに
xmail+XMailCFGって考えればおk?
CGIで動かすからCGIの環境作らなくてはorz
0993nobodyさん
2007/05/12(土) 13:05:18ID:???0994nobodyさん
2007/05/12(土) 13:06:50ID:???0995nobodyさん
2007/05/12(土) 14:03:34ID:???簡単なライブラリなかとでしょうか。
0996nobodyさん
2007/05/12(土) 14:33:45ID:???0997nobodyさん
2007/05/12(土) 15:52:19ID:???999が次スレの誘導
1000は俺がとる
0998nobodyさん
2007/05/12(土) 16:46:21ID:???0999nobodyさん
2007/05/12(土) 16:46:42ID:???【PHP】下らねぇ質問はここに書き込みやがれ 46
http://pc11.2ch.net/test/read.cgi/php/1178955837/
1000999
2007/05/12(土) 16:47:13ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。