トップページphp
990コメント299KB

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2008/05/03(土) 22:52:16ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん2008/05/03(土) 22:52:36ID:???
【簡易FAQ】 (1/3)
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プログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
0003nobodyさん2008/05/03(土) 22:52:48ID:???
【簡易FAQ】 (2/3)
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.を参照
0004nobodyさん2008/05/03(土) 22:52:58ID:???
【簡易FAQ】 (3/3)
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0005nobodyさん2008/05/03(土) 22:53:13ID:???
関連リンク
■本家マニュアル   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/
0006nobodyさん2008/05/03(土) 22:53:42ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
0007nobodyさん2008/05/03(土) 22:54:58ID:???
■関連スレ
くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
PHP関連の書籍 第5版
http://pc11.2ch.net/test/read.cgi/php/1203696253/
【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
【PHP】フレームワークについて語るスレ10【総合】
http://pc11.2ch.net/test/read.cgi/php/1202521438/
【PHP】Ethna part.2【国産フレームワーク】
http://pc11.2ch.net/test/read.cgi/php/1186096518/
ZendFramework Part2
http://pc11.2ch.net/test/read.cgi/php/1204726884/
フランチョスとsymfony
http://pc11.2ch.net/test/read.cgi/php/1201177567/
最強のPHPエディタはなに?
http://pc11.2ch.net/test/read.cgi/php/1133785416/
0008nobodyさん2008/05/03(土) 22:55:41ID:???
【PHP】PEAR Part3
http://pc11.2ch.net/test/read.cgi/php/1188789351/
【PHP】フレームワーク Akelos
http://pc11.2ch.net/test/read.cgi/php/1187333485/
正規表現道場
http://pc11.2ch.net/test/read.cgi/php/1168450843/
正規表現 part4
http://pc11.2ch.net/test/read.cgi/tech/1186030400/
MySQL 総合 Part13
http://pc11.2ch.net/test/read.cgi/db/1201632550/
Oracle 総合 Session6
http://pc11.2ch.net/test/read.cgi/db/1162215948/
SQLite 6
http://pc11.2ch.net/test/read.cgi/db/1193118037/
Microsoft SQL Server 総合スレ 6
http://pc11.2ch.net/test/read.cgi/db/1207377114/
PostgreSQL Part.5
http://pc11.2ch.net/test/read.cgi/db/1196512717/
データベース
http://pc11.2ch.net/db/
0009nobodyさん2008/05/03(土) 22:58:02ID:???
>>1
おつ
0010nobodyさん2008/05/03(土) 23:50:09ID:???
いちもつ
0011nobodyさん2008/05/04(日) 04:30:13ID:???
PHP最強の女だけどなんか質問ある?
0012nobodyさん2008/05/04(日) 05:13:17ID:xtM5WK5J
wikipediaのAPIに関しての質問です。

http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Export/
の後にクエリを渡せば、それに関する記事がxml形式で出てきます。

