トップページphp
1001コメント300KB

【PHP】下らねぇ質問はここに書き込みやがれ 45

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

$fp = fopen('hoge.dat', 'w');
fwrite($fp, var_dump($hoge));
こんなイメージです
0011nobodyさん2007/04/27(金) 15:23:09ID:???
>>10
ob_start( )
で出力をバッファにためる
バッファを文字列に出力
文字列を書き込む
0012nobodyさん2007/04/27(金) 16:33:36ID:???
>>10-11
関数があるよ
var_exportで調べてみると幸せになれる
0013nobodyさん2007/04/27(金) 17:55:47ID:???
配列の[X]から[Y]を連結させる関数ってありますか?

例えばこんな感じです。
$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を参照に値を返すんだよな?

クッキー使えないとセッションつかえねーじゃん!
0015nobodyさん2007/04/27(金) 18:44:04ID:???
>>6
自己解決したならちゃんと書くことあるだろ
0016nobodyさん2007/04/27(金) 19:00:50ID:???
>>14
URLベースとCookieベースがあるよ
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:???
連続POSTすいませんorz
0020nobodyさん2007/04/27(金) 19:20:44ID:???
>>17
URLの方が簡単にID見られるけど
0021nobodyさん2007/04/27(金) 19:23:50ID:???
>>17
逆でしょw
0022nobodyさん2007/04/27(金) 19:26:03ID:???
ああ、ただの書き間違えだ。
PCはCookieベース推奨な
0023nobodyさん2007/04/27(金) 19:33:47ID:???
URLベースにして、毎回ID変えたらどうなのよ
それならハイジャックされないでしょ

それかIPを暗号化したものをIDにしてみたり
0024nobodyさん2007/04/27(金) 19:35:21ID:???
$foo['14']でこの14の数字を抜き出したいんですがどうすればいいでしょうか??
$foo['14']に入っている値じゃなくて$foo['14']から14という数字を抜き出したいんです
0025nobodyさん2007/04/27(金) 19:36:20ID:???
>>13
こっから好きなのを選べ
ttp://www.php.net/manual/ja/ref.array.php

上から二番目とかいいかもな
次からはマニュアル読むか、関数逆引き本でも買えよ
0026nobodyさん2007/04/27(金) 19:36:42ID:???
>>24
foreach
0027nobodyさん2007/04/27(金) 19:37:14ID:???
>>24
>>25を見ろ
ちなみにそこの数字はキーって言う
0028虚弱PHP2007/04/27(金) 19:40:32ID:???
>>24
質問が不明確だね。
値からキーを検索するなら、array_search()。
0029nobodyさん2007/04/27(金) 19:46:02ID:???
>>24
マニュアルの配列関数のところから好きなの選んで使え
というか質問する前にマニュアル見てそれでも分からんかったら質問しろ
0030nobodyさん2007/04/27(金) 19:46:07ID:???
>>25さん
ありがとうです!
ホレました
0031nobodyさん2007/04/27(金) 22:39:05ID:8D0fnv57
>>23
セッションを使った認証のときの話だけど
ログインしたときのIPアドレスをセッションに保存しといて
IP変わったらまたログイン画面に飛ばしてるけど、あんまり意味ない?
0032nobodyさん2007/04/27(金) 23:39:43ID:4e9jJ8pO
smartyを使っています。
smartyで、テンプレートの出力結果をhtmlファイルにしたいのですが、どうすればいいのでしょうか?

$fp = fopen("html.html", "w");
fputs($fp, $smarty->display("test.html"));
fclose($fp);

実行後に$smarty->displayでの結果はブラウザに表示されるのですが、html.htmlはカラッポです。
0033nobodyさん2007/04/28(土) 00:41:34ID:???
>>32
>>10-11
0034nobodyさん2007/04/28(土) 00:43:40ID:???
>>31
・環境によっては意図せずにリクエストごとにIPが変わる可能性がある
・同じNAT内だったりでIPが同じ場合は無意味
を考慮したうえでご利用ください。
0035nobodyさん2007/04/28(土) 00:44:49ID:???
>>32
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc11.2ch.net/test/read.cgi/php/1118799352/
0036nobodyさん2007/04/28(土) 02:43:46ID:???
>>33
意味わからん
答えは$smarty->fetch();
0037322007/04/28(土) 09:26:10ID:HnvRPjiH
>>36
やりたいことができました。 どうもありがとうございました。
0038nobodyさん2007/04/28(土) 10:57:40ID:???
おまえら
.htaccessのこと何てよんでる?
「ドットエイチティーアクセス」って読んでたんだけど長くね?
もっと短い言い方ないの?
0039nobodyさん2007/04/28(土) 11:00:02ID:???
「ハタッセス」
0040nobodyさん2007/04/28(土) 11:03:46ID:???
>>39
ダサくね?それ
「エイチ・タクセス」のがよくね?
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:???
サイトのページ(4つくらい)を同じphpファイルに書いてそれぞれ別のURLで表示させたいんですけど
書き方を教えてください
0046452007/04/28(土) 14:00:15ID:RKMxVa9I
ID表示
0047nobodyさん2007/04/28(土) 14:00:56ID:???
switch(URLとか){
case 1:
 ページ1の内容
 break;
case 2::
 ページ2の内容
 break;
case 3:
 ページ3の内容
 break;
case 4:
 ページ4の内容
 break;
}
0048452007/04/28(土) 16:07:29ID:RKMxVa9I
>>47
それなぜかうまく動きませんでしたローカルだと動くんですが・・・

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:???
public static function
という書き順と、
static public function
という書き順、
どちらが一般的ですか?
0051nobodyさん2007/04/28(土) 16:16:14ID:???
>>50
http://jp.php.net/manual/ja/language.oop5.static.php
0052nobodyさん2007/04/28(土) 17:10:24ID:???
public static function ですかね。あざーす。
0053nobodyさん2007/04/28(土) 17:58:04ID:jQarZsxI
mb_convert_kana関数を使おうとしたんですが、undefined function と出てしまいました。
4.3.7バージョンで、$string =mb_convert_kana($string,'a');
って書いてるんですが。
0054nobodyさん2007/04/28(土) 18:02:39ID:jQarZsxI
stringって書いたのは文字列って意味じゃないです。
ちょっと勢いで書いちゃいましたが。数字を入れています。
0055nobodyさん2007/04/28(土) 18:14:07ID:???
>>53
mb系が無いんじゃないの?phpinfoで確認して無いなら入れれ
0056312007/04/28(土) 19:09:02ID:tgkVshtz
>>同じNAT内だったりでIPが同じ場合は無意味
こっちはわかるけど、それはもう「IDとパスを盗まれたら無意味」というのとそう変わらないと思う。
ログアウトの機能を持たせて、使う人に気をつけてもらうしかないレベルと思うけど。

>>環境によっては意図せずにリクエストごとにIPが変わる可能性がある
そんな環境あるんですか?固定IPじゃないプロバイダとかルーター再起動したりすると変わる事あるけど
リクエストのたびにって・・・。
どんな環境でしょうか?結構あるならなんか対策しなきゃ。

というか、そんなシステムでネットするの禁止。早くIPV6にして全部固定IPにしてくれ。
0057nobodyさん2007/04/28(土) 19:22:29ID:???
>>56
とある携帯網。
0058nobodyさん2007/04/28(土) 19:36:15ID:jQarZsxI
>>55
いれるというのはphp.iniの設定を変えるということでしょうか。
教えてください。
0059582007/04/28(土) 19:46:53ID:???
自己解決しますた。
0060nobodyさん2007/04/28(土) 19:48:43ID:???
>>58
php.iniのmbstringの設定を変えると良い
たしか、windowsならコメントアウトさせるだけでいけた、リナ糞はしらん
0061nobodyさん2007/04/28(土) 20:22:44ID:???
>>56
マルチパスルーティング
0062nobodyさん2007/04/28(土) 23:41:34ID:hsKT4F0A
標準出力(の出力先)を変数にすることってできますか?(日本語が変かな?)
0063nobodyさん2007/04/28(土) 23:44:10ID:???
>>62
http://www.google.com/search?hl=ja&q=php+%E5%87%BA%E5%8A%9B&lr=
0064nobodyさん2007/04/29(日) 00:58:57ID:D3V82o9R
変数に入れるとかじゃなくれ?
0065nobodyさん2007/04/29(日) 01:02:23ID:???
その日本語は変です。
0066nobodyさん2007/04/29(日) 02:23:14ID:WQ/2F+8H
セッションは出来るみたいだけどクッキーって配列には出来ないの?
0067nobodyさん2007/04/29(日) 02:47:41ID:???
できる
0068nobodyさん2007/04/29(日) 06:17:29ID:???
>>66
$_COOKIE
0069nobodyさん2007/04/29(日) 09:55:27ID:/kWfCH0w
突然ですが、お願いします教えてください。

PHPでCSVファイルを読み込む時に、
「あいうえおかきくけこ」という文字を

あいうえお
かきくけこ

という表示のさせ方を、セルで分割せずにするにはどうすればいいですか?
まだ始めたばかりの素人なんで、まったく分かりません。
どうかよろしくお願いします。
0070nobodyさん2007/04/29(日) 10:49:36ID:???
レン鯖でPHPから送信したメールがあり、そのメールが届いたかどうか(バウンス?)を確認することは可能でしょうか?
できたら方法も知りたいです。

スパムに利用されるから確認できないということもあり得ますかね?
0071nobodyさん2007/04/29(日) 11:43:26ID:???
>>70
ヘッダによる。いずれにせよID出そう。


0072nobodyさん2007/04/29(日) 14:09:34ID:???
>>69
いまいち言いたい事が分からない。
ひとまずID出しましょう。

セルってなに?
テーブルの事?

文字を分割したいって事かな、どういう法則で分割したいかによる。
0073nobodyさん2007/04/29(日) 14:24:42ID:???
セル?名?
梳毛そもう糸を平織りまたは綾織りにした薄手の毛織物。合着用の和服地にする。◇オランダ語の「セルジ(serge)」を「セル地」と解して「地」を略した語。

明鏡国語辞典 (C) Taishukan 2002-2006
0074nobodyさん2007/04/29(日) 14:25:52ID:???
PHPてコンパイルしたほうが早いの?
それともただ中身見えなくするだけ?
includeに使うfunctionファイルだけコンパイルしてみるのってありかな?
0075742007/04/29(日) 14:34:16ID:???
ここで聞いてもわかるやついないか。
プログラム板逝くか
0076nobodyさん2007/04/29(日) 14:36:06ID:???
そもそもPHPはコンパイルするもんじゃないだろ
ソースはサーバに上げれば見えなくなるだろ
0077742007/04/29(日) 14:48:09ID:???
>>76
仕事で納期したりすると客に内容バレしたりしない?
オリジナルのfunction詰め合わせが相手に見られるのも何かヤだし
0078nobodyさん2007/04/29(日) 14:50:50ID:???
ID出したら教えてあげる
0079nobodyさん2007/04/29(日) 14:52:24ID:???
>>77
それなら速度とか気にせずコンパイルすればいいんじゃね
実際、コンパイルする前と後じゃどんくらい差が出るんだろう
0080nobodyさん2007/04/29(日) 15:04:47ID:???
74は学生ですね
0081742007/04/29(日) 15:06:15ID:ZLR/bMbw
>>80
今年卒業しました><;
一応教習生という学生wwwwww



つまりニート
0082nobodyさん2007/04/29(日) 15:11:22ID:???
>>79
普通はコンパイルした方が早い(と言うかしなきゃ動かない)が
PHPの場合元々さらで読むからコンパイルすると逆に遅くなるの?
0083nobodyさん2007/04/29(日) 15:12:10ID:zGQc/Sec
mb_send_mailでメールを送る前にhtmlspecialcharをかましたほうがいいでしょうか?
0084nobodyさん2007/04/29(日) 15:38:28ID:???
Why?
0085nobodyさん2007/04/29(日) 15:38:48ID:???
>>74
"php インタプリタ"
"php 難読化"
でそれぞれググれ
0086nobodyさん2007/04/29(日) 15:40:27ID:???
>>74
ZendGardとかのことか?

下を読めば分かる。読んで分からないなら別の職業を探せ。
http://www.zend.co.jp/products/guard/
0087nobodyさん2007/04/29(日) 16:08:43ID:ZLR/bMbw
>>86
読んでも分からない以前に三行以上読めない
0088nobodyさん2007/04/29(日) 16:11:35ID:???
じゃあマニュアルや参考書を読むなんて無理じゃん
というか途中からID出してるけど本当に本物か?
ネタ臭がキツイわ
0089nobodyさん2007/04/29(日) 19:07:50ID:???
バイナリ化とコンパイルは大分意味が違わね?
0090nobodyさん2007/04/29(日) 19:13:05ID:???
>>82
コードキャッシュとしてコンパイル済み中間コードで
保持する仕組みなら速度は速くなるけどな。
そんな形式で配布・インストールできるシステムは知らん。
一般のバイナリ化の目的は暗号化で速度は低下する。
暗号化+コードキャッシュの組み合わせなら問題なくなるが。
0091nobodyさん2007/04/29(日) 19:20:54ID:???
いちいちコンパイルするのめんどいやん
0092nobodyさん2007/04/29(日) 21:27:03ID:???
配布・インストール時にパッケージとして
バイナリ化する程度ならほとんど変わらんよ
0093nobodyさん2007/04/29(日) 22:52:16ID:o45ltyhE
PHPってインタプリタ言語じゃなくて、自動的にコンパイルされるので
ユーザーは意識しなくてすむ、っていうんじゃなかったっけ?

でA・・なんとかとかは、コンパイルした物をキャッシュするので、処理速度というか、起動?が速くなるとか
PHP6ではデフォの機能になるとかならないとか。

ところでだれか
「PHPプログラマの技量を知りたい時に書いてもらうスクリプト」
っていうのどういうお題だったかわかるサイト知りませんか?
元の、なんとかっていう外人さん?のブログはリンク切れ起こしててもう見れないんですけど。
0094nobodyさん2007/04/29(日) 22:58:32ID:???
もうちょっと中身抑えてから書けよ
0095nobodyさん2007/04/29(日) 23:04:58ID:???
>>90>>93
>86のリンク先に答えが載っているんだが。
0096nobodyさん2007/04/29(日) 23:30:55ID:???
>>86のサンプル画像で使ってるエディタが何気にサクラエディタだ
0097nobodyさん2007/04/30(月) 00:00:29ID:???
そういやみんなはエディタ何つかっとるの?

ウチではvivi -> terapad -> サクラ
会社だと強制秀丸、俺の場合
秀丸は補完機能がないのがなぁ
0098nobodyさん2007/04/30(月) 01:45:32ID:???
>97
β版が使えるなら 結構前から補完機能ついてますよ
(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:???
if($hoge = NULL){
write}else{
qawsedrftgyhujikolp};
0102nobodyさん2007/04/30(月) 04:01:36ID:???
>>100
世代管理しておけばいんじゃね
0103nobodyさん2007/04/30(月) 06:57:32ID:???
ダウンロード販売サービスを頼まれたんだけど、osCommerce系みたいなのでダウンロード販売サイト構築できるものってある?
言語は出来れば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
switch文のdefaultにheaderでどこかに飛ばす処理を書きました。
この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:2a6Y0d07
25歳。去年までニートでしたが、今年は独立したいと考えてます。
PHPスクリプトを書く仕事をしている人の一週間のスケジュールをおしえてください。
できれば具体的に教えていただけると助かります。
0109nobodyさん2007/04/30(月) 10:42:37ID:???
>>108
ここは人生相談スレではありません。
SOHOスレあたりにいって聞いてきてください。
0110nobodyさん2007/04/30(月) 11:11:41ID:???
すいませんでした(><)移動してきます
0111nobodyさん2007/04/30(月) 11:14:12ID:???
>>107
なんかすごい釣りにしか見えないんだが

リファラを任意に書き換えるのは無理だぞ
狭い意味でいっているならmod_rewriteとかの範疇かと
0112nobodyさん2007/04/30(月) 11:15:40ID:???
リファラを書き換えはできるだろw
0113nobodyさん2007/04/30(月) 11:20:26ID:???
>>108
月: らき☆すたを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:???
つかパケット書き換えってなんだよw
0118nobodyさん2007/04/30(月) 11:41:33ID:RWiBoY20
XREA+(s278、PHP5)にて、実験しているのですが、
unlinkを使うと
Permission denied in
というエラーが出てしまいます。
削除しようとしているファイルの所有者は自分です。
削除しようとしているファイルのパーミッション、777.707.755などに変更して試したのですが
やはり上記のエラーがでてしまいます。
chmodなどで変更してみてもだめです。
もうお手上げ状態なのですが、何が原因と考えられるでしょうか?
よろしくお願いします。
0119nobodyさん2007/04/30(月) 11:43:52ID:???
上位ディレクトリ
0120nobodyさん2007/04/30(月) 11:46:38ID:RWiBoY20
>>119
すいませんこんな質問に答えていただきありがとうございました。
0121nobodyさん2007/04/30(月) 12:06:52ID:???
>>108
> 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:xBM5mH9a
Proxyを判定するスクリプトを書いています。
Wikipediaを参考に、Proxy特有の環境変数があるかどうかの判定を書いています。
http://ja.wikipedia.org/wiki/Open_Proxy
IE6では特有の環境変数は何もセットされませんでしたが、
FirefoxとOperaではいくつかセットされていました。
そこで質問ですが、
ブラウザ別に対処するか、FirefoxとOperaでセットされた環境変数をチェックから除外するか、
どちらがいいと思いますか?
後者のほうが楽なんですが、確実性をとると前者のほうがいいですよね?
確認したのがこの3つのブラウザだけなので、他のブラウザで見たらProxy判定される恐れもあったり、
ブラウザの今後のアップデート状況で、変数が変わる恐れもあったり、
問題は多いですが、Proxy判定ってアバウトでいいと思いますか?
0124nobodyさん2007/04/30(月) 12:31:01ID:xadrbgql
>>121
マルチ見つけたと得意になる前に
>>110を見てみろ
0125nobodyさん2007/04/30(月) 12:43:49ID:???
>>123
>Proxy判定ってアバウトでいいと思いますか?
アバウトにしか出来ないよ。
やりたいことはspam関係でproxyはずすってことだろうと思うから、
前スレ見てproxy等で検索かけたほうが早い
0126nobodyさん2007/04/30(月) 12:46:10ID:???
>>113
それで土曜日はどうなるんですか?
0127nobodyさん2007/04/30(月) 12:52:34ID:xBM5mH9a
>>125
やっぱアバウトになっちゃいますよね。
>やりたいことはspam関係でproxyはずすってことだろうと思うから、
仰るとおりです。spamが多くて・・・
前スレみてきますね。どうもありがとうー
0128nobodyさん2007/04/30(月) 13:36:16ID:???
"         =≡=  ∧_∧   I'm ready.......",
"          / \ (・∀・ )/",
"        〆     ⊂    つ∈≡∋",
"         ||  γ ⌒ヽヽコノ   ||",
"         || .|   |:::|∪〓  ||",
"        ./|\人 _.ノノ _||_  /|\",
"",
0129nobodyさん2007/04/30(月) 14:14:50ID:2a6Y0d07
5.2.2RCバージョン登場あげ
http://ilia.ws/archives/167-5.2.2RC2-Released.html
0130こんばんは ◆5m18GD4M5g 2007/04/30(月) 17:42:23ID:???
今CSVのファイルからデータを検索できるように頑張ってるのですが、
なかなかうまくいきません。
以下を某サイトからコピペしてやってるのですが、不安定でなかなか使えるように
なりません。

■たまにまともに検索できる(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]);
}
}
?>
どこか致命的に間違っている箇所があるのでしょうか?
お願いします。
0132nobodyさん2007/04/30(月) 17:48:00ID:???
>>131
>>1
0133nobodyさん2007/04/30(月) 18:08:36ID:???
>>130

トリップ張れば良いって問題じゃない。
0134こんばんは2007/04/30(月) 18:17:30ID:A+71Ioc2
トリップとID間違えてました ^^;

0135nobodyさん2007/04/30(月) 19:05:29ID:???
>>130
item.csvがEUCじゃねーとか

