【PHP】下らねぇ質問はここに書き込みやがれ 68
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2008/05/03(土) 22:52:16ID:???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:???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:???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:???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:???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/
0010nobodyさん
2008/05/03(土) 23:50:09ID:???0011nobodyさん
2008/05/04(日) 04:30:13ID:???0012nobodyさん
2008/05/04(日) 05:13:17ID:xtM5WK5Jhttp://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:???0014nobodyさん
2008/05/04(日) 05:49:23ID:xtM5WK5Jそうですね 出ます
読み込めてないってことですよね
ですからなぜ上の場合だけ読み込めてないのかを知りたかったんです
たぶん403だと思いますのでもういいです
0016nobodyさん
2008/05/04(日) 06:24:24ID:???0017nobodyさん
2008/05/04(日) 06:58:38ID:???0018nobodyさん
2008/05/04(日) 10:51:53ID:Fgqwmz/n――――――――――――――――――――――――――――――
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:???0020nobodyさん
2008/05/04(日) 10:55:36ID:???ごめんなさい、それは書き込む際のミスです。
正確には
$table1 = dbcount("table=1","id=1");
$table2 = dbcount("table=2","id=2");
ですね。
0021nobodyさん
2008/05/04(日) 11:06:16ID:???002218
2008/05/04(日) 11:19:19ID:Fgqwmz/n一応それでも正常に表示されているのですが、
どのように改善すればいいでしょうか?
0023nobodyさん
2008/05/04(日) 11:23:59ID:???002418
2008/05/04(日) 11:40:12ID:Fgqwmz/nなるほど、基本的な部分で躓いていました。
ありがとうございました。
0025nobodyさん
2008/05/04(日) 11:50:15ID:???0026nobodyさん
2008/05/04(日) 11:50:35ID:???0027nobodyさん
2008/05/04(日) 13:52:10ID:EtzFJE0o遷移先のページのソースコードを取得するにはどうしたらいい?
遷移元ページのソースはこんな感じです。
<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>
0030nobodyさん
2008/05/04(日) 14:43:38ID:/XyqgD/Jnl2brで改行を<br>に置き換えられますが、
改行を任意の文字に変換したいと思います(空白など)
これはどうしたらいいんでしょう?
0031nobodyさん
2008/05/04(日) 14:48:30ID:???0032nobodyさん
2008/05/04(日) 17:27:51ID:1YWT6BLAサイト内にある画像の番号を入れてボタンを押したら画像が表示される感じの
検索?フォーム作りたいのですが全然わかりません(´д` )
分かる方教えて下さい。
0034nobodyさん
2008/05/04(日) 17:32:12ID:???0035nobodyさん
2008/05/04(日) 17:40:18ID:???それは PHP の質問ではなく、
↓の領分の質問ですよ
Webサイト制作初心者用質問スレ Part 196
http://pc11.2ch.net/test/read.cgi/hp/1207889892/
0036nobodyさん
2008/05/04(日) 17:40:54ID:1Wvgh09z0037nobodyさん
2008/05/04(日) 17:55:48ID:???0038nobodyさん
2008/05/04(日) 17:56:12ID:???http://pc11.2ch.net/test/read.cgi/php/1207013301/63
いろいろやってみた?なにやってみた?
0039nobodyさん
2008/05/04(日) 18:05:25ID:mBgIh+Lj例えば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:???↓へ誘導済み
Webサイト制作初心者用質問スレ Part 196
http://pc11.2ch.net/test/read.cgi/hp/1207889892/
0042nobodyさん
2008/05/04(日) 20:45:15ID:tK5LS4Ggどうすればいいでしょうか?
0043nobodyさん
2008/05/04(日) 20:48:05ID:???0045nobodyさん
2008/05/04(日) 21:17:51ID:CDLPM55d商品設定の商品説明欄にて、外部リンク(メーカーのHPが別窓で開く)を
張りたいと思うのですが、どのように記述すればよいのでしょうか?
0046nobodyさん
2008/05/04(日) 21:29:25ID:???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:???PHP についての質問ではないので、
↓下のところか、WebCart について質問できるスレを探して質問してください
Webサイト制作初心者用質問スレ Part 196
http://pc11.2ch.net/test/read.cgi/hp/1207889892/
0052nobodyさん
2008/05/05(月) 02:29:06ID:???0053nobodyさん
2008/05/05(月) 06:16:43ID:???0054炊
2008/05/05(月) 09:11:39ID:???興味持った
http://z.z-z.jp/
のスクリプト抜きたいんだけど
0055nobodyさん
2008/05/05(月) 09:52:23ID:???0056nobodyさん
2008/05/05(月) 10:02:06ID:???0057x
2008/05/05(月) 10:22:06ID:???0059nobodyさん
2008/05/05(月) 13:52:39ID:cSW0xQhqこっちに北。俺は、分子生物学の権威だけど、何か聞きたいことある?
0060nobodyさん
2008/05/05(月) 14:02:01ID:???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のプロセスは存在したままになるのでしょうか
0065nobodyさん
2008/05/05(月) 20:42:47ID:???(php, cgiは問いません)で、流行っているものって何ですか?
教えていただけると幸いです。
0066nobodyさん
2008/05/05(月) 20:54:35ID:???0067nobodyさん
2008/05/05(月) 22:26:01ID:???0068nobodyさん
2008/05/05(月) 22:27:16ID:???phpbbはDB使ってたな・・・
だとしたらkentとかcbbsとか一部では髭式BBSの派生品とかC-BOARDとかかな・・・
0069nobodyさん
2008/05/05(月) 23:16:52ID:???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+mgkTm0072nobodyさん
2008/05/06(火) 00:13:19ID:???phpunitでも使ってみれば?
0073nobodyさん
2008/05/06(火) 01:35:29ID:???俺はありだと思っているんだが、
どうも理解してくれる人がいない。
いわく、ユニットテストとはインターフェースのテストであり
外部からテストするもんだそうだ。
が、俺はそもそもこれをユニットテストというつもりはなく、
名前をつけるのなら自己テスト。
ユニットテストのフレームワークを利用するが、
本質的にはまったく別のレベルのテスト。
自己テスト・・・ありだと思うんだけどなぁ。
まあ時代が俺についてきていないということで。
0074nobodyさん
2008/05/06(火) 01:44:02ID:???0075nobodyさん
2008/05/06(火) 02:02:29ID:???で、その自己テストってのは何を目的としたテストをやるんだね
0076nobodyさん
2008/05/06(火) 02:08:37ID:nuWjmwxLcryptを使用した場合、先頭の8文字が一致してれば、9文字目以降が違っても、同じ文字列が返ってきますよね?
8文字以上の文字列でそのようなことをしたいとなれば、
どのような方法がありますか?
0077nobodyさん
2008/05/06(火) 02:11:38ID:???リンクを張ります。
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:???0081nobodyさん
2008/05/06(火) 06:00:14ID:UkSP1jaGプログラムファイルからテンプレートをfileで読み込む
↓
foreachで一行ずつ出力
↓
preg_matchでテンプレート用変数をみつける→見つからなかったらスルー
↓
見つかったら$bodyにテンプレート用変数に値を入れて、配列の一行を足す
↓
foreachを抜けたら、$bodyを出力
このような形でも問題ないのでしょうか?負荷が気になるのですが
テンプレートエンジンは負荷は気にするべきではないのでしょうか?
0082nobodyさん
2008/05/06(火) 07:57:34ID:???というか煮詰まったっていうか行き詰ったんじゃね?w
寝たほうがいいと思うよ。
0083USA
2008/05/06(火) 08:08:50ID:???ttp://tool-1.net/
の借りているサーバを調べたいのですが
0085nobodyさん
2008/05/06(火) 08:26:42ID:UkSP1jaGわかります
0086USA
2008/05/06(火) 08:48:00ID:???お願いします。
0088nobodyさん
2008/05/06(火) 09:46:18ID:UkSP1jaG以下のようにしました。
テンプレートファイルを文字列にして読み込み、くっつけます。
↓
正規表現でテンプレート変数があるか確認→なかったらそのまま文字列を出力
↓
あった
↓
str_replaceでテンプレート変数を置換する(サーチ文字、置換文字の指定は配列で指定)
↓
文字列を出力
0089nobodyさん
2008/05/06(火) 09:52:43ID:???smartyを使う
0091nobodyさん
2008/05/06(火) 12:56:21ID:???0092nobodyさん
2008/05/06(火) 13:23:09ID:???このスクリプトでやってみてるんですけど、srcを705にしてみてとりあえず画像をアップしても、
画像の属性は600になっちゃってなぜかみれないんです。
この場合ってどこをどう変更したらみれるんでしょうか?
神様方教えてください。
0093nobodyさん
2008/05/06(火) 13:27:17ID:???内部実装の大幅変更を楽にするための自動テストなのに、
プライベート関数までいちいちテスト書いてたら
それに縛られて、かえって思いきった変更が面倒になるのでは?
やりたきゃ誰も止めないと思うけど、俺は多分やらん。
0094nobodyさん
2008/05/06(火) 13:59:12ID:???> 内部実装の大幅変更を楽にするための自動テストなのに、
だから、それがそもそも話がずれてるっつーの。
テストにはいろんなものがあるんだよ。
ユニットテスト以外にも結合テストとか統合テストとか。
これは自己テスト(仮)
「内部実装の大幅変更を楽にするための自動テスト」ではなく、
プライベート関数の仕様を明確にするためのテストだよ。
っていうかさ、クラスってのは多くが、内部の処理は複雑だが使い方は簡単。なもんだろ?
内部の複雑な処理をテストしないなんてありえる? テストコード書かないだけでテストしてるだろ?
0095nobodyさん
2008/05/06(火) 14:16:30ID:???privateなメソッドはテストできないの?
http://pc11.2ch.net/test/read.cgi/blog/1109028720/
と言うスレを発見したんだけど似たような
DBがいらないphpによるblogシステムお勧めがありませんか?
0097nobodyさん
2008/05/06(火) 14:23:08ID:UkSP1jaG↑のような規則で、↓の$txtの場合に、正規表現でOKを通るようにパターンを書きたいのですが、
うまくいきません。どなたかご教授お願いします。
$txt = "<p>test
i am
testman
</p>";
if (preg_match("/<p>([.\n]*)?<\/p>/", $txt)) {
echo "OK";
} else {
echo "NG";
0099nobodyさん
2008/05/06(火) 14:24:13ID:???まあ、普通は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:???それを言うのならwhiteboxとblackboxの違いで語ってくれ
おまえの言ってるwhiteboxテストは普通はステップ実行しながらデバッガでテストしていく
0103nobodyさん
2008/05/06(火) 14:29:02ID:???そんなことをしていたら、数日後、忘れたころに
見直したり、バグ修正するときに大変だろう。
0104nobodyさん
2008/05/06(火) 14:29:40ID:???テストしてないけど
/<p>.*?<\/p>/s
でどう?
http://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php
0105nobodyさん
2008/05/06(火) 14:31:36ID:UkSP1jaGおかげさまで解決しました!ありがとうございます^^
0107nobodyさん
2008/05/06(火) 14:34:42ID:UkSP1jaGつhttp://pc11.2ch.net/test/read.cgi/blog/1092408372/
0109nobodyさん
2008/05/06(火) 14:58:46ID:???そういうライブラリありますか?
0110nobodyさん
2008/05/06(火) 15:04:20ID:UkSP1jaGスパマー乙
0113nobodyさん
2008/05/06(火) 15:14:31ID:???0114nobodyさん
2008/05/06(火) 15:16:06ID:???ここを見ているのですが
mixinする側がmixinObjectを継承しなければいけないなど
mixinの本質を分かっていないようで失笑しています
まともなmixinはないのでしょうか?
0116nobodyさん
2008/05/06(火) 15:21:57ID:UkSP1jaG0117nobodyさん
2008/05/06(火) 15:23:47ID:???0118nobodyさん
2008/05/06(火) 15:24:05ID:???この場合はmix-in機能を追加するためなのだから、
mixinObjectを継承するのには何の問題もないでしょう?
0120nobodyさん
2008/05/06(火) 15:36:43ID:???module側がmixinObjectをextendsするならともかく
includeする側がmixinObjectを継承してるのがありえないです
継承と別の文脈で実装できるのがmixinなのに・・・
PHPERのレベルの低さを見せつけられた思いです
0121nobodyさん
2008/05/06(火) 15:39:14ID:???mixinオブジェクトを継承してしまったら他のクラスを継承できなくなります
いったい何のためのmixinなのか・・・
愕然としますね
0122nobodyさん
2008/05/06(火) 15:42:33ID:???やっぱり失笑されるべきはあなたでしたね。
たとえばJavaですべてのクラスがObjectを継承しているのと同じで、
mix-in機能を持っているクラスはmixinObjectを継承しているだけのことです。
mix-in機能を追加するためにmixinObjectを継承しているだけであり、
includeするために継承するのではありません。
この違い理解できますか?
0124nobodyさん
2008/05/06(火) 15:47:17ID:???すべてのオブジェクトの基底クラスをmixinObjectにするということですか?
まぁ、それならありかもしれませんね
ただ他人が書いたクラスにmixinできないので
mixinの良さを十全に生かせるとは言い難いとは思いますが・・・
0125nobodyさん
2008/05/06(火) 15:48:04ID:???0127nobodyさん
2008/05/06(火) 15:52:31ID:???PHPERの審美眼はそれを許すのですか?
やはり百姓言語PHPで
LL界の貴婦人Rubyの真似をするのには無理がありますね
0128nobodyさん
2008/05/06(火) 15:55:05ID:???0129nobodyさん
2008/05/06(火) 15:55:37ID:???0130nobodyさん
2008/05/06(火) 15:55:49ID:???0131nobodyさん
2008/05/06(火) 15:56:13ID:UkSP1jaG0132nobodyさん
2008/05/06(火) 15:56:47ID:???0133nobodyさん
2008/05/06(火) 15:57:42ID:???0134nobodyさん
2008/05/06(火) 15:58:04ID:???0136nobodyさん
2008/05/06(火) 15:59:44ID:???Rubyに乗り換えられないやつは百姓です。
早くお侍さんになろうと思いませんか?
0138nobodyさん
2008/05/06(火) 16:00:51ID:???0140nobodyさん
2008/05/06(火) 16:03:47ID:???0141nobodyさん
2008/05/06(火) 16:04:11ID:???まぁ、好きにすればいいでしょう
0143nobodyさん
2008/05/06(火) 16:06:02ID:UkSP1jaG0144109
2008/05/06(火) 16:06:36ID:???全部偽者ですので無視してください。
0145109
2008/05/06(火) 16:08:24ID:???しばしお待ちを。
0146nobodyさん
2008/05/06(火) 16:12:27ID:???mixinする側は、自分がmixinすることを知っておく必要はないんですね
is-aの観点からも、mixinObjectをサンドイッチするのは許し難いです
Rubyのmixinの完コピーは無理にしても
インスタンスに外からメソッドを付け外しできるような
そういう実装がないものか・・・
0147nobodyさん
2008/05/06(火) 16:15:13ID:???mix-in機能を提供するものであり、
includeするオブジェクトの実装ではない。
0148nobodyさん
2008/05/06(火) 16:17:08ID:???PHPを改造すればできるんじゃね?
そこまでしなくてもmixinObjectで十分問題ないから
俺は作る気ないが。
先輩から一言。手段と目的を履き違えるな。
0149nobodyさん
2008/05/06(火) 16:23:02ID:+at48j4e感心しちゃった。
0151nobodyさん
2008/05/06(火) 16:25:45ID:UkSP1jaG見習ってください
0152nobodyさん
2008/05/06(火) 16:27:20ID:???見習わなくなっていいんだからね!
0153nobodyさん
2008/05/06(火) 17:01:48ID:???0154nobodyさん
2008/05/06(火) 17:08:51ID:???かがみんです。
0155nobodyさん
2008/05/06(火) 17:10:46ID:???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:???0158155
2008/05/06(火) 17:14:23ID:???0159nobodyさん
2008/05/06(火) 17:16:39ID:???echo "<td><img src='$target' width="xx" height="xx">
って入れてみてもエラーになってページが表示されないんですよ。
0160nobodyさん
2008/05/06(火) 17:20:57ID:???http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double
0161nobodyさん
2008/05/06(火) 17:25:55ID:???0163nobodyさん
2008/05/06(火) 17:34:15ID:???0165nobodyさん
2008/05/06(火) 17:43:54ID:ZdmmhapKすいませんID出しました。
0166nobodyさん
2008/05/06(火) 17:47:27ID:???0167nobodyさん
2008/05/06(火) 17:48:20ID:???サイズはHTMLでしていしろや
0168nobodyさん
2008/05/06(火) 17:49:48ID:ZdmmhapK<img src='$target' width="60" height="60">
で入力してもダメなんですよ・・。php独自の書き方があるのかなと思って。
0169nobodyさん
2008/05/06(火) 17:56:20ID:???echo "<img src=\"{$target}\" width=\"60\" height=\"60\">";
0170nobodyさん
2008/05/06(火) 17:58:20ID:ZdmmhapKすっごく確かりました。本当にありがとうございます!!
0171Order
2008/05/06(火) 18:06:19ID:fJq/GBDg606にしてますか?600にしてますか?666にしてますか?
0173nobodyさん
2008/05/06(火) 18:23:52ID:???0174nobodyさん
2008/05/06(火) 18:42:10ID:???0175nobodyさん
2008/05/06(火) 18:51:44ID:???あちら↓で質問してください
【エスパー】くだ質【エラーメッセージ不要】(1)
http://pc11.2ch.net/test/read.cgi/unix/1207042632/
0176nobodyさん
2008/05/06(火) 19:32:59ID:???シングルクオートで囲め!!!
$html = '<img src="'.$target.'" width="60" height="60">';
0178nobodyさん
2008/05/06(火) 19:48:30ID:???0179nobodyさん
2008/05/06(火) 19:51:19ID:???同じ値が何度も表示されてウゼーっス
循環参照を防ぐ方法ないッスか?
0182nobodyさん
2008/05/06(火) 20:26:33ID:???無限ループ?
0183nobodyさん
2008/05/06(火) 22:21:39ID:???再帰関数な感じだろうか
再起関数内でなんとかするならグローバルでカウントする変数作って最後に出すようにするとか・・。
単純に再起関数終了後にvar_dumpとか・・
どうでもいいがID出せ
0184nobodyさん
2008/05/06(火) 22:27:36ID:???探せばいくらでもあるだろう。
俺は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:PVZCAXAQ0190nobodyさん
2008/05/07(水) 14:51:59ID:ae64vN4s0191nobodyさん
2008/05/07(水) 15:02:26ID:???0193nobodyさん
2008/05/07(水) 15:44:25ID:???0194nobodyさん
2008/05/07(水) 15:50:21ID:???0196nobodyさん
2008/05/07(水) 16:11:28ID:???>>190
> ( string string [, bool replace [, int http_response_code]] )
これ便利ですよ。
0197nobodyさん
2008/05/07(水) 16:11:52ID:???サーバサイドで知る方法があれば教えて下さい
0198nobodyさん
2008/05/07(水) 16:13:58ID:???調べれば判るだろ
=頭を使ってない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:???いや・・・自コード内で、という意味です
たとえば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:???ありがとうございました
firebugを使ってなかったのでいれてみました
>>202
これですね
こんな機能が標準で備わってると思わなかったのでみていませんでした
ありがとうございました
0204nobodyさん
2008/05/07(水) 17:33:33ID:???勉強用に単純な検索プログラム(ユーザーの入力した条件から適切なレコードを検索、表示する)を作っています。
結果が一定数以上の場合はページ遷移を行うわけですが、ここで少し迷ってしまいました。
@ SQLから結果を全て受け取って、配列に入れておき、それを for で回す。ページ遷移は for の引数を変えていく。
A LIMIT などを使って、そのページ、そのページで、SQLから結果受け取る。
どちらの方法を取るべきなのか、ご助言いただけると有難く思います。
よろしくお願いします。
0205nobodyさん
2008/05/07(水) 17:38:00ID:???なのでA番のほうがいいと思いますー。
そんなにレコード数はないだろうけど、勉強用としてはもってこいな題材だし。
0207nobodyさん
2008/05/07(水) 17:58:56ID:???ご回答ありがとうございます。
>>205さんのおっしゃる通り、レコードが数万単位になってきたら、ループで回すのは現実的じゃないですね。
A の方法を取ろうと思います。
参考になりました、ありがとうございました。
0209nobodyさん
2008/05/07(水) 22:09:34ID:jO2+N/ibmysqlに接続するときにmysqlのuserとpasswordが必要になりますが
PHPの場合はどこにその情報を持ちますか?
設定ファイルとしてconf.phpとかを作成してその中に持つのが簡単ですが
生パスワードが書かれるのは、できれば避けたいと思いまして
0210nobodyさん
2008/05/08(木) 00:03:27ID:???嫌なら暗号化処理とかすればいい
ついでだからバイナリ化しておけばパット見わからんぞ
0211nobodyさん
2008/05/08(木) 00:13:19ID:???0212nobodyさん
2008/05/08(木) 00:31:48ID:???0213nobodyさん
2008/05/08(木) 00:39:50ID:???0214nobodyさん
2008/05/08(木) 00:39:59ID:tHYDIFZkなかなかいい方法が浮かびません。なにか方法があるのでしょうか?
サイトにログインしてそのアドレスを他人に送信したときに入れなければいいんですが
urlに引数でユーザーIDとか持たせてるので、今はそれだけで認証させているのですが
もちろんそれだと他の人でも余裕で入れてしまいます・・
よろしくおねがいします。
0216nobodyさん
2008/05/08(木) 00:50:32ID:???0217209
2008/05/08(木) 01:09:01ID:???やっぱ生すかねえ
暗号化したところでhashみたいに一方向にはできないですし
apacheユーザでパーミッションを0600にでもしておきます
0218nobodyさん
2008/05/08(木) 01:11:07ID:???0219nobodyさん
2008/05/08(木) 01:16:25ID:???0220nobodyさん
2008/05/08(木) 01:17:48ID:???0221nobodyさん
2008/05/08(木) 01:46:12ID:???SUIDとかSGIDとかスティッキービットの部分かな
必要無いときゃ書かないのが普通だと思うけど
0223nobodyさん
2008/05/08(木) 03:00:32ID:/YXnYoEjこのページの例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すいません・・・、見てませんでした
取りあえずxmlを操作してみたく飛ばしてました
始めから読み直します;
ありがとうございました
0227nobodyさん
2008/05/08(木) 05:16:22ID:bsvRXjwoこれがすごく遅い
ブラウザからアクセスするとそんなに遅くないんだけど
なにか原因になりそうなことあります?
0228nobodyさん
2008/05/08(木) 05:32:42ID:???0229nobodyさん
2008/05/08(木) 05:33:14ID:???$className = "Hoge";
$className::classProperty;
$className::classMethod();
みたいにしたいのですが・・・
0230229
2008/05/08(木) 05:35:07ID:???0231299 ◆SxucvMLsOs
2008/05/08(木) 05:36:53ID:???暇な事してないで答えてくれよ!
0232229 ◆SxucvMLsOs
2008/05/08(木) 05:37:22ID:???0235229 ◆SxucvMLsOs
2008/05/08(木) 05:46:58ID:???試してます。
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表示されないとまともな回答は得られないスレですので
0238nobodyさん
2008/05/08(木) 05:57:20ID:???2回目からだけど
0239nobodyさん
2008/05/08(木) 05:57:52ID:???IDと全角で表記するのは非常にイケテない気がします。
0240nobodyさん
2008/05/08(木) 07:12:47ID:a30fSoKvサーバーとクライアント間を相互に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:???$data = file_get_contents('php://input');
どうしてもXMLを使う理由が無いなら、
クライアント → サーバは 普通にpost
サーバ → クライアントは JSON
をお勧めする。
0242nobodyさん
2008/05/08(木) 08:37:17ID:a30fSoKvレスありがとうございます。
取得できました。
そんな方法があるとは知りませんでした。(さすがです!)
JSONの方が楽なのは承知しているのですが、色々と事情がありまして・・・
0243214
2008/05/08(木) 09:00:38ID:lngjMkTWそれだとFORMしかリンクに使えなくなるのでテキストのリンク部分などは回避したいところです・・
>222
違います
0245nobodyさん
2008/05/08(木) 09:12:35ID:???0246nobodyさん
2008/05/08(木) 09:12:48ID:???携帯端末情報は普通のアンカーからでも取れると思うよ。
DoCoMoだと端末側に送信するか否かの確認は出るだろうけど。
それが嫌なら、
・URLにユーザIDではなく、セッションIDを持たせる。
・セッションIDはアクセス毎に変更する
とか処理しとけば要件満たせるよ。
0247243
2008/05/08(木) 09:58:57ID:6fBs3OYgすいません、勘違いしてました。
>246
セッションIDもたせたばあい、そのアドレスでアクセスしたら
他の端末でアクセスしたときのセッションの内容がみれたのですが・・
0248nobodyさん
2008/05/08(木) 10:10:42ID:???「セッションハイジャックが毎日行われています。客に仕様だと説明しているのですが
納得してもらえません。どう説明すればいいのでしょう?」
と似てきたな。
0249nobodyさん
2008/05/08(木) 10:39:32ID:???>セッションIDもたせたばあい、そのアドレスでアクセスしたら
>他の端末でアクセスしたときのセッションの内容がみれたのですが・・
セッション側で管理してなきゃ当然の動作だ。
まずはユーザエージェントでも見て、セッションの有効性をチェックしろ。
これで3割防げる。
そして、セッションIDをアクセス毎に変えろ。
ユーザが故意にセッションIDを流出させない限り
これで9.99割防げる。
0251nobodyさん
2008/05/08(木) 11:33:28ID:???0253nobodyさん
2008/05/08(木) 11:43:53ID:???.__
ヽ|´∀`|ノ <先生!fscanfがおかしいです!
|__|
| |
0254nobodyさん
2008/05/08(木) 11:45:46ID:???0255243
2008/05/08(木) 12:03:56ID:6fBs3OYgもしよければ具体的なソースコードなど教えてもらえないでしょうか?
0256nobodyさん
2008/05/08(木) 12:04:51ID:???0257nobodyさん
2008/05/08(木) 12:05:52ID:???0258nobodyさん
2008/05/08(木) 12:07:34ID:BM6vmusKこれスクリプトおかしくない?
0259nobodyさん
2008/05/08(木) 12:14:31ID:???ググレばやまほど情報出てくるよ。
ロジックを考える事でPGは育つので、
自分で考えてみると良いと思う。
ヒント
$_SESSION['USER_AGENT'] を保存しておいて、
アクセス毎に、ユーザエージェントが変わってないかチェック。
セッションIDを毎回変えるというのは、
session_regenerate_id で検索すればいいよ。
0261243
2008/05/08(木) 12:33:03ID:6fBs3OYg同じ機種だと同一のagentにならないですか?
0263nobodyさん
2008/05/08(木) 12:41:47ID:???レンタルサーバーに設置して予定編集ページに飛ぶためにクリッコしてもページが切り替わらんのです。
自宅サーバー設置してやってみましたが同じだったのでスクリプトかと思いまして
0265nobodyさん
2008/05/08(木) 12:54:16ID:???ヒント:古いバージョンと新バージョンのPHPでのGETとPOSTの取得方法
ソースみたら動かなくて当然
よく読まなかったのかい?
0266243
2008/05/08(木) 14:27:27ID:6fBs3OYgDoCoMoだと毎回確認が出てうざくなるので
できれば使いたくないのですが・・・
ページによっては使うことになると思うんですが。
0267nobodyさん
2008/05/08(木) 14:47:17ID:???0268nobodyさん
2008/05/08(木) 14:55:12ID:???一回だけ認証すればあとはセッション使うだけだろ
ちなみにguid=onでIDが取れるようになったが、簡単に偽装できるのでお薦めしない
0269nobodyさん
2008/05/08(木) 15:33:41ID:???セッションの内容を消してしまうと、本来のユーザが困るし・・・
0270nobodyさん
2008/05/08(木) 15:35:29ID:???0271227
2008/05/08(木) 15:41:46ID:???鯖というと自分側のですよね?
相手側は直アクセスでは遅くないし
でも 外部へのアクセスだけがそんなに遅いもんです?
なにか解決方法ないものか…
もちろんキャッシュはしてるけど してないときが激遅です
0274nobodyさん
2008/05/08(木) 16:19:20ID:???まじあざっす!
まったくPHPがわからない素人なのです
.htaccessでregister_globalsをONにしたらできました
0275269
2008/05/08(木) 16:35:36ID:???セッションIDを変更して新規のセッションとして開始すると、
UAをころころ変えながら繰り返しアクセスすることで
セッションリソースを大量消費される攻撃に晒される危険があるかと思います。
またexitで処理を停止させてしまうのも、あまりよろしくない。
ルーティングは、後に任せるべき。
セッションがない状態でアクセスした時と同様の処理をしたいのですが、
既にその時点でセッションは開始されてしまっているので、
なかなかむずかしいんですよね・・・
0276269
2008/05/08(木) 16:43:38ID:???それでいながら、
その変更を本来のセッションストレージに反映させず、
また新規でセッション領域を消費しない」
と処理をやればいいかと思います
どうすればいいですか?
0277nobodyさん
2008/05/08(木) 17:44:50ID:???なぜ、現行Verではデフォルトでregister_globals=offになっているのかも知っておこうね。
0278nobodyさん
2008/05/08(木) 18:23:08ID:???>>261
>同じ機種だと同一のagentにならないですか?
逆を言えば、同一機種(+同一ファームウェア?)で無い限りはアクセスを遮断出来ます。
実装が簡単な割に得られる効果は大きいです。
>セッションIDを毎回変えるというのは、
>session_regenerate_id で検索すればいいよ。
は検索しましたか?
URLにセッションIDを含む以上、URLが漏れたら非常に危険です。
しかしセッションID自体をアクセス毎に変えることで、
この危険性はほぼ100%解消できます。
間違えて表示中のURLを漏らしてしまったとしても、
そのURLに含まれるセッションIDは既に無効になっている事になるからです。
0279nobodyさん
2008/05/08(木) 18:32:13ID:???1.接続環境の変更は考慮しない
2.接続環境の変更を確認した時点で、セッションを適切に破棄し、
新セッションを開始する。
>接続環境の変化を検知した時点で
>セッションIDを変更して新規のセッションとして開始すると
新規セッション開始前に、旧セッションを破棄すればいいだけでは?
>UAをころころ変えながら繰り返しアクセスすることで
>セッションリソースを大量消費される攻撃に晒される危険があるかと思います。
まずセッション管理はどうしてるの?
ブラウザ終了時までのセッションであれば、
ブラウザ起動する毎に新セッションが発行され、リソース消費を防ぐ手段はありません。
クッキーに有効期限が設定されているのであれば、
適切に不要なセッションを削除する事でリソースの消費は防げます
0280nobodyさん
2008/05/08(木) 19:47:02ID:???0281nobodyさん
2008/05/08(木) 20:04:07ID:???っていうか、セッションファイルが大量になった時のパフォーマンスどうなんだろ?
特に考えたこともなかったけど
symfonyのキャッシュ機構みたいに遅くならない工夫してんのかな
0282nobodyさん
2008/05/08(木) 21:24:09ID:???パフォーマンスに影響する程のモノでは無い。
きちんと破棄処理すりゃ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:???実装の違い。
PHPのurldecodeは+をスペース文字としてデコードする。
js側で encodeURIComponent() 使えばいいよ。
0286nobodyさん
2008/05/08(木) 23:28:14ID:???0287nobodyさん
2008/05/08(木) 23:36:49ID:???誰かに作成依頼するなら話は別だが
0289nobodyさん
2008/05/09(金) 00:38:14ID:???同一なのかそうでないのかすら書かれてないのに判断できる訳がない
違うと推測して>>272のIPアドレスでのアクセスは試してみたのか?
0290227
2008/05/09(金) 01:08:14ID:???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:???0293227
2008/05/09(金) 02:55:54ID:???その辺はテストしてますよー
PHPからだと遅い…
simplexml_load_fileというか HTTPリクエスト系が激遅
鯖なのかな
それにしては激遅だ
0294227
2008/05/09(金) 03:06:20ID:???鯖なんかなあ
時間帯が時間帯だしなあ
PHPからはいつやっても遅いのはたしかなんだけど
0295nobodyさん
2008/05/09(金) 03:12:39ID:???0296227
2008/05/09(金) 03:16:08ID:snanmjytResolving ... で時間がかかってる
時間が時間だけにたまたまかもだけど
ブラウザからとPHPからとで 相手側がなんか処理わけとるんかなあ
0297227
2008/05/09(金) 03:19:58ID:snanmjytこれはDNSが問題???
どうしようもないのか よくわからないんですけど
0298227
2008/05/09(金) 03:32:48ID:snanmjytw3m, getw から ドメインでアクセスすると遅い
IP直でアクセスすると早い
Resolving ドメイン名 .... が長い
だけど nslookupでドメインからひいて見ると IPはすぐに返ってくる
よくわからん・・・
その場しのぎでIPでアクセスするようにするか・・
0300277
2008/05/09(金) 03:55:06ID:snanmjytいみがわからなかったから調べてました…
PHPからgethostbyname()で事前に変換してみても おそかった
直IPだと早い
ということは 解決方法はなしですかね??
今、IP直でやるようにしましたが 万が一相手の鯖がかわったらアウトですよね
0301nobodyさん
2008/05/09(金) 03:59:05ID:???予想ではipv6関係でbind9が遅くなってる
でもこんなんはレンサバの設定を見なきゃ何も言えん
もはやPHP関係ないし
0302227
2008/05/09(金) 04:03:33ID:snanmjytそうですか…
とりあえず原因がすっきりしたことに感謝します
レンサバにもきいてみます
しかたないのでしばらくはIP直でやるか
cronでときどき gethostbyname しておいて それを使うとかしようと思います
0303nobodyさん
2008/05/09(金) 04:26:38ID:???0304nobodyさん
2008/05/09(金) 08:07:25ID:???0305243
2008/05/09(金) 09:38:31ID:NVAYhOqrようやくそれなりに満足できるものが作れました。
0306nobodyさん
2008/05/09(金) 09:42:34ID:???帰ってきたk.k.projects【私がやります】
http://pc11.2ch.net/test/read.cgi/php/1210192743/
0307nobodyさん
2008/05/09(金) 11:35:21ID:???というのを
<?php ?>のなかで書く場合どう書けばいいのでしょうか?
<?php echo "<a href=\"*****.php" ?><?=SID?><?php echo "\">リンク</a>">
ではかっこ悪いような・・・
0308nobodyさん
2008/05/09(金) 11:41:47ID:???てか、配布されてるスクリプト改造したいんだろうけど、
ちょっとぐらいは言語の勉強しようよ・・・
0309nobodyさん
2008/05/09(金) 11:51:10ID:???echo '<a href="*****.php' . SID . '">リンク</a>';
?>
0310nobodyさん
2008/05/09(金) 12:30:14ID:???Call to undefined function: mysql_connect()
と出てしまいます。
web上からは正常に動くのですがどのようにすればいいのでしょうか
0311310
2008/05/09(金) 12:31:11ID:???0312nobodyさん
2008/05/09(金) 12:32:40ID:???0314nobodyさん
2008/05/09(金) 14:36:27ID:TK9WqWmpttp://xoopscube.jp/のオンライン状況という機能をつくたいのですが、
pearパッケージでそのようなものがあるのならなるべく利用して作りたいです。
0315nobodyさん
2008/05/09(金) 14:53:28ID:???0316nobodyさん
2008/05/09(金) 15:08:30ID:???>>314じゃないけど、そんな関数あるの?
以前気になって調べたけど、見つけられなかった。
http://www.php.net/manual/ja/book.session.php
0317nobodyさん
2008/05/09(金) 15:15:33ID:???そこのファイルを数えるとかだとダメかな
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:???0326nobodyさん
2008/05/09(金) 16:46:13ID:TK9WqWmpidではなく、ipです
0327nobodyさん
2008/05/09(金) 16:49:03ID:???ログアウトしたら消し、タイムアウトしたら消し
0328nobodyさん
2008/05/09(金) 16:50:54ID:???0329nobodyさん
2008/05/09(金) 16:51:32ID:???0330nobodyさん
2008/05/09(金) 16:55:23ID:???訪問者のIPアドレス/時刻を記録して、
3分くらい前までのIP数をカウント。
それだけだ。
0331nobodyさん
2008/05/09(金) 17:05:13ID:???0332nobodyさん
2008/05/09(金) 17:07:31ID:???アクセスログだと、だんだん長くなるからパフォーマンスが、ちと不安。
自分は使ったことはないけど、共有メモリに session_id で取得したIDをキーとして
最終アクセス時刻を格納した配列を格納して、それからカウントしたほうがいい気がする。
http://www.php.net/manual/ja/book.shmop.php
http://www.php.net/manual/ja/function.session-id.php
0334nobodyさん
2008/05/09(金) 17:10:16ID:???0335nobodyさん
2008/05/09(金) 17:11:21ID:???マニュアル見直したら、共有メモリって、直には配列とかオブジェクト格納できないっぽい。
まぁ、適当なデータ構造作れば、意図することは可能だと思うけど。
0336nobodyさん
2008/05/09(金) 17:15:09ID:TK9WqWmpdlしてソースみたのですが、自分のやり方でも問題ないかと思いました。
ご指摘された大量アクセスの場合に備えて、>>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:???0341nobodyさん
2008/05/09(金) 17:23:04ID:???アクセスログだと無駄に走査する行数が増えるだろう?
では無くて専用の記録ファイルをつくっておいて、
常時内容を走査するって事よ。
アクセス
↓
ログイン数記録ファイルを走査
↓
自分のIPと、期限切れIPを削除
↓
自分のIPを追記
↓
ファイル更新
って感じに。
0342307
2008/05/09(金) 18:23:41ID:Ln96d6P1SIDは定数だから普通に書いたらよかったんですね。
うっかりしてました。
ありがとうございます。
0343nobodyさん
2008/05/09(金) 19:53:51ID:???0344nobodyさん
2008/05/09(金) 19:55:14ID:cq1aYSJI0346nobodyさん
2008/05/09(金) 21:37:35ID:TK9WqWmp0347nobodyさん
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:???セキュリティの事とか深く考える必要は無いと言われたんですが
本当なんでしょうか??
0352nobodyさん
2008/05/09(金) 22:29:31ID:???0354nobodyさん
2008/05/09(金) 22:35:19ID:???0355nobodyさん
2008/05/09(金) 22:54:11ID:???権限がなければ考えてても仕方ないw
スクリプト自体のセキュリティはいつの時でもしっかり考えないと。
0357nobodyさん
2008/05/10(土) 10:59:14ID:3v++6OkNrunkitを入れたのですが、
これだとクラスのメソッドを書き換えるのでちょっと大げさです
オブジェクトだけのメソッドを書き換えるにはどうしたらいいですか?
0359nobodyさん
2008/05/10(土) 11:52:36ID:???0360nobodyさん
2008/05/10(土) 12:45:57ID:???0361nobodyさん
2008/05/10(土) 13:22:00ID:???ログイン
↓
セッション生成、値格納
↓
ページ移動(ページ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:???で、>>362の場合は好きに作れって結論になると思うが
良くあるって話だと今はフレーム切らないから、メインコンテンツを吐く処理中に
広告を吐くfunctionを呼びゃいいんじゃね
テンプレートエンジンを使ってるなら、出力順なんて気にならないだろ
0365361
2008/05/10(土) 14:49:38ID:???0366nobodyさん
2008/05/10(土) 14:51:57ID:???コンテンツの内容に合わせて広告も変えるってことでいいのかな
それだとしたらphpshotのここ最近の記事を参照
ヒントはここまで
0367nobodyさん
2008/05/10(土) 15:20:51ID:???どこまで最適にやるかって話はあるけど、amazonのなんかだと自動的に判別してくれるんじゃないの。
0368nobodyさん
2008/05/10(土) 15:34:43ID:baYV5j6gPHPにおける特殊記号の取り扱いについて質問させていただきます。
以下の処理を行っているのですが特殊記号'―'(ダッシュ)の扱いで悩んでいます。
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:???該当部分のコードぐらい書けよ
だれもおまえが書いたようなコード書けるんだし、著作権を主張するほどのライブラリってわけじゃないんだろ
0372nobodyさん
2008/05/10(土) 16:12:21ID:baYV5j6gいや、仕事じゃないんですけれど
解決できてず、悩んでるので書き込みさせて頂きました。
0373nobodyさん
2008/05/10(土) 16:27:38ID:???これって MS932がSJISと異なるとかいう話題だよね。
試してないけど、SJISじゃなくて、SJIS-WIN とか指定すればいいのかな。
0374nobodyさん
2008/05/10(土) 16:28:39ID:???session_destroy();
するとうまく動作しないんですがなんででしょうか
0375nobodyさん
2008/05/10(土) 16:29:14ID:baYV5j6gfunction 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ありがとうございます
早速ためしてみます!
0377nobodyさん
2008/05/10(土) 16:32:23ID:DzSEGQLQ$array = array(あ,い,う,え,お,か,き,く,け,こ);
これを
$array = array(い,え,か,く,こ);
にしたいんだけど。
0378nobodyさん
2008/05/10(土) 16:39:49ID:baYV5j6g誤記がありました
この後utf-8からSJISに文字コード変換しています
'―'の文字コード「&#8213;」を使って文字変換できないものでしょうか。
~~~~~~~~~~~
※$data = str_replace("[―]","-",$data); このあたりで
0379nobodyさん
2008/05/10(土) 16:56:03ID:???$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
0381380
2008/05/10(土) 17:08:56ID:???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どうやってインストールしたらいいのでしょうか?
0384380
2008/05/10(土) 18:50:06ID:???アドレスはBでくるのに
old C
new D
になってしまい、それはそれでおかしな動作になります(T_T)
0385nobodyさん
2008/05/10(土) 19:42:52ID:???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:???0388っ
2008/05/10(土) 20:50:31ID:bCQuG41r0389nobodyさん
2008/05/10(土) 21:04:08ID:???0391nobodyさん
2008/05/10(土) 21:17:42ID:ZfUSU8TDログインチェック用に別ファイルの.phpをすべてのページに読み込ませたいと
思っています。
個別に include()させるほかにどんな方法があるでしょうか?
アドバイスお願いします
もしかしたらphpの話題からずれてるかもしれませんが、もちろんphpでも
うまいやり方があれば教えてください。よろしくお願いします
0392nobodyさん
2008/05/10(土) 21:20:53ID:???0393nobodyさん
2008/05/10(土) 21:34:39ID:batXv2Osxdebugをインストールし、有効にすると、
zend debuggerがphpinfoに表示されなくなりました。
zend debuggerとxdebugは同時に使うことが出来ないのでしょうか?
同時に使う方法があれば教えてください
0394nobodyさん
2008/05/10(土) 21:42:03ID:???0395nobodyさん
2008/05/10(土) 22:22:47ID:???エラー時のスタックトレースはxdebug
って感じに両方の機能を使いたいんですが
やっぱり無理ですかね〜
0396nobodyさん
2008/05/10(土) 22:37:07ID:???0398nobodyさん
2008/05/10(土) 22:47:07ID:???0399nobodyさん
2008/05/10(土) 22:57:37ID:???0401nobodyさん
2008/05/10(土) 23:14:52ID:???0402nobodyさん
2008/05/10(土) 23:22:14ID:???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:DfRnQgur0406nobodyさん
2008/05/10(土) 23:53:09ID:???htmlspecialcharsはDBに入れるときじゃなく表示するときに処理する
DBには生データを入れて問題はないんじゃね
もちろんSQLインジェクション対策だけはしてな
0407380
2008/05/11(日) 00:19:51ID:???携帯3キャリア共通でうまくセッションを持ちまわる方法をいろいろ試し中です。
SIDを用いることはわかったのですが
クッキーが残ったりでうまくいってないように感じます。
よろしくおねがいします。
0409nobodyさん
2008/05/11(日) 00:39:36ID:lx6MvMXPありがとうございます、それってどういうことですか?
済みませんが良くわからないのでもう少し解説お願いします
0411nobodyさん
2008/05/11(日) 01:25:39ID:???ログインチェックファイルがあるじゃん?
あとそれぞれの個別コンテンツがあるじゃん?
前者の中で後者をincludeするってこと。
0412377
2008/05/11(日) 03:45:04ID:KEs91aIs>>385
ありがとう〜!
両方試してみました。
>>385のリンク先のソースを利用することにしました。
どもです!
0413nobodyさん
2008/05/11(日) 06:14:53ID:4J9HPCgP$_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__construct()が問題なく呼び出されているのですが、
PHP4系でも対応してるんですか?
0416nobodyさん
2008/05/11(日) 07:09:30ID:???0418413
2008/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]にしちゃうとそれはそれで動作しませんよね?
0420413
2008/05/11(日) 07:43:03ID:4J9HPCgPありがとうございます。やはり書き間違いですか・・・
今回のこの件をググってる最中に↓のようなページをみつけたんですが、
ttp://oshiete.coneco.net/qa4004454.html
このページでの質問者も同じように記述してるんですよね・・・わざわざダブルクォーテーション外して・・・。
key関数を使うときだけ・・・?とか色々考えたんですが、
とりあえず書き間違いと思って進めていこうと思います。
皆様ありがとうございました。
0421nobodyさん
2008/05/11(日) 08:08:48ID:???runkit_method_redefine
これじゃできないん?
もうちょっと具体的にやりたい事書かないとわからん
0422nobodyさん
2008/05/11(日) 08:10:14ID:???カメレスであれだけど、一応。
書き間違えとは思うが、文法的には未定義の定数の動作。
PHPは好きだけど、さすがにこの仕様はどうかと思う。
http://www.php.net/manual/ja/language.constants.php
>未定義の定数を使用した場合、ちょうどstringとして コールしたかのように(CONSTANT vs "CONSTANT")、
> PHPはその定数自体の名前を使用したと仮定します。
0423413
2008/05/11(日) 08:19:46ID:4J9HPCgPおおっ!ありがとうございます!
なるほど、未定義の定数として使用され、さらにそのものの名前を使用したと解釈されて
動作しちゃうわけですね・・・。。
私自身、現在習作を作る過程でPHPに慣れようとしているのですが、
確かにこの仕様には違和感がありますね。
書き間違えだったとしても、きちんと動作したものとして公開されていた理由がわかって、
やっとスッキリしました。
やっと寝られます。笑 ありがとうございました!
0424nobodyさん
2008/05/11(日) 08:24:05ID:???どっちかってーと
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が呼ばれる
0425415
2008/05/11(日) 08:33:54ID:LZ9HoYsn確かにそうでした!
>PHP4.4.4(サーバはxrea)で、
>__construct()が問題なく呼び出されているのですが、
というのは、自分のテストコードに間違いがあったための、勘違いでした。
0426nobodyさん
2008/05/11(日) 12:51:45ID:t1T6pRlq「1が出る確率は50%、2が出る確率は30%、3が出る確率は20%」
と言う風に、確率として表示する場合、どういう計算式にすればいいのでしょうか?
0427nobodyさん
2008/05/11(日) 12:55:27ID:???567・・・2
89・・・3
0428nobodyさん
2008/05/11(日) 12:55:49ID:???0429nobodyさん
2008/05/11(日) 13:28:56ID:???/*
現在理論しか通じないパソコンとプログラミングで対話中です。
人様との円滑な対話モードへの切り替えが少々上手くいかない場合や遅い場合が多々ありますので、理屈や理論以外をお求めの方はご遠慮頂くか少々お待ち頂くか生暖かい目で見守ってくださるようお願い致します。
*/
0430nobodyさん
2008/05/11(日) 13:41:54ID:???$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:???0434nobodyさん
2008/05/11(日) 14:57:33ID:???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:???0436nobodyさん
2008/05/11(日) 15:15:43ID:???のRHEL4用php-mcryptを入れても大丈夫かもしれんが試してない
0438nobodyさん
2008/05/11(日) 18:57:26ID:???0439nobodyさん
2008/05/11(日) 20:39:47ID:???0440nobodyさん
2008/05/11(日) 21:00:47ID:???そんな時代にあって、俺はその天才的な人間の1人なのかもしれない。
俺のせいで、仕事がなくなって首になった奴が相当いる。
もちろん、その中には潰れた会社もある。
でも、それが自然淘汰、適者生存であり自然の摂理なのだから・・
0441426
2008/05/11(日) 23:21:03ID:t1T6pRlqありがとうございます。上手くできました。
ただ、細かい%で区切りたい場合はどうなるのでしょうか?
array内の数が増えすぎると思うのですが・・・。
if文と倍数を使う方法も考えたのですが、数学が苦手でわかりません。。
何か良い関数はないでしょうか?
0444nobodyさん
2008/05/11(日) 23:37:06ID:???0445426
2008/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:???0447nobodyさん
2008/05/12(月) 00:05:59ID:???0448nobodyさん
2008/05/12(月) 00:17:13ID:???0449nobodyさん
2008/05/12(月) 00:59:12ID:???http://jp2.php.net/manual/ja/simplexml.examples.php
$obj = new SimpleXMLElement($xml);
PEARのXML_Serializerを使わないで、PHP5の関数を使って
オブジェクト$objを配列に変換するにはどうしたらいいですか?
0450449
2008/05/12(月) 01:01:55ID:???0451449
2008/05/12(月) 01:45:29ID:???秋元さんのブログの解説?
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を使うことにしました!^^
…便利すぎて勉強にならん><
0452449
2008/05/12(月) 01:49:26ID:???$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:???. が1バイトになるのか1文字になるのかは、よく知らないから自分で確認してね。
0456454
2008/05/12(月) 08:19:16ID:o0vmBy2Pアドバイスありがとうございます
やってみます
0457454
2008/05/12(月) 08:30:04ID:o0vmBy2Pすいません
ずうずうしいですが、何の関数を使ったらよいか教えてもらえないでしょうか
0458nobodyさん
2008/05/12(月) 08:50:40ID:???なんで検索すらしないの?
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:???こんなかんじにしたときに、
携帯(DoCoMo)だとSIDが100%付与されるのですが、
PCだと付与されるときとされないときがあります。
原因は何でしょうか・・?
0460nobodyさん
2008/05/12(月) 09:54:38ID:???マニュアルぐらい調べろ。すっとこどっこい
http://www.php.net/manual/ja/session.idpassing.php
0461nobodyさん
2008/05/12(月) 12:23:50ID:???htmlの文字数で分割すると
場合によっては1ページ中に含まれるコンテンツがほんのわずかで
ユーザに余計なページ送りのストレスかけることにならないかい?
0462nobodyさん
2008/05/12(月) 16:05:32ID:1jI7+vyuvar_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:???以下のようにするとよくわかります
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ありがとうございます!
そっか、二次元になってたんですね 自分で作ったのに忘れてました
echo "<pre>";
var_dump($data_list)
echo "</pre>";
↑これも活用します ありがとう
0466nobodyさん
2008/05/12(月) 19:01:23ID:???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検索しましたが、preg_split()でうまくできませんでした
何時間考えても自分ではもうわからないので答えそのものを聞きたいところですが
そんなことしたら罵倒されるのはわかってるので、よそに行って聞いてきます
ありがとうございました
0469nobodyさん
2008/05/12(月) 19:42:34ID:???"/^.{1000}\n/"
確認してないけど正規表現で
0471nobodyさん
2008/05/12(月) 20:10:37ID:NEnrgbxPどうしてもエラーで出力自体が出来ません。
どのようにすればいいのでしょうか?
出力したいJavascriptはこのような感じです。
<SCRIPT language="JavaScript">
<!--
function OpenWin(url){
win=window.open(url,'sub','width=200,height=150');
}
// -->
</SCRIPT>
0472nobodyさん
2008/05/12(月) 20:12:23ID:???"/^.{950,1000}?.+\n/s"
0474nobodyさん
2008/05/12(月) 20:27:01ID:NEnrgbxPエラーはこのような感じです。
コードに関しては、上で書いたJavascriptをテンプレートとしてdisplayで出力するだけですから
0476471
2008/05/12(月) 20:41:04ID:NEnrgbxPなるほど
テンプレートで{}を出力する方法はありませんでしょうか
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'])" />という感じで。。
どなたか教えてください、よろしくお願いします
0479nobodyさん
2008/05/12(月) 21:01:26ID:???addslashesはDBに挿入する際のエスケープ。
HTMLタグ無効化はhtmlspecialshars
0480454
2008/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ありがとうございます じゃ、上のケースだと、確認ページで
print htmlspecialchars($_POST['message']);
<input type="hidden" name="message" value="{htmlspecialchars($_POST['message'])}" />
という感じでしょうか?
使い分けがいまいちわからず困ってました ありがとうございました
0482nobodyさん
2008/05/12(月) 23:11:13ID:???もう見てないかもしれんが
preg_match_all('/.{1000}.*?\n|.*/s', $str, $matches);
ちゃんと動くかどうかは自分で確認して。
0483nobodyさん
2008/05/13(火) 00:16:15ID:???この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:???0486454
2008/05/13(火) 00:42:34ID:dYo6M2/fできました!!
今日一日かかってもできなかったので、
とりあえず\nで分割して配列にいれて、処理させようと考えていたところでs
本当に感謝です!!
0488484
2008/05/13(火) 00:44:57ID:???あふぉはすぐそうやって知識のない人間を卑下するww
0489nobodyさん
2008/05/13(火) 01:06:30ID:???はい、次の質問どうぞ
0490nobodyさん
2008/05/13(火) 01:26:38ID:YiuUZfQA<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>
上記を一行目に入れると、ブラウザ上に「"; ?>」の文字が表れました。
「"; ?>」を表示させないようにするためには、どうしたらいいでしょうか。
0491490
2008/05/13(火) 01:31:05ID:YiuUZfQAこう書いたら、「"; ?>」の文字は消え、かつブラウザに中身が表示されましたが、
こうしちゃっても大丈夫なのでしょうか?
0493nobodyさん
2008/05/13(火) 02:30:25ID:Xhimy1cEおまえ市ねよ。ホントやなやつだな。
0497nobodyさん
2008/05/13(火) 02:59:57ID:???inputフォームからの値の受け渡し時にhtmlspecialcharsする必要はない
htmlに出力する際にhtmlspecialcharsを使う
0498nobodyさん
2008/05/13(火) 03:03:03ID:???0500nobodyさん
2008/05/13(火) 03:07:43ID:???そこまで思いついてて なぜそのやり方なんだよw
だめにきまってるだろ
>>490 のやり方で文字分割して出力しろ
0501nobodyさん
2008/05/13(火) 04:04:30ID:2tOaVNoEhttp://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 を作っておき、そこに広告コードを挿入します。
0503nobodyさん
2008/05/13(火) 08:27:10ID:???実行して、生成されたHTML見ると
<?xml version="1.0" encoding="Shift_JIS"?>
って出るんだけど、何が問題なの?
0504nobodyさん
2008/05/13(火) 08:54:15ID:???ちゃんと出されてるソースを全部嫁
>print htmlspecialchars($_POST['message']);
><input type="hidden" name="message" value="{htmlspecialchars($_POST['message'])}" />
上のprintしている部分の話ではない
下のフォームからphpへ受け渡す段階の話をしている
0506490
2008/05/13(火) 09:26:20ID:YiuUZfQA分割して出力してもだめでした。どうしても「"; ?>」が出ます。
>>503
ソースには、そのまま下が書いてありました。
<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?>
php使えるサーバなのですが……。
Fxでソースを見ると、「<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>」までがピンク、
「"; ?>」が黒で表示されました。
ということは、ブラウザは一番目の「?>」までしか判断していない、ということになります。
ためしに一番目の「?>」を「?>」にしたら出来ましたが、やっぱりだめですか?
これでも駄目なら、もうどーにでもなーれー
0507490
2008/05/13(火) 09:30:21ID:YiuUZfQA「?>」→「?&gt;」です。
0508nobodyさん
2008/05/13(火) 09:31:19ID:???0510nobodyさん
2008/05/13(火) 09:38:03ID:???ああスマンよく読んでなかったのは俺のようだ
{}で囲ってるとこを見るとphpから出力してるのか
てっきりhtmlに埋め込んだコードかと思ってた
フォーム部分とは分離したほうがいいけどね
0511nobodyさん
2008/05/13(火) 10:11:10ID:???<?php echo '<?xml version="1.0" encoding="Shift_JIS" ?'.'>'; ?>
これでどう?
0512nobodyさん
2008/05/13(火) 10:24:51ID:???phpが実行されてないと気づけよw
0514nobodyさん
2008/05/13(火) 21:37:28ID:???むしろお前の方が頭悪すぎ。
どう悪いかというと、脳のシナプスの軸索のからレセプターへ
ノルアドレナリンの放出が鈍くなっているか極端に少なくなっている。
栄養の偏りで小さな血栓が脳を部分的に閉塞しているはず。
すぐに病院に行け。
0515nobodyさん
2008/05/13(火) 21:46:16ID:4/oebqLDPHP LearnsのMYSQL LINKRANKを探しています。
使おうと思ったらサイトが閉鎖していました…
必要な機能としては…
・大量にリンク可能(=SQL…ですかね?)
・カテゴリ分類可能
・管理人のみ編集可能
・検索機能付き
・可能ならば携帯可
もし、似たようなものがあればどなたか教えてください。
かれこれ累計20日くらい探しているのですがいまいち良し悪しが判らず、
一番良さそうなのがMYSQL LINKRANKなのですがどこのリンクから入ってもキャッシュカード(?)のブログが表示されてしまいます。
閉鎖していて、移転先もないようなので困ってしまいました。
どなたかお願い致します。
0517nobodyさん
2008/05/13(火) 21:54:15ID:KUG4Ujxhその逆で、
16進数を数字に変更したいのですけど、どのようにすれば可能でしょうか?
0519nobodyさん
2008/05/13(火) 21:58:38ID:KUG4Ujxhhttp://web.archive.org/web/20050801010807/http://sss.moo.jp/php.html
こんなんでどうでしょう?
>>518
それで可能でしたか。ありがとうございます
0520nobodyさん
2008/05/13(火) 23:12:33ID:4/oebqLDうわぁああああそれだぁぁぁぁぁあああ!!!!!
とてもありがとぉぉぉぉぉおおおおお!!!!!!
これで便利なサイトが作れます。三日三晩感謝します。
0521nobodyさん
2008/05/13(火) 23:18:42ID:sbqm3fgyこの変数$bbs_linkの内容をtxtファイルに保存したいんですがうまくいきません。
$count=10としたら
<a href="bbs10.php">10.php</a>
という内容で変数に代入してファイルに書き込みたいんですが
どうすればよいのでしょうか?
0523nobodyさん
2008/05/13(火) 23:36:05ID:Iq/6RSHi数KBになると、そのコネクションを担当しているスレッドがスリープしたり
するんでしょうか。
あるサイトからBIOSをダウンロードしているのですが、時々、コネクションが
切られることなくダウンロード速度が0byte/sになb閨Aしばらくすb驍ニ、また
ダウンロードを始めるみたいな、間欠的な動きをします。
このような動作をするサイトからはfirefoxではダウンロードが完了しない
ことが多いようで、Irvineなどを使わないとダメなようです。
0525nobodyさん
2008/05/14(水) 00:47:29ID:JIUW+do7パラメータが0,1,2→$array[0][1][2]
パラメータが3,4→$array[3][4]
で、パラメータの数と値が毎回変わる感じです
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:???ページA →リンク→ ページB →戻る→ ページA
としたときに、ページAのURLの引数のSIDはもう無効になっているので
そこから
→リンク→ ページC
といったときに、sessionのデータが持ちまわれず、
セッション切れになります。
どうにかならないでしょうか?
0529525
2008/05/14(水) 01:19:18ID:JIUW+do7$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:???東京三菱のIBMの馬鹿SEがわけの分からないジョブコントロールを導入したから。
0531nobodyさん
2008/05/14(水) 01:26:01ID:???0532nobodyさん
2008/05/14(水) 01:36:01ID:???趣味って作っている君には分からないだろうが、
世界最大の金融システムの仕様を全部見れる人なんていない。
仕様全体を通して見れる人がいなければ、テスト漏れが生じるのは当たり前。
そこで、分割モジュール開発手法で世界一位を誇る日立情報なんですよ。
0535nobodyさん
2008/05/14(水) 07:49:20ID:???0536528
2008/05/14(水) 08:49:21ID:???どなたか、わかる方いらっしゃいませんか??
よろしくおねがいします。
0537nobodyさん
2008/05/14(水) 09:11:21ID:???0538nobodyさん
2008/05/14(水) 10:12:09ID:???そういう遷移を防止するために、regenerateしてるんじゃないの?
セッションハイジャック対策の為だけなら、
regenerateしなきゃいい。
0539nobodyさん
2008/05/14(水) 11:22:54ID:???馬鹿呼ばわりしているから釘さすけど、
日立さんだってSEやサポート最悪だったよ?
顧客に提案していた統合型のネットインフラの入口、
GWに負荷かける信じられない設計の物を
平気な顔で提案、販売、トラブル起こしてたからさ
どこもかしこも汚点はあるんだから黙っときなってw
0540nobodyさん
2008/05/14(水) 11:27:38ID:???日立とか富士通とか言う話もう飽きた
どっかいけ
0541nobodyさん
2008/05/14(水) 11:42:33ID:???でも端末IDをセッションIDみたく使うと、docomoの場合、クリックごとに確認画面が出ちゃうんじゃないの?
最近のはそうでもないのかな。
まぁ、通常のセッション管理の他は、重要な画面では端末IDもチェックする、ぐらいでも十分な気もするけど。
>>540
そうそう、このスレでJP1以外の日立の仕事を語るのは良くない。
0543528
2008/05/14(水) 12:21:11ID:???ログイン以外のページへのブックマーク、
他人のログインを防ぐためにおこなっているので
別に戻るはされてもかまわないんですが、
やっぱりその辺は都合よくはできなさそうですかね・・・
他人のログインだけならuser_agentだけでチェックして
同一機種は目をつむる程度にしといたほうがいいでしょうか・・
0544nobodyさん
2008/05/14(水) 12:29:05ID:???これか
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ど忘れしてしまって検索しても思い出せません
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:???0551nobodyさん
2008/05/14(水) 16:41:28ID:???IBMは、自称マネージメント要員の似非エンジニア
NECは、半導体事業で失敗してオーブン系に移転してきた低脳エンジニア
富士通は、元々頭が悪いエンジニア集団で下請けに助けてもらっている
NTT系は、可もなく不可もなくだが、あたりはずれが多い
0553nobodyさん
2008/05/14(水) 16:44:51ID:???関係ない話題はやめて、他人の失敗をあげつらうレスをしてください。
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+mWMOHM0559nobodyさん
2008/05/14(水) 17:07:01ID:???0560nobodyさん
2008/05/14(水) 17:10:12ID:???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="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:???マルチバイト文字も対応が必要なら、自分で考えて。
implode('/', str_split($str))
0566nobodyさん
2008/05/14(水) 18:02:53ID:WFEW7+ynありがとうございます
0567nobodyさん
2008/05/14(水) 18:11:20ID:???0569nobodyさん
2008/05/14(水) 20:44:06ID:???馬鹿Slerの下請けは、ソースコードを一生懸命解析しようとする。
しかし、日立はまず仕様のあるべき姿を業務資料から立案し、
ソースコードはその確認のために使う。
そこで、仕様バグやバグになる可能性を発見する。
根本からシステムを見直す。決してつぎはぎではない。動けばいいではない。
どちらが本来のエンジニアのあるべき姿か分かるよな。
0570nobodyさん
2008/05/14(水) 20:50:14ID:???mb_strlenがstrlenと同じ結果になる
なぜ?
0571nobodyさん
2008/05/14(水) 20:54:09ID:???0574nobodyさん
2008/05/14(水) 22:07:27ID:???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:???phpで部分的にデータを取り出す場合(何行目の何列目?)
のphpの記述はどのようになるでしょうか?
0579nobodyさん
2008/05/15(木) 01:18:21ID:???投稿用メールアドレスをユーザーに登録してもらって
即座に使用可能になるのってどうやってるんでしょうか。
0580nobodyさん
2008/05/15(木) 01:49:32ID:???0581579
2008/05/15(木) 01:49:34ID:???0582nobodyさん
2008/05/15(木) 03:00:12ID:???0584nobodyさん
2008/05/15(木) 04:22:17ID:???0585nobodyさん
2008/05/15(木) 06:14:36ID:???%や_をエスケープするのに簡単な方法はありますか?
自分で考えたのは
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)."'";
という感じなのですが、これでいいのでしょうか?
0586585
2008/05/15(木) 06:16:42ID:???0588585
2008/05/15(木) 07:19:28ID:uzQIA50K騙るのはやめてください
まったく、ひまですね
IDだせばいいんでしょ!
回答よろ
0590nobodyさん
2008/05/15(木) 09:52:12ID:???やり方は以下のページと同じで、
http://www.trekdevel.net/archives/171
コンパイルは成功したのですが、php.iniにzend_extension=...を書いても
php -mやphpinfoにxdebugが出てきません。
こういう場合どこかにエラーでも出ないのでしょうか?
0591nobodyさん
2008/05/15(木) 10:28:13ID:???NGID:uzQIA50K
0592nobodyさん
2008/05/15(木) 10:52:56ID:uzQIA50K0593nobodyさん
2008/05/15(木) 10:56:09ID:???0594nobodyさん
2008/05/15(木) 11:08:52ID:uzQIA50K0595nobodyさん
2008/05/15(木) 11:21:37ID:???>それで動くなら、それでいいじゃん。
動 く な ら 、 そ れ で い い じ ゃ ん ! !
動 く な ら 、 そ れ で い い じ ゃ ん ! !
動 く な ら 、 そ れ で い い じ ゃ ん ! !
0596nobodyさん
2008/05/15(木) 11:43:45ID:???--with-php-config=
で指定する
php-config
locateしてみたのですがないようです。
この場合どうすればいいでしょうか?
0597596
2008/05/15(木) 11:58:42ID:???0599nobodyさん
2008/05/15(木) 12:53:47ID:???PHPの質問受け付けてくれるところなら、ほかにもあるしね。
0600nobodyさん
2008/05/15(木) 13:07:31ID:???どんだけスキルないのw
0605nobodyさん
2008/05/16(金) 05:45:52ID:???病院で精密検査してもらったら心筋梗塞と診断されてしまった。
3ヶ月間入院して安静にしたら、ついに寝たきりになってしまった。
その後、介護認定を受けたら介護度は5になった。
膀胱カテーテルを留置してもらい、しかも疥癬に感染してしまった。
そのため、家族に感染を防ぐ為毎日全身を清拭することになった。
疥癬が治癒したら、入浴サービスを利用することにした。
訪問看護は週に3回である。これは、JP1で典型的に成功した事例です。
0606nobodyさん
2008/05/16(金) 14:05:30ID:???それと同じことが出来るライブラリとかがあれば教えてください
0607nobodyさん
2008/05/16(金) 16:46:29ID:???0608nobodyさん
2008/05/16(金) 18:27:15ID:rxHRpk5j16777215
という数値を
FFFFFF
に直すには、どのような変数を使うのがスマートでしょうか?
よろしくお願いします。
0609nobodyさん
2008/05/16(金) 18:36:51ID:???0612nobodyさん
2008/05/16(金) 18:57:32ID:???0613nobodyさん
2008/05/16(金) 19:15:54ID:LhmlCzbvフォームのデータをDBに入れるときはエスケープ処理をしますが
セッションに入れるときも何か処理したほうがいいのでしょうか?
0614608
2008/05/16(金) 19:38:41ID:rxHRpk5j>>610
レスありがとうございます。
dechexで希望通りのことができました。
実際につかうときはstr_padで桁数をそろえたりも必要かもしれませんね。
>>611
来ると思ってましたがこういうのも好きですw
ありがとうございました。
0615nobodyさん
2008/05/16(金) 20:38:00ID:???Apache 2.2 / PHP 5.2.6 をインストールし直しました。
今までXAMPP下で動かしていたプログラムを移動し、実行したところ、
関数に対して文字列の引数を与える際、"" や '' で囲ってあげなかったところ――例えば foo(hoge);――が以下のようなエラーを吐くようになりました。
NOTICE : Use of undefined constant image - assumed 'hoge' ....
どうやら与えられた引数を定数として解釈してしまい、そんな定数ないじゃん!と言っているようなのです。
これは error_reporting の設定の問題なのでしょうか。それとも別に何か設定があるのでしょうか。
ご助言いただけると幸いです。
0617nobodyさん
2008/05/16(金) 20:55:05ID:???0619nobodyさん
2008/05/16(金) 21:09:20ID:???0620nobodyさん
2008/05/16(金) 21:12:42ID:???http://www.php.net/manual/ja/language.constants.php
> 未定義の定数を使用した場合、ちょうどstringとしてコールしたかのように(CONSTANT vs "CONSTANT")、
> PHPはその定数自体の名前を使用したと仮定します。 この際、E_NOTICE が発生します。
未定義の定数 hoge を使っても、E_NOTICE つきで hoge == 'hoge' と見なしてくれてしまう。
この仕様、世話焼きすぎだと思う。
0621615
2008/05/16(金) 21:44:42ID:cNash65Gそれに訂正です。
foo(hoge); を投げたときに帰ってくるエラーが
Notice : Use of undefined constant hoge - assumed 'hoge' ....
です。
0622nobodyさん
2008/05/16(金) 21:49:02ID:???>>616-620
返信ありがとうございます。
確かに引数は括るべきであって、それを怠った自分が悪いということはわかっています。
ただ、今までは括らなくとも動いていたので、どこの設定でそうなっているのか、ということを知りたく、質問した次第です。
スレ汚し失礼しました。
0623622
2008/05/16(金) 21:49:52ID:cNash65G0627ヌルホース
2008/05/17(土) 01:50:40ID:???通称fpは、どこのサーバをレンタルしてるかわかりますか?
また、どうやって調べるか教えてください。
0628nobodyさん
2008/05/17(土) 01:53:45ID:???はい次の質問者どうぞ。
0629ヌルホース
2008/05/17(土) 01:59:21ID:???ヌルー
どこのスレいったら、教えてくれるでしょうか?
0631nobodyさん
2008/05/17(土) 09:01:16ID:???http://www.prox.ne.jp/
0633nobodyさん
2008/05/17(土) 21:19:35ID:axq+Svx6「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本当ありがとうございます。
出来ました。
0637nobodyさん
2008/05/17(土) 22:06:54ID:???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 〜としてやらずに済ませたい場面がありましたので質問した次第。
0638637
2008/05/17(土) 22:32:30ID:???0640637
2008/05/17(土) 22:39:39ID:???0641nobodyさん
2008/05/17(土) 22:40:47ID:2uwsWgrzこれで満足ですよね、解決したいので回答よろ
0643nobodyさん
2008/05/17(土) 22:47:36ID:???全くわからんけど
今から風呂はいって
頭洗って
珈琲ノンでから考えてみる。
とりあえず、ptint_rでrowの中身みてみた?
0644nobodyさん
2008/05/17(土) 23:08:16ID:???0645nobodyさん
2008/05/17(土) 23:08:50ID:2uwsWgrz$row[]←ここでどうかけばいいの?
}
この部分聞いてるのでおねがいしますよ
0646nobodyさん
2008/05/17(土) 23:09:01ID:???0647637
2008/05/17(土) 23:10:29ID:1fE1M1vI勝手に私を騙ってID出さないで下さい。
もう解決したんですから。
0648643
2008/05/17(土) 23:59:54ID:???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:YbibvtLr0650nobodyさん
2008/05/18(日) 01:05:20ID:Ye23aTZkここまではなんとかなったのですが・・・。
<?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:TyvZJlXjid pri message
11 5 あああ
12 2 いいい
13 5 ううう
14 3 えええ
この場合id 14のメッセージが3/(5+2+5+3)の確率で
表示されるようにしたいのですが良い方法はありますか
0653nobodyさん
2008/05/18(日) 01:19:14ID:???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:???0657nobodyさん
2008/05/18(日) 01:37:51ID:gOK6sC5jget_defined_varsで
ユーザ定義の変数のみを取り出すスマートな方法があったら教えてください。
よろしくお願いします。
0658nobodyさん
2008/05/18(日) 01:41:31ID:???0659nobodyさん
2008/05/18(日) 01:49:01ID:TyvZJlXj重み付けがあるので
0660657
2008/05/18(日) 01:51:46ID:gOK6sC5j自分で考えつくのは、
GLOBALSなどをひとつずつ排除していって、
残ったものがユーザ定義変数である・・・とかそんな感じです。
じっさいに試してはいませんが・・・。
よろしくお願いします。
0661nobodyさん
2008/05/18(日) 02:04:38ID:???0=>"a",
1=>"b",
2=>"c",
"あ"=>"d",
"い"=>"e"
);
array_valuesを使ってひらがなのキーの値だけ取り出すスマートな方法がありますか?
コードにして書いてください
ここは宿題スレじゃないので、必要最低限コードぐらいは自分で考えて書いてください
0666nobodyさん
2008/05/18(日) 02:30:07ID:???randができるのは↑のこと
今回、質問者の悩みは解決しない
0667nobodyさん
2008/05/18(日) 02:33:15ID:???0668nobodyさん
2008/05/18(日) 02:44:33ID:???randなんて今回は使わない
ゆとり乙
0669nobodyさん
2008/05/18(日) 02:54:04ID:???0670637
2008/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`
としないで済ませる事が出来る方法がないかと質問しました。
0671637
2008/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:???0673nobodyさん
2008/05/18(日) 08:46:12ID:???スレ違い
http://pc11.2ch.net/test/read.cgi/php/1158647441
0674nobodyさん
2008/05/18(日) 08:50:37ID:???向こうのスレいってこうゆとり
0675nobodyさん
2008/05/18(日) 09:15:25ID:???0676ヌルホース
2008/05/18(日) 09:42:14ID:???ありがとうございます(`・ω・´)
そういやhttp://tool-1.net/
って穴があるからスクリプト抜けるって聞いたのですが、本当ですか?
0677nobodyさん
2008/05/18(日) 09:43:20ID:???0679ヌルホース
2008/05/18(日) 09:51:07ID:???穴の勉強していたのですが、(`・ω・´)
穴があるサイトの例がhttp://tool-1.net/
らしいので(・・;)
一流のプログラマーが勢揃いしているところで聞かせてもらってます。
0680nobodyさん
2008/05/18(日) 09:54:37ID:???0681ヌルホース
2008/05/18(日) 10:00:32ID:???(・・;)
0682森
2008/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本を見ながらやってますが、「ダウンロードしたソースコードをサーバー上
の適当なフォルダへアップロード」って言うのと、
「tarコマンドで解答処理」ていうのがどこでコマンド入力するのかわかりません。
0686nobodyさん
2008/05/18(日) 17:49:27ID:???0687nobodyさん
2008/05/18(日) 18:20:09ID:???(リンクなどを押されたときに処理をはさんでからメールを起動させたい)
0688687
2008/05/18(日) 18:20:41ID:P5qlbfWP0689nobodyさん
2008/05/18(日) 18:26:26ID:NYmCH+10最近のPHP開発手法のトレンドは何でしょうか?
0690683
2008/05/18(日) 18:28:03ID:???すいません
0693nobodyさん
2008/05/18(日) 18:55:07ID:NYmCH+10#ここってネタスレになってます?
0695nobodyさん
2008/05/18(日) 20:19:49ID:???大差ないと思うがね。
0698nobodyさん
2008/05/18(日) 20:37:04ID:???PHPは基礎的な部分は簡単だけど、
安全なアプリを構築するのはかなりの知識が要るようなのですが。
0699nobodyさん
2008/05/18(日) 20:43:57ID:???アウトソースよりも、この場合はオフショア開発っていうお。
>>698
オライリーの入門PHPセキュリティおすすめ。
0700651
2008/05/18(日) 20:56:15ID:TyvZJlXjtable aaa
id pri message
11 5 あああ
12 2 いいい
13 5 ううう
14 3 えええ
この場合id 14のメッセージが3/(5+2+5+3)の確率で
表示されるようにしたいのですが良い方法はありますか
0703nobodyさん
2008/05/18(日) 21:36:04ID:???rand関係ないし
0704651
2008/05/18(日) 21:49:17ID:TyvZJlXj煽ってるのは僕とは別人です
宿題でもありません
0706651
2008/05/18(日) 21:53:40ID:TyvZJlXjどうするんですか?
0707nobodyさん
2008/05/18(日) 22:07:06ID:???0710nobodyさん
2008/05/18(日) 22:10:54ID:???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使わなくてできるんじゃね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:???0717nobodyさん
2008/05/18(日) 22:21:37ID:???0718nobodyさん
2008/05/18(日) 22:26:14ID:???おれが手直ししてあげよう
0719698
2008/05/18(日) 22:26:23ID:???ありがとうございます。読んでみます。
基本文法習得をなんとか終えた後、
今「PHP サイバーテロの技法」という本を読んでいますが、
ヌルバイト攻撃とかディレクトリ・トラバーサルとか、自分にはかなり難しいですね。
とはいえ一通り対策が講じれるようにならないとまずいのですが…
PHP簡単、というのは良く聞きますがセキュリティまで考えたら
そんな単純な話ではないなぁ、と。
0720nobodyさん
2008/05/18(日) 22:27:41ID:???おれが手直ししてあげよう
0721nobodyさん
2008/05/18(日) 22:28:25ID:???早くコード書いて俺に答えを教えてくれ。もう日曜の10時半なんだよ。
0723nobodyさん
2008/05/18(日) 22:31:37ID:???0724nobodyさん
2008/05/18(日) 22:32:00ID:???0725651
2008/05/18(日) 22:36:59ID:TyvZJlXjまあ、困り度はそんな感じです
ななしで煽るのは止めてくださいずら
0726nobodyさん
2008/05/18(日) 22:43:42ID:???array_randでもrandでも好きなようにやればいいさ。
0727nobodyさん
2008/05/18(日) 23:10:02ID:???よし、ここは全くわからない俺が
しかもrand関数って何という俺が
風呂はいって
珈琲飲んで
パジャマに着替えてから一緒に考えてあげよう。
ところで、ID14のPRI値が3でmessage値が「えええ」だから
ID14のPRI/(全部のPRIの値)の確率でID14のmessageを表示されたいの?
0728nobodyさん
2008/05/19(月) 00:10:36ID:i7qsMY9zどうやればいいですか?
0729651
2008/05/19(月) 00:10:56ID:f/z8MzuC0731727
2008/05/19(月) 00:40:33ID:???$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:uTe3T86TUTF-8で運用するWebフォームから、iso-2022-jpでメールを出そうとしているのですが
文字コードマッピングの問題で 鰍竅`(WAVE DASH)などがどうしても化けてしまいます。
Web上での文字コードのルールについて基本的な知識やルールは承知しているのですが
ユーザが入力してくる文字(機種依存文字が多々あり)をそのままメールに活かすように
したいのです。
もし解決法をご存じの方がいらっしゃいましたら是非お知恵をお貸しください。
よろしくお願いいたします。
0733732
2008/05/19(月) 04:51:38ID:uTe3T86TPHP 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:???0735nobodyさん
2008/05/19(月) 10:17:54ID:???目的に合うかわからんけど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:???Javascriptで取得できるから、あとはがんばって。
ただ、ブラウザごとに微妙に動作が違った気がする。
<form onSubmit="alert(this.file.value)">
<input name="file" type="file">
<input type="submit">
</form>
0739nobodyさん
2008/05/19(月) 11:46:25ID:qHM47HMzhiddenに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のカーネルが問題なんでしょうかね…
よろしくお願いします。
0742nobodyさん
2008/05/19(月) 18:09:53ID:???なんでライブラリの問題でカーネルが原因になるんだか
/usr/bin/ld: cannot find -lirc はlircが見つからないではなく
libirc.aが見つからないって意味だ
よって yum install *lirc* とか無駄
libircが入ったパッケージをインストールするか、強引だがリンカの指定から-lircを外して動けばOK
0743nobodyさん
2008/05/19(月) 18:45:13ID:???解答ありがとうございます。
仮想サーバーと同じ構成のマシンがもう1台ありまして、
そのマシンはFedora5なんですが、
makeまではいけたので、
Xenのカーネルが問題なのかなと思ってしまいました。
エラーの意味やライブラリを理解できていない自分には、
リンカの指定をはずすなどかなり難しいそうなので、
libircが入ったパッケージを探してみます。
0744nobodyさん
2008/05/19(月) 19:41:48ID:xzrDZ7d0Apache 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:???0746nobodyさん
2008/05/19(月) 20:09:53ID:???PEAR::AUTHを使ってみたいのですが、
パスワード暗号化の時saltを付け加える事ってできますか?
暗号化方法の選択でSMD5等が無いようなので…
0747746
2008/05/19(月) 20:16:05ID:???0748746
2008/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:???0752746
2008/05/19(月) 20:56:08ID:xxBfPPP+他でも聞いたのですが答えがなかったのです。
0753nobodyさん
2008/05/19(月) 20:57:51ID:???http://www.pearlgakki.com/
0754nobodyさん
2008/05/19(月) 20:59:14ID:???pearlってライブラリなかった?
0755nobodyさん
2008/05/19(月) 21:00:11ID:???http://www.jap.co.jp/pearl/
0756ハチミツ
2008/05/19(月) 21:52:54ID:sdAnx2Kbttp://bbs.832tool.net/
のショボい掲示板を作って、パーミッションは604にしました。
しかし、なぜかindex.phpのスクリプトが抜かれてしまいます。
教えてください。
また、サーバはXREA.COMを借りています。
セキュリティの穴があるとか言われたことがあるのですが、誰か詳しい方教えてください。
0757nobodyさん
2008/05/19(月) 21:56:08ID:???0758ハチミツ
2008/05/19(月) 22:05:23ID:sdAnx2Kbほぼ自作のindex.phpに穴があるせいか、パスワードの入ったログファイル(.cgiでパーミッション606)がアクセスされてしまうのです。
普通なら.cgiは、アクセスされないのですが、穴の性で見られてしまっているということです。
0759nobodyさん
2008/05/19(月) 22:07:19ID:???どっかで見たと思ったらあった。
情報小出しにするんだったら、プーさんになめられとくもんだと思う。
△▲ WebProg 初心者の質問 Part17 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1204462146/321-322
0760nobodyさん
2008/05/19(月) 22:08:14ID:???0761ハチミツ
2008/05/19(月) 22:10:33ID:sdAnx2Kbhttp://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よく意味がわからないです。
>>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指定されたファイルが見られてしまうと言うことです。失礼しました。
データの書き込みは
{$id}-log.cgi
と記述していまして、
id=testして、あればログファイルを記述しなければエラーをだすようにしているのですが
この$_GET['id'];
に不正に
index.phpが仕掛けれているせいか、-log.cgiが擦り抜けられてしまうという怖い攻撃らしいです。
昔はそれで、中身が表示されたのですが、今は対策したはずです。しかし、中身が漏れているらしく…
教えてほしいです。
0765ハチミツ
2008/05/19(月) 22:29:04ID:sdAnx2Kb0766nobodyさん
2008/05/19(月) 22:36:15ID:???0767ハチミツ
2008/05/19(月) 22:38:02ID:sdAnx2Kb0768nobodyさん
2008/05/19(月) 22:40:51ID:???ない気がする。そんなの、どう対策すべきかは誰にも判らんだろ。
0771nobodyさん
2008/05/19(月) 22:50:24ID:???いやー、でもさ何気に>>746はここの解答者には難しくね?(俺含め)
そりゃ平のMD5がオンライン辞書攻撃であっさり抜かれる事があるのは承知してるが
0773nobodyさん
2008/05/19(月) 23:54:40ID:???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一回のクエリで全データを配列に入れて、それからforなどで表示する方法と、
どちらが速くて負荷がかからないですかね?
実験では後者ですが、具体的な差が説明されている
サイトなどをご存じでしたら、教えて下さい。
0780nobodyさん
2008/05/20(火) 01:18:34ID:???通信ならDB呼ぶオーバヘッドを考慮して前者
メモリなら後者
あとね自分でベンチとったならそれ信じなよ
こんな匿名のとこで聞いて前者のほうが断然早い!とか言えば信じ込んじゃうわけ?
自分の結果に自信を持ってくれ
0782nobodyさん
2008/05/20(火) 11:27:00ID:MX4GJ438上みたいな記述って問題ないでしょうか? echo $var1_1と試したところ、
ちゃんと表示はされてるんですが、念のため確認したいです。
どなたかご回答お願いします。
0783nobodyさん
2008/05/20(火) 11:27:56ID:???0784nobodyさん
2008/05/20(火) 11:29:22ID:???調べるって大事
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:???http://jp2.php.net/manual/ja/book.outcontrol.php
0788nobodyさん
2008/05/20(火) 13:13:01ID:???そのページよりは
http://www.php.net/manual/ja/language.operators.php
の方がいいでしょ。
代入演算子は right結合だから
$a = $b = $c は $a = ($b = $c) として評価
0789786
2008/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:???正しくは
echo $bar->toString();って感じです。
echoが通常呼び出す文字列変換メソッド?を書き換えられれば良いのでしょうか。よくわかりません。
0792nobodyさん
2008/05/20(火) 20:28:34ID:???0793nobodyさん
2008/05/20(火) 20:41:24ID:???デフォルトではなんかのインターフェイスを呼んでおいてほしいです。toString()が存在するかどうかすら隠ぺいしておきたい。
なるべくソースコードをすっきりさせるために…
0794nobodyさん
2008/05/20(火) 20:42:27ID:???これは明示的に変換が必要なケースだろ
0795nobodyさん
2008/05/20(火) 20:48:21ID:???0796nobodyさん
2008/05/20(火) 20:51:10ID:???http://jp.php.net/manual/ja/language.oop5.magic.php
0798nobodyさん
2008/05/20(火) 22:17:15ID:aFyFy0AFmb_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:???0800nobodyさん
2008/05/20(火) 22:37:15ID:aFyFy0AFxmlは別の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:???0803nobodyさん
2008/05/20(火) 23:21:06ID:???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:???>xmlにはWindows-31J指定できないんで
これ本当?Windows-31J は IANA文字コードセット名だから使えて良い気がするんだけど。
PHPもサポートしてるし。
http://www.php.net/manual/ja/mbstring.encodings.php
とりあえず全角ハイフン無しのデータ作って読み込めるところまでやった方が良いんじゃね。
0806nobodyさん
2008/05/20(火) 23:50:24ID:rMEOfKkXこれはどのように理解すればいいでしょうか?
$a = 'hoge';
$b =& $a;
var_dump($b);
$a = 'poge';
var_dump($b);
unset($a);
var_dump($b);
0807nobodyさん
2008/05/21(水) 00:01:15ID:???ほいほい
http://jp2.php.net/manual/ja/language.references.unset.php
0810nobodyさん
2008/05/21(水) 01:40:53ID:???名前とか。
0811nobodyさん
2008/05/21(水) 01:57:50ID:???あんまりマトモなやり方じゃないが debug_backtrace で一応取れる。
マトモな方法があったら自分も知りたい。
http://jp.php.net/manual/ja/function.debug-backtrace.php
0812nobodyさん
2008/05/21(水) 01:58:57ID:???0813nobodyさん
2008/05/21(水) 02:29:38ID:???0814nobodyさん
2008/05/21(水) 02:55:49ID:???0816nobodyさん
2008/05/21(水) 09:04:09ID:???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:???それまで待つ
0820nobodyさん
2008/05/21(水) 17:51:04ID:7+lnnayNmysqlにデータを登録するとき、<p style="color:red;">A</p>のような文字列を入れたい場合は
htmlspecialchars()をすべきなんでしょうか?
addslashes()でやったところ上手くいかなかったのですが、html〜をしたら上手くいきました
でも、本を読むとhtml〜は引き出したデータをhtmlに出力するときに使うものと
あるので、変なことをしている(どこかに手違いがある?)のかと心配になっています。
どうなんでしょうか?
環境はphp5 mysql5 apache2です
よろしくお願いします
0822nobodyさん
2008/05/21(水) 18:00:21ID:???addslashedで何がダメだったのか不明だが、prepareを使うとか
mysql限定でいいならmysql_real_escape_stringとかそのあたりで好きなの使え
0824nobodyさん
2008/05/21(水) 22:41:35ID:2LrwwB21prototype.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"; ではダメでした。
よろしくお願いします。
0826nobodyさん
2008/05/21(水) 22:48:37ID:???0827nobodyさん
2008/05/21(水) 22:56:12ID:???レスポンスコードとかヘッダとか一部の小さいやつ除く)
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+GQhqgHsakuraのレンタルサーバ借りてるのですが、簡単なお小遣い帳のCGIがありましたら、ご教授ください。
0831nobodyさん
2008/05/22(木) 01:54:57ID:???このスレは作る人を対象としたスレです
0832nobodyさん
2008/05/22(木) 02:58:49ID:???0833nobodyさん
2008/05/22(木) 03:40:10ID:???いついつにいくらお小遣いをもらったとか、次の日にママンに内緒で銀行からお金振り込んで
モリタポ買っちゃったとか、そういうのを書き留めておきたいと。で、世界中に公開したいと。
ずっと前にWeb制作板の「こんなCGI探してます」スレが埋まって、
誰も次スレを立てないまま現在に至ってるからこうなるんだろうか。
0834nobodyさん
2008/05/22(木) 12:16:13ID:AwS6iPvU$timestamp=***("Y年m月d日",$date);
みたいな。
strtotimeは規定の形式じゃないといけないですし
なんか無いですかね?
0835nobodyさん
2008/05/22(木) 13:01:01ID:???0836nobodyさん
2008/05/22(木) 13:01:28ID:mji3QyC6fscanf()
0838nobodyさん
2008/05/22(木) 14:51:56ID:???「-0」と返ってくる。
0の時はマイナスが要らないのだけど、どうすりゃいいの?
正規表現で-0だったらreplaceで0にするとかやるの?
どうカクのよ
0841nobodyさん
2008/05/22(木) 20:30:37ID:pnGKUbbW半角スペースでsplitかexplodeしろって話かな…
0846nobodyさん
2008/05/22(木) 23:24:56ID:???そのまま返すのと、&を付けて参照で返すのと、違いってありますか?
例えば、以下の2つの関数で戻り値に何か違いはあるでしょうか?
function &bar1(){
$obj = new Foo();
return $obj;
}
function bar2(){
$obj = new Foo();
return $obj;
}
0848nobodyさん
2008/05/23(金) 00:12:31ID:???0849nobodyさん
2008/05/23(金) 00:20:03ID:???-0.8 が -0 になるって時点で、小数部の桁数は0 なのは自明じゃないかって思ってたんだけど、
そういう理解でいいのかな。
どうもありがとう。
0850nobodyさん
2008/05/23(金) 00:56:38ID:AusPFJ9q$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がおそらく想定しているであろう仕様の範囲内だったら、>>839でも問題ないです。
ただ、「-0だったら0にする」という目的に対しての>>839は、
後々いろんな副作用に悩まされるかもね。と言いたかったわけです。
0854nobodyさん
2008/05/23(金) 01:20:04ID:h/rWmUOtどうしたらよいんでしょうか? 他には大文字記号が文字化けする。
エンコードはSJIS→SJIS
0855nobodyさん
2008/05/23(金) 01:38:00ID:???どうもありがと。
良く見たら質問がおかしいな。 -0.8 だったら -1になるし。-0.08の間違いかね。
>>854
何がどう渡らないのか、サンプルコード載せたら?
0856nobodyさん
2008/05/23(金) 01:47:42ID:kzFC2aJn$strPsList = passthru('/bin/ps ax');
?>
linuxのpsコマンドの結果を変数に代入する処理です。
変数へきちんと結果が格納されるのですが、
コマンドラインで上記のファイルを実行すると
ターミナル上にもpsコマンドの結果が表示されて困ってます。。
どうすれば解決するでしょう??
0857nobodyさん
2008/05/23(金) 01:47:51ID:1yGfTtCFって何のエラーを言っているんですか?
0858nobodyさん
2008/05/23(金) 01:55:41ID:nxQoYtgSecho "<input type=\"hidden\" value=\"htmlspecialchars($_POST['var'])\" />";
っていう表現、できないんでしょうか?
0861nobodyさん
2008/05/23(金) 02:54:11ID:h/rWmUOtコンパイルファイルが見つからない。
つまり構文エラー
0862nobodyさん
2008/05/23(金) 02:57:03ID:h/rWmUOtコンパイルされてない
0863nobodyさん
2008/05/23(金) 03:06:14ID:???0865nobodyさん
2008/05/23(金) 08:43:10ID:???echo "<input type=\"hidden\" value=\"".htmlspecialchars($_POST['var'])."\" />";
0866nobodyさん
2008/05/23(金) 13:40:51ID:z2YBLdy6Googleの検索結果のようにxx件中 yy-zz件表示というのをやりたいのですが、
xx件中はPager::numItems()で解決したのですが、現在の表示位置(yy-zz)を返してくれる関数がありませんでした。
何かうまい具合に解決する方法を教えて下さい。
0867nobodyさん
2008/05/23(金) 14:14:41ID:Yvld99GN0868nobodyさん
2008/05/23(金) 14:20:25ID:???0869nobodyさん
2008/05/23(金) 14:21:08ID:???0870nobodyさん
2008/05/23(金) 15:36:18ID:zGb3lfL6web経由でfaxを送信したいのですが、
どのようにすればいいですか?
fax機とwebサーバー機は接続されています。
webサーバー機から通常のfax印刷で送信することは可能です。
大変申し訳ないのですが、急いでいますので詳しく教えて下さい。
0871nobodyさん
2008/05/23(金) 15:44:57ID:???急いでるんだ、早く答えろ。
0872nobodyさん
2008/05/23(金) 15:45:05ID:???0873nobodyさん
2008/05/23(金) 16:13:21ID:zGb3lfL6faxとサーバーはLANで接続されていて、
例えばサーバーから印刷する際に、プリンターをfax機(複合機)を選べば、
電話番号の画面が出て、入力するとfaxが普通に送れます。
それを、このwebサーバーにつながっているブラウザクラインとから、
ボタンを押すと、特定のデータをfaxとして送信できる、とまぁこういう訳です。
宣しくお願いします。結構急いでいます。
0874nobodyさん
2008/05/23(金) 16:19:57ID:???教えてもらえばいいと思うんですよね。
0875nobodyさん
2008/05/23(金) 16:21:52ID:zGb3lfL60876nobodyさん
2008/05/23(金) 16:23:55ID:???時間は金で買うもんだよ、坊や
0877874
2008/05/23(金) 16:31:42ID:???とにかく急いでるんですが困っています。急ぎですので早急に回答お願いします」
という質問だけのスレなら、確かに存在意義を全否定したことになるんでしょうけど。
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:???必死なのは伝わるけど名前出してリアルを再現しても答えてもらえるというわけじゃないよ。
>webサーバー機から通常のfax印刷で送信することは可能です。
これがカギでしょ。どういうコマンドを裏で叩いてるかわからないことにはどうしようもない。
>>883
持ち帰りは情報流出になりかねないからどんな些細なことでも禁止されてるんじゃない?
0885nobodyさん
2008/05/23(金) 17:53:47ID:???あ、クライアント常駐の派遣やSESだとそうだね
その場合は単純に検討してみますでいいんだけど
帰ってやり方が云々って書いてあるから、社外打ち合わせの場の話かと思って
0886nobodyさん
2008/05/23(金) 17:54:01ID:???0887nobodyさん
2008/05/23(金) 17:59:06ID:???まぁ、上司にでも話して、無かったことにしてもらうのが一番だと思うけど。
0888nobodyさん
2008/05/23(金) 18:08:31ID:???Windowsサーバ使ってCOM経由でPHPから通常印刷やFAX送信したことはある。
土日にちょちょいと組めばいいと思うよ。
WebサーバがWin以外だと
>webサーバー機から通常のfax印刷で送信することは可能です。
ここをどうやってるのかによるね。
あとfax機がメール受信をFAX受信としたり、FAX送信のゲートウェイ機能
を持つものもあるから、場合のよっては利用できるかも。
0889nobodyさん
2008/05/23(金) 18:12:57ID:pC5B1H2j負荷軽減のために、元画像が更新されていなければブラウザにキャッシュさせたいと思ってます。
で画像の更新日時を取得して、日付フォーマットを整形した後
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:???.NET最高だぜ。
0891nobodyさん
2008/05/23(金) 18:33:20ID:???Cache-Control に no-cache とか入ってんじゃない。PHPだとデフォルトで付くっぽいし。
ブラウザ側でヘッダ確認したら。
0892889
2008/05/23(金) 19:29:11ID:pC5B1H2jありがとうございます
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だとキャッシュから読んでないって認識はあってますよね?
0894nobodyさん
2008/05/23(金) 21:13:10ID:7Wk9ZZ+bちなみにそこに直接飛ぼうとした場合
http://www.example.com/hoge も http://www.example.com/hoge/ もどちらも403
0895nobodyさん
2008/05/23(金) 21:14:36ID:???0896nobodyさん
2008/05/23(金) 22:53:10ID:nxQoYtgS確認画面でhtmlspecialchars()や、登録画面でaddslashes()をかけたりしますか?
しょうもない質問ですみません、ちょっとアンケートというか、教えてください
0897nobodyさん
2008/05/23(金) 22:58:38ID:???バリデーションをやって数値である事を確認する
その後はエスケープはしないな
0898896
2008/05/23(金) 23:17:18ID:nxQoYtgS(こんな言葉も知らないですみません、一応調べたんですが。。)
確認画面で数値(期待した型)でなかったら登録させない処理と考えてOKですか?
0899nobodyさん
2008/05/23(金) 23:37:24ID:???もしそれらが同じ名前のセッション変数を使っていたら、
他のアプリからもその変数が見えてしまうのでしょうか?
0902nobodyさん
2008/05/24(土) 00:07:18ID:???設定にもよるけど、デフォルトだと見えたと思う。
セキュリティ上の問題じゃなくて、混在しなければ良いだけなら、
http://www.php.net/manual/ja/function.session-set-cookie-params.php
で使用するCookieにパスを指定する。
0903nobodyさん
2008/05/24(土) 09:43:14ID:???どっちのほうが使い勝手いいかな?
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:???0909mx
2008/05/24(土) 18:06:52ID:???すべての串に共通してあらわれる関数はありますか?
あれば教えてください。
アクセスを拒否したいです。
0910nobodyさん
2008/05/24(土) 18:09:45ID:???0911nobodyさん
2008/05/24(土) 19:01:13ID:???串制限やアクセスコントロールは PHP 側でせずに、
可能でしたら Apache, .httaccess 側でまとめて面倒見た方がよいと思います
0913nobodyさん
2008/05/24(土) 19:30:52ID:???例えば、携帯電話からのアクセスを PHP で振り分ける、
といった情報が検索するとすぐに見つかると思いますが、
PHP でなく .htaccess (Apache) を使っても同じ振り分けが出来ます
1. PHP で振り分ける方法
2. .htaccess で振り分ける方法
アクセス禁止を例えに、かなりおおざっぱに説明してみますと、
1. の場合は、Apache で HTTP Request を PHP (アプリケーション層)に渡し、
手渡された PHP 側で処理して返すというフローになります
2. ですと、HTTP Request は PHP に渡さず Apache で処理してしまって
返すフローになるため、1. に比べて PHP 処理分だけ処理が軽く済むわけです
「.htaccess」 「プロキシ」 「アクセス制限」 といったキーワードで検索すれば
該当する情報が見つかると思いますので参考までっにっに
0914913
2008/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="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["title"]
$_POST["toukousya"]
と個別に取得すればよかろう
というか、それってファイル名だけ貰えばいいのか?
あと>>1な
0918nobodyさん
2008/05/24(土) 23:28:15ID:muO/VwYBphpのマニュアルも見てみたのですが、perlとどう比べて良いかが判らなかったもので…。
エンコードも一つずつやらなきゃ駄目って事になるのでしょうか。
gazouならこういう処理
titleならこういう処理…と分けたかったのです。
phpのバージョンは5です。OSはWindowsです。
0919nobodyさん
2008/05/24(土) 23:47:14ID:???0920nobodyさん
2008/05/25(日) 00:02:04ID:???はい?PHPでも
while (($key,$val) = each %in) {
すればいいんじゃないの?
何が問題なのかよく分からん。
0921nobodyさん
2008/05/25(日) 00:20:02ID:???foreach( $_POST as $key => $val )で取れるが
> gazouならこういう処理
> titleならこういう処理…と分けたかったのです。
関数に処理を書いて、1つずつ取って渡すほうがいいんじゃねえの?
まあこんなのは書き方がいくらでもあるんで
0922nobodyさん
2008/05/25(日) 00:43:48ID:bR/AjWRwcheckboxを受けとる場合に name="foo[]" とHTMLに記述し
$foo = $_POST["foo"] で配列を取得できますが、チェックが一切されていない状態では
isset( $foo ) がtrueとなります
$_POSTにfooが入っていないので当然なのですが、$_POSTにfooをnullで入れてくれるような
設定やオプションはあるのでしょうか?
0923nobodyさん
2008/05/25(日) 00:53:48ID:???とかじゃいかんの?
いくらでも方法あると思うけど。
0924nobodyさん
2008/05/25(日) 00:57:39ID:rVIlw47Xですね、もうちょっと理解してから質問するようにします。
>>920
phpで、どうやったらinに全部入るかわからなかったもので・・・
>>921
ありがとうございます。それでやってみます。
答えて下さった方、ありがとうございました。
0925nobodyさん
2008/05/25(日) 01:25:55ID:gx/qo6M9array_search(に限らないかもしれないけど)で、配列の一番目にヒットした場合に返される「0」がNULLと同じ扱いになるので実質機能しないんですが。
0926nobodyさん
2008/05/25(日) 01:29:23ID:???0928nobodyさん
2008/05/25(日) 01:35:54ID:???0929nobodyさん
2008/05/25(日) 02:31:58ID:fA12GUeBWindows上では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
0930929
2008/05/25(日) 02:39:03ID:fA12GUeB$resolver->nameservers[0] = '192.168.11.1';
しかし、これは明らかな環境依存です。
一般的な書き方をするにはどうしたらよいものでしょうか?
自分のマシンのDNS設定を取得できたらよいのですが・・・
0931929
2008/05/25(日) 03:34:39ID:fA12GUeBもっとスマートな方法があればなあ・・・
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;
}
0932929
2008/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:???0934929
2008/05/25(日) 03:37:13ID:fA12GUeBprint_aはこちらのサイトで紹介されてるものです。
print_rに置き換えて読んでください
print_rをより分かりやすくするprint_a:phpspot開発日誌
http://phpspot.org/blog/archives/2006/04/print_rprint_a.html
0935929
2008/05/25(日) 03:37:57ID:fA12GUeBすいません。
どうしてもわからず質問してしまいました。
おさわがせしました。
夜分遅くご協力いただきありがとうございました。
0937nobodyさん
2008/05/25(日) 12:13:40ID:???なんでdie('めっせーじ);
って書かないの?
0938nobodyさん
2008/05/25(日) 14:23:51ID:BQPLi7Wv使い分けの注意点など、どなたか簡単に教えてください お願いします
0940831
2008/05/25(日) 15:07:35ID:YGpuFVGvレスに気づかなかった。
ありがとうございます!!
0941nobodyさん
2008/05/25(日) 22:47:40ID:???Postとかから直にぶっこめるから楽だったんだけど、その辺で躓いて疑問符に鞍替え・・・・
という自分の記憶は勘違いだったんでしょうか。
0942nobodyさん
2008/05/25(日) 22:50:30ID:???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:???http://developer.mozilla.org/ja/docs/DOM:window.opener
あとはWeb制作のJavascriptスレで。
0946nobodyさん
2008/05/26(月) 04:51:04ID:???0947(><)
2008/05/26(月) 07:36:02ID:???こんにちは。いつもお世話になってます。
今回質問した件は、正規表現で次のように表したいのですが、どうしたらよいのでしょうか?
#DO#コメント#/DO#
ドコモ専用コメント
#AU#コメント#/DO#
AU専用コメント
などです。
【コメント】と書かれた部分は指定した機種しかあらわれないようにしたいのです。
実際にしようで使ってみると
@あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。
このように記述したらAUからアクセスしたら
@あなたの携帯はAUです
ドコモからアクセスしたら
@あなたの携帯はドコモです。
このようなものを作りたいです。わかる方よろしくお願いいたします。
0948nobodyさん
2008/05/26(月) 07:52:19ID:???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;
}
0953nobodyさん
2008/05/26(月) 10:01:07ID:???0954nobodyさん
2008/05/26(月) 11:04:01ID:???$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これ↑を実行しても全角スペースがトリムされないので
これ↓を実行することにしたけど、全角スペースが"@"マークと勘違いされて表示されてしまう。
"@"マークを表示しようとしても全角スペースと間違えられて表示されたりします。
$item_keyword=ereg_replace('/^[ ]*(.*?)[ ]*$/s', '$1', $item_keyword);
いったいどうしたら、全角スペースをトリムすることができるでしょうか?
0956nobodyさん
2008/05/26(月) 13:55:46ID:???0957955
2008/05/26(月) 14:04:14ID:v5Q4661mこのサイトでわかりました。
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:???それの統計値を求めるプログラミング教えて下さい。
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://wwwwwwww.ws/
ココみたいなRSSアンテナのサイトを作りたいのですが
どういう所を勉強すればいいですか
ほかにも
・取得した記事の記事内や記事タイトル、カテゴリで振り分けをしたり
・記事内に画像リンクがあったらそれを小さくして自動で表示する
ようにしたいのですが
0963nobodyさん
2008/05/26(月) 19:10:40ID:???RSSはXMLで提供されているので、
XMLを自分で構文解析するか、SimpleXML関数のようなものを使って解析して情報を抜き出す。
タイトル・カテゴリもRSS側でどのタグに対応するか調べて抜き出せばいい。
画像のリンクは記事中の<img src="*">を正規表現なりで探せばいい。
あとは解析して抜き出した結果を一時的に配列にいれて、整形して表示する。
もしくはDBに入れてDBから取り出して表示する。
おおまかな流れをまとめると
・RSSの登録
・登録したRSSから誰かがアクセス毎あるいは一定時間でジョブを実行して情報をとってくる。
・とってきた情報を自分で加工して表示する。
0964nobodyさん
2008/05/26(月) 20:25:48ID:???でロックの解除に失敗(返り値が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+bsetcookie("test","on",time()+3600);
if($_COOKIE["test"]=="on"){
echo "クッキーは有効です";
}
と言う方法を使っているのですが、別の方法(もっと簡単)なのはありますか?
0969nobodyさん
2008/05/27(火) 09:58:10ID:fU1I8wAO両方読込時にファイル初期化してるよね?
0970nobodyさん
2008/05/27(火) 10:01:08ID:???検索したらこんなの見つかったけど?
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k03.htm
0972nobodyさん
2008/05/27(火) 10:14:42ID:???http://jp2.php.net/fopen
0973nobodyさん
2008/05/27(火) 10:22:11ID:fU1I8wAOありがとうございます。そのあたりは読んだのですが、
"w+"もオープンしたタイミングでファイルサイズがゼロになりますよね?
「"w+"は読み込み/書き出し用 」とありますがこの「読み込み」は
何を意味するのかがわからなくて。
0974nobodyさん
2008/05/27(火) 11:09:32ID:sLUbAiXg「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携帯で送信するヘッダーとまったく同じものを送信したのですがアクセスできませんでした
その場合はやはりIPで判別しているのでしょうか。
とはいってもエスパー問題だよな
0976nobodyさん
2008/05/27(火) 11:13:34ID:???$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"
0977969
2008/05/27(火) 11:21:17ID:fU1I8wAOありがとうございます。
理解できました。
0978nobodyさん
2008/05/27(火) 11:57:40ID:???echo "フラグは".(($flg === TRUE)? "成立" : "不成立")."です。";
こんな使い方できたのか
0979nobodyさん
2008/05/27(火) 12:11:42ID:???0980nobodyさん
2008/05/27(火) 12:12:23ID:???$flg="成立";
echo $flg?: "不成立";
みたいなのも可能らしい。
この場合三項演算子じゃないし、何て呼ぶんだろ。
0981nobodyさん
2008/05/27(火) 13:02:24ID:???みたいな書き方はいつになったら出来るようになるんだ。
0983nobodyさん
2008/05/27(火) 17:23:26ID:???全然まともな回答がなくて、がっかりました。
全く役に立たずのスレです。もう来ない。
0984nobodyさん
2008/05/27(火) 17:32:01ID:???面倒そうだし、もうASPでいいんじゃない?
0985nobodyさん
2008/05/27(火) 17:43:57ID:???それ分からなかったら、誰も答えられるわけないし、
それさえ分かれば、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/
0990nobodyさん
2008/05/27(火) 20:12:36ID:???絶対一緒に仕事したくないな。
レス数が950を超えています。1000を超えると書き込みができなくなります。