例として、「テスト」という記事のxml形式のデータがほしいときは下記のようになります。
(「テスト」をurlエンコードしたもの→ %E3%83%86%E3%82%B9%E3%83%88
http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Export/%E3%83%86%E3%82%B9%E3%83%88


しかしこれを、phpのfile()関数で読み込むことができません。
$filepath="http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Export/%E3%83%86%E3%82%B9%E3%83%88";
$string=implode (file("$filepath"));
↑ダメ

上記の記事をコピーしてtest.xmlとして保存すると読み込むことができます。
$filepath="test.xml";
$string=implode (file("$filepath"));
↑読み込める

これはなぜでしょうか?
0013nobodyさん2008/05/04(日) 05:32:12ID:???
implodeの引数エラー出ると思うけど
0014nobodyさん2008/05/04(日) 05:49:23ID:xtM5WK5J
>>13
そうですね 出ます
読み込めてないってことですよね
ですからなぜ上の場合だけ読み込めてないのかを知りたかったんです
たぶん403だと思いますのでもういいです
0015nobodyさん2008/05/04(日) 06:20:18ID:???
>>12
>そのファイルはPHPからアクセスできるものでなければなりません。
 ~~~~~~~~~~~^~~
0016nobodyさん2008/05/04(日) 06:24:24ID:???
まあ簡単にいうとクエリを指定したURLをファイルとみなして開こうとするからエラーになるんだけどね
0017nobodyさん2008/05/04(日) 06:58:38ID:???
たぶんも何も UA 変えないと 403 になるだけなんですけどね。
0018nobodyさん2008/05/04(日) 10:51:53ID:Fgqwmz/n
SQLでデータベースに入っているデータの数を調べ、それを計算式の数字とし使うにはどうすればいいでしょうか?
――――――――――――――――――――――――――――――
function dbcount($table,$id) {
$db = DB::connect("mysql://username:password@host/database");
$sql = "select count(*) from $table where $id;";
$result = $db->query($sql);
$kekka = $result->fetchRow();
echo $kekka[0];
}

$table1 = dbcount(table=1,id=1);
$table2 = dbcount(table=2,id=2);
echo $table1 + $table2;
――――――――――――――――――――――――――――――
といったプログラムを作ってみたのですが、うまく計算されません。
dbcount(table=1,id=1)は30、dbcount(table=2,id=2)は10が帰ってきます。
すると$table1と$table2にもそれぞれ30と10が代入されるはずなのですが、どうやら代入されていないようです。(数字自体は表示されているのですが)
その証拠に、$table1と$table2を表示させても何も表示されませんし、当然足し算をしても結果が40になりません。
どうすればいいのでしょうか?
0019nobodyさん2008/05/04(日) 10:54:50ID:???
> dbcount(table=1,id=1);
0020nobodyさん2008/05/04(日) 10:55:36ID:???
>>19
ごめんなさい、それは書き込む際のミスです。
正確には
 $table1 = dbcount("table=1","id=1");
 $table2 = dbcount("table=2","id=2");
ですね。
0021nobodyさん2008/05/04(日) 11:06:16ID:???
> echo $kekka[0];
0022182008/05/04(日) 11:19:19ID:Fgqwmz/n
>>21
一応それでも正常に表示されているのですが、
どのように改善すればいいでしょうか?
0023nobodyさん2008/05/04(日) 11:23:59ID:???
値を返したいならreturnかと
0024182008/05/04(日) 11:40:12ID:Fgqwmz/n
>>23
なるほど、基本的な部分で躓いていました。
ありがとうございました。
0025nobodyさん2008/05/04(日) 11:50:15ID:???
もっと基本的な躓いてることに気づいてないのが痛い
0026nobodyさん2008/05/04(日) 11:50:35ID:???
あ、日本語壊れたw
0027nobodyさん2008/05/04(日) 13:52:10ID:EtzFJE0o
ロードと同時にフォームのボタンをクリックするjavascriptが埋め込まれたページの、
遷移先のページのソースコードを取得するにはどうしたらいい?

遷移元ページのソースはこんな感じです。

<body onload="document.all['button'][1].click()">

<form action="http://example.com" method="post">

<input type="text" name="name1" value="hogehoge1">入力項目1
<input type="text" name="name2" value="hogehoge2">入力項目2
<input type="text" name="name3" value="hogehoge3">入力項目3

</form>

</body>
0028nobodyさん2008/05/04(日) 13:55:11ID:EtzFJE0o
↑ソース部分訂正

<body onload="document.all['button'][0].click()">

<form action="http://example.com" method="post">

<input type="text" name="name1" value="hogehoge1">入力項目1
<input type="text" name="name2" value="hogehoge2">入力項目2
<input type="text" name="name3" value="hogehoge3">入力項目3

<input type="submit" value="検索" name="button">

</form>

</body>
0029nobodyさん2008/05/04(日) 14:09:00ID:???
>>27
javascriptを切ってアクセス
0030nobodyさん2008/05/04(日) 14:43:38ID:/XyqgD/J
質問です
nl2brで改行を<br>に置き換えられますが、
改行を任意の文字に変換したいと思います(空白など)
これはどうしたらいいんでしょう?
0031nobodyさん2008/05/04(日) 14:48:30ID:???
str_replace
0032nobodyさん2008/05/04(日) 17:27:51ID:1YWT6BLA
携帯サイトを作ってます。
サイト内にある画像の番号を入れてボタンを押したら画像が表示される感じの
検索?フォーム作りたいのですが全然わかりません(´д` )
分かる方教えて下さい。
0033nobodyさん2008/05/04(日) 17:31:52ID:???
>>32
formで入力欄作って、caseとかで場合分けすればいいだけでは?
0034nobodyさん2008/05/04(日) 17:32:12ID:???
お前な、0から全部教えろってのか?
0035nobodyさん2008/05/04(日) 17:40:18ID:???
>>32
それは PHP の質問ではなく、
↓の領分の質問ですよ

Webサイト制作初心者用質問スレ Part 196
http://pc11.2ch.net/test/read.cgi/hp/1207889892/
0036nobodyさん2008/05/04(日) 17:40:54ID:1Wvgh09z
ini_setを使ってセーフモードって設定いじれますか?
0037nobodyさん2008/05/04(日) 17:55:48ID:???
まぬある見ろやカス
0038nobodyさん2008/05/04(日) 17:56:12ID:???
>>32
http://pc11.2ch.net/test/read.cgi/php/1207013301/63
いろいろやってみた?なにやってみた?
0039nobodyさん2008/05/04(日) 18:05:25ID:mBgIh+Lj
google検索結果の様なページ毎へのリンクってどうやってるんですか?
例えば1ページ目は

<前へ> [1] 2 3 4 5 6 7 8 9 10 <次へ>

という表示に対し30ページ目では

<前へ> 25 26 27 28 29 [30] 31 32 33 34 35 <次へ>

という感じに表示されますよね。
あの仕組みってどうやってるんでしょう?
0040nobodyさん2008/05/04(日) 18:06:14ID:???
>>38
↓へ誘導済み

Webサイト制作初心者用質問スレ Part 196
http://pc11.2ch.net/test/read.cgi/hp/1207889892/
0041nobodyさん2008/05/04(日) 18:31:55ID:???
>>39
考えて分からなければPager使えカス
0042nobodyさん2008/05/04(日) 20:45:15ID:tK5LS4Gg
今自分の使ってるサーバで、利用可能なPHPの関数を一覧で表示するには
どうすればいいでしょうか?
0043nobodyさん2008/05/04(日) 20:48:05ID:???
print_r(get_defined_functions());
0044422008/05/04(日) 21:13:38ID:???
>>43
ありがとうございました。
0045nobodyさん2008/05/04(日) 21:17:51ID:CDLPM55d
WebCart:Ver2.31を使ってショッピングカートを作ってみたのですが、
商品設定の商品説明欄にて、外部リンク(メーカーのHPが別窓で開く)を
張りたいと思うのですが、どのように記述すればよいのでしょうか?
0046nobodyさん2008/05/04(日) 21:29:25ID:???
あぁ、「知るかボゲ」と言われたい真性マゾがまた一人・・・
0047nobodyさん2008/05/04(日) 21:36:23ID:???
>>45
<a href="***" target="_blank">
0048nobodyさん2008/05/04(日) 21:52:07ID:???
おしえていただきありがとうございます。
以下のように記入しましたところ
<a href="http://www.yahoo.co.jp" target="_blank"> 詳しくはこちら</a>

そのまま商品説明欄に表示されまして
商品設定にて編集で開いてみました所

<a href=\"http://www.yahoo.co.jp\" target=\"_blank\"> 詳しくはこちら</a>

となっていました。
リンクは入らなかったです。
0049nobodyさん2008/05/04(日) 21:56:01ID:???
知るかボケ

そのWebCartとやらの配布元に聞け
0050nobodyさん2008/05/04(日) 22:15:47ID:???
汁化母毛
0051nobodyさん2008/05/04(日) 22:19:43ID:???
>>45=48
PHP についての質問ではないので、
↓下のところか、WebCart について質問できるスレを探して質問してください

Webサイト制作初心者用質問スレ Part 196
http://pc11.2ch.net/test/read.cgi/hp/1207889892/
0052nobodyさん2008/05/05(月) 02:29:06ID:???
知るかボケ -> I know blur -> 知っぼかし
0053nobodyさん2008/05/05(月) 06:16:43ID:???
sage
00542008/05/05(月) 09:11:39ID:???
スクリプトを抜くにはどうしたらいいの?
興味持った
http://z.z-z.jp/
のスクリプト抜きたいんだけど
0055nobodyさん2008/05/05(月) 09:52:23ID:???
そこC言語だよ
0056nobodyさん2008/05/05(月) 10:02:06ID:???
いや、Rubyでしょ
0057x2008/05/05(月) 10:22:06ID:???
ドメインから、どこのサーバを借りてるか調べるにはどうしたらいいですか? フーイズは、情報しかわかりません。 教えてください。
0058nobodyさん2008/05/05(月) 10:30:43ID:???
>>54,57
>>1
0059nobodyさん2008/05/05(月) 13:52:39ID:cSW0xQhq
某スレに居たけど、俺の良さを分からないようだったので、
こっちに北。俺は、分子生物学の権威だけど、何か聞きたいことある?
0060nobodyさん2008/05/05(月) 14:02:01ID:???
ない
0061nobodyさん2008/05/05(月) 14:08:10ID:???
>>59
お前が分子生物のまちがいだろ?
0062分子生物学の権威2008/05/05(月) 15:11:33ID:???
どうやら、このスレも俺にとっては役不足のようだ。
0063nobodyさん2008/05/05(月) 17:53:16ID:???
ブラウザからダウンロードさせるスクリプトですが

header('Content-Disposition: attachment; filename="test.txt";');
header('Content-Length: '.filesize("./test.txt"));
header('Content-Type: application/octet-stream');
readfile("./test.txt");

こうした場合、クライアントがブラウザのダウンロードダイアログではいを選んでDLが完了するか
いいえを選ぶまでサーバー側のPHPのプロセスは存在したままになるのでしょうか
0064nobodyさん2008/05/05(月) 17:55:42ID:???
>>63
確かめればいいじゃん。
だいたいモジュールとして動かしてる場合は「PHPのプロセス」自体存在しねーよ。
0065nobodyさん2008/05/05(月) 20:42:47ID:???
mysqlなどのデータベースを使わない、自分で設置するタイプのスレッド型掲示板
(php, cgiは問いません)で、流行っているものって何ですか?
教えていただけると幸いです。
0066nobodyさん2008/05/05(月) 20:54:35ID:???
kentとか?
0067nobodyさん2008/05/05(月) 22:26:01ID:???
phpbbじゃね?
0068nobodyさん2008/05/05(月) 22:27:16ID:???
連レスすまん
phpbbはDB使ってたな・・・
だとしたらkentとかcbbsとか一部では髭式BBSの派生品とかC-BOARDとかかな・・・
0069nobodyさん2008/05/05(月) 23:16:52ID:???
<?php

if($_FILES["userfile"]["error"]!==FALSE)
{
if($_FILES["userfile"]["size"]!=0)
{
if(strPos($_FILES["userfile"]["type"],"image/")!==FALSE)
{
$base=baseName($_FILES["userfile"]["name"]);
copy($_FILES['userfile']['tmp_name'],"./img/".$base);
echo "<img src=\"./img/".$base."\" />";
}
}
}
?>

ローカルでは動くのですがサーバに上げたら画像が出力されません。
これってどういう問題が考えられるのでしょうか?orz
0070nobodyさん2008/05/05(月) 23:21:04ID:???
これはひどい
0071nobodyさん2008/05/06(火) 00:01:16ID:Db+mgkTm
クラス自身に自分をテストするメソッド実装するのってあり?
0072nobodyさん2008/05/06(火) 00:13:19ID:???
普通は別にテストクラスを作ってテストをやるんじゃないかな
phpunitでも使ってみれば?
0073nobodyさん2008/05/06(火) 01:35:29ID:???
>>71
俺はありだと思っているんだが、
どうも理解してくれる人がいない。

いわく、ユニットテストとはインターフェースのテストであり
外部からテストするもんだそうだ。

が、俺はそもそもこれをユニットテストというつもりはなく、
名前をつけるのなら自己テスト。
ユニットテストのフレームワークを利用するが、
本質的にはまったく別のレベルのテスト。

自己テスト・・・ありだと思うんだけどなぁ。
まあ時代が俺についてきていないということで。
0074nobodyさん2008/05/06(火) 01:44:02ID:???
DocTestでもやっておけ
0075nobodyさん2008/05/06(火) 02:02:29ID:???
DocTestはソースが見づらくなるんだよなあ

で、その自己テストってのは何を目的としたテストをやるんだね
0076nobodyさん2008/05/06(火) 02:08:37ID:nuWjmwxL
暗号化させた文字列を照合したいのですが
cryptを使用した場合、先頭の8文字が一致してれば、9文字目以降が違っても、同じ文字列が返ってきますよね?

8文字以上の文字列でそのようなことをしたいとなれば、
どのような方法がありますか?
0077nobodyさん2008/05/06(火) 02:11:38ID:???
外部サーバ(文字コードはUTF-8)からGETメソッド付きでphp(EUC-JP)にリンク貼ると変な文字化けが起こる

リンクを張ります。
index.php?data=あいうえお

受け取った側で文字コード変換します。
$data=mb_convert_encoding($_GET['data'],"EUC-JP","UTF-8")

$data=「あいぁE」という見たこと無い文字列が。

#"auto"だと「縺ゅ>縺・∴縺・/td> 」になります。

リンク先を直接ブラウザに貼り付ける、
またはURLを先にエンコードしてindex.pnp_data=%e3%81%82%e3%81%84%e3%81%86%e3%81%88%e3%81%8a
としたら正しく表示されるのは確認済みです

↓文字化け例にもありませんでした。
http://funini.com/kei/mojibake/mojibake/
0078nobodyさん2008/05/06(火) 02:29:33ID:???
特定の文字がいくつ含まれるか知りたいのですがそんな関数ありますでしょうか?
preg_matchでできるのですが、正規表現は必要ないです。

echo 関数('HOGE',''aHOGEHOGEbbHOGEhOGE');
0079nobodyさん2008/05/06(火) 02:39:39ID:???
さぶすてら_かうんと
0080nobodyさん2008/05/06(火) 02:45:02ID:???
>>79さん
おおー!スゴス!
ありがとうございます。
0081nobodyさん2008/05/06(火) 06:00:14ID:UkSP1jaG
テンプレートエンジン作るのに煮詰まったのでどなたかアドバイスお願いします。

プログラムファイルからテンプレートをfileで読み込む

foreachで一行ずつ出力

preg_matchでテンプレート用変数をみつける→見つからなかったらスルー

見つかったら$bodyにテンプレート用変数に値を入れて、配列の一行を足す

foreachを抜けたら、$bodyを出力

このような形でも問題ないのでしょうか?負荷が気になるのですが
テンプレートエンジンは負荷は気にするべきではないのでしょうか?
0082nobodyさん2008/05/06(火) 07:57:34ID:???
1行ずつやる必要がどこにあるのか甚だ疑問。
というか煮詰まったっていうか行き詰ったんじゃね?w

寝たほうがいいと思うよ。
0083USA2008/05/06(火) 08:08:50ID:???
ドメインから、借りているサーバを調べたいんですけど、どうしたらいいかわかりますか?
ttp://tool-1.net/
の借りているサーバを調べたいのですが
0084nobodyさん2008/05/06(火) 08:12:07ID:???
>>83
釣り針が見えてますよ
0085nobodyさん2008/05/06(火) 08:26:42ID:UkSP1jaG
>>83
わかります
0086USA2008/05/06(火) 08:48:00ID:???
教えてください。
お願いします。
0087nobodyさん2008/05/06(火) 09:43:26ID:???
>>81
include -> Callback
0088nobodyさん2008/05/06(火) 09:46:18ID:UkSP1jaG
>>82さんのお陰で道が修正できました。
以下のようにしました。

テンプレートファイルを文字列にして読み込み、くっつけます。

正規表現でテンプレート変数があるか確認→なかったらそのまま文字列を出力

あった

str_replaceでテンプレート変数を置換する(サーチ文字、置換文字の指定は配列で指定)

文字列を出力
0089nobodyさん2008/05/06(火) 09:52:43ID:???

smartyを使う
0090nobodyさん2008/05/06(火) 12:18:01ID:???
>>75
> で、その自己テストってのは何を目的としたテストをやるんだね

プライベート関数のテスト
0091nobodyさん2008/05/06(火) 12:56:21ID:???
test
0092nobodyさん2008/05/06(火) 13:23:09ID:???
http://www.k-php.com/script/uploda/index.html
このスクリプトでやってみてるんですけど、srcを705にしてみてとりあえず画像をアップしても、
画像の属性は600になっちゃってなぜかみれないんです。
この場合ってどこをどう変更したらみれるんでしょうか?
神様方教えてください。
0093nobodyさん2008/05/06(火) 13:27:17ID:???
>>90
内部実装の大幅変更を楽にするための自動テストなのに、
プライベート関数までいちいちテスト書いてたら
それに縛られて、かえって思いきった変更が面倒になるのでは?

やりたきゃ誰も止めないと思うけど、俺は多分やらん。
0094nobodyさん2008/05/06(火) 13:59:12ID:???
>>93
> 内部実装の大幅変更を楽にするための自動テストなのに、

だから、それがそもそも話がずれてるっつーの。

テストにはいろんなものがあるんだよ。
ユニットテスト以外にも結合テストとか統合テストとか。
これは自己テスト(仮)

「内部実装の大幅変更を楽にするための自動テスト」ではなく、
プライベート関数の仕様を明確にするためのテストだよ。

っていうかさ、クラスってのは多くが、内部の処理は複雑だが使い方は簡単。なもんだろ?
内部の複雑な処理をテストしないなんてありえる? テストコード書かないだけでテストしてるだろ?
0095nobodyさん2008/05/06(火) 14:16:30ID:???
PHPUnitって
privateなメソッドはテストできないの?
0096nobodyさん2008/05/06(火) 14:18:33ID:????2BP(2121)
BlognPlus ぶろぐん+ を育てよう!
http://pc11.2ch.net/test/read.cgi/blog/1109028720/
と言うスレを発見したんだけど似たような
DBがいらないphpによるblogシステムお勧めがありませんか?
0097nobodyさん2008/05/06(火) 14:23:08ID:UkSP1jaG
$txtに格納されてる文字列は、改行や文字数などは決まってません。
↑のような規則で、↓の$txtの場合に、正規表現でOKを通るようにパターンを書きたいのですが、
うまくいきません。どなたかご教授お願いします。

$txt = "<p>test

i am

testman

</p>";





if (preg_match("/<p>([.\n]*)?<\/p>/", $txt)) {
echo "OK";
} else {
echo "NG";
0098nobodyさん2008/05/06(火) 14:23:32ID:???
>>96
つブログ板
0099nobodyさん2008/05/06(火) 14:24:13ID:???
>>95
まあ、普通はprivateなメソッドを外から呼ぶことはできないな。
それがprivateってものだし。

JUnitとかではできるみたいだけど、privateなメソッドを
外からテストするなんて変。

privateなんだから、内部のテストは内部でやるべきだよ。
それが↓これでしょう。

71 名前:nobodyさん[] 投稿日:2008/05/06(火) 00:01:16 ID:Db+mgkTm
クラス自身に自分をテストするメソッド実装するのってあり?
0100nobodyさん2008/05/06(火) 14:24:42ID:UkSP1jaG
つけたし

$txtは<p>タグで必ず囲んであります
0101nobodyさん2008/05/06(火) 14:25:52ID:???
>>94
それを言うのならwhiteboxとblackboxの違いで語ってくれ
おまえの言ってるwhiteboxテストは普通はステップ実行しながらデバッガでテストしていく
0102nobodyさん2008/05/06(火) 14:27:08ID:???
>>101
必死w
0103nobodyさん2008/05/06(火) 14:29:02ID:???
> ステップ実行しながらデバッガでテストしていく

そんなことをしていたら、数日後、忘れたころに
見直したり、バグ修正するときに大変だろう。
0104nobodyさん2008/05/06(火) 14:29:40ID:???
>>97
テストしてないけど
/<p>.*?<\/p>/s
でどう?
http://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php
0105nobodyさん2008/05/06(火) 14:31:36ID:UkSP1jaG
>>104さん助かりました!
おかげさまで解決しました!ありがとうございます^^
0106nobodyさん2008/05/06(火) 14:32:20ID:???
>>98
どもdです
ブログ板は質問スレググレとあったと
思うので諦めます厨でスマソです
0107nobodyさん2008/05/06(火) 14:34:42ID:UkSP1jaG
>>106
http://pc11.2ch.net/test/read.cgi/blog/1092408372/
0108nobodyさん2008/05/06(火) 14:38:31ID:???
>>107
ああありがとう!言ってきます見てきますノシ!
0109nobodyさん2008/05/06(火) 14:58:46ID:???
PHPでmixinみたいなことしたいんですが
そういうライブラリありますか?
0110nobodyさん2008/05/06(火) 15:04:20ID:UkSP1jaG
>>109
スパマー乙
0111nobodyさん2008/05/06(火) 15:12:57ID:???
>>110
??
どういう意味ですか?
0112nobodyさん2008/05/06(火) 15:13:25ID:???
>>109
ぐぐれ
0113nobodyさん2008/05/06(火) 15:14:31ID:???
UkSP1jaGキャラが不安定すぎww
0114nobodyさん2008/05/06(火) 15:16:06ID:???
http://d.hatena.ne.jp/akkun_choi/20070219
ここを見ているのですが
mixinする側がmixinObjectを継承しなければいけないなど
mixinの本質を分かっていないようで失笑しています
まともなmixinはないのでしょうか?
0115nobodyさん2008/05/06(火) 15:21:26ID:???
>>113
キャラチェンジしてる。
0116nobodyさん2008/05/06(火) 15:21:57ID:UkSP1jaG
ttp://hpproj.com/mixin/
0117nobodyさん2008/05/06(火) 15:23:47ID:???
mixinとか糞だな。こんなんで1万とかボッたくりww
0118nobodyさん2008/05/06(火) 15:24:05ID:???
>>114
この場合はmix-in機能を追加するためなのだから、
mixinObjectを継承するのには何の問題もないでしょう?
0119nobodyさん2008/05/06(火) 15:26:15ID:???
失笑されるべきは>>114の方だったかw
0120nobodyさん2008/05/06(火) 15:36:43ID:???
>>118
module側がmixinObjectをextendsするならともかく
includeする側がmixinObjectを継承してるのがありえないです
継承と別の文脈で実装できるのがmixinなのに・・・
PHPERのレベルの低さを見せつけられた思いです
0121nobodyさん2008/05/06(火) 15:39:14ID:???
PHPは多重継承できないのに
mixinオブジェクトを継承してしまったら他のクラスを継承できなくなります
いったい何のためのmixinなのか・・・
愕然としますね
0122nobodyさん2008/05/06(火) 15:42:33ID:???
>>120
やっぱり失笑されるべきはあなたでしたね。

たとえばJavaですべてのクラスがObjectを継承しているのと同じで、
mix-in機能を持っているクラスはmixinObjectを継承しているだけのことです。

mix-in機能を追加するためにmixinObjectを継承しているだけであり、
includeするために継承するのではありません。

この違い理解できますか?
0123nobodyさん2008/05/06(火) 15:44:59ID:???
>>121

Object
 ↑
mixinObject
 ↑
MyClass

わかりますか?
0124nobodyさん2008/05/06(火) 15:47:17ID:???
>>122
すべてのオブジェクトの基底クラスをmixinObjectにするということですか?
まぁ、それならありかもしれませんね
ただ他人が書いたクラスにmixinできないので
mixinの良さを十全に生かせるとは言い難いとは思いますが・・・
0125nobodyさん2008/05/06(火) 15:48:04ID:???
他人が書いたクラスを継承すればいい。終了。
0126nobodyさん2008/05/06(火) 15:48:37ID:???
>>121
IDだせやあぼーんできないだろ
0127nobodyさん2008/05/06(火) 15:52:31ID:???
>>123
PHPERの審美眼はそれを許すのですか?
やはり百姓言語PHPで
LL界の貴婦人Rubyの真似をするのには無理がありますね
0128nobodyさん2008/05/06(火) 15:55:05ID:???
Ruby厨必死すぎだろ・・・
0129nobodyさん2008/05/06(火) 15:55:37ID:???
なんか美しきPascal対実用性のCを思いだした
0130nobodyさん2008/05/06(火) 15:55:49ID:???
ヘタな煽りはいらないよ
0131nobodyさん2008/05/06(火) 15:56:13ID:UkSP1jaG
燃料投下乙
0132nobodyさん2008/05/06(火) 15:56:47ID:???
言語そのものに思想があるなら、自分で作ればいいじゃん。
0133nobodyさん2008/05/06(火) 15:57:42ID:???
Ruby最高! PHP厨死亡wwwwww
0134nobodyさん2008/05/06(火) 15:58:04ID:???
まともなmixinの実装引き続き募集してます
0135nobodyさん2008/05/06(火) 15:59:38ID:???
>>133
そんな低レベルな煽りを自演しないでください
民度低いですね
0136nobodyさん2008/05/06(火) 15:59:44ID:???
PHPは百姓言語です。
Rubyに乗り換えられないやつは百姓です。
早くお侍さんになろうと思いませんか?
0137nobodyさん2008/05/06(火) 16:00:22ID:???
>>136
そんな低レベルな煽りを自演しないでください
民度低いですね
0138nobodyさん2008/05/06(火) 16:00:51ID:???
まともなmixinの実装まだー? 早くしないとRubyに乗り換えちゃうよ?
0139nobodyさん2008/05/06(火) 16:01:05ID:???
>>138
そんな低レベルな煽りを自演しないでください
民度低いですね
0140nobodyさん2008/05/06(火) 16:03:47ID:???
Ruby厨じゃなくて、Rubyちゅっ♥ だなw
0141nobodyさん2008/05/06(火) 16:04:11ID:???
能なしのPHPERがID出させようと必死の猿芝居ですか・・・
まぁ、好きにすればいいでしょう
0142nobodyさん2008/05/06(火) 16:05:28ID:???
>>141
そんな罠しかけてもIDだしませんよwwww
0143nobodyさん2008/05/06(火) 16:06:02ID:UkSP1jaG
IDだしてる俺に対してのイヤミうぜえ
01441092008/05/06(火) 16:06:36ID:???
109ですが途中の人(Ruby厨?)は
全部偽者ですので無視してください。
01451092008/05/06(火) 16:08:24ID:???
いま、Rhacoってのを調べています。
しばしお待ちを。
0146nobodyさん2008/05/06(火) 16:12:27ID:???
馬鹿はほっとくとして・・
mixinする側は、自分がmixinすることを知っておく必要はないんですね
is-aの観点からも、mixinObjectをサンドイッチするのは許し難いです
Rubyのmixinの完コピーは無理にしても
インスタンスに外からメソッドを付け外しできるような
そういう実装がないものか・・・
0147nobodyさん2008/05/06(火) 16:15:13ID:???
だから、mixinObjectってのは
mix-in機能を提供するものであり、
includeするオブジェクトの実装ではない。
0148nobodyさん2008/05/06(火) 16:17:08ID:???
>>146
PHPを改造すればできるんじゃね?
そこまでしなくてもmixinObjectで十分問題ないから
俺は作る気ないが。

先輩から一言。手段と目的を履き違えるな。
0149nobodyさん2008/05/06(火) 16:23:02ID:+at48j4e
PHPごときで小難しい事やろうとかんがえてるやついるんだなー。
感心しちゃった。
0150nobodyさん2008/05/06(火) 16:23:15ID:???
そういう問題を起こしたくないなら>>1読んでID出してください
0151nobodyさん2008/05/06(火) 16:25:45ID:UkSP1jaG
私こそが質問者の鏡です
見習ってください
0152nobodyさん2008/05/06(火) 16:27:20ID:???
私こそが、質問者のかがみんです。
見習わなくなっていいんだからね!
0153nobodyさん2008/05/06(火) 17:01:48ID:???
いつからこのスレはmixinスレになったんだw
0154nobodyさん2008/05/06(火) 17:08:51ID:???
mixinではありません。
かがみんです。
0155nobodyさん2008/05/06(火) 17:10:46ID:???
for($i = $st; $i < $st+$page_def; $i++){
if($lines[$i]=="") continue;
list($id,$ext,$com,$host,$now,$size,$mtype,$pas,$orig,)=explode("\t",$lines[$i]);
$fsize = FormatByte($size);
if($auto_link) $com = ereg_replace("(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","<a href=\"\\1\\2\" target=\"_blank\">ファイル</a>",$com);

$filename = $prefix.$id.".$ext";
$target = $updir.$filename;

if($c_anot) $jump = "target='_new'";
echo "<tr><!--$host-->";//ホスト表示
echo "<td><img src='$target'></td><br>";
echo "<td>[<a href='$target' $jump>ファイル</a>]</td>";
if($c_size) echo "<td align=right><b><font size=2>$fsize</font></b></td>";
if($c_date) echo "<td><font size=2>$now</font></td>";
echo "</tr><br>\n";

echo "<td><img src='$target'>の画像のサイズを指定するのはどうしたらいいんでしょうか?
0156nobodyさん2008/05/06(火) 17:11:21ID:???
いいえ、ケフィアです
0157nobodyさん2008/05/06(火) 17:14:02ID:???
>>155
>>150
あとHTMLが分からないって言うんならスレチガイ
01581552008/05/06(火) 17:14:23ID:???
自己解決しました
0159nobodyさん2008/05/06(火) 17:16:39ID:???
HTMLはわかるんですけど、
echo "<td><img src='$target' width="xx" height="xx">
って入れてみてもエラーになってページが表示されないんですよ。
0160nobodyさん2008/05/06(火) 17:20:57ID:???
>>159
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double
0161nobodyさん2008/05/06(火) 17:25:55ID:???
'でかこめってことですか?
0162nobodyさん2008/05/06(火) 17:31:33ID:???
>>157
>>158
>>159

氏ね
0163nobodyさん2008/05/06(火) 17:34:15ID:???
答え教えてください><
0164nobodyさん2008/05/06(火) 17:39:54ID:???
だから>>1読んでID出さないと荒れると言っているだろうが
0165nobodyさん2008/05/06(火) 17:43:54ID:ZdmmhapK
>>164
すいませんID出しました。
0166nobodyさん2008/05/06(火) 17:47:27ID:???
何度言ってもほんと理解するのが遅いよなゆとりは
0167nobodyさん2008/05/06(火) 17:48:20ID:???
泥酔してるけど、エラーはどっか構文がおかしいんだろ
サイズはHTMLでしていしろや
0168nobodyさん2008/05/06(火) 17:49:48ID:ZdmmhapK
HTMLで指定してるつもりなんですけど、今試しても
<img src='$target' width="60" height="60">
で入力してもダメなんですよ・・。php独自の書き方があるのかなと思って。
0169nobodyさん2008/05/06(火) 17:56:20ID:???
>>168
echo "<img src=\"{$target}\" width=\"60\" height=\"60\">";
0170nobodyさん2008/05/06(火) 17:58:20ID:ZdmmhapK
>>169さんありがとうございます!
すっごく確かりました。本当にありがとうございます!!
0171Order2008/05/06(火) 18:06:19ID:fJq/GBDg
みんなは、編集できたりするパスワードファイルのパーミッション
606にしてますか?600にしてますか?666にしてますか?
0172nobodyさん2008/05/06(火) 18:23:43ID:???
>>171
パーミッションの勉強からしてこい
0173nobodyさん2008/05/06(火) 18:23:52ID:???
このスレはこの程度かw
0174nobodyさん2008/05/06(火) 18:42:10ID:???
007最強
0175nobodyさん2008/05/06(火) 18:51:44ID:???
>>171
あちら↓で質問してください

【エスパー】くだ質【エラーメッセージ不要】(1)
http://pc11.2ch.net/test/read.cgi/unix/1207042632/
0176nobodyさん2008/05/06(火) 19:32:59ID:???
>>168
シングルクオートで囲め!!!

$html = '<img src="'.$target.'" width="60" height="60">';
0177nobodyさん2008/05/06(火) 19:45:16ID:???
>>176
同じ事じゃん
ピリオド連結は、変数埋め込みより遅いよ。






誤差の範囲だが。
0178nobodyさん2008/05/06(火) 19:48:30ID:???
ピリオド連結の方が速いんじゃなかったっけ?
0179nobodyさん2008/05/06(火) 19:51:19ID:???
var_dumpで循環参照してると
同じ値が何度も表示されてウゼーっス
循環参照を防ぐ方法ないッスか?
0180nobodyさん2008/05/06(火) 20:19:46ID:???
>>177-178
ベンチよろしく
0181nobodyさん2008/05/06(火) 20:20:32ID:???
>>179
例えばどういうとき?
0182nobodyさん2008/05/06(火) 20:26:33ID:???
PHPで循環参照ってどんな状態なんだろう
無限ループ?
0183nobodyさん2008/05/06(火) 22:21:39ID:???
>>179
再帰関数な感じだろうか
再起関数内でなんとかするならグローバルでカウントする変数作って最後に出すようにするとか・・。

単純に再起関数終了後にvar_dumpとか・・

どうでもいいがID出せ
0184nobodyさん2008/05/06(火) 22:27:36ID:???
循環参照を扱えるvar_dumpっぽいものは
探せばいくらでもあるだろう。

俺はcakephpのpr()を使っているが。
0185nobodyさん2008/05/06(火) 22:59:10ID:???
思ったんだけど、ヒットサウンドで三個同時に敵に当たったら「ばよえーん」とか「ばはむ〜と」とか
同時ヒット数によってサウンド変わったら分かりやすくね?
0186nobodyさん2008/05/07(水) 00:20:40ID:???
\\\\\\\\\\\\\\\\ってなるソース汚い
あと
$html .= aaaaaaa;
$html .= bbbbbbb;
は遅いけど
$hmlt = aaaaaaaa.
          bbbbbbbbb;
はそんなに遅くない
0187nobodyさん2008/05/07(水) 00:23:38ID:???
俺も出来るだけエスケープシーケンス使わない方法で書くな読みやすさ優先で。
ヒアドキュメントか"."連結のほうがスッキリする場合はそうする。
0188nobodyさん2008/05/07(水) 14:11:21ID:???
同じく。
PHPでヒアドキュメントつかう意味がわからんて奴が結構いるけど、
変数がでるたびに<?php ?>で出入りするほうが面倒じゃね?
0189nobodyさん2008/05/07(水) 14:20:04ID:PVZCAXAQ
htmlのソースをヒアドキュメント使わずにprint"";で囲んでるけど、これって遅くなるのかな?
0190nobodyさん2008/05/07(水) 14:51:59ID:ae64vN4s
PHPでレスポンスコードを指定するにはどうしたらいいですか?
0191nobodyさん2008/05/07(水) 15:02:26ID:???
頭を使う
0192nobodyさん2008/05/07(水) 15:40:27ID:???
>>191
分からないならだまっててくださいよ
昭和生まれが
0193nobodyさん2008/05/07(水) 15:44:25ID:???
これでピンと来ない様では、ちと頭が固い。
0194nobodyさん2008/05/07(水) 15:50:21ID:???
頭 頭 頭 ・・・
0195nobodyさん2008/05/07(水) 15:55:42ID:???
>>193
僕はとんちをしに来たんじゃないんですよ
いつだって真剣なんです
0196nobodyさん2008/05/07(水) 16:11:28ID:???
>>194を見てたら、頭を食べると魚がよくなりそうな気がしてきた。ねむい。

>>190
> ( string string [, bool replace [, int http_response_code]] )
これ便利ですよ。
0197nobodyさん2008/05/07(水) 16:11:52ID:???
PHPが最終的にどんなヘッダを吐いたのかを
サーバサイドで知る方法があれば教えて下さい
0198nobodyさん2008/05/07(水) 16:13:58ID:???
header関数
調べれば判るだろ
=頭を使ってないorどう調べて何が判らなかったのか説明する能力がない
0199nobodyさん2008/05/07(水) 16:15:22ID:???
サーバサイド?
ttp://www.phppro.jp/phpmanual/pear/package.http.http-request.response-eval.html
こういうことかい
0200nobodyさん2008/05/07(水) 16:19:57ID:???
>>199
いや・・・自コード内で、という意味です
たとえばsession_cache_limiterを使ったらヘッダが勝手に設定されるみたいですが
どう設定されたのか知りたいんです
0201nobodyさん2008/05/07(水) 16:45:55ID:???
うーむ、そういう目的だったか。
出力済みヘッダ内容を、自分自身で受け取ったり文字列として再出力する手段は俺は寡聞です。力になれなくてごめん

もしデバッグ用途なら、firebugとか使ってクライアント側でヘッダ見るんじゃ駄目なのかな?
0202nobodyさん2008/05/07(水) 16:57:54ID:???
使ったことはないし、違ってるかもしれんが、
http://jp.php.net/manual/ja/function.headers-list.php
じゃダメなのかね。Apacheレベルでなんかしてたらお手上げだけど。
って言うか、質問者はマニュアル読んでるのかな。
0203nobodyさん2008/05/07(水) 17:07:35ID:???
>>201
ありがとうございました
firebugを使ってなかったのでいれてみました
>>202
これですね
こんな機能が標準で備わってると思わなかったのでみていませんでした
ありがとうございました
0204nobodyさん2008/05/07(水) 17:33:33ID:???
PHP + MySQL のプログラムに関して質問させてください。

勉強用に単純な検索プログラム(ユーザーの入力した条件から適切なレコードを検索、表示する)を作っています。
結果が一定数以上の場合はページ遷移を行うわけですが、ここで少し迷ってしまいました。

@ SQLから結果を全て受け取って、配列に入れておき、それを for で回す。ページ遷移は for の引数を変えていく。
A LIMIT などを使って、そのページ、そのページで、SQLから結果受け取る。

どちらの方法を取るべきなのか、ご助言いただけると有難く思います。
よろしくお願いします。
0205nobodyさん2008/05/07(水) 17:38:00ID:???
10000レコードとかあったら無駄すぎじゃね?
なのでA番のほうがいいと思いますー。
そんなにレコード数はないだろうけど、勉強用としてはもってこいな題材だし。
0206nobodyさん2008/05/07(水) 17:42:34ID:???
>>204
普通は、(2)
0207nobodyさん2008/05/07(水) 17:58:56ID:???
>>205-206
ご回答ありがとうございます。
>>205さんのおっしゃる通り、レコードが数万単位になってきたら、ループで回すのは現実的じゃないですね。
A の方法を取ろうと思います。
参考になりました、ありがとうございました。
0208nobodyさん2008/05/07(水) 19:58:34ID:???
>>206
日本語でおk
0209nobodyさん2008/05/07(水) 22:09:34ID:jO2+N/ib
mysqlの話が出たので流れに便乗して質問

mysqlに接続するときにmysqlのuserとpasswordが必要になりますが
PHPの場合はどこにその情報を持ちますか?
設定ファイルとしてconf.phpとかを作成してその中に持つのが簡単ですが
生パスワードが書かれるのは、できれば避けたいと思いまして
0210nobodyさん2008/05/08(木) 00:03:27ID:???
生だろ生
嫌なら暗号化処理とかすればいい
ついでだからバイナリ化しておけばパット見わからんぞ
0211nobodyさん2008/05/08(木) 00:13:19ID:???
そんなに気になるのならSSL使えよ貧乏人
0212nobodyさん2008/05/08(木) 00:31:48ID:???
SSLを使うとソース上に事実上解読不可能な形でパスワードを保存することが可能なの?
0213nobodyさん2008/05/08(木) 00:39:50ID:???
金持ちはSSLで全て解決できるようです
0214nobodyさん2008/05/08(木) 00:39:59ID:tHYDIFZk
携帯でセッションを持ちまわす方法を考えているのですが、
なかなかいい方法が浮かびません。なにか方法があるのでしょうか?

サイトにログインしてそのアドレスを他人に送信したときに入れなければいいんですが
urlに引数でユーザーIDとか持たせてるので、今はそれだけで認証させているのですが
もちろんそれだと他の人でも余裕で入れてしまいます・・


よろしくおねがいします。
0215nobodyさん2008/05/08(木) 00:43:43ID:???
>>214
携帯端末情報取得

データ照合

処理
0216nobodyさん2008/05/08(木) 00:50:32ID:???
後出し情報どうぞ
02172092008/05/08(木) 01:09:01ID:???
>>210
やっぱ生すかねえ
暗号化したところでhashみたいに一方向にはできないですし

apacheユーザでパーミッションを0600にでもしておきます
0218nobodyさん2008/05/08(木) 01:11:07ID:???
パーミッションって4桁あるの?
0219nobodyさん2008/05/08(木) 01:16:25ID:???
八進数は頭に0を付ける
0220nobodyさん2008/05/08(木) 01:17:48ID:???
SetUIDとかじゃなかったっけ。違ったかな。
0221nobodyさん2008/05/08(木) 01:46:12ID:???
8進で600とか無茶もいいとこだw

SUIDとかSGIDとかスティッキービットの部分かな
必要無いときゃ書かないのが普通だと思うけど
0222nobodyさん2008/05/08(木) 02:00:01ID:???
>>214
前スレでも同じような話あったな
同じヤツか?
0223nobodyさん2008/05/08(木) 03:00:32ID:/YXnYoEj
ttp://php.mirror.camelnetwork.com/manual/ja/simplexml.examples.php
このページの例1の、$xmlstr = <<<XML ~ XML; の所が
”<<<XMLで”始まり、”XML;”で終わっていますが
変数に文字列としてxmlを代入する場合の決まり事っていう事でいいのでしょうか?
調べてみても分からなくて、気になったもので・・・
よろしくお願いします

0224nobodyさん2008/05/08(木) 03:07:24ID:???
そんなところより先にまずちゃんと言語リファレンスを読もうよ
http://jp.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
0225nobodyさん2008/05/08(木) 03:16:09ID:/YXnYoEj
>>224
すいません・・・、見てませんでした
取りあえずxmlを操作してみたく飛ばしてました
始めから読み直します;
ありがとうございました
0226nobodyさん2008/05/08(木) 03:18:45ID:???
>>222
そんなこと言ってたらほとんど同じやつだろがjk
0227nobodyさん2008/05/08(木) 05:16:22ID:bsvRXjwo
simplexml_load_file()で外部のサイトからロードしてるんだけど
これがすごく遅い

ブラウザからアクセスするとそんなに遅くないんだけど
なにか原因になりそうなことあります?
0228nobodyさん2008/05/08(木) 05:32:42ID:???
0229nobodyさん2008/05/08(木) 05:33:14ID:???
PHP5で、変数をクラス名として、クラス変数にアクセスできますか?

$className = "Hoge";
$className::classProperty;
$className::classMethod();

みたいにしたいのですが・・・
02302292008/05/08(木) 05:35:07ID:???
と、質問してみたけど時間が悪かったので質問取り下げます。。。
0231299 ◆SxucvMLsOs 2008/05/08(木) 05:36:53ID:???
取り下げませんよw

暇な事してないで答えてくれよ!
0232229 ◆SxucvMLsOs 2008/05/08(木) 05:37:22ID:???
・・・レス番間違えたorz
0233nobodyさん2008/05/08(木) 05:40:19ID:???
>>230-232
あの、やめてもらえませんか?
だれかおねがいします
0234nobodyさん2008/05/08(木) 05:43:35ID:???
>>229
それを試してから聞いてるのですか?
0235229 ◆SxucvMLsOs 2008/05/08(木) 05:46:58ID:???
>>234
試してます。

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

が出てしまうので、構文的にアウトなのはわかるのですが・・・
別の書き方があるのかと思い、質問してる次第です。
0236229 ◆SxucvMLsOs 2008/05/08(木) 05:51:10ID:???
自己レス。

PHP5.3から出来るようになるとの事。

おとなしくcall_user_func使うよ・・・
0237nobodyさん2008/05/08(木) 05:52:14ID:???
IDが表示されておりませんがどういう考えでしょうか?
ここはID表示されないとまともな回答は得られないスレですので
0238nobodyさん2008/05/08(木) 05:57:20ID:???
トリップ付けてるからいいんじゃないの?
2回目からだけど
0239nobodyさん2008/05/08(木) 05:57:52ID:???
僕はスーパーハッカーなのでIDを消してます。
IDと全角で表記するのは非常にイケテない気がします。
0240nobodyさん2008/05/08(木) 07:12:47ID:a30fSoKv
Ajaxのサーバー側プログラムについて、お知恵をお貸し下さい。

サーバーとクライアント間を相互にXML送信したいのですが、
サーバー → クライアント のXMLは問題ないのですが、
クライアント → サーバー の場合、XMLHttpRequestを使ってXMLを送信した場合、
サーバー側のPHPではどうやってXMLを取得すればいいんでしょうか?

クライアント側のJavaScriptはこんな感じです。
// POST
Ajax.prototype.Post = function Post( argPost ){

post = '<xml>xml</xml>';
// post = 'va1=1&va2=2';

this.request = this.CreateXMLHttpRequest();
this.request.onreadystatechange = this.OnReadyStateChange;
this.request.open( 'POST', this.url, this.async, this.user, this.pass );
// this.request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
this.request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
this.request.send( post );
}

サーバー側のPHPは、下のようにして値をチェックしてます
<?php

var_dump($_GET);
var_dump($_POST);
var_dump($_SERVER);

?>
0241nobodyさん2008/05/08(木) 08:06:49ID:???
>>240
$data = file_get_contents('php://input');

どうしてもXMLを使う理由が無いなら、
クライアント → サーバは 普通にpost
サーバ → クライアントは JSON
をお勧めする。

0242nobodyさん2008/05/08(木) 08:37:17ID:a30fSoKv
>>241
レスありがとうございます。
取得できました。
そんな方法があるとは知りませんでした。(さすがです!)
JSONの方が楽なのは承知しているのですが、色々と事情がありまして・・・
02432142008/05/08(木) 09:00:38ID:lngjMkTW
>215
それだとFORMしかリンクに使えなくなるのでテキストのリンク部分などは回避したいところです・・

>222
違います
0244nobodyさん2008/05/08(木) 09:10:35ID:???
>>243
携帯情報端末を使うのになんでFORMにしかリンクがつかえなくなるの?
0245nobodyさん2008/05/08(木) 09:12:35ID:???
何か基本的なところが理解できてない感じするね
0246nobodyさん2008/05/08(木) 09:12:48ID:???
>>243
携帯端末情報は普通のアンカーからでも取れると思うよ。
DoCoMoだと端末側に送信するか否かの確認は出るだろうけど。

それが嫌なら、
・URLにユーザIDではなく、セッションIDを持たせる。
・セッションIDはアクセス毎に変更する
とか処理しとけば要件満たせるよ。
02472432008/05/08(木) 09:58:57ID:6fBs3OYg
>244-246
すいません、勘違いしてました。

>246
セッションIDもたせたばあい、そのアドレスでアクセスしたら
他の端末でアクセスしたときのセッションの内容がみれたのですが・・
0248nobodyさん2008/05/08(木) 10:10:42ID:???
前スレの
「セッションハイジャックが毎日行われています。客に仕様だと説明しているのですが
 納得してもらえません。どう説明すればいいのでしょう?」
と似てきたな。
0249nobodyさん2008/05/08(木) 10:39:32ID:???
>>247
>セッションIDもたせたばあい、そのアドレスでアクセスしたら
>他の端末でアクセスしたときのセッションの内容がみれたのですが・・
セッション側で管理してなきゃ当然の動作だ。

まずはユーザエージェントでも見て、セッションの有効性をチェックしろ。
これで3割防げる。

そして、セッションIDをアクセス毎に変えろ。
ユーザが故意にセッションIDを流出させない限り
これで9.99割防げる。
0250nobodyさん2008/05/08(木) 11:16:11ID:???
>>248
いちいち前スレのことをもちだすな
ストーカー気質で気持ち悪い
0251nobodyさん2008/05/08(木) 11:33:28ID:???
ストーカーされて気持ち悪いの間違いでは?
0252nobodyさん2008/05/08(木) 11:36:09ID:???
>>248=>>251
0253nobodyさん2008/05/08(木) 11:43:53ID:???



    .__
    ヽ|´∀`|ノ <先生!fscanfがおかしいです!
    |__| 
     | |

0254nobodyさん2008/05/08(木) 11:45:46ID:???
仕様です
02552432008/05/08(木) 12:03:56ID:6fBs3OYg
>>249
もしよければ具体的なソースコードなど教えてもらえないでしょうか?
0256nobodyさん2008/05/08(木) 12:04:51ID:???
えっ!
0257nobodyさん2008/05/08(木) 12:05:52ID:???
びっくりしたなぁもう!
0258nobodyさん2008/05/08(木) 12:07:34ID:BM6vmusK
http://www.cgikon.com/search/detail.php3?menu=1&cgi_id=426
これスクリプトおかしくない?
0259nobodyさん2008/05/08(木) 12:14:31ID:???
>>243
ググレばやまほど情報出てくるよ。
ロジックを考える事でPGは育つので、
自分で考えてみると良いと思う。

ヒント

 $_SESSION['USER_AGENT'] を保存しておいて、
 アクセス毎に、ユーザエージェントが変わってないかチェック。

 セッションIDを毎回変えるというのは、
 session_regenerate_id で検索すればいいよ。
0260nobodyさん2008/05/08(木) 12:26:13ID:???
>>258
おかしくないんじゃね?書き方が古いが

斜めにしか読んでないから納得いかないなら具体的に示せ
02612432008/05/08(木) 12:33:03ID:6fBs3OYg
>>259
同じ機種だと同一のagentにならないですか?
0262nobodyさん2008/05/08(木) 12:36:29ID:???
>>261
何度いえばわかりますか携帯端末情報とればいいだろ
0263nobodyさん2008/05/08(木) 12:41:47ID:???
>>260
レンタルサーバーに設置して予定編集ページに飛ぶためにクリッコしてもページが切り替わらんのです。
自宅サーバー設置してやってみましたが同じだったのでスクリプトかと思いまして
0264nobodyさん2008/05/08(木) 12:44:28ID:???
>>263
まずおまえが使ってる鯖設定とかphpバージョンとかphp.iniの設定とかあるんじゃないのかね?
0265nobodyさん2008/05/08(木) 12:54:16ID:???
>>263
ヒント:古いバージョンと新バージョンのPHPでのGETとPOSTの取得方法

ソースみたら動かなくて当然
よく読まなかったのかい?
02662432008/05/08(木) 14:27:27ID:6fBs3OYg
>>262
DoCoMoだと毎回確認が出てうざくなるので
できれば使いたくないのですが・・・
ページによっては使うことになると思うんですが。
0267nobodyさん2008/05/08(木) 14:47:17ID:???
いつの時代の話だよw
0268nobodyさん2008/05/08(木) 14:55:12ID:???
>>266
一回だけ認証すればあとはセッション使うだけだろ

ちなみにguid=onでIDが取れるようになったが、簡単に偽装できるのでお薦めしない
0269nobodyさん2008/05/08(木) 15:33:41ID:???
セッション処理で接続先の環境が違った場合の処理ってどうするのがいいですか?
セッションの内容を消してしまうと、本来のユーザが困るし・・・
0270nobodyさん2008/05/08(木) 15:35:29ID:???
最近下らない質問じゃなく頭悪い質問が多いな
02712272008/05/08(木) 15:41:46ID:???
>>228

鯖というと自分側のですよね?
相手側は直アクセスでは遅くないし


でも 外部へのアクセスだけがそんなに遅いもんです?
なにか解決方法ないものか…

もちろんキャッシュはしてるけど してないときが激遅です
0272nobodyさん2008/05/08(木) 15:55:56ID:???
>>227
DNS?一度IPでアクセスしてみて確認
0273nobodyさん2008/05/08(木) 16:13:07ID:???
>>270
答えられないなら黙っとけよゴミ虫
0274nobodyさん2008/05/08(木) 16:19:20ID:???
>>265
まじあざっす!
まったくPHPがわからない素人なのです
.htaccessでregister_globalsをONにしたらできました
02752692008/05/08(木) 16:35:36ID:???
接続環境の変化を検知した時点で
セッションIDを変更して新規のセッションとして開始すると、
UAをころころ変えながら繰り返しアクセスすることで
セッションリソースを大量消費される攻撃に晒される危険があるかと思います。

またexitで処理を停止させてしまうのも、あまりよろしくない。
ルーティングは、後に任せるべき。

セッションがない状態でアクセスした時と同様の処理をしたいのですが、
既にその時点でセッションは開始されてしまっているので、
なかなかむずかしいんですよね・・・
02762692008/05/08(木) 16:43:38ID:???
「$_SESSIONをクリアし、
それでいながら、
その変更を本来のセッションストレージに反映させず、
また新規でセッション領域を消費しない」
と処理をやればいいかと思います
どうすればいいですか?
0277nobodyさん2008/05/08(木) 17:44:50ID:???
>>274
なぜ、現行Verではデフォルトでregister_globals=offになっているのかも知っておこうね。
0278nobodyさん2008/05/08(木) 18:23:08ID:???
>>243
>>261
>同じ機種だと同一のagentにならないですか?
逆を言えば、同一機種(+同一ファームウェア?)で無い限りはアクセスを遮断出来ます。
実装が簡単な割に得られる効果は大きいです。

>セッションIDを毎回変えるというのは、
>session_regenerate_id で検索すればいいよ。

は検索しましたか?
URLにセッションIDを含む以上、URLが漏れたら非常に危険です。
しかしセッションID自体をアクセス毎に変えることで、
この危険性はほぼ100%解消できます。

間違えて表示中のURLを漏らしてしまったとしても、
そのURLに含まれるセッションIDは既に無効になっている事になるからです。
0279nobodyさん2008/05/08(木) 18:32:13ID:???
>>269
1.接続環境の変更は考慮しない
 
2.接続環境の変更を確認した時点で、セッションを適切に破棄し、
 新セッションを開始する。
 
>接続環境の変化を検知した時点で
>セッションIDを変更して新規のセッションとして開始すると

新規セッション開始前に、旧セッションを破棄すればいいだけでは?

>UAをころころ変えながら繰り返しアクセスすることで
>セッションリソースを大量消費される攻撃に晒される危険があるかと思います。
 
 まずセッション管理はどうしてるの?
 ブラウザ終了時までのセッションであれば、
 ブラウザ起動する毎に新セッションが発行され、リソース消費を防ぐ手段はありません。
 
 クッキーに有効期限が設定されているのであれば、
 適切に不要なセッションを削除する事でリソースの消費は防げます
0280nobodyさん2008/05/08(木) 19:47:02ID:???
セッションにどんなでかいデータ持たせるつもりなんだ?
0281nobodyさん2008/05/08(木) 20:04:07ID:???
iノードは有限だから小さくてもファイル大量に作られたら嫌じゃね?
っていうか、セッションファイルが大量になった時のパフォーマンスどうなんだろ?
特に考えたこともなかったけど
symfonyのキャッシュ機構みたいに遅くならない工夫してんのかな
0282nobodyさん2008/05/08(木) 21:24:09ID:???
ファイルに保存するのであればOS依存だろうし。
パフォーマンスに影響する程のモノでは無い。
きちんと破棄処理すりゃiノードを圧迫する事はありえない。

どうしてもきになるなら、session_save_handlerでも使って好きに実装すればいいんじゃね?
0283nobodyさん2008/05/08(木) 21:39:36ID:???
しつもん
JavaScriptでencodeURIした文字列を受け取ると"+"だけ消えるんですが何故?

a.html
<select name="select"><option value="A+-*/">

a.js
var a=encodeURI(document.forms[0].select.value) ←この時点では"A+-*/"

(xmlHTTPRequestでPOST送信)

a.php
a=$_POST['a']                  ←ここで"A -*/"になってる

+だけの理由がよくわかりません。
0284nobodyさん2008/05/08(木) 22:25:28ID:???
>>283
実装の違い。
PHPのurldecodeは+をスペース文字としてデコードする。

js側で encodeURIComponent() 使えばいいよ。
0285nobodyさん2008/05/08(木) 22:38:35ID:???
>>284
フムウそんな罠があったとは
調べてみるサンクス
0286nobodyさん2008/05/08(木) 23:28:14ID:???
プレス‐リリースを発信してるサイトはPHPで作ってるのが多いですが、簡単に作れますか?
0287nobodyさん2008/05/08(木) 23:36:49ID:???
質問内容から判断すると簡単には作れないだろう
誰かに作成依頼するなら話は別だが
02882272008/05/09(金) 00:29:55ID:???
>>272

どもです
直だと早いんですよねー

PHPからだと遅い… 謎
鯖がくそなのかなあああああ
0289nobodyさん2008/05/09(金) 00:38:14ID:???
そもそも、その直でのアクセスしてるマシンとPHPが動いてるマシンが
同一なのかそうでないのかすら書かれてないのに判断できる訳がない

違うと推測して>>272のIPアドレスでのアクセスは試してみたのか?
02902272008/05/09(金) 01:08:14ID:???
>>289

PHPが動いてるのはレンサバですねー

アクセスしてるのは外部のサイトの公開API

直だと早い早い RESTだからブラウザ直でアクセスしても早いよ
借りてるうちのレンサバのPHP -> 外部APIが激遅

なんでかねえ・・・
0291nobodyさん2008/05/09(金) 01:26:12ID:???
直が速いのはわかったから、少しは切り分けくらいしたらどうだね
simplexml_load_file()を含む部分のコードを自分の端末で動かして外部サイトに繋いでみるとか
レンサバにsshとかで入れるのなら、レンサバのw3m等で繋いでみるとか

PHPの問題なのか、レンサバの問題なのかすらわからんじゃないか
0292nobodyさん2008/05/09(金) 01:26:13ID:???
02932272008/05/09(金) 02:55:54ID:???
>>291

その辺はテストしてますよー

PHPからだと遅い…
simplexml_load_fileというか HTTPリクエスト系が激遅

鯖なのかな
それにしては激遅だ
02942272008/05/09(金) 03:06:20ID:???
w3m もう一度試したら 遅いわ・・・

鯖なんかなあ
時間帯が時間帯だしなあ

PHPからはいつやっても遅いのはたしかなんだけど
0295nobodyさん2008/05/09(金) 03:12:39ID:???
とりあえずIDは出した前
02962272008/05/09(金) 03:16:08ID:snanmjyt
wgetでやっても同じですねー

Resolving ... で時間がかかってる

時間が時間だけにたまたまかもだけど

ブラウザからとPHPからとで 相手側がなんか処理わけとるんかなあ
02972272008/05/09(金) 03:19:58ID:snanmjyt
出てきた IPでつないだら早い・・・・

これはDNSが問題???

どうしようもないのか よくわからないんですけど
02982272008/05/09(金) 03:32:48ID:snanmjyt
わかたこと

w3m, getw から ドメインでアクセスすると遅い
IP直でアクセスすると早い

Resolving ドメイン名 .... が長い

だけど nslookupでドメインからひいて見ると IPはすぐに返ってくる
よくわからん・・・

その場しのぎでIPでアクセスするようにするか・・
0299nobodyさん2008/05/09(金) 03:50:29ID:???
>>272,289でとっくに言われてるのに・・・
03002772008/05/09(金) 03:55:06ID:snanmjyt
すんません
いみがわからなかったから調べてました…

PHPからgethostbyname()で事前に変換してみても おそかった
直IPだと早い

ということは 解決方法はなしですかね??
今、IP直でやるようにしましたが 万が一相手の鯖がかわったらアウトですよね
0301nobodyさん2008/05/09(金) 03:59:05ID:???
解決方法はレンサバに文句を言う事

予想ではipv6関係でbind9が遅くなってる
でもこんなんはレンサバの設定を見なきゃ何も言えん
もはやPHP関係ないし
03022272008/05/09(金) 04:03:33ID:snanmjyt
>>301

そうですか…
とりあえず原因がすっきりしたことに感謝します

レンサバにもきいてみます

しかたないのでしばらくはIP直でやるか
cronでときどき gethostbyname しておいて それを使うとかしようと思います
0303nobodyさん2008/05/09(金) 04:26:38ID:???
test
0304nobodyさん2008/05/09(金) 08:07:25ID:???
いつからここは日記帳になったんだ
03052432008/05/09(金) 09:38:31ID:NVAYhOqr
みなさんありがとうございました。
ようやくそれなりに満足できるものが作れました。
0306nobodyさん2008/05/09(金) 09:42:34ID:???
k.k.projects再始動します

帰ってきたk.k.projects【私がやります】
http://pc11.2ch.net/test/read.cgi/php/1210192743/
0307nobodyさん2008/05/09(金) 11:35:21ID:???
<a href="*****.php<?=SID?>">リンク</a>
というのを
<?php ?>のなかで書く場合どう書けばいいのでしょうか?

<?php echo "<a href=\"*****.php" ?><?=SID?><?php echo "\">リンク</a>">

ではかっこ悪いような・・・
0308nobodyさん2008/05/09(金) 11:41:47ID:???
<?php echo '<a href="*****.php"'.SID.'>リンク</a>'; ?>

てか、配布されてるスクリプト改造したいんだろうけど、
ちょっとぐらいは言語の勉強しようよ・・・
0309nobodyさん2008/05/09(金) 11:51:10ID:???
<?php
echo '<a href="*****.php' . SID . '">リンク</a>';
?>
0310nobodyさん2008/05/09(金) 12:30:14ID:???
PHPファイルをコマンドラインから起動しmysql_connect()を実行したいのですが
Call to undefined function: mysql_connect()
と出てしまいます。
web上からは正常に動くのですがどのようにすればいいのでしょうか
03113102008/05/09(金) 12:31:11ID:???
自己解決しました
0312nobodyさん2008/05/09(金) 12:32:40ID:???
コマンドラインとWebで使ってるphp.iniが違ってるんじゃなかろうか。
0313nobodyさん2008/05/09(金) 12:49:35ID:???
>>312
ありがとうございます。
-c オプションでphp.iniを指定したところ無事動きました。
0314nobodyさん2008/05/09(金) 14:36:27ID:TK9WqWmp
いまログインしているユーザー数を取得したいのですがどのような仕組みなんでしょうか?

ttp://xoopscube.jp/のオンライン状況という機能をつくたいのですが、
pearパッケージでそのようなものがあるのならなるべく利用して作りたいです。
0315nobodyさん2008/05/09(金) 14:53:28ID:???
現在生成されているセッション数読み込んでんじゃね?
0316nobodyさん2008/05/09(金) 15:08:30ID:???
>>315

>>314じゃないけど、そんな関数あるの?
以前気になって調べたけど、見つけられなかった。
http://www.php.net/manual/ja/book.session.php
0317nobodyさん2008/05/09(金) 15:15:33ID:???
session_save_pathを使って、保存先を変更して固定
そこのファイルを数えるとかだとダメかな
0318nobodyさん2008/05/09(金) 15:18:49ID:???
>>317
そこっと設定によってはアクセスできないんじゃないの?
0319nobodyさん2008/05/09(金) 15:21:33ID:???
そこのコード見ればいいじゃん。
0320nobodyさん2008/05/09(金) 16:23:57ID:???
セッション切れてもファイルは残るんじゃなかったっけ?
0321nobodyさん2008/05/09(金) 16:26:43ID:???
ためしてみたけど、残ったね
どういう仕組みなんだろ
0322nobodyさん2008/05/09(金) 16:27:42ID:???
セッションも自動でタイムアウトするようにすればいいよ
0323nobodyさん2008/05/09(金) 16:27:45ID:???
つ【ガーベージコレクション】
0324nobodyさん2008/05/09(金) 16:35:23ID:TK9WqWmp
考えてみたのですが、ごまかしかもしれませんがこのような仕組みでも大丈夫でしょうか?
セッション使ったやり方がどうしてもわからないのでこんな感じを考えてみました

訪問者のアクセスログを取得

現在の時刻より直近1分前までののログを取る

ユニークなidのみ抽出、カウント

オンライン人数表示
0325nobodyさん2008/05/09(金) 16:40:19ID:???
で、そのユニークなIDというやつをどうやって抽出するので?
0326nobodyさん2008/05/09(金) 16:46:13ID:TK9WqWmp
すいません、まちがえました
idではなく、ipです
0327nobodyさん2008/05/09(金) 16:49:03ID:???
ログイン時のIDと時間を記録しておけばいいじゃん
ログアウトしたら消し、タイムアウトしたら消し
0328nobodyさん2008/05/09(金) 16:50:54ID:???
ログアウトするとは限らなく根?
0329nobodyさん2008/05/09(金) 16:51:32ID:???
あと、こういったたぐいのスクリプトってログインしなくてもみれてるよ
0330nobodyさん2008/05/09(金) 16:55:23ID:???
時代か・・・ちょっと昔のWEBチャットには普通にあったよね。
訪問者のIPアドレス/時刻を記録して、
3分くらい前までのIP数をカウント。

それだけだ。
0331nobodyさん2008/05/09(金) 17:05:13ID:???
こんなのも思いつかないってある意味凄いな。
0332nobodyさん2008/05/09(金) 17:07:31ID:???
>>324
アクセスログだと、だんだん長くなるからパフォーマンスが、ちと不安。

自分は使ったことはないけど、共有メモリに session_id で取得したIDをキーとして
最終アクセス時刻を格納した配列を格納して、それからカウントしたほうがいい気がする。

http://www.php.net/manual/ja/book.shmop.php
http://www.php.net/manual/ja/function.session-id.php
0333nobodyさん2008/05/09(金) 17:08:27ID:???
>>331
答えれもしなかった奴は黙っとけよ。ホームレスが。
0334nobodyさん2008/05/09(金) 17:10:16ID:???
アクセスが多かったら処理がすごいことになりそうだな
0335nobodyさん2008/05/09(金) 17:11:21ID:???
>>332 訂正
マニュアル見直したら、共有メモリって、直には配列とかオブジェクト格納できないっぽい。
まぁ、適当なデータ構造作れば、意図することは可能だと思うけど。
0336nobodyさん2008/05/09(金) 17:15:09ID:TK9WqWmp
いまttp://www.yumemaboroshi.net/65rank0/ここに登録されたオンラインカウンターを何個か
dlしてソースみたのですが、自分のやり方でも問題ないかと思いました。

ご指摘された大量アクセスの場合に備えて、>>332さんのアドバイスを元にやり方を考えて見ます。
ありがとうございます
0337nobodyさん2008/05/09(金) 17:16:10ID:???
なんでそんな難しく考えてるの?

timstamp,ipadress
timstamp,ipadress
timstamp,ipadress
timstamp,ipadress

の2カラムのCSVなりをアクセス毎に走査して、指定秒数が過ぎた行は削除。
後は残りの行数カウントするだけなんだが。

同一IPが1カウントになるのが嫌なら、クッキーでも食わして判別すりゃOK
0338nobodyさん2008/05/09(金) 17:18:53ID:???
横槍ですまないが、それは質問者がとっくにさっき書いてなかった?
0339nobodyさん2008/05/09(金) 17:18:57ID:???
ガベコレぐらい自分で作れよw
0340nobodyさん2008/05/09(金) 17:22:35ID:???
>>339
お前が作れよカビ饅頭
0341nobodyさん2008/05/09(金) 17:23:04ID:???
>>338
アクセスログだと無駄に走査する行数が増えるだろう?

では無くて専用の記録ファイルをつくっておいて、
常時内容を走査するって事よ。

アクセス
 ↓
ログイン数記録ファイルを走査
 ↓
自分のIPと、期限切れIPを削除
 ↓
自分のIPを追記
 ↓
ファイル更新

って感じに。
03423072008/05/09(金) 18:23:41ID:Ln96d6P1
改造じゃなくて、システム構築中です。。
SIDは定数だから普通に書いたらよかったんですね。
うっかりしてました。
ありがとうございます。
0343nobodyさん2008/05/09(金) 19:53:51ID:???
SSI使ってオンラインかどうかってわからないかったっけ?
0344nobodyさん2008/05/09(金) 19:55:14ID:cq1aYSJI
オブジェクトの任意のメソッドを上書きする方法があれば教えて下さい
0345nobodyさん2008/05/09(金) 20:16:09ID:???
>>344
runkiを調べて見るといいよ
0346nobodyさん2008/05/09(金) 21:37:35ID:TK9WqWmp
おい、質問ないのか過疎りすぎだろが!
0347nobodyさん2008/05/09(金) 21:42:53ID:???
またキャラが不安定な人か
0348nobodyさん2008/05/09(金) 21:46:51ID:???
ワロタ
0349nobodyさん2008/05/09(金) 22:00:14ID:???
じゃぁ質問しよう
FWに最低限必要な機能ってなんだと思う?
最近使い始めたFWの機能がどーも最悪なもんでw

ちなみに個人的には
バリデーション、DBへのラッパー
あたりかなーと思ってるんだけど
0350nobodyさん2008/05/09(金) 22:00:53ID:???
あ、あとテンプレートエンジンね
0351nobodyさん2008/05/09(金) 22:25:45ID:???
自分で作ったPHPをUPするのがレンタルサーバでしたら
セキュリティの事とか深く考える必要は無いと言われたんですが
本当なんでしょうか??
0352nobodyさん2008/05/09(金) 22:29:31ID:???
そんなことはない。
0353nobodyさん2008/05/09(金) 22:32:37ID:???
>>352
危ない危ない。。 
引っかかる所でした。ありがとうございます
0354nobodyさん2008/05/09(金) 22:35:19ID:???
鯖のセキュリティーのつもりで言ったのかもね
0355nobodyさん2008/05/09(金) 22:54:11ID:???
確かにサーバのセキュリティ自体は考える必要ないっていうか
権限がなければ考えてても仕方ないw

スクリプト自体のセキュリティはいつの時でもしっかり考えないと。
0356nobodyさん2008/05/09(金) 23:02:42ID:???
>>354
>>355
あっ!なるほど。 私のうっかりですね・・・(汗汗
お返事ありがとうございました。
0357nobodyさん2008/05/10(土) 10:59:14ID:3v++6OkN
オブジェクトの指定したメソッドにフックを差しこみたいと思います
runkitを入れたのですが、
これだとクラスのメソッドを書き換えるのでちょっと大げさです
オブジェクトだけのメソッドを書き換えるにはどうしたらいいですか?
0358nobodyさん2008/05/10(土) 11:39:01ID:???
>>357
継承
0359nobodyさん2008/05/10(土) 11:52:36ID:???
インスタンスに対して操作したいんです
0360nobodyさん2008/05/10(土) 12:45:57ID:???
何それどういう状況?
0361nobodyさん2008/05/10(土) 13:22:00ID:???
auでセッションがうまくいきません。

ログイン
 ↓
セッション生成、値格納
 ↓
ページ移動(ページA)
 ↓
セッション情報を使う
 ↓
ページ移動(ページB)
 ↓
セッションがなくなる

こんな感じになります。
ページAとBは同じソースなので
プログラムがおかしい時はどっちもおかしくなりますw

DoCoMoはうまくいったのですが....

解決方法をご存知の方。
教えてください!
よろしくおねがいします、
0362nobodyさん2008/05/10(土) 13:24:46ID:vET5c+ho
質問です
良くある、ページが2つのエリアに別れていて「左がメインコンテンツ」「右がコンテンツに関連する広告」
みたいな構造って、左のコンテンツを吐き出す処理の中で、その中のキーワードに応じて
右のコンテンツを吐き出すfunctionを叩くような形になっているんでしょうか?
もしくは、広告のキーワードを変数として吐き出して、それを広告部分のphpが取得して
出力処理って流れなのかな? (ad.php?key="music"みたいな…)

どういうやり方で作ればいいのか、アドバイスお願いします
0363nobodyさん2008/05/10(土) 13:48:26ID:???
左がメインコンテンツで右が広告なんてサイト知らんわボケ
0364nobodyさん2008/05/10(土) 14:36:45ID:???
2ペインでどっちが広告でもいいじゃねえか

で、>>362の場合は好きに作れって結論になると思うが
良くあるって話だと今はフレーム切らないから、メインコンテンツを吐く処理中に
広告を吐くfunctionを呼びゃいいんじゃね
テンプレートエンジンを使ってるなら、出力順なんて気にならないだろ
03653612008/05/10(土) 14:49:38ID:???
すいません、ケアレスミスでした。
0366nobodyさん2008/05/10(土) 14:51:57ID:???
>>362
コンテンツの内容に合わせて広告も変えるってことでいいのかな

それだとしたらphpshotのここ最近の記事を参照
ヒントはここまで
0367nobodyさん2008/05/10(土) 15:20:51ID:???
>>362 ってアフィリエイトとかの話かと思ったんだけど、違うのかな。
どこまで最適にやるかって話はあるけど、amazonのなんかだと自動的に判別してくれるんじゃないの。
0368nobodyさん2008/05/10(土) 15:34:43ID:baYV5j6g
おしえてgooに出したんですが回答が無かったもので、マルチポスト失礼します、


PHPにおける特殊記号の取り扱いについて質問させていただきます。

以下の処理を行っているのですが特殊記号'―'(ダッシュ)の扱いで悩んでいます。
1.文字コード'utf-8'のファイル内文字列をget_filecontentsで取得
2.取得文字列を'SJIS'に変換(mb_convert_encoding使用)
3.文字列内に'―'が存在していた場合'?'となってしまう
ex)"今日の野球結果 5―6"(文字コードutf-8)
 ->SJIS変換後 "今日の野球結果 5?6"

特殊文字'―'を文字コード変換できずに上記のような現象が起こっていると
思うのですがこれを回避する方法がありましたらご教示お願いします。

※サーバ:solaris
 PHPバージョン:4.3.8

0369nobodyさん2008/05/10(土) 15:40:48ID:???
マルチ乙
0370nobodyさん2008/05/10(土) 15:43:06ID:???
php.iniの内部エンコーディングの設定とか
該当部分のコードぐらい書けよ
だれもおまえが書いたようなコード書けるんだし、著作権を主張するほどのライブラリってわけじゃないんだろ
0371nobodyさん2008/05/10(土) 15:57:59ID:???
>>368
土曜も仕事ですか?
0372nobodyさん2008/05/10(土) 16:12:21ID:baYV5j6g
>>371

いや、仕事じゃないんですけれど
解決できてず、悩んでるので書き込みさせて頂きました。
0373nobodyさん2008/05/10(土) 16:27:38ID:???
>>368
これって MS932がSJISと異なるとかいう話題だよね。
試してないけど、SJISじゃなくて、SJIS-WIN とか指定すればいいのかな。
0374nobodyさん2008/05/10(土) 16:28:39ID:???
DoCoMo以外で
session_destroy();
するとうまく動作しないんですがなんででしょうか
0375nobodyさん2008/05/10(土) 16:29:14ID:baYV5j6g
$boolReadXmlData = XML_Analizer( HOGE_RDF,CORRECT_FEED_HOGE );
function XML_Analizer($file,$correct_feed){
if( !file_exists( $file ) ){
$cpCmd = '/usr/bin/cp -p ' . $correct_feed . ' ' . $file;
system( $cpCmd, $ret );
}
$data = file_get_contents($file);
    $data = str_replace("[―]","-",$data);
if( !$data ){
return false;
}
$str_encoding = mb_detect_encoding($data, 'auto');
if ($str_encoding != 'UTF-8') {
$data = mb_convert_encoding($data, 'UTF-8', $str_encoding);
}
$Unserializer =& new XML_Unserializer();
$Unserializer->setOption('parseAttributes', TRUE);
$status = $Unserializer->unserialize($data);
if ($status === true) {
$res_array = $Unserializer->getUnserializedData();
$arr_result_constructure[] = $res_array;
return $arr_result_constructure;
}else{
return false;
}
}

この後utf-8からSJISに文字コード変換しています
'―'の文字コード「?」を使って文字変換できないものでしょうか。
※$data = str_replace("[―]","-",$data); このあたりで
0376nobodyさん2008/05/10(土) 16:31:23ID:baYV5j6g
>>373

ありがとうございます
早速ためしてみます!
0377nobodyさん2008/05/10(土) 16:32:23ID:DzSEGQLQ
配列 $arrayから偶数番目の要素のみ取り出すにはどうしたらいい?

$array = array(あ,い,う,え,お,か,き,く,け,こ);

これを

$array = array(い,え,か,く,こ);

にしたいんだけど。
0378nobodyさん2008/05/10(土) 16:39:49ID:baYV5j6g
>>375

誤記がありました
この後utf-8からSJISに文字コード変換しています
'―'の文字コード「&#8213;」を使って文字変換できないものでしょうか。
~~~~~~~~~~~
※$data = str_replace("[―]","-",$data); このあたりで
0379nobodyさん2008/05/10(土) 16:56:03ID:???
$array = array('あ','い','う','え','お','か','き','く','け','こ');
$dest = ();
$t = length($array) / 2;
for (int i = 0; i < $length; $i++) {
$dest[] = $array[$i * 2];
}
0380nobodyさん2008/05/10(土) 17:02:50ID:???

$_SESSION = array();

session_destroy();

session_unset();

これらを使ってセッションの中身(?)を消そうと思ったんですが
DoCoMoではdestroy以外、auでは全てで消えませんでした。

仕様ですか?w
03813802008/05/10(土) 17:08:56ID:???
auでは
old A
new B
data 100

としてお気に入りに入れて
再度アクセスしたら
old B
new C
data 100

で出てくるような感じです。

A、B、CはPHPSESIDをあらわしてます。
dataはsessionでもちまわってるデータです
0382nobodyさん2008/05/10(土) 17:46:30ID:09hEgNWC
php5.2.6内にPEARのバッチファイルが無いのですが
どうやってインストールしたらいいのでしょうか?
0383nobodyさん2008/05/10(土) 18:18:12ID:???
>>376
失敗だったら失敗で、結果を書いてってほしいな。
03843802008/05/10(土) 18:50:06ID:???
cookieの破棄処理をはさむと
アドレスはBでくるのに
old C
new D

になってしまい、それはそれでおかしな動作になります(T_T)
0385nobodyさん2008/05/10(土) 19:42:52ID:???
>>377
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?queId=7136970

こちらのほうがきれいなコードでおすすめ
0386nobodyさん2008/05/10(土) 19:46:46ID:???
剰余つかったら負けかなと思ってる。
0387nobodyさん2008/05/10(土) 19:57:15ID:???
意味不明
03882008/05/10(土) 20:50:31ID:bCQuG41r
XREAの鯖を借りています。パーミッション600のパスワードファイル(pass.cgi)が、簡単に見られてしまいます。グループからのアクセスは600で拒否しているのに、なんで見られるのでしょうか?
0389nobodyさん2008/05/10(土) 21:04:08ID:???
スレタイ100回読んで出直せ。
0390nobodyさん2008/05/10(土) 21:07:08ID:???
>>388
それはグループ以外に見られている可能性はないのかな?
0391nobodyさん2008/05/10(土) 21:17:42ID:ZfUSU8TD
今、php5で作っているんですが、会員制サイトなので
ログインチェック用に別ファイルの.phpをすべてのページに読み込ませたいと
思っています。
個別に include()させるほかにどんな方法があるでしょうか?
アドバイスお願いします
もしかしたらphpの話題からずれてるかもしれませんが、もちろんphpでも
うまいやり方があれば教えてください。よろしくお願いします
0392nobodyさん2008/05/10(土) 21:20:53ID:???
ログインチェックファイルの中で個別コンテンツをincludeする
0393nobodyさん2008/05/10(土) 21:34:39ID:batXv2Os
zend studio+zend debuggerを使ってデバッグをしていましたが、
xdebugをインストールし、有効にすると、
zend debuggerがphpinfoに表示されなくなりました。
zend debuggerとxdebugは同時に使うことが出来ないのでしょうか?
同時に使う方法があれば教えてください
0394nobodyさん2008/05/10(土) 21:42:03ID:???
両方動かすのは無理だと気づこうぜ
0395nobodyさん2008/05/10(土) 22:22:47ID:???
デバッグはzend debugger
エラー時のスタックトレースはxdebug
って感じに両方の機能を使いたいんですが
やっぱり無理ですかね〜
0396nobodyさん2008/05/10(土) 22:37:07ID:???
くどい
0397nobodyさん2008/05/10(土) 22:44:15ID:???
>>396
お前に聞いてねーよデブ
0398nobodyさん2008/05/10(土) 22:47:07ID:???
はい、それでは次の質問をどうぞ
0399nobodyさん2008/05/10(土) 22:57:37ID:???
できねえもんはできねえんだよ氏ね
0400nobodyさん2008/05/10(土) 23:01:55ID:???
>>399
ゴリラは動物園に帰れよ
0401nobodyさん2008/05/10(土) 23:14:52ID:???
何事も無かったかのように、次の質問をどうぞ
0402nobodyさん2008/05/10(土) 23:22:14ID:???
393 名前:nobodyさん[] 投稿日:2008/05/10(土) 21:34:39 ID:batXv2Os
zend studio+zend debuggerを使ってデバッグをしていましたが、
xdebugをインストールし、有効にすると、
zend debuggerがphpinfoに表示されなくなりました。
zend debuggerとxdebugは同時に使うことが出来ないのでしょうか?
同時に使う方法があれば教えてください

395 名前:nobodyさん[sage] 投稿日:2008/05/10(土) 22:22:47 ID:???
デバッグはzend debugger
エラー時のスタックトレースはxdebug
って感じに両方の機能を使いたいんですが
やっぱり無理ですかね〜

397 名前:nobodyさん[sage] 投稿日:2008/05/10(土) 22:44:15 ID:???
>>396
お前に聞いてねーよデブ

400 名前:nobodyさん[sage] 投稿日:2008/05/10(土) 23:01:55 ID:???
>>399
ゴリラは動物園に帰れよ
0403nobodyさん2008/05/10(土) 23:48:22ID:0rIgLgLy
質問です。
フォームの(POST)データをデータベースに入れる際
何か処理(htmlspecialcharsなど)をしたほうがいいのでしょうか?
それとも何も処理無しでも問題ないのでしょうか?
もしよろしければデータベースに入れるまでの処理をご教授ください。
よろしくお願いします。
0404nobodyさん2008/05/10(土) 23:49:50ID:???
こんなところで聞かないでちゃんと基礎から学べよ
0405nobodyさん2008/05/10(土) 23:50:55ID:DfRnQgur
セキュリティ関係は勉強しても不安なものさ。わかるだろ?
0406nobodyさん2008/05/10(土) 23:53:09ID:???
>>403
htmlspecialcharsはDBに入れるときじゃなく表示するときに処理する
DBには生データを入れて問題はないんじゃね
もちろんSQLインジェクション対策だけはしてな
04073802008/05/11(日) 00:19:51ID:???
どなたかよろしくお願いいたします。

携帯3キャリア共通でうまくセッションを持ちまわる方法をいろいろ試し中です。
SIDを用いることはわかったのですが
クッキーが残ったりでうまくいってないように感じます。

よろしくおねがいします。
04084032008/05/11(日) 00:22:43ID:Zep2ba94
>>406
ありがとう。
>>405
まあそういうことです。
0409nobodyさん2008/05/11(日) 00:39:36ID:lx6MvMXP
>>392
ありがとうございます、それってどういうことですか?
済みませんが良くわからないのでもう少し解説お願いします
0410nobodyさん2008/05/11(日) 01:22:00ID:???
>>409
auto_prepend 使えば?
0411nobodyさん2008/05/11(日) 01:25:39ID:???
>>409
ログインチェックファイルがあるじゃん?
あとそれぞれの個別コンテンツがあるじゃん?
前者の中で後者をincludeするってこと。
04123772008/05/11(日) 03:45:04ID:KEs91aIs
>>379
>>385

ありがとう〜!
両方試してみました。
>>385のリンク先のソースを利用することにしました。
どもです!
0413nobodyさん2008/05/11(日) 06:14:53ID:4J9HPCgP
$_POST[hoge] と
$_POST["hoge"]
の違いってなんなんでしょうか?

サンプルで

if (isset($_POST["submit_resdel"])){
 $res_no = key($_POST[submit_resdel]);

って記述があったんですが、これって2個目の$_POST[submit_resdel]は
$_POST["submit_resdel"]でもいいんじゃないかという気がするのですが・・・。
0414nobodyさん2008/05/11(日) 07:04:04ID:???
間違ってるだけに一票
0415nobodyさん2008/05/11(日) 07:09:19ID:LZ9HoYsn
PHP4.4.4(サーバはxrea)で、
__construct()が問題なく呼び出されているのですが、
PHP4系でも対応してるんですか?
0416nobodyさん2008/05/11(日) 07:09:30ID:???
一応それでも動く
0417nobodyさん2008/05/11(日) 07:10:04ID:???
>>416>>413 向けな
04184132008/05/11(日) 07:18:18ID:4J9HPCgP

こんな時間にありがとうございます。

>>414さん
やっぱりそうなんでしょうか・・・。
ここの例では、submitするとき、以下のように組んで配列っぽく
セットしてるんですが、


while($row = $mysql->fetch()){
$no = $row["no"];
$name = $row["name"]
echo <<<EOT

$no:
<input type="text" name="name[$no]" value="$name" size="10">
<input type="submit" name="submit_resdel[$no]" value="削除">
<br>
EOT;
}


このときだけは特別、とかいうことは・・・ないですよね。。


>>417さん
動作はするんですね!
でも、どっちも[submit_resdel]にしちゃうとそれはそれで動作しませんよね?
0419nobodyさん2008/05/11(日) 07:34:49ID:???
>>418

変数じゃなくて文字列か
それなら動作しないわ

書き間違いだと思われ
04204132008/05/11(日) 07:43:03ID:4J9HPCgP
>>419さん
ありがとうございます。やはり書き間違いですか・・・

今回のこの件をググってる最中に↓のようなページをみつけたんですが、

ttp://oshiete.coneco.net/qa4004454.html

このページでの質問者も同じように記述してるんですよね・・・わざわざダブルクォーテーション外して・・・。
key関数を使うときだけ・・・?とか色々考えたんですが、
とりあえず書き間違いと思って進めていこうと思います。

皆様ありがとうございました。
0421nobodyさん2008/05/11(日) 08:08:48ID:???
>>359
runkit_method_redefine
これじゃできないん?

もうちょっと具体的にやりたい事書かないとわからん
0422nobodyさん2008/05/11(日) 08:10:14ID:???
>>413
カメレスであれだけど、一応。

書き間違えとは思うが、文法的には未定義の定数の動作。
PHPは好きだけど、さすがにこの仕様はどうかと思う。

http://www.php.net/manual/ja/language.constants.php
>未定義の定数を使用した場合、ちょうどstringとして コールしたかのように(CONSTANT vs "CONSTANT")、
> PHPはその定数自体の名前を使用したと仮定します。
04234132008/05/11(日) 08:19:46ID:4J9HPCgP
>>422さん

おおっ!ありがとうございます!
なるほど、未定義の定数として使用され、さらにそのものの名前を使用したと解釈されて
動作しちゃうわけですね・・・。。
私自身、現在習作を作る過程でPHPに慣れようとしているのですが、
確かにこの仕様には違和感がありますね。

書き間違えだったとしても、きちんと動作したものとして公開されていた理由がわかって、
やっとスッキリしました。
やっと寝られます。笑 ありがとうございました!
0424nobodyさん2008/05/11(日) 08:24:05ID:???
>>422
どっちかってーと
http://www.php.net/manual/ja/language.types.array.php#language.types.array.foo-bar
こっちだな

>>415
__constructを使ったコンストラクタはphp5からで
php4の場合はただのメソッドになる

class Hoge {
 function __construct() {
  echo 'A';
 }
 function Hoge() {
  echo 'B';
 }
}
これを実行したらphp4の場合はBが出てphp5の場合はAが出る
で、php5で__constructが無い場合はHogeが呼ばれる
04254152008/05/11(日) 08:33:54ID:LZ9HoYsn
>>424
確かにそうでした!

>PHP4.4.4(サーバはxrea)で、
>__construct()が問題なく呼び出されているのですが、

というのは、自分のテストコードに間違いがあったための、勘違いでした。
0426nobodyさん2008/05/11(日) 12:51:45ID:t1T6pRlq
rand(1,3)で、1〜3の数字をランダムで出せますが、
「1が出る確率は50%、2が出る確率は30%、3が出る確率は20%」
と言う風に、確率として表示する場合、どういう計算式にすればいいのでしょうか?
0427nobodyさん2008/05/11(日) 12:55:27ID:???
01234・・・1
567・・・2
89・・・3

0428nobodyさん2008/05/11(日) 12:55:49ID:???
なにその宿題丸投げ
0429nobodyさん2008/05/11(日) 13:28:56ID:???
PHPを仕事場でやっていると、集中している時に下記みたいな文章を首に掲げたくなる俺は三流ですよ?

/*
現在理論しか通じないパソコンとプログラミングで対話中です。
人様との円滑な対話モードへの切り替えが少々上手くいかない場合や遅い場合が多々ありますので、理屈や理論以外をお求めの方はご遠慮頂くか少々お待ち頂くか生暖かい目で見守ってくださるようお願い致します。
*/
0430nobodyさん2008/05/11(日) 13:41:54ID:???
>>426
$a = array(1,1,1,1,1,2,2,2,3,3);
echo $a[array_rand($a)];
0431nobodyさん2008/05/11(日) 13:55:36ID:???
質問です。
PHP5 PEAR image_graph7.1
でjpg画像を作りたいのですができません(PNGはできる)
$graph =& Image_Graph::factory("graph", array(array("width" => 400, "height" => 400, "canvas" => "PNG")));
ここの最後の方の部分をJPGにする以外に変更が必要なのでしょうか?

下記の方法だと画像JPG画像はしっかり保存されてはいます。
$out = $Graph->done(array(
'tohtml' => TRUE,
'border' => 1,
'filename' => 'tes.jpg',
'filepath' => './',
'urlpath' => './'
)
);
0432nobodyさん2008/05/11(日) 14:05:58ID:???
できませんって何がどうできないでどうなってしまうのか書かないと分かるだけないだろ
0433nobodyさん2008/05/11(日) 14:48:08ID:???
>>432氏ね聞いてねえよ
0434nobodyさん2008/05/11(日) 14:57:33ID:???
CentOS 4.6 (kernel 2.6.9-67.0.1.EL)
Apache/2.0.52
PHP 4.3.9 (cgi) (built: Sep 20 2007 19:31:11)
mysql Ver 14.7 Distrib 4.1.20
phpmyadmin-2.11.6-1.el4.rf

という環境です。この環境で、
クライアントマシンから phpmyadmin にアクセスすると、
mcrypt 拡張をロードできません。PHP の設定を確認してください
と警告を受けます。mcrypt 関係は

libmcrypt-devel-2.5.7-2.el4.kb
libmcrypt-debuginfo-2.5.7-1.2.el4.rf
libmcrypt-2.5.7-2.el4.kb
mcrypt-2.6.4-2.el4.kb

がインストールしてあるのですが。
この問題はどのようにフィックスすべきなのでしょうか?
それとも何も問題がないのでしょうか?
0435nobodyさん2008/05/11(日) 15:12:25ID:???
PHPをmcrypt対応にしてリビルド
0436nobodyさん2008/05/11(日) 15:15:43ID:???
ttp://phprpms.sourceforge.net/mcrypt
のRHEL4用php-mcryptを入れても大丈夫かもしれんが試してない
0437nobodyさん2008/05/11(日) 17:27:34ID:???
>>432
あなたバカですよね?よくわかります。
0438nobodyさん2008/05/11(日) 18:57:26ID:???
いいえ、ケフィアです
0439nobodyさん2008/05/11(日) 20:39:47ID:???
いいえ、ケフカです。
0440nobodyさん2008/05/11(日) 21:00:47ID:???
1人の天才的な人間の出現で、10000人の人間が不要になる時代。
そんな時代にあって、俺はその天才的な人間の1人なのかもしれない。
俺のせいで、仕事がなくなって首になった奴が相当いる。
もちろん、その中には潰れた会社もある。
でも、それが自然淘汰、適者生存であり自然の摂理なのだから・・
04414262008/05/11(日) 23:21:03ID:t1T6pRlq
>>430
ありがとうございます。上手くできました。

ただ、細かい%で区切りたい場合はどうなるのでしょうか?
array内の数が増えすぎると思うのですが・・・。

if文と倍数を使う方法も考えたのですが、数学が苦手でわかりません。。
何か良い関数はないでしょうか?
0442nobodyさん2008/05/11(日) 23:23:03ID:???
>>441
rand
range
0443nobodyさん2008/05/11(日) 23:34:25ID:???
>>441
参考に
if($hensu<50){}elseif(50<$hensu){}
0444nobodyさん2008/05/11(日) 23:37:06ID:???
$hensu(笑)
04454262008/05/11(日) 23:42:46ID:???
みなさん、ありがとうございます。
教えて貰ったのを参考に、以下のソースを作りました。
たぶん、行けるのではないかと思っていますが、おかしい場合は指摘して下さい。

$item = array("aaa"=>"50","bbb"=>"30","ccc"=>"20");
$num_max = array_sum($item);

foreach($item as $keys => $values){
$number = $values/$num_max*10;
for($i=0;$i<$number;$i++){
$array[] = $keys;
}
}
echo $array[array_rand($array)];
0446nobodyさん2008/05/11(日) 23:48:23ID:???
10の倍数しか対応してないじゃねえかw
0447nobodyさん2008/05/12(月) 00:05:59ID:???
アホになります
0448nobodyさん2008/05/12(月) 00:17:13ID:???
オモロー
0449nobodyさん2008/05/12(月) 00:59:12ID:???
XMLデータを扱ってます。

http://jp2.php.net/manual/ja/simplexml.examples.php
$obj = new SimpleXMLElement($xml);

PEARのXML_Serializerを使わないで、PHP5の関数を使って
オブジェクト$objを配列に変換するにはどうしたらいいですか?
04504492008/05/12(月) 01:01:55ID:???
ググッたら解決しました
04514492008/05/12(月) 01:45:29ID:???
>>450
秋元さんのブログの解説?
http://akimoto.jp/blog/2008/01/05/php%E3%81%A7%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E9%85%8D%E5%88%97%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AFget_object_vars/

よく分からなかったので、とりあえずPEAR::XML_Serializerを使うことにしました!^^
…便利すぎて勉強にならん><
04524492008/05/12(月) 01:49:26ID:???
include ('XML/Unserializer.php');
$unserializer = new XML_Unserializer();
$unserializer->unserialize($xml);
$array = $unserializer->getUnserializedData();
print_r($array);
これでOK

$obj = new SimpleXMLElement($xml);
でも値を取り出せるのでOKなんだけど、データ型はオブジェクトのまま
配列と同じ操作で扱うのは何か変だなーと思った
おやすみなさい
0453nobodyさん2008/05/12(月) 01:53:48ID:???
配列と同じ操作で扱って問題あるの?
0454nobodyさん2008/05/12(月) 07:24:54ID:o0vmBy2P
すいません質問です。
今運営しているPCサイトの携帯版を作ろうと思っています。
携帯用にするとき、元のサイトのサイズが大きいため分割する必要があると思い自分なりにやってみましたが、
分割のやり方が悪いため、htmlタグの途中で切れたりして変になってしまいます。


//1ページあたりの文字数(ページのサイズ)
$pagesize=1000;

元の文字列をページサイズで割り、合計のページ数を出す
$totalpage=ceil($str/$pagesize);

//↓1ページ目の場合は、テキストが0〜1000までの部分文字列になる
$text=mb_substr($str,($page-1)*$pagesize,$pagesize);

上記のようにやってみたのですが、下記のようになったりします。
----------------------------------------------------
nページ目のテキスト終わり部分

・・・・・・・・
<a href="http:
---------------------------------------------------
n+1ページ目のテキスト始め部分

//hoge.com">ホゲドットコム</a>
---------------------------------------------------

タグの部分で分割させないためには、
1000文字を超えたところで一番最初に出てくる \n で分割したりすればいいと思うのですが、
それはどのようにやればいいのでしょうか。
アドバイスお願いします。
0455nobodyさん2008/05/12(月) 07:42:33ID:???
正規表現で /^.{1000}.*?\n/s とかすれば良いんじゃなかろうか。
. が1バイトになるのか1文字になるのかは、よく知らないから自分で確認してね。
04564542008/05/12(月) 08:19:16ID:o0vmBy2P
>>455
アドバイスありがとうございます
やってみます
04574542008/05/12(月) 08:30:04ID:o0vmBy2P
>>455
すいません
ずうずうしいですが、何の関数を使ったらよいか教えてもらえないでしょうか
0458nobodyさん2008/05/12(月) 08:50:40ID:???
>>457
なんで検索すらしないの?
http://www.google.co.jp/search?hl=ja&q=php+%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE+%E9%96%A2%E6%95%B0&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0459nobodyさん2008/05/12(月) 09:07:53ID:???
<a href="test2.php?<?= SID ?>">page 2</a>

こんなかんじにしたときに、
携帯(DoCoMo)だとSIDが100%付与されるのですが、
PCだと付与されるときとされないときがあります。

原因は何でしょうか・・?
0460nobodyさん2008/05/12(月) 09:54:38ID:???
>>459
マニュアルぐらい調べろ。すっとこどっこい
http://www.php.net/manual/ja/session.idpassing.php
0461nobodyさん2008/05/12(月) 12:23:50ID:???
>>454
htmlの文字数で分割すると
場合によっては1ページ中に含まれるコンテンツがほんのわずかで
ユーザに余計なページ送りのストレスかけることにならないかい?
0462nobodyさん2008/05/12(月) 16:05:32ID:1jI7+vyu
配列の操作がよくわかりません。
var_dump()をかけると以下の結果を返す配列があります。($data_list)

array(1) { [0]=> array(7) { ["id"]=> string(1) "5" ["title"]=> string(97) "ゴールデンボウル~ポール・アンカ・オリジナル・グレイテスト・ヒッツ"
["artist"]=> string(21) "ポール・アンカ" ["kaisetsu_text"]=> string(19) "おすすめのCD 1"
["url"]=> string(7) "testURL" ["myWork"]=> string(1) "1" ["musicGenre"]=> string(1) "5" } }

これに対して、titleを抜き出したくて echo $data_list["title"] としても何も表示されません
どうしてでしょう? ご意見お願いします
0463nobodyさん2008/05/12(月) 16:08:00ID:???
$data_list[7]['title']

以下のようにするとよくわかります
echo "<pre>";
var_dump($data_list)
echo "</pre>";
0464nobodyさん2008/05/12(月) 16:08:24ID:???
訂正

×$data_list[7]['title']
○$data_list[0]['title']
0465nobodyさん2008/05/12(月) 16:16:41ID:1jI7+vyu
>>463-464
ありがとうございます!
そっか、二次元になってたんですね 自分で作ったのに忘れてました
echo "<pre>";
var_dump($data_list)
echo "</pre>";
↑これも活用します ありがとう
0466nobodyさん2008/05/12(月) 19:01:23ID:???
Parsing configuration file phpDocumentor.ini...ERROR: cannot open phpDocumentor.
ini in directory C:/xampp/php/PEAR/PhpDocumentor
-Is phpdoc in either the path or include_path in your php.ini file?

Xampp使ってるんですが、これはどういういみでしょうか。
0467nobodyさん2008/05/12(月) 19:32:36ID:o0vmBy2P
>>458
検索しましたが、preg_split()でうまくできませんでした
何時間考えても自分ではもうわからないので答えそのものを聞きたいところですが
そんなことしたら罵倒されるのはわかってるので、よそに行って聞いてきます
ありがとうございました
0468nobodyさん2008/05/12(月) 19:41:10ID:???
>>454
"/.*{1000}\n/s"
0469nobodyさん2008/05/12(月) 19:42:34ID:???
間違えた

"/^.{1000}\n/"

確認してないけど正規表現で
0470nobodyさん2008/05/12(月) 19:45:13ID:???
>>469
s指定は付け忘れだとして、それだと1000文字目の次が改行じゃないとマッチしない気がする。
0471nobodyさん2008/05/12(月) 20:10:37ID:NEnrgbxP
smartyのテンプレートでJavascriptを書いているのですが、
どうしてもエラーで出力自体が出来ません。
どのようにすればいいのでしょうか?

出力したいJavascriptはこのような感じです。
<SCRIPT language="JavaScript">
<!--
function OpenWin(url){
win=window.open(url,'sub','width=200,height=150');
}
// -->
</SCRIPT>
0472nobodyさん2008/05/12(月) 20:12:23ID:???
1000ピッタシにはならないけどこうかな?

"/^.{950,1000}?.+\n/s"
0473nobodyさん2008/05/12(月) 20:13:35ID:???
>>471
エラーがでてたならそれも書く
肝心のPHPコード部分がないとなんとも
0474nobodyさん2008/05/12(月) 20:27:01ID:NEnrgbxP
Fatal error: Smarty error: [in formVew.tpl line 59]: syntax error: unrecognized tag: win=window.open(url,'sub','width=200,height=150'); (Smarty_Compiler.class.php, line 446) in C:\Program Files\xampp\php\pear\smarty\libs\Smarty.class.php on line 1092
エラーはこのような感じです。
コードに関しては、上で書いたJavascriptをテンプレートとしてdisplayで出力するだけですから
0475nobodyさん2008/05/12(月) 20:27:18ID:???
>>471
{}がスマタグとして認識されてパースエラーになってんだろ
04764712008/05/12(月) 20:41:04ID:NEnrgbxP
>>475
なるほど
テンプレートで{}を出力する方法はありませんでしょうか
0477nobodyさん2008/05/12(月) 20:55:31ID:1jI7+vyu
登録フォームを作っていて、セキュリティについて質問します

記入>確認>登録 という流れを考えていて、
確認ページでは、
print $_POST['message']; の形で、記入ページでtextareaに
記入したものを確認できるようにし、
<input type="hidden" name="message" value="$_POST['message']" />として、
値を登録ページに渡すようにしています。

今まで、登録ページ(実際のSQL登録の直前)で、addslashes($_POST['message'])として
いたんですが、addslashes()は、確認ページですべきなんでしょうか?
<input type="hidden" name="message" value="addslashes($_POST['message'])" />という感じで。。
どなたか教えてください、よろしくお願いします
0478nobodyさん2008/05/12(月) 21:00:05ID:???
>>476
マニュアルに載ってるよ
0479nobodyさん2008/05/12(月) 21:01:26ID:???
>>477
addslashesはDBに挿入する際のエスケープ。
HTMLタグ無効化はhtmlspecialshars
04804542008/05/12(月) 21:04:30ID:o0vmBy2P
色々考えていただいてありがとうございます
でもダメでした 

print_r(preg_split("/^.{1000}.*?\n/s", $str));
結果
Array ( [0] => [1] =>
[1]に$str全部がはいる

print_r(preg_split("/^.{950,1000}?.+\n/s", $str));
結果
Array ( [0] => [1] => )


正規表現ではなく私の関数の使い方がおかしいのかもしれません
お付き合いありがとうございました
0481nobodyさん2008/05/12(月) 21:06:42ID:1jI7+vyu
>>479
ありがとうございます  じゃ、上のケースだと、確認ページで
print htmlspecialchars($_POST['message']);
<input type="hidden" name="message" value="{htmlspecialchars($_POST['message'])}" />
という感じでしょうか?
使い分けがいまいちわからず困ってました ありがとうございました
0482nobodyさん2008/05/12(月) 23:11:13ID:???
>>480
もう見てないかもしれんが

preg_match_all('/.{1000}.*?\n|.*/s', $str, $matches);

ちゃんと動くかどうかは自分で確認して。
0483nobodyさん2008/05/13(火) 00:16:15ID:???
ttp://www.web-liberty.net/cgi-bin/sample/gallerypro/gallery.cgi
このCGIをそのままインデックスページにしたいんですけど
CGIですからURLがhttp://***/cgi-bin/gallerypro/gallery.cgi
っていう風になるのが気に食わないので
http://****/だけで済むURLでインデックスページにしたいんですけど
どうすればいいですか
0484nobodyさん2008/05/13(火) 00:18:27ID:???

http://ml.php.gr.jp/pipermail/php-dev/2005-June/001135.html

このページに出ているような現象が出ていますが、
session_idを見たところ、これといって問題はありませんし、
プログラム的にもそこまでがちがちのセキュリティをというものでもないので、
このエラーを回避するようにしたいのですが、
どのような処理を行えばいいか教えていただけないでしょうか

よろしくおねがいいたします。
0485nobodyさん2008/05/13(火) 00:33:59ID:???
いふ(!しーたいぷ_あるなむ(くっきー[セッション_ねーむ()])) だい(エラー);
04864542008/05/13(火) 00:42:34ID:dYo6M2/f
>>482
できました!!
今日一日かかってもできなかったので、
とりあえず\nで分割して配列にいれて、処理させようと考えていたところでs

本当に感謝です!!
0487nobodyさん2008/05/13(火) 00:43:35ID:???
>>483>>484

2つ同時に質問したくてID隠してるんですよね、わかります
04884842008/05/13(火) 00:44:57ID:???
いや、違うしww
あふぉはすぐそうやって知識のない人間を卑下するww
0489nobodyさん2008/05/13(火) 01:06:30ID:???
化けの皮がかがれたね、書き方も似てるし
はい、次の質問どうぞ
0490nobodyさん2008/05/13(火) 01:26:38ID:YiuUZfQA
xhtml/phpでサイトを作っています。

<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>

上記を一行目に入れると、ブラウザ上に「"; ?>」の文字が表れました。
「"; ?>」を表示させないようにするためには、どうしたらいいでしょうか。
04914902008/05/13(火) 01:31:05ID:YiuUZfQA
<!--<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>-->
こう書いたら、「"; ?>」の文字は消え、かつブラウザに中身が表示されましたが、
こうしちゃっても大丈夫なのでしょうか?
0492nobodyさん2008/05/13(火) 02:01:56ID:???
>>491
だめ。

<?xml 〜 はなくすのが一番良い。
0493nobodyさん2008/05/13(火) 02:30:25ID:Xhimy1cE
>>489
おまえ市ねよ。ホントやなやつだな。
0494nobodyさん2008/05/13(火) 02:34:16ID:???
>>492
坊主、大人の世界はそれじゃ通用しないんだよ。
0495nobodyさん2008/05/13(火) 02:50:16ID:???
>>494
通用しますが何か?w
0496nobodyさん2008/05/13(火) 02:58:47ID:???
>>495
厨房乙
0497nobodyさん2008/05/13(火) 02:59:57ID:???
>>481
inputフォームからの値の受け渡し時にhtmlspecialcharsする必要はない
htmlに出力する際にhtmlspecialcharsを使う
0498nobodyさん2008/05/13(火) 03:03:03ID:???
htmlに出力してるじゃん
0499nobodyさん2008/05/13(火) 03:04:17ID:???
>>495
お前の作ったサイトはゴミ以下なんだろうな。
見なくても分かるw
0500nobodyさん2008/05/13(火) 03:07:43ID:???
>>491

そこまで思いついてて なぜそのやり方なんだよw
だめにきまってるだろ

>>490 のやり方で文字分割して出力しろ
0501nobodyさん2008/05/13(火) 04:04:30ID:2tOaVNoE
先ほどFC2ブログ板でも書き込んだのですが

http://nezumin85.blog71.fc2.com/
のブログで
アドセンスをプラグインで貼り付けて、各記事の文の一番下に表示
させてるのですけど、アドセンスを一番上の記事の下だけに
表示させるにはどうすればいいのでしょうか?
わかる方いたら教えてくれませんか?お願いします。


このサンプルコードを使えばできるみたいなのですけど
phpの知識がないのでわからないです…。
何百回も自分で色々してみたのですけどどうしてもできません。


<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); $loopcounter++; ?>

// the loop stuffs

<?php if ($loopcounter <= 1) { include (TEMPLATEPATH . '/ad.php'); } ?>

<?php endwhile; ?>

<?php else : ?>

<?php endif; ?>

the loop stuffs のところは、エントリーを表示するコードが入ります。
ad.php を作っておき、そこに広告コードを挿入します。
0502nobodyさん2008/05/13(火) 04:27:55ID:???
>>501
それでできるんじゃ?
0503nobodyさん2008/05/13(火) 08:27:10ID:???
>>490
実行して、生成されたHTML見ると
<?xml version="1.0" encoding="Shift_JIS"?>
って出るんだけど、何が問題なの?
0504nobodyさん2008/05/13(火) 08:54:15ID:???
>>498
ちゃんと出されてるソースを全部嫁

>print htmlspecialchars($_POST['message']);
><input type="hidden" name="message" value="{htmlspecialchars($_POST['message'])}" />

上のprintしている部分の話ではない
下のフォームからphpへ受け渡す段階の話をしている
0505nobodyさん2008/05/13(火) 09:13:08ID:???
>>504
それがhtmlに出力していないのだとしたら一体何に出力しているのですか?
05064902008/05/13(火) 09:26:20ID:YiuUZfQA
>>500
分割して出力してもだめでした。どうしても「"; ?>」が出ます。

>>503
ソースには、そのまま下が書いてありました。
<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>
php使えるサーバなのですが……。


Fxでソースを見ると、「<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>」までがピンク、
「"; ?>」が黒で表示されました。
ということは、ブラウザは一番目の「?>」までしか判断していない、ということになります。

ためしに一番目の「?>」を「?>」にしたら出来ましたが、やっぱりだめですか?
これでも駄目なら、もうどーにでもなーれー
05074902008/05/13(火) 09:30:21ID:YiuUZfQA
>>506は、
「?>」→「?&gt;」です。
0508nobodyさん2008/05/13(火) 09:31:19ID:???
php使えてないんじゃん
0509nobodyさん2008/05/13(火) 09:33:07ID:???
>>506
拡張子が .php になってないとかそういう問題?
0510nobodyさん2008/05/13(火) 09:38:03ID:???
>>505
ああスマンよく読んでなかったのは俺のようだ
{}で囲ってるとこを見るとphpから出力してるのか
てっきりhtmlに埋め込んだコードかと思ってた

フォーム部分とは分離したほうがいいけどね
0511nobodyさん2008/05/13(火) 10:11:10ID:???
>>490
<?php echo '<?xml version="1.0" encoding="Shift_JIS" ?'.'>'; ?>
これでどう?
0512nobodyさん2008/05/13(火) 10:24:51ID:???
ソースにphpタグが表示されてる時点で
phpが実行されてないと気づけよw
0513nobodyさん2008/05/13(火) 12:21:16ID:???
>>511
やってることは同じなのに頭悪いなw
0514nobodyさん2008/05/13(火) 21:37:28ID:???
>>513
むしろお前の方が頭悪すぎ。

どう悪いかというと、脳のシナプスの軸索のからレセプターへ
ノルアドレナリンの放出が鈍くなっているか極端に少なくなっている。
栄養の偏りで小さな血栓が脳を部分的に閉塞しているはず。
すぐに病院に行け。
0515nobodyさん2008/05/13(火) 21:46:16ID:4/oebqLD
すいませんもしスレ違いだったら誘導お願いします。

PHP LearnsのMYSQL LINKRANKを探しています。
使おうと思ったらサイトが閉鎖していました…

必要な機能としては…
・大量にリンク可能(=SQL…ですかね?)
・カテゴリ分類可能
・管理人のみ編集可能
・検索機能付き
・可能ならば携帯可
もし、似たようなものがあればどなたか教えてください。
かれこれ累計20日くらい探しているのですがいまいち良し悪しが判らず、
一番良さそうなのがMYSQL LINKRANKなのですがどこのリンクから入ってもキャッシュカード(?)のブログが表示されてしまいます。
閉鎖していて、移転先もないようなので困ってしまいました。
どなたかお願い致します。
0516nobodyさん2008/05/13(火) 21:47:08ID:???
>>514
なにその無駄なていこうはw
0517nobodyさん2008/05/13(火) 21:54:15ID:KUG4Ujxh
sprintfで%xを使えば数字を16進数で表示させることが出来ますけど、
その逆で、
16進数を数字に変更したいのですけど、どのようにすれば可能でしょうか?
0518nobodyさん2008/05/13(火) 21:56:13ID:???
>>517
16進数も数字だが?
というつまらんのはさておき
10進数に直したいならhexdec
0519nobodyさん2008/05/13(火) 21:58:38ID:KUG4Ujxh
>>515
http://web.archive.org/web/20050801010807/http://sss.moo.jp/php.html
こんなんでどうでしょう?

>>518
それで可能でしたか。ありがとうございます
0520nobodyさん2008/05/13(火) 23:12:33ID:4/oebqLD
>>519
うわぁああああそれだぁぁぁぁぁあああ!!!!!
とてもありがとぉぉぉぉぉおおおおお!!!!!!
これで便利なサイトが作れます。三日三晩感謝します。
0521nobodyさん2008/05/13(火) 23:18:42ID:sbqm3fgy
$bbs_link="<a href="bbs".$count.".php">$count.php</a>";
この変数$bbs_linkの内容をtxtファイルに保存したいんですがうまくいきません。

$count=10としたら
<a href="bbs10.php">10.php</a>
という内容で変数に代入してファイルに書き込みたいんですが
どうすればよいのでしょうか?
0522nobodyさん2008/05/13(火) 23:22:36ID:???
>>521
\でエスケープかシングルクォーテーション
0523nobodyさん2008/05/13(火) 23:36:05ID:Iq/6RSHi
IIS6.0なんですけれど、HTTP経由でGETを受け付けてる時、回線の速度が
数KBになると、そのコネクションを担当しているスレッドがスリープしたり
するんでしょうか。

あるサイトからBIOSをダウンロードしているのですが、時々、コネクションが
切られることなくダウンロード速度が0byte/sになb閨Aしばらくすb驍ニ、また
ダウンロードを始めるみたいな、間欠的な動きをします。

このような動作をするサイトからはfirefoxではダウンロードが完了しない
ことが多いようで、Irvineなどを使わないとダメなようです。
0524nobodyさん2008/05/13(火) 23:43:32ID:???
>>523
板違い
0525nobodyさん2008/05/14(水) 00:47:29ID:JIUW+do7
次元数が不定の配列を動的に指定するにはどうしたらいいですか?
パラメータが0,1,2→$array[0][1][2]
パラメータが3,4→$array[3][4]
で、パラメータの数と値が毎回変わる感じです
0526nobodyさん2008/05/14(水) 00:48:26ID:???
>>525
count
func_get_args
0527nobodyさん2008/05/14(水) 00:50:41ID:/0X1sWmR
データの暗号化複合化という処理をしたくて
$key = "kaidoku";
$mojiretu = "文字列";
srand(0); // 乱数の初期化
$iv = mcrypt_create_iv(mcrypt_get_iv_size (MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB), MCRYPT_RAND);
$dat0 = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $mojiretu,cfb, $iv);
print "$dat0<br>";
srand(0); // 乱数の初期化
$iv = mcrypt_create_iv(mcrypt_get_iv_size (MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB), MCRYPT_RAND);
$dat1 = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $dat0, cfb, $iv);
print "$dat1<br>";
ざっとこのようなソースを書きましたが、これだと複合化出来ません。
どのあたりに問題があるのでしょうか?
0528nobodyさん2008/05/14(水) 01:13:40ID:???
ページごとにsessionをregenerateしているときに

ページA →リンク→ ページB →戻る→ ページA

としたときに、ページAのURLの引数のSIDはもう無効になっているので
そこから

→リンク→ ページC

といったときに、sessionのデータが持ちまわれず、
セッション切れになります。

どうにかならないでしょうか?
05295252008/05/14(水) 01:19:18ID:JIUW+do7
$array = array('hoge'=>array('moge','poge'));

$dimention = array('hoge',2);

$pointer =& $array;
foreach ( $dimention as $key ){
$pointer =& $pointer[$key];
}
$pointer = 'boke';

こんな感じで$array['hoge'][2]を指定することが出来ました
リファレンスになるので、$array['hoge'][2]を直接指定した時と
var_dumpが違いますが・・・
0530nobodyさん2008/05/14(水) 01:21:08ID:???
昨日のUFJのトラブルは、日立のJP1を使ってジョブコントロールしておけば全く問題がなかったのに、
東京三菱のIBMの馬鹿SEがわけの分からないジョブコントロールを導入したから。
0531nobodyさん2008/05/14(水) 01:26:01ID:???
銀行のシステムはPHPで動いてんのかw
0532nobodyさん2008/05/14(水) 01:36:01ID:???
>>531
趣味って作っている君には分からないだろうが、
世界最大の金融システムの仕様を全部見れる人なんていない。
仕様全体を通して見れる人がいなければ、テスト漏れが生じるのは当たり前。

そこで、分割モジュール開発手法で世界一位を誇る日立情報なんですよ。
0533nobodyさん2008/05/14(水) 01:36:26ID:???
>>529
C脳乙
0534nobodyさん2008/05/14(水) 01:36:40ID:???
>>530
日立の営業マンさん2ちゃんでの宣伝おつかれさまです。
0535nobodyさん2008/05/14(水) 07:49:20ID:???
銀行はCOBOLとJAVAだろ?
05365282008/05/14(水) 08:49:21ID:???
>528

どなたか、わかる方いらっしゃいませんか??
よろしくおねがいします。
0537nobodyさん2008/05/14(水) 09:11:21ID:???
なんでページごとにregenerate?
0538nobodyさん2008/05/14(水) 10:12:09ID:???
>>528
そういう遷移を防止するために、regenerateしてるんじゃないの?

セッションハイジャック対策の為だけなら、
regenerateしなきゃいい。
0539nobodyさん2008/05/14(水) 11:22:54ID:???
>>530
馬鹿呼ばわりしているから釘さすけど、
日立さんだってSEやサポート最悪だったよ?

顧客に提案していた統合型のネットインフラの入口、
GWに負荷かける信じられない設計の物を
平気な顔で提案、販売、トラブル起こしてたからさ

どこもかしこも汚点はあるんだから黙っときなってw
0540nobodyさん2008/05/14(水) 11:27:38ID:???
板違い
日立とか富士通とか言う話もう飽きた
どっかいけ
0541nobodyさん2008/05/14(水) 11:42:33ID:???
>>538
でも端末IDをセッションIDみたく使うと、docomoの場合、クリックごとに確認画面が出ちゃうんじゃないの?
最近のはそうでもないのかな。

まぁ、通常のセッション管理の他は、重要な画面では端末IDもチェックする、ぐらいでも十分な気もするけど。

>>540
そうそう、このスレでJP1以外の日立の仕事を語るのは良くない。
0542nobodyさん2008/05/14(水) 11:57:59ID:???
>>541
docomo

?guid=on
05435282008/05/14(水) 12:21:11ID:???
>>538
ログイン以外のページへのブックマーク、
他人のログインを防ぐためにおこなっているので
別に戻るはされてもかまわないんですが、
やっぱりその辺は都合よくはできなさそうですかね・・・

他人のログインだけならuser_agentだけでチェックして
同一機種は目をつむる程度にしといたほうがいいでしょうか・・
0544nobodyさん2008/05/14(水) 12:29:05ID:???
>>542
これか
http://www.nttdocomo.co.jp/info/notice/page/080228_00.html
http://www.nttdocomo.co.jp/service/imode/make/content/ip/index.html#imodeid

最近出来るようなったのか。どうもありがとう。
0545nobodyさん2008/05/14(水) 12:51:13ID:6NHDZLwn
phpで指定したサイトを丸ごと吸い取るのってなんていう命令文でしたか?
ど忘れしてしまって検索しても思い出せません
0546nobodyさん2008/05/14(水) 13:14:20ID:???
ファイルゲットコンテンツ
0547nobodyさん2008/05/14(水) 13:18:33ID:???
ここで日立の悪口をいうな
随時社員が監視してるんだぞ
0548nobodyさん2008/05/14(水) 13:23:09ID:???
監視というか業務で詰まったときにここで暴れますが何か
0549nobodyさん2008/05/14(水) 16:30:40ID:???
事実を言ったまでだよ。
IBMの方が日立より上だと思っているんだろうが、全く違う。
IBMはマネージメントのプロを自称しながら、設計会議に欠席することも度々あるし、
現場を知らない奴らばっかり、それで技術的なことを突っ込むとIBMの下請け社員に回答を振っているだけ。

日立も下請けは使うが、基本設計より上流は8割以上がプロパーで構成している。
昨日のニュースでやっていた中国の首相が、何の役に立たないのに現場に出向いていって知ったかぶりで作業員に「早く救出すれば、それだけ人が助かる」とか命令しているのと一緒。
0550nobodyさん2008/05/14(水) 16:31:50ID:???
なんでPHPのスレにそれを書くんだよw
0551nobodyさん2008/05/14(水) 16:41:28ID:???
誤解している奴がいるから書いただけだよ。
IBMは、自称マネージメント要員の似非エンジニア
NECは、半導体事業で失敗してオーブン系に移転してきた低脳エンジニア
富士通は、元々頭が悪いエンジニア集団で下請けに助けてもらっている
NTT系は、可もなく不可もなくだが、あたりはずれが多い
0552nobodyさん2008/05/14(水) 16:42:36ID:???
>>551
すみませんが、それも誤解です。
0553nobodyさん2008/05/14(水) 16:44:51ID:???
ここはJP1スレです。
関係ない話題はやめて、他人の失敗をあげつらうレスをしてください。
0554nobodyさん2008/05/14(水) 16:48:16ID:???
日立うぜえ
0555nobodyさん2008/05/14(水) 16:58:31ID:???
このスレを日立で埋めるんだ。
邪魔するな
0556nobodyさん2008/05/14(水) 17:00:54ID:???
具体的にいえば、仕様書が古くて役に立たない場合に他のシステムの仕様を把握しようとするとき、
馬鹿Slerの下請けは、ソースコードを一生懸命解析しようとする。

しかし、日立はまず仕様のあるべき姿を業務資料から立案し、
ソースコードはその確認のために使う。
そこで、仕様バグやバグになる可能性を発見する。

根本からシステムを見直す。決してつぎはぎではない。動けばいいではない。
どちらが本来のエンジニアのあるべき姿か分かるよな。
0557nobodyさん2008/05/14(水) 17:06:02ID:o+mWMOHM
キチウゼエ
0558nobodyさん2008/05/14(水) 17:06:45ID:???
>>556
それが本当なら、すごいけどな。それが本当なら。
0559nobodyさん2008/05/14(水) 17:07:01ID:???
日立の社員はスレタイも読めないのかww
0560nobodyさん2008/05/14(水) 17:10:12ID:???
つ PHPのHはHitachiのH
0561nobodyさん2008/05/14(水) 17:39:44ID:???
☆★☆★日立の求人案内☆★☆★

給料:月給15万
勤務体系:2交代「(A)9:00-17:00(B)17:00-25:00(C)25:00-9:00
業務内容:主に自社製品の宣伝。2ちゃんねるへの書き込み。
0562nobodyさん2008/05/14(水) 17:43:11ID:WFEW7+yn
$test="abcdefghijkl"
という漢字の任意の文字列の間すべてに
スラッシュを入れたいのですが
どのようにすれば良いのでしょうか?
結果として
$test="a/b/c/d/e/f/g/h/i/j/k/l"
としたいです
0563nobodyさん2008/05/14(水) 17:50:40ID:???
うん。
これでこそ、このスレだよね。
0564nobodyさん2008/05/14(水) 17:51:29ID:???
うんそうだね。
0565nobodyさん2008/05/14(水) 17:54:25ID:???
>>562
マルチバイト文字も対応が必要なら、自分で考えて。
implode('/', str_split($str))
0566nobodyさん2008/05/14(水) 18:02:53ID:WFEW7+yn
>>565
ありがとうございます
0567nobodyさん2008/05/14(水) 18:11:20ID:???
むかつく誤変換なのでレスしない
0568nobodyさん2008/05/14(水) 18:48:04ID:???
>>567
キチガイ乙
0569nobodyさん2008/05/14(水) 20:44:06ID:???
具体的にいえば、仕様書が古くて役に立たない場合に他のシステムの仕様を把握しようとするとき、
馬鹿Slerの下請けは、ソースコードを一生懸命解析しようとする。

しかし、日立はまず仕様のあるべき姿を業務資料から立案し、
ソースコードはその確認のために使う。
そこで、仕様バグやバグになる可能性を発見する。

根本からシステムを見直す。決してつぎはぎではない。動けばいいではない。
どちらが本来のエンジニアのあるべき姿か分かるよな。
0570nobodyさん2008/05/14(水) 20:50:14ID:???
mb_convert_kanaが反映されない
mb_strlenがstrlenと同じ結果になる
なぜ?
0571nobodyさん2008/05/14(水) 20:54:09ID:???
日立なら問題はすべて解決してくれる。
0572nobodyさん2008/05/14(水) 20:55:07ID:???
>>570
mb関数の設定
0573nobodyさん2008/05/14(水) 21:17:27ID:???
>>572
ぐぐったらそれらしいものが
サンクス
0574nobodyさん2008/05/14(水) 22:07:27ID:???
PGレベルで\350,000 〜 \550,000を予定していますが、どうですか?

http://www.e-engineerhaken.com/040_anken/042_tokyo23/002277.php
0575nobodyさん2008/05/14(水) 22:18:07ID:???
学生でよければ
0576nobodyさん2008/05/15(木) 00:58:18ID:???
2次元にカンマ区切りで配列したtxtファイルデータから、
phpで部分的にデータを取り出す場合(何行目の何列目?)
のphpの記述はどのようになるでしょうか?
0577nobodyさん2008/05/15(木) 01:05:50ID:???
>>576
「php csv 関数」でググッてから質問しろ
0578nobodyさん2008/05/15(木) 01:15:46ID:???
>>575
学生は都合悪くなるとすぐ逃げるかた却下
0579nobodyさん2008/05/15(木) 01:18:21ID:???
メール投稿での日記更新とかで
投稿用メールアドレスをユーザーに登録してもらって
即座に使用可能になるのってどうやってるんでしょうか。
0580nobodyさん2008/05/15(木) 01:49:32ID:???
そもそも即座に使用できないとき何してるのか考えろ
05815792008/05/15(木) 01:49:34ID:???
すみません、甘えすぎました
0582nobodyさん2008/05/15(木) 03:00:12ID:???
うむ、次からは気をつけたまえ
0583nobodyさん2008/05/15(木) 03:04:32ID:???
>>582
氏ねニート
0584nobodyさん2008/05/15(木) 04:22:17ID:???
と、ニートが申しております
0585nobodyさん2008/05/15(木) 06:14:36ID:???
PEAR::DB + MySQLでlike中間一致検索する場合、
%や_をエスケープするのに簡単な方法はありますか?
自分で考えたのは
function myescape($keyword) {
$keyword = str_replace('\\', '\\\\\\\\', $keyword);
$keyword = str_replace('%', '\%', $keyword);
$keyword = str_replace('_', '\_', $keyword);
return $keyword;
}
$db->getAll("select * from t where name like '%".myescape($keyword)."'";
という感じなのですが、これでいいのでしょうか?
05865852008/05/15(木) 06:16:42ID:???
朝っぱらから疲れたので質問は取り下げます
05875852008/05/15(木) 06:29:27ID:???
>>586 そういわずに教えてください…
05885852008/05/15(木) 07:19:28ID:uzQIA50K
>>586-587
騙るのはやめてください
まったく、ひまですね
IDだせばいいんでしょ!
回答よろ
0589nobodyさん2008/05/15(木) 07:36:44ID:???
>>574
いきてぇw
0590nobodyさん2008/05/15(木) 09:52:12ID:???
xdebugをソースからインストールしようとしているのですが、どうもうまくいきません。
やり方は以下のページと同じで、
http://www.trekdevel.net/archives/171
コンパイルは成功したのですが、php.iniにzend_extension=...を書いても
php -mやphpinfoにxdebugが出てきません。

こういう場合どこかにエラーでも出ないのでしょうか?
0591nobodyさん2008/05/15(木) 10:28:13ID:???
NGName:585
NGID:uzQIA50K
0592nobodyさん2008/05/15(木) 10:52:56ID:uzQIA50K
答えられないなら黙ってればいいのに
0593nobodyさん2008/05/15(木) 10:56:09ID:???
それで動くなら、それでいいじゃん。
0594nobodyさん2008/05/15(木) 11:08:52ID:uzQIA50K
うるせえよわからないなら黙ってろ!
0595nobodyさん2008/05/15(木) 11:21:37ID:???
>>593
>それで動くなら、それでいいじゃん。

動 く な ら 、 そ れ で い い じ ゃ ん ! !

動 く な ら 、 そ れ で い い じ ゃ ん ! !

動 く な ら 、 そ れ で い い じ ゃ ん ! !
0596nobodyさん2008/05/15(木) 11:43:45ID:???
eaccelerator入れようとしたのですが
--with-php-config=
で指定する
php-config
locateしてみたのですがないようです。
この場合どうすればいいでしょうか?
05975962008/05/15(木) 11:58:42ID:???
って、ここの回答者ってキチガイが多いから他いくか・・
0598nobodyさん2008/05/15(木) 12:00:05ID:???
>>597
そんな事やってて楽しいの?
0599nobodyさん2008/05/15(木) 12:53:47ID:???
分からないことは逃げよ。ここの裏の掟。
PHPの質問受け付けてくれるところなら、ほかにもあるしね。
0600nobodyさん2008/05/15(木) 13:07:31ID:???
自分がそうだからそう思えるんだろうね。
どんだけスキルないのw
0601nobodyさん2008/05/15(木) 21:34:39ID:???
>>585
なんでprepared使わないんだ
0602nobodyさん2008/05/15(木) 21:55:49ID:???
>>585
なんでJP1使わないんだ
0603nobodyさん2008/05/16(金) 03:32:33ID:???
>>585
なんでフレームワーク使わないんだ?
0604nobodyさん2008/05/16(金) 03:37:25ID:???
>>585
なんでJP1使わないんだ
0605nobodyさん2008/05/16(金) 05:45:52ID:???
自分では、元気のつもりだったんだけど、
病院で精密検査してもらったら心筋梗塞と診断されてしまった。

3ヶ月間入院して安静にしたら、ついに寝たきりになってしまった。
その後、介護認定を受けたら介護度は5になった。

膀胱カテーテルを留置してもらい、しかも疥癬に感染してしまった。
そのため、家族に感染を防ぐ為毎日全身を清拭することになった。

疥癬が治癒したら、入浴サービスを利用することにした。

訪問看護は週に3回である。これは、JP1で典型的に成功した事例です。
0606nobodyさん2008/05/16(金) 14:05:30ID:???
symfonyは、ファイルに含まれているクラスのパスを自動でリストアップしますが
それと同じことが出来るライブラリとかがあれば教えてください
0607nobodyさん2008/05/16(金) 16:46:29ID:???
symfonyの中
0608nobodyさん2008/05/16(金) 18:27:15ID:rxHRpk5j
PHPに限ったことではないのですが・・・

16777215
という数値を
FFFFFF
に直すには、どのような変数を使うのがスマートでしょうか?

よろしくお願いします。
0609nobodyさん2008/05/16(金) 18:36:51ID:???
intval
0610nobodyさん2008/05/16(金) 18:43:42ID:???
>>608
言語によるがPHPならdechexとか
06115962008/05/16(金) 18:54:18ID:???
>>608
$hensu=16777215;
$hensu="FFFFFF";
echo $hensu;
0612nobodyさん2008/05/16(金) 18:57:32ID:???
質問者からキチガイに転身したわけか。
0613nobodyさん2008/05/16(金) 19:15:54ID:LhmlCzbv
質問です。
フォームのデータをDBに入れるときはエスケープ処理をしますが
セッションに入れるときも何か処理したほうがいいのでしょうか?
06146082008/05/16(金) 19:38:41ID:rxHRpk5j
>>609
>>610

レスありがとうございます。

dechexで希望通りのことができました。
実際につかうときはstr_padで桁数をそろえたりも必要かもしれませんね。

>>611

来ると思ってましたがこういうのも好きですw

ありがとうございました。
0615nobodyさん2008/05/16(金) 20:38:00ID:???
WinXP にて 今まで XAMPP を使用していたのですが、勉強がてらXAMPP をアンインストールして、
Apache 2.2 / PHP 5.2.6 をインストールし直しました。
今までXAMPP下で動かしていたプログラムを移動し、実行したところ、
関数に対して文字列の引数を与える際、"" や '' で囲ってあげなかったところ――例えば foo(hoge);――が以下のようなエラーを吐くようになりました。

NOTICE : Use of undefined constant image - assumed 'hoge' ....

どうやら与えられた引数を定数として解釈してしまい、そんな定数ないじゃん!と言っているようなのです。

これは error_reporting の設定の問題なのでしょうか。それとも別に何か設定があるのでしょうか。
ご助言いただけると幸いです。
0616nobodyさん2008/05/16(金) 20:43:52ID:???
>>615
マニュアルも読めないならxamppなんて使うな(つか勉強のためにxampp使うとか有り得ない)
0617nobodyさん2008/05/16(金) 20:55:05ID:???
なんで文字列をクオートで括らないのか理解できない
0618nobodyさん2008/05/16(金) 20:57:07ID:???
>>615
"" や '' で囲ってあげてください><
0619nobodyさん2008/05/16(金) 21:09:20ID:???
括らないのが許されるのは小学生までだよねー
0620nobodyさん2008/05/16(金) 21:12:42ID:???
>>615
http://www.php.net/manual/ja/language.constants.php
> 未定義の定数を使用した場合、ちょうどstringとしてコールしたかのように(CONSTANT vs "CONSTANT")、
> PHPはその定数自体の名前を使用したと仮定します。 この際、E_NOTICE が発生します。

未定義の定数 hoge を使っても、E_NOTICE つきで hoge == 'hoge' と見なしてくれてしまう。
この仕様、世話焼きすぎだと思う。
06216152008/05/16(金) 21:44:42ID:cNash65G
ごめんなさい、ID出し忘れました。
それに訂正です。
foo(hoge); を投げたときに帰ってくるエラーが
Notice : Use of undefined constant hoge - assumed 'hoge' ....
です。
0622nobodyさん2008/05/16(金) 21:49:02ID:???
更新し忘れてました。
>>616-620
返信ありがとうございます。
確かに引数は括るべきであって、それを怠った自分が悪いということはわかっています。
ただ、今までは括らなくとも動いていたので、どこの設定でそうなっているのか、ということを知りたく、質問した次第です。
スレ汚し失礼しました。
06236222008/05/16(金) 21:49:52ID:cNash65G
sage チェックが orz
0624nobodyさん2008/05/16(金) 22:38:55ID:???
>>613
データの使い方によりあmす
0625nobodyさん2008/05/16(金) 23:58:18ID:???
>>624
使い方によるとは?
0626nobodyさん2008/05/17(土) 00:44:09ID:???
>>625
そのまんまだろ
じぶんがひつようになったときにつかう
わかったかゆとり!
0627ヌルホース2008/05/17(土) 01:50:40ID:???
http://tool-1.net/
通称fpは、どこのサーバをレンタルしてるかわかりますか? 
また、どうやって調べるか教えてください。
0628nobodyさん2008/05/17(土) 01:53:45ID:???
スレタイ嫁。



はい次の質問者どうぞ。
0629ヌルホース2008/05/17(土) 01:59:21ID:???
(`・ω・´)
ヌルー
どこのスレいったら、教えてくれるでしょうか?
0630nobodyさん2008/05/17(土) 02:12:05ID:???
>>629
海外のサーバを借りているみたいですね
先方に問い合わせたら教えてくれましたよ
0631nobodyさん2008/05/17(土) 09:01:16ID:???
>>627
http://www.prox.ne.jp/

0632nobodyさん2008/05/17(土) 16:04:35ID:???
>>620
そういう世話焼きすぎがまさにPHP的だと思う。
3分ハッキングにはちょうどいい。
0633nobodyさん2008/05/17(土) 21:19:35ID:axq+Svx6
$_SERVER['PATH_INFO']を使って2chみたいなURLの掲示板を作成しています。
「read.php/1/」「read.php/23/」みたいに指定し、ログの表示は出来たのですが、
なぜかスタイルシートが適用されません。

何もパスを付けずに「read.php」を実行させると普通にスタイルシートが適用されるのですが、
「read.php/1/」みたいな感じにパスを付けるとどうしてもCSSが適用されません。

どうしたらよいでしょうか?
0634nobodyさん2008/05/17(土) 21:27:32ID:???
絶対パスで指定する
0635nobodyさん2008/05/17(土) 21:30:11ID:axq+Svx6
>>634
本当ありがとうございます。
出来ました。
0636nobodyさん2008/05/17(土) 21:35:54ID:???
>>635
あとread.php/1/ってしたなら1ってディレクトリから相対パスで指定すりゃできる
0637nobodyさん2008/05/17(土) 22:06:54ID:???
$sql = "
SELECT *
FROM `TBL_1` AS `T1`
INNER JOIN `TBL_2` `T2`
ON `T1`.`hoge_ID`=`T2`.`hoge_ID`
";
$result = mysql_query($sql);
$rows = @mysql_num_rows($result);
while($row = @mysql_fetch_array($result)){
$row[]←ここでどうかけばいいの?
}

こんな風に二つのテーブルをjoinしてその両方に同名のカラムがあった場合にselect * した場合はphp側で同名のカラムをどうやって$row[]の添え字に書いて取り出せば良いのでしょうか?
*を使わずにselectでダブらない様にカラムをいちいちAS 〜としてやらずに済ませたい場面がありましたので質問した次第。
06386372008/05/17(土) 22:32:30ID:???
すいません、自己解決しました
0639nobodyさん2008/05/17(土) 22:34:30ID:???
>>638
勝手に解決したとか書かないで下さい
06406372008/05/17(土) 22:39:39ID:???
あなただれですか?
0641nobodyさん2008/05/17(土) 22:40:47ID:2uwsWgrz
ああ、過去レス読んだらIDださないといけないみたいですね
これで満足ですよね、解決したいので回答よろ
0642nobodyさん2008/05/17(土) 22:41:51ID:???
>>641
>>1
0643nobodyさん2008/05/17(土) 22:47:36ID:???
>>641
全くわからんけど
今から風呂はいって
頭洗って
珈琲ノンでから考えてみる。


とりあえず、ptint_rでrowの中身みてみた?
0644nobodyさん2008/05/17(土) 23:08:16ID:???
みたけどわかりません
0645nobodyさん2008/05/17(土) 23:08:50ID:2uwsWgrz
while($row = @mysql_fetch_array($result)){
$row[]←ここでどうかけばいいの?
}

この部分聞いてるのでおねがいしますよ
0646nobodyさん2008/05/17(土) 23:09:01ID:???
結合したのに何故混同するw
06476372008/05/17(土) 23:10:29ID:1fE1M1vI
>>641
勝手に私を騙ってID出さないで下さい。
もう解決したんですから。
06486432008/05/17(土) 23:59:54ID:???
>>637 解決したのか!
print_r($row)で中身みると
Array (
[0] => NULL
[hoge1] => NULL
[1] => NULL
[hoge2] => NULL
[2] => NULL
[hoge3] => ぱんつ
・・・エンドレスはめ殺し・・・
)
だから
while($row = @mysql_fetch_array($result)){
$orz = $row[2];
}
とすれば、hoge3のカラムが取り出せる。
0649nobodyさん2008/05/18(日) 00:48:21ID:YbibvtLr
よくわからないけどなんで2をしていするの?
0650nobodyさん2008/05/18(日) 01:05:20ID:Ye23aTZk
指定したディレクトリの.csvファイルのみを配列に格納するPHPスクリプトが書けなくて悩んでいます・・・。

ここまではなんとかなったのですが・・・。

<?php

header("Content-type: text/html; charset=shift_jis");
$filedir='.';#取得したいディレクトリ //[.]はカレントディレクトリを表す
$dirlist=array();#格納先の配列を準備

$strDir=opendir($filedir);#ディレクトリを開く
while($str=readdir($strDir)){array_push($dirlist,$str);}#1つづつ配列に格納
closedir($strDir);#ディレクトリを閉じる

//print_r($dirlist);#配列を表示


$filelist=array();#格納先の配列を準備
foreach ($dirlist as $filename){
if(filetype($filename) == "file"){array_push($filelist,$filename);}#ファイルだけを格納
}

?>
0651nobodyさん2008/05/18(日) 01:10:51ID:TyvZJlXj
table aaa

id pri message
11 5 あああ
12 2  いいい 
13 5  ううう
14 3  えええ

この場合id 14のメッセージが3/(5+2+5+3)の確率で
表示されるようにしたいのですが良い方法はありますか
0652nobodyさん2008/05/18(日) 01:16:46ID:???
>>650
人のコード丸々コピーじゃなくて少しは自分の頭で考えたほうがいいよ。
>>651
rand関数
0653nobodyさん2008/05/18(日) 01:19:14ID:???
<?php

if (!($dir = opendir("./"))) {
die;
}
while ($fnm = readdir($dir)) {
if (ereg('.csv$', $fnm)) {
print "<P>$fnm</P>\n";
}
}
closedir($dir);

?>
0654nobodyさん2008/05/18(日) 01:20:59ID:???
---------------------ここまで俺の誤爆------------------
0655nobodyさん2008/05/18(日) 01:21:08ID:???
>>652
rand関数じゃないし
0656nobodyさん2008/05/18(日) 01:23:14ID:???
>>655
じゃなんだよw
0657nobodyさん2008/05/18(日) 01:37:51ID:gOK6sC5j
質問よろしくお願いします。

get_defined_varsで
ユーザ定義の変数のみを取り出すスマートな方法があったら教えてください。

よろしくお願いします。
0658nobodyさん2008/05/18(日) 01:41:31ID:???
まず自分で書けるスマートなコードを書いてもらわないと回答に困る
0659nobodyさん2008/05/18(日) 01:49:01ID:TyvZJlXj
>>656
重み付けがあるので
06606572008/05/18(日) 01:51:46ID:gOK6sC5j
>>658
自分で考えつくのは、
GLOBALSなどをひとつずつ排除していって、
残ったものがユーザ定義変数である・・・とかそんな感じです。

じっさいに試してはいませんが・・・。

よろしくお願いします。
0661nobodyさん2008/05/18(日) 02:04:38ID:???
$array= array(
0=>"a",
1=>"b",
2=>"c",
"あ"=>"d",
"い"=>"e"
);

array_valuesを使ってひらがなのキーの値だけ取り出すスマートな方法がありますか?
コードにして書いてください

ここは宿題スレじゃないので、必要最低限コードぐらいは自分で考えて書いてください
0662nobodyさん2008/05/18(日) 02:06:44ID:???
>>659
重み付けがある時にrand関数が使えない理由は?
0663nobodyさん2008/05/18(日) 02:07:31ID:???
>>661
なんでキーを取り出したいのにarray_values使うんだよw
0664nobodyさん2008/05/18(日) 02:08:10ID:???
>>662
それぞれの値ごとに確率が設定されてるだろザコ
0665nobodyさん2008/05/18(日) 02:10:06ID:???
>>664
悪いが何言ってるのか意味が分からんw
それこそrand関数の使い道だろw
0666nobodyさん2008/05/18(日) 02:30:07ID:???
int rand ( [int $min, int $max] )
randができるのは↑のこと
今回、質問者の悩みは解決しない
0667nobodyさん2008/05/18(日) 02:33:15ID:???
rand関数で一発解決しますなんてどこにも書いてないと思うんだけどw
0668nobodyさん2008/05/18(日) 02:44:33ID:???
まだわからないのか^^;
randなんて今回は使わない
ゆとり乙
0669nobodyさん2008/05/18(日) 02:54:04ID:???
じゃ何使うの
06706372008/05/18(日) 03:02:09ID:tgzZzG90

ここのルールをよく知らないでの質問した私が悪いのですが、今更ですがIDを出します。
>>643
中身は見てます。phpに渡される時点で添え字が数字でなく文字列の場合は上書きされてしまっていますね。
と言うことはphp側ではどうしようもないということか・・・

>>646
マスターテーブルが自身をjoinして参照しなくてはならない場面があったからです。
こういう場合に、SELECT * ってSQLに書いた場合に、いちいち、
`T1`.`hoge_ID` AS `T1_ID`
`T2`.`hoge_ID` AS `T2_ID`
としないで済ませる事が出来る方法がないかと質問しました。
06716372008/05/18(日) 03:10:52ID:tgzZzG90
例えばこんな感じ

テーブル
ID|名前|好きな人id
1 |太郎|3
2 |花子|1
3 |美咲|1

で、
太郎は美咲が好き
花子は太郎が好き
美咲は太郎が好き
という結果が欲しい。

まともにASするとか、このテーブルをID=>名前ってな連想配列にしとくとか、そういう手があるのは百も承知で、

SELECT
*
FROM テーブル AS `T1`
INNER JOIN テーブル AS `T2`

みたいに「*」使った場合に上記のような結果が欲しいわけです。
0672nobodyさん2008/05/18(日) 03:24:37ID:???
それは使用するAPIの問題だからどうしてもそうしたいなら同名の場合に配慮してくれる奴探せばいいんでない
0673nobodyさん2008/05/18(日) 08:46:12ID:???
>>671
スレ違い
http://pc11.2ch.net/test/read.cgi/php/1158647441
0674nobodyさん2008/05/18(日) 08:50:37ID:???
637は謝ろうって気がないよな
向こうのスレいってこうゆとり
0675nobodyさん2008/05/18(日) 09:15:25ID:???
あなたの、ゆ〜と〜り
0676ヌルホース2008/05/18(日) 09:42:14ID:???
>>631
ありがとうございます(`・ω・´)

そういやhttp://tool-1.net/
って穴があるからスクリプト抜けるって聞いたのですが、本当ですか?
0677nobodyさん2008/05/18(日) 09:43:20ID:???
637顔真っ赤で頭から湯気がでてますw
0678nobodyさん2008/05/18(日) 09:44:06ID:???
>>676
またこの前のおまえか
0679ヌルホース2008/05/18(日) 09:51:07ID:???
>>678
穴の勉強していたのですが、(`・ω・´)
穴があるサイトの例がhttp://tool-1.net/
らしいので(・・;)
一流のプログラマーが勢揃いしているところで聞かせてもらってます。
0680nobodyさん2008/05/18(日) 09:54:37ID:???
ないよ
0681ヌルホース2008/05/18(日) 10:00:32ID:???
管理パス(英数6ケタくらい)が漏れるのはCGIが抜かれてるしか考えられないヌ
(・・;)
06822008/05/18(日) 11:59:57ID:???
そう、俺だ。
0683nobodyさん2008/05/18(日) 17:29:32ID:???
今は閉鎖されてしまった髭めがねさんの掲示板の
以下のタイプを探しています

「New NICOLE Board Type-2 v1.15b - Edit by 髭めがね」

かなり探したのですが見つけられませんでした。
再配布場所をご存知の方いらっしゃれば教えてください
0684nobodyさん2008/05/18(日) 17:31:12ID:???
テンプレ違反かつスレ違いですー
0685nobodyさん2008/05/18(日) 17:48:24ID:WBHzUPNU
Apacheのダウンロードと設定の仕方がわかりません。
本を見ながらやってますが、「ダウンロードしたソースコードをサーバー上
の適当なフォルダへアップロード」って言うのと、
「tarコマンドで解答処理」ていうのがどこでコマンド入力するのかわかりません。
0686nobodyさん2008/05/18(日) 17:49:27ID:???
それのどこがPHPと関係あるのですか?
0687nobodyさん2008/05/18(日) 18:20:09ID:???
メーラーを起動させるヘッダはどのように書けば良いのでしょうか?
(リンクなどを押されたときに処理をはさんでからメールを起動させたい)
06886872008/05/18(日) 18:20:41ID:P5qlbfWP
ID出し忘れ
0689nobodyさん2008/05/18(日) 18:26:26ID:NYmCH+10
宗教戦争になりそうですが・・・

最近のPHP開発手法のトレンドは何でしょうか?
06906832008/05/18(日) 18:28:03ID:???
どこで聞けばいいかも分からなかったので・・・
すいません
0691nobodyさん2008/05/18(日) 18:30:08ID:???
>>689
try & error
0692nobodyさん2008/05/18(日) 18:38:20ID:???
>>689
最近は寝巻き着たままかな
0693nobodyさん2008/05/18(日) 18:55:07ID:NYmCH+10
CodeIgniterよさげですね。

#ここってネタスレになってます?
0694nobodyさん2008/05/18(日) 20:12:41ID:???
>>689
テスト駆動開発じゃね?
0695nobodyさん2008/05/18(日) 20:19:49ID:???
PHP以外の開発手法も聞いてみたいねぇ。

大差ないと思うがね。
0696nobodyさん2008/05/18(日) 20:22:12ID:???
>>689
中国当たりに丸投げして安く済ませることかな
微修正は日本人が担当する
0697nobodyさん2008/05/18(日) 20:23:52ID:???
>>696
今流行のアウトソーシングってやつですね。
Javaばっかりかと思っていたら、PHPでもそうなんですか。
0698nobodyさん2008/05/18(日) 20:37:04ID:???
PHPのセキュリティについてはどんな感じで学習すれば良いですか?
PHPは基礎的な部分は簡単だけど、
安全なアプリを構築するのはかなりの知識が要るようなのですが。
0699nobodyさん2008/05/18(日) 20:43:57ID:???
>>697
アウトソースよりも、この場合はオフショア開発っていうお。

>>698
オライリーの入門PHPセキュリティおすすめ。
07006512008/05/18(日) 20:56:15ID:TyvZJlXj
流れたのでもう一度
table aaa

id pri message
11 5 あああ
12 2  いいい 
13 5  ううう
14 3  えええ

この場合id 14のメッセージが3/(5+2+5+3)の確率で
表示されるようにしたいのですが良い方法はありますか
0701nobodyさん2008/05/18(日) 21:00:05ID:???
>>700
回答者に対してザコとか発言する質問者さんにはお答えできませんのでお引取り下さい。
0702nobodyさん2008/05/18(日) 21:10:41ID:???
>>700
rand使ってあとはお前ががんばって計算式を見つけ出せwwwww 宿題は自分でやれwwww
0703nobodyさん2008/05/18(日) 21:36:04ID:???
またきのうの回答者か
rand関係ないし
07046512008/05/18(日) 21:49:17ID:TyvZJlXj
>>702
煽ってるのは僕とは別人です
宿題でもありません
0705nobodyさん2008/05/18(日) 21:49:56ID:???
>>704
rand関数でできます
07066512008/05/18(日) 21:53:40ID:TyvZJlXj
>>704
どうするんですか?
0707nobodyさん2008/05/18(日) 22:07:06ID:???
だから確率がそれぞれ設定されてるんだからrandいらねえだろ
0708nobodyさん2008/05/18(日) 22:09:24ID:???
>>700
確率なのに100か10にならないところにフイタ
0709nobodyさん2008/05/18(日) 22:10:31ID:???
>>707
確率が設定されているからrandいるんだろうw
0710nobodyさん2008/05/18(日) 22:10:54ID:???
rand使わないやり方ってあるの?
0711nobodyさん2008/05/18(日) 22:14:00ID:???
できなくはないよ
rand関数を使うってことはifなどで振り分ける処理が必要になるよな
コード量がふえるだろ、わかるか
0712nobodyさん2008/05/18(日) 22:14:27ID:???
どうやるの?
0713nobodyさん2008/05/18(日) 22:17:37ID:???
ひんと
つ配列関数
0714nobodyさん2008/05/18(日) 22:18:39ID:???
乱数表使えば作れる。乱数表使って作った関数がrand。
つまり無駄なことをすればrand使わなくてできるんじゃねw
0715nobodyさん2008/05/18(日) 22:19:12ID:???
ちなみに予想つきそうなレスを前もってかいとくが

$array = array(1,1,1,2,2,2,3,3,3,3,4,4,4,4,4,4,5,5);

↑こんなのじゃないからな
こんなめんどくさいのならrand使うのといっしょ
あとは自分で考えろってこった
0716nobodyさん2008/05/18(日) 22:20:19ID:???
randでいいじゃん簡単だし
0717nobodyさん2008/05/18(日) 22:21:37ID:???
これがわからないやつはFizzBuzzを頭の中でコード書けない池沼
0718nobodyさん2008/05/18(日) 22:26:14ID:???
とりあえずrandでできるってやろうはここにコードを書いてくれ
おれが手直ししてあげよう
07196982008/05/18(日) 22:26:23ID:???
>>699
ありがとうございます。読んでみます。

基本文法習得をなんとか終えた後、
今「PHP サイバーテロの技法」という本を読んでいますが、
ヌルバイト攻撃とかディレクトリ・トラバーサルとか、自分にはかなり難しいですね。
とはいえ一通り対策が講じれるようにならないとまずいのですが…

PHP簡単、というのは良く聞きますがセキュリティまで考えたら
そんな単純な話ではないなぁ、と。

0720nobodyさん2008/05/18(日) 22:27:41ID:???
とりあえずrand以外でできるってやろうはここにコードを書いてくれ
おれが手直ししてあげよう
0721nobodyさん2008/05/18(日) 22:28:25ID:???
意訳

早くコード書いて俺に答えを教えてくれ。もう日曜の10時半なんだよ。
0722nobodyさん2008/05/18(日) 22:28:37ID:???
>>720
おkおk
じゃあ君が先だね
0723nobodyさん2008/05/18(日) 22:31:37ID:???
個数分だけ要素作ってarray_randかけるのか?なんて無駄なことをw randでいいじゃんw
0724nobodyさん2008/05/18(日) 22:32:00ID:???
逃げの準備かw
07256512008/05/18(日) 22:36:59ID:TyvZJlXj
>>721
まあ、困り度はそんな感じです

ななしで煽るのは止めてくださいずら
0726nobodyさん2008/05/18(日) 22:43:42ID:???
宿題丸投げスレじゃありませんのでヒントもらったら自分で考えてください。
array_randでもrandでも好きなようにやればいいさ。
0727nobodyさん2008/05/18(日) 23:10:02ID:???
>>651
よし、ここは全くわからない俺が
しかもrand関数って何という俺が
風呂はいって
珈琲飲んで
パジャマに着替えてから一緒に考えてあげよう。

ところで、ID14のPRI値が3でmessage値が「えええ」だから
ID14のPRI/(全部のPRIの値)の確率でID14のmessageを表示されたいの?
0728nobodyさん2008/05/19(月) 00:10:36ID:i7qsMY9z
iframeを使った自動投稿や自動カウントアップを防ぎたいのですが
どうやればいいですか?
07296512008/05/19(月) 00:10:56ID:f/z8MzuC
そうです、そのとーり>>727
0730nobodyさん2008/05/19(月) 00:12:33ID:???
>>728
リファラ
IP
セッション
などなど
07317272008/05/19(月) 00:40:33ID:???
>>651 idが連番で抜けがないなら
$priarray
$messagearray
にDB取り込んで,取り出したいIDを$keyIdに入れ

function rndAnswer( $priarray,$messagearray,$keyId ) {
  $keyId = $keyId-1;

  $rndNum = $priarray[$keyid]/array_sum( $priarray );

/**rand使えるようにどうにかする。**/

return $answer;
}

よし、これ以上は小生には無理だ。あとはお前ががんばって教えてくれ。
0732nobodyさん2008/05/19(月) 04:44:41ID:uTe3T86T
質問させてください。

UTF-8で運用するWebフォームから、iso-2022-jpでメールを出そうとしているのですが
文字コードマッピングの問題で 鰍竅`(WAVE DASH)などがどうしても化けてしまいます。
Web上での文字コードのルールについて基本的な知識やルールは承知しているのですが
ユーザが入力してくる文字(機種依存文字が多々あり)をそのままメールに活かすように
したいのです。

もし解決法をご存じの方がいらっしゃいましたら是非お知恵をお貸しください。
よろしくお願いいたします。
07337322008/05/19(月) 04:51:38ID:uTe3T86T
書き忘れましたが、

PHP 4.4.2
FreeBSD 4.11-RELEASE-p17
Apache2系

です。
これまでは
mb_convert_string($mail_body, "iso-2022-jp", "UTF-8");
で試みています。

0734nobodyさん2008/05/19(月) 07:01:59ID:???
convertしないで添付ファイルの形にする
0735nobodyさん2008/05/19(月) 10:17:54ID:???
>>651
目的に合うかわからんけどMySQL側で。。バージョン依存あり

SELECT * FROM aaa WHERE id =14
AND RAND( ) < pri / ( SELECT SUM( pri ) FROM aaa )
0736nobodyさん2008/05/19(月) 10:38:21ID:qHM47HMz
ファイルアップロード時の変数について教えてください。

ファイルはアップロードできたのですが、
クライアント側のファイルのパスをサーバ側でも取得したいのですが
$_FILES['id']['name']にはファイル名だけしか入っていませんでした。
フルパスを取得するにはどのようにしたらよいでしょうか?

PHP Version 4.2.3 です。
0737nobodyさん2008/05/19(月) 11:12:13ID:???
んなセキュリティ的に危険なこと、出来るほうがおかしい
0738nobodyさん2008/05/19(月) 11:24:04ID:???
>>736
Javascriptで取得できるから、あとはがんばって。
ただ、ブラウザごとに微妙に動作が違った気がする。

<form onSubmit="alert(this.file.value)">
<input name="file" type="file">
<input type="submit">
</form>
0739nobodyさん2008/05/19(月) 11:46:25ID:qHM47HMz
>>738
hiddenにthis.file.valueを設定すればよいということですね。

別件で作ったJavaサーブレットのアップロードでは取得できたので
PHPが隠蔽しているのかもしれません。

Javascriptでやってみます。
ありがとうございました。

0740nobodyさん2008/05/19(月) 15:47:38ID:???
こんにちわ
PHP+Oracle接続環境を作成の際にエラーが出まして、
もし、分かる方が居たら教えて頂ければと思っております。

仮想マシン:Xen
管理OS:CentOS5
ゲストOS:CentOS5,Fedora8
apache 2.2.8
php 5.2.6

configureは出来たのですが、makeで以下のようなエラーが出ました。

libphp5.la
/usr/bin/ld: cannot find -lirc
collect2: ld returned 1 exit status
make: *** [libphp5.la] エラー 1

CentOS5,Fedora8共にエラーが出ております。
lircが見つからないといわれているので、
yum install *lirc*で全部入れてみましたが駄目でした。
両OSで出来ないのでXenのカーネルが問題なんでしょうかね…

よろしくお願いします。
0741nobodyさん2008/05/19(月) 16:02:46ID:???
>>740
自己解決できない人間はWindows使ってくださいよ
0742nobodyさん2008/05/19(月) 18:09:53ID:???
>>740
なんでライブラリの問題でカーネルが原因になるんだか
/usr/bin/ld: cannot find -lirc はlircが見つからないではなく
libirc.aが見つからないって意味だ
よって yum install *lirc* とか無駄
libircが入ったパッケージをインストールするか、強引だがリンカの指定から-lircを外して動けばOK
0743nobodyさん2008/05/19(月) 18:45:13ID:???
>>742
解答ありがとうございます。
仮想サーバーと同じ構成のマシンがもう1台ありまして、
そのマシンはFedora5なんですが、
makeまではいけたので、
Xenのカーネルが問題なのかなと思ってしまいました。
エラーの意味やライブラリを理解できていない自分には、
リンカの指定をはずすなどかなり難しいそうなので、
libircが入ったパッケージを探してみます。
0744nobodyさん2008/05/19(月) 19:41:48ID:xzrDZ7d0
Windows XP
Apache 2.0
PHP 5

$h = popen('unko.exe');
if ($h == FALSE) die('失敗したにょ!');
fputs($h, ・・・以下省略
pclose($h);

こんな処理をしたいのですが、unko.exe は実際にはありません。
無いにもかかわらず popen の戻り値が FALSE にならないので
die してくれません。ちゃんと die してほしんです。
何か良い方法はありませんか?
0745nobodyさん2008/05/19(月) 19:45:03ID:???
popenする前にfile_existsでチェックしろ
0746nobodyさん2008/05/19(月) 20:09:53ID:???
超初心者なんですが…
PEAR::AUTHを使ってみたいのですが、
パスワード暗号化の時saltを付け加える事ってできますか?
暗号化方法の選択でSMD5等が無いようなので…
07477462008/05/19(月) 20:16:05ID:???
超初心者なんですが自己解決しました
07487462008/05/19(月) 20:28:11ID:xxBfPPP+
↑自己解決してませんが…
0749nobodyさん2008/05/19(月) 20:47:56ID:???
マルチ乙
0750nobodyさん2008/05/19(月) 20:50:38ID:???
超初心者で質問もしてませんが自己解決しました
0751nobodyさん2008/05/19(月) 20:53:44ID:???
昔pearlのHPを見た記憶があるんだがurl知ってる人おしえて
07527462008/05/19(月) 20:56:08ID:xxBfPPP+
>>749
他でも聞いたのですが答えがなかったのです。
0753nobodyさん2008/05/19(月) 20:57:51ID:???
>>751
http://www.pearlgakki.com/
0754nobodyさん2008/05/19(月) 20:59:14ID:???
ちょwがっきじゃなくて
pearlってライブラリなかった?
0755nobodyさん2008/05/19(月) 21:00:11ID:???
>>754
http://www.jap.co.jp/pearl/
0756ハチミツ2008/05/19(月) 21:52:54ID:sdAnx2Kb
ハチミツと申します。私は
ttp://bbs.832tool.net/
のショボい掲示板を作って、パーミッションは604にしました。
しかし、なぜかindex.phpのスクリプトが抜かれてしまいます。
教えてください。
また、サーバはXREA.COMを借りています。

セキュリティの穴があるとか言われたことがあるのですが、誰か詳しい方教えてください。
0757nobodyさん2008/05/19(月) 21:56:08ID:???
抜かれてしまうってどういうこと?
0758ハチミツ2008/05/19(月) 22:05:23ID:sdAnx2Kb
>>757
ほぼ自作のindex.phpに穴があるせいか、パスワードの入ったログファイル(.cgiでパーミッション606)がアクセスされてしまうのです。
普通なら.cgiは、アクセスされないのですが、穴の性で見られてしまっているということです。

0759nobodyさん2008/05/19(月) 22:07:19ID:???
>>756
どっかで見たと思ったらあった。
情報小出しにするんだったら、プーさんになめられとくもんだと思う。

△▲ WebProg 初心者の質問 Part17 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1204462146/321-322
0760nobodyさん2008/05/19(月) 22:08:14ID:???
ログファイルが開けることとindex.phpに穴があることとどう関係あるの?
0761ハチミツ2008/05/19(月) 22:10:33ID:sdAnx2Kb
また、以前は
http://bbs.832tool.net/?id=test%00index.php

この不正アクセスで、index.phpがヌルバイト攻撃で不正アクセスされたのですが、%00を排除することにより、対策はできました。
今は
http://bbs.832tool.net/?id=%

こんなのは、不正アクセスとして、エラールーチンに飛ばしているのですが、

http://bbs.832tool.net/?id=test%00

が、チェックをすりぬけられます。


これは、穴になっていて、index.phpは不正アクセスされるのでしょうか?
0762ハチミツ2008/05/19(月) 22:13:02ID:sdAnx2Kb
>>759
よく意味がわからないです。

>>760

不正にindex.phpが見られたら、
同じディレクディレクトリにあったとしたら
pass.cgi
が見られたり、
../pass.cgi
と指定されたら見られてしまいます。

0763nobodyさん2008/05/19(月) 22:21:40ID:???
意味が分からない。
日本語も良く分からない。
index.phpに(不正なクエリと共に?)アクセスされと同階層にあるpass.cgiが見られてしまう?
謎。
ドキュメントルート以上に置くかapacheをちゃんと設定するかaccessで拒否るか拡張子phpにすればいいのでは?
0764ハチミツ2008/05/19(月) 22:26:56ID:sdAnx2Kb
>>763

指定されたファイルが見られてしまうと言うことです。失礼しました。
データの書き込みは
{$id}-log.cgi
と記述していまして、
id=testして、あればログファイルを記述しなければエラーをだすようにしているのですが

この$_GET['id'];
に不正に
index.phpが仕掛けれているせいか、-log.cgiが擦り抜けられてしまうという怖い攻撃らしいです。

昔はそれで、中身が表示されたのですが、今は対策したはずです。しかし、中身が漏れているらしく…


教えてほしいです。
0765ハチミツ2008/05/19(月) 22:29:04ID:sdAnx2Kb
参照サイト:http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html
0766nobodyさん2008/05/19(月) 22:36:15ID:???
失礼ですが、もしかして女性の方ですか?
0767ハチミツ2008/05/19(月) 22:38:02ID:sdAnx2Kb
すいません。期待されてたようですが、男性です。
0768nobodyさん2008/05/19(月) 22:40:51ID:???
そもそも、その不正なアクセスを再現もできていなければ、原理的な可能性を理解してるわけでも
ない気がする。そんなの、どう対策すべきかは誰にも判らんだろ。
07697462008/05/19(月) 22:43:59ID:???
結局>>746にはなんだかんだで誰も回答できませんでした。っと・・
0770nobodyさん2008/05/19(月) 22:46:03ID:???
>>769
死ね
0771nobodyさん2008/05/19(月) 22:50:24ID:???
>>769
いやー、でもさ何気に>>746はここの解答者には難しくね?(俺含め)
そりゃ平のMD5がオンライン辞書攻撃であっさり抜かれる事があるのは承知してるが
0772nobodyさん2008/05/19(月) 23:25:56ID:???
>>746
ないならpearいじって改造すればいいだけの話
0773nobodyさん2008/05/19(月) 23:54:40ID:???
横から悪いが、PEARのソースコードなんてそんな簡単に改造できるもんなん?
0774nobodyさん2008/05/20(火) 00:01:01ID:???
逆に聞きたいけど何を理由にできないと?
0775nobodyさん2008/05/20(火) 00:16:10ID:???
本日のゆとり晒し上げ

773 名前:nobodyさん[sage] 投稿日:2008/05/19(月) 23:54:40 ID:???
横から悪いが、PEARのソースコードなんてそんな簡単に改造できるもんなん?
0776nobodyさん2008/05/20(火) 00:17:29ID:???
すまん、ゆとりはいいすぎた
ソースも読めない池沼と言うべきだった
0777nobodyさん2008/05/20(火) 00:39:40ID:???
で、結局なんだかんだでサンプル一つ回答できませんでしたよ。っと・・
0778nobodyさん2008/05/20(火) 00:49:15ID:???
多分暗号化部分を変更するだけなら難しく無いんじゃ・・
それすら出来ないならPEARまんま使うか、他のよさげなライブラリ探すしかない。
だって自分で作りたいんでしょ?
0779nobodyさん2008/05/20(火) 01:06:40ID:YowAhmFQ
PHP+MySQLの処理で、毎回クエリを送信してデータを取得し、表示する方法と、
一回のクエリで全データを配列に入れて、それからforなどで表示する方法と、
どちらが速くて負荷がかからないですかね?

実験では後者ですが、具体的な差が説明されている
サイトなどをご存じでしたら、教えて下さい。
0780nobodyさん2008/05/20(火) 01:18:34ID:???
負荷ってなんの?
通信ならDB呼ぶオーバヘッドを考慮して前者
メモリなら後者

あとね自分でベンチとったならそれ信じなよ
こんな匿名のとこで聞いて前者のほうが断然早い!とか言えば信じ込んじゃうわけ?
自分の結果に自信を持ってくれ
0781nobodyさん2008/05/20(火) 02:08:05ID:???
>>777
回答はでてる
0からの宿題のためにサンプル求めるところではない
0782nobodyさん2008/05/20(火) 11:27:00ID:MX4GJ438
$var1_1 = $var1 = $_POST['var1'];
上みたいな記述って問題ないでしょうか? echo $var1_1と試したところ、
ちゃんと表示はされてるんですが、念のため確認したいです。
どなたかご回答お願いします。
0783nobodyさん2008/05/20(火) 11:27:56ID:???
問題ない。
0784nobodyさん2008/05/20(火) 11:29:22ID:???
>>782
調べるって大事
http://www.php.net/manual/ja/language.expressions.php
0785nobodyさん2008/05/20(火) 11:41:01ID:???
でも、こういうの難しいよね。
以前調べたら、PHPだけがJavaとかPerlとかCと三項演算子の結合の向きが違ってたし。
0786nobodyさん2008/05/20(火) 12:40:09ID:???
標準出力への出力を文字列として取り込むことってできますか?
つまりこんな関数があるとき、

function hoge() {
echo "hogehoge";
}
$a = `hoge()`
// $a = "hogehoge" となる

ということがやりたいのですが。
0787nobodyさん2008/05/20(火) 13:08:12ID:???
>>786
http://jp2.php.net/manual/ja/book.outcontrol.php
0788nobodyさん2008/05/20(火) 13:13:01ID:???
>>784
そのページよりは
http://www.php.net/manual/ja/language.operators.php
の方がいいでしょ。

代入演算子は right結合だから
$a = $b = $c は $a = ($b = $c) として評価
07897862008/05/20(火) 15:14:45ID:???
ありがとな解決した
0790nobodyさん2008/05/20(火) 20:01:58ID:???
すいません、質問です。
echoで自分の定義したオブジェクトを指定した場合に特定のメソッドの結果を返させたいのですが、どうやれば良いのでしょうか。

例:
($barはfooクラスのインスタンスであるとして)
echo $bar;
ってしたときに
echo $bar.toString();
のような動作をさせたいのですが。
0791nobodyさん2008/05/20(火) 20:09:02ID:???
あわわ、javaのつもりで書いてしまった。
正しくは
echo $bar->toString();って感じです。
echoが通常呼び出す文字列変換メソッド?を書き換えられれば良いのでしょうか。よくわかりません。
0792nobodyさん2008/05/20(火) 20:28:34ID:???
toString()が文字列返せばいいだけでわ?
0793nobodyさん2008/05/20(火) 20:41:24ID:???
toString()略したいんです。明示的に変換が必要な場合はともかく、
デフォルトではなんかのインターフェイスを呼んでおいてほしいです。toString()が存在するかどうかすら隠ぺいしておきたい。
なるべくソースコードをすっきりさせるために…
0794nobodyさん2008/05/20(火) 20:42:27ID:???
オブジェクトをStringにキャストするのが間違ってる
これは明示的に変換が必要なケースだろ
0795nobodyさん2008/05/20(火) 20:48:21ID:???
PHP5なら__toStringで可能かもしれない
0796nobodyさん2008/05/20(火) 20:51:10ID:???
これだな。
http://jp.php.net/manual/ja/language.oop5.magic.php
0797nobodyさん2008/05/20(火) 21:08:54ID:???
>>796
おお、まさにこれです! ありがとうございました!
0798nobodyさん2008/05/20(火) 22:17:15ID:aFyFy0AF
shift_jisのxmlファイルをfile_get_contents()で変数にいれて
mb_convert_encoding()でShift_JIS→UTF-8に文字コードを変換して
simplexml_load_string()でxmlのデータを扱うおうとしてるけどエラー出るから助けてくれ

エラーは「Entity: line 1: parser error : switching encoding: encoder error」って出てるけどエンコード系でダメなの?

コードは下な感じ
<?php
$_xmlFile = file_get_contents( "etc.xml" );
$_xmlFile = mb_convert_encoding( $_xmlFile, "UTF-8", "Shift_JIS" );
$_xml = simplexml_load_string( $_xmlFile );
?>

ググッたらsimplexml_load_string()はUTF-8でないとダメ!って見つけてこうやってんだけど
他に何かありますか?
0799nobodyさん2008/05/20(火) 22:22:38ID:???
xml見せてみ
0800nobodyさん2008/05/20(火) 22:37:15ID:aFyFy0AF
xmlは下な感じ。実際わ<no_xxx></no_xxx>がもっと続いてる
xmlは別のjavaプログラムからShift_JISで出力してる

<?xml version="1.0" encoding="Shift_JIS" ?>
<data>
<no_001>
<date>2008/05/20</date>
<comment>あいうえお</comment>
</no_001>
</data>

>>798のmb_convert_encoding()の返り値の$_xmlFileを
var_dump()でみたら2バイト文字は文字化けしてないんですけど・・・
エラー的には1行目がおかしい?(文字コード関係?)
0801nobodyさん2008/05/20(火) 22:42:19ID:???
encoding="Shift_JIS"って言ってるのにUTF-8のxml送り込んだらそりゃPHPタンも困るんでは・・・
0802nobodyさん2008/05/20(火) 22:48:54ID:???
>>798
"Shift_JIS"だっけか?
"sjis"じゃね?
0803nobodyさん2008/05/20(火) 23:21:06ID:???
>>798
XMLファイルの中でエンコードが指定されてるから、ファイルの文字コードが正しければ、
mb_convert_encoding は不要。
0804nobodyさん2008/05/20(火) 23:38:22ID:???
レスあり

>>801
Shift_JISで出さないとxmlファイルの一部が文字化けしちゃうんだよね
mb_convert_encoding()がなんとかしてくれると思ったんだが

>>802
試してみたが"sjis"でも変わらなかった


>>803
実はxmlファイルをjava側で出力してる時に全角ハイフンの文字化け対策で
ファイル出力のときの文字コード指定はWindows_31Jにしてるんだけど・・・それが原因だったりするのかな(文字コードが合ってないってことで)
文字化けしてないんで大丈夫と思ってるんだけど(xmlにはWindows-31J指定できないんでShift_JISにしてる)
0805nobodyさん2008/05/20(火) 23:46:18ID:???
>>804
>xmlにはWindows-31J指定できないんで

これ本当?Windows-31J は IANA文字コードセット名だから使えて良い気がするんだけど。
PHPもサポートしてるし。
http://www.php.net/manual/ja/mbstring.encodings.php

とりあえず全角ハイフン無しのデータ作って読み込めるところまでやった方が良いんじゃね。
0806nobodyさん2008/05/20(火) 23:50:24ID:rMEOfKkX
リファレンス元をunsetしても、リファレンス先がunsetされません。
これはどのように理解すればいいでしょうか?

$a = 'hoge';
$b =& $a;
var_dump($b);

$a = 'poge';
var_dump($b);

unset($a);
var_dump($b);

0807nobodyさん2008/05/21(水) 00:01:15ID:???
>>806
ほいほい
http://jp2.php.net/manual/ja/language.references.unset.php
08087862008/05/21(水) 00:02:21ID:???
>>787
他のob_関数を使っているときなど完璧ではないようですが、
これしかないのでしょうか。ありがとうございます。
08097822008/05/21(水) 00:47:56ID:???
>>783-785
ありがとう
助かりました ほんとにありがとう<(__)>
0810nobodyさん2008/05/21(水) 01:40:53ID:???
静的なクラスのメソッド内で、自分のクラスの情報って得る子と出来ますか?
名前とか。
0811nobodyさん2008/05/21(水) 01:57:50ID:???
>>810
あんまりマトモなやり方じゃないが debug_backtrace で一応取れる。
マトモな方法があったら自分も知りたい。

http://jp.php.net/manual/ja/function.debug-backtrace.php

0812nobodyさん2008/05/21(水) 01:58:57ID:???
良く考えたら __CLASS__ で十分な気がしてきた。
0813nobodyさん2008/05/21(水) 02:29:38ID:???
getで送信したphp内のheaderでheader("Location: $url");にtarget_blankを指定するにはどうすればよいでしょう?
0814nobodyさん2008/05/21(水) 02:55:49ID:???
ちょw
0815nobodyさん2008/05/21(水) 03:08:53ID:???
>>812
おおおおお、って思ったけど、継承使うと基底クラスの名前でるんだよね。
0816nobodyさん2008/05/21(水) 09:04:09ID:???
>>815
class BOO {
static function booo() {
}
}

class FOO extends BOO {
}

FOO::booo();

で、booo関数内で "FOO" を取得したいという意味なら、キビシイ気がする。
多分無理なんじゃなかろうか。
0817nobodyさん2008/05/21(水) 12:23:44ID:???
ファイル別にしてなら面倒だけど出来なくもないんだけどね。
でもそれだと意味が無いよなぁ。

User::Create();
とかやりたいけど。Factoryでいいか。
0818nobodyさん2008/05/21(水) 13:42:40ID:8D+5rC/5
非統合型メタ検索ってありませんか?
簡単そうだからみんな作らないのかな・・・
利用するだけの俺にはサッパリだが。

作り方の載っているサイトでもいいのでどなたか教えてください。
0819nobodyさん2008/05/21(水) 14:20:55ID:???
staticなクラス名云々は5.3から新しい機能が実装されるから
それまで待つ
0820nobodyさん2008/05/21(水) 17:51:04ID:7+lnnayN
すみません、聞きます

mysqlにデータを登録するとき、<p style="color:red;">A</p>のような文字列を入れたい場合は
htmlspecialchars()をすべきなんでしょうか?
addslashes()でやったところ上手くいかなかったのですが、html〜をしたら上手くいきました
でも、本を読むとhtml〜は引き出したデータをhtmlに出力するときに使うものと
あるので、変なことをしている(どこかに手違いがある?)のかと心配になっています。
どうなんでしょうか?
環境はphp5 mysql5 apache2です
よろしくお願いします
0821nobodyさん2008/05/21(水) 17:59:21ID:???
>>820
マイエスキューエルリアルエスケープストリングを使う
0822nobodyさん2008/05/21(水) 18:00:21ID:???
本が正解

addslashedで何がダメだったのか不明だが、prepareを使うとか
mysql限定でいいならmysql_real_escape_stringとかそのあたりで好きなの使え
0823nobodyさん2008/05/21(水) 18:31:09ID:???
文字のエンコードによってはどうのこうの、だったよな。
忘れたけどとりあえず>>821-822でFA
0824nobodyさん2008/05/21(水) 22:41:35ID:2LrwwB21
質問です。

prototype.jsのAjax.Requestを用いてPHPから値を取得したいのですが、PHP側からはどのように値を返せばよいのでしょうか?

例として、js側は…

new Ajax.Request(
  'return.php',
  {
    method: 'post',
    parameters:Form.serialize(this),
    onComplete:function(request){
      alert(request.responseText); // ここの受け取り方もいまいち自身がありません…
    },
  });

とすると、return.php側ではどのように返せばよいのか…単純に return "foo"; ではダメでした。
よろしくお願いします。
0825nobodyさん2008/05/21(水) 22:45:04ID:???
>>824
echo "foo"

まあ普通はJSON形式の文字列を返すけど
0826nobodyさん2008/05/21(水) 22:48:37ID:???
あ…標準出力なんですね。ありがとうございます!
0827nobodyさん2008/05/21(水) 22:56:12ID:???
というか、ウェブアプリは標準出力しか返せないからw
レスポンスコードとかヘッダとか一部の小さいやつ除く)
0828nobodyさん2008/05/22(木) 00:11:42ID:b0IxLnKb
教えてください
メールで画像を送ったら縮小されてまたメールで帰ってくるcgiかphpとかありますか?
かなり困ってます!
0829nobodyさん2008/05/22(木) 00:42:00ID:???
あります
0830nobodyさん2008/05/22(木) 01:35:10ID:6+GQhqgH
超初心者です。

sakuraのレンタルサーバ借りてるのですが、簡単なお小遣い帳のCGIがありましたら、ご教授ください。
0831nobodyさん2008/05/22(木) 01:54:57ID:???
探してます系はスレ違いです
このスレは作る人を対象としたスレです
0832nobodyさん2008/05/22(木) 02:58:49ID:???
お小遣い帳のCGIってなんだよw
0833nobodyさん2008/05/22(木) 03:40:10ID:???
いいな。お小遣い帳CGI。
いついつにいくらお小遣いをもらったとか、次の日にママンに内緒で銀行からお金振り込んで
モリタポ買っちゃったとか、そういうのを書き留めておきたいと。で、世界中に公開したいと。

ずっと前にWeb制作板の「こんなCGI探してます」スレが埋まって、
誰も次スレを立てないまま現在に至ってるからこうなるんだろうか。
0834nobodyさん2008/05/22(木) 12:16:13ID:AwS6iPvU
dateの逆関数がほしいです

$timestamp=***("Y年m月d日",$date);
みたいな。
strtotimeは規定の形式じゃないといけないですし
なんか無いですかね?
0835nobodyさん2008/05/22(木) 13:01:01ID:???
mktime
0836nobodyさん2008/05/22(木) 13:01:28ID:mji3QyC6
>>834
fscanf()
0837nobodyさん2008/05/22(木) 14:16:54ID:???
>>836
fscanfが壊れています
0838nobodyさん2008/05/22(木) 14:51:56ID:???
number_formatを使ったときに「-0.8」などは
「-0」と返ってくる。
0の時はマイナスが要らないのだけど、どうすりゃいいの?

正規表現で-0だったらreplaceで0にするとかやるの?
どうカクのよ
0839nobodyさん2008/05/22(木) 15:02:27ID:???
>>838
number_format(round(-0.8, 0))
とか
08408382008/05/22(木) 17:35:01ID:???
>>839
ありがとう!
デキターーー
0841nobodyさん2008/05/22(木) 20:30:37ID:pnGKUbbW
Thu May 22 20:30:37 +0000 2008 みたいな日付フォーマットを変換してくれる関数とかないかな?
半角スペースでsplitかexplodeしろって話かな…
0842nobodyさん2008/05/22(木) 21:31:21ID:???
>>839はまずいだろw
0843nobodyさん2008/05/22(木) 21:41:35ID:???
>>841
strptime
ただし環境による
0844nobodyさん2008/05/22(木) 21:55:54ID:???
>>841
strtotime
08458202008/05/22(木) 23:01:35ID:???
>>821-823
すごく遅れてすみません、アドバイスありがとうございました
参考にして勉強します、ありがとう
0846nobodyさん2008/05/22(木) 23:24:56ID:???
ある関数の中でオブジェクトを生成して、それを return で返す場合、
そのまま返すのと、&を付けて参照で返すのと、違いってありますか?
例えば、以下の2つの関数で戻り値に何か違いはあるでしょうか?

function &bar1(){
$obj = new Foo();
return $obj;
}

function bar2(){
$obj = new Foo();
return $obj;
}
0847nobodyさん2008/05/22(木) 23:51:32ID:???
>>842
自分は、>>838 でも >>839 でもないけど、そのやり方のどこかマズイの?
マジわからん。
0848nobodyさん2008/05/23(金) 00:12:31ID:???
number_formatでdecimalを省略してる場合は>>839でもいいけど、そうでない場合がマズイってことじゃね?
0849nobodyさん2008/05/23(金) 00:20:03ID:???
>>848
-0.8 が -0 になるって時点で、小数部の桁数は0 なのは自明じゃないかって思ってたんだけど、
そういう理解でいいのかな。

どうもありがとう。
0850nobodyさん2008/05/23(金) 00:56:38ID:AusPFJ9q
$sql = "SELECT FROM no_url WHERE url='$url'";
$res = mysql_query$sql,($conn);

if(mysql_num_rows($res)==1){
echo "そのURLは登録できません";
}

と言うように、MySQLで禁止URLリストの中を検索して
URLが一致すればエラーメッセージを出したいです。
ただ、URLの書式が「http://hogehoge.com」「http://hogehoge.com/
と、/を付けるか否かだけでも違うURLと見なされてしまいます。

どのようにしてURLチェックをすればよろしいのでしょうか?
0851nobodyさん2008/05/23(金) 01:00:17ID:???
正規表現
0852nobodyさん2008/05/23(金) 01:01:00ID:???
いやらしい
0853nobodyさん2008/05/23(金) 01:11:26ID:???
>>849
>>849がおそらく想定しているであろう仕様の範囲内だったら、>>839でも問題ないです。
ただ、「-0だったら0にする」という目的に対しての>>839は、
後々いろんな副作用に悩まされるかもね。と言いたかったわけです。
0854nobodyさん2008/05/23(金) 01:20:04ID:h/rWmUOt
検索キーワード"+"や"<"をinputに入れても、ちゃんと引数が渡されない。
どうしたらよいんでしょうか? 他には大文字記号が文字化けする。
エンコードはSJIS→SJIS
0855nobodyさん2008/05/23(金) 01:38:00ID:???
>>853
どうもありがと。
良く見たら質問がおかしいな。 -0.8 だったら -1になるし。-0.08の間違いかね。

>>854
何がどう渡らないのか、サンプルコード載せたら?
0856nobodyさん2008/05/23(金) 01:47:42ID:kzFC2aJn
<?php
$strPsList = passthru('/bin/ps ax');
?>

linuxのpsコマンドの結果を変数に代入する処理です。

変数へきちんと結果が格納されるのですが、
コマンドラインで上記のファイルを実行すると
ターミナル上にもpsコマンドの結果が表示されて困ってます。。
どうすれば解決するでしょう??

0857nobodyさん2008/05/23(金) 01:47:51ID:1yGfTtCF
Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist, or is not a directory. in C:***
って何のエラーを言っているんですか?
0858nobodyさん2008/05/23(金) 01:55:41ID:nxQoYtgS
すみません、クダ質ですが
echo "<input type=\"hidden\" value=\"htmlspecialchars($_POST['var'])\" />";
っていう表現、できないんでしょうか?
0859nobodyさん2008/05/23(金) 01:56:32ID:???
>>856
popenじゃダメなの?
0860nobodyさん2008/05/23(金) 02:39:08ID:???
>>857
訳した通り
>>858
エスケープかシングルクオーテーション
0861nobodyさん2008/05/23(金) 02:54:11ID:h/rWmUOt
>>857
コンパイルファイルが見つからない。
つまり構文エラー
0862nobodyさん2008/05/23(金) 02:57:03ID:h/rWmUOt
>>857
コンパイルされてない
0863nobodyさん2008/05/23(金) 03:06:14ID:???
大丈夫か
0864nobodyさん2008/05/23(金) 03:11:13ID:???
>>857
'templates_c' does not exist
0865nobodyさん2008/05/23(金) 08:43:10ID:???
>>858
echo "<input type=\"hidden\" value=\"".htmlspecialchars($_POST['var'])."\" />";
0866nobodyさん2008/05/23(金) 13:40:51ID:z2YBLdy6
PEARのPagerについてです。
Googleの検索結果のようにxx件中 yy-zz件表示というのをやりたいのですが、
xx件中はPager::numItems()で解決したのですが、現在の表示位置(yy-zz)を返してくれる関数がありませんでした。

何かうまい具合に解決する方法を教えて下さい。
0867nobodyさん2008/05/23(金) 14:14:41ID:Yvld99GN
perPageとgetCurrentPageIDから作れば
0868nobodyさん2008/05/23(金) 14:20:25ID:???
Pager::getLinks()にお任せでも良いような気がするけど
0869nobodyさん2008/05/23(金) 14:21:08ID:???
何かぴったりの関数があったんですが非推奨なので迷ってます。
0870nobodyさん2008/05/23(金) 15:36:18ID:zGb3lfL6
至急

web経由でfaxを送信したいのですが、
どのようにすればいいですか?
fax機とwebサーバー機は接続されています。
webサーバー機から通常のfax印刷で送信することは可能です。

大変申し訳ないのですが、急いでいますので詳しく教えて下さい。
0871nobodyさん2008/05/23(金) 15:44:57ID:???
faxとサーバはどう接続されているんだ。
急いでるんだ、早く答えろ。
0872nobodyさん2008/05/23(金) 15:45:05ID:???
急いでるのならFAXサーバを買うとかASPサービスを使うとかあるだろ
0873nobodyさん2008/05/23(金) 16:13:21ID:zGb3lfL6
ご回答ありがとうございます。
faxとサーバーはLANで接続されていて、
例えばサーバーから印刷する際に、プリンターをfax機(複合機)を選べば、
電話番号の画面が出て、入力するとfaxが普通に送れます。

それを、このwebサーバーにつながっているブラウザクラインとから、
ボタンを押すと、特定のデータをfaxとして送信できる、とまぁこういう訳です。
宣しくお願いします。結構急いでいます。
0874nobodyさん2008/05/23(金) 16:19:57ID:???
そんなに急いでるんだったら、2chで相談せず業者に金払って
教えてもらえばいいと思うんですよね。
0875nobodyさん2008/05/23(金) 16:21:52ID:zGb3lfL6
ちょーーー、このレスの存在意義を全否定するレスww
0876nobodyさん2008/05/23(金) 16:23:55ID:???
どこも全否定しとらんだろ
時間は金で買うもんだよ、坊や
08778742008/05/23(金) 16:31:42ID:???
「大至急!カンマで区切られた文字列をひと区切りずつ配列に代入するような関数を探しています。
 とにかく急いでるんですが困っています。急ぎですので早急に回答お願いします」

という質問だけのスレなら、確かに存在意義を全否定したことになるんでしょうけど。
0878nobodyさん2008/05/23(金) 16:45:06ID:???
>>870
回答が欲しいのは分かりますが、
「至急」
と要求するのはマナー違反ですよ
0879nobodyさん2008/05/23(金) 16:49:54ID:???
つか 至急どうにかなる問題じゃないよね
>870がどう考えてるか知らんが、結構大変
>872が正解だよ
0880nobodyさん2008/05/23(金) 17:01:25ID:zGb3lfL6
至急と書いたのはすみませんでした。

ただやりたいことは、
サーバー側でブラウザからのリクエストデータに特定のキー(fax送信要求コマンド)と値(fax番号)が入っていたら、
サーバーに繋がっているネットワーク対応のfax複合機にfaxをしろと
命令をphpからだす方法が分かればいいだけですので、なんとかなりませんでしょうか?
0881nobodyさん2008/05/23(金) 17:12:19ID:zGb3lfL6
ちなみに、どうしてこんな仕様になっているかというと、
本日行われたクライアントの本社の沢村という店舗運営統括部長が、
どうせなら本社のパソコンからボタン一発で各店舗にfaxを流せないか、
という一声でこうなりました。
「全部、電線で繋がっているんだから、後は電気信号をうまく出せばいいだけの問題だろ?」と言われて、
「確かにそうですね。来週のリリースに乗っけておきます」と返事をしてしまったのですが、
帰ってやり方がわからず困っています。
0882nobodyさん2008/05/23(金) 17:18:51ID:???
しゅくだいはじぶんでとこうね
0883nobodyさん2008/05/23(金) 17:26:10ID:???
わからない事は持ち帰って検討させていただきます、が基本だろう
ちなみにできないと思っても最初の返答は一緒だが
0884nobodyさん2008/05/23(金) 17:44:42ID:???
>>881
必死なのは伝わるけど名前出してリアルを再現しても答えてもらえるというわけじゃないよ。
>webサーバー機から通常のfax印刷で送信することは可能です。
これがカギでしょ。どういうコマンドを裏で叩いてるかわからないことにはどうしようもない。

>>883
持ち帰りは情報流出になりかねないからどんな些細なことでも禁止されてるんじゃない?
0885nobodyさん2008/05/23(金) 17:53:47ID:???
>>884
あ、クライアント常駐の派遣やSESだとそうだね
その場合は単純に検討してみますでいいんだけど

帰ってやり方が云々って書いてあるから、社外打ち合わせの場の話かと思って
0886nobodyさん2008/05/23(金) 17:54:01ID:???
せっぱつまってるのを装ってるのにマジレスすんなよw
0887nobodyさん2008/05/23(金) 17:59:06ID:???
テキストファイルにでも落として、メモ帳に印刷オプションつけて叩けばいいやん。
まぁ、上司にでも話して、無かったことにしてもらうのが一番だと思うけど。
0888nobodyさん2008/05/23(金) 18:08:31ID:???
>>870
Windowsサーバ使ってCOM経由でPHPから通常印刷やFAX送信したことはある。
土日にちょちょいと組めばいいと思うよ。

WebサーバがWin以外だと
>webサーバー機から通常のfax印刷で送信することは可能です。
ここをどうやってるのかによるね。
あとfax機がメール受信をFAX受信としたり、FAX送信のゲートウェイ機能
を持つものもあるから、場合のよっては利用できるかも。
0889nobodyさん2008/05/23(金) 18:12:57ID:pC5B1H2j
PHPでちょっと多めの画像を縮小して表示してるページがあるのですが
負荷軽減のために、元画像が更新されていなければブラウザにキャッシュさせたいと思ってます。

で画像の更新日時を取得して、日付フォーマットを整形した後
header('Last-Modified: '.$this->_origin_date, true);
header('Content-type: image/jpeg');
header('Content-Disposition: inline; filename="'.$this->_origin_name.'"');
で画像を出力しています。

リクエストヘッダーには
If-Modified-Since: Mon, 21 Apr 2008 14:47:20 GMT
レスポンスヘッダーには
Last-Modified: Mon, 21 Apr 2008 14:47:20 GMT
となっていて、IEのキャッシュを見てもちゃんとファイルがあって
最終更新日は送った日になっています。

でも、二度目のリクエストでレスポンスコードが304ではなく200になっています。
ということはキャッシュを読まずに、サーバーから読んでるってことですよね?

画像のURLが
thumb.php?path=/path/to/origin/image.jpg&w=105
と動的というか、?でクエリーが付いてるからでしょいうか?

また、なんか他にヘッダーが必要いなのでしょうか?

キャッシュする方法があったら教えてください。
お願いします。
0890nobodyさん2008/05/23(金) 18:25:47ID:???
COMとか久々に聞いたな。
.NET最高だぜ。
0891nobodyさん2008/05/23(金) 18:33:20ID:???
>>889
Cache-Control に no-cache とか入ってんじゃない。PHPだとデフォルトで付くっぽいし。
ブラウザ側でヘッダ確認したら。
08928892008/05/23(金) 19:29:11ID:pC5B1H2j
>>891
ありがとうございます

header("Pragma: public");
header("Cache-Control: public, max-age=604800");
こんなヘッダーを送ってみたり
いろいろ試してみましたが200のままです。

ヘッダーはこんな感じです

HTTP/1.1 200 OK
Date: Fri, 23 May 2008 10:20:35 GMT
Server: Apache
X-Powered-By: PHP/5.1.6
Pragma: public
Cache-Control: public, max-age=604800
Last-Modified: Thu, 03 Apr 2008 14:08:35 GMT
Content-Length: 2829
Content-Type: image/jpeg

レスポンスコード304がキャッシュから読んでて、200だとキャッシュから読んでないって認識はあってますよね?
0893nobodyさん2008/05/23(金) 19:56:41ID:???
>>892
レスポンスに Expiresとかは出てないの?
それを対応してもダメなら自分には分からん。
0894nobodyさん2008/05/23(金) 21:13:10ID:7Wk9ZZ+b
formタグのactionが action="/hoge.php" ではなく action="/hoge" になってるのってどうやって拡張子隠蔽してるのでしょうか?
ちなみにそこに直接飛ぼうとした場合
http://www.example.com/hogehttp://www.example.com/hoge/ もどちらも403
0895nobodyさん2008/05/23(金) 21:14:36ID:???
index.phpでポストアクセス以外遮断かmod_rewriteじゃね?
0896nobodyさん2008/05/23(金) 22:53:10ID:nxQoYtgS
質問なんですが、フォームでプルダウン(valueは数値)を入力するような場合も
確認画面でhtmlspecialchars()や、登録画面でaddslashes()をかけたりしますか?
しょうもない質問ですみません、ちょっとアンケートというか、教えてください
0897nobodyさん2008/05/23(金) 22:58:38ID:???
プルダウンだろうが何だろうがCGIデータは信用できないので
バリデーションをやって数値である事を確認する
その後はエスケープはしないな
08988962008/05/23(金) 23:17:18ID:nxQoYtgS
すみません、バリデーションというのは入力値チェックのことでしょうか?
(こんな言葉も知らないですみません、一応調べたんですが。。)
確認画面で数値(期待した型)でなかったら登録させない処理と考えてOKですか?
0899nobodyさん2008/05/23(金) 23:37:24ID:???
1つのWebサーバに複数のPHPアプリをインストールしてある場合、
もしそれらが同じ名前のセッション変数を使っていたら、
他のアプリからもその変数が見えてしまうのでしょうか?
0900nobodyさん2008/05/23(金) 23:38:04ID:???
>>898
OK
09018962008/05/23(金) 23:43:43ID:nxQoYtgS
>>897>>900
ありがとうございました
0902nobodyさん2008/05/24(土) 00:07:18ID:???
>>899
設定にもよるけど、デフォルトだと見えたと思う。

セキュリティ上の問題じゃなくて、混在しなければ良いだけなら、
http://www.php.net/manual/ja/function.session-set-cookie-params.php
で使用するCookieにパスを指定する。
0903nobodyさん2008/05/24(土) 09:43:14ID:???
phpかperlでchatシステム作ろうと思うんだけど
どっちのほうが使い勝手いいかな?
0904nobodyさん2008/05/24(土) 09:58:51ID:???
ご自分が慣れ親しんだ言語でどうぞ
0905nobodyさん2008/05/24(土) 13:10:26ID:???
クラスの配列の作り方って
$test = array( new Human, new Human);
ちゃんと動いたんだがこの方法であっている?
もっと適切な方法があったりする?
0906nobodyさん2008/05/24(土) 13:36:08ID:???
それはインスタンスの配列だ
0907nobodyさん2008/05/24(土) 13:58:51ID:???
うまく言ったとか書いたけどうまく行くはずないね
0908nobodyさん2008/05/24(土) 14:08:17ID:???
なんでうまくいかないの?
0909mx2008/05/24(土) 18:06:52ID:???
PHPで、プロキシ経由の場合だけ表示される関数について、教えてほしいのですが、
すべての串に共通してあらわれる関数はありますか?
あれば教えてください。
アクセスを拒否したいです。
0910nobodyさん2008/05/24(土) 18:09:45ID:???
ないっす
0911nobodyさん2008/05/24(土) 19:01:13ID:???
>>909
串制限やアクセスコントロールは PHP 側でせずに、
可能でしたら Apache, .httaccess 側でまとめて面倒見た方がよいと思います
0912nobodyさん2008/05/24(土) 19:07:13ID:???
>>911
ちょっと詳しくお願いしまっすっす
0913nobodyさん2008/05/24(土) 19:30:52ID:???
>>912
例えば、携帯電話からのアクセスを PHP で振り分ける、
といった情報が検索するとすぐに見つかると思いますが、
PHP でなく .htaccess (Apache) を使っても同じ振り分けが出来ます

1. PHP で振り分ける方法
2. .htaccess で振り分ける方法

アクセス禁止を例えに、かなりおおざっぱに説明してみますと、
1. の場合は、Apache で HTTP Request を PHP (アプリケーション層)に渡し、
手渡された PHP 側で処理して返すというフローになります
2. ですと、HTTP Request は PHP に渡さず Apache で処理してしまって
返すフローになるため、1. に比べて PHP 処理分だけ処理が軽く済むわけです

「.htaccess」 「プロキシ」 「アクセス制限」 といったキーワードで検索すれば
該当する情報が見つかると思いますので参考までっにっに
09149132008/05/24(土) 19:36:18ID:???
追記・補足

.htaccess を使ったアクセスコントロールの使用ですが、
PHP を置こうとしている場所によっては使えないかもしれません

契約しているレンタルサーバ、ISP のウェブサイトスペース、
ウェブサイトスペースのレンタル等、サービスの提供形態や内容で、
--------------------
A. PHP を置くサーバが Apache を使っていること
B. .htaccess の使用が許可されていること
--------------------
最低でも上記 2点はクリアしている必要があると思います
0915nobodyさん2008/05/24(土) 19:48:05ID:???
ありがとうございます。
感謝します。
0916nobodyさん2008/05/24(土) 22:52:29ID:???
<input type="text" name="gazou">
<input type="text" name="title">
<input type="text" name="toukousya">
<input type="text" name="comment">



以下いろいろ。

と言うフォームがあります。

これをphp側で受け取って、「画像ファイルでなければSJISにエンコードする」などの処理をする場合はどうしたら良いのでしょうか。
元々は

&ReadParse;
while (($key,$val) = each %in) {
if ($key ne "gazou") {&jcode'convert(*val, "sjis", "", "z");}

と言うCGIでした

&ReadParseと言うものを使った時点で、inの中に
gazou => 画像ファイル名 title=>タイトル名 …などが入っていて、それを$keyと$valに割り当てて処理していると言う事は判ったのですが。

extract($_POST)のように取得してしまうと、いきなり$gazou=画像ファイル名、$title=タイトル名、となってしまい、「この場合がこうだったら」と言うような処理ができない上に、どのタイミングでエンコードしたら良いのかがわかりません;
mb_convert_encoding(extract($_POST,EXTR_SKIP),"SJIS");
だと何かおかしいですし。&ReadParseだとGETとPOSTの両方のデータが入っているとの事ですが、extractだとどちらかしか(?)取得できないようなので。
わかりづらい説明ですみませんが、ご教授いただけると助かります。
0917nobodyさん2008/05/24(土) 23:04:53ID:???
$_POST["gazou"]
$_POST["title"]
$_POST["toukousya"]
と個別に取得すればよかろう

というか、それってファイル名だけ貰えばいいのか?

あと>>1
0918nobodyさん2008/05/24(土) 23:28:15ID:muO/VwYB
phpだと一つずつ全部取得しないと駄目なんですね。
phpのマニュアルも見てみたのですが、perlとどう比べて良いかが判らなかったもので…。
エンコードも一つずつやらなきゃ駄目って事になるのでしょうか。

gazouならこういう処理
titleならこういう処理…と分けたかったのです。

phpのバージョンは5です。OSはWindowsです。
0919nobodyさん2008/05/24(土) 23:47:14ID:???
PerlもPHPもよく分かってないのに、移植しようなんて無理があるだろw
0920nobodyさん2008/05/25(日) 00:02:04ID:???
>>918
はい?PHPでも
while (($key,$val) = each %in) {
すればいいんじゃないの?
何が問題なのかよく分からん。
0921nobodyさん2008/05/25(日) 00:20:02ID:???
>>918
foreach( $_POST as $key => $val )で取れるが
> gazouならこういう処理
> titleならこういう処理…と分けたかったのです。
関数に処理を書いて、1つずつ取って渡すほうがいいんじゃねえの?

まあこんなのは書き方がいくらでもあるんで
0922nobodyさん2008/05/25(日) 00:43:48ID:bR/AjWRw
フォームのデータ取得の流れで質問です

checkboxを受けとる場合に name="foo[]" とHTMLに記述し
$foo = $_POST["foo"] で配列を取得できますが、チェックが一切されていない状態では
isset( $foo ) がtrueとなります
$_POSTにfooが入っていないので当然なのですが、$_POSTにfooをnullで入れてくれるような
設定やオプションはあるのでしょうか?
0923nobodyさん2008/05/25(日) 00:53:48ID:???
$foo = $_POST["foo"] if($_POST["foo"]);
とかじゃいかんの?

いくらでも方法あると思うけど。
0924nobodyさん2008/05/25(日) 00:57:39ID:rVIlw47X
>>919
ですね、もうちょっと理解してから質問するようにします。

>>920
phpで、どうやったらinに全部入るかわからなかったもので・・・

>>921
ありがとうございます。それでやってみます。

答えて下さった方、ありがとうございました。
0925nobodyさん2008/05/25(日) 01:25:55ID:gx/qo6M9
「0」がNULLと同じ扱いになるのなんとかならないですか?
array_search(に限らないかもしれないけど)で、配列の一番目にヒットした場合に返される「0」がNULLと同じ扱いになるので実質機能しないんですが。
0926nobodyさん2008/05/25(日) 01:29:23ID:???
===
0927nobodyさん2008/05/25(日) 01:34:49ID:???
>>922
× isset
○ empty
0928nobodyさん2008/05/25(日) 01:35:54ID:???
  /⌒|  -=・=‐,   =・=-  |
0929nobodyさん2008/05/25(日) 02:31:58ID:fA12GUeB
Windows上でNet_DNSを使おうとしたのですが、Net_DNS_ResolverのqueryのresponseがFALSEで返ってきます。
Windows上ではNet_DNSは利用できないのでしょうか?
情報がないため困っています。

// testing Net_dns
<?php
require_once('Net/DNS.php');
$resolver = new Net_DNS_Resolver();
$resolver->debug = TRUE;
$response = $resolver->query('example.com');
print_r($response);
if ($response) {
  foreach ($response->answer as $rr) {
    $rr->display();
  }
}
?>
出力されたメッセージ
;; query(example.com, A, IN) ;; using extended PHP sockets

PEAR :: Package :: Net_DNS
http://pear.php.net/package/Net_DNS

環境:Windows XP SP2
XAMPP 1.6.6a
PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51)
Zend Engine v2.2.0
Apache/2.2.8
09309292008/05/25(日) 02:39:03ID:fA12GUeB
ipconfig /allで調べたネームサーバーを指定したらDNSを引けました。

$resolver->nameservers[0] = '192.168.11.1';

しかし、これは明らかな環境依存です。
一般的な書き方をするにはどうしたらよいものでしょうか?
自分のマシンのDNS設定を取得できたらよいのですが・・・
09319292008/05/25(日) 03:34:39ID:fA12GUeB
アドホックですが、ipconfig使っていけました。
もっとスマートな方法があればなあ・・・

function die_message($s)
{
    print "$s\n";
    exit;
}
define('IS_WINDOWS', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'));

function getDNSServer()
{
    @exec('ipconfig /all', $ipconfig);
    print_a($ipconfig, 'label:nameserver');
    foreach ($ipconfig as $line) {
        if (preg_match('/\s*DNS Servers.+:\s+([\d\.]+)$/', $line, $nameservers)) {
            $nameserver = $nameservers[1];
        }
    }
    if (empty($nameserver)) {
        die_message('Can not lookup your DNS server');
    }
    print_a($nameserver, 'label:nameserver');
    return $nameserver;
}
09329292008/05/25(日) 03:35:00ID:fA12GUeB
つづき

// testing Net_dns
require_once('Net/DNS.php');
$resolver = new Net_DNS_Resolver();
$resolver->debug = TRUE;
if (IS_WINDOWS) $resolver->nameservers[0] = getDNSServer();
$response = $resolver->query('example.com');
print_a($response, 'label:DNS response');
if ($response) {
    foreach ($response->answer as $rr) {
        $rr->display();
    }
}
0933nobodyさん2008/05/25(日) 03:36:18ID:???
ここはあなたの日記帳ではないのですが
09349292008/05/25(日) 03:37:13ID:fA12GUeB
ああああ print_aそのままかいっちゃた

print_aはこちらのサイトで紹介されてるものです。
print_rに置き換えて読んでください

print_rをより分かりやすくするprint_a:phpspot開発日誌
http://phpspot.org/blog/archives/2006/04/print_rprint_a.html
09359292008/05/25(日) 03:37:57ID:fA12GUeB
>>933
すいません。
どうしてもわからず質問してしまいました。

おさわがせしました。
夜分遅くご協力いただきありがとうございました。
0936nobodyさん2008/05/25(日) 04:14:16ID:???
>>929は、bind(Win用DNS鯖)使えば?
このスレで書くことじゃないけどさ。
0937nobodyさん2008/05/25(日) 12:13:40ID:???
どうでも良い事なんだけど
なんでdie('めっせーじ);
って書かないの?
0938nobodyさん2008/05/25(日) 14:23:51ID:BQPLi7Wv
if(!$var) と if($var=="") と if(empty($var)) ってどう違うんでしょうか?
使い分けの注意点など、どなたか簡単に教えてください お願いします
0939nobodyさん2008/05/25(日) 14:31:21ID:???
>>938
そのものずばりなページがあるじゃないかマニュアルに
09408312008/05/25(日) 15:07:35ID:YGpuFVGv
>>926
レスに気づかなかった。
ありがとうございます!!
0941nobodyさん2008/05/25(日) 22:47:40ID:???
Pdoの名前パラメータって昔Where絡むと駄目でしたっけ?
Postとかから直にぶっこめるから楽だったんだけど、その辺で躓いて疑問符に鞍替え・・・・
という自分の記憶は勘違いだったんでしょうか。
0942nobodyさん2008/05/25(日) 22:50:30ID:???
日本語でおk
0943nobodyさん2008/05/26(月) 00:30:09ID:???
くだらない質問かもしれませんが、色々やってみてわからなかったので、質問させてください。

情報を新しいウィンドウに渡すのは、できるようになったのですが。(JavaScript併用にて)
そのウィンドウから値を戻す方法がわかりません。

<script>
function openWindow(form){
form.target = window.open("about:blank", "win" + new Date().getTime() ).name;
form.submit(); }
</script>
---------略------------
<form method="POST" action="値の送り先.php" ENCTYPE="MULTIPART/FORM-DATA">
<input type="text" name="sendtext">
<input type="button" value="送る" onClick="openWindow(this.form)">
</form>
---------略------------
上記のようなソースで新しいウィンドウを開く&情報渡しをしているのですが。
たとえばこの開かせる側のページに <input type="text" name="modori" value=""> という部分があったとして。
新しく開いた 値の送り先.php から、その部分に値を入れるにはどう書けば良いのでしょうか。
値の送り先.phpのフォームタグのAction部分に、既に開いているウィンドウを指定したいと思ったのですが
どうにもやり方がわからないもので・・・。
JavaScriptで、ウィンドウ名をきちんと指定してやるのでしょうか。
0944nobodyさん2008/05/26(月) 00:44:02ID:???
>>943
http://developer.mozilla.org/ja/docs/DOM:window.opener

あとはWeb制作のJavascriptスレで。
0945nobodyさん2008/05/26(月) 00:53:05ID:???
>>944
サンクス。
ちょっとJavascriptスレ行ってくる。
0946nobodyさん2008/05/26(月) 04:51:04ID:???
phpDocの可変長引数の表記ってありますか?
0947(><)2008/05/26(月) 07:36:02ID:???
PHP 正規表現

こんにちは。いつもお世話になってます。
今回質問した件は、正規表現で次のように表したいのですが、どうしたらよいのでしょうか?

#DO#コメント#/DO#
ドコモ専用コメント


#AU#コメント#/DO#
AU専用コメント

などです。
【コメント】と書かれた部分は指定した機種しかあらわれないようにしたいのです。

実際にしようで使ってみると

@あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。
このように記述したらAUからアクセスしたら
@あなたの携帯はAUです
ドコモからアクセスしたら
@あなたの携帯はドコモです。



このようなものを作りたいです。わかる方よろしくお願いいたします。
0948nobodyさん2008/05/26(月) 07:52:19ID:???
if文
0949nobodyさん2008/05/26(月) 07:53:34ID:???
ない
0950nobodyさん2008/05/26(月) 08:17:57ID:???
めんどくせぇからコピペ。
まずは正規表現とは何かググれw


require_once('Net/UserAgent/Mobile.php');

// インスタンス生成(ユーザーエージェント解析)
// 解析するユーザーエージェントを指定することも出来る
$agent = Net_UserAgent_Mobile::singleton();

switch( true )
{
case ($agent->isDoCoMo()): // DoCoMoかどうか
echo "DoCoMoだよ。";
if( $agent->isFOMA() )
echo "Fomaだよー";
break;
case ($agent->isVodafone()): // softbankかどうか
echo "softbankだよ。";
if( $agent->isType3GC() )
echo "3GCだよー";
break;
case ($agent->isEZweb()): // ezwebかどうか
echo "ezwebだよ。";
if( $agent->isWIN() )
echo "winだよー";
break;
default:
echo "たぶんパソコン。";
break;
}
0951nobodyさん2008/05/26(月) 08:43:50ID:???
>>950
それあんまり使い物にならない
0952nobodyさん2008/05/26(月) 09:41:28ID:???
>>951
使い物になるかどうかは、お前しだい。
0953nobodyさん2008/05/26(月) 10:01:07ID:???
振り分けごときでいちいちインスタンスを作るのが気に入らない
0954nobodyさん2008/05/26(月) 11:04:01ID:???
>>947
$template = 'あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。';
function filter($m) { return $m[1] == 'DO' ? $m[2] : ''; }
echo preg_replace_callback('@#([A-Z]+)#(.*?)#/\\1#@', 'filter', $template);

後は filter() 内を好きなように変えな
0955訂正2008/05/26(月) 13:49:38ID:v5Q4661m
$text_keyword=trim($text_keyword," ");
これ↑を実行しても全角スペースがトリムされないので
これ↓を実行することにしたけど、全角スペースが"@"マークと勘違いされて表示されてしまう。
"@"マークを表示しようとしても全角スペースと間違えられて表示されたりします。
$item_keyword=ereg_replace('/^[  ]*(.*?)[  ]*$/s', '$1', $item_keyword);

いったいどうしたら、全角スペースをトリムすることができるでしょうか?
0956nobodyさん2008/05/26(月) 13:55:46ID:???
mb_関数
09579552008/05/26(月) 14:04:14ID:v5Q4661m
http://d.hatena.ne.jp/cos31/20071129/1196321583

このサイトでわかりました。
trim( mb_convert_kana( $hoge, "s"));
mb_ereg_replace( "^( | |\t|\n|\r|\0|\x0B)*|( | |\t|\n|\r|\0|\x0B)*$", "", $hoge);

この上記の2つの方法でできるようです。
前者の方が早いみたいです。
0958nobodyさん2008/05/26(月) 14:11:10ID:???
いやマニュアル見ろよ
0959nobodyさん2008/05/26(月) 14:35:57ID:???
半角スペースも消えると思うんだけど、いいの?
文字コードの問題なんだから、普通に正規表現のuオプション使えばいいような気がするけど。
0960質問2008/05/26(月) 16:52:11ID:???
なんか4つ割りの表に数字が入ってて

それの統計値を求めるプログラミング教えて下さい。

Math.Absを使うみたい。
Bisual Vasic Stadio2003だった

intA=????
intB=????
これがC、D、N1、N2、M1、M2とあって

textbox9.text=????
0961nobodyさん2008/05/26(月) 17:03:00ID:???
意味不明
ASP.NETスレにでも行きやがれ
0962nobodyさん2008/05/26(月) 18:59:16ID:???
http://pc11.2ch.net/test/read.cgi/php/1193295871/
の方に書き込んだのですが回答してもらえそうにないので
こっちにも書き込ませていただきます

http://wwwwwwww.ws/
ココみたいなRSSアンテナのサイトを作りたいのですが
どういう所を勉強すればいいですか
ほかにも 
・取得した記事の記事内や記事タイトル、カテゴリで振り分けをしたり
・記事内に画像リンクがあったらそれを小さくして自動で表示する
ようにしたいのですが
0963nobodyさん2008/05/26(月) 19:10:40ID:???
>>962
RSSはXMLで提供されているので、
XMLを自分で構文解析するか、SimpleXML関数のようなものを使って解析して情報を抜き出す。
タイトル・カテゴリもRSS側でどのタグに対応するか調べて抜き出せばいい。
画像のリンクは記事中の<img src="*">を正規表現なりで探せばいい。
あとは解析して抜き出した結果を一時的に配列にいれて、整形して表示する。
もしくはDBに入れてDBから取り出して表示する。

おおまかな流れをまとめると
・RSSの登録
・登録したRSSから誰かがアクセス毎あるいは一定時間でジョブを実行して情報をとってくる。
・とってきた情報を自分で加工して表示する。
0964nobodyさん2008/05/26(月) 20:25:48ID:???
flock($fp,LOCK_UN)

でロックの解除に失敗(返り値がFALSE)してしまったら、

fclose($fp)

でファイルを閉じる必要ってあるんでしょうか???
0965nobodyさん2008/05/26(月) 21:04:38ID:???
考え方、逆じゃね?
まぁ、この辺読んでみ。
ttp://testwiki.仮.jp/?PHP%2F%A5%D5%A5%A1%A5%A4%A5%EB%A5%ED%A5%C3%A5%AF%2F%A5%CE%A1%BC%A5%C8
0966nobodyさん2008/05/26(月) 21:57:33ID:eOG28j+b
クッキーが有効か否かを調べるには、

setcookie("test","on",time()+3600);
if($_COOKIE["test"]=="on"){
echo "クッキーは有効です";
}

と言う方法を使っているのですが、別の方法(もっと簡単)なのはありますか?
0967nobodyさん2008/05/26(月) 22:08:21ID:???
>>966
それで問題ないよ。クッキーを発行してみてチェックする方法が正攻法。
09689662008/05/26(月) 22:46:31ID:???
>>967
そうでしたか。では、このまま使います。
ありがとうございました。
0969nobodyさん2008/05/27(火) 09:58:10ID:fU1I8wAO
fopenの"w"と"w+"ってどう違うの?
両方読込時にファイル初期化してるよね?
0970nobodyさん2008/05/27(火) 10:01:08ID:???
>>969
検索したらこんなの見つかったけど?
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k03.htm
0971nobodyさん2008/05/27(火) 10:12:50ID:???
>>969
ttp://jp2.php.net/manual/ja/function.fopen.php
0972nobodyさん2008/05/27(火) 10:14:42ID:???
なんでマニュアルすら読まないの?ねぇなんで?
http://jp2.php.net/fopen
0973nobodyさん2008/05/27(火) 10:22:11ID:fU1I8wAO
>>970-972
ありがとうございます。そのあたりは読んだのですが、
"w+"もオープンしたタイミングでファイルサイズがゼロになりますよね?
「"w+"は読み込み/書き出し用 」とありますがこの「読み込み」は
何を意味するのかがわからなくて。
0974nobodyさん2008/05/27(火) 11:09:32ID:sLUbAiXg
finfo_mimeを使ってwmvのmimeを取得しようとすると、
「application/octet-stream」になっちゃう…。
httpd.confにも/etc/mime.typesにもちゃんと
AddType AddType video/x-ms-wmv .wmv
って入れたのに…magicデータベースにmimeを追加する方法ってあるの?
教えてエロい人!

/**ソース***
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/file/magic");
echo 'WMV : '.finfo_file($finfo, "wmv.wmv");
finfo_close($finfo);
***ソース**/
0975nobodyさん2008/05/27(火) 11:11:36ID:o4ksNqHY
PCで携帯専用サイトにアクセスしたい場合
携帯で送信するヘッダーとまったく同じものを送信したのですがアクセスできませんでした
その場合はやはりIPで判別しているのでしょうか。

とはいってもエスパー問題だよな
0976nobodyさん2008/05/27(火) 11:13:34ID:???
>>973

$fp = fopen('hoge.txt','w');
fwrite($fp,'a');
rewind($fp);
var_dump(fread($fp,1)); // string(0) ""

$fp = fopen('hoge.txt','w+');
fwrite($fp,'a');
rewind($fp);
var_dump(fread($fp,1)); // string(1) "a"
09779692008/05/27(火) 11:21:17ID:fU1I8wAO
>>976
ありがとうございます。
理解できました。
0978nobodyさん2008/05/27(火) 11:57:40ID:???
$flg = TRUE;

echo "フラグは".(($flg === TRUE)? "成立" : "不成立")."です。";

こんな使い方できたのか
0979nobodyさん2008/05/27(火) 12:11:42ID:???
常識
0980nobodyさん2008/05/27(火) 12:12:23ID:???
PHP5.3から
$flg="成立";
echo $flg?: "不成立";

みたいなのも可能らしい。
この場合三項演算子じゃないし、何て呼ぶんだろ。
0981nobodyさん2008/05/27(火) 13:02:24ID:???
$name = $_GET['name'] || "defaultName";

みたいな書き方はいつになったら出来るようになるんだ。
0982nobodyさん2008/05/27(火) 13:21:34ID:???
>>981
それが >>980 だと思ってたが違うの?
0983nobodyさん2008/05/27(火) 17:23:26ID:???
先週末、FAXの質問をしたものですが、
全然まともな回答がなくて、がっかりました。
全く役に立たずのスレです。もう来ない。
0984nobodyさん2008/05/27(火) 17:32:01ID:???
あ、そうだ。その件どうなった?
面倒そうだし、もうASPでいいんじゃない?
0985nobodyさん2008/05/27(火) 17:43:57ID:???
結局、WEB鯖からFAX送信させるために叩いてるコマンドの内容分かったの?
それ分からなかったら、誰も答えられるわけないし、
それさえ分かれば、PHPから実行させればいいだけ。
(串使ったり小細工する必要はあるかも知れないけど)

現段階で、PHPと全く関係ないがな。
0986nobodyさん2008/05/27(火) 18:01:19ID:???
ドライバ逆アセしてろカス
0987nobodyさん2008/05/27(火) 18:09:35ID:???
以前
>>947
の質問をさせていただきました。
独自タグで
#DO#コメント#/DO#
とすれば、コメントと言う文字がドコモだけ表示させ、
#AU#コメント#/AU#
としたら、AUだけが表示させられる独自タグを正規表現で表すならばどうすればよいでしょうか?

という質問にこのようなレスをもらいました。
 
954:nobodyさん :2008/05/26(月) 11:04:01 ID:??? [sage]
>>947
$template = 'あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。';
function filter($m) { return $m[1] == 'DO' ? $m[2] : ''; }
echo preg_replace_callback('@#([A-Z]+)#(.*?)#/\\1#@', 'filter', $template);

後は filter() 内を好きなように変えな


=========
実際にこれをホストがドコモであれば表示させるようにしたいのですが、どうしたらよいのでしょうか?
よろしくお願いします。


0988nobodyさん2008/05/27(火) 18:10:17ID:???
次すっどれ
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0989nobodyさん2008/05/27(火) 19:18:24ID:???
>>987
丸投げダメぜたい
0990nobodyさん2008/05/27(火) 20:12:36ID:???
少しも考えようとしない姿勢はある意味才能。
絶対一緒に仕事したくないな。
レス数が950を超えています。1000を超えると書き込みができなくなります。