他に爺的に気になるのは
・$lines=strip_tags($Data[$i]); はlinesじゃなくてlineにしてくれ気持ち悪い
・データはstrip_tagsして入力はhtmlspecialcharsておかしくね
0136nobodyさん2007/04/30(月) 19:06:55ID:???
>>131

rm -rf /

PHPからこのコマンドで打てば解決できるからやってみろ
0137nobodyさん2007/04/30(月) 19:16:02ID:xadrbgql
>>135に一票

$ArrKeywordとか$Dataとか$linesとか$Resultを適宜var_dumpもしくはprint_rして
内容を確かめればどこがいけないかわかるよ。

あと、配列を要素分繰り返すときPHPではforはあんまり使わなくない?
foreachのほうが見やすいし、好き。まあ、別に良いけど。
0138nobodyさん2007/04/30(月) 19:42:39ID:Jfzlq/mb
メールフォームを勉強のために作っていて、
mb_send_mail($to, $subject, $message, $add_header)
の$messageの中身を複数のtextから受け取りたいんです。
複数受け取るには、配列を使う気がするのですが、
$message =$_POST["message1"].$_POST["message2"]のような方法しかできません。

何かヒントを教えてください。お願いします。
0139nobodyさん2007/04/30(月) 19:48:59ID:???
>>138
日本語でおk
0140nobodyさん2007/04/30(月) 19:53:59ID:YPFQGcFE
質問があります。
PHPと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:???
>>142
その構文が書いてあるファイルと同じ場所におけばいいでしょう。
PHP以前の問題では?HTMLから始めてください。
0145nobodyさん2007/04/30(月) 20:25:13ID:???
おまえらほんとにやる気あんのか?
0146nobodyさん2007/04/30(月) 20:37:18ID:???
※注意
ここは初心者同士の憩いのオアシスです
0147nobodyさん2007/04/30(月) 20:37:52ID:xadrbgql
>>140
出来ない事はないと思うが
いちいち文字コードを変更するのは面倒なのでDBとPHPの内部エンコードはあわせるのがセオリーでは?

もっというと、出力も同じにして、しかも出来る事ならUTF-8で統一するといいかも
そのうちAJAXとか使いたくなったときにUTF-8にしとくと楽。

でも携帯がSJISだからとかいって全部SJISに統一するのはやめた方がよい。
いろいろ問題のあるコードだから。
0148nobodyさん2007/04/30(月) 20:42:18ID:5qEh+XE7
>>144
だから、htdocsにおいても駄目ってかいたんですが・・
ちなみにPHPHOMEにおいても駄目なんす。ふざけんな!場所くらい書いとけ作者!

もういい。フルパスで記入したから。

レスくれた方、サンクスです。
01491422007/04/30(月) 20:48:51ID:5qEh+XE7
すまそ。。Apacheのhtdocs以下のsampleフォルダに入れなくちゃなんなかった・・

>>144さんのいうとおり。すませんでした。ちなみにさ、imagedestroy関数って
PHPで表現された画像を、メモリ上から解放します。ってあるんだけどこれって
サーバーのメモリ?クライアントのメモリ?
0150こんばんは ◆5m18GD4M5g 2007/04/30(月) 20:58:59ID:A+71Ioc2
>>136
全部消えたよ ^^;;;

どうしたらいいですか?
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=1422007/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=1422007/04/30(月) 21:22:19ID:???
>>153
さんくすっす。どうもありがとうございます。胸のつっかえがとれました。ふざけたホームページは本当に
開設しないでほしいですよね?初心者は混乱してしまいます。

みなさん、色々とおしえていただき、ありがとうございました。
0156nobodyさん2007/04/30(月) 21:30:53ID:???
>>151
自己責任の範疇で好きにしたらいいんじゃないですか?
0157nobodyさん2007/04/30(月) 21:31:24ID:???
>>150
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:???
>>159
あのねぇ。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:???
>うまく変換してくれるんです。
ダウト
0162nobodyさん2007/04/30(月) 21:58:25ID:???
>>161
じゃあ、お前さんがおしえてあげなよ。不親切だな。
0163140です。2007/04/30(月) 22:06:59ID:YPFQGcFE
160さん。ありがとう。
もし自分のやったとおりにやったら表示されませんか?
表示されなくて困っています。
01641602007/04/30(月) 22:32:50ID:???
>>163
俺もまだ初心者の域を脱していないからよくわからないんだけど、
勉強のうちはphp.iniは本に書いてあるとおりにしたほうがいいよ。http_outputのところとか
色々なエンコード表示しすぎじゃないのかな?

俺は160で書いたとおりにしかやってないから、わからないんだけど。

苦労してるみたいだから、がんばってください。
0165163です。2007/04/30(月) 22:55:15ID:YPFQGcFE
164さんへ
これのとおりやってうまく表示されましたか?
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:???
>>162
>じゃあ、お前さんがおしえてあげなよ。不親切だな。

×うまく変換してくれるんです。
○条件・設定しだいでは変換してくれることもあります。

迷路に迷い込ませるそっちのほうが不親切だ。
0167nobodyさん2007/04/30(月) 23:18:01ID:???
>>158
宣伝乙
01681602007/05/01(火) 00:43:56ID:???
本はPHP本なら
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#も初心者に丁寧な本はあんまりないんだけどね。実際。

独学でやるには、とにかく根性だよ。

01691602007/05/01(火) 00:46:01ID:???
とここまで書いたところでいいホームページ発見(作者もPostgreSQLの2番目に紹介した作者です)
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
PHP&PostgreSQLで作る実用Webシステム
これかいました。
このデータベースはEUC-JPで、プログラムも
EUC-JPですよね。
ってことはPHPの設定もEUC-JPに変えれば表示されるということですよね。
一応php.iniはhttp://www.hizlab.net/app/phppg.html
を見て設定したのですが....
0171nobodyさん2007/05/01(火) 01:06:12ID:???
1.お前の書き込みは質問になってない
2.情報を小出しにするな
3.マルチするな
0172nobodyさん2007/05/01(火) 01:15:18ID:1OYzEHDw
PHP&PostgreSQLで作る実用Webシステム
を買いました。そこで、ユーザー登録プログラムを表示させようと
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:???
setssion_strat( ) で作られるセッションてクッキーに保存されてるの?
素朴な疑問だけど
サンプルのページ見てクッキークリアしたら初期化されたからそういうことだよね?
0175nobodyさん2007/05/01(火) 01:23:50ID:???
>>174
http://jp.php.net/session
0176nobodyさん2007/05/01(火) 01:27:07ID:???
php5でメールフォームをつくってます。
mb_encode_mimeheader関数の使い方について質問させてください。
この関数で送信者名(ヘッダのFrom)に入力された日本語をMIMEエンコードしようとしています。

前に読んだ書籍では日本語部分にのみこの関数を使用すること、
という記載があったと記憶してるんですが現在確認できません。(マニュアルにも記載なし)
例えば入力された送信者名が「progra民具」さんだったら「
民具」のみ切り分けてMIMEエンコードすること、という説明だったと思います。
テストしている範囲ではそのまま
$fromName = mb_encode_mimeheader("progra民具");
で特に問題なくエンコードできてるんですが・・・
メール送信をすでに実用している方、どのようにされていますか?
0177nobodyさん2007/05/01(火) 01:32:05ID:???
>>176
する必要無し
01781762007/05/01(火) 01:42:45ID:???
>>177
ありがとうございます!
0179nobodyさん2007/05/01(火) 02:21:04ID:???
おぃおぃ。

メールヘッダーに生の日本語入れるつもりか・・・
0180nobodyさん2007/05/01(火) 02:37:50ID:???
$hogeが1000文字以上だった場合、1000文字から最も近い改行で区切って配列に入れたいのですがどのような方法があるでしょうか?
0181nobodyさん2007/05/01(火) 03:30:08ID:1OYzEHDw
すいません。質問です。
php+postgresqlを使っています。
grant 操作 on クラス to ユーザ;
ってapacheとDBをつなげるときに必要みたいですが、
publicで大丈夫でしょうか?
よろしくお願い致します。
0182nobodyさん2007/05/01(火) 03:34:06ID:???
>>180
まず1000文字あるかどうか確認して
もしあればケツから一番近い改行
までを取得すればいいだけでないの?
1000文字以上ある場合は一度最後まで
改行があるかどうか走査する必要はある。

>>181
それはPostgreSQLの権限の話だよな?
Apacheユーザ(言うなればPHPユーザ)
がDBにアクセスできるように、またアクセス
制御を行うためにDB側で設定する。
まったくPHP関係ないけどgrant分にpublic
なんかあったっけ?
0183nobodyさん2007/05/01(火) 03:49:20ID:3L8/2YzF
与えられた文字列が整数を表すか調べたいのですが
is_int()だと文字列なのでfalseになり、
is_numeric()だとtrueになる幅が広すぎます。
整数を表す文字列かをうまく調べるにはどうすればいいですか?
0184nobodyさん2007/05/01(火) 04:20:05ID:???
>>183
preg_match('/^[1-9]\d*$/', $string)
0185nobodyさん2007/05/01(火) 04:23:10ID:???
>>184
条件が整数だから
preg_match('/^-?[1-9]¥d*$/', $string)
の方がよくなくね?
0186nobodyさん2007/05/01(火) 04:25:09ID:???
あ、間違った…
'0'===$string || preg_match('/^[\-+]?[1-9]\d*$/', $string)
01871762007/05/01(火) 04:27:57ID:???
>>183
数値文字列を整数型に型キャストしてから調べては。
is_int((int)$num_str)

>>179
エンコードはする前提なので、>>177氏の助言は、
あくまで関数の使い方ことですね。
0188nobodyさん2007/05/01(火) 04:39:06ID:???
>>187
> is_int((int)$num_str)
だと '10 hogehoge' とかも通るんじゃなかたけ?
0189nobodyさん2007/05/01(火) 04:45:09ID:???
あ、たしかに・・・。ゴメリ
0190nobodyさん2007/05/01(火) 04:52:53ID:???
Perlで5MBぐらいのテキストデータのファイルを書き出し読み出ししているものを
PHP+MySQLにするとサーバーへの負荷はどのくらい変わりますか?

アクセスのたびに呼び出す仕様です。
0191nobodyさん2007/05/01(火) 05:34:28ID:???
>>190
データの構造、アプリケーションの振る舞い
作る奴の脳味噌の熟成具合に依存するので
それだけではわからん
0192181です。2007/05/01(火) 06:31:19ID:1OYzEHDw
ではこれはPHP+Postgresql+Apacheで表示させる上
ではgrantは関係ないってことですか?
0193nobodyさん2007/05/01(火) 07:47:04ID:???
全く関係ないしスレ違いです。
grant構文はレン鯖業者のためにあるようなものです。
publicは登録されている全ユーザに同じ権限を与えるものです。
自鯖などで1人で使う場合、自分用に1つ作ればいいんじゃないすか?
知り合いに貸して、その知り合いがDBを使いたいならば、
その知り合いに対してgrant文を実行する感じです。
01941932007/05/01(火) 07:50:16ID:???
肝心なこと書き忘れてました。
>apacheとDBをつなげるときに必要
必要なのはapacheのconfでモジュール組み込むことじゃないっすかね。
0195nobodyさん2007/05/01(火) 11:16:25ID:???
PHPの通常(?)とバイナリ(?)の違いがわからん
CGIとしての動作ってなんだよ
0196nobodyさん2007/05/01(火) 11:55:08ID:???
>>181
よくあるパターンだと
webアクセス専用にユーザ用意 + 権限設定するから
全く関係ないわけじゃない
とりあえずgrantで何ができるか確認してみたら?

>>195
こんなところか?
ttp://jp.php.net/manual/ja/install.general.php
01971802007/05/01(火) 12:28:23ID:???
>>182さん
ありがとうございます。
ただそれだと意図した動きになりません。

$hogeは普通の文ですので改行もたくさんあります。
そして1000文字以下の場合もあれば、2000文字以上の場合もあります。
なので見やすいように1000文字単位で区切ろうと思っています。

substr($hoge, $page*1000, 1000)  //$pageは数字

これで1000文字単位の文字は取れるのですが、変な切れ方になるので改行で区切りたいのです。
0198nobodyさん2007/05/01(火) 12:33:53ID:???
>>197
http://php.net/wordwrap
とか
http://php.net/strrpos
とか使ってみれば?日本語でうまくいくのか知らんけど。
それから>>1読んでね
0199虚弱PHP2007/05/01(火) 12:49:20ID:???
>>197
改行でってのは、結構面倒だと思うから、
mb_strwidthでも使えばいいんじゃないかな。

どうしても改行でやりたくて、
うまくいかないならソースplease。
0200虚弱PHP2007/05/01(火) 12:52:35ID:???
まちがった mb_strimwidth()
http://www.php.net/manual/ja/function.mb-strimwidth.php
0201虚弱PHP2007/05/01(火) 12:55:03ID:???
>>183
ctype_digit()じゃだめ?
0202nobodyさん2007/05/01(火) 14:55:53ID:???
>>199
というか、>>197(=>>180)の返事は、>>182の回答を正しく理解してないんじゃないの?
0203nobodyさん2007/05/01(火) 15:44:06ID:???
>>197
1. 文字列aの長さを測る
2. aが1000文字以内ならループブレイク
3. aを添え字0-998までとそれ以降に分ける
4. 前者の末尾に改行をくっつけて配列にぶちこむ
5. aに後者を代入 1に戻る

いや、冗談だけどさ
改行なんてどこに入っててもいいじゃん
0204nobodyさん2007/05/01(火) 15:50:18ID:???
>>201
そんなのがあったのか
マイナス値がヤバそうだが
0205nobodyさん2007/05/01(火) 16:40:02ID:???
プログラミングで出合った問題と、自分が「こうしたい」という問題を
をごっちゃにして、勝手に混乱するよね、この文字切り・改行厨ってのは。
この手の質問、何度見たか。
0206nobodyさん2007/05/01(火) 17:27:07ID:???
>>205
あー、それ俺が感じていた疑問というかモヤモヤを見事に指摘しているわ。

自分が「こうしたい」という問題を、プログラミング的にに落とし込んでから(または落とし込む方法を)質問するスレです。

とかに変えたほうがいいかも。
PHPに絡むならビジネスロジックだろうとスクリプトの設置・改造方法までOKだと勘違いしてる奴多いからな。
02072062007/05/01(火) 17:29:07ID:???
>>206
あー話の筋からすると、飛躍しすぎたかな。
とにかくそう思った
0208nobodyさん2007/05/01(火) 17:52:41ID:smYMDtq3
PHPとMYSQLでサイトを作ってるのですが、SQLで下記のようにしても
「つ」以降の先頭文字検索でつ以外の文字も抽出されるのですが
どうすればよいでしょうか?
あ〜ちまでの文字は普通に抽出されます。

$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
PHPは冗談抜きにVBScriptと同様。片や、いっぱしのプログラマとして
雇われ給料もしっかりと払われ、片や、事務職の給料の安い派遣のお姉ちゃんが
一生懸命マクロ・VBAを組んでいる。

これは非常に矛盾です。
0212nobodyさん2007/05/01(火) 19:21:54ID:???
>>211
えーと、それで質問は何?
0213nobodyさん2007/05/01(火) 19:44:59ID:EEwZpxpS
>>212
おねえちゃんがほしいんです!
0214nobodyさん2007/05/01(火) 19:54:56ID:???
>>208についておながいします
0215nobodyさん2007/05/01(火) 19:59:17ID:???
>>214
>>1
02162142007/05/01(火) 20:10:02ID:???
サーバーはwin2003です
0217nobodyさん2007/05/01(火) 20:12:05ID:???
>>216
>>1
0218nobodyさん2007/05/01(火) 20:12:24ID:???
>>216
>>1
0219nobodyさん2007/05/01(火) 20:12:48ID:???
>>216
>>1
02202142007/05/01(火) 20:17:58ID:???
mysqlのバックアップとったら空が20MBになった
エロコレクションを削除したら空が5GBになった

削除する時はverupなみの勇気がいる
0221nobodyさん2007/05/01(火) 20:39:13ID:???
>>208
DBの設定もDBの中身も
phpの設定も動かしてるスクリプトも
全部JISなの?

一応訊いておくけどShift_JISじゃないんだよね?
0222nobodyさん2007/05/01(火) 20:39:41ID:ghVsgOyN
Warning: htmlspecialchars() expects parameter 2 to be long, string given in C:\Program Files\xampp\htdocs\test\form.php on line 77
このエラーはどこを改善すればいいのでしょうか。
htmlspecialchars関数が期待する文字列より長い?という意味だと思うのですが。
何か制限があるのでしょうか。
マニュアルとGoogle先生にはお尋ねしたのですが、分かりませんでした。
0223nobodyさん2007/05/01(火) 20:44:21ID:???
>>222
訳せ
マニュアル読め
0224nobodyさん2007/05/01(火) 20:47:09ID:???
>>211
じゃー、どっちも出来るんならPHPやればいいじゃんw
アホか
02251802007/05/01(火) 20:59:51ID:???
>>205=206

日本語でお願いしますね^^
あと求めているのは答えですからオナニー論理はメモ帳にでもかいててくださいな

軟式さんが仰っているように簡単な問題ではないと思いますが
0226Lisa2007/05/01(火) 21:14:20ID:vsWpEyDK
Perlに関する試験を受けてみたいんですけど、何か良い資格試験
あったら教えて下さい☆ あと、CIWのウェブ言語 PERL基礎って
試験は、受験制約はあるのかなぁ
0227nobodyさん2007/05/01(火) 21:38:47ID:???
>>226
ス レ 違 い
0228nobodyさん2007/05/01(火) 21:50:11ID:???
>>225
別に>>206>>180向けに書いてませんよw
0229nobodyさん2007/05/01(火) 22:16:27ID:???
>>228
いつものレス番偽造君に釣られる奴も奴だな
0230nobodyさん2007/05/01(火) 22:16:57ID:???
俺俺
0231nobodyさん2007/05/01(火) 22:25:19ID:???
まあある意味スレタイに合致してるよな。このスレの書き込み。
「書き込みやがれ」だから、答えるとは言ってないし。
0232nobodyさん2007/05/01(火) 23:00:06ID:???
>>226
Perlは新規案件減ってるし
どっかの誰かが書いた理解不能なコードの修正とかあるからオススメできない
つか、普通Perl案件で資格なんて考慮されない

今プログラマ案件で一番要望多いのはJava技術者
と、人事の人から聞いたが
デスマーチ案件も多いから気をつけろ
0233Lisa2007/05/01(火) 23:02:50ID:???
     ∧_∧
    ( ?д?)  受けたいんですが、なにか?   
    ハ∨/^ヽ
   ノ::[三ノ :.'、
   i)、_;|*く;  ノ
     |!: ::.".T~
     ハ、___|
0234nobodyさん2007/05/01(火) 23:24:19ID:???
PHPのスレッドにPerlの話を書く人はプログラミング自体やめた方がいいと思うよ
0235nobodyさん2007/05/01(火) 23:48:13ID:OxYFPqZQ
classについて質問です。

$obj = new hogeHoge("");

とするクラスの実行箇所が、1ファイル上にいくつもある場合、
それだけで負荷がかかかりますよね?class内部の関数を実行していなくても。

ポイントの仕組みなどを作っている時、
ポイント設定テーブルの読込→会員テーブルの読込→
会員ポイント状況の読込→ポイントの付与→ポイントの更新

など、それぞれに応じて異なるテーブル・classを実行する必要があるので、
newする回数がどうしても増えてしまいます。作り方にもよるでしょうが、
なんどもclassを実行する場合、処理の遅れなどは仕方ないのでしょうか?
0236nobodyさん2007/05/01(火) 23:51:06ID:???
>>235
全部functionでいいんじゃね?
0237nobodyさん2007/05/01(火) 23:51:39ID:???
>>235
「気にしない」が正解。

もうちょっと詳しく書くと、そういうことを気にして性能に影響あるかどうかわからないところで
わかりづらいコードを書くよりもまずは綺麗にわかりやすいコードを書くべし。

性能に問題が出てからはじめて性能測定をして最適化を行うなり、
機材の増強を図るなりすればいいのだ。
0238nobodyさん2007/05/01(火) 23:53:58ID:???
$obj = new hogehoge();
すると、$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:???
>>235
それで負荷がかかってどうしようもないなら
オブジェクト設計に問題があるんじゃないか?
アクションメソッドやDAOで抽象化するのは普通。
どう考えてもインスタンス化じゃなくて中身の処理が悪くて実行時間がかかってると予測するが。
0242nobodyさん2007/05/02(水) 02:42:07ID:???
今、DWでPHP書いてるけど
何かおぬぬめのエディタない?
0243nobodyさん2007/05/02(水) 02:45:14ID:???
>>235
その例の場合インスタンスの生成なんかより
DBとの会話のほうがロスが大きそうなので
ストアドプロシージャ使ったほうがいんじゃね

あとなんとなくだが
リファクタリングの本を一通り読んでみることをオススメする
0244nobodyさん2007/05/02(水) 02:46:04ID:???
>>242
Em or Eclipce
0245nobodyさん2007/05/02(水) 02:55:47ID:???
<TAG>
TEST
</TAG>

タグの間の文字列(上の場合TEST)を抜き出したいのですが、
どういった関数を利用するのがベターでしょうか?
0246nobodyさん2007/05/02(水) 02:57:06ID:???
preg_match
0247nobodyさん2007/05/02(水) 03:03:38ID:???
>>242
DWのほうが使いやすいよ。htmlとも連携してるから補完機能も色分けもDWじゃないとだめな俺様
02482452007/05/02(水) 03:44:54ID:???
>>246
具体的に教えて栗
正規表現苦手ニダ
0249nobodyさん2007/05/02(水) 03:54:38ID:???
preg_match("!<TAG>(.+?)</TAG>!");
0250nobodyさん2007/05/02(水) 03:54:43ID:???
preg_match("/<TAG>((?:(?!<\/TAG>).)*?)<\/TAG>/", $html, $return);
0251nobodyさん2007/05/02(水) 03:56:48ID:???
>>248
preg_matchが正規表現って分かってるなら
大丈夫じゃないか
後は頑張って覚えるだけぽ
0252nobodyさん2007/05/02(水) 04:00:30ID:???
>>249-250
で、どっちが正しいの?
0253nobodyさん2007/05/02(水) 04:01:44ID:???
「!」って何だっけ
0254nobodyさん2007/05/02(水) 04:04:41ID:???
えくすくらめーしょんまーく
02552452007/05/02(水) 04:14:02ID:???
(.+?)
これで改行も認識されますか?
0256nobodyさん2007/05/02(水) 04:16:28ID:???
>>255
ヒント:s
02572452007/05/02(水) 04:18:39ID:???
どなたか250の内容を具体的に解説してくれないでしょうかニダ?
意味的には、
((?:(?!<\/TAG>).)*?)
が</TAG>以外、
という感じなのはなんとなくわかりますが、
(が2個続いていたり:や?の役目がよくわからんです。

>>251
正規表現の本5冊ほど持ってますが、
さっぱりです。初めて英語を勉強したとき以上のカルチャーショックです、
呪文です、あれは。
0258nobodyさん2007/05/02(水) 04:19:39ID:???
>>250
最短マッチしてるなら?!はいらないんじゃね?
0259nobodyさん2007/05/02(水) 04:20:34ID:???
マニュアル嫁
?:は後方参照しない
?!は否定
()はグループ化して後方参照
02602452007/05/02(水) 04:20:42ID:???
>>256
なるほど〜
s修飾子というやつですね、
そのヒントからかなり得るものができた気がします、
ありがとうございます。
0261nobodyさん2007/05/02(水) 04:27:00ID:???
>>257
オライリーの「詳説正規表現」以外は要らない。
1,2,3章の入門編を軽く流したら、4,5章を徹底的に理解すべし。
02622452007/05/02(水) 04:31:02ID:???
レスありがとうございます、
(?!<\/TAG>) はわかりました
((?:(?!<\/TAG>).)*?) の *?は最短マッチですよね。
?:と(?!<\/TAG>)の後ろのドットの役割が説明聞いてもいまいちわからんですね。。。。

preg_match("/<TAG>(.*)*?<\/TAG>/", $html, $return);
↑これではダメでしょうか?

0263nobodyさん2007/05/02(水) 04:35:15ID:???
質問者はID消すなよ、常識的に考えて
0264nobodyさん2007/05/02(水) 04:36:18ID:???
ドットが分からないとか正規表現のリファレンス1行も読んでないだろ、常識的に考えて
0265nobodyさん2007/05/02(水) 05:54:44ID:???
>>259
(?!hoge)は前方参照否定じゃなかたけ、否定とはちょい違う

>>262
(?!<\/TAG>)(.*?)
て書きたかったんじゃね

>>264
どうしてそこにドットが出るのかがわからない、と聞いているんだろ
常識的に考えて
0266nobodyさん2007/05/02(水) 06:23:43ID:???
文字通りの意味と役割だろ
そんなことも分からないってことは修飾子と構文を正しく理解してないってこと。
その2つは最低限理解してから実例に入るべき。
人に教えてもらってコピーするとか改良するとかはその後。
02672082007/05/02(水) 06:50:57ID:???
>>221
Webの方はJISですが、DBはEUC-JPです。
どのようにすればよいでしょうか?
お願いします。
02682082007/05/02(水) 07:44:06ID:e82GvhiD
すみません、DB側はUTF-8でした。
0269nobodyさん2007/05/02(水) 08:08:14ID:???
方法はあるけど分かるように説明するの面倒だから全部UTF-8にすれ
0270nobodyさん2007/05/02(水) 08:46:10ID:UK9OmFrQ
質問です
GETmethodで情報を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:???
$_GET['code1']
0272nobodyさん2007/05/02(水) 08:51:03ID:UK9OmFrQ
>>271
すみません、書き間違いがありました
「」 と表示されました(270の時点で)
271さんの言うとおりにしても、「」のまま変わりません
なぜ??
0273nobodyさん2007/05/02(水) 08:55:03ID:jXkSXyAx
$_GET['code1']=""
だからじゃね
0274nobodyさん2007/05/02(水) 08:56:00ID:???
$hoge = "「"."
0275nobodyさん2007/05/02(水) 09:02:39ID:UK9OmFrQ
>>273
それでした! ハズカシイ。。
$_GET['code1']=="" にしたら解決しました

しかし $_GET['code1']=""  が変なのと echo "「".$_get['code1']."」"; が
まともに動作しないのって別問題と思うんですけどね。。
ともかくありがとうございました
0276nobodyさん2007/05/02(水) 09:19:39ID:jXkSXyAx
>275
空っぽの文字列を代入してるからif式はfalse
だから「」が表示される
ちゃんと動作してるんじゃね?
0277nobodyさん2007/05/02(水) 09:49:23ID:???
確かにそうですね
勉強します…
0278nobodyさん2007/05/02(水) 13:45:41ID:s9SsVluQ
$hoge[0]['name'] = "AAA";
$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:???
>>278
$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
PHPでrequireとかファイル読み込んだ後でもフレームセットタグ無効になるんでしょうか?
ソースには頭にframesetタグが書かれてて大丈夫だと思うんだけどうまくいかなかったんで
require無くしたらいけたりしたんですけどいまいちよくわからないので詳しくわかる人があれば教えていただきたい
0281nobodyさん2007/05/02(水) 17:49:41ID:???
よくわからんけど、requireをやる前と後のHTMLソースを見比べてみたら何かわかるんじゃないの。
0282nobodyさん2007/05/02(水) 17:58:46ID:???
requireした時のファイルに空白とかが混じっててヘッダが
おかしくなってるんだろ
0283山本山2007/05/02(水) 18:08:43ID:???
たしろん
0284nobodyさん2007/05/02(水) 18:37:16ID:QbFzO5vt
DWでPHP使ってるんだけどオヌヌメの開発環境ってある?
フレームワークやらSmartyやらよく聞くがどんなものかわかんなす
0285nobodyさん2007/05/02(水) 18:44:51ID:???
>>284
フレームワークはフレームワーク。
Smartyはテンプレートエンジン。
まず公式サイトでドキュメントを読め。そしてぐぐれ。
0286nobodyさん2007/05/02(水) 19:58:22ID:???
>>284
DW使いが開発環境なんてたいそれたこといってんな。
0287nobodyさん2007/05/02(水) 20:00:38ID:???
DW使いって所詮はデザイナー上がりだろ?
デザイナー上がりって使えない奴多いよね
0288nobodyさん2007/05/02(水) 20:21:22ID:???
ちょっとログいじるために簡単なログイン機能つけたいんだけど
簡単なログイン機能つけるのって初心者には簡単じゃないなw
同じファイルの中でやろうとしたら混乱してきた
0289nobodyさん2007/05/02(水) 20:29:14ID:???
>>288
pearのパッケージでも漁ってみればいんじゃね
0290nobodyさん2007/05/02(水) 20:30:59ID:ZxrVMRS9
./data/log.txt
id<>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:???
>>288
初心者が簡単にできたらそれ初心者っていうのか?
つか個人的には簡単なログインくらいなら初心者にも作れて当然だと思うけどさ。
思うに今の君に必要なのは初心者がどうのとか難しいとか愚痴ることることではなく
「マニュアルとちゃんと読む」ことと「参考になる書籍/解説Webサイト」を見て学ぶことだと思うぞ。
0292nobodyさん2007/05/02(水) 23:29:28ID:???
>>291
とりあえず深呼吸してからスレタイをよく読むんだ
0293nobodyさん2007/05/02(水) 23:30:25ID:???
それがどうした
0294nobodyさん2007/05/02(水) 23:56:44ID:???
>289 >291-293
cookieにセッションにcryptに認証状態の維持に有効期限に
初めてのことばっかで情報量多くて…すまん
0295nobodyさん2007/05/03(木) 00:15:12ID:4b9rb2Ka
PHPの問題集みたいなのない?
ZendPHPの問題集買ったが洋書でわけわかんねwwwwww
0296nobodyさん2007/05/03(木) 00:22:50ID:B994S/bS
>>284
PHP5以降を使って
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
PHPでランダムバナーをやりたいけどわからん。
誰か作ってください。
javaはいりません。
0299nobodyさん2007/05/03(木) 00:32:06ID:???
>>298
作るのは構わんが、いくらでだ?
0300nobodyさん2007/05/03(木) 00:33:34ID:B+f7twkm
>>298
簡単過ぎる

で、いくら?
0301nobodyさん2007/05/03(木) 00:34:28ID:???
>>297
おお、サンクス。
ぶくまくった!
0302nobodyさん2007/05/03(木) 01:48:24ID:???
>>298
google adsenceのパクリシステムを作ったはいいが、
GoogleBotとチョソBotしか栗ってくれないプログラムだけどいいか?w
0303nobodyさん2007/05/03(木) 01:50:23ID:???
>>298
ほれ。

<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:ffjkYhTE
勿論ですが上記の場合
file_get_contentsの部分で例外が発生します。
0306nobodyさん2007/05/03(木) 01:57:57ID:B994S/bS
PHPだけで画面上のどのリンクをクリックしたかログをとりたいんだけど良いアイデアない?
数が多いので各リンクの後ろに$_GETはしたくない。しかも、外に飛んだのもカウントしたい。

JS使えばclickイベントでPHP呼び出していけそうだけど。
0307nobodyさん2007/05/03(木) 01:58:23ID:???
えーと、エラーハンドラ設定した時にtryの範囲を広げたり狭めたりするのは関係あるのか?
0308nobodyさん2007/05/03(木) 01:59:11ID:???
>>306
input type="image"で頑張れ
0309nobodyさん2007/05/03(木) 02:00:10ID:???
>>306
リファラー
0310nobodyさん2007/05/03(木) 02:04:16ID:???
外に飛ぶのも考えたらリファラーじゃ無理だな
ってか外に飛ぶのも含めるとjs使わない限り不可能だよ
0311nobodyさん2007/05/03(木) 02:06:46ID:B994S/bS
>>304
set_error_handlerはエラーが発生したときで
例外はset_exception_handlerだと思う

でhandlerは例外が発生してcatchをしなかった場合に呼び出されるので
catchしたら呼び出されない。

例外は、基本的にはある条件で自分で発生させて処理を続行したいときに使うんじゃないかな。
条件分岐みたいな物・・・っておもってたけどちがう?

set_error_handlerの使いどころは何だろ?使ったことないから解らん。
0312nobodyさん2007/05/03(木) 02:15:37ID:B994S/bS
>>310
ああ、そうか。あるページから、ある同じページに複数のリンクを張る場合を除けば
リンク元のページに張ってるある全てのリンクのリンク先のページのアクセスログのリファラーが
リンク元のページの「どのリンクがどれだけクリックされたか?」になるのか。

↑解りづらいけど、たぶんあってますよね。
考えてみたらそうですね。サンクス。

外に行くリンクはやっぱりJSじゃないと無理ですか?
基本的にはリファラーを含めたアクセスログを保存して、外に行くのだけJSで別にログを保存するかんじかな〜

ありがとでした。
0313nobodyさん2007/05/03(木) 02:38:25ID:ffjkYhTE
>>311
なるほど、参考になります。
色々試してましたが、エラーを管理するだけなら
try catch等使わずに、ただエラーハンドラを設定するだけで
いけるぽいですね。

try catchの用途がいまいち理解出来ません。
0314nobodyさん2007/05/03(木) 02:50:58ID:???
>>313
普通は1個の関数でエラーを全部処理なんてしないから。
0315nobodyさん2007/05/03(木) 02:54:31ID:???
>>312
何を面倒がってるのか知らんが普通にスクリプトかませばいいじゃん

>>311 
>>307はスルーかよ
結局勘違いだったってことでいいわけ?
0316nobodyさん2007/05/03(木) 04:00:11ID:0TC0EZ5+
質問です
<?phpだと有効なのに<?=だと無効になってしまいます
php.iniの設定だと思うのですがどのあたりなのかよくわかりません
よろしくお願いします
03173162007/05/03(木) 04:09:20ID:???
解決しますた。
0318いつもの人 ◆3Htx6mDqZs 2007/05/03(木) 04:09:34ID:???
>>312 header()
0319nobodyさん2007/05/03(木) 04:11:40ID:???
>>313
結城センセのリファクタリング入門でも読んでみ
例外処理の仕組があると何故便利なのかわかると思うよ

>>316
ttp://jp.php.net/manual/ja/ini.core.php
03203152007/05/03(木) 04:24:24ID:???
>>315
間違えた>>311宛ではなく>>313宛だった。
つまりset_error_handlerしたらtry〜catchしないといけないと思ってたのね。
例外処理は俺も前は訳分からなかったけどちょっと理解したら確かに便利だってことが分かったよ。
0321nobodyさん2007/05/03(木) 06:36:17ID:mwEz31pq
htmlのnoscriptを使わず、
phpでjavascriptがoffかどうかを判定するのは無理があるでしょうか?
0322nobodyさん2007/05/03(木) 07:10:04ID:???
>>321
JavaScriptで自動的にPHPやCookieなどにアクセスさせるようにして
そのアクセスがあればON、無ければOFFと判定はできるかも。
自動アクセスは単純な手だと画像としてsrc呼び出しなど。
ただ、画像だとブラウザ設定によってJavaScriptがONでも動作しなくなる可能性はある。
その辺はCookieを使う場合も同様。
Ajaxみたいなデータ通信であればそういった不都合は無いかもしれないが
使えるブラウザ自体が限られるかもしれない。

ただ、どんな手法を使うにせよ、判定結果が出るのは最初のPHPの処理が
全て終わって、次のアクセス以降のことになるけどね。
0323nobodyさん2007/05/03(木) 07:39:13ID:???
PHPできると彼女出来ますか?


24歳。おとこ
0324nobodyさん2007/05/03(木) 09:25:36ID:???
一生ニートのあなたには残念ながら・・・
0325nobodyさん2007/05/03(木) 10:53:35ID:???
class呼び出すと、functionも一緒に呼び出されるんだっけ?
0326nobodyさん2007/05/03(木) 11:05:22ID:+5Kuly7D
classの中に、メソッドA,Bがあります。
Aの中にある変数に、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:???
関数まとめとかグローバル変数代用とかの目的でクラス使わないほうがいいよ
0329nobodyさん2007/05/03(木) 11:31:11ID:???
>>326
そういう風にクラス内で共有する変数があるなら普通プロパティにする
0330nobodyさん2007/05/03(木) 11:32:29ID:+5Kuly7D
>>328
同じ内容の変数を別のメソッドでも使いたいだけなのですが、
その場合は、メソッド別に変数を定義するべきでしょうか?
ていうかそういう場面ってありませんか?
0331nobodyさん2007/05/03(木) 11:32:33ID:???
>>328
まとめる為にクラス使ったら
newするのめんどくさくね?

class使わないほうがそのままfunction呼び出せるから便利
0332nobodyさん2007/05/03(木) 11:33:54ID:+5Kuly7D
>>329
どうもありがとうございます。
プロパティの概念はよくわかっていないので、調べてきます。
0333nobodyさん2007/05/03(木) 11:35:23ID:???
>>330
いやそんな基本的なことも分からないってことはオブジェクト設計とかもどこ吹く風っしょ?
まぁ別にいいけど。
プロパティ変数使えばいいともうよ。
0334nobodyさん2007/05/03(木) 12:07:27ID:869V7SM7
PHP5.2でnamespaceもお流れになったから
globalにfunction作りまくるよりはclass使ったほうが良いと思う
newマンドクセならstaticにするべ
0335nobodyさん2007/05/03(木) 12:21:03ID:???
>>331
クラス使う目的は面倒くさいとかそうでないとかではないだろ
インスタンス化が面倒だったらstatic使えば
03363312007/05/03(木) 12:34:04ID:???
>>335
ごめ、今までクラス使ったことないからわかんない
クラスって何だろう?って思うと、皆はまとめるだけとかいうが、
俺は別に必要性を感じないから使っていない
0337nobodyさん2007/05/03(木) 12:38:35ID:???
>>336
つOOP
0338nobodyさん2007/05/03(木) 12:40:48ID:???
>プログラムの部分的な再利用がしやすくなるなどのメリットがある。
functionあるし、やっぱり必要性を感じない俺は末期wwwwww
0339nobodyさん2007/05/03(木) 12:42:34ID:???
>>338
まだ始まってすらいねーよ
0340nobodyさん2007/05/03(木) 12:44:51ID:???
>>339
まだ20歳だし、勉強していこうと思えばなんとかなるかな?


しかし、2年も独学で勉強していてここまで成長がないのは俺だけでいい
0341nobodyさん2007/05/03(木) 12:54:40ID:???
>>338
デザインパターンについて勉強してみると多分有効性が分かる
0342nobodyさん2007/05/03(木) 12:55:15ID:???
無理してOOPなんて使う必要はない。
趣味でやる場合は特に。
会社に入れば使えるようになるし、
覚えようと思って覚える必要はない。
0343nobodyさん2007/05/03(木) 13:00:11ID:???
>>341
それそれデザインパターン
まえから気になってたんだけど良い本がなかったorz
「PHPのデザインパターン」って本はないのかな・・・?

>>342
今までは趣味でしていたけど、
知り合いのWebデザイン関係の人のコネでPHPを使った簡単な仕事が入るようになった
この場合はもう趣味では済まされなくなるよな・・・
0344nobodyさん2007/05/03(木) 13:30:24ID:???
OOPの話が出るととりあえずデザインパターンって
言う奴はどうかしてると思う
0345nobodyさん2007/05/03(木) 13:30:59ID:???
>>343
お前本当に探したのか?
http://www.amazon.co.jp/dp/4798015164/
0346nobodyさん2007/05/03(木) 13:37:19ID:???
デザパタは、まずはOOPの基礎が理解できてないと読んでもわからない。
よってまずはOOP入門が先。デザパタはその次。
0347nobodyさん2007/05/03(木) 13:41:45ID:???
デザパタを意識しだすのは、結構な分量の糞コードを自分で書いてからだな。
最初はstatic,singletonだけで、クラスに関数まとめるだけでも利便性があるし。
0348nobodyさん2007/05/03(木) 13:44:23ID:???
PHP→OOP→デザパタ
0349nobodyさん2007/05/03(木) 13:47:50ID:???
オブジェクト指向を解説してるWebサイトなんて星の数ほどあるだろ。
理解したいなら真剣に読んでみたら?

手続き指向とはプログラムの設計の考え方が根本的に違うわけで、
便利になるとか不便になるとかいう次元の話ではない。
0350nobodyさん2007/05/03(木) 13:49:05ID:???
ああ、便利・不便だと語弊があるかも。
プログラム作りが楽になるとか面倒になるとかいう話ではないってこと
0351nobodyさん2007/05/03(木) 14:10:43ID:???
cURL関数でHTTPコードを参照するにはどうすればいいんでしょう?

リモートサーバが「404」を返して失敗したとか
「200」を返して成功したとか
の判定をしたいと思ってます。
0352nobodyさん2007/05/03(木) 14:26:51ID:???
>>351
curl_getinfo関数は?

あと>>1読んでね
0353nobodyさん2007/05/03(木) 14:32:53ID:???
>>351
以前はcURL結構使ってたけど使いづらい面が多いので、
PEAR辺りのHTTP接続ライブラリ使ったほうが良いよ。

http://jp2.php.net/manual/ja/function.curl-getinfo.php
CURLINFO_HTTP_CODE
0354nobodyさん2007/05/03(木) 14:43:28ID:???
容量を節約する為に、長い文字列を短くしてDBに格納しようと思っているんですが
md5は日本語何文字程度までなら暗号化→複合が可能なんでしょうか?
0355nobodyさん2007/05/03(木) 14:45:02ID:???
>>354
MD5は不可逆
0356nobodyさん2007/05/03(木) 14:45:48ID:???
>>354
MD5は暗号じゃないし、複合もできない。
03573542007/05/03(木) 14:48:49ID:eLSTvBdp
oh...
ありがとうございました。
0358nobodyさん2007/05/03(木) 14:52:21ID:???
>>354
まあ、じっくりよんでくれや
ttp://ja.wikipedia.org/wiki/MD5

たんに圧縮したいならbz2関数でも使えば
0359nobodyさん2007/05/03(木) 16:54:25ID:grlGgfbD
PHPとMYSQLで日本語文字のクエリ抽出でつまずいています。
具具って見るとSQLでのマルチバイト文字抽出はPHPが対応していない
ような記事を見かけたのですが、これを補う方法ありませんでしょうか?
0360nobodyさん2007/05/03(木) 17:14:31ID:???
フィールドで抽出してるんだけど、レコード全体の数も入れときたい場合は
どういうSQL文かけばいいでしょうかね?

DBはMySqlです。
0361nobodyさん2007/05/03(木) 18:11:50ID:???
>>359
普通に日本語もできますよ

>>360
PHP関係あんの?
03623592007/05/03(木) 18:28:20ID:grlGgfbD
>>361
たとえば、下記のようにすると「つて」を含まないレコードも
抽出されてしまいます。
どうすればよいでしょうか?
おねがいします。

$str="つて";
$sql="SELECT * FORM main WHERE fld='$str';";
03633592007/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:???
文字コードの問題じゃないですか?
03653592007/05/03(木) 18:33:08ID:grlGgfbD
何度もすいません、更に訂正です
$sql="SELECT * FORM main WHERE fld='%$str%';";
0366nobodyさん2007/05/03(木) 18:33:12ID:???
>>363
上と下で何が違うか分からんけどSQL文の最後のセミコロンっているんだっけ?
あとできるだけ実際のコードを出したほうが解決しやすいと思いますよ
0367nobodyさん2007/05/03(木) 18:34:06ID:???
likeじゃないの?
03683592007/05/03(木) 18:35:23ID:grlGgfbD
サーバーはwin2003の文字コードはSJISでMYSQLの方がUTF-8です。
0369nobodyさん2007/05/03(木) 18:36:28ID:???
>>368
とりあえず全部utf-8にすればok
0370nobodyさん2007/05/03(木) 18:37:36ID:???
$sql = "SELECT * FROM main WHERE fld LIKE BINARY '%$str%';";
03713592007/05/03(木) 18:37:41ID:grlGgfbD
>>367
あ、すいません。そうですLIKEでした。慌ててしまったもんで間違いましたすいません。
$sql="SELECT * FORM main WHERE fld LIKE '$str';"; でしたね。
03723592007/05/03(木) 18:44:14ID:grlGgfbD
>>370様、ありがとうございました。
うまく抽出できるようになりました。
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:???
<? if ($title == 1) { ?>
■タイトル1
■タイトル2
■タイトル3
<? } else if ($title == 2) { ?>
■タイトル1
■タイトル2
 □タイトル2の内容1
 □タイトル2の内容2
■タイトル3
<? } ?>
0376nobodyさん2007/05/03(木) 19:44:49ID:???
そのままifなりswitchなりで分岐すればいいんじゃ?
0377nobodyさん2007/05/03(木) 20:19:34ID:???
レスありがとうございます。
やはりifで分岐するのがいいんですね。

タイトルの数が多いのでfile()と組み合わせてやってみます〜
file()で開いて書き出すときにifすればいいのかな?
朝まで悩んでみますw
0378nobodyさん2007/05/03(木) 20:21:19ID:???
>>37
fileと組み合わせるってどういう意味?
番号ごとに行で区切ったらその行のデータだけもってくればいいんじゃね?
0379nobodyさん2007/05/03(木) 20:23:47ID:???
classって呼び出すと、中にあるfunctionまで全部呼び出されるの?
ひとつのclassにfunctionいっぱい書いてたら、そのうちのひとつ呼び出したくても重くならね?
0380nobodyさん2007/05/03(木) 20:31:24ID:Ur5keSLI
変数$wに0〜300まで値が入り、範囲を3種類に分けた処理をしたい場合どうすればいいのでしょうか?
例えば0〜100までの場合は処理1
101〜200までの場合は処理2
201〜300までの場合は処理3

IF分でできるのでしょうか?
0381nobodyさん2007/05/03(木) 20:35:58ID:???
>>379
呼び出されねーよ
0382nobodyさん2007/05/03(木) 20:37:58ID:???
>>380
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:???
そりゃ、もし$wが0より大きいか100より小さい場合に処理1を返す、って書いてるんだから
当然そうなるわな
0385nobodyさん2007/05/03(木) 20:46:32ID:???
>>383
orになってるからそれであってるけど、やりたい事とは違うようだな。
0386nobodyさん2007/05/03(木) 20:53:55ID:???
andにしたら出来ました!!
30分無駄な時間をすごしたo... rz
0387nobodyさん2007/05/03(木) 20:55:23ID:???
>>386
>>1
0388nobodyさん2007/05/03(木) 20:59:52ID:4b9rb2Ka
オブジェクト指向の仕組みがわかってない状態なんだけど、

class=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:???
印鑑OOPkwskw
0393nobodyさん2007/05/03(木) 21:22:37ID:???
印鑑に例えたら、いんかんだろ
0394nobodyさん2007/05/03(木) 21:25:55ID:4b9rb2Ka
「印鑑」をオブジェクトに見立てる。
彫られた名前、直径、長さなどの属性を「プロパティ」
押すという手続きを「メゾット」

こんな感じで載ってる
(秀和システムの書籍「PHP5逆引き大全500の極意」より)
0395nobodyさん2007/05/03(木) 21:30:28ID:???
押すしかメソッドねーじゃんw
0396nobodyさん2007/05/03(木) 21:32:11ID:???
>>394
また新しいおかしなたとえを考え出したな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
class 印鑑
{
....
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
そだね、必要性を感じてきたらでいっか
いつか必要になるかもしれんので覚えておこうと思っただけなんだ、ごめん・・・
04003982007/05/03(木) 21:49:13ID:???
なぜかIDでちゃったw。質問じゃないよ。

デザパタは
【GoF】デザインパターン 6
ttp://pc11.2ch.net/test/read.cgi/tech/1141846078/
などで
0401nobodyさん2007/05/03(木) 21:55:54ID:???
>>366
PHPのMySQL関数でクエリを送る場合「いれない」が正解。

1行だけしか送れないので不要という理由もあるけど
説明でわざわざ「いれない」との記述があるので
入れると寧ろどこかで悪影響がある可能性も考えられる。
0402nobodyさん2007/05/03(木) 23:48:58ID:???
オライリーの詳細正規表現の本って
通常のと第2版ってのがあるけどどっちがいいのよ?
0403nobodyさん2007/05/04(金) 00:25:28ID:???
複数(10個ほど)のSubmitを配置し、どのボタンが押されたか知る方法ってありますか?
name属性に"Submit_1"もあれば"Submit_158"もあったり数字の部分は動的に変えています。
なにか方法はありますか?
0404nobodyさん2007/05/04(金) 00:26:31ID:???
>>403
ID
0405nobodyさん2007/05/04(金) 00:29:19ID:???
へ?nameで渡るだろ?
0406nobodyさん2007/05/04(金) 00:29:37ID:7svLyDoe
さっきサーバーにPHP5をインストールしたのですが

$a = substr($a,1,2);

substrが使えません。
なぜ?
0407nobodyさん2007/05/04(金) 00:30:52ID:???
>>406
使えないとは?
エラーが出るの?
04084062007/05/04(金) 00:44:29ID:???
解決しますた
0409nobodyさん2007/05/04(金) 00:51:01ID:???
>>403
意味がワカランが・・・「動的」ってのが鍵なのか?
だったら、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:???
ID:oManko9x
2chと同じようにこんな感じでユニークなIDを作りたい
uniqidやmd5は小文字しかないのでダメでした。
どうやったら作れますか?
0411nobodyさん2007/05/04(金) 01:24:10ID:???
>>410
ID
0412nobodyさん2007/05/04(金) 01:30:41ID:???
if ( $mailaddress =~ /^(.*)\@(.*)$/ ) { $localpart = $1; $domain = $2; }

perlで上のような構文を見かけたんですが、
phpで似たような構文は可能でしょうか?
それともpreg_match()などの関数を使う必要があるでしょうか?
0413nobodyさん2007/05/04(金) 01:35:21ID:???
>>410
大文字がなきゃだめならランダムで小文字を大文字に変換すれば
>>412
関数使うべし
04144102007/05/04(金) 01:56:19ID:???
だからどうやるのかPHPでおしえてよ
0415nobodyさん2007/05/04(金) 02:10:24ID:4Tv/1S6h
if(isset($_GET['key'])){
 if(is_numeric($_GET['key'])){ $key = intval($_GET['key']); }
}

てやってたんだけど変数セットされてなかったらis_numericがfalse返すから
if(is_numeric($_GET['key'])){ $key = intval($_GET['key']); }
これだけでいい?
04164032007/05/04(金) 02:11:03ID:???
name属性まで配列に出来るのですね
<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もやってみましたがダメみたいです。
どうやれば取得できるのでしょうか?
04174032007/05/04(金) 02:15:16ID:???
質問ばかりでもアレなので・・・
>>410
echo md5(uniqid(mt_rand(), TRUE));
とすれば32桁のユニークなIDが取れます。
あとは適当に切って取りたい桁数にしてあければいいのでは?
0418nobodyさん2007/05/04(金) 02:16:52ID:???
>>410
IPとか絡めてDESハッシュにしたら。

>>415
Undefined indexになるからよくない。

>>416
<input type="submit" name="send" value="120" />
ではダメなん?
04194032007/05/04(金) 02:21:09ID:???
>>418
それが出来ると一番簡単なのですが、「訂正」とか「削除」という表記のボタンなのでvalueは変えれないのです。
0420nobodyさん2007/05/04(金) 02:22:08ID:???
>>416
$_POST['name']['30']に渡ってくるんだろ?
だったらそれのキーを取ればいいじゃん。
まぁ俺だったら面倒だからhidden使うけど。
0421nobodyさん2007/05/04(金) 02:28:48ID:???
>>419
そうなると
key($_POST['send'])
かな。
04224032007/05/04(金) 02:35:19ID:???
>>420
取れました!!
$_POSTの後に何も書かなかったのがダメだったのですね
['name']と入れたら取得できました。
夜分にお騒がせしました。

今までtextのサイズを0pxにしていましたがhiddenを今まで知りませんでした。
便利そうですね。早速使って見ます。
0423nobodyさん2007/05/04(金) 02:44:24ID:4Tv/1S6h
>418
Undefined indexだけなら実用上問題ないか
thx
0424nobodyさん2007/05/04(金) 05:32:41ID:???
> 今までtextのサイズを0pxにしていましたがhiddenを今まで知りませんでした。
(;´Д`)
0425nobodyさん2007/05/04(金) 05:52:42ID:???
質問なのにID出さない、かってに自己解決する奴が大杉
自演に必死真面目に答えてる奴もどうかと思うわ
0426nobodyさん2007/05/04(金) 06:48:35ID:???
お前のほうがどうかと思うわ
04274092007/05/04(金) 07:00:45ID:???
自演かどうか別として
>>422
hiddenなんか使ってもあなたのやりたいことは、無理。
form要素をsubmit分使うなら別だけど、それなら、もともとの質問>>403と合わない。
0428nobodyさん2007/05/04(金) 11:05:02ID:/O1lAt+h
wicketだ、wicket!
0429nobodyさん2007/05/04(金) 13:27:04ID:???
PHPって

HTMLもろくに知らないやつでもできるんだーwww
04304032007/05/04(金) 13:46:28ID:???
ASP.NETからPHPに挑戦していますwwwwww
HTMLは多少知っている程度でも出来るみたいですねwwww
今はなんとなく書き方が判ったからなんとなく出来てますwwwwwwwww
0431nobodyさん2007/05/04(金) 13:47:53ID:???
そりゃスクリプト言語なんだから知らなくてもできるだろ
HTML使わないケースもあるし
0432nobodyさん2007/05/04(金) 16:31:43ID:tMlUrrmD
PHPを5.0.4から5.2.2にアップグレードしました。
PHPスクリプトで作った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:???
・ApacheのPHPIniDir設定は?
・php.iniのextention_dirの設定は?
・正確なエラー文は?
・php_sqlite.dllはちゃんとあるの?
0434nobodyさん2007/05/04(金) 16:50:51ID:Cy0pzuiX
>>425
必死真面目とか言うけど、このスレ程解答者が情報出し渋るスレも中々ないから。
昔風の頭の固いお荷物共が答えてる感じしかしない。
0435nobodyさん2007/05/04(金) 16:56:52ID:tMlUrrmD
>>433
早速ありがとうございます。
・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:???
PHPIniDir設定は大いに関係ありますです。
エラー文はPHPのFatal Errorではなくてスクリプトのエラー表示なのね?
それならコード見せて。
0437nobodyさん2007/05/04(金) 17:19:13ID:LLBEYpsm
class test {

public $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
>>436
丁寧にありがとうございます。
>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で前述のエラーが出るようになりました。
0439nobodyさん2007/05/04(金) 17:23:26ID:???
>>437
$obj = new test;
$obj->ech("aaa","bbb","ccc");
0440nobodyさん2007/05/04(金) 17:23:34ID:???
>>438
httpd.confの一番最後にでもそれを付け足して再起動して試してみて。

>>437
それだと引数で渡してる先はコンストラクタ。
echメソッドには何も渡してない。
0441nobodyさん2007/05/04(金) 17:30:29ID:LLBEYpsm
つまり、class内、function外に書くとコンストラクタに渡すのですか・・・
classを宣言するときに、引数をclassに渡して、それをそのクラス内で使いまわしたい場合はどのようにすれば良いのですか?
0442nobodyさん2007/05/04(金) 17:34:02ID:tMlUrrmD
>>440
付け加えてPC自体を再起動してみましたが状況は変わりませんでした。
PHPinfoで見るべき場所とかありますか?
0443nobodyさん2007/05/04(金) 17:36:41ID:???
>>441
コンストラクタの中でプロパティに代入すれば?
0444nobodyさん2007/05/04(金) 17:39:40ID:???
>>442
Configuration File (php.ini) Path 
extension_dir
mysqliteの段落
0445nobodyさん2007/05/04(金) 17:40:32ID:LLBEYpsm
>>443
サンクス
その方法でやってみます
0446nobodyさん2007/05/04(金) 17:46:22ID:tMlUrrmD
>>444
Configuration 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:???
mysqliteってなんだよ
0448nobodyさん2007/05/04(金) 17:52:07ID:???
mysqliteワロタwwwwwwwwww
何で合体してるんだwwwwwwwwww
0449nobodyさん2007/05/04(金) 18:02:04ID:???
フレームワークに、データベース管理が簡単になるようなものとか入ってる?
あとは、会員システムが作りやすくなる補助的なもの
0450nobodyさん2007/05/04(金) 18:13:49ID:???
>>435
> 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
>>450
>それ、どっから何を再コピーしてきたのさ?そんな操作は不要なはずだぞ?
念のためにphp-5.2.2-Win32をDLして解凍して
extフォルダー内からコピーし直しました。
再インストールしてみます。

0452nobodyさん2007/05/04(金) 18:24:27ID:???
iniで指定しなかったらSQLiteて項目も出ないはずだから
そのコピーが問題なんじゃね。
まずphpinfoで認識されるかどうかを確実にすることが先決だな。
0453nobodyさん2007/05/04(金) 18:31:06ID:tMlUrrmD
>>450
どーやら再インストールしようとしたら解決しました。
えーと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:???
>>453
> えーとwindowsのsystem32フォルダに以前のバージョンのdllを放置してたのが原因だったようです。
要らん再コピーとか無駄なアレンジを加えたための単なる自爆だな。
04554532007/05/04(金) 18:48:28ID:???
>要らん再コピー
これはこれで動くようになったという人の話をググって見つけたので試してみました。
要るかどうか判断できなかったので。。
でもそれ以前の問題だったようですね。すいません。
0456nobodyさん2007/05/04(金) 18:59:04ID:???
>>453
いつも思うんだけど、解決に尽力してくれたその他多くの人達はどうでもいいの?
0457nobodyさん2007/05/04(金) 19:14:21ID:???
>>456
アドバイスありがとうって書いてるのに
それ以上の何を望んでるんだろ?
0458nobodyさん2007/05/04(金) 19:21:06ID:???
>>456見たいなのがこのスレを駄目にしている
まぁいまさら遅いか
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:???
>>457>>458
礼に無神経な質問者が多いから駄目なんだよ。
言われる前に気を払わないと。
てか453は言われてもシカトだしな。
0463nobodyさん2007/05/04(金) 20:38:16ID:???
なにこいつ
04644532007/05/04(金) 21:15:30ID:???
どうもすみませんでした。
離席してました。
ご回答くださった皆さん、本当にありがとうございました。
0465nobodyさん2007/05/04(金) 21:43:07ID:4LncoC7V
system32になんで入ってるの?
PHP5.xみたいなディレクトリに収まってるはずじゃ
0466nobodyさん2007/05/04(金) 21:58:58ID:KgO3BPJP
エラーの発見・解決をしやすくする方法を教えろ。
0467nobodyさん2007/05/04(金) 22:03:51ID:???
>>466
自分で探せカス
0468nobodyさん2007/05/04(金) 22:05:55ID:???
【PHP】下らねぇ質問はここに書き込みやがれ

そもそもこのタイトルが悪い

このタイトルを変えない限りここは基地外の巣靴であり続ける

0469nobodyさん2007/05/04(金) 22:10:33ID:???
>>468
なんかいその騒動すれば気がすむんだよ
0470nobodyさん2007/05/04(金) 22:26:10ID:???
結局何も変わらないのか……はぁ…。
0471nobodyさん2007/05/04(金) 22:43:26ID:???
>>466
http://pc11.2ch.net/test/read.cgi/php/1158647441/l50
0472nobodyさん2007/05/04(金) 22:51:43ID:CQ+J25Qf
.htaccessへ
RewriteEngine 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
PHPかJSPサーブレットを使って、MySQLを使うサイトを作ろうと考えているのですが
アクセス数が万などになって、訪れる1人1人が頻繁にSQL文を発行するようなサイトの場合、
PHPで作成した場合とJSP&サーブレットで作成した場合ではどの程度レスポンスに差が出てくるのでしょうか?

〜のサイトがPHPを使ってるなどという情報も教えていただけたら、と思っています。
0474nobodyさん2007/05/04(金) 23:22:56ID:???
アクセス数が万って1秒間に?
0475nobodyさん2007/05/04(金) 23:38:16ID:???
>>472
>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
>>475
レスありがとう。
/ は何かのゴミです。.htaccessには入ってないです。
0477nobodyさん2007/05/05(土) 00:07:01ID:???
じゃあ問題を2つにわけなさいよ
.htaccessの書式については
read.phpの冒頭に
var_dump($_GET);を書いてで引数が渡っているかどうかを確認

ここが問題なきゃ後者のfile includeの部分で失敗している。
0478nobodyさん2007/05/05(土) 00:18:42ID:???
phpを勉強しようとローカルサーバでインストールしました。
phpのバージョンは 4.4.7 です。

オブジェクトのメンバへのアクセスが
$dbTbl = new clsDB();
$dbTbl->db2table("hogehoge");
だとNGで
$dbTbl = new clsDB();
$dbTbl.db2table("hogehoge");
だとうまくいきます。

どの資料でも -> でアクセスしているので -> にしたいのですが、
原因は何でしょうか?
0479nobodyさん2007/05/05(土) 00:25:48ID:???
1.NGじゃ分からん。何がどうなる。
2.うまくいくじゃ分からん。何がどうなる。
ちなみにPHPでメンバにドットではアクセスできません。
04804782007/05/05(土) 00:34:58ID:???
>>478
メンバにドットでアクセスできて、アロー演算子でできなくて困ってます。

$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
が表示できます。
なぜだろう…
0481nobodyさん2007/05/05(土) 00:37:22ID:???
>>434
日本語でおk
0482nobodyさん2007/05/05(土) 00:38:17ID:???
文字列連結になってるだけだし
db2tableってメソッドになってないし
0483nobodyさん2007/05/05(土) 00:38:30ID:???
>>446の人気に嫉妬
0484nobodyさん2007/05/05(土) 00:48:35ID:???
>>480
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
str_replaceだと、ヒットしたすべての語が変換されてしまいますが
最初にヒットした箇所だけを変換したい場合はどうすればいいですか?
04864842007/05/05(土) 00:59:36ID:???
つか経験者が「ドットじゃ無理」って言ってるのに
「いいやこっちの方が正しい。アクセス可能。」と言い張る神経が理解できない。
もしかして間違ってるのは自分のほうかな?と省みることは無いんだろうか。
自分のやってることは全て正しくて、間違ってるのは周りに決まってると思ってるんだろうか。

>>485
preg_replace
0487nobodyさん2007/05/05(土) 01:08:53ID:wIBq1T/y
PHPバージョンアップ記念あげ
0488nobodyさん2007/05/05(土) 01:58:52ID:???
おまえらコンパイル画面でも見て悟りを開け
行く文字のながれは絶えずして、しかも本のソースにあらずってな
0489nobodyさん2007/05/05(土) 02:45:33ID:???
日本語でおk
0490nobodyさん2007/05/05(土) 03:07:58ID:1dXIFJS6
>>477
レスありがとうございます。
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:1lZd7YEC
<HTML>
TEST 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:???
>>491
素直にソース出したほうが早い
なんとなくpreg_match_allのマニュアル読み直すと解決しそうな匂いはする
0493nobodyさん2007/05/05(土) 04:04:49ID:???
正規表現自体間違ってるよ
0494nobodyさん2007/05/05(土) 04:09:10ID:???
>>491
単に改行コードが\r\nなだけじゃ?
初めから終わりまで指定してまうと
その間の全ての文字を考慮しないといけなくなるから
(もちろんそれが必要になる場合もあるけど)
'/TEST ([[:digit:]]+)/'
その場合単にこうしてしまった方がいいと思うけど。
04954942007/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:2h7OPxMf
>>1
0499nobodyさん2007/05/05(土) 06:49:12ID:???
>>496
正規表現に変換?
正規表現で置換?
0500nobodyさん2007/05/05(土) 08:05:14ID:???
>>499
正規表現で置換です
preg_quoteってのがあるみたいですね
0501nobodyさん2007/05/05(土) 10:29:56ID:???
ランダムな文字列から全角・半角数字を取り除く方法を教えてください。

例、

こども人口、26年連続減少の1738万人
 ↓
こども人口、年連続減少の万人
0502nobodyさん2007/05/05(土) 11:17:37ID:???
>>498
0503nobodyさん2007/05/05(土) 11:20:07ID:???
>>501
UTF-8ならpreg_replaceでuオプションを付けて、
他のエンコードならmb_ereg_replaceで、
[0-90-9]を指定。
0504nobodyさん2007/05/05(土) 11:24:53ID:???
session.gc_maxlifetimeで設定した時間以下で
セッションが勝手に破棄されることってありますか?
maxのlifetimeという表現が気になります
05055012007/05/05(土) 11:28:20ID:???
>>503
ありがとう御座います

>>502
分からないなら黙ってれば?
05065012007/05/05(土) 11:50:38ID:???
なんかレベルひくいよねここ
0507nobodyさん2007/05/05(土) 12:13:54ID:???
ワロタ
0508nobodyさん2007/05/05(土) 12:29:09ID:???
>>500
置換される側なら別にエスケープする必要ないべ
0509nobodyさん2007/05/05(土) 13:13:52ID:???
今日からphp始めました。
さっき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再起動するの忘れた。
もしかしてそれのせい?
0510nobodyさん2007/05/05(土) 13:21:14ID:???
>>509
俺がPHPを伝授するスレの前半をよめ
0511nobodyさん2007/05/05(土) 13:22:14ID:???
じゃしろよ
0512nobodyさん2007/05/05(土) 14:51:25ID:???
だから質問者はID出せと何度言ったら。
面白半分に騙る奴が出て来るんだよ馬鹿。
0513nobodyさん2007/05/05(土) 15:35:13ID:KTSUFz5D
include, require, readfile などでファイルを読み込んで出力する際に
ファイルロックはしておく必要があるのでしょうか?

flock は使えないみたいですし…
読み込むだけなら別にロックしなくてもいいんですかね?
0514nobodyさん2007/05/05(土) 15:42:13ID:???
>読み込むだけなら別にロックしなくてもいいんですかね?

そりゃそうだ
05155132007/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:???
何をやったらうまくいかなかったの?
05215192007/05/05(土) 18:50:54ID:H+RxaHTQ
>>520
$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:???
>>519
$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);

こんな感じか
パターンかなり適当だからマッチしない場合には修正してくれ
正規表現はマニュアル見て勉強するしかない
05235192007/05/05(土) 19:57:17ID:H+RxaHTQ
>>522
$pattern = '!<a.+href=".+/(\d+).+".+>!';
$replace = '<a href="#\1">';
これだと</a>まで巻き込んでしまったので

$pattern = '!<a.+href=".+/(\d+).+".+>(.+)</a>!';
$replace = '<a href="#\1">\2</a>';
これでうまくいきました。有難うございました。
0524nobodyさん2007/05/05(土) 20:10:21ID:???
>>523
お前の元発言が</a>とか書いてなかったからだろ
0525nobodyさん2007/05/05(土) 23:33:15ID:cnfZ7N5Y
gzencodeって関数あるじゃないですか。
で、その逆の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:???
>>525
あるじゃん
ttp://jp.php.net/manual/ja/function.gzdecode.php
目的に合うかわしらんが
0528nobodyさん2007/05/06(日) 01:12:42ID:???
527はレスの日本語も読めない人
0529nobodyさん2007/05/06(日) 01:59:55ID:mYMYvtVv
複数のウェブアプリを一つのサーバーに入れていて、
各々のウェブアプリのセッションの寿命設定が違う場合、
他のウェブアプリが走らせたガベージコレクションによって
別のウェブアプリのセッションファイルが
目論見より早い段階で掃除されてしまう、
ということはありえるでしょうか?
ありえるとしたら、
アプリごとに、セッションパスを必ず分けなくてはいけない…
ということでしょうか?
0530nobodyさん2007/05/06(日) 02:31:53ID:???
>>529
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:???
>>529
セッションパスとセッション接頭子が全く一緒なら
そりゃ混ぜこぜにされちゃって掃除対象になっちゃうのでは。
session.save_pathかsession.nameのどっちかは
変えとかないといかんのじゃないかな。
うちはセッションルールが異なるアプリの場合、
session.save_pathは一緒だけどsession.nameをそれぞれ変えてる。
0532nobodyさん2007/05/06(日) 02:59:20ID:???
>>529
http://jp.php.net/manual/ja/ref.session.php
> 注意: 異なる値を session.gc_maxlifetime に指定している 別々のスクリプトがセッションデータの保存場所を共有している場合、 一番小さい設定値に達した時点でデータが消去されます。このような場合には、 お互いに session.save_path を使用します。

他のノイズは無視して下さい。
0533nobodyさん2007/05/06(日) 03:00:50ID:???
>>530
その「寿命」の設定が全く異なる場合に、
長命設定のものが短命設定のものに巻き込まれて
削除されてしまうのを心配してるんじゃ?
何を持って
> それは既に寿命の切れたセッション情報だから問題ない
と言ってるんだろう。
0534nobodyさん2007/05/06(日) 03:05:01ID:???
>>531
session.nameってURLのパラメータ識別子であって接頭子なんかじゃないぞ。
セッション情報は session.save_path/sess_* で保存されてるんだから
session.save_pathが一緒である限り他と区別する方法なんてない。
0535nobodyさん2007/05/06(日) 03:10:41ID:WP5rGYZn
setcookie("i_id" , "hoge" , time() + 60 * 60 * 24 * 7);
とクッキーをセットした場合、セットしたディレクトリのみ有効?
上のディレクトリも有効にする事って出来ない?
0536nobodyさん2007/05/06(日) 03:20:24ID:???
>>533
ガーベジコレクタは寿命の切れたものしか削除
しないだろ?
だったら>>530の言うように寿命がそれぞれ違っ
ても問題ないんじゃない?
05375292007/05/06(日) 03:22:18ID:???
ご回答ありがとうございました
最低の設定で掃除されてしまうとは・・・
セッションセーブパスを必ず設定することを習慣にした方が
いいかもしれないですね
0538nobodyさん2007/05/06(日) 03:27:27ID:???
>>536
寿命は生成時には決められない、ということでは?
gc_maxlifetimeは文字通りGCに対してだけの設定で、
セッションファイルに「このファイルの寿命はここまで」という属性を
与えるわけではないと。
0539nobodyさん2007/05/06(日) 03:39:48ID:???
>>538
なるほど。いや勉強になった

しかし俺が言うのもあれだがセッション関連の話題は毎スレ出てくるな
まとめをテンプレに入れたほうがいいのかな?
0540nobodyさん2007/05/06(日) 03:48:36ID:???
【PHP】セッションについて語ろう!【PHP】
http://pc11.2ch.net/test/read.cgi/php/1064399467/
0541nobodyさん2007/05/06(日) 03:57:09ID:???
>>535
マニュアル読めよー
引数4番目がディレクトリの設定。
0542nobodyさん2007/05/06(日) 04:50:39ID:mYMYvtVv
session.bug_compat_42
session.bug_compat_warn
こんなディレクティブの存在をはじめて知りました
説明を読むと、
本来はsession.bug_compat_42は0にしておくのがベターだと思うのですが
何故か1になっていました。
で、session.bug_compat_warnも1になっているのですが、警告されません。
エラーリポートはE_ALLです。
バージョンは5.1.6です。
PHP5ではsession.bug_compat_42は無視されているのでしょうか?
05435252007/05/06(日) 05:36:49ID:7LnaFZ8P
gzdecodeが悪かったわけではなく自分が、とちっていたようです。すいません。
レスポンスされたデータを適切に処理していなかったため
gzdecodeでエラーを返していたみたいで、その壊れたデータをgzopenを使って処理した場合には
なぜかうまく処理できていたというだけのようです。
具体的にはTransfer-Encoding: chunkedの時に
40
hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
3a
hogehogehogehogehogehogehogehogehogehogehogehogehogehogeho
0
のように返ってくるデータを
全部つなげてからgzdecodeしなければならないところを
切れたままのデータにgzdecode処理してしまっていたのが原因でした。
レスくれた人ありがとうございました。
05445422007/05/06(日) 08:20:18ID:???
http://hamoblo.com/simple-eye/index.php?type=1&entryId=6
ここのブログによると
実際に代入する段階で警告が出るようです
いずれにしろ検索して出てくる記事の少なさからも
かなりマニアックな機能のようで…。
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:???
そして無駄なログが増えて続けて2ちゃんでるはデブになってゆく
0549nobodyさん2007/05/06(日) 16:09:13ID:???
だがそれがいい
0550nobodyさん2007/05/06(日) 16:16:08ID:???
うんこ
0551nobodyさん2007/05/06(日) 16:52:18ID:???
>>542
昔、グローバル変数とSESSIONがカチ会うとSESSIONが上書きされる現象に悩まされたが
原因はそれかあああ
session変数にses_を付ける方法でしのいだがとんでもないバグだな。
PHPのクオリティーの低さは異常。
0552nobodyさん2007/05/06(日) 17:30:45ID:bSP5KVqH
winXP
Apache2.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:bSP5KVqH
エラーlogでは
select_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:zIFA24Jt
handan(-53) >no
handan(aaa32) >no
handan(4223) >yes
handan(0) >yes
handan(ads8ds) >no
handan(000333) >no
というふうに
正の整数+0ならYESと返す関数が見つかりません
あれば教えてください。
0555nobodyさん2007/05/06(日) 18:31:03ID:zIFA24Jt
別にYESでなくてもいいので判断する関数をお願いします。
0556nobodyさん2007/05/06(日) 18:43:18ID:???
$hoge===0
0557nobodyさん2007/05/06(日) 19:10:25ID:???
>>554
ctype_digit()
0558nobodyさん2007/05/06(日) 19:11:21ID:???
って000333はnoなのか。なんでだ。
05595522007/05/06(日) 19:17:43ID:bSP5KVqH
Webprog板のphp関係下質スレで聞けと誘導されてきたのですが
ここもスレ違いでしょうか
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万件ですが。

ただ、この考え方で良いのかどうか不安です。良い知恵をお借り出来ないでしょうか。
0562nobodyさん2007/05/06(日) 19:27:13ID:???
>>560
「0.00333のtypoでした」かもしれない。本人待ちがいいんでない?
0563nobodyさん2007/05/06(日) 19:32:08ID:???
>>561
俺ならアクセス毎に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で取得できるのはわかるのですが、どなたか仕組みを知りませんか?
05655612007/05/06(日) 19:38:27ID:???
>>563
ありがとうございます。なんとなく糸口が見えてきたので、
もう少しお願いします。

>1日1回バッチ処理でユーザ毎の カウントを集計してログを削除、にする。

との事ですが、これはログファイルを生成して日が終わった後に
修正したデータをDBに登録する。

と言う事でしょうか?それとも日のアクセスも一時保存用テーブルに保存して、
集計時に集計したデータを履歴用テーブルに保存し、一時保存のテーブルは
空にする と言う事でしょうか?
0566nobodyさん2007/05/06(日) 19:38:54ID:zIFA24Jt
>>560
おお、これです。
感謝します。

解答してくれた方もありがとうございました

誤入力を避けるために000333は禁止する方向でやってます
0567nobodyさん2007/05/06(日) 19:41:09ID:???
>>552
manual読んでもわからないならXAMPPでも入れておけば良いんじゃないかしら。
0568nobodyさん2007/05/06(日) 19:45:23ID:???
>>564
mod_rewite + router
0569nobodyさん2007/05/06(日) 19:56:41ID:bSP5KVqH
>>567
XAMPPの最新版を入れても同じエラーになります
0570nobodyさん2007/05/06(日) 19:57:07ID:CCThxWoF
あるサイトからフィルター的に部分部分で表示しようと思っているんだが、
もしサイトが更新されても安定して取得・表示する方法でいいアイデアってないかな?
今はサイトを取得してからeregで特定タグなりを目印にして出力しているんだが…
0571nobodyさん2007/05/06(日) 20:13:39ID:OoDHPbxz
$a = ($b) ? $c : $d;

これってどういう意味?
一応調べたんだけど記号だからうまく調べられなかった
0572nobodyさん2007/05/06(日) 20:17:03ID:jInvdC5H
三項演算子 マニュアルの演算子のとこ
0573nobodyさん2007/05/06(日) 20:19:18ID:OoDHPbxz
>>572
サンクス!
0574nobodyさん2007/05/06(日) 20:31:12ID:???
>>564
$_SERVER['QUERY_STRING']
0575nobodyさん2007/05/06(日) 20:31:58ID:???
>>570
>更新されても安定して取得・表示する方法
ない。相手側の勝手だから。RSSとかやってるなら別だけど。
0576nobodyさん2007/05/06(日) 20:33:11ID:???
>>565
その辺の選択はアクセス量などに応じて
好きな方でいいと思う。
0577nobodyさん2007/05/06(日) 20:35:17ID:???
>>570
そもそも部分部分に表示って
どういう基準で選り分けてんだ
0578nobodyさん2007/05/06(日) 20:35:48ID:UWEsfuIO
http://***/?hoge=foo
じゃなくて
http://***/?hoge
とか
http://***/hoge
でやってるサイトが多いのは何で?
0579nobodyさん2007/05/06(日) 20:37:10ID:???
その方がかっこいいからじゃね?
0580nobodyさん2007/05/06(日) 20:37:24ID:???
>>578
SEO対策の一環
0581nobodyさん2007/05/06(日) 20:40:07ID:???
>>569
apache再起動した?
最初からXAMPPなの?別個に入れた後XAMPPも入れたの?
ちなみにいつエラーって言われるのさ?
もう一回最初から手順どおりやって見れ。そのほうが早いよ。
0582nobodyさん2007/05/06(日) 21:30:55ID:???
>>564
$_SERVER['PATH_INFO']
0583nobodyさん2007/05/06(日) 22:46:11ID:???
>>582
>>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:???
$_SERVER環境変数のうちPATH_INFOは、環境によって色々問題あるからね。
一番不安定。俺ならREQUEST_URI使うな。
0585nobodyさん2007/05/06(日) 22:58:29ID:???
あるUNIX時間をフォーマットして「分」を出す関数ありませんか?
0586nobodyさん2007/05/06(日) 22:59:28ID:???
>>585
date(s);
0587nobodyさん2007/05/06(日) 23:05:09ID:???
 
0588nobodyさん2007/05/06(日) 23:06:51ID:???
>>586
ありがとうございます。
0589nobodyさん2007/05/06(日) 23:41:18ID:???
>>583
http://example.com/index.php/hogehoge/fugafuga
設定次第で http://example.com/index/hogehoge/fugafuga
とかもできる
0590nobodyさん2007/05/06(日) 23:44:27ID:???
>>589
設定次第とはどんなの?
0591nobodyさん2007/05/06(日) 23:46:17ID:???
>>583 「動的URL 静的URL 」 で検索.
0592nobodyさん2007/05/06(日) 23:48:11ID:???
めんどくさいから一言でおながい
0593nobodyさん2007/05/06(日) 23:49:30ID:???
一言:「IDを出せ」
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
Rails等のフレームワークにあるflush(一回限りのセッション)て
どうやって実装すればいいですか?
0598nobodyさん2007/05/07(月) 02:46:59ID:oQG5Osro
Smarty使い始めたらファイルの量が2倍になって、
20〜30ページも作るとファイルの管理とエディタで切り替えがいい加減だるくなってくるんですが、
皆さんテンプレートやPHPファイルの数が増えても普通にエディタで作ってますか?
EmEditorで全部書いてるんですけど、統合環境とか使うと違うのかなぁ。
05995972007/05/07(月) 03:34:54ID:???
register_shutdown_functionを使ってできますた
0600nobodyさん2007/05/07(月) 03:52:54ID:???
Smartyとか使ってるカスまだいたのか
0601nobodyさん2007/05/07(月) 04:14:46ID:???
使ってない童貞まだいたのか
0602nobodyさん2007/05/07(月) 05:29:17ID:VG09sLBd
そそ、テンプレートとかモデルとか使ってるとファイル数が増えすぎて逆に管理が大変になったりするんだよね・・・
0603nobodyさん2007/05/07(月) 06:53:03ID:HuKM0EbB
URIからドメイン部分だけ抜き出すにはどうすればいいですか?
http://hoge.com/poge/fugo

hoge.com
みたいな感じです
0604nobodyさん2007/05/07(月) 07:10:02ID:???
>>603
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"
}
0605nobodyさん2007/05/07(月) 07:17:22ID:???
>>604
ありがとうございました
0606nobodyさん2007/05/07(月) 11:00:55ID:???
すみませんが教えてください。
PHPでPDFを出力したく、フリーのライブラリを探しているのですがなにがお勧めでしょうか?
PDFLibは、商用で使う場合有償なのですよね?
0607nobodyさん2007/05/07(月) 11:26:11ID:???
pearにあんじゃないの
多分
0608nobodyさん2007/05/07(月) 11:47:12ID:sGzYZkCO
下記SQLで抽出しようとすると、関係の無い2バイト文字まで出てきてしまいます。
どのようにすればよいでしょうか、よろしくお願いします。

$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:???
>>609
バイナリで検索してるんだから当たり前
LIKE BINARY

LIKE

更にフィールドの型がbinary型になっていないかチェック
0611nobodyさん2007/05/07(月) 12:30:58ID:sGzYZkCO
>>610
ありがとうございます。
LIKE BINARYとしているのは、テキストボックスに入力があった場合に
日本語文字も検索できるようにしているからです。
この場合どうすればよいでしょうか。
よろしくお願いします。
06126092007/05/07(月) 13:09:14ID:sGzYZkCO
preg_matchで調べて2バイト文字を含む時のみBINARY句を入れるようにしたんですが
思うようにいきません。
データベースは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{ . . .
とやってもからっぽでした。

ドメインやパスか何かを指定しなければならないんでしょうか?
0614nobodyさん2007/05/07(月) 13:17:17ID:???
>>607
ライセンス嫁
0615nobodyさん2007/05/07(月) 13:19:12ID:???
まちがえた>>606
0616nobodyさん2007/05/07(月) 14:12:45ID:???
>>608
>>208 >>210
0617nobodyさん2007/05/07(月) 14:22:40ID:???
DB側の問題だよね?
0618nobodyさん2007/05/07(月) 14:33:03ID:V6z/gjwq
すみません、どなたか知恵をかしてください。

PHP5.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:???
文字コード指定すればいいだろ。日本語あるからバイナリて。
06206182007/05/07(月) 15:01:20ID:V6z/gjwq
自己レスです。

CSVにてダウンロード、コンパイルが出来ました。。
お騒がせいたしました。
0621nobodyさん2007/05/07(月) 18:28:01ID:eAJiAY6Q
すみません。include構文でつまづいています。初心者ですが、おしえてください。
Apache2/htdocs/sampleフォルダにPHPファイルを入れています。include構文で使うふぁいるは
Apache2/includeに入れないとだめみたいなんですが、sampleフォルダからだと相対パスはどうなるんでしょうか?
../../include.incとしても駄目でした。他にも色々試したんですがだめでした。
06226212007/05/07(月) 18:31:26ID:eAJiAY6Q
621です。事故解決しました。他の部分のソースが違ってました。。

すみません。
0623nobodyさん2007/05/07(月) 20:07:37ID:???
ねこすけgoogle八分にされないかな
0624nobodyさん2007/05/07(月) 22:11:52ID:i2xtF+k7
ファイルの行数の総数を出す関数ありませんか?
0625nobodyさん2007/05/07(月) 22:46:53ID:RBHhVsf2
すんまそん。。

PDOで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
06261152007/05/07(月) 22:47:53ID:???
>>624
単一では、ないんじゃないの?
最後の行が、改行コード行末を持つかどうかでちがう。
$file_array = file('foo/bar/file');
$count = count($file_array);
として、end($file_array);で最後の行の末尾が改行コードあるかどうかをチェックして
$count + 1 するかどうかが必要。




0627nobodyさん2007/05/07(月) 23:01:44ID:DrdXpO7U
fopenで改行探すだけ
file()だとtextが100MBあったら100MBの配列作ることになるわな

>>625
insertは戻り値無いからPDO->exec使うべ
06286252007/05/07(月) 23:16:58ID:???
>>627

どうもありがとーです!
原因は、、、、dbのアクセス権がよろしくなかったみたいです。。orz
アクセス権を修正したら、execでもqueryでも出来ました。><

しかも、「counrty_tbl」のつづりが間違ってました。。orz

でも、627さんのレスのおかげで、再び希望を持つことが出来、原因を突き止めることが出来ました。本当に助かりました!
06296242007/05/07(月) 23:30:11ID:i2xtF+k7
なんとなくわかった気がします。

私がやりたかったのは、
「ある行で、ある文字が検出されたら、それより上の行を全削除する」ってのをやりたかったんです。
0630nobodyさん2007/05/08(火) 01:18:30ID:???
>>613
同じ階層であれば通常は問題ないはずなんだがなぁ〜
なんか特殊なことでもしてる?
単純にクッキーの発行と読み出しだけする
2個のプログラムでも書いて動作確認してみては?

どうでもいいけど $HTTP_COOKIE_VARS はもう古い。
0631nobodyさん2007/05/08(火) 01:21:25ID:???
>>629
なんでそれで行数のカウントなんてするんだ?
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:???
>>633
いやー、ほんについてたCDのソースをそのまま使ってみたんだけど、
それでも動かなかったので…
基本的な設定がおかしいのかと。
0636nobodyさん2007/05/08(火) 04:18:10ID:???
ブラウザのクッキーがオンになってないんだよ。
0637nobodyさん2007/05/08(火) 04:18:22ID:???
>>635
auto_startがOFFならソース中にsession_start()はあるんだよな?
…という感じで、設定値が正しいかどうかはソースによる。
設定だけ出されても
> Session Support enabled
を見て、使えるかもしれなないね、としか言えない。
save_pathのディレクトリにセッションファイルは生成されてんの?
0638nobodyさん2007/05/08(火) 04:25:38ID:???
貴様の3流ソースなんてパクらねえし、探せば似たようなコードがありふれてんだから
どうどうと晒せよクズ
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:???
PHP:神の子孫
Perl:漢
asp:いとこ
Ruby:ネカマ
0643nobodyさん2007/05/08(火) 04:53:38ID:???
>>87

>>1の頭に失礼だよ
0644nobodyさん2007/05/08(火) 07:32:02ID:???
>>628
PDO->exec()はほぼSELECT文専用。…というより、コンストラクタコールを
new PDO('sqlite:./test.db',null,null,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION))
にしとけば何が起きてもすぐ解ると思うよ。
06456322007/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:???
2004年のソースか
0651nobodyさん2007/05/08(火) 12:34:19ID:???
>>645
肝心の
chap5
が無いけど
それに本のプログラムを勝手に晒すと著作権違反では
0652nobodyさん2007/05/08(火) 12:55:43ID:???
原因の切り分けができてない証拠だな
0653nobodyさん2007/05/08(火) 13:53:03ID:???
原因の切り分けができるようだったら、そもそも質問しないだろうがw
0654nobodyさん2007/05/08(火) 14:10:32ID:???
じゃつまり切り分けしろってことだな
0655nobodyさん2007/05/08(火) 14:36:56ID:???
printfとsprintf
の違いは何でしょうか?
PHPマニュアルでは、
sprintf:フォーマットされた文字列を返す
printf:フォーマット済みの文字列を出力する
とありますが、意味がよく分かりません。
0656nobodyさん2007/05/08(火) 14:43:43ID:???
フォーマットされた値がほしいだけなのに常に出力されたら困るやんか
0657nobodyさん2007/05/08(火) 14:46:41ID:???
>>656

早速の返信ありがとうございます。
Cと同じで良かったんですね。どうも、お手数お掛けしました。
0658nobodyさん2007/05/08(火) 14:51:18ID:???
本当にわかってるんだかわかってないんだか・・・
0659nobodyさん2007/05/08(火) 15:59:29ID:???
>>645
session_start()して$_SESSIONでI/Oしてるから
特に問題はなさそうな気がするけど
phpinfoでsession.save_pathってどこになってる?
そのディレクトリはちゃんと存在する?
0660虚弱PHP2007/05/08(火) 16:15:27ID:???
>>645
色んなところで$_SESSIONをvar_dumpかprint_rすればどこでデータなくなってるか分かるかと。
0661nobodyさん2007/05/08(火) 16:54:16ID:???
    FOX★公認!今世紀最大の祭り!!!
俺たちのクリックで日本を一位にしようぜ!!
“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:8RlmlJO8
こんなスレにまで張られるとは
0663nobodyさん2007/05/08(火) 18:00:01ID:???
日本人は暇人なんだなって思われるだけだな。
0664nobodyさん2007/05/08(火) 18:48:04ID:cGr79y4f
>>662
>>663
レスすんなよカス2匹
0665nobodyさん2007/05/08(火) 19:07:54ID:???
今Sn Uploaderを使って
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:???
スーパーエスパー3でないと分からんな
0672nobodyさん2007/05/08(火) 20:01:07ID:???
PHPとかPerlの垣根以前の問題だろうに
0673nobodyさん2007/05/08(火) 20:47:26ID:T0+r/ZNA
アクセサについて質問なんですが、
これはプロパティとも呼ばれるもので、
クラス内のprivateメンバ変数が、外部からの操作を直接できないように、
間接的にアクセスするための仕組みなようなものという認識であっていますか?

Javaの参考サイトや、Wikipediaにはこのようなことが書かれていたのですが、
(自分勝手に解釈してる部分があるので、実際に書かれている意図とは違うかもしれません)
某PHP5の解説サイトでは、

>アクセサとは、未定義のメンバー変数やメソッドに対してアクセスがあった場合、
>あらかじめ用意しておいたメソッドを実行する機能である。

といった説明もあったりして、PHPではアクセサの意味が違うのかな?と思っています。
それとも両者とも正しい説明なのでしょうか?

OOPに詳しい方、ぜひこれぞアクセサだという説明をしていただけませんでしょうか?
よろしくおねがいします。
0674nobodyさん2007/05/08(火) 20:50:16ID:???
__getとか見るべ
0675nobodyさん2007/05/08(火) 20:57:31ID:zeXB/nU1
ヘッダに付くPHPのバージョン番号を隠す方法を教えて下さい
前にどこかで見た気はするのですが…
0676nobodyさん2007/05/08(火) 20:58:01ID:???
すいません
PHPを作ってファイルをアップするとき
掲示板はどうしますか?
原因がわかりません・・・
0677nobodyさん2007/05/08(火) 21:00:35ID:???
>>676
日本語でおk
0678nobodyさん2007/05/08(火) 21:03:25ID:???
>>676
超質問だな
0679nobodyさん2007/05/08(火) 21:08:25ID:???
>>675
http://jp.php.net/manual/ja/ini.core.php#ini.expose-php
0680nobodyさん2007/05/08(火) 21:25:36ID:???
>>673
結論から言うとPHPでは意味が違う。
PHPでいうアクセサはマジックメソッドの__get()及び__set()。
これらは存在しないメンバ変数をコール、
または存在しないメンバ変数に割り当てようとしたときにオートコールされるもの。

んで普通アクセサというとその認識で概ね合っている。
Javaだとアクセサとはいうもののただのメソッド
06816802007/05/08(火) 21:27:00ID:???
ごめん途中で送信しちゃった。
Javaだと構造的にはただのメソッドと変わらないような物らしいから、
C#のプロパティとかがアクセサのイメージとしては一番近いんじゃなかろうか。
0682nobodyさん2007/05/08(火) 21:46:16ID:???
__getや__setって本来使うべきものじゃないっしょ?
06836732007/05/08(火) 21:49:04ID:T0+r/ZNA
>>680
どうもお答えありがとうございます。
おかげでモヤモヤがとれました。
イメージが近いとのことなので、早速C#のプロパティについても調べたいと思います。
0684nobodyさん2007/05/08(火) 22:17:43ID:j3fFuUxd
メソッドのforeachとかによく使う配列があんだけど、
毎回そいつをいちいち書くのだるいから、
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
>>685 $this->xyz よし、短い。採用します。どうもです。
でもdefineっぽくもっと汎用で使えないかなぁと言ってみます。
まぁ最上位のクラスのプロパティにすればほぼ問題ないだろーけど。
0688nobodyさん2007/05/08(火) 22:26:05ID:j3fFuUxd
>>686 説明不足すまん。
いろんなクラスのメソッドで使ったりとか、
とにかくいろいろ用途が多いってことなんすよ。
0689nobodyさん2007/05/08(火) 22:28:46ID:???
だったらオブジェクト設計の問題じゃん
無理やり定数やらグローバル変数で使いまわすならクラスの意味ないし
なんて言ってみるξ゚听)ξ
0690nobodyさん2007/05/08(火) 22:30:57ID:???
定数ですむものは定数のほうがいいよ。
0691nobodyさん2007/05/08(火) 22:31:12ID:???
>>679
ありがとうございました
「これは全くセキュリティ上の脅威ではなく、サーバ上 で PHP を使用しているかどうかを調べられるようにするものです。」
と書いてるけど、
バージョン固有のセキュリティーホールが発見された時には
それなりの脅威になりますよね?
0692nobodyさん2007/05/08(火) 22:31:43ID:aq8SRoA2
おまえらってさ日常で笑ったりしてますか?
0693nobodyさん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
>>689 俺の勝手なイメージだけどメンバって、オブジェクトのなかで
値をうにょうにょ変えていく存在という感じがする。
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
>>696 そうは言っても不動な値をメンバにすると、
固定された値のくせにオブジェクトの数だけメモリにのっちまうだろ?
やっぱり設計としてどーかと思う。
0699nobodyさん2007/05/08(火) 22:55:13ID:???
staticにすりゃできるが
お勧めしない

ID:j3fFuUxdの気持ちはわかる
匿名関数がカスでアクティベーションできないから、処理を小分けにしにくい
0700nobodyさん2007/05/08(火) 23:15:53ID:j3fFuUxd
>>699 今staticに変更したけどやっぱりその設計もいろいろとめんどかったです。
以下のうちどの設計が最善でしょうか?
1.arrayぐらい毎回書く
2.毎回メモリにのるけど大した量じゃないしメンバで。
3.$GLOBALSにいれる。めんどくささは1と大差ない気がする。

ちなみにオブジェクト30個ぐらい扱って計算させてます
0701nobodyさん2007/05/08(火) 23:25:11ID:???
どのくらいのサイズだよ
0702nobodyさん2007/05/08(火) 23:27:08ID:j3fFuUxd
>>701 float変数が3つだけです。
3次元座標系の粒子の処理を得意だったPHPで書こうかなーと。
0703nobodyさん2007/05/08(火) 23:29:35ID:???
余計なおせっかいかもしれないけど
どういうオブジェクト設計になってるのかも教えてくれたほうが適切なアドバイスができる気がする
0704nobodyさん2007/05/08(火) 23:36:46ID:j3fFuUxd
>>703
デザインパターンとかはわからないんで、長々とありのままを書くと、
とりあえず最上位には二つのクラス。
objectクラスとobjecthandlerクラス。handlerは複数のオブジェクトの処理や、
データファイルから読みだすときに使うクラス。

objectクラスの下にcoordinateクラスがあり、座標の処理をしている。
スカラー倍とか。
複数データの座標処理にはcoordinatehandlerていうクラスもある。
二点の距離や三点の角度などはここ。

で、それらの下にatomクラスとatomhandlerクラスがあって、
粒子の各プロパティもメンバ変数に入る、という設計。

見当違いだったらごめん。
0705nobodyさん2007/05/09(水) 00:42:20ID:???
で,定数で使いまわしたいfloat型3つ入ってる配列は?
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:???
>>706
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:???
for ($i=1; $i<=100; $i++) {
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:???
for($i =1;$i <= 100 ; $i++){
$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:???
じゃ書けよw 何なんだお前はw
0712nobodyさん2007/05/09(水) 02:28:08ID:???
forを使う時点でまちがってるからね
明日答えをかいてやる
0713nobodyさん2007/05/09(水) 02:28:27ID:???
シンプルさを追求するのはやめれ
0714nobodyさん2007/05/09(水) 02:28:56ID:???
まあヒントくれてやるけどこの場合はwhileつかえよ
0715nobodyさん2007/05/09(水) 02:29:16ID:???
>>712
明日て
駄目じゃんw
0716nobodyさん2007/05/09(水) 02:29:37ID:???
とりあえずきさまら3流どもははやくねろw
0717nobodyさん2007/05/09(水) 02:30:47ID:???
これを明日とかいうやつが他人を3流呼ばわりってネタだろ
0718nobodyさん2007/05/09(水) 02:31:53ID:???
forを選択するおまえらにネタといわれたくないなw
0719nobodyさん2007/05/09(水) 02:33:33ID:???
何も言わずにコードだけ貼れば要らんレス付かないのに
要領悪いな
0720nobodyさん2007/05/09(水) 02:38:40ID:???
この場合はfor使うのが適切だろ
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:???
>>706
そもそも「プログラムが全く書けない応募者」をフィルタするための問題だから
そこに高度さは必要ないだろ…
何で無駄ハック大会みたいになってんだよ
0724nobodyさん2007/05/09(水) 02:51:40ID:???
フラグ使うのは邪道?
3と5の倍数判定でそれぞれフラグをセットして、両方がtrueならFizzBuzz
0725nobodyさん2007/05/09(水) 02:51:42ID:???
書けない奴が何で応募してきたのかが気になるな
というかそもそも本当の話なのか…?
日本でもそんなもんなん?
0726nobodyさん2007/05/09(水) 02:51:53ID:???
俺からしたら>>707は暗号だ・・・
0727nobodyさん2007/05/09(水) 02:59:12ID:???
>>724
>>708は?

>>710
しばらく考えなきゃ書けない時点であまり価値はないよw
0728nobodyさん2007/05/09(水) 03:02:31ID:???
>>725
日本では英文科出ても英語はなせない、技術系の専攻でもプログラム書けないなんてよく聞くけど。
卒業の厳しいアメリカではそんなことないのかと思っていたが違うんだな。
0729nobodyさん2007/05/09(水) 03:05:12ID:???
経験者募集!って一言書けばいいだけじゃね?
07307242007/05/09(水) 03:06:16ID:???
>>727
見えてなかったorz
0731nobodyさん2007/05/09(水) 03:18:09ID:???
>>706を条件文と配列だけで書こうと思ったがうまくできなかった。
もし書ける人いたら今後の参考に使いたいからよろしゅう。
0732nobodyさん2007/05/09(水) 03:20:33ID:???
誰が見ても分かりやすい素直なプログラム書ければOK
オナニープログラマーはいらん
0733nobodyさん2007/05/09(水) 03:22:33ID:???
この板見てるのって趣味でやってるオナニープログラマーだけじゃないの?w
0734nobodyさん2007/05/09(水) 03:23:28ID:???
>>731
ほい

$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:???
1000に増えててワロタ
0736nobodyさん2007/05/09(水) 03:28:09ID:???
range(1,1000)とか無駄にメモリ喰うだけだろバッキャローが
素直になれよ
そして四つんばいになれよ
0737nobodyさん2007/05/09(水) 03:31:23ID:???
倍数判定で毎回modするより
カウンタを何種類か持たせて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:???
>>710>>712
ああ、なるほど。こういう人が>>706のリンク先で書かれてる
> 自称上級プログラマが答えを書くのに10-15分もかかっているのを見たこともある。
という現場で使い物にならないバカちんなんだ。
まさかそんな人が…と思ったが実によく理解できた。
0743nobodyさん2007/05/09(水) 05:47:30ID:???
>>741
>>707を無理やり1行で書いただけじゃんww
0744nobodyさん2007/05/09(水) 06:07:58ID:???
>>742,743
実は会社で「お前が一番使い物にならない」と言われてんじゃw
0745nobodyさん2007/05/09(水) 06:10:50ID:???
>>741
っていうかこんなコード、仕事じゃ使えないだろ。
0746nobodyさん2007/05/09(水) 06:25:39ID:???
もうわかったから、実は会社で「お前が一番使い物にならない」と言われてるって
0747nobodyさん2007/05/09(水) 06:43:56ID:6zAvWwo5
ソースからリンク先アドレスを抽出したいのですが
いい方法ないですか?
0748nobodyさん2007/05/09(水) 06:53:55ID:???
>>736
いまどき1000個の配列でメモリ気にされてもね
どんだけショボイマシン使ってるんだ
0749nobodyさん2007/05/09(水) 06:58:24ID:???
そういう問題じゃないだろう…
カウントするだけのために配列作ること自体がセンスない
0750nobodyさん2007/05/09(水) 07:34:19ID:???
処理が分かりやすくてバグが出にくいようになってればどっちでもいいよ
0751nobodyさん2007/05/09(水) 08:54:57ID:MkwX/1Mg
メールボックスのメールにPHPでフラグをつけたいのですがうまくいきません。
現在はまた関数をチェックしてテストしてる段階なのですが、例えば、

1 簡単なスクリプトでヘッダ一覧を取得してみる→既読フラグは0
2 別のスクリプトで本文を取得してみる→オプションを指定しない場合既読フラグがつくはず
3 もう一度ヘッダ取得→既読フラグは0のまま
4 意図的にフラグをつけてみる→imap_setflag_full前後で既読フラグは0→1に変わったのを確認
5 もう一度ヘッダ取得→既読フラグは0のまま(0に戻ってる?)

ブラウザからの操作なので履歴が表示されているのかとも疑ったのですが、そうではないようです。
メールボックスがある鯖の設定も関係してるのか・・・一応複数のメールボックスで試したのですが。
上記のような手順でつけたフラグって固定しないもんなんでしょうか。。
0752nobodyさん2007/05/09(水) 09:03:49ID:???
>>751
よく分からんけど、切断時に更新処理みたいなのはされてるのかな
0753nobodyさん2007/05/09(水) 09:06:58ID:izHSsw10
もとのログがサニタイズされたりされなかったりしてるデータを弄るときに
htmlspecialchars($str, ENT_QUOTES)かけると
< → &lt; → &amp;lt;
って当然なっちゃうんだけどサニタイズ済みの時は弄らないにはどうすればいいの?
07547512007/05/09(水) 09:40:37ID:MkwX/1Mg
>>752
明示的な更新はしていません。
オプションで「更新しない」を指定できるのを確認してるので
特に指定しなければ更新されるはずだと思っているのですが・・

>>753
自前で処理するしかないんじゃないですかね。
&で分割して、各要素にhtmlspecialchars()をかけ、&をつけて文字列に戻す、みたいな。
0755nobodyさん2007/05/09(水) 09:45:30ID:???
>>754
PHPの処理をPOP3のコマンドの対応を考えてみる。
なにか不足してないか?

まあ、ソースを晒さずにどこまで進むか試してみようw
0756nobodyさん2007/05/09(水) 10:15:42ID:???
>>753
エスケープされたログとされていないログが混在しているのなら、
ログにエスケープするという、仕様を変えたほうが
良いと思う
0757虚弱PHP2007/05/09(水) 10:51:14ID:???
>>753
一番の問題は「もとのログがサニタイズされたりされなかったりしてるデータ」があるってことだね。
教科書通り、高木氏からサニタイズいうなって言われる状態。

htmlspecialchars_decode を使って一度サニタイズ前のデータに戻してから、
htmlspecialcharsすればいいんじゃあるまいか。
0758nobodyさん2007/05/09(水) 12:00:42ID:QoYhDnaM
cronを使ってメールを定期配信しているのですが、
URLに直接アクセスしたらメールが送信されるわけで
いたずらなどされないか心配です。

この場合、連続送信の対応はどうしたらいいのでしょうか?
クッキーを発行して制御する方法で良いのでしょうか?
07597512007/05/09(水) 12:09:45ID:MkwX/1Mg
>>755
ありがとうございます。レス遅れてすみません。
しばらく調べていたのですがやはり・・
ソースはあまりに単純なんでアレですが以下です。
お手数おかけします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
0760nobodyさん2007/05/09(水) 12:18:06ID:???
>>758
cronだけで実行するなら、ウェブからアクセスできないところに
スクリプトおきなよ。
0761nobodyさん2007/05/09(水) 12:28:49ID:???
>>758
URLにアクセスって
それcronじゃないだろ
0762nobodyさん2007/05/09(水) 12:33:07ID:???
>>758
スパム業者の方ですか?
ローカルからのアクセスかどうかをチェックする機能を付け加えるべし。

>>761
どの場所においてもcronなんて使えるわけだが。
0763nobodyさん2007/05/09(水) 12:57:38ID:???
CLIは使えないの?
0764nobodyさん2007/05/09(水) 13:31:14ID:???
WindowsXPでXAMPPでPHP5でPHP勉強中なのですが、

unlink使うと、Permission deniedエラーがでます。

htdocsに直接ファイルおいて、読み取り専用のチェックも外してるのですが、なぜ解決できないのかわかりません。
0765nobodyさん2007/05/09(水) 13:38:24ID:???
>>764
前後のソースちょっとだしてみ
0766764です2007/05/09(水) 13:43:38ID:5TpInCe7
$filepointer = fopen("php_dailylog.dat","a");
$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:???
fclose($filkepointer);
unlink(ry
0768764です2007/05/09(水) 14:04:07ID:???
>767
ありがとう御座います。

unlinkのエラーは消えたのですが、以降のエラーがでて、鯖が固まってしまいました(ノ_-;)

修行してきます
0769nobodyさん2007/05/09(水) 14:26:01ID:???
3つの入力フォームがあるとして、メールを送信する場合なのですが
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:???
>>769
print $from;で表示されないのはわかりませんが
送信されたメールで$nameが表示されないのは
日本語に対してMIMEエンコーディングしてないからじゃない?
$name = mb_encode_mimeheader($name);
半角チェックはただexit()ってのも冷たい気がするけど
構文的にはそれでもよいのでは。
07717612007/05/09(水) 15:05:57ID:???
>>762
いやいや
cron使ってわざわざhttpサーバにアクセスするのも変じゃない
普通素直にスクリプト起動するだけだからなぜURLにと思ったの
0772nobodyさん2007/05/09(水) 15:25:38ID:???
>>771
レンタルサーバならそういう事情もあるでしょ。
public_html以下しか接続許可していないサーバも存在するだろうし。
cronが使えるようなサーバがそんな気の利かない設定するわけないけど。
0773nobodyさん2007/05/09(水) 16:27:05ID:???
>>770
エンコードすると中身はISOなんたらかんたらとなって
人が理解できないようなものになるのはこれで正しいですか?

後、exit()だけなのは手っ取り早く1行で抑えたかったのでこの書き方になりました。
0774nobodyさん2007/05/09(水) 16:32:08ID:???
win環境でphpからdosコマンドを使いたいのですが、
むりですか?
07757742007/05/09(水) 16:32:49ID:D8ftPzG/
CLIならいけるとおもうんですがどうなんでしょうか?
やっぱりlinux上できかできないのかな\\\
0776nobodyさん2007/05/09(水) 16:41:32ID:???
>>774
exec()とかで出来るんじゃないの?
win環境詳しくないから知らないけど
0777nobodyさん2007/05/09(水) 16:45:11ID:???
`dir`で普通にできたよ
0778nobodyさん2007/05/09(水) 16:51:54ID:D8ftPzG/
まじっすか、ありがとうございます。
XPのOS再インストールがおわったらためしてみます
0779nobodyさん2007/05/09(水) 16:55:58ID:???
試すなり調べてから聞けよ・・w
0780爆音で名前が聞こえません2007/05/09(水) 17:20:39ID:xxzAywl/
$name[0] = "tanaka tarou";
$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でした
どこがおかしいのでしょうか?
07817532007/05/09(水) 17:30:07ID:izHSsw10
>>754 >>756-757
ログ読む時に全部デコードして表示時にエンコードするっていう一番の基本線が
確実ですね そうすることにします
ありがとうございました
0782nobodyさん2007/05/09(水) 17:33:00ID:???
>>780
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:???
>>769
>これでいいと思うのですが、送信する前に print $from; をしてみると
><$mail>が表示されないのです。

単に、HTMLの要素カッコとしてブラウザが認識してるだけでしょ。
0784nobodyさん2007/05/09(水) 18:08:18ID:???
>>783
ならないうちはHTMLソース見ないでよくやる失敗だよね
0785爆音で名前が聞こえません2007/05/09(水) 18:30:18ID:xxzAywl/
>>782
試してみましたがログインネームは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/
>>782
すいません、解決しました
カウント部分は未変更で意図した結果になりました
07877822007/05/09(水) 18:38:25ID:???
スペル間違ってた
×static $counter
○static $count

つーか、1回のリクエストの中でカウント方式が完結したら、普通はダメだわな。
どんな仕様・設計にしてるか知らんが。
0788nobodyさん2007/05/09(水) 19:07:52ID:???
XAMPPの最新版使って

<?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:???
for文の前にprintを書いてちゃんと値が渡ってるかどうか確認しる
つか<br />'の前に'が無いんだが
これが原因だったら2chに書き込む前に5分考えろ
0791nobodyさん2007/05/09(水) 19:23:49ID:???
>>790

5分考えたら分かったよ

'が無かったね
0792nobodyさん2007/05/09(水) 19:32:36ID:???
そろそろまたID表示強化月間だと思うんだ
0793nobodyさん2007/05/09(水) 21:52:45ID:???
>>792
OKブラジャー
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/がリンクされません。二回目以降どうすればいいのでしょうか?
0796nobodyさん2007/05/09(水) 23:17:22ID:???
>>783
なるほど! すっきりしました。
ありがとうございました。
0797nobodyさん2007/05/09(水) 23:20:52ID:???
初心者はapache、php、mysql全部インストーラー無しでやってみれと言いたい
0798nobodyさん2007/05/09(水) 23:21:11ID:???
>>794
最短解はこの辺?
$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:???
俺はもうだめかもしれない・・・
ついにオナフォールを買ってしまった・・・
風俗には今まで全然いったこと無かったのに
何でいきなりオナフォール・・・

まだ風俗の方が健全な気がするぜ!
08007992007/05/09(水) 23:26:39ID:???
誤爆嶋ssssssssssssss
うわがああああああ忘れてくれええええええええええええええ
0801nobodyさん2007/05/09(水) 23:27:11ID:okhokTRP
>>797
インストーラーなんて元々ないんだけど?
0802nobodyさん2007/05/09(水) 23:29:36ID:???
あるじゃん
0803nobodyさん2007/05/09(水) 23:33:30ID:???
PHPのインストーラは見たことあるけど
MySQLとApacheのインストーラなしって
Windowsであるの?
0804nobodyさん2007/05/09(水) 23:34:33ID:???
あるじゃん
0805nobodyさん2007/05/09(水) 23:39:16ID:okhokTRP
ドザの話か・・・・
0806nobodyさん2007/05/09(水) 23:55:24ID:???
Apache-win用のインストーラー無しは無いぽ
ビルドするかmsiを展開できるツール使えばできそうだが
0807nobodyさん2007/05/09(水) 23:55:41ID:???
>>799
風俗の前にオナホでも全然おかしくないだろ
むしろ風俗前のレッスンと考えるんだ
0808nobodyさん2007/05/10(木) 00:28:42ID:i4wrMZ/Q
wikipediaなどでは
hogehoge.com/ほげほげ
等、URIに日本語を直接記述していますが、
何故URLエンコードしなくても問題が起こらないのでしょうか?
0809nobodyさん2007/05/10(木) 00:32:52ID:???
ブラウザがエンコードしてくれてるんじゃないか?
0810nobodyさん2007/05/10(木) 00:37:19ID:???
>>806
あるじゃん
http://brandleadershipmarketing.com/apache/

つかサービス登録してくれてApache Monitor入れてくれるくらいの違いしかないだろが,インストーラ
0811nobodyさん2007/05/10(木) 00:38:11ID:???
同上でブラウザがエンコードしてるんだと思う
FireFoxだと日本語で入力しても表示されない
0812nobodyさん2007/05/10(木) 00:43:33ID:???
>>809,811
本当ですね
まさかそんな答えだったとは…
ありがとうございました
08137952007/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
>>813
何がしたいの?
URLにリンク貼るだけならwhileいらなくね?
二回目以降って何の二回目以降?

目的がわからないから答えようないよ
0815nobodyさん2007/05/10(木) 01:50:15ID:???
phpの中にjavascriptを記述する時のいい方法ないですか?
$code = "
var a = \"abc\";
";
いちいち"や'に気を遣うのが嫌になりました
0816nobodyさん2007/05/10(木) 01:54:17ID:qTUopfwt
print <<<EOF

EOF;
0817nobodyさん2007/05/10(木) 02:09:35ID:ucjeMPs6
GETの引数は、普通「&」で区切られますが、
「&」を区切り文字としないで、
GET引数の数を1つに固定…なんて事はできるんでしょうか?

とりあえず.htaccessで以下のように書いて回避しています。

php_value arg_separator.input "\"

"\"にしたのは、RFC2396読んで多分URLには使われないだろう踏んだからなんですが。
(参照元:http://jbpe.tripod.com/rfcj/rfc2396.ej.sjis.txt

この回避策に関しての欠点、もしくは他に良い方法などありますでしょうか。
0818nobodyさん2007/05/10(木) 02:30:02ID:???
>>817
?なんのために??
08198172007/05/10(木) 03:05:09ID:ucjeMPs6
>>818
GET引数に指定した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:???
>>819
どういう実装を想定してるのかわかんないけど。

?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'
0821nobodyさん2007/05/10(木) 04:06:54ID:???
>>819
id出してるのは偉い!が説明が回りくどくて理解しにくいよ

print_r($_SERVER)してみれ
0822nobodyさん2007/05/10(木) 04:44:47ID:???
>>819
>>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:???
>>795
$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:???
http://journal.mycom.co.jp/news/2007/05/08/008/
迅速なアップデートを! セキュリティ対策が施されたPHP 5.2.2/4.4.7リリース

アップデートが面倒くさいのですが
やはりアップデートすべきでしょうか?
0825nobodyさん2007/05/10(木) 06:36:04ID:???
そんなの使用目的による。
デバッグにしか使わないなら別にアップデートしなくていい。
0826nobodyさん2007/05/10(木) 10:36:30ID:???
>>795
FAQを読まない馬鹿はいらない子です。

>>824
MOPBで指摘された致命的なバグの修正版だから、
公開してるならアップデートしておかないとクラックされる可能性が高くなる。
0827nobodyさん2007/05/10(木) 11:11:27ID:???
0828nobodyさん2007/05/10(木) 12:03:12ID:p6e8Tgaw
昨日質問させてもらった>>751です。
やはりストリームをクローズしてしまうとフラグはクリアされてしまいます。
オープンしたままであれば維持されているのは確認できたのですが。
明示的にフラグを固定するような関数もないと思いますが
これが通常の動作ということなんでしょうか。

自分がこの質問で書き込みしたのは以下です。
>>751 >>744 >>759
0829nobodyさん2007/05/10(木) 12:32:25ID:???
通常の動作なんてものはない。
おまえが設定したとおり、おまえが書いたコードのとおりの結果が生まれるだけ
0830nobodyさん2007/05/10(木) 12:43:37ID:???
というか、お前が>>744みたいな、えらそうな奴様なのなら
imap_segflag_full関数マニュアルの
User Contributed Notesぐらい読んでこいよ。短い英語ぐらい読めるだろ?
08318282007/05/10(木) 13:00:45ID:p6e8Tgaw
>>829
デフォルトの動作って書けばよかったの?

>>830
レス番はタイプミスです。気づくと思ったんで。
でもありがとう。
0832nobodyさん2007/05/10(木) 13:47:49ID:AA4DnND/
あぱっちぇ2.0.59でPHPをうごかしたいんですが、RUBYと共存できますか?
0833nobodyさん2007/05/10(木) 13:50:58ID:???
Ruby使えるような人が何をアホなことを申しておられるのでしょう。
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:???
色んな意味で日本の心の病巣を感じるスレですね
08382007/05/10(木) 15:18:45ID:???
おれも質問していいかい?
0839虚弱PHP2007/05/10(木) 15:30:00ID:???
>>828
コマンドのやり取りをダンプしてみたらどうだろう?
通常のメーラーとかと比較。

>>832
できます。JavaともPerlとも…できます。
0840nobodyさん2007/05/10(木) 17:14:41ID:???
>>828
PHPコードよりむしろ、メールボックスをSELECTしたときのPermanentflagsの応答とか、
サーバ実装とか、他のIMAPクライアントで同じアカウントにログインしたときに、
問題のメールボックスに永続フラグが立てられるかをチェックしたら?

もうやってたらごめんよ。
0841nobodyさん2007/05/10(木) 18:10:19ID:AA4DnND/
すいません、phpでライブチャットはつくれますか?
0842nobodyさん2007/05/10(木) 18:22:02ID:???
あまりお勧めはしない
0843nobodyさん2007/05/10(木) 18:32:30ID:W08nRCtO
WindowsサーバでImageMagick使おうと考えています。
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:???
いつも思うんだけど>>844みたいなやつって超うざいよね
知らないなら黙ってろっつーの
レスするのは知ってる人だけにしてね
0846nobodyさん2007/05/10(木) 20:02:30ID:wqFHIkoe
あなたみたいのもうざいですけどね。
0847nobodyさん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:???
GD使えばいいんじゃね?
08498472007/05/10(木) 20:39:12ID:???
>>848
GDって外部画像の結合出来るんですか?
今やってるのは、DBに登録されているカウント値を
GD生成して出力していますが・・。
0850nobodyさん2007/05/10(木) 20:51:29ID:???
php 画像連結で検索すればライブラリが出てくるのでは?
08518472007/05/10(木) 20:57:55ID:???
ありがとうございます。ライブラリを参考にしてみます。
0852nobodyさん2007/05/10(木) 21:30:14ID:gqRdAlOp
ccessで、サイトにアクセスしたらaccess.phpを実行するような設定ってできないのかな?
スクリプトですると、全ページにincludeしなきゃいけないよね
08538452007/05/10(木) 21:31:12ID:???
がたがたいってねえで調べて来いや人力検索ども!!
0854nobodyさん2007/05/10(木) 21:34:57ID:???
>>853
こちらへ移動よろ
http://life8.2ch.net/utu/
0855nobodyさん2007/05/10(木) 21:51:44ID:???
>>853
http://life8.2ch.net/test/read.cgi/yume/1178723880/

>>852
DirectoryIndex access.php
RedirectMatch 301 ^/. /

出された要件をそのまま書いたらこうなった。
0856nobodyさん2007/05/10(木) 22:33:33ID:gqRdAlOp
>>855
そのまま書いてクリックしたら
headerでリファラにLocationされたみたいにアクセスできないwwww
0857nobodyさん2007/05/10(木) 22:33:49ID:???
関数に複数の引数を渡して複数の戻り値を得たい場合


function hoge($a,$b){
return($a,$b);
}
とするとエラーになりますが、引数を配列にするしか無いですか?
0858nobodyさん2007/05/10(木) 22:39:06ID:???
return array($a, $b);
08598552007/05/10(木) 23:02:56ID:???
>>856
リダイレクトがループしますから。ていうか、ネタなので試さないでください。

期待してる動作が「全ページでinclude('access.php')と等価」だったら
mod_layout で調べてみて。あと、あなたも俺もスレ違い。
0860nobodyさん2007/05/10(木) 23:04:51ID:rnaMytAr
質問です、配列の中身をそのまま表示する方法ってありますか?
0861nobodyさん2007/05/10(木) 23:08:38ID:???
print_r
0862nobodyさん2007/05/10(木) 23:09:27ID:???
>>860
そのままってのがよくわからんが、
print_rとかvar_exportとかvar_dumpとかで構造を見ることはできる。
0863nobodyさん2007/05/10(木) 23:36:14ID:???
最近の人力検索はぐだぐだうるさいのが混ざってるな
黙って質問に答えるだけでいいのに・・・
0864nobodyさん2007/05/10(木) 23:38:24ID:???
>>863
全く持って同意
0865nobodyさん2007/05/10(木) 23:39:18ID:???
>>863
だな
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:???
このスレの8割がそうだな
0870nobodyさん2007/05/11(金) 00:44:42ID:???
どうしたん?
流したいレスがあるん?
0871nobodyさん2007/05/11(金) 00:49:16ID:???
今日は大漁ですね
0872nobodyさん2007/05/11(金) 00:51:35ID:???
どうして「>>843です。どなたか回答かアドバイスをお願いできませんか」と書けないんだろう。
08738432007/05/11(金) 00:53:44ID:x3XoGdaG
一応言っときますが私は843の他に書き込んでません。
ちなみにマルチでもありません。他のどこに書いているのか教えてほしいくらいです。
0874nobodyさん2007/05/11(金) 00:56:24ID:???
今年始まって以来の勘違い野郎だなおまえ
0875nobodyさん2007/05/11(金) 04:41:54ID:uio3xUyZ
セキュリティ対策で質問があります。

誰もがURL(自動判定)、文字列などを投稿できるサイトで
アダルトサイトなどの宣伝スパム、海外からのスパムや連続投稿などに対する有効な対策にはどのようなものがあるんでしょうか?

半角のみは禁止、連続投稿には間隔制限を設ける、リンクに飛ぶ前には確認ページを割り込ませる などは
思いつくのですが、日本語含む荒しやアダルトサイトのスパムは、やはり削除人による手作業での削除+アク禁しかないのでしょうか?
0876nobodyさん2007/05/11(金) 05:05:05ID:???
>>875
captcha
0877虚弱PHP2007/05/11(金) 09:10:52ID:???
>>855
全ページにインクルードでいいなら、
http://www.php.net/manual/ja/ini.core.php#ini.auto-prepend-file
でできるらしいよ。
0878nobodyさん2007/05/11(金) 14:07:48ID:???
>>875
captchaはユーザ側の負担が高くなるから考えもの。
それらの対策+海外からの投稿遮断+プロキシ遮断。
これだけやれば海外国内からのスパムもほぼなくなる。
あとメジャーなスパム業者はあちこちでリスト化されてるんで、
それを使用してアクセス禁止にしたりする。
0879nobodyさん2007/05/11(金) 14:09:24ID:H2TAWwyN
HTMLとJSとPHPでページを作ろうとしてます。

HTMLで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:???
そりゃサーバーサイドスクリプトだからな・・・
0881nobodyさん2007/05/11(金) 14:22:33ID:???
>>879
Ajaxでおk
0882nobodyさん2007/05/11(金) 14:26:30ID:???
AjaxってDBと連携できたっけ?
0883nobodyさん2007/05/11(金) 14:27:12ID:H2TAWwyN
>>881
ありがとうございます。
Ajaxの方で聞いてきます。
0884nobodyさん2007/05/11(金) 14:29:01ID:???
>>882
処理はPHPが行ってるんだからできるんじゃない?
0885nobodyさん2007/05/11(金) 14:29:21ID:DseW4RFS
1から12月までの英語の表記を表示したいのですが数字が返ってきます。
どこをいじれば英語表記になるのでしょうか?
for ($i=0; $i<12; $i++)
{

  $date = date('F')+$i;
  echo $date. "<br>";
}
0886nobodyさん2007/05/11(金) 14:36:45ID:DseW4RFS
mktimeつかったらできました。
お騒がせいたしました
0887nobodyさん2007/05/11(金) 16:17:35ID:eSXQ88HV
PHPというかプログラムの作り方について教えて欲しいんですが
Functionとか作って幾つかの処理をしたい場合って
1つのFunctionに引数増やしていくのと
別Functionを作ってネストするのとどちらがスマートだと思いますか?
0888nobodyさん2007/05/11(金) 16:18:47ID:???
処理の内容による
0889nobodyさん2007/05/11(金) 16:32:30ID:???
1function1処理だろ。
いくつかの処理をしたいなら分けろ。
0890nobodyさん2007/05/11(金) 17:04:48ID:???
>>887
何故ネスト?
0891nobodyさん2007/05/11(金) 18:03:39ID:4lY6Zxsp
smartyって覚えなきゃまずいの?
phpの入門書読んでるんだけど基本の理解中にコイツが入り込んできてて
凄い邪魔くさい
データ構造とかをまず理解したいのに
0892nobodyさん2007/05/11(金) 18:19:17ID:???
覚えなくていい。
そんなの真面目に覚えてるやついないから問題ない。
0893nobodyさん2007/05/11(金) 18:21:13ID:???
smartyなんてクズはつかうなw
0894nobodyさん2007/05/11(金) 18:24:32ID:v0UZKGOp
preg_replaceで置換されたかどうか調べるにはどうしたらいいんでしょうか。
PHP5なら$count引数があるようですが、私の環境はPHP4です。
0895nobodyさん2007/05/11(金) 18:29:20ID:???
単独では無理。だから5で、count引数がついた。
preg_match使えば?
0896nobodyさん2007/05/11(金) 18:30:53ID:???
>>859
そうします。
どうもありがとうございました。
0897nobodyさん2007/05/11(金) 18:36:34ID:???
すいません、preg_matchで置換ってできるんでしょうか?
0898nobodyさん2007/05/11(金) 18:40:35ID:???
>>897
マニュアル見れ。
置き換えはreplace系だ。
0899nobodyさん2007/05/11(金) 18:57:57ID:v0UZKGOp
preg_matchで、13個マッチしたのに、$matchesに何も入らない。どうしてだろ。。。
0900虚弱PHP2007/05/11(金) 18:59:36ID:???
>>891
まずくはないけど、覚えてた方がいいよね。
「データ構造とか」ってのがなんなのか気になる。
0901nobodyさん2007/05/11(金) 18:59:48ID:???
パターンの書き方に問題があると思わないのか
0902nobodyさん2007/05/11(金) 19:51:00ID:???
>>900
データ構造ってのは、ヤフーのジャンル>小ジャンルみたいな階層構造の
ことで、今使ってる本に載ってるんです。DBと連動して自動的に一覧を生成する、みたいな。
自分の頭で考えてもできそうなんですけど、一応本を読んでみようとすると、
「これっているのかよ?」って感じのSmartyが組み合わされてるんで妙にソースが
分断されて逆に判りにくいっていう…
無視して仕様部分だけ参考に自分で作ることにしました
PEARは役に立ちそうだから覚えます。。

>>892-893
ありがとうです
0903nobodyさん2007/05/11(金) 20:59:33ID:???
あるひとつのもののつかいかたを覚えるより
フレームワークというの使い方を覚えるようになればなんだっていいんだよ最初は
0904nobodyさん2007/05/11(金) 21:17:09ID:???
Smartyが使われてると分かりにくいのか?
使わなくても結局モデル(各処理)の下にPHP変数加えたHTML書くんじゃね?
echo '<p>なんたら</p>'; とかの方がいいってことか?
0905nobodyさん2007/05/11(金) 21:24:54ID:???
>>904
普通にHTML書くんならEOFで十分じゃね?
0906nobodyさん2007/05/11(金) 21:28:02ID:???
皆PHP使うときどんな開発環境でやってるよ?
0907nobodyさん2007/05/11(金) 21:29:33ID:???
藻前らの作るオナニーページにMVCは不要。
0908nobodyさん2007/05/11(金) 21:35:05ID:0VNNrODg
SQLITE で、主キーをNULLにして作ったデータベースがあるのですが、
主キーを通し番号にしたいですが、やり方が分かりません。

UPDDATEで変更しようにも、WHEREでレコードを指定できないため、
途方に暮れています。
どなたかよろしくお願い致します。

PHPのバージョンは、5.0.4です。
0909いつもの人 ◆3Htx6mDqZs 2007/05/11(金) 21:43:41ID:???
integer primary key
もしくは
SELECT * FROM my_table WHERE _ROWID_=10
0910nobodyさん2007/05/11(金) 21:45:36ID:???
楽天がphp+Mysql+Smartyらしいんだけど、やっぱりMVCがっつりやろうと
したら必要なのかね>Smarty 
09119082007/05/11(金) 21:49:51ID:0VNNrODg
>>909
ROWIDで指定すればいいのですね!
できました、ありがとうございました。
0912nobodyさん2007/05/11(金) 21:51:15ID:???
>>910
そりゃMVCやろうとしてVが無かったらMVCじゃないだろ
0913nobodyさん2007/05/11(金) 22:19:31ID:DseW4RFS
ハローPHP


を表示するだけの機能を搭載したフレームワークを勉強として作りたいのですが

class hello
{
 var hello()
 function hello()
 {
  echo "ハローPHP";
 }
{

これでうまくうごきません。
どこを手直ししたらよろしいのでしょうか?
0914nobodyさん2007/05/11(金) 22:21:40ID:???
new hello()
0915nobodyさん2007/05/11(金) 22:21:42ID:???
var hello() の部分
0916nobodyさん2007/05/11(金) 22:23:56ID:???
class hello
{
function __construct()
{
echo "Hello PHP";
}
}
0917nobodyさん2007/05/11(金) 22:43:01ID:???
フレームワークなんだから一応MVCで。
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 = "hello";
$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]

このようにしたいのですが、どうすれば良いのでしょうか?
0919nobodyさん2007/05/11(金) 23:31:37ID:???
>>918
おれもそれ知りたい。回答おながい
0920nobodyさん2007/05/11(金) 23:34:23ID:???
知りたいならIDだしな
0921nobodyさん2007/05/11(金) 23:38:17ID:DseW4RFS
回答ありがとうございます。
僕にはむずかしくて理解できませんでした。
また入門書からやりなおします。
0922nobodyさん2007/05/11(金) 23:43:54ID:???
>>918
サッパリ意味がわからないのだが、
他のやつが理解してるところを見ると俺の脳ミソが悪いのか?

というわけで意味がいまいちつかめないので適当回答。
いきなり置き換えないで、条件判定してから置き換えする。
0923nobodyさん2007/05/11(金) 23:49:49ID:???
str3がなぜ[]なのか、わからんなw
0924nobodyさん2007/05/11(金) 23:59:40ID:???
>>918
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:???
いいえ。
0928nobodyさん2007/05/12(土) 00:11:36ID:???
>>926
includeにURIなんか指定するな
相対パスか絶対パスかは好きにしろ
0929nobodyさん2007/05/12(土) 00:17:38ID:???
プログラミングは動けばいいんだよ
0930nobodyさん2007/05/12(土) 00:21:11ID:???
まぁ細かいコーディングに最初は拘らないほうが吉かもね。
なかなか進まないから。
09319262007/05/12(土) 00:21:38ID:???
みなさんレスありがとうございます。
>>928
やはりそうですか。
どおりでURIで指定してると読み込めないことがあるな、と思ってました。。
0932nobodyさん2007/05/12(土) 00:35:22ID:???
>>831
マニュアルのincludeの例16-7 HTTP経由のinclude()付近読めばいいんじゃね。
0933nobodyさん2007/05/12(土) 00:43:56ID:tRCRbJ5X
すみません。直接PHPコーディングとは関係ないんですが、求人案件に
PHPのが何件かあるので、応募してみようか迷っているんですが、携帯の絵文字が
むずかしいみたいですね。私は、携帯のプログラムを組んだことないから
できれば組みたくないんですが、携帯のプログラムは避けてとおれないのですかね?

場合によっては、.NET案件に応募しようかとおもいます。
0934nobodyさん2007/05/12(土) 00:48:16ID:???
>>933
別にー
やらん人は一生やらんよ >携帯向け
0935nobodyさん2007/05/12(土) 00:50:51ID:???
「組んだことないから」で避けるような人は
プログラマなんてやめた方がいいと思うよ。
組んだことがあって面倒だったから避ける、ならまだしも。
0936nobodyさん2007/05/12(土) 00:51:25ID:???
「組んだことないから組んでみたい」な俺は?
0937nobodyさん2007/05/12(土) 00:54:07ID:???
>>935
君は趣味と仕事の境界線がわかってないね。
現実がわかってない。
09389332007/05/12(土) 01:00:54ID:???
>>934ありがとうございます!そんなんなら、応募してみます!
勇気がでました。ありがとうございました。

>>935
いや。他の言語開発の際、めちゃくちゃ振り回されて、もうこりごりなんですよ。
一応、やりました。C++で。。
0939nobodyさん2007/05/12(土) 01:03:16ID:???
>>937
>>935じゃねぇけど、やったことないから駄目ですは駄目だろ
どういうところで働いてんだ?
0940nobodyさん2007/05/12(土) 01:11:37ID:???
自分の得意分野で金がとれるならそれでいいじゃん
倫理的な部分はいらない。金になるかならないか、それだけでいいじゃん
0941nobodyさん2007/05/12(土) 01:13:12ID:???
責任所在にもよるな
学生の頃、知り合いの運送会社の鯖を遊びで感覚管理して
数日メール鯖止まった時はヤクザみたいな連中が家まできた
0942nobodyさん2007/05/12(土) 01:18:17ID:???
>>937はSOHOかなんかか?
0943nobodyさん2007/05/12(土) 01:25:45ID:???
>>939
いやーそういう意図でいったんじゃないんだよ。
>「組んだことないから」で避けるような人は
これにたいしてのレスだったんだが、
避けないで無理に受けて、返って迷惑かかったら本末転倒だということを言いたかった訳だ。
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
ID
0947nobodyさん2007/05/12(土) 01:34:59ID:???
文字列1を1文字ずつに分解する関数作ったんだが
何かいい関数名ないかな・・・
0948nobodyさん2007/05/12(土) 01:36:52ID:???
>>947
StringsResolvesOne
0949nobodyさん2007/05/12(土) 01:38:42ID:???
>>948
略してstr_resoneにするわ、サンクス
0950nobodyさん2007/05/12(土) 01:38:57ID:gNRiELWw
失礼w

オブジェクトの中のオブジェクトを一発で多次元配列に変換するいい方法はありませんか?
$hoge = (array)$hoge;
だと一番上しか変換してくれないようなので。

#でも回線不安定だからすぐID変わるよw
0951nobodyさん2007/05/12(土) 01:47:07ID:???
get_object_vars
0952nobodyさん2007/05/12(土) 01:52:58ID:???
$str="hoge";
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:???
die();

一文字短いから。
0956nobodyさん2007/05/12(土) 02:24:23ID:???
どっちも使わん。特にdieは嫌い。
0957nobodyさん2007/05/12(土) 02:27:50ID:???
>>953
ああ、だめか。
でもあなたの必要とするsimplexml_load_fileのobjectのアレイ化って
manual のUser Contributed Notesに書いてあるじゃん。
0958nobodyさん2007/05/12(土) 02:57:24ID:SOvCLEsb
すいません、php5.2.2でmysql5.1を使いたいのですが、
phpinfoでmysqlの欄が表示されません。
php.iniでphp_mysql.dllの行のコメントは取り除いております。
どなたか解決方法ご存知でしたらご教授願います
0959nobodyさん2007/05/12(土) 02:58:32ID:???
>>958
Configuration File (php.ini) Pathが、編集したphp.iniになってる?
0960nobodyさん2007/05/12(土) 03:03:18ID:???
はい、なってます。
apacheの設定ファイルにphpディレクトリのphp.iniを読み込むようにしてます。
0961nobodyさん2007/05/12(土) 03:06:15ID:???
Apache再起動してみた?
0962nobodyさん2007/05/12(土) 03:06:18ID:???
パス通してないんだろ
0963nobodyさん2007/05/12(土) 03:16:20ID:SOvCLEsb
phpのインストールディレクトリへパスとおしてOSを再起動したら動きました。
問題はlibmysql.dllでした。
深夜にもかかわらず、助けていただきありがとうございました。
0964nobodyさん2007/05/12(土) 03:22:52ID:???
良かった良かった
0965nobodyさん2007/05/12(土) 03:28:28ID:???
extension_dirの指定が相対でパスが通ってなかったのが原因だろうな
libmysql.dllは関係ないはず
09669532007/05/12(土) 03:36:04ID:gNRiELWw
公式のマニュアルじゃないマニュアル見てたんでUser Contributed Notesに気づきませんでした。

User Contributed Notesのスクリプトで問題なく配列に納めることができました。
ありがとうございました。
0967nobodyさん2007/05/12(土) 03:38:43ID:???
ttp://zapanet.info/phpdoc/ref.mysql.html
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
日に500〜1000もググから現れては広告踏んでくれて
いい小遣いになってるので更新しなくてもいいの思うこのごろ。
0972nobodyさん2007/05/12(土) 04:33:26ID:???
古いだの信用できないだのはともかく、なんでわざわざ潰さないといけないんだよ。
ていうかヘルプファイルみんなDLしてないの?
0973nobodyさん2007/05/12(土) 05:12:19ID:???
User Notesがないマヌアルなんて
0974nobodyさん2007/05/12(土) 05:16:24ID:???
UserNotesこそ信用できない俺ガイル
0975nobodyさん2007/05/12(土) 08:22:34ID:uqNjkBgI
PHPMyAdminで外部キーを作成するにはどうしたらいいですか?
DBをINNODBにしてもそれらしき項目があらわれません。
MySQLはMySQL 4.0.26です
0976nobodyさん2007/05/12(土) 12:03:39ID:???
素人はXAMPPでも使っておけ
0977nobodyさん2007/05/12(土) 12:08:19ID:IYoFhhU9
空メシステム作りたいんですが、
まず何から勉強すれば良いですか?

また、空メが使えるレンタル鯖って少ないですか?
0978nobodyさん2007/05/12(土) 12:18:56ID:???
まずきみはwinのパソコンでローカルでサーバとメールサーバをたてることからはじめろ
話はそれからだ
0979nobodyさん2007/05/12(土) 12:20:44ID:IYoFhhU9
>>978
メールサーバーは何でもおk?
「自宅鯖で行こう」サイトではArGoMailが推奨されてるんだが・・・
http://www.y-kit.jp/saba/
0980nobodyさん2007/05/12(土) 12:22:59ID:X8KuBgRV
また踏み台が増えそうでうれしい^^v
0981nobodyさん2007/05/12(土) 12:29:01ID:???
>>979
xmailがおすすめ
0982nobodyさん2007/05/12(土) 12:33:20ID:S9RD2o7R
ずぶの素人です。何から手つければ良いすか?(OSはW2k)
きのう軽い気持ちで最新版のApacheインスコとphpダウソしたけど、
なんかphp関連サイトで旧ver.のセットアップ手順を参考に.iniファイルとか
いぢってみたけどうまくいかず(かなり無謀だなと思った)結局アンインスコ。
XAMPPも試してインスコして、.dllふぁいるが見つからないとか表示が出たものの、
一応apacheとか動いてて、ブラウザでlocalhostも見れるし、
でためしにphpエディタで簡単な.phpふぁいる(echoで表示するやつ)を作ったけど
ファイルの保存のしかたとか場所が悪いのかなんか知らんけど
うまくゆかずこれも今はアンインスコ…
そんなんできのう朝から晩まで1日費やしたんですが、
私はこれからどうすればいいですか?
0983nobodyさん2007/05/12(土) 12:35:34ID:IYoFhhU9
>>981
有難う御座います
DLしてみたところ、バイナリでした

どのように使うか参考になるサイトか何かあれば教えてもらってもいいですか?
0984nobodyさん2007/05/12(土) 12:39:02ID:???
なんでもかんでも聞くなクズ
0985nobodyさん2007/05/12(土) 12:39:33ID:IYoFhhU9
>>984
いやいや、こっちだって探してるよ
0986nobodyさん2007/05/12(土) 12:39:52ID:???
>>982
あきらめろ
0987nobodyさん2007/05/12(土) 12:42:26ID:Cpiw5Nv2
>>981
xmailダウンロードしてみたけど、イマイチ使い方がわからんね
0988nobodyさん2007/05/12(土) 12:48:46ID:???
むりにつかわなくてもいいけどwinで空メやるならxmailしか選択肢がなかったはず
0989nobodyさん2007/05/12(土) 12:51:08ID:X8KuBgRV
ドザって自分で何もしらべないのだな・・・・
昔どこかのスレで、「自分でやって失敗すると嫌なので誰か試してくれ」とかほざいてたドザいたな。
0990nobodyさん2007/05/12(土) 12:54:00ID:???
ttp://www.redout.net/data/osietekun.html
0991nobodyさん2007/05/12(土) 12:55:47ID:IYoFhhU9
>>988
MySQL+PHPMyAdminみたいに
xmail+XMailCFGって考えればおk?

CGIで動かすからCGIの環境作らなくてはorz
0992nobodyさん2007/05/12(土) 13:02:41ID:???
>>982
とりえあず公式マニュアル読むべし
0993nobodyさん2007/05/12(土) 13:05:18ID:???
べし
0994nobodyさん2007/05/12(土) 13:06:50ID:???
↑蔑視
0995nobodyさん2007/05/12(土) 14:03:34ID:???
punycodeのエンコード・デコードが
簡単なライブラリなかとでしょうか。
0996nobodyさん2007/05/12(土) 14:33:45ID:???
nai
0997nobodyさん2007/05/12(土) 15:52:19ID:???
998が次スレを立てる
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/
10009992007/05/12(土) 16:47:13ID:???
1000も俺が取ってやるw
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。