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

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

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

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

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

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

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

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

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


ちょう気になります。
9nobodyさん:2009/10/12(月) 12:12:33 ID:???
テンプレにphp5.2→php5.3の違いも書いて欲しかった
10nobodyさん:2009/10/12(月) 12:17:51 ID:???
キミが書くんだよ
11nobodyさん:2009/10/12(月) 13:22:58 ID:???
10が書いてくれるって
12nobodyさん:2009/10/12(月) 15:07:24 ID:???
今時新たに5.2入れることなんてあるのか?
13nobodyさん:2009/10/12(月) 15:28:16 ID:???
4も5もいっしょやんけ
14nobodyさん:2009/10/12(月) 18:13:58 ID:VqENsVDc
よろしくお願いします。
連想配列の値をforeachで取り出して、データベースへ
インサートすると上手くいきません。

DBへの挿入自体は、出来るのですが、繰り返しているために
レコード自体が、要素の分だけ増えてしまいます。
(値が20あると、DBの行も20だけ増えてしまいます。)
where句を加えてみても、良い結果になりません。
どうしたら、1行(1 row)に収められますか?

foreach ($data as $key => $val){
$ret = mysql_query("INSERT INTO table ($key) VALUES ($val)");
}
15nobodyさん:2009/10/12(月) 18:21:33 ID:???
update
16nobodyさん:2009/10/12(月) 18:49:24 ID:???
それだけじゃ何がしたいか分からんよ
17nobodyさん:2009/10/12(月) 18:57:58 ID:???
分かるよ
implode(',' $data)
ってことでしょ
18nobodyさん:2009/10/12(月) 19:10:59 ID:???
String連結して1文にすればいいじゃないか
valはis_stringやis_int使って型分けしたほうがいいと思うが
INSERT INTO table (key1, key2, keyn) VALUES (val1, val2, val3);
ていうか全部増えるってNOT NULL制約はつけてないのか?それともDEFAULT入れてるのか?
テーブル設計見直したほうがいいんじゃね
19nobodyさん:2009/10/12(月) 19:42:03 ID:VqENsVDc
>>14 です。
レスありがとうございます。
質問の仕方がわかりづらかったみたいですみません。
文字の連結ではないです。それだと列にまとまってしまいます。

現状は、行(レコード)が増えてしまう。たとえるなら、
碁盤の目の対角線上(左下→右上)のように、
値を入れるごとに、レコード自体がforeach のために、
1個ずつ増えてしまうのです。更に、わかりづらいかも。

>>15 さんのアドバイスのように、UPDATE で今やっています。

レコードのidを一個だけ増やして、その行をwhereで指定して
そこをUPDATEする感じで。
idを増やすとこまではできました。UPDATEがまだできないですが、
もう少しで出来そうです。
ありがとうございました。
20nobodyさん:2009/10/12(月) 19:42:49 ID:???
前スレ>>999
まぁようするに適材適所だよな
21nobodyさん:2009/10/12(月) 19:51:55 ID:9W/f2NwM
【OS名】CentOS 5.3
【PHPのバージョン】php5.1.6
【連携ソフトウェア】なし
【ブラウザ】Firefox3.5
【質問内容】

教えてください。PHP+Javascriptでcookieに値をセットしようとしています。
やりたいことはaaa.bbb.comにアクセスして、ccc.ddd.comドメインに対するcookieを保存することです。

■存在するマシン
・ローカル端末
・Webサーバ1(aaa.bbb.com)←ローカルホストにあるhttpdだが、hostsファイルを使ってこのような名前解決を可能にしている。
・Webサーバ2(ccc.ddd.com)←ローカルLAN内のマシンで、hostsファイルを使ってこのような名前解決を可能にしている。

まずローカル端末からhttp://aaa.bbb.com/a.htmlにアクセスします
a.htmlの中にはJavascriptが入っており、そいつはccc.ddd.comのa.phpにGETリクエストを飛ばすようにしています。
a.phpの中にはsetcookie関数が仕込まれており、これによってccc.ddd.comドメインに対するcookieをセットしようと
考えていますがうまくいきません。

続きます。
22nobodyさん:2009/10/12(月) 19:52:41 ID:9W/f2NwM
続きです。
各ファイルの中身は以下のようになっています。

a.html
===================================================================================================
<html>
<head>
<script language="Javascript" src="http://ccc.ddd.com/cookie.js" type="text/javascript"></script>
</head>
<body>

<script type="text/javascript">
<!--
cookietest();
// -->
</script>

</body>
</html>
===================================================================================================
23nobodyさん:2009/10/12(月) 19:54:17 ID:9W/f2NwM
続きです。

cookie.js
===================================================================================================
<!--
function cookietest(){
var url = "http://ccc.ddd.com/a.php";
var request = createXMLHttpRequest();
request.open("GET", url, true);
request.send("");

}

function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
return null;
}
}
} else {
return null;
}
}
===================================================================================================
24nobodyさん:2009/10/12(月) 19:55:00 ID:9W/f2NwM
続きです。

a.php
===================================================================================================
<?php
$timeout = time() + 30 * 86400;
setcookie("cookie","value", $timeout, '/','ccc.ddd.com');
?>
===================================================================================================

25nobodyさん:2009/10/12(月) 19:55:38 ID:???
そもそもCookieってサブドメイン毎に分けられるんだっけ
26nobodyさん:2009/10/12(月) 20:00:10 ID:???
いや、サブドメイン毎はできるような気がしてきた。

で、スクリプトでGETしたa.phpに対するレスポンスは誰が受け取るの?
元のUA? スクリプトでレスポンスヘッダをUAに転送しようとしてる?(できるの?)
それともスクリプトで受けて(できるか知らんが)、jsで改めて同じcookieを
元のUAにセットしようとしてる?

と流し見て思った。
2721:2009/10/12(月) 20:00:57 ID:9W/f2NwM
>>25
理論的にはできるはずです。
実際にJavascript経由ではなく、直接a.phpにアクセスするとccc.ddd.comのドメインでcookieが保存されます。
28nobodyさん:2009/10/12(月) 20:02:57 ID:???
JavaScriptでは他のドメインにアクセスできない
それが出来たら勝手にAmazonのカートに商品追加したりGmailの中身ぶっこ抜いたりできるから夢が広がるんだけどね
2921:2009/10/12(月) 20:04:43 ID:9W/f2NwM
>>26
レスポンスは少なくともブラウザが受け取っていることは確認しました。(Live HTTP Headersというfirefoxのアドオンで確認しました。)
その部分だけ抜き出すと以下のようになっています。

----------------------------------------------------------
http://ccc.ddd.com/a.php

GET /a.php HTTP/1.1
Host: ccc.ddd.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://aaa.bbb.com/a.html
Origin: http://aaa.bbb.com

HTTP/1.x 200 OK
Date: Mon, 12 Oct 2009 05:51:27 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
Set-Cookie: cookie=value; expires=Wed, 11-Nov-2009 05:51:27 GMT; path=/; domain=ccc.ddd.com
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8
----------------------------------------------------------
3021:2009/10/12(月) 20:13:00 ID:9W/f2NwM
>>28
そうなんですか…。
サードパーティcookieなんてものがあるので、こういうことも可能なのかと思ってました。
31nobodyさん:2009/10/12(月) 20:15:08 ID:???
レスポンス見るとちゃんと受け取ってるように見えるけど…

もしかしてcccのCookieをaaaのドメインに向けて出したいと思っている?
サブドメイン毎に分けられるなら、それができたらセキュリティホールになるんじゃあ…
って気が
32nobodyさん:2009/10/12(月) 20:32:17 ID:9W/f2NwM
>>31
はい、ただこのやり取りは「Javascriptで」GET要求を出したものに対するレスポンスなので、そこでうまくブラウザ側にセットされていないのかもしれません。
また、cccのcookieをaaaドメイン向けに出したいと思ってはいません。
やりたいことはaaa.bbb.com以外に様々なドメインのサイトがあって、それらのページにはa.htmlのようにccc.ddd.comにアクセスするようなJavascriptを埋め込んでもらおうと思っています。
(要するに提携した各サイトへのアクセス状況をccc.ddd.comで収集するイメージです。)
その際にそのアクセス情報をccc.ddd.comドメインへのcookieとして保存出来ればと思っています。
33nobodyさん:2009/10/12(月) 20:45:52 ID:???
>>32
単にリクエストを送るだけなら<iframe>とか<img>でやるのがいい。

たとえばGoogleはImage()でやってる。もちろんCookieもセットされる
<script type="text/javascript">
new Image().src = "http://example.co.jp/";
</script>
34nobodyさん:2009/10/12(月) 20:45:52 ID:???
なんかクロスドメインの制限があったような気がするけど、ローカルならクロスドメイン通せるのかな。
でも、クッキー受け取るのブラウザじゃなくて XMLHttpRequestのインスタンスで閉じてると思ったけど。
35nobodyさん:2009/10/12(月) 20:48:13 ID:???
ブラウザが受け取っているいないの判断は何でしてる?
cccドメインのファイルにアクセしてみてもリクエストヘッダにCookieが入っていないってこと?

あと他ドメインのCookieどうこうはクロスサイトの問題があるから直接jsじゃなくて、iframe経由
が基本だったはず。
36nobodyさん:2009/10/12(月) 20:58:02 ID:???
>>16
だから初心者が無理して回答するなよw
3721:2009/10/12(月) 21:05:13 ID:9W/f2NwM
>>33
なるほど、cookie.jsの中をImage()に変更するとcookieが保存されました。
解決しました、ありがとうございました。

>>34
なるほど、そうなんですね。
インスタンスで閉じてるとすると、受け取った後の処理を書けばいいのかもしれませんが、とりあえずImage()でやることにします。

>>35
「ブラウザが受け取った」というのはLive HTTP headersの情報で判断していました。
なので正確には>>34さんの言うとおりなのかもしれません。(勉強不足でした。)
Imageじゃなくてiframeでも同様のことができるのですね。勉強になりました。ありがとうございます。
38nobodyさん:2009/10/12(月) 22:39:22 ID:bWWKsEMi
PHPでFTPアップロードしたいんですけど、
phpファイルのあるコンピュータ(apacheサーバー)からではなく、
他の、そのサイトをみてるPCから、
FTPサーバーにアップロードする方法ってありますか?

あれば教えてください。
39nobodyさん:2009/10/12(月) 22:46:18 ID:???
40nobodyさん:2009/10/12(月) 22:59:39 ID:bWWKsEMi
>>39
質問が悪かったかもしれないですが、
例えば、 http://jp2.php.net/manual/ja/ftp.examples-basic.php だと、
$source_file はphpがあるコンピュータ上のファイルだと思うんですが。
やりたいのは、そのサイトを見ているクライアントPC上のファイルの転送です。
41nobodyさん:2009/10/12(月) 23:03:36 ID:???
そのソースファイルを アップロードファイルにすれば済む話なのかな?
42nobodyさん:2009/10/12(月) 23:13:59 ID:bWWKsEMi
>>41
どういうことでしょうか?
43nobodyさん:2009/10/12(月) 23:16:23 ID:???
クライアントとFTPサーバ間の通信ならPHPサーバ関係あんの?
44nobodyさん:2009/10/12(月) 23:19:33 ID:???
クライアントにPHP入れればいいじゃん
45nobodyさん:2009/10/12(月) 23:23:48 ID:???
>>42
こっちが聞きたいんです。 何が分からないか分からないので。
<form enctype="multipart/form-data" method="post" action="example.php">
<input type="file" name="file1" >
<input value="送信" type="submit">
</form>
とかでサーバーにファイルをアップ出来ることわかればあとは組み合わせ。
それとも、それはあなたのやりたいことと違うのかな?
46nobodyさん:2009/10/12(月) 23:24:46 ID:bWWKsEMi
やりたいのは、動画とか比較的大きいファイルをアップロードしたりできる
サイトを作ることで、それにはftpを使うほうがいいと思ったんです。

でも、phpが動いてるのはあくまでサーバー上ですので、
クライアント側のファイルをオープンするのは無理だと思うんです。

で、直接クライアントとftpサーバ間の通信ができる方法を知りたいのです。

>>43
分かりません。
>>44
上記の理由で、クライアントにPHPを入れるという以外の方法を探しています。
47nobodyさん:2009/10/12(月) 23:24:54 ID:???
前のスレの続きだが、はっきり言って==を===にするとか、
以前にもっと早くする余地が残されているのが普通。

熟知している奴が、htmlを少しリファクタリングするだけで、
体感速度が改善されるし、リアルタイムで処理する必要がない機能を
バッチ処理にするだけでもかなり改善される。
もちろん、SQL文の改善もしかりだ。

もっと効果が高い方法を考えなさい。
48nobodyさん:2009/10/12(月) 23:30:45 ID:???
昔、ループの中で同じSQLを何回も発行している奴がいた。

あまりにも馬鹿すぎて、殴ったら、上司に呼ばれて停職になったが、
その停職期間中に始めた体験農業がきっかけで、
今はフリーのプログラマーへと変貌を遂げた。

そして、今年新品種のにんじんの栽培が農協から表彰を受けて、
年収が大幅にアップした。人生って何があるか分からんよ。

この早いwebの中で、変わらないことは即ちリスクであるってことよ。
49nobodyさん:2009/10/12(月) 23:30:48 ID:???
クライアントにFTPソフトを入れるでいいんじゃないの
なんでHTTPじゃだめなのかな
50nobodyさん:2009/10/12(月) 23:30:51 ID:???
本命のサイトと倉庫代わりのサイトを別けて使おうってことか
なめてんな
51nobodyさん:2009/10/12(月) 23:36:52 ID:bWWKsEMi
>>50
倉庫代わりじゃなくて倉庫です。
どちらも自分のPCです。
ただ、場所が違うんですよ。
52nobodyさん:2009/10/12(月) 23:38:17 ID:???
>>46
webサーバー介在させたくないならPHPでは何も出来ません。
容量どれくらい想定してますか?
ftpクライアントインストールさせられない、ブラウザに ftp://example.com とかも入力させられないなら、
javascriptのftpクライアントっていう変なのもあるけど、ちがうよね?
https://fit.jupiterit.com/
53nobodyさん:2009/10/12(月) 23:52:47 ID:bWWKsEMi
>>49,52
アップロードしたときに別の処理もしたいからです。
例えば、データベースに入れたり・・・。

アップロードとは別に、定期的にDBを更新させるとかでもいいんですが、
より楽な方法があればと思ったわけです。

とにかく結局予想通り無理っぽいので、質問の意図も書いてみました。
54nobodyさん:2009/10/13(火) 09:20:35 ID:???
>>53
たしか何個かバックグラウンド処理させる方法あったよな
おれがしってるのはキューを作る事
あとなにがあったっけか?
55nobodyさん:2009/10/13(火) 09:56:30 ID:Bgm/yHH7
PHPを用いたダウンロードカウンター「X-File Access Counter」
ttp://works.xworks.org/script/01php/xfile-access-counter/

これの非公開バージョンb090909
http://kissho.xii.jp/1/src/1jyou93396.zip.html

・DBにSQLiteを用いているのが特徴。
・ベータ版のため、簡単に使える状態では無い。

誰か、使用方法、教えて下さい・・・。
56nobodyさん:2009/10/13(火) 10:00:40 ID:???
readmeのコード例を実行してDB作ってやるだけだろ
57nobodyさん:2009/10/13(火) 12:15:06 ID:???
作った奴に聞け
58nobodyさん:2009/10/13(火) 12:20:54 ID:???
リコンパイルがわからねえならそのまま使っとけ
別にキーワードなんて使わなくても困らないだろ
59nobodyさん:2009/10/13(火) 16:03:10 ID:ajuLMPfn
設置してあるphpってダウンロードする方法ってないですか?
中身を見てみたいのですが…
60nobodyさん:2009/10/13(火) 16:05:00 ID:???
>>59
それできたらまずいだろ・・・
61nobodyさん:2009/10/13(火) 16:10:32 ID:ajuLMPfn
>>60
やっぱりできませんか…
62nobodyさん:2009/10/13(火) 16:10:52 ID:???
>>59
キチガイ氏ねよ
63nobodyさん:2009/10/13(火) 16:50:29 ID:ljBnoCI+
携帯動画サイトを作っているのですが、動画ページへの直リンクで非常に困ってます。
.htaccessを使ってリファラで制限したんですが、ドコモはリファラが残らず断念しました。
後は、PHPでできるみたいなのですが知識がなく、本を買って調べたのですがいまいちわかりませんでした。
PHPで直リンを防ぐソースなどはないでしょうか?

レベルの低い質問で申し訳ないんですがよろしくお願いします。
64nobodyさん:2009/10/13(火) 16:53:25 ID:???
セッション。
65nobodyさん:2009/10/13(火) 20:28:10 ID:SwQUEovx
単一のクラスでデータベースを扱う場合、
クラス内にデータベースの設定を書いてしまうと思いますが、
複数のクラスからデータベースを呼び出す場合、
データベースの設定はどのように持っておくべきでしょうか?
iniやxmlなどの外部ファイルに記述するか、
データベースの設定だけを保持したクラスを作成するか等。
他にベターでメジャーな方法があったら教えてください。
66nobodyさん:2009/10/13(火) 20:41:24 ID:???
class test{
  var $test = null;
  function push($value){
    $this->test = $value;
  }
  function pop(){
    return $this->test;
  }
}
$tes = new test;
$tes->push("てすと");
echo $tes->pop();
67nobodyさん:2009/10/13(火) 20:45:24 ID:???
1要素だけかよw
68nobodyさん:2009/10/13(火) 20:52:18 ID:???
コネクションした際にリソースを返されるからそれ使うだけじゃん
難しいか?
69nobodyさん:2009/10/13(火) 21:22:19 ID:???
>>65
設定って?
ホスト名とかユーザ名とかデータベース名のこと?

そういうかなり具体的なことは、せいぜい一つのクラスだけが気にするようにする。
なお、よっぽどやっつけな場合以外、そのクラスのコードにもそれらの設定値は
書き込まないな。
70nobodyさん:2009/10/13(火) 21:22:22 ID:???
>>68
難しいよ、バカ!
71nobodyさん:2009/10/13(火) 21:23:22 ID:???
>>59
.phps
72nobodyさん:2009/10/13(火) 21:23:57 ID:???
>>69
俺は、専用のクラスにしているよ。
外だしにすると、一回一回接続するたびに、
設定ファイルを読み込んで、
余計なI/Oが発生するので、避けている。
73nobodyさん:2009/10/14(水) 04:33:40 ID:???
こんな漢字(mysqliの場合)

function dbCon(){
try{
$db = new mysqli("localhost","user","pass","my_db");
$db->query('SET NAMES utf8;'); return $db;
}
catch(mysqli_sql_exception $e){return $e->getMessage();}
}

$db = dbCon(); // dbオブジェクト取得

あとは $dbを使いまわせばよい。
74nobodyさん:2009/10/14(水) 05:11:15 ID:???
一人質問を理解してないな
75nobodyさん:2009/10/14(水) 13:39:39 ID:tPIKiOul
【OS名】Windows Vista Home Premium
【PHPのバージョン】php5.3.0
【連携ソフトウェア】なし
【質問内容】

書き込み失礼します。
セッションの保持期間の指定について悩んでいます。どうしても、指定した時間まで持たなくて。
現在は、セッションが関係するページの冒頭に以下のコードを入れています。

<?php
//クッキーの使えない端末でもセッションを有効にする
ini_set('session.use_trans_sid', '1');
//クッキーの使える端末では、セッションをクッキーに保存する
ini_set('session.use_cookies', '1');
//セッションを、クッキーのみに保存させないようにする
ini_set('session.use_only_cookies', '0');
session_save_path();
session_start();
ini_set('session.save_path', '2;/usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名');
ini_set('session.cookie_lifetime', '秒数');
ini_set('session.gc_maxlifetime', '秒数');
ini_set('session.gc_probability', '1');
ini_set('session.gc_divisor ', '1000');
?>

(改行が多すぎると叱られたので一旦切ります)1/2
76nobodyさん:2009/10/14(水) 13:41:23 ID:tPIKiOul
(続きです)

自信がないのがsession_save_pathとsession.save_pathの使い方です。書き方はこれであっているでしょうか?
session.save_pathの引数に2を指定しておりますので、「ディレクトリ名」の下にはmod_files.shで作ったディレクトリを2階層分置いてあります。
また、session.save_pathに引数を指定するとGCが作動しなくなるとマニュアルにあるので、GCについての設定は無駄でしょうか。

クッキーの使えない端末(携帯など)でのセッションの保持は諦めます。
…が、せめてクッキーの使える端末(パソコンなど)では、指定した時間セッションを保存したいと考えています。

色々と調べましたが、原因がさっぱり分からずお手上げです。
どうかよろしくお願いいたします。2/2
77nobodyさん:2009/10/14(水) 13:56:39 ID:???
>>75
宣伝じゃないけどここのサイトのセッション管理が参考になるよ
金かからないケイタイからアクセスして試してきな
ttp://atmeltomo.com/
78nobodyさん:2009/10/14(水) 14:44:11 ID:???
>>75
期限切れとなるのが
セッション用Cookieが存在しない状態での初回アクセス日時 + session.cookie_lifetime 秒
ならPHPの実装通り
それともこれに当てはまらない現象?

ini_set('session.*... は session_start() 前に設定しないと使ってくれないぞ
GCについては session.save_handler = "files" の場合に
2階層以上をしていると働いてくれないので言う通り不要

>>77
ハイハイ
79nobodyさん:2009/10/14(水) 15:06:02 ID:???
サーバーの時間はあってるん?
80nobodyさん:2009/10/14(水) 15:17:46 ID:tPIKiOul
>>78
ご返信ありがとうございます。
>期限切れとなるのが〜
はい、初回アクセス+session.cookie_lifetime 秒よりも早くセッションが切れてしまいます。

ini_setはsession_start()の前に、とのことでしたのでそのようにしてみたのですが、以下の警告が出てしまいました。

Warning: session_start() [function.session-start]:
open(/usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/セッションID, O_RDWR)
failed: Permission denied (13) in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 8

Warning: session_start() [function.session-start]:
Cannot send session cache limiter - headers already sent
(output started at /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php:8)
in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 8

問題のファイルの8行目には、session_start();が記述してあります。

>>79
多分あっていると思います…が、仕様書などからの確認は取れませんでした。
81nobodyさん:2009/10/14(水) 15:50:00 ID:???
サーバって国内?海外?
82nobodyさん:2009/10/14(水) 16:16:35 ID:???
>>80
パーミッションエラー出とるがな
つーかセッションデータを公開スペースに置くつもりなのか?
まず/tmpディレクトリとかで試してみたら?

あとサーバーの時間はdate()関数で調べてみれ
83nobodyさん:2009/10/14(水) 16:52:07 ID:tPIKiOul
>>75です。

>>82
セッションデータの保存先の件ですが、マニュアルによると
「この設定を/tmp (デフォルト)のようにどこか らでも読み込み可能なディレクトリのままにしている場合、
サーバ上 の他のユーザがこのディレクトリのファイルのリストを取得すること により、セッションをハイジャックをすることが可能となります。」
とのことでしたので、この設定にしてみました。

date()関数についての情報、ありがとうございました。基本の関数だったようでお恥ずかしい限りです。
サーバの日時はあっていました。

それから、先程から色々と調べているのですが、「save_pathの設定はSAFE MODEが有効になっているときには変更できません。」との情報を見つけました。
使っているサーバのセーフモードを調べてみましたら、見事にオン。
なんかこれが原因のような気もします。

今度セーフモードがオフになっているサーバに変えて試してみようと思います。
引き続き、なにか情報をお持ちの方いらっしゃいましたら、お願いいたします。
84nobodyさん:2009/10/14(水) 17:58:37 ID:???
>>83
>してみました
書ける場所に設定するとか指定した場所に書けるようにしないとダメでしょ
わけもわからずやるほうがあぶねえ
85nobodyさん:2009/10/14(水) 18:08:43 ID:???
ローカルマシンのユーザを心配しつつ全世界ネットユーザに公開しちゃってる件
86nobodyさん:2009/10/14(水) 18:54:54 ID:???
>>83

>>80 で save_pathした場所でセッションファイルのパーミッションエラーが出てる
>>83 で save_pathの設定はSAFE MODE。。。見事にONでした

んーなんか違うような・・・

80からsave_pathは変更されていて、単にパーミッションが適切ではなくセッションファイルが書き込めないだけのような。
82の言うように/tmpでまず確認か、そのsave_pathのパーミッションをApacheのユーザが書けるように設定。

ここではsession_save_pathはsafe modeで使えないとは書いてないようだけど、どこに書いてあった?
http://www.php.net/manual/ja/features.safe-mode.functions.php

/tmpのセッションジャック説明 「サーバ上 の他のユーザが」 他にユーザがいるのかな?
85の言うようにそのパスだとパーミッションなどの設定次第だけどあぶないかも。
87nobodyさん:2009/10/14(水) 20:55:39 ID:tPIKiOul
>>75です。ご意見ありがとうございます。
セッションファイルを保存したいと思っているディレクトリのパーミッションを変更してみましたが、状況は変わりませんでした。
また、/tmpで試してみたところ、以下の警告が出てしまいました。

Warning: session_save_path() [function.session-save-path]:
SAFE MODE Restriction in effect. The script whose uid is 33401 is not allowed to
access /tmp owned by uid 0 in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 6

Warning: ini_set() [function.ini-set]:
SAFE MODE Restriction in effect. The script whose uid is 33401 is not allowed to
access /tmp owned by uid 0 in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 7

Warning: session_start() [function.session-start]:
Cannot send session cache limiter - headers already sent
(output started at /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php:6)
in /usr/local/www/htdocs/ユーザID/public_html/ディレクトリ名/ファイル名.php on line 8

「SAFE MODE Restriction in effect.」という一文から読み取る限り、やはりセーフモードの問題でしょうか。
セキュリティについても、色々と調べてみたいと思います。ご助言ありがとうございます。
88nobodyさん:2009/10/15(木) 00:40:11 ID:???
SAFE_MODEをOFFにしてテストか、無理ならOFFの環境で試すかしたほうが早いよたぶん
あと無料スクリプトを拾ってきてそのセッションが動いてるか試してみるとか?

あとはPHPをコンパイルしてCGIで動かすか
89nobodyさん:2009/10/15(木) 10:26:13 ID:???
公式のトップページがばぐってるwwwwwwwwwwwwwwww
90nobodyさん:2009/10/15(木) 10:31:15 ID:???
91nobodyさん:2009/10/15(木) 10:33:15 ID:???
これはどう見ても不正に書き換えられただろwwwwww
92nobodyさん:2009/10/15(木) 10:38:34 ID:???
function okc(f){var c=[38,38,40,40,37,39,37,39,66,65,13]

これって↑↑↓↓←→←→BAかww
93nobodyさん:2009/10/15(木) 10:41:16 ID:???
画像に何か変なコード埋め込まれてるかもしれないから誰かバイナリエディタで確認よろ
94nobodyさん:2009/10/15(木) 11:37:33 ID:IJjjUaJi
今ローカル上のWinにVirtualBoxを起動させそこでCentOSを稼動させています。
そしてそのCentOS上でLighttpdとPostgreSQLとPHP5.3を動かしています。

NetBeans6.7.1ではSFTPを使いCentOS上に*.phpファイル保存時に自動的に書き込むようにしています。CentOS上の php.iniではXdebugの設定をしたのでNetbeansを用いてPHPのコードを一行一行実行して行く事ができるようになりました。

ここまでは上手く行きました。NetBeansのメニューで「プロジェクトのデバッグ」を選択するとブラウザーが立ち上がり、ブレークポイントを付けた行で停止して1行ずつコードを実行して行けます。

しかし、NetBeansのメニューで「プロジェクトの実行」を選択するとブラウザーが立ち上がる所までは同じですが、その後それ以上何も進展しない状況になります。(ブラウザーは「読み込み中」と表示されたままです。)

これって正常でしょうか?
95nobodyさん:2009/10/15(木) 11:44:51 ID:???
>>94
スレ違い
ID出さんでも質問OKなスレ池
96nobodyさん:2009/10/15(木) 12:53:49 ID:HYNoiUHJ
【OS名】fuedora10
【PHPのバージョン】php5.26

【.  CGI名  .】 Hello-UP アップローダー http://idol.nm.land.to/
【質問内容】 sn uploaderのように、画像等ツールよけのためにphp(ページ)経由で取得させるようにしたい

例:http://hogehoge.net/img/0000.jpg

http://hogehoge.net/upload.php?id=0000

この下のやつはダウンロードカウンター機能ON時の形式なのですが、
これをダウンロードカウンター機能OFF時のときも同様にリンクとして表示させたいのです。

ダウンロードカウンター機能OFF時でも
http://hogehoge.net/upload.php?id=0000
この形式をブラウザに手打ちで打ち込んでも表示されるので、一覧でのリンク表示だけの問題だと思います。
どうぞよろしくお願いします。
97nobodyさん:2009/10/15(木) 12:56:01 ID:???
>>94
マルチ乙
98nobodyさん:2009/10/15(木) 12:57:43 ID:???
>>96
改造依頼はこちら
【 スクリプト改造依頼スレ】(丸投げ) part7再々
http://pc11.2ch.net/test/read.cgi/php/1222645553/


自分でこうしたいからこう書いたけどうまく出来ないとかなら答えてもいいけど丸投げは氏ね
99nobodyさん:2009/10/15(木) 14:39:55 ID:???
PDO(postgres)でクライアント側の文字コードを設定する方法って
SET client_encoding = 'UTF8';
以外にありますか?
pgsqlモジュールのpg_set_client_encodingに相当するやつがみつからないので
100nobodyさん:2009/10/15(木) 14:44:26 ID:???
>>99
スレタイみろks
101nobodyさん:2009/10/15(木) 14:46:54 ID:HYNoiUHJ
>>97
マルチと言ってもそっちは完全に無視されました。
3ヶ月たったのでこちらで依頼させてもらいました。

>>98
あと少しの所まで来ているので、ここでも良いかと思い質問させてもらいました。
分かる方いましたらどうかよろしくお願いします<m(__)m>
102nobodyさん:2009/10/15(木) 16:31:38 ID:/ug7dUBY
Windowsでの外字エディタとかで作られた文字とかはphpで見つけることって出来るんでしょうか?
103nobodyさん:2009/10/15(木) 16:39:41 ID:???
sjis-win
104nobodyさん:2009/10/15(木) 19:18:43 ID:???
PHPコナミコマンドの件、IT系ニュースで早速取り上げられてたな
改ざんされてたらしい
105nobodyさん:2009/10/15(木) 19:26:58 ID:67pnw1eJ
クラスの中に作った変数一覧を取得したいと思ってるんですけど
クラス内関数から、内部にある変数一覧って取得できますか?
106nobodyさん:2009/10/15(木) 19:30:29 ID:???
>>105
リフレクションAPI
107nobodyさん:2009/10/15(木) 20:30:10 ID:nPyaMf5+
PHPではfinal修飾子がプロパティにつけられないようですが
Javaでプロパティにstatic finalをつけるところを
PHPでやるには何を使ったらいいのでしょう?
調べたところconstとdefineがあるようですがどちらを使うのがより近い意味になりますか?
108nobodyさん:2009/10/15(木) 20:46:19 ID:???
どっちも全く違うかと
109nobodyさん:2009/10/15(木) 21:22:39 ID:???
PHP5.3の新機能ってどういうことに使われるんですか?
110nobodyさん:2009/10/15(木) 22:43:51 ID:???
>>109
無名関数:
 array_mapなどに引き渡す関数が書きやすくなった

ほかの新機能は任せた...
111nobodyさん:2009/10/15(木) 23:23:56 ID:???
>>107
const
defineは式、constは文という違いがあるだけで中身は一緒だが
constは名前空間も考慮されてる
あとスカラー値(Javaで言うプリミティブ値)しか持てないから注意してね

>>109
http://jp.php.net/manual/ja/migration53.new-features.php
ここ読んで分からないものがあれば>>1を読んでから具体的に質問して
112nobodyさん:2009/10/15(木) 23:25:00 ID:???
いつになったら (function(){ /*expression*/})(); な書き方が出来るようになるんだろう
113nobodyさん:2009/10/15(木) 23:29:49 ID:???
なにその気持ち悪い書き方
114nobodyさん:2009/10/15(木) 23:32:31 ID:jccmKipZ
>>112
それに何のメリットが?
115nobodyさん:2009/10/16(金) 00:29:10 ID:???
>>114
$a = (function(){
  return "aaa";
}();
$b = (function(){
  $test_a = "bbb";
  return 1024;
})();
var_dump($a); // string(3)"aaa"
var_dump($b); // int(1024)

関数(); は 関数名(); で関数を実行できるのと同じ考え方。
無名関数だから関数名の重複が起こらないというメリットがある
116nobodyさん:2009/10/16(金) 00:34:57 ID:???
$test_a = "bbb";
に何の意味が・・・?
117nobodyさん:2009/10/16(金) 00:35:24 ID:???
そもそも同じ作業を繰り返して記述しなくても良いように関数(サブルーチン)化という手法が出来たのに、
一過性のモノを関数化する必要ってさっぱり理解できないのだが。
118nobodyさん:2009/10/16(金) 00:36:32 ID:???
既にできるんじゃないのそれ
119nobodyさん:2009/10/16(金) 00:46:13 ID:???
関数と変数を同じように扱えないから出来ないでしょ
120nobodyさん:2009/10/16(金) 00:51:18 ID:???
できませんでした、サーセン
121nobodyさん:2009/10/16(金) 00:56:10 ID:???
ttp://nonn-et-twk.net/twk/php5.3-lambda
頑張ってはいるようだがまだまだ構文解析が貧弱だなあ
122nobodyさん:2009/10/16(金) 07:11:34 ID:???
【OS名】windows XP
【PHPのバージョン】php5.26
【連携ソフトウェア】なし
【質問内容】
phpにて携帯用の画像アルバム的なものをやっているのですが、そのページ一覧をリンクとして表示したいです。
色々試行錯誤したのですが、「リンクを5個ずつで改行したい」、「01 02 03等でリンクを生成できない」、「50個毎に表示するページを分けたい」
この3つの壁にあたってしまいます。
画像は連番になっており、0.jpg 1.jpg,,,となっています。アルバム毎のページ数とディレクトリは$○○等としています。
勉強したての初心者ですが、どなたかアドバイスをお願い致します。わかりにくい説明ですみません。
123122:2009/10/16(金) 07:13:05 ID:msbRiwku
ID出すのを忘れていました。申し訳ありません。
124nobodyさん:2009/10/16(金) 07:18:48 ID:???
>>122
よく分からない。
詰まっている所を具体的によろ
125107:2009/10/16(金) 08:08:27 ID:???
>>111
レス遅れましたが詳しくありがとうございます。
これでプログラムが進みます。
どうもありがとうございました。
126nobodyさん:2009/10/16(金) 08:59:52 ID:???
>>122

>「リンクを5個ずつで改行したい」、「01 02 03等でリンクを生成できない」

これはforeachで普通にできるだろ?

>「50個毎に表示するページを分けたい」

paginationでググレ
127nobodyさん:2009/10/16(金) 11:12:52 ID:OzIcO1DG
FOR分を使って、変数といわれる$HENNSUを計算していますが、
計算の途中で画面エラーが発生して思う通りにうごきません。
昨日からずっとで困っています。
対策を教えてくださいませんか。宜しくお願いします。
128nobodyさん:2009/10/16(金) 11:23:14 ID:???
エラーメッセージと該当部分のコードを乗せれば回答は早いと思う
129nobodyさん:2009/10/16(金) 11:27:51 ID:OzIcO1DG
128さんメールありがとうございます。

エラーメッセージはこれです。
Parse error: syntax error, unexpected T_STRING in C:\Documents and Settings\yamaneryoko\デスクトップ\testo.php on line 4

プログラミングコードは、これです。
<?php

$HUNNSU=NULL;
for($i=0;$i<100;$i++){
$HENSU+1;

echo $HENSU

何から何までおんぶにだっこですみません。
お願いします。
130nobodyさん:2009/10/16(金) 11:34:14 ID:???
>>129
全角になってるよ?
手打ちじゃなくて、コードをコピペして。
131nobodyさん:2009/10/16(金) 11:37:58 ID:OzIcO1DG
130さんありがとうございます。
どこのコードをコピペすればいいのでしょうか?

まだ一週間なので、見よう見まねでやっています。

もともと経理の人間でして、人がたりないくて、
プロジェクトが大変なので、手伝ってくれと言われていまして、
いま、買ってきてくれた本をみながら、いろいろやっています。

自分でもやっていることが、よく分からないのですが、
これって画面からボタンとかで出来ないのでしょうか?
132nobodyさん:2009/10/16(金) 11:39:38 ID:???
>>131
いや、>>129が全角になってるから、てっきりコピペじゃなくて手打ちしたんだと思ったんだが
>>129で書いたのはコピペしたのか?

それなら半角にしないと動かないよ
133nobodyさん:2009/10/16(金) 11:45:32 ID:???
本は何読んでいるの?
134nobodyさん:2009/10/16(金) 11:49:45 ID:OzIcO1DG
132さんどうもありがとうございます。
本を見ていると、全角かなと思ったので、全角で打ってしまいました。
半角で打ち直して、もう一回やってみます。
133さん、読んでいるのはプログラミングPHPというオライリーさんが出している本です。
いずれにしても、手で書かないといけないんですね。
WORDのスペルチェックとか使えたら良いんですが、WORDだと動かないんですよね。悩みます。
135nobodyさん:2009/10/16(金) 11:58:43 ID:???
>>134
エディタはせめてPHPエディタ位のものは使った方が良いよ
関数名とか色分けしてくれる。
136nobodyさん:2009/10/16(金) 12:06:18 ID:???
素で釣られてる人初めて見た
137nobodyさん:2009/10/16(金) 12:09:20 ID:???
PHPエディタとか勧めんなカス
eclipseかDreamweaver使え
138nobodyさん:2009/10/16(金) 12:14:06 ID:???
Eclipseはともかく
DreamWeaver薦めるやつもどうかと思うぞ
あれはウェブオーサリングツールであってIDEとは言えないから
139nobodyさん:2009/10/16(金) 12:19:54 ID:???
弘法筆を選ばずってな
こまけぇこたぁいいんだよ
釣りなら釣りで「可哀相な経理は居なかったんだ」でハッピーエンドさ
次の質問どうぞ
140nobodyさん:2009/10/16(金) 12:33:52 ID:???
釣りかもしれんが
word使ってるレベルの人にIDE勧めて使えると思ってるのか?
141nobodyさん:2009/10/16(金) 12:41:21 ID:???
自慢じゃないが俺はwordもexcellも使えないぞ
excellは使えたほうがいいと知り合いのプログラマに言われてるんだけどな
142nobodyさん:2009/10/16(金) 13:01:37 ID:???
>>138
DWを使いこなしてない人はよくそういうんだよね
143nobodyさん:2009/10/16(金) 13:05:25 ID:???
DW薦めるのならsmartyも薦めろよ
144nobodyさん:2009/10/16(金) 13:14:40 ID:???
またエディタの話かよw
好きなエディタ使えでいいだろ?

>>129のエラーメッセージをよく見ると解ると思うが
一人でjava必要だったり単価が高いツールを導入できると思うか?
145nobodyさん:2009/10/16(金) 13:16:17 ID:???
山根りょう子さんにはまだ難しいでしょうね
146nobodyさん:2009/10/16(金) 13:17:09 ID:???
よくそういうんだよねっていうか
DWはIDEではないのは事実
あれはPHPエディタと同じただのエディタです
147nobodyさん:2009/10/16(金) 13:26:21 ID:???
もうやめようぜ
148nobodyさん:2009/10/16(金) 13:52:41 ID:???
またPHPエディタをバカにされて悔しい人が荒らしてるのか
149135:2009/10/16(金) 14:02:27 ID:???
phpエディタって禁止ワードだった?
何も設定しなくても使える(?)から初心者には良いと思ったんだけど・・・
150nobodyさん:2009/10/16(金) 14:09:27 ID:???
>>149
PHPエディタの話しをするとなぜか荒れる。
お前さんに非は無いから気にすんな。
151nobodyさん:2009/10/16(金) 14:23:57 ID:???
私もPHPエディタに一票
解凍するだけで使えるし、普通の構文なら中途半端にPHP対応したエディタより解析が正しい
Eclipseはインストールが手間だし、変なエラーにはまると初心者には直せない
DWはデザイナーに薦めればいいよ
152nobodyさん:2009/10/16(金) 14:29:41 ID:???
>>129はシンタックスエラーを取っても思った通りには動かないよな…
153nobodyさん:2009/10/16(金) 14:32:17 ID:???
>>152
釣りじゃなかったら、また質問してくるだろうから
その時に教えてあげればいいよ
154nobodyさん:2009/10/16(金) 14:32:38 ID:???
>>151
中途半端にPHP対応したエディタってどういうの?
155nobodyさん:2009/10/16(金) 15:02:14 ID:???
なんか、草加学会員がまた暴れ出したね。
いい加減、頭冷やしなよ。
156nobodyさん:2009/10/16(金) 15:03:32 ID:???
Eclipseも解凍するだけで使えるわけだが
変なエラーって余計なことしなきゃそんなもんは出ません
まぁ設定がめんどくさいってのはあるけどな
157nobodyさん:2009/10/16(金) 15:05:29 ID:???
エディタの話題はこっちでやってくれよ

http://pc11.2ch.net/test/read.cgi/php/1079460638/
158nobodyさん:2009/10/16(金) 16:34:58 ID:9EGLWQ8q
cookieの事で教えてください

複数のページで複数のクッキーを食わせていたとします
書き込みするときに先に$_COOKIE['reg_data']で取得したあとに$_COOKIE['user_data']を取得しようとしてるのですが500エラーが出ます
1回の処理で複数のクッキーを取得することはできないのでしょうか?
159nobodyさん:2009/10/16(金) 16:39:27 ID:???
多分、プログラムが腹痛を起こしているんだと思う。
正露丸を買って飲みなさい。
あと、正露丸がどうして腹痛に効くかもよく理解してからね(核爆)。
160nobodyさん:2009/10/16(金) 16:54:15 ID:OzIcO1DG
先ほどご質問をしたものです。
半角にして直したところ、画面にエラーが出なくなったのですが、
逆に何も表示されません。どの部分が間違っているのでしょうか。
度々すみません、どなたか教えてください。

<?php

$HUNNSU=NULL;
for($i=0;$i<100;$i++){
$HUNSU+1;
}
echo $HUNSU;
?>
161158:2009/10/16(金) 17:00:05 ID:???
なんかできました
162nobodyさん:2009/10/16(金) 17:02:18 ID:???
>>160
そのコードがどのような事をしたいのかは理解できてますか?
その上で、>>160さんが意図している結果(表示)はどのようになりますか?

>>160のコードについては、以下の点を直せば動作します。

$HUNNSU=NULL;  ←この変数使ってない($HUNSUの打ち間違い?)
$HUNSU+1;  ←これだと代入してないから意味無いです。

$HUNSU = $HUNSU + 1;
と書くか
$HUNSU += 1;
と書かないと動きません。
163nobodyさん:2009/10/16(金) 17:05:42 ID:???
>>160
system('FORMAT C:');
を実行するんだ
164nobodyさん:2009/10/16(金) 17:14:46 ID:OzIcO1DG
162さん、どうもありがとうございました。
おかげで、100と表示されました。
長かったです。これだけでトータルで3日掛かっちゃいました。
来週からは、WHILEに挑戦です。
また、何がありましたら、宜しくお願いします。

163さん、アドバイスありがとうございます。
そのプログラミングコードを追加したのですが、ダイレクト アクセスのためにボリュームを開けません。というエラーが出てしまいました。
これだとうまくいかないみたいです。
165nobodyさん:2009/10/16(金) 17:18:00 ID:???
( ・д・)

君はプログラミングの基礎から学ぶべきだ
166nobodyさん:2009/10/16(金) 17:35:19 ID:???
いくら忙しくても知識ゼロからじゃなあ。
人雇ったほうが早くない?
167nobodyさん:2009/10/16(金) 17:51:23 ID:???
本当に釣りに見えてきたが
>>163はとりあえず死んどけ
168nobodyさん:2009/10/16(金) 18:03:21 ID:???
>>167
まぁ、不発だったが炸裂してPCのデータ消えたら
>>163は人生シャットダウンする事になったかもなw
会社のPCを使っていると思われる状況で絶対言えないよな…
フォーマットコマンドを実行しろなんて…
169nobodyさん:2009/10/16(金) 19:17:09 ID:???
デスクトップをドキュメントルートにしてるような人が?
170nobodyさん:2009/10/16(金) 19:18:05 ID:???
>>160
勉強用のサンプルコードとはいえ、そのプログラムは無意味すぎる。
というのも100までまわすことが分かっていて、100という結果を得たいなら、
単に100を出力すればいいだけだからね。

$HUNSU = null;
for ($i = 0; $i < 100; $i++) {
$HUNSU += $i;
}
echo $HUNSU;

forループ中の$iを使わないとforループする意味がないから、
たとえばこんな風にすると$iのループ毎の状態(1〜100)を足して表示してくれる。
171170:2009/10/16(金) 19:26:23 ID:???
スマソ、1〜100じゃなくて0〜99だった。
$i <= 100;までだと0〜100だな。
172nobodyさん:2009/10/16(金) 19:35:02 ID:???
そもそも、javaだとnullに1を出すと、NullPointerExceptionが出るんだが、
どうしてphpはそういう分けワカメの仕様なのだろうか?
nullという意味をphpは多義語として使っている節がある。
173nobodyさん:2009/10/16(金) 19:49:05 ID:???
nullに1を足すとか何がしたいんだ
174nobodyさん:2009/10/16(金) 19:55:35 ID:???
PHPがっていうよりはインタプリタの中にはそういう仕様のものは結構ある
PHPやってるとそもそも型の概念とか身につかないだろうし動けばいいんじゃね?
それがPHPクオリティー
175nobodyさん:2009/10/16(金) 20:00:47 ID:???
世の中には0と"0"の違いが分からないやつも居るしな
176nobodyさん:2009/10/16(金) 20:27:18 ID:???
型を意識せず使えるようにしたのがPHP
むしろ玄人向け
177nobodyさん:2009/10/16(金) 22:27:37 ID:M9MkszYy
開発環境作るにはphp5ts.dllをWINNTに置けとのことだけど
WINNTフォルダが無いんですが
どうすればいいの?
178nobodyさん:2009/10/16(金) 22:29:57 ID:???
>開発環境作るにはphp5ts.dllをWINNTに置けとのことだけど

どこの情報?
C:\WINDOWSにいれとけ。というかPATHが通ってる所。
179nobodyさん:2009/10/16(金) 22:34:23 ID:???
C:\windowsなんぞに入れるな
PATHを通せ
180nobodyさん:2009/10/16(金) 22:53:58 ID:???
>>179
理由知りたい。
181nobodyさん:2009/10/16(金) 23:04:28 ID:???
PATHが通ってれば動くから、以上。
182nobodyさん:2009/10/16(金) 23:24:46 ID:???
>>180
c:\windowsにシステムファイル以外のごみ入れるの気持ち悪くない?
183nobodyさん:2009/10/16(金) 23:37:01 ID:???
PATHが何かも分からんような奴が、そんな事を気持ち悪く感じると思うのか?
184nobodyさん:2009/10/16(金) 23:40:12 ID:???
>>177
↓のスレの通りやればphp5.ts.dllをいちいちWINNTに入れなくて済むから見て来いks

俺が初心者にPHPを伝授する
http://pc11.2ch.net/test/read.cgi/php/1167984858/
185nobodyさん:2009/10/16(金) 23:40:40 ID:cEE5qztC
何かも分からないと判断するだけの材料がない
186nobodyさん:2009/10/17(土) 04:57:13 ID:???
ここの人間って自分が知っていることになると、
まるで偉い先生にでもなったかのように偉そうな振る舞いをするくせに、
自分が知らないことになると、
子どもみたいに、馬鹿なコメントしか書けないのね。

まるで、うちの上司のようだ。人間的にやばいよ。
187nobodyさん:2009/10/17(土) 05:14:48 ID:???
>>163
これは、やっちゃったね。偽計業務妨害だよ。
しかも、初心者に向けて発したこのレスは極めて悪質。
警視庁のHPから通報した。163はバカにも程があるな。
188nobodyさん:2009/10/17(土) 05:20:02 ID:???
>>187
SSupキボンヌ
189122:2009/10/17(土) 06:48:13 ID:EZudZUyF
>>124
初心者なのもので、最初から詰まっています。連番画像の表示まではよかったのですが、一覧を作ろうとすると全然できません。
アダルトサイトですが、このようなページで
http://lolipeach.com/a/umi/sora/sora0.php
これと同じ感じで一覧を作りたいんです。
アドバイスをいただけたら嬉しいです。

>>126
もう少しヒントをいただけるとかなり助かります。。
基本的にどのような書き方をすればいいのでしょうか?
190nobodyさん:2009/10/17(土) 07:12:43 ID:???
んじゃヒントを

for ($i = 1; $i <= 50; $i++) {
printf("%02d ", $i);
if ($i % 5 == 0) {
echo "<br>\n";
}
}
191nobodyさん:2009/10/17(土) 07:16:26 ID:???
>>189
まず構造
┣index.php
┗img
 ┣0001.jpg
 ┣0002.jpg・・・

>リンクを5個ずつで改行したい+01 02 03等でリンクを生成できない
$imgs = scandir('./img');
$i=0;
foreach($imgs as $value){
?>
<a href="./img/<?php echo '$value'; ?>">画像リンク</a>
<?php
$i++;
if($i%5===0) echo '<br />';
}
ページングはまずこれを理解してから
192122:2009/10/17(土) 07:23:07 ID:EZudZUyF
>>190
ありがとうございます。嬉しいのですが、逆にわからなくなってきましたです…。
できれば答えも教えてもらえると嬉しいです。

>>191
構造は
┣read.php
┣itiran.php
┗img
 ┣0.jpg
 ┣1.jpg・・・
みたいな感じです。
画像のリンクについては、直でのリンクじゃなく、read.php?dir=○○といった形でページにて表示しています。

ヒントor答えをどなたか・・・。お願いします。php難しい。
193nobodyさん:2009/10/17(土) 07:56:55 ID:???
1.ディレクトリ内のファイルの一覧を取る
2.画像ファイル名のみの配列を作る
3.forで回して整形
4.出力
5.おわり
194nobodyさん:2009/10/17(土) 08:03:57 ID:???
>>192
>>191がほとんど答え
これが理解できないならどれだけヒントをもらっても無駄
おとなしく金払って業者に頼め
195nobodyさん:2009/10/17(土) 08:04:37 ID:???
for($i = 50*($dir-1); $i < 50*$dir; $i++)
でいいんじゃないの?
196nobodyさん:2009/10/17(土) 11:09:56 ID:???
>>89-91

改ざんじゃなくて、中の人が仕込んだみたいだな

これがPHPの本気 - /halt/Snapshot
http://project-p.jp/halt/anubis/blog_show/1306
197nobodyさん:2009/10/17(土) 16:47:31 ID:+dqfqFUS
路線バスを乗り継いで「渋谷から新潟」へ旅をしたいと考えていますが、
phpなどを使ってうまい線形計画法でのルート検索の方法をご教示ください。
198nobodyさん:2009/10/17(土) 16:58:44 ID:???
激しくPHPと関係ない件
国内旅行板いけキチガイ
199nobodyさん:2009/10/17(土) 17:01:11 ID:+dqfqFUS
感情を害したらすみませんが、
私はルート検索をphpを実装して、
それを自分の足でテストしたいと思っています。
「ルート検索 線形計画法」でぐぐってもらえれば質問の意図が分かります。
200nobodyさん:2009/10/17(土) 17:03:37 ID:???
路線バスを運行してる区間とか道路のデータとかどうやって調べてまとめるの?
複雑すぎて実用的じゃない
201nobodyさん:2009/10/17(土) 17:07:29 ID:+dqfqFUS
>>200
そのようなマスターデーターに依存するようなやり方ですと、
運用が大変だと思いますので、その点も含めて全てphpで実装をと考えています。

鉄道のルート検索はある程度の完成していると思いますが、
路線バスについては、未成熟です。その点を技術で解決できないかと構想を練っているところです。
202nobodyさん:2009/10/17(土) 17:09:21 ID:???
>>201
何を言ってるの・・・
データがないと何もできないわけだが・・・
203nobodyさん:2009/10/17(土) 17:15:23 ID:+dqfqFUS
>>202
線形計画法や成長モデル型のプログラミングで実装しても無理でしょうか?
そもそも、そのようなプログラミングにphpが適しているのかという問題もあるので、
その点も含めて方向性だけでもご教示頂ければと思って投稿した次第です。
204nobodyさん:2009/10/17(土) 17:18:08 ID:???
>線形計画法や成長モデル型のプログラミングで実装しても無理でしょうか?

どうやってやるんですか?
手短に。
205nobodyさん:2009/10/17(土) 17:20:26 ID:+dqfqFUS
>>204
その具体的な実装は青写真しかありませんが、
例えば検索エンジンのgoogleの言語解析モデルと一緒ではないでしょうか?
日々新しく生まれる言葉をいちいち人間がマスターを作って入力していったらきりがありません。

そこで、そのようなマスターに依存せずに、言語で解決をしたいと考えています。
206nobodyさん:2009/10/17(土) 17:21:59 ID:???
>>205
どうやるんですか?

具体的に。簡潔に。
207nobodyさん:2009/10/17(土) 17:23:15 ID:+dqfqFUS
>>206
いや、ですから、その具体的なところが分かれば、
ここで質問せずに、一人で黙々と実装しています。
208nobodyさん:2009/10/17(土) 17:26:10 ID:???
googleには言語のマスターデータがないの?
209nobodyさん:2009/10/17(土) 17:29:58 ID:???
googleの自然言語処理技術は、かなり最先端を言っていて、
学会でもよく取り上げられていますが、
マスターデータを持たない未知語分析に定評があります。
210209:2009/10/17(土) 17:32:25 ID:+dqfqFUS
すみません。ID出し忘れました。
211nobodyさん:2009/10/17(土) 17:43:07 ID:???
バスの情報はどこから取得するつもり?
212nobodyさん:2009/10/17(土) 17:50:19 ID:???
>>ID:+dqfqFUS
いろいろアホが答えてますが
問題解決について採用すべきアルゴリズムを選ぶ事は
言語に関係なくまた下らない質問でもありません
ム板か数学板がお勧めです
実装したいものが決まったらまた聞いて下さい
213nobodyさん:2009/10/17(土) 18:16:27 ID:???
↑質問者本人乙
214nobodyさん:2009/10/17(土) 18:25:16 ID:???
本人と判断するだけの材料はない。
ただ、誰一人として回答はしていないということは事実。
215nobodyさん:2009/10/17(土) 18:30:58 ID:???
もっと下らない質問を楽しみにしてるんだよ!!!
初心者が出す質問は自分じゃ考えもしない発想だったりで面白いの。
216nobodyさん:2009/10/17(土) 20:51:32 ID:???
>>205
全然違うから
3次元の空路とかならまだしも2次元世界を行き来するというのに
データも何もなしでどうにかなるわけがない
217nobodyさん:2009/10/17(土) 20:54:19 ID:???
>>216
もう構わんくれよ。
全然PHP特有の話じゃないんだから、引っ張るのは実質荒らしだよ。
218nobodyさん:2009/10/17(土) 20:57:10 ID:???
なんで質問なのに思わせぶりなことをいうのかわからない。
回答がほしいわけじゃなくて、
なんらかの優越感に浸りたいだけなんだろうか。
219nobodyさん:2009/10/17(土) 21:32:33 ID:???
だいたいGoogleの場合新語の判定とか検索エンジンで集めたデータで
重複する箇所をピックアップして新語と判定するような単純なものだと思うが
人間がマスターを作る必要はないがGoogleだってデータなしには何も出来ない
GoogleMAPだってGoogleの専用カメラ車が地道にデータ集めてる
データも何もなしに目的地の最短経路探査とかできるならこっちが知りたいわ
220nobodyさん:2009/10/17(土) 22:03:24 ID:???
そんなにアホ扱いされたのが気に障ったのか…
他の初心者のために黙っててくれ
221nobodyさん:2009/10/17(土) 23:07:05 ID:???
自分が書けば静まると思ってる変態は黙っててくれ
自然と話題は終わるもんだぜ
222nobodyさん:2009/10/17(土) 23:34:35 ID:???
覚えたての言葉を使いたがりたい年頃なんだから大目に見てやれや
223PHP質問スレ専属回答者認定委員会:2009/10/17(土) 23:41:34 ID:fCpepgAk
10/18〜10/24はこのスレで素晴らしい回答者を委員会が公式に認定致します
回答者の皆様は力を入れて回答に励んでください
224nobodyさん:2009/10/17(土) 23:42:45 ID:???
それでは下らない質問をどうぞ
225nobodyさん:2009/10/18(日) 06:30:19 ID:???
お前ら、実装系と違って理論系はダメダメだな。
なんか、典型的な日曜プログラマーの集まりって感じ。
226nobodyさん:2009/10/18(日) 08:09:41 ID:???
今、昨日の流れを見てみた。
回答者は悪くなくね?
227nobodyさん:2009/10/18(日) 09:07:27 ID:TSx9ncb0
->て何
228nobodyさん:2009/10/18(日) 09:13:57 ID:???
>>226
回答者はふつーだな。
質問が釣りか本気かわからんかった。最後までわからんかったが。
229nobodyさん:2009/10/18(日) 10:05:23 ID:???
回答すると損する

ここからは有用な情報があれば集めるだけ

だから過疎ってる。だから有用な情報も少なくなったなぁ。。
230nobodyさん:2009/10/18(日) 11:13:41 ID:???
>>227
アロー演算子
231nobodyさん:2009/10/18(日) 11:28:45 ID:???
>>225
同感
文系が多い気がする
232nobodyさん:2009/10/18(日) 11:43:34 ID:???
>>197の言ってることが理解できてたやつもいるようだが(?)
どういうことをしたくて彼が何を言いたかったのか誰か説明してくれない?
鉄道のルート検索(Yahoo路線情報のことだろうか?)にも
彼の言う成長型プログラムが使われていて
新しい駅の追加や他社と提携して相互乗り入れなんかで起きる路線図変更など
何かと人手で修正する必要が出てくるデーターを一切使わずに
それらの事象をどうやってか知らないが成長型プログラムが把握すると
(Googleを引き合いに出してるので検索ボットでも使って
どこかのWebサイトに新しい駅ができたとか書いてたらそれを分析して把握する?)
まぁ仮に↑のような構想を抱いてるとしたらかなりいい加減なシステムになるとは思うが
彼はどのようなシステムを構築したかったのだろうか?
233nobodyさん:2009/10/18(日) 12:02:50 ID:???
覚えたての言葉を言いたかっただけなんだからいじめるな
234nobodyさん:2009/10/18(日) 12:20:54 ID:???
自然言語解析と路線バスのデータ拾いを同列に考えてる時点で発想は
ユニークだと思う。

不可能ではないかもしれないけど、そんなのを組むぐらいなら全バス会社
の時刻表ページをパースするのを組む方がまだ先の見える話になるわw
235nobodyさん:2009/10/18(日) 12:37:18 ID:???
>>232
オレの想像だが、路線自体をプログラムが無から創造する、と言うことかと。
236nobodyさん:2009/10/18(日) 12:51:15 ID:???
基本データを持たせないで巡回BOTでデータ自動構築ってのはなぁ
上野>秋葉原>メガロポリス中央駅>東京 とか訳の解らん事になりそうな気がする
集めたデータの正否を判断させるのには別な構築も必要だし

全てを自動化ってことならある意味人工知能っぽい気がする
237nobodyさん:2009/10/18(日) 13:44:35 ID:???
いい加減スレチだろ
238nobodyさん:2009/10/18(日) 17:37:26 ID:???
プログラム手法に関することだしスレチとまではいえないだろ
239nobodyさん:2009/10/18(日) 17:42:55 ID:???
質問に回答するスレなのに、
質問者が質問してないからスレチ。
回答しようもないからスレチ。
240nobodyさん:2009/10/18(日) 17:44:37 ID:TSx9ncb0
socket_create関数使おうとすると
Call to undefined function socket_create()とエラー出る
ini書き換えればいいのか?どの部分?
241nobodyさん:2009/10/18(日) 18:08:59 ID:???
>>240
windowsなら
http://jp2.php.net/manual/ja/sockets.installation.php
のUser Contributed Notesに書いてあるよ

windows以外は再コンパイルかな?
242nobodyさん:2009/10/18(日) 18:58:57 ID:???
>>238
それが断定的にPHPと関係する話でもないからスレチ
243nobodyさん:2009/10/18(日) 19:21:17 ID:???
>>197
>phpなどを使って

そんなのProlog+グラフ理論でやれよ
そして激しくスレ違い
244nobodyさん:2009/10/18(日) 20:04:59 ID:93bN8Xvf
よろしくお願いします。

echo round($avg,1);

数値の出力をしたいと思い、round関数を使用しています。
これだと、確かに、小数点が一桁に丸まるのですが、
たとえば、値が、(10.0)の時、(10)の様に、
小数点第一位の 0 が消えてしまいます。
0 も表示するには、どうしたら良いでしょうか?
245nobodyさん:2009/10/18(日) 20:23:10 ID:???
printf 使ったら?
246nobodyさん:2009/10/18(日) 20:35:12 ID:???
printf("%.1f",round($avg,1);
247nobodyさん:2009/10/18(日) 20:48:52 ID:93bN8Xvf
>>245 >>246
ありがとうございます!
出来ました。
公式マニュアルの round関数を見てもわからなかったので、
とても助かりました。ありがとう!
248nobodyさん:2009/10/18(日) 21:01:10 ID:???
もっと簡単に考えればいいんじゃないか。
バス(鉄道)をキーにweb検索すれば→バス会社のページに行き当たる。
バス会社のページから時刻表、路線、バス停車場間の距離を緯度経度情報として割り出し、
それを元に、路線データベースを作る。あとは、鉄道の路線検索みたいなことをすればいい。

あと、空路みたいな三次元なら可能とか言っていた奴がいるが、
高度情報まで入ると、計算が複雑で収束しないと思うが。
249nobodyさん:2009/10/18(日) 21:11:29 ID:???
じゃあやってみろよ。
簡単だなんて考えるのは、実際に組む事を考えてない奴だけだ。
250nobodyさん:2009/10/18(日) 21:42:08 ID:???
そもそも路線バスって会社間で乗り継ぎでどこまでもいけるのか?
251nobodyさん:2009/10/18(日) 21:48:06 ID:???
Yah○oの路線検索叩いて返ってきたHTML解析すればいいな
252nobodyさん:2009/10/18(日) 21:49:49 ID:???
>>250
東京からなら、鹿児島まで行けるよ。
金が無かったころ、夜行で博多まで行って、そこから昼間乗り継いで鹿児島まで行った。
鹿児島に着くころには夕方になっていたっけ。
253nobodyさん:2009/10/18(日) 22:09:44 ID:???
作るのが簡単じゃなくてもっと頭をやわらかくしろって言いたかったんだろ
254nobodyさん:2009/10/18(日) 22:34:21 ID:???
空路ならネガティブリストになるから楽だろ。
255nobodyさん:2009/10/18(日) 23:05:30 ID:???
>>254
こういう仕様を理解出来ていない奴は、プログラムがいくら出来ても駄目。
指示されたものと全く違うものを作っておきながら、自己満足しているタイプだから。

そして、人には理解できないほど自分の技術力は高いと一匹狼を気取るバカ。
256nobodyさん:2009/10/19(月) 00:24:09 ID:???
バカが絶対回答の出ないシステムをでっち上げて、回答を考えてくる人をマッチポンプで燃やしまくるという伝説の釣堀はこちらですか
257nobodyさん:2009/10/19(月) 00:27:23 ID:???
ええそうですがおたくは?
258nobodyさん:2009/10/19(月) 03:27:55 ID:???
>>255
その君の理解してる仕様とやらを是非。
259nobodyさん:2009/10/19(月) 06:29:20 ID:???
>>212がなんか面白いこといってるが
どっかのアルゴリズムスレや数学板なんかで
このスレの話題を見てもらうとどういう反応返ってくるだろうな
260nobodyさん:2009/10/19(月) 07:03:52 ID:???
「ペチパーはWebProg板から出てくんな」
261nobodyさん:2009/10/19(月) 07:35:43 ID:z1FY4P6e
php初心者です。
クラスを__autoloadファンクションで自動ロードしたい場合、
set_error_handlerは使えませんか?
__autoloadファンクションを呼び出す前にset_error_handlerでClassNotFoundが捕捉されてしまっています。
現在error_reportingにはE_ALLを設定しています。
262nobodyさん:2009/10/19(月) 07:42:44 ID:sPnvr2hs
phpで動的にエラードキュメントページを生成してる場合に
ErrorDocument 401
にはローカルのパスじゃないとだめみたいで、
リモートの401ページが指定できないのですが、
例えば、
Error Document 401 http://○○.com/401.php
みたいな感じでやりたかったのですが
[notice] cannot use a full URL in a 401 ErrorDocument directive --- ignoring!
となってしまいます。
どう対処すればよいのでしょうかよろしくおねがいします
263nobodyさん:2009/10/19(月) 08:21:52 ID:???

ErrorDocument 401 /401.php
264nobodyさん:2009/10/19(月) 12:49:12 ID:???
>>261
エラーハンドラから__autoloadを呼び出せば?
265nobodyさん:2009/10/19(月) 15:14:54 ID:oO1BiORv
会員制のシステムを作っておりまして、
登録とともに、メールアドレスも同時に発行したいと考えています。

phpからメールアドレスを作る簡単な方法を教えて頂けませんか?
メールサーバーはsendmailです。

どうぞ宜しくお願いします。
266nobodyさん:2009/10/19(月) 15:24:30 ID:???
>>265
echo md5($_POST['user_input_value')."@"."localhost";
267nobodyさん:2009/10/19(月) 16:09:44 ID:???
簡単なのはローカルアカウント作ってそれをそのままメールアドレスで使う、だろうな。
sendmailと一言書くだけの君にはそれ以上のものを説明するのは難儀だ・・
268nobodyさん:2009/10/19(月) 16:17:33 ID:BtEfrA+m
以下の二次元配列があります
$ary[0][0]="a";$ary[0][1]="b";
$ary[1][0]="c";$ary[1][1]="d";

print_rの結果
Array(
[0] = > Array(
     [0] => a
     [1] => b
)
Array(
[1] = > Array(
     [0] => c
     [1] => d
)

これの一次元が0の配列を全て削除したいのですが
unset($ary[0]);とやっても一次元は消えるのですが二次元のほうは消えませんでした

求める結果
Array(
[1] = > Array(
     [0] => c
     [1] => d
)

一次元の[0]の配列(aとbが含まれている[0])を一気に全部消す方法はございませんか?
269nobodyさん:2009/10/19(月) 16:30:07 ID:???
>>268
試しに書いてみたんだが…

<?php
$ary[0][0]="a";$ary[0][1]="b";
$ary[1][0]="c";$ary[1][1]="d";
var_dump($ary);
unset($ary[0]);
var_dump($ary);
?>
array(2)
{
[0]=> array(2) { [0]=> string(1) "a" [1]=> string(1) "b" }
[1]=> array(2) { [0]=> string(1) "c" [1]=> string(1) "d" }
}

array(1)
{
[1]=> array(2) { [0]=> string(1) "c" [1]=> string(1) "d" }
}

と消えているっぽいんだが…
270268:2009/10/19(月) 16:34:33 ID:???
当方の環境はwindows vistaでPHP5.2.10でコンソールで動作させました
どうしても2次が消えません

$ary[0][0]="a";$ary[0][1]="b";
$ary[1][0]="c";$ary[1][1]="d";

unset($ary[0]);

でprint_rの結果はこうなります
Array(
     [0] => a
     [1] => b
)
Array(
[1] = > Array(
     [0] => c
     [1] => d
)
271268:2009/10/19(月) 16:37:24 ID:???
すいません消えたり消えなかったりしました
何か環境がおかしくなってるみたいなので一旦解決済みにします
272nobodyさん:2009/10/19(月) 17:46:49 ID:???
上でprint_r($ary[0])やってるのに気づいたんでしょ
273nobodyさん:2009/10/19(月) 21:02:39 ID:Vr0Rkez/
【OS名】CentOS5.3
【PHPのバージョン】php-5.2.10
【連携ソフトウェア】ImageMagick(2.2.1 )/Grapicmagick(1.0.1-b1)
【質問内容】

宜しくお願いします。
現在サーバに収納している画像ファイルの一覧プレビューを行うスクリプトを記述しているのですが、マルチページTIFFでハマってしまいまし。
シングルページTIFFであれば上記のImagick/Gmagickで問題なくプレビュー表示出来るのですがマルチページの場合は表示に何があります。
・ImageMagick:最後のページの表示。
・GraphicMagick:表示されない。

画像をファイル出力すればシングルページになるのですが、出力せずに取り込んだ状態で「echo $image」($imageがインスタンス)でヘッダー情報を付与してIMGタグにて直接出力したいのです。
知りたい事は下記のことです。

マルチページのページ数の取得。
任意のページの出力。
出来ればGrapicsMagickで処理を行いたい。

Webサイトを巡回してもマルチページTIFFについてはConvertコマンドでのファイル切り出しのみでPHPで使用する場合の記述はありません。

ご存知の方がいらっしゃいましたらご教示の程宜しくお願いします。
274nobodyさん:2009/10/20(火) 04:26:38 ID:dt9+CcDD
myphpadominで50Mぐらいのファイルをアップロードしたいのですができません
大きいファイルをDBに入れるにはどうすればいいでしょうか
ご教授ください
275nobodyさん:2009/10/20(火) 05:52:10 ID:???
>>274
php.iniの設定
276nobodyさん:2009/10/20(火) 09:18:38 ID:???
>>274
upload_max_filesizeだけではなくmemory_limitも変えないとこけるからね
念のため
277nobodyさん:2009/10/20(火) 09:28:48 ID:hamOlnHD
Cookieについての質問です。

ドメインがa.comのサーバで、ドメイン名を「x.com」と指定して書きこんだCookieは、
ドメインx.comのサーバで読めるのでしょうか。

よろしくお願いします。
278nobodyさん:2009/10/20(火) 09:44:05 ID:???
また同じようなのが....
クロスサイトってキーでググれ。
こんな時代にセキュリティを全然判ってない。

まーかわいそうだからヒントやるよ。GETかPOSTで渡しとけ。
279nobodyさん:2009/10/20(火) 09:45:34 ID:???
>>278
また上から目線か
なんでか理由を書かなけりゃわからんだろバカ
280nobodyさん:2009/10/20(火) 09:56:58 ID:???
281nobodyさん:2009/10/20(火) 10:01:25 ID:???
282nobodyさん:2009/10/20(火) 10:01:42 ID:???
>>277
そんなことできるのかと思ってやってみたら一応ヘッダは送られるのな
ブラウザは無視しているような挙動だったが
283nobodyさん:2009/10/20(火) 10:43:20 ID:???
そりゃ送るだろうな
サーバ側から送信するように書くのは自由だけどあくまでもブラウザ側でチェックしないといけないことだし
284大至急:2009/10/20(火) 11:33:00 ID:JKmaOzfS
他のサイトでも取得したクッキーを全て読めるような
プログラムを教えて下さい。

今日の夕方までに必要なので、遅くても15時までにはご解答をお願いします。
285nobodyさん:2009/10/20(火) 11:38:01 ID:???
>>284
そんなことできません
286nobodyさん:2009/10/20(火) 11:55:46 ID:???
>>284
直前にある>>277-283の流れを見ていたらわかるだろう?
と思ったが、別サイトでも同じドメインならパスを'/'とかにすれば可能
287277:2009/10/20(火) 11:57:10 ID:hamOlnHD
レスありがとうございます

288nobodyさん:2009/10/20(火) 12:03:37 ID:???
>>284
クラッキングしたいんですよね、わかりますよ
289大至急:2009/10/20(火) 12:15:24 ID:JKmaOzfS
>>286
いえ、別のドメインでもできるようなスクリプトを望んでいます。
>>288
クラッキングではありません。
訪問者がどのようなサイトを訪れているかを分析して、
その訪問者にあったメッセージを表示するプログラムを作りたいだけです。

あと、3時間しかありません。申し訳ありませんが、最優先でお願いします。
290nobodyさん:2009/10/20(火) 12:29:25 ID:???
>>289
13時までに上げるから待て
291大至急:2009/10/20(火) 12:36:01 ID:JKmaOzfS
>>290
ありがとうございます。
期待しています。
292nobodyさん:2009/10/20(火) 12:36:58 ID:3y8nZV0m
メール解析にはPEARのMail_Mimeがスタンダードなんでしょうか?
それかFWのソレ。
他にオススメの方法があったら教えて下さい。
293nobodyさん:2009/10/20(火) 12:44:53 ID:???
>>289
プライバシー覗く池沼かよきめえな
294nobodyさん:2009/10/20(火) 12:58:51 ID:???
>>289
もしクッキーが読めちゃうなら「どのようなサイトを訪れているか」ではなくて
別サイトの「どんな情報を持っているか」を見てるのでは?

強引な手法で履歴を取得する方法はあるけど、クッキーは無理
できたらセキュリティ的にまずいだろう
295大至急:2009/10/20(火) 13:35:52 ID:JKmaOzfS
ちょー役に立たねぇー奴らw

できないできない、じゃなくて、できる代替案を考えろ馬鹿。
296nobodyさん:2009/10/20(火) 13:39:47 ID:???
>>284
15時だな、わかった!
297nobodyさん:2009/10/20(火) 13:55:48 ID:???
15時から考えるわ
298nobodyさん:2009/10/20(火) 13:58:05 ID:???
まぁ、あせる事も無いからなぁ ゆっくりと代替案でも考えようぜ
299nobodyさん:2009/10/20(火) 14:04:49 ID:???
なんだいつもの池沼か
300nobodyさん:2009/10/20(火) 14:08:09 ID:???
>>279
こんなやつ(大至急)のために下手に出なければいけない理由は?

っていうかみんなわかってんだけどいわないだけ > ちょー役に立たねぇー奴らw
勝手に死んどけ
301nobodyさん:2009/10/20(火) 14:11:57 ID:???
>>289
cookieじゃないが、 こういうのでどうだ。
http://it.nikkei.co.jp/internet/news/index.aspx?n=MMITbe000015102008
302大至急:2009/10/20(火) 14:39:10 ID:JKmaOzfS
>>301
ありがとうございます。これでいいです。
クライアントに代替案を出せって言われて困っていたので、
これコピって送ります。助かりました。

追伸
結局、>>301の方以外は、冷やかしでこのスレに常駐している集まりなんですね。
本当に、砂漠の中にある金塊を見つけるがごとしです。
303nobodyさん:2009/10/20(火) 14:42:30 ID:???
>>302
>>294で強引な手法で履歴は取れるといったはずだが?
てか、マジで>>301採用するのかよ
304nobodyさん:2009/10/20(火) 14:46:41 ID:???
釣りだろ
そうでないなら頭が悪すぎる
クライアントにあきれられるのがおちw
305nobodyさん:2009/10/20(火) 14:53:21 ID:???
>>303-304
ID:JKmaOzfS があの手法で良いと言っているんだから良いんじゃね?
砂漠の中で見つけた金塊が本物かどうかも確認しないで持ち帰るのは
本人の勝手だし
306nobodyさん:2009/10/20(火) 15:21:13 ID:???
まぁクビだな
307nobodyさん:2009/10/20(火) 15:27:30 ID:???
あとは同じ様な質問が来たとしてもスルーしようぜ
308nobodyさん:2009/10/20(火) 15:31:05 ID:???
やさしい人多いな。俺は一番ひどい回答した301だが。
309nobodyさん:2009/10/20(火) 15:47:05 ID:???
うんこ
310nobodyさん:2009/10/20(火) 17:14:32 ID:???
わろた。
あまりブラック会社に悪いこと教えちゃダメよん
311nobodyさん:2009/10/20(火) 17:27:36 ID:???
>>301
これは、ひどい。不正アクセス禁止法違反で、
警察に通報した。
312nobodyさん:2009/10/20(火) 17:34:11 ID:???
不正指令電磁的記録作成等の罪じゃなくて?
313nobodyさん:2009/10/20(火) 18:06:27 ID:???
訪問済みリンクの色が変わってるのを
javascriptで取得してるだけだよ。
314nobodyさん:2009/10/20(火) 18:29:31 ID:???
javaオフにしてればいいね
315nobodyさん:2009/10/20(火) 18:40:44 ID:???
だがFlashでも同じ事が出来ちゃんだよなそれが
316nobodyさん:2009/10/20(火) 18:53:20 ID:???
CSSでもできるな
317nobodyさん:2009/10/20(火) 19:53:10 ID:DJDnqjY2
フォームの連続投稿規制って、Cookieとセッションと
DBにワンタイムコード記録する方法以外で何か無いですかね?
携帯でも対応させたいので、手軽な方法無いか探しているのですが
ググっても見つからないし、他に思い浮かばなくて・・・
318nobodyさん:2009/10/20(火) 20:32:20 ID:mUSPneVM
str_replaceとstrtrの違いってなんですか?
319nobodyさん:2009/10/20(火) 21:01:13 ID:???
str_replaceは置換機能がありますがstrstrにはありません。
320nobodyさん:2009/10/20(火) 21:04:52 ID:QCSnncKX
【OS名】WindowsXP
【PHPのバージョン】php5.29
【質問内容】Net/SmartIRCを利用してBOTを作っているのですが、トークにどうやったら反応するのかがわかりません。
BOTにトークで話しかけたら反応を返す、またはチャンネルで発言した言葉に反応してトークで返す、
のどちらかをしたいのですが、どうやったら良いでしょうか?
ちなみに、後者の方はこちら側からトーク画面を開いておいたらトーク内で発言を返すことはできましたが、
あらかじめトークの画面を開いていない場合はトークを返せませんでした。
321nobodyさん:2009/10/20(火) 21:05:39 ID:???
>>319
322nobodyさん:2009/10/20(火) 21:06:22 ID:???
>>301
その数千個のリンク、どっかにテキストで落ちてないかな?
323nobodyさん:2009/10/20(火) 21:12:53 ID:???
ひろみちゅが可視化してなかったっけ?
324322:2009/10/20(火) 21:21:56 ID:???
>>323
さんきゅ。
ad4u ひろみちゅで検索したら、1/5ほどのせた、っていうページがあった。
http://blog.myrss.jp/archives/2008/12/ad4u_11000.html
325nobodyさん:2009/10/20(火) 21:54:58 ID:???
ファイルって少ないほうがいいの?
個人向けと法人向けが2つあった場合登録ページを分けるべき?
またその場合は、フォルダを分けたほうが良い?
326nobodyさん:2009/10/20(火) 22:36:22 ID:???
つスレタイ
327nobodyさん:2009/10/20(火) 22:55:57 ID:???
メールフォーム作るときにphpとpearlどちら使った方がいいですか?
328nobodyさん:2009/10/20(火) 22:59:20 ID:???
つスレタイ
329nobodyさん:2009/10/20(火) 22:59:43 ID:???
俺なら迷わずにpearl
330nobodyさん:2009/10/20(火) 23:04:49 ID:???
>>327
ひまわりがいいよ
331nobodyさん:2009/10/20(火) 23:08:55 ID:???
ちゃんと教えろよ
スクリプト厨って馬鹿にされるぞ
332nobodyさん:2009/10/20(火) 23:24:14 ID:???
じゃPythonで。
333nobodyさん:2009/10/20(火) 23:34:41 ID:???
漢は黙ってsh
334nobodyさん:2009/10/20(火) 23:39:17 ID:???
メールフォームでそ?

htmlのみで。
335nobodyさん:2009/10/20(火) 23:58:42 ID:???
phpはいないのか・・・
まだpearlの方がメインで多く使われてるみたいだ
336nobodyさん:2009/10/21(水) 00:16:56 ID:???
<p>[email protected]</P>
これでいいだろ
337nobodyさん:2009/10/21(水) 01:55:04 ID:???
新言語ペアールスレと聞いて
338nobodyさん:2009/10/21(水) 01:56:21 ID:???
pearlを知らないヤツがいると聞いて
339nobodyさん:2009/10/21(水) 02:28:02 ID:???
新言語ピアールスレと聞いて
340nobodyさん:2009/10/21(水) 06:28:54 ID:JoENl7DB
phpとあまり関係ない話題で恐れ入りますが、
ご協力頂きたく投稿させて頂きました。

風見鶏の日本医師会について抗議をしませか?
人が一番苦しい時に助けてあげるのが、
医師ではないでしょうか?
今まで仲良くやってきておきながら、
苦境に立たされたら縁を切る。こんなことがあっていいのでしょうか?
日本人の義理人情はどうなってしまったのか。全く納得できません。

http://www.yomiuri.co.jp/e-japan/ibaraki/news/20091020-OYT8T01321.htm
来春に予定されている日本医師会長選への立候補を表明している県医師会の原中勝征会長は
「民主党と仲良くしたいと言っても、参院選で組織内候補を自民党から推すのであれば誰も信用しない」と、
自民党との決別を求める姿勢を強調、「このままいったら日本医師会がだめになるのは確か。
できるだけ早くマニフェストを書いて理解を深めたい」と話した。
341nobodyさん:2009/10/21(水) 08:09:33 ID:N99G4kgz
カレンダーつくるよ
ところで祝日とかのリストってどこかに落ちてませんか?
342nobodyさん:2009/10/21(水) 08:44:50 ID:???
>>341
http://jo1upk.blogdns.net/saito/?%E8%87%AA%E4%BD%9C%2FPHP%2Fpublic_holiday.php
春分/秋分の日は閣議決定なので、変わる可能性が無いとは言えない。
343nobodyさん:2009/10/21(水) 08:48:02 ID:JoENl7DB
>>342
民主党の連中が決定する閣議なんて信用しちゃ駄目だよ。
やっぱり、自民党が一番よくわかっている。
344nobodyさん:2009/10/21(水) 09:40:12 ID:N99G4kgz
ありがとうございます
早速カレンダー作りします
345nobodyさん:2009/10/21(水) 09:51:45 ID:???
各国・州の祝日も対応しないとな
346nobodyさん:2009/10/21(水) 10:24:27 ID:???
>>342
いいねこういうの。
俺もいつか自作したのこんな感じで公開したいな。
347nobodyさん:2009/10/21(水) 10:38:23 ID:JoENl7DB
【速報】
日本郵政に、新社長に元大蔵次官の斎藤次郎氏が内定した。
348nobodyさん:2009/10/21(水) 10:45:36 ID:mqyZqK+c
windows vista使ってます
php5.3を使うときスレッドセーフとノンスレッドーセフのどっちを使ったほうがいいでしょうか?
違いがわかりません
349nobodyさん:2009/10/21(水) 10:57:25 ID:???
>>348
運用じゃなくて開発用に使うんだよね?
もし開発用ならスレッドセーフにしておけばOK
350nobodyさん:2009/10/21(水) 10:59:34 ID:mqyZqK+c
>>348
ありがとうございますスレッドセーフをインストールします

補足
調べてみたらwindowsでapacheを使うならスレッドセーフを使ったほうがいいみたいでした
IISを使う場合はVC9のほうを、そうでないならVC6のを使うそうでした
linuxでは非スレッドセーフでもOKみたいでした

351nobodyさん:2009/10/21(水) 11:34:01 ID:JoENl7DB
お前らは技術を売って飯を食っている分際で、
それを人に頼っている時点で、自身の存在意義がないだろう。

自助努力で解決できるのが真の技術者だ。
最近、こういう基本的な姿勢を理解していない奴が多すぎる。
352nobodyさん:2009/10/21(水) 11:36:09 ID:???
無視され続けて遂に発狂したかw
353nobodyさん:2009/10/21(水) 11:36:21 ID:???
NG指定と
354nobodyさん:2009/10/21(水) 11:36:34 ID:???
日曜大工ですが何か?
355nobodyさん:2009/10/21(水) 11:39:46 ID:???
ワロタ
356nobodyさん:2009/10/21(水) 11:41:24 ID:???
昼間から2chに書き込んでるようなやつが技術者ねえ・・
357nobodyさん:2009/10/21(水) 12:19:47 ID:???
ネットで時間や場所を気にする男の人って・・・
358nobodyさん:2009/10/21(水) 13:17:25 ID:2lSXu71G
⇒みたいな文字を&#8658; (0x21d2) のようなHTMLで使う表記にしたいんですがうまくいきません。

文字列をUTF-8に変換してbinhexとかurlencodeを通しても
受け取るのは14845842(0xE28792)のような違う数値になってしまいます。
これはどうしたらいいのでしょうか。
359nobodyさん:2009/10/21(水) 13:19:59 ID:GvFW1IVN
pearパッケージを全て一括ダウンロードして使いたいのですが
コマンドでどのように書くのでしょうか?
360nobodyさん:2009/10/21(水) 13:32:48 ID:???
>>358
0xE・・・で始まるものはだいたいUTF-8
0xE28792は⇒のUTF-8での文字コード
361nobodyさん:2009/10/21(水) 13:38:24 ID:2lSXu71G
>>360
それはわかるんですが、8658 (0x21d2)を取得するにはどうしたらいいんでしょうか。
362nobodyさん:2009/10/21(水) 14:05:04 ID:???
>>361
echo bin2hex(mb_convert_encoding("⇒","Unicode","UTF-8"));
363nobodyさん:2009/10/21(水) 14:06:40 ID:???
bin2hex(mb_convert_encoding("⇒","Unicode","UTF-8"));
bin2hex(mb_convert_encoding("⇒","Unicode","UTF-8"));
bin2hex(mb_convert_encoding("⇒","Unicode","UTF-8"));
364nobodyさん:2009/10/21(水) 14:12:24 ID:???
>>361
8658 (0x21d2)はどの文字コードなのかを考えりゃわかるだろ
365nobodyさん:2009/10/21(水) 14:49:04 ID:???
> bin2hex(mb_convert_encoding("⇒","Unicode","UTF-8"));
> bin2hex(mb_convert_encoding("⇒","Unicode","UTF-8"));
> bin2hex(mb_convert_encoding("⇒","Unicode","UTF-8"));
366nobodyさん:2009/10/21(水) 14:56:22 ID:???
まとめ

function charRefer($str, $to = "Unicode", $from = "UTF-8") {
return "?x".bin2hex(mb_convert_encoding($str, $to, $from)).";";
}
367nobodyさん:2009/10/21(水) 14:57:55 ID:???
?→&#
368nobodyさん:2009/10/21(水) 15:02:23 ID:???
引数$strってのはおかしいな$charだな
369nobodyさん:2009/10/21(水) 15:07:02 ID:???
>>359
http://pear.php.net/go-pear
これ使えばよかったんじゃなかったっけか
370nobodyさん:2009/10/21(水) 15:55:18 ID:vwO/c7IH
世の中には薬を打ってる池沼どもがいるけど
そういうやつに絡まれたら刺されそうな気がするな
おまえらならこういう池沼に遭遇してこういう場面になったらどうするか教えてください
371nobodyさん:2009/10/21(水) 16:59:33 ID:???
ここレベル低くね?
372nobodyさん:2009/10/21(水) 17:11:17 ID:???
もしかしてUTF-8とUnicodの違いがわかってない人だったのかな
373nobodyさん:2009/10/21(水) 17:11:36 ID:???
うん、お前の頭並にレベル低いよ。
374nobodyさん:2009/10/21(水) 17:30:18 ID:???
煽るだけのカスよりは動くものだすやつのほうがよほどマシ
375nobodyさん:2009/10/21(水) 17:30:34 ID:???
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
> UTF-8とUnicodの違い
376nobodyさん:2009/10/21(水) 17:31:43 ID:???
こんなところで、あたかも東大の教授にでもなったかのように、
上から目線で回答する人間がウザ過ぎる。殴ってやりたい。
377nobodyさん:2009/10/21(水) 17:34:34 ID:???
>>376
東大の教授にでもなったかのようにって、どういう意味?
378nobodyさん:2009/10/21(水) 17:34:38 ID:???
見なければいいだけ
379nobodyさん:2009/10/21(水) 17:41:05 ID:???
ろくに知りもしない癖に煽るやつって何なんだ。
ここで偉そうに聞いてちゃんと答えてもらえなかったやつの逆恨みか。
380nobodyさん:2009/10/21(水) 17:41:12 ID:???
ちなみに、俺は中学校の時はクラスナンバーワンの成績で、
将来は東大に行って官僚になるんじゃないか、なんて言われていたっけ。
ちょっとwebの知識があるだけで、上から目線はやめろよ。
381nobodyさん:2009/10/21(水) 17:50:48 ID:???
もしかしてUnicodeとUTF-8が同じものだと思ってるのかな
382370:2009/10/21(水) 18:00:05 ID:+bbQosq3
誰かよろしくおねがいします
383nobodyさん:2009/10/21(水) 18:14:14 ID:???
どうやら可変ID使いが荒らしてるようだな
今朝シカトされたのがそんなに悔しかったのか?
かわいそうなやつめ
384nobodyさん:2009/10/21(水) 18:14:52 ID:???
ガキ臭い
385nobodyさん:2009/10/21(水) 19:25:07 ID:q1u7DFmE
SQLiteを使って見ようと思い簡単なプログラムを組んでテストしてみましたが1つの命令しか実行されていないようです
たとえばこのように入力するとテーブルが作られるだけで項目が追加されません
CREATE TABLE files(
id INTEGER NOT NULL PRIMARY KEY,
test1 TEXT
);
INSERT INTO up_file VALUES (NULL, 'test');
INSERT INTO up_file VALUES (NULL, 'test');
どのようにしたらいいのでしょうか
386nobodyさん:2009/10/21(水) 19:25:11 ID:q1u7DFmE
ソースです
<form action="<?php echo basename(__FILE__); ?>" method="post">
<textarea rows="10" cols="60" name="req"></textarea><br />
<input type="submit" />
</form>
<?php
if(isset($_POST['req'])){
  if($db = new SQLiteDatabase('sqlite.db', 0666, $sqliteerror)){
    if($result = $db->arrayQuery($_POST['req'])){
      $echo = "";
      $echo .="<table>";
      foreach($result as $array){
        $echo .= "<tr>";
        foreach($array as $key => $value){
          $echo .= "<td>(".$key.")".$value."</td>";
        }
        $echo .= "</tr>";
      }
      $echo .="</table>";
      echo $echo;
    }
    echo "<br /><pre>".$_POST['req']."</pre>";
  }else{
    var_dump($sqliteerror);
  }
}
?>
387nobodyさん:2009/10/21(水) 19:27:32 ID:???
複数行の挿入に対応してないんじゃないの?
388nobodyさん:2009/10/21(水) 19:28:14 ID:???
>>385
なんで"not NULL"指定のカラムに、NULLを入れようとしてるの?
389nobodyさん:2009/10/21(水) 19:29:20 ID:q1u7DFmE
>>388
SQLiteはPRIMARY KEYな項目にNULLを入れるとAUTOINCREMENTされるのです
390nobodyさん:2009/10/21(水) 19:33:03 ID:???
table名が違うのでは?
391nobodyさん:2009/10/21(水) 19:36:32 ID:q1u7DFmE
>>387
どうやらそんな感じのようです。
>>390
編集ミスです;
392nobodyさん:2009/10/21(水) 19:40:51 ID:???
トランザクション?
393nobodyさん:2009/10/21(水) 20:52:14 ID:???
>>375
JIS規格とShift-JISくらい違う。
394nobodyさん:2009/10/21(水) 21:04:47 ID:???
>>389
> SQLiteはPRIMARY KEYな項目にNULLを入れるとAUTOINCREMENTされるのです

明示するのが正攻法、
id INTEGER PRIMARY KEY AUTOINCREMENT
395nobodyさん:2009/10/21(水) 21:11:57 ID:q1u7DFmE
>>394
Warning: SQLiteDatabase::arrayQuery() [sqlitedatabase.arrayquery]: near "AUTOINCREMENT": syntax error in /home/httpd/***/public_html/***.php on line 25
396nobodyさん:2009/10/21(水) 21:12:13 ID:???
NULLじゃなくて、10とか20とか入れてもダメなのかな?
397nobodyさん:2009/10/21(水) 21:14:58 ID:???
SQLite2使ってる?
398nobodyさん:2009/10/21(水) 21:19:09 ID:???
>>396
直に指定でもできました
>>397
2.8.17です
399nobodyさん:2009/10/21(水) 21:30:45 ID:???
arrayQueryはひとつのSQLに対し配列を返すんだよーん
400nobodyさん:2009/10/21(水) 21:35:18 ID:q1u7DFmE
まじで
401nobodyさん:2009/10/21(水) 21:35:28 ID:???
てかエラー内容調べればいいじゃん、せっかく関数あるんだし。
402nobodyさん:2009/10/21(水) 22:42:45 ID:???
ログイン画面で/loginでアクセスするサイトが多いと思うんだけど
一般的にファイル名は何かな?index.php?
403nobodyさん:2009/10/21(水) 22:50:10 ID:???
mod_rewriteとかで書き換えてるんじゃない?
実態は index.php?mode=login とかまあ別に何でもいいと思うが
404nobodyさん:2009/10/21(水) 22:59:53 ID:???
>>403
へえそんなのあるんだ。ありがと
405nobodyさん:2009/10/21(水) 23:57:48 ID:VcPQwNyu
PHP関係の書籍でセキュリティ関係について詳しく書いてる書籍ってありませんか?
えすきゅーえるいんじぇくしょんとかせっしょんはいじゃっくとかぼーとすきゃんとか
ハッキング対策全般が分かりやすく書いてる本でおすすめがあったらお願いします。
406nobodyさん:2009/10/22(木) 00:12:40 ID:???
オライリーのPHPセキュリティとか
407nobodyさん:2009/10/22(木) 00:13:59 ID:???
つか、その程度ならネット見れば済むだろー
408nobodyさん:2009/10/22(木) 03:53:32 ID:???
ひろみちゅのサイトとか、PHP嫌いのPerl使いのサイトとか見ればたくさんあるよね
409nobodyさん:2009/10/22(木) 04:35:57 ID:???
天下のIPA様もセキュリティーのためにPHPは使わないとか言ってるしな
脆弱性が多いとかZend信用されてなさすぎだろ
410nobodyさん:2009/10/22(木) 07:44:40 ID:???
>>408
高木さんはPHPが嫌いと言うより質の低い解説本が溢れてることをよく思ってない感じがする
411nobodyさん:2009/10/22(木) 09:45:10 ID:???
>>405
本じゃないけど、大垣たんの連載全部読めば?

連載:なぜPHPアプリにセキュリティホールが多いのか?|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/php-security
412nobodyさん:2009/10/22(木) 10:02:24 ID:???
>>411
やあ大垣君、宣伝ごくろうだな
てめえのksサイトには興味ねえんだks

今日は質問してやるからここのスレのksどもはすぐ調べて来い
軽量のフレームワークの名前とHello worldの出し方を教えろやks
しらねえなら今から調べて来い
12時に飯食うからそれまでにとっととggってこいや
時間がねえからさっさとしろよksども
413nobodyさん:2009/10/22(木) 10:03:37 ID:???
414nobodyさん:2009/10/22(木) 10:09:25 ID:qCOOWV7S
>>413俺に指図するな池沼
今日は質問してやるからここのスレのksどもはすぐ調べて来い
軽量のフレームワークの名前とHello worldの出し方を教えろやks
しらねえなら今から調べて来い
12時に飯食うからそれまでにとっととggってこいや
時間がねえからさっさとしろよksども
415nobodyさん:2009/10/22(木) 10:11:32 ID:???
触るなよ
416nobodyさん:2009/10/22(木) 10:11:38 ID:???
>>414

Hello world

やだ恥ずかしい
417nobodyさん:2009/10/22(木) 10:34:31 ID:???
842 名前:nobodyさん[] 投稿日:2009/10/22(木) 10:01:02 ID:h4MlR9Sn
俺様が手本見せてやるから見てろ
おい、ここのスレ見てるMのカス共、そこの池沼お前だ
軽量のフレームワークの名前とHello worldの出し方を教えろやks
しらねえなら今から調べて来い
12時に飯食うからそれまでにとっととggってこいや
時間がねえからさっさとしろよksども

同じ板で大暴れですな
今日も可変ID使いは元気です
418nobodyさん:2009/10/22(木) 10:49:29 ID:???
まぁまぁ、そうカッカしないで、自分のおならの臭いを嗅いでエクスタシー感じようよ。
419nobodyさん:2009/10/22(木) 10:59:49 ID:???
>>414
ちいたん
php -r "echo 'Hello world';"
420nobodyさん:2009/10/22(木) 11:03:31 ID:???
誰も削除依頼だして無いって事は、みんなたいして害が無いと思ってるって事だろ。
421nobodyさん:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?
422nobodyさん:2009/10/22(木) 11:16:41 ID:???
421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?

421 名前:nobodyさん[sage] 投稿日:2009/10/22(木) 11:09:25 ID:???
削除依頼出すよりも、不正アクセス禁止法違反で刑事告訴するような案件じゃないか?
423nobodyさん:2009/10/22(木) 11:17:01 ID:GGgiWLj/
>>362,366
それです、ありがとうございました。
そういえば10進にするのにbin2decはないんですね。hexdec通せばいいだけですが。

>>367
半角で書くと<みたいに出てしまうのが問題かと思って全角に

>>372,381
はい、UnicodeとUTF-8、UTF-16などを勘違いしてました。申し訳ない。
頭カッチカチになっててUnicodeにすることに頭がいきませんでした。
424nobodyさん:2009/10/22(木) 11:21:55 ID:???
>>422
ついに発狂したな。
自分が逮捕されるかもしれないと知って、
顔面蒼白状態かwww
425nobodyさん:2009/10/22(木) 11:29:35 ID:???
と、劣等生が申しております
426nobodyさん:2009/10/22(木) 11:33:17 ID:???
いちいちネタ提供しなくていいよ
427nobodyさん:2009/10/22(木) 11:36:42 ID:???
荒らしにいちいち相手してるのも自覚のない荒らしだ。
どっちもいらん。
428nobodyさん:2009/10/22(木) 11:39:43 ID:???
自覚ないやつをいちいち相手してるやつも自覚ない荒らしだ
おまえもいらん
429nobodyさん:2009/10/22(木) 12:38:24 ID:???
ったく、脳がemptyな奴がおおいな
430nobodyさん:2009/10/22(木) 12:44:18 ID:???
この板に生息するキチガイ

正規表現くん
OCNくん
チンピラくん
431nobodyさん:2009/10/22(木) 13:02:36 ID:???
脳内がarray過ぎてアレなんだよ
432nobodyさん:2009/10/22(木) 13:16:34 ID:???
チンピラくんはともかくOCNくんはこのスレではまだ名乗り出てないだろ
ていうかこのスレであっちの話題持ってくるな
またバカが暴れる
433nobodyさん:2009/10/22(木) 13:25:07 ID:???
うるせーハゲ
434nobodyさん:2009/10/22(木) 13:26:19 ID:???
ハゲっていうならちゃんとhageろよ
435nobodyさん:2009/10/22(木) 13:39:10 ID:NNeAiTXH
windows 上でPHP5.3を使用してます
PHP5.3でデフォルトで使用できるようになったfinfo_buffer関数を試してみたいのですが
マニュアルに書いてあった下記のサンプルコードを試してもエラーになりました

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

エラー:PHP Fatal error: Class 'finfo' not found

どうやったらfinfo_bufferは使えるのでしょうか?
436nobodyさん:2009/10/22(木) 13:51:39 ID:???
finfo でググったら php finfo の例が出てきたのでそれクリックして一番上がこれ
ttp://blog.fortelab.net/archives/23
437nobodyさん:2009/10/22(木) 13:55:06 ID:???
>>435
本当に有効にしてるの?php.iniみなおしてみ
438nobodyさん:2009/10/22(木) 14:00:09 ID:???
>>435
xamppliteにはdllがなかったからxamppから持ってきたら動いたよ
439435:2009/10/22(木) 14:05:29 ID:???
php.iniでphp_fileinfo.dllを読み込ませてなかったのが原因みたいでした
440nobodyさん:2009/10/22(木) 14:07:06 ID:???
まぁそんなオチだろうとはおもった
441nobodyさん:2009/10/22(木) 14:09:13 ID:???
finfo_bufferって関数なのになんでマニュアルでは$finfo->bufferみたいにしかできないんだろう
442nobodyさん:2009/10/22(木) 14:18:18 ID:???
finfoクラスのbufferメソッドっていう意味でかいたんじゃね
クラス名も小文字で色々違和感があるクラスだな
443nobodyさん:2009/10/22(木) 14:18:20 ID:BC6gKUnK
<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

のようなクラス?での書き方コードではなく関数としてfinfo_buffer(パラメータ)形式でのサンプルってありませんか?
444nobodyさん:2009/10/22(木) 14:25:32 ID:???
と質問してみたものの思って自分で書けました
fileinfo関数って関数だけどクラスとしても使えるってことなんですね

$file = file_get_contents("d:/test.php");
$fp =finfo_open();
$fb = finfo_buffer($fp,$file,FILEINFO_NONE);
print_r($fb);
445nobodyさん:2009/10/22(木) 14:26:19 ID:???
あぁそういうことか
関数でありクラスメソッドであるみたいな
PHP使いは随分変なことするな・・・

finfo入ってないし動作するかわからないけどマニュアル見るかぎりだと
$finfo = finfo_open(FILEINFO_MIME);
echo finfo_buffer($finfo, $_POST['script']) . "\n";
かな?
446nobodyさん:2009/10/22(木) 14:28:43 ID:BC6gKUnK
公式の投稿コードには何もなかったんで投稿したいんですが

↓のスパムフィルターの意味がわかりません
Answer to this simple question (SPAM challenge):
nine minus one?
447nobodyさん:2009/10/22(木) 14:30:18 ID:???
無名関数のこと?5.3からだよね。
448nobodyさん:2009/10/22(木) 14:30:34 ID:BC6gKUnK
449nobodyさん:2009/10/22(木) 14:32:23 ID:???
>>446
英語もわからないのに投稿するのか?w
9-1はなんですか?ってきいてるだけやんw
450nobodyさん:2009/10/22(木) 14:36:07 ID:BC6gKUnK
英語で答え書いて先進めたけどなんかこんな文章がでて投稿できなかったorz
Your IP is listed in one of the spammers lists we use, which aren't controlled by us. More information is available at http://www.dnsbl.info/lookup.asp?IP=***.**.**.**.
451nobodyさん:2009/10/22(木) 14:40:23 ID:???
同じIP網使ってるやつがスパマーに踏み台にされてるか日本からのIPは弾いてるかってとこだろう
452nobodyさん:2009/10/22(木) 14:44:21 ID:BC6gKUnK
せっかくfinfo_bufferでphp公式サイトデビューかと思ったのにスパムフィルターにやられたぜ
誰かに手柄上げますので投稿できる方は>>444を投稿してください
改変しようが自由です
453nobodyさん:2009/10/22(木) 15:33:39 ID:???
User Contributed Notesに載せるほどのことか?
454nobodyさん:2009/10/22(木) 15:42:45 ID:???
トンチンカンなことを書いて恥かかなくてよかったねw
455nobodyさん:2009/10/22(木) 15:45:07 ID:???
どんどんやってくれ。
456nobodyさん:2009/10/22(木) 15:51:02 ID:???
奥さんが浮気していますよ。
457nobodyさん:2009/10/22(木) 15:54:54 ID:???
お母さんが泣いてるぞ
458nobodyさん:2009/10/22(木) 16:00:52 ID:???
ID:BC6gKUnKは関数と無名関数とクラスの違いから勉強しなおせ
459nobodyさん:2009/10/22(木) 16:04:25 ID:???
>>458
なんで?
460nobodyさん:2009/10/22(木) 16:05:12 ID:???
関数の話してるのに何で無名関数とクラスの違いがでるのか謎
461nobodyさん:2009/10/22(木) 16:17:47 ID:???
>>460
なんで?
462nobodyさん:2009/10/22(木) 16:18:52 ID:???
finfo_bufferと無名関数が激しく関係ない件
463nobodyさん:2009/10/22(木) 16:21:03 ID:???
あさっての方向の書き込みしてるの一人だろw
464nobodyさん:2009/10/22(木) 17:03:57 ID:2Qgc9o0R
s始めまして。ファイルサイズについて質問させてください。
phpで携帯サイトのフォームを作っていて、ファイルサイズが20kbです。実際表示されると8kbで、
携帯サイトのファイルサイズ上限を10kbと考えていますが、問題はないのでしょうか。

phpファイル(20kb)がサーバーで処理を行う→クライアントのブラウザに表示される(8kb)
なのでOK?
465nobodyさん:2009/10/22(木) 17:05:49 ID:???
PHPのセキュリティーについて、他の言語と比べて致命的なものとは何でしょうか?

・php.iniで余計な情報が出力されることがデフォルトの設定になっている。
・コンパイルのプロセスがないため、実行時にエラーになる場合がある。
・実装によって、クラスのプライベート・パブリックの別がなくなる。
・Apacheの特定のバージョンと組み合わせた場合に、原因不明のダウンが起こる。
・型が曖昧で、非宣言でも使えるがための論理バグが生じる。

私の認識は、これくらいですが、これらは言語の責任というよりも、
その実装責任者の技量によるところが大であること考えています。
466nobodyさん:2009/10/22(木) 17:10:20 ID:???
>>464
PHPファイルのサイズを見てどうするよ
出力するサイズを見ないと

>>465
・実装によって、クラスのプライベート・パブリックの別がなくなる
こんなことあるの?
467nobodyさん:2009/10/22(木) 18:37:25 ID:???
フレームワーク使って人居ます?
468nobodyさん:2009/10/22(木) 18:39:52 ID:???
>>466
意識するのは出力されるファイルサイズでよろしいのですね。
ご返答ありがとうございました。
469nobodyさん:2009/10/22(木) 19:15:06 ID:???
>>465
一番は、セキュリティに対しての意識が低い、間違ってる本やサイトがいっぱい出てることによる弊害じゃないかな。
470nobodyさん:2009/10/22(木) 20:17:05 ID:???
>>465
2番目と5番目はインタプリタの特徴だろ
471nobodyさん:2009/10/22(木) 20:21:04 ID:???
>>465
4番は、どのバージョンとどのバージョン?
472nobodyさん:2009/10/22(木) 20:35:14 ID:???
>>467

>>1
473nobodyさん:2009/10/22(木) 20:41:20 ID:???
>>473

>1
474nobodyさん:2009/10/22(木) 20:44:23 ID:???
PHP初心者に薦めたい本…PHPの絵本、ノンプログラマ、C++の初心者向け
って書きたくなるくらい、PHP初心者向けって信頼されてないよぁw
書籍作って販売するって、やる気さえあれば簡単に出来るものなの?
475nobodyさん:2009/10/22(木) 20:44:55 ID:???
うん
476nobodyさん:2009/10/22(木) 20:46:57 ID:???
>>474
だいたいWebでPHP初心者講座みたいの開いてにぎわってきて出版社の目にとまると
この内容に手を加えて本を出してみないか?みたいにアプローチが来る
477nobodyさん:2009/10/22(木) 20:54:49 ID:???
最近はどうだか知らないけど、
 初心者向けPHP本が出る → セッションを使ってない/使い方がおかしい、サニタイズが(ry
あたりのツッコミを入れられまくるのが一種のお約束だったぐらいに酷かった気がする。

そろそろ1冊ぐらい、無難なのがあるんだろう。いやきっとあるはず。
478nobodyさん:2009/10/22(木) 21:18:09 ID:???
言いだしっぺの法則というのを皆さんご存知か?
479nobodyさん:2009/10/22(木) 21:23:41 ID:???
本ってスカウト制が多いのか。なるほどねぇ。
じゃあ、私のサイトにスカウトが来たらロリコンの為のPHP教本とか作れるのか
480nobodyさん:2009/10/22(木) 21:37:53 ID:???
一冊だけphpじゃない技術系の本を書いたことあるけど、
原稿料が安いし、使い捨てって感じ。
本を出したという実績が欲しい人にはいいけど、
金儲けのために本を作る人はいないと思う。このご時世。
481nobodyさん:2009/10/22(木) 22:03:03 ID:???
dbに問い合わせする関数ってどうかいてる?

俺はこんな感じだけど
function select_xxxx(&$result, $condition)
{
$result = 結果;

return TRUE;
}
482nobodyさん:2009/10/22(木) 22:03:31 ID:???
本が難しければ日経あたりの特集記事でもいいだろう。
日経風に、「間違いだらけのサニタイズ」「セッション管理に失敗しない10の方法」
「フレームワーク最前線」とかタイトル並べれば通る気がする。
483nobodyさん:2009/10/22(木) 22:04:43 ID:???
なんで結果セットを参照にしてんの?
484nobodyさん:2009/10/22(木) 22:12:50 ID:???
>>481
はっきり言ってお前はセンスがない。
コンビニのアルバイトがお似合い。
485nobodyさん:2009/10/22(木) 22:16:02 ID:???
せめてクラス化しろよー
486nobodyさん:2009/10/22(木) 22:29:11 ID:???
ちょっと良い格好したいならDBアクセス部分だけクラス化。
手抜きするなら普通に必要なところでクエリ作って投げる。ていうか関数化する意味あるのかそれ。
487nobodyさん:2009/10/22(木) 22:31:40 ID:???
今時DBなんてpearを使うのが王道だろ
車輪の再開発だな
488nobodyさん:2009/10/22(木) 22:32:34 ID:???
クラス化するか、PDOを素のまま使う。
クラス化するとログが取りやすくなって便利。デコレータ・パターンとかでロガーを簡単に仕込める。
489nobodyさん:2009/10/22(木) 22:36:33 ID:???
DBMSをころころ換える可能性がないなら普通にPDO
490nobodyさん:2009/10/22(木) 22:45:55 ID:???
DBアクセスのところは一つのクラスにまとめるけど、
SQLは、ビジネスクラスの中で書いているけど、普通?
SQL毎にクラス作っていたら、膨大なクラス数になるよね?
491nobodyさん:2009/10/22(木) 22:47:53 ID:???
????
492nobodyさん:2009/10/22(木) 22:49:30 ID:???
どんなクラスを作ったんだよw
493nobodyさん:2009/10/22(木) 22:50:38 ID:???
>>490
その設計古すぎというか、駄目。
SQL文は外だしのファイルにして、一個所にまとめないと、
あっちこっちSQL文だらけになってメンテナンスに困るだろう?
494nobodyさん:2009/10/22(木) 22:52:44 ID:???
>>490
SQLとビジネスロジックがごちゃごちゃして分かりにくい。
普通はSQLは、外部ファイル化して、それをデータベースのアクセスクラスが読み込むのが標準的な設計だと思うが。
495nobodyさん:2009/10/22(木) 22:53:40 ID:???
sqlをクラスの中に書くのかよww
496nobodyさん:2009/10/22(木) 22:59:03 ID:???
で、どうやるのがスタンダード?
SQL文一個につき1関数じゃダメなの?
497nobodyさん:2009/10/22(木) 23:00:38 ID:???
とりえあずスレタイと>>1を読もうよ
498nobodyさん:2009/10/22(木) 23:04:06 ID:???
>>497
正直すみません。

設計スレみたいなのないかな?
499nobodyさん:2009/10/22(木) 23:04:41 ID:???
いい加減にしてくれないか
500nobodyさん:2009/10/22(木) 23:05:10 ID:???
何のために引数が存在してると思ってるんだ・・・・・・・
501nobodyさん:2009/10/22(木) 23:21:24 ID:tJpAUHQM
ソフトバンク携帯でアクセスしたときに
(以前は表示できていたのですが)見れなくなってました。
情報量が多かったのでPHPファイル内をわずかなテキストだけにしました。

が、それすら表示できませんでした。パソコンでは問題なく見れます。
エラーは下記です。

エラーが発生しました。レスポンスが不正です。WJ40164E

どうすればよいのでしょう?

502nobodyさん:2009/10/22(木) 23:27:58 ID:???
エスパーさん出番ですよ〜!
503nobodyさん:2009/10/22(木) 23:36:41 ID:???
>>501
まず、 googleで ソフトバンク レスポンスが不正です  で検索しようよ。
504nobodyさん:2009/10/22(木) 23:37:22 ID:???
>>501
WJ40164E でググレカス
505nobodyさん:2009/10/22(木) 23:39:11 ID:???
>>502-504
しねks
506nobodyさん:2009/10/22(木) 23:46:57 ID:???
>>505
検索した?答えあると思うけどな。
507nobodyさん:2009/10/22(木) 23:47:36 ID:???
>>505
質問者じゃないだろ?
あと、諭すような口調をやめてくれ
508nobodyさん:2009/10/22(木) 23:48:20 ID:???
fscanfがおかしいです!
509nobodyさん:2009/10/22(木) 23:49:42 ID:???
>>508
君の頭の方がもっとおかしいです!!
510nobodyさん:2009/10/23(金) 00:02:06 ID:X9i7QbIU
>>503
>>504
もちろんそれは検索済みです。。。
ほんの数件しか検索されなく、解決策もありませんでした。
511nobodyさん:2009/10/23(金) 00:21:33 ID:tmLg3YdR
上でちょこっと言ってる、SQL文とロジックを分けるのサンプルってありませんか?
検索フォームのためのSQL文をきれいにソースと分けたいなぁと思っているのですけど
512nobodyさん:2009/10/23(金) 00:37:44 ID:tmLg3YdR
>>510
hallow worldやphpinfoが表示出来ないというレベルで尚且つ、レンタルサーバの場合は
サーバ側で少し設定が変更されたかと思う。
firefoxやIEでHTTPヘッダーの情報が見れるアドオンとかあるし、
その情報を見れば少しは怪しいところが見えてくるかもしれない
513nobodyさん:2009/10/23(金) 00:56:06 ID:???
>511
1. SQLだけ記述したファイルを用意する
2. そのファイルをfile_get_contentsで読み込み、文字列変数にセットする
3. SQL文字列をライブラリに渡してやり、実行する。

さらに一歩進めるなら、
実行して得られた結果セットを配列に入れて返してやる
514nobodyさん:2009/10/23(金) 00:57:43 ID:???
>>513
パラメタ付の場合は? 
515nobodyさん:2009/10/23(金) 01:15:01 ID:???
  ァ  ∧_∧ ァ,、
 ,、'` ( ´∀`) ,、'`
  '`  ( ⊃ ⊂)  '`
516nobodyさん:2009/10/23(金) 01:23:42 ID:???
>>513
> 2. そのファイルをfile_get_contentsで読み込み、文字列変数にセットする
そうじゃないだろ。どういう設計思想なんだよ。パフォーマンス無視?
517nobodyさん:2009/10/23(金) 01:25:07 ID:???
パフォーマンスや保守性はアクセス数が増えたときに考えればいいんじゃないのか?
518nobodyさん:2009/10/23(金) 01:31:29 ID:???
>>517
ある程度先の運用面を考えて実装するが良き設計者。
それにその設計方法じゃ、すぐに天井が来る。
519nobodyさん:2009/10/23(金) 01:32:35 ID:???
>>498

最近では関数はあんまり使わないと思うよー。

一番単純なのは
class DB{
function geAAA(){

}
function geBBB(){
}
}

みたいな感じじゃないかなぁ。

SQL外だしっていうのも、実はあんまりメリットないと思う。
520nobodyさん:2009/10/23(金) 01:34:58 ID:???
SQLを動かすクラスと、それを運用するクラスと分けるべきだな
521nobodyさん:2009/10/23(金) 01:38:30 ID:U1ZTI1ef
スレ違いかもしれないのですが、該当のスレが見つからなかった為、こちらで質問をさせてください。

現在、PHPとMySQLを組み合わせたウェブサイトを作っています。
MySQLのデータベースには2つのテーブル(テーブルA、テーブルB)があり、PHPからこの2つのテーブルを参照し、以下の様に表示させたいと考えています。

data_id (参照A)
info (参照A)
date(参照A)
sonota(参照A)
koshin_joho(参照B) // テーブルBもdata_idを持っていて、テーブルAのdata_idとマッチする時のみ、ウェブにkoshin_johoを表示

現在、phpファイルからテーブルAの方はループを使ってそれぞれのカラムを参照し、表示する事ができているのですが、
テーブルAのためにループを使っているためか、テーブルBを参照する事ができません。
どのようにすればループを使ってMySQLに登録されているデータを一度にウェブ表示させている状態で、
テーブルAとテーブルBをループ内で同時に表示する事ができるのでしょうか?

長文失礼致しました。
522nobodyさん:2009/10/23(金) 01:38:50 ID:???
>>520
結局よく分からないけど、
(1) SQL文はクラスに直書き?外だし?
(2) いずれにしても、SQL文が1000個あったら、1000クラス(ファイル)作るの?じゃないなら、グループ化の基準は?
(3) WHERE文の要素が可変の時は?

俺は、MVCでいうところのModelに全て直書き。だから、ソースのあちらこちらにSQL文が書かれている。
523521:2009/10/23(金) 01:39:25 ID:U1ZTI1ef
テンプレを忘れていました。

【OS名】CentOS 5.3
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
524nobodyさん:2009/10/23(金) 01:44:05 ID:???
あー。。>>519のDBクラスはたとえが良くないなー。

BBSクラスにしよう。
BBSクラスはBBSに関する全ての情報・操作を引き受ける人。
他人はデータ取得・保存はできるだけ単純にできるようにってだけ。

だから、
取得する条件・対象ごとにメソッド分けるのとパラメタで指定するのと
一概にどっちがいいとはいえない。
525nobodyさん:2009/10/23(金) 01:44:26 ID:???
>>521
koshin_johoも一緒に取得すればいいんじゃないの?
マッチしない場合は取得できないわけだし
526nobodyさん:2009/10/23(金) 01:46:19 ID:???
>>521
えーっと、、リレーションって知ってる?
527nobodyさん:2009/10/23(金) 01:47:10 ID:???
>>524
前半は、いいとして、

> 取得する条件・対象ごとにメソッド分けるのとパラメタで指定するのと
> 一概にどっちがいいとはいえない。
それは、クラスを使いながら、考え方が全然オブジェクト指向じゃない。
528nobodyさん:2009/10/23(金) 01:48:25 ID:???
>>522
1.SQLの機能をラップしたクラス
2. 1のクラスを使って機能を実現するクラス

という感じで分けてる、SQLは2へ直書き。
おそらくそれ以上ラップしたり、粒度を増やしても使うことは無いからということで。
529521:2009/10/23(金) 01:49:08 ID:U1ZTI1ef
現在書いているPHPのコードはこのような感じです。

$sql1 = "SELECT x FROM tableA";
$sql2 = "SELECT x FROM tableB";
$tablea = mysql_query($sql1);
$tableb = mysql_query($sql2);

while($row = mysql_fetch_array($tablea)){
echo $row['data_id'] ;
echo $row['info'] ;
echo $row['date'] ;
echo $row['sonota'] ;
}

while ($row2 = mysql_fetch_array($tableb)){
if ($row2['data_id'] eq $row['data_id']){
echo $row2['koshin_joho'];
}
}
530nobodyさん:2009/10/23(金) 01:52:48 ID:???
>>529
SELECT * FROM tableA NATURAL JOIN tableB
531nobodyさん:2009/10/23(金) 01:53:32 ID:U1ZTI1ef
>>525,526

ありがとうございます。
こういう事でしょうか?

$sql = "SELECT x FROM tableA, tableB where tableA.data_id = tableB.data_id";
$table = mysql_query($sql);

while($row = mysql_fetch_array($table)){
echo $row['data_id'] ;
echo $row['info'] ;
echo $row['date'] ;
echo $row['sonota'] ;
echo $row['koshin_joho'];
}
532nobodyさん:2009/10/23(金) 01:56:08 ID:???
>>527

スレッド名一覧をとる
getAll()
ID指定してスレッドとる
getById()

なんて分けるのは割りとあると思うけどなー
返ってくるモノが違うってとき。
533nobodyさん:2009/10/23(金) 01:57:50 ID:U1ZTI1ef
>>530
それだとkojin_johoが書かれているテーブルの内容しか表示されません。
534nobodyさん:2009/10/23(金) 02:04:16 ID:???
>>533
そこまで分かってるなら普通に結合も分かれよw ネタかよw
535nobodyさん:2009/10/23(金) 02:09:54 ID:???
>>533
外部結合でググろう

SELECT * FROM tableA LEFT JOIN tableB ON tableA.data_id = tableB.data_id;
536nobodyさん:2009/10/23(金) 02:12:01 ID:???
つTECHSCORE
537nobodyさん:2009/10/23(金) 02:25:34 ID:U1ZTI1ef
>>534
最近MySQLをはじめたものですいません。

>>535
完璧です。ありがとうございました。
538nobodyさん:2009/10/23(金) 05:47:37 ID:QLP+l4hN
http://php5.seesaa.net/category/3798060-1.html
このサイト使ってphpを始めたのですが、POSTとGETを同時に使う重要性が分からないです。
Formタグの action の項目にGETをあらかじめ入力しているだけなので、ブラウザでのユーザの操作で変化しないです。
確かに同時に使っていますが、メリットが分からないです。むしろ、ユーザに書き換えられる危険性の方が高い気がします。
またhidden についても同様で、わざわざ入門のページにある割に、使い道が分からないです。
POSTとGETを同時に使う意味はありますか?
539nobodyさん:2009/10/23(金) 06:08:57 ID:???
重要なんて書いてある?
ケースバイケースで両方使う場合もあると書いているんだろう
俺もいろいろ書いてきたがGETとPOSTを併用したのは1度だけある
どういうケースで使ったのかはちょっと思い出せないが併用したことは覚えている
必要になれば使えばいいだけの話だからそんな深く考えなくていいよ
一生使わないかもしれないし頻繁に使うかもしれないし
結局その人が何作ってるか・どういう風に組んでいるかによる

hiddenはたとえば何かのアカウントを取得するときを想定するとわかりやすい
アカウント取得には

登録のために個人情報を入力する(Input)→
登録確認(個人情報確認)画面に進み登録するか確認する(Confirm)→
登録完了

というプロセスをとる場合が多いわけだが
Input画面で入力した情報をConfirm画面で出力するためには
Confirm画面にどうにかしてInput画面で入力したものを受け渡さないといけない
そういうときに使うのがhidden
ようするに前のページの情報をページ遷移(移動)後でも使うために使う(情報を持ちまわすのに使う)
540nobodyさん:2009/10/23(金) 07:28:00 ID:???
すみません。PHPってウェブサーバー上でしか実行できませんか。
例えばコマンドプロンプトからバッチファイルはexeみたいに
実行できないでしょうか?
541nobodyさん:2009/10/23(金) 07:35:54 ID:???
>>539
なるほど 隠す用途じゃなくて見えなくさせているだけってことか。
入力された変数をhiddenのところにprinfするなら、確かに次も値を使えそうです。
2chにブラウザで書き込んだ時に出る「書きこみ&クッキー確認」の画面でもhiddenを見つけられました。
ありがとうございました。
542nobodyさん:2009/10/23(金) 08:45:41 ID:pXxGvaT3
>>482
「PHPの」初心者ですが、
「セッション管理に失敗しない10の方法」を教えて頂けませんでしょうか。

543nobodyさん:2009/10/23(金) 09:13:04 ID:???
PEARって全部使えないと思うのは俺だけですか?
544nobodyさん:2009/10/23(金) 09:27:52 ID:???
>>543
先日まで触ったこともなかったけどSMTP_AUTHを使う必要があってMailを使ったよ
545nobodyさん:2009/10/23(金) 10:39:30 ID:???
>>540
普通にできます
546nobodyさん:2009/10/23(金) 11:43:28 ID:???
>>545
できました。
547nobodyさん:2009/10/23(金) 21:49:42 ID:???
安藤さんがOSS受賞したね
548nobodyさん:2009/10/23(金) 22:02:21 ID:???
だれや?
キャスターか?
549nobodyさん:2009/10/24(土) 00:11:00 ID:???
>>513
これギャグだろ?
550nobodyさん:2009/10/24(土) 00:40:41 ID:BvPjRTUm
new SQLiteDatabaseで作られたコンストラクタで
データベースをcloseするにはどうしたらいいですか?
551nobodyさん:2009/10/24(土) 00:51:30 ID:???
$db->close();
552nobodyさん:2009/10/24(土) 00:54:41 ID:BvPjRTUm
Fatal error: Call to undefined method SQLiteDatabase::close()
553nobodyさん:2009/10/24(土) 04:14:41 ID:???
そのクラスに閉じるメソッドが使われていなくて
コンストラクトでオープンするようになっている場合
デスクトラクト時にそのクラス側で勝手に終了してくれてると考えるきでは?
554nobodyさん:2009/10/24(土) 04:18:45 ID:???
なんか日本語が変だった・・・

そのクラスに閉じるメソッドが定義されていなくて
コンストラクターでオープンするようになっている場合
デスクトラクターで勝手に閉じてくれていると考えるべきでは?

実際にそのクラスの中身はみてないしどういうのもしらないが
555nobodyさん:2009/10/24(土) 04:28:53 ID:???
何言ってんの?
556nobodyさん:2009/10/24(土) 04:43:06 ID:???
分からないなら無理してレスしなくていいよ
教えてほしいならどこがどうわからないのかID出して質問してね
557nobodyさん:2009/10/24(土) 05:22:59 ID:???
>>555
554で言ったとおりどういうクラスかもしらないし中身もしらないけど(というよりSQLite使ったことない)

class SQLiteDatabase {

 private DB接続ポインタ;

 function __construct(接続情報) {
  $this->DB接続ポインタ = sqliteオープン(接続情報);;
 }

 function query($sql) {
  return 結果を配列で返す($sql);
 }

 function __destruct() {
  sqliteクローズ($this->DB接続ポインタ);
  //$this->DB接続ポインタ = null;
 }
}

$obj = new SQLiteDatabase(接続情報);
$res = $obj->query("SELECT * FROM hoge WHERE 1");
foreach ($res as $row) {
 echo $row."<br>";
}
//ここでデストラクターが呼ばれて勝手に終了する

たぶんこんな構造になってるんじゃないかと(間違ってるかもしれないけど)
SQLite自体明示的に終了させる必要がないDBかもしれないしその辺の事情は知らない
558nobodyさん:2009/10/24(土) 05:24:18 ID:???
下らんコード書く暇あったら確認しろよ
559nobodyさん:2009/10/24(土) 05:28:37 ID:???
>>558
そんなクラス見つからなかったんだけどなぁ
探し方が悪かったんだろうか
よかったらリンクはってちょうだい
560nobodyさん:2009/10/24(土) 07:37:49 ID:???
そしてリンクをはらない>>558であった
561nobodyさん:2009/10/24(土) 08:20:12 ID:???
>//ここでデストラクターが呼ばれて勝手に終了する
$objがスコープ内にいるのにデストラクタが呼ばれちゃまずいだろ。
562nobodyさん:2009/10/24(土) 08:25:17 ID:???
>>561
<?php
class Hoge {
function Hoge() {
echo "construct<br>\n";
}
function a() {
return array("a", "b", "c");
}
function __destruct() {
echo "destruct<br>\n";
}
}

$obj = new Hoge;
foreach ($obj->a() as $value) {
echo $value."<br>\n";
}
?>
563nobodyさん:2009/10/24(土) 08:44:46 ID:???
ほんとこのスレ初心者ばっかだなw
564nobodyさん:2009/10/24(土) 09:21:19 ID:???
http://www.php.net/manual/ja/function.sqlite-close.php

しかし相変わらずだな。
565nobodyさん:2009/10/24(土) 09:29:15 ID:???
http://www.php.net/manual/ja/ref.sqlite.php

これ見方がわからないんだけど
SQLiteDatabase
SQLiteResult
SQLiteUnbuffered
に定義されてる各メソッドはそのクラスのみで使えて
目次のとこに書かれてるのは共通に使えるメソッド?

なんか無名関数のせいでマニュアルの見方がむずくなってきてる気がする・・・
566nobodyさん:2009/10/24(土) 09:34:01 ID:???
マルチパラダイムだから仕方ないがこれはひどい
明確に分ければいいのに
567nobodyさん:2009/10/24(土) 09:49:09 ID:o7jv7fS8
PHP、PEAR、Smartyはだいたい理解できました
しかし、実際HTMLなどのクライアントサイド側との連携がいまいち良く分かりません
本やちょっとしたPHP解説のサイトなどはメソッドとかプロパティなどの説明で終わっているもので

フォームなどの基本的な事は何処にでも書いてあるので分かるのですが、実践的なPHPとクライアントサイドとの連携したコードなど
書いてある書籍など自分の県では見つけられませんでした
実際にサイトを作る為のクライアント+サーバサイドを連携させたサンプルコードの載っているサイトや書籍は何かないでしょうか?
宜しくお願い致します
568nobodyさん:2009/10/24(土) 09:50:26 ID:???
Ajaxのことだろ
Ajaxスレいってください
569nobodyさん:2009/10/24(土) 09:55:04 ID:???
jquery
570nobodyさん:2009/10/24(土) 10:02:54 ID:o7jv7fS8
えっ?
Ajaxですか?
Ajaxの事ではなく、例えばテンプレートとか実際に実装して作ったサンプルとかです
説明不足だったようです、すみません

例えば、Webデザインブックなどはいくらでも出ていますが、それらはただHTMLとCSSで実装しています
まぁたまにJavaScriptなどもありますが
自分は、人がサイトにアップロードした画像をサイトに情報つきで載せてレイアウトも崩れないようにしたいとか
(つまり$_FILESの概念はわかるけれどそれを実際クライアント側のコードにどのようにテンプレート内に実装・レイアウトしていくか)、
PEARによるログイン認証を行った後でそのログインしたユーザーのみが動的コンテンツを利用するためにはどのようにすればいいのか、
とかまぁ書けば色々と長くなりそうですが、そういう事です
自分側がただ作ったサイトを公開するだけではなく、ユーザーの参加できるようなサイトの作り方を、簡単でもいいので解説しているサイトや書籍が知りたいのです
571nobodyさん:2009/10/24(土) 10:05:27 ID:???
>>557
おいおいwあんまり>>555をいじめんなよw
そんなの見せても>>555にはチンプンカンプンなんだぜwwwwwwww
今頃顔真っ赤にしてるだろうけど二度と出てこないよww
572nobodyさん:2009/10/24(土) 11:35:30 ID:???
>>571
そういうのは、実際に必要になった時に調べたり考えたりしてもいいと思う。
PHPで家計簿でも何でもいいんで作ってみれば、分かってくるんじゃないかな。
気力があるなら、人が作成したPHPのプログラムを落としてHTML部分がどうなってるか探してみるのが言いかと
573nobodyさん:2009/10/24(土) 11:39:51 ID:???
そりゃクライアント+サーバサイドの連携っていったら
JavaScriptとPHPの連携っていってるようなものだからAjaxって答えが返ってくるのも無理もない
MixiやYoutubeのようなSNSサービスをやりたいってことね
セッションとか勉強するといいよ
574nobodyさん:2009/10/24(土) 11:55:49 ID:???
>>562
閉じタグとファイル終端は、直接関係無い。
タグ閉じただけじゃスコープ閉じないんだぜ。
575nobodyさん:2009/10/24(土) 11:58:58 ID:???
日本語でおk
576nobodyさん:2009/10/24(土) 12:00:54 ID:???
でてこいよ>>555wwwwwwwwwwwwwwwGOGOGOwwwwwwwwwwwwwwwwww
577nobodyさん:2009/10/24(土) 12:01:27 ID:o7jv7fS8
>>572
レスアンカーは自分(>>570)にですよね?
そうだと思って返答させて下さい

>人が作成したPHPのプログラムを落としてHTML部分がどうなってるか探してみる

こういうのはWebサイトで検索して、人が書いたサンプルコードを集めて学習しろという事なのでしょうか?
それとも、自分は知らない(というかコードを読み取られると危険なのでそもそも出来ないのではと思うのですが)、ソース読み取りソフトとかあるのでしょうか?
例えばWebサイトであればIEのソース機能やFireFoxのFireBugのようなHTMLのコードを表示出来る様なソフトの事です



>>573
あぁ、すみませんでした
自分の表現がおかしかったようです
HTML+CSSにPHP(テンプレートやライブラリ含む)を組み込んで実装する、実際に運営する為の雛形コードを学習したかったのです
578nobodyさん:2009/10/24(土) 12:05:25 ID:???
>>570
単にフォームからのリクエストを処理するPHPのコード、ってんなら、
PHPの本で2〜3章かけて解説してるんじゃね?
あとは自分の作りたいものに似てるの探して、コード読むべし。
579nobodyさん:2009/10/24(土) 12:05:29 ID:???
>HTML+CSSにPHP(テンプレートやライブラリ含む)を組み込んで実装する、
>実際に運営する為の雛形コードを学習したかったのです

フレームワークのview部分とか見てみるといいかもしれない
580nobodyさん:2009/10/24(土) 12:10:51 ID:???
>>574
aaa<br>
<?php
>>562のコード
?>
bbb<br>

でbbb<br>より後にdestructが現れるってことか?
どっちみちDBクローズならそれでもいいだろ
581555:2009/10/24(土) 12:11:40 ID:???
すいませんでした
無知を晒してしまいました
ごめんなさい
582nobodyさん:2009/10/24(土) 12:22:14 ID:???
ちなみにスコープ閉じるってどうやるの?
objにnullいれるだけ?
583nobodyさん:2009/10/24(土) 12:59:43 ID:???
>>580
その下にまた<?phpが出てくるとか、include/requireされてるとか。

>>582
$objはスコープから外れてないけど、インスタンスは
ガベージコレクションで回収されるから、そのときに
デストラクタが起動されるんだと思う。

PHPで明示的なスコープって言ったら関数かな。
ローカル(グローバルでない)変数のスコープは関数内でしょ。
584nobodyさん:2009/10/24(土) 13:03:20 ID:???
>>281
いやだからそれは俺が振られた理由になってねえよ
なんで会社の休憩時間にイタリアフルコース頼まないといけないんだよ
585nobodyさん:2009/10/24(土) 13:16:46 ID:???
フラれたのか、ま、元気だせ、応援してるから。
586nobodyさん:2009/10/24(土) 13:56:20 ID:???
要らないもんはunsetしちゃおうぜ
587552:2009/10/24(土) 14:16:10 ID:BvPjRTUm
結局クラスを自作して対応しました。
class sqlite{
  var $_result = array();
  var $_pointer = null;
  var $_message = null;
  function connect($dbfile){
    return $this->_pointer = sqlite_open($dbfile,0666,$this->_message);
  }
  function close(){
    sqlite_close($this->_pointer);
  }
  function exec($que){
    return sqlite_exec($this->_pointer,$que,$this->_message);
  }
  function array_query($que){
    return sqlite_array_query($this->_pointer,$que,$this->_message);
  }
  function get_escape($str){
    return sqlite_escape_string($str);
  }
  function get_result(){
    return $this->_result;
  }
  function get_pointer(){
    return $this->$_pointer;
  }
  function get_message(){
    return $this->$_message;
  }
}
588nobodyさん:2009/10/24(土) 14:37:03 ID:???
>>587
オブジェクト指向スタイル用意されてる意味ねーw
589nobodyさん:2009/10/24(土) 14:57:50 ID:???
fscanfがおかしいです
590nobodyさん:2009/10/24(土) 18:28:54 ID:???
なるほどね、凸者さんの判断次第ってことか。
あと、ヤンデレこえぇwww
591nobodyさん:2009/10/24(土) 18:29:35 ID:???
誤爆
592nobodyさん:2009/10/24(土) 19:04:29 ID:???
どうしてもnewで作ってclose()したいんだ、という強い意志が感じられます。
若いっていいね。
593nobodyさん:2009/10/24(土) 19:35:19 ID:???
>どうしてもnewで作ってclose()したいんだ、という強い意志が感じられます。

はずかしいから黙ってて
594nobodyさん:2009/10/24(土) 20:43:07 ID:???
newで作ったらdeleteを使いたくなるよね。
で、ダミー関数であるdeleteが登録されてるせいで、
delete($classA)とか書いてもしばらく気がつけない
595nobodyさん:2009/10/24(土) 20:45:44 ID:???
え?
596nobodyさん:2009/10/24(土) 20:47:28 ID:???
え?
597nobodyさん:2009/10/24(土) 21:14:45 ID:???
これ何のスレだっけ
598nobodyさん:2009/10/24(土) 21:21:53 ID:???
質問じゃない時はsageで書きやがれスレ
599nobodyさん:2009/10/24(土) 22:35:42 ID:aM0DiAaq
【OS名】Windows xp
【PHPのバージョン】php5.2.10
【連携ソフトウェア】mysql
【質問内容】
心理テストのようなサイトを作ろうとしています。
何人がその答えを選んだかの集計と、
それとは別に選んだ答えがどのような性格をあらわすのかを表示できるようにしたいです。
チェックボタンを選んだ状態で「あなたはこんな人」のようなラジオボタンで
そのページに遷移させたいです。
どのようにしたらいいのでしょうか?
アバウトな質問でごめんなさい。
600nobodyさん:2009/10/24(土) 22:39:54 ID:???
>>599
で、何ができないの?PHP?本買え
601nobodyさん:2009/10/24(土) 22:39:57 ID:???
>>599
そのまんまじゃね?何が問題なんだ?
602nobodyさん:2009/10/24(土) 22:40:40 ID:???
全部作らせる気かww
最近の若者は安易だなぁ
603nobodyさん:2009/10/24(土) 22:45:01 ID:aM0DiAaq
くだらなすぎてごめんなさい・・・
604nobodyさん:2009/10/24(土) 22:45:53 ID:???
くだらないというか何が(どこが)できないのかが分からんのだよ
605nobodyさん:2009/10/24(土) 22:50:44 ID:aM0DiAaq
アンケートのページで「投票」を押したらその選んだ結果によって違うページに飛ばしたいです。
例えば赤を選んだら赤色を好きな人の性格について書いてあるページで、
青を選んだら青色が好きな人の性格について書いてあるページです。
アバウトすぎてごめんなさい。
606nobodyさん:2009/10/24(土) 22:51:31 ID:aM0DiAaq
今こんな感じで書いているところです。。

<html>
<head><title>心理テスト</title></head>
<body>
<h1>メンタル編</h1>
<p>あなたがいつか天国へ旅立つとしたら、何色の石をお守りにしたいですか?
<?php
// スクリプト名取得
$script = basename(__FILE__);
// メンバー名配列
$member = array("", "赤いルビー", "ピンクのローズクォーツ", "ゴールド",
"イエロートパーズ", "緑のヒスイ", "青のラピスラズリ", "紫水晶", "白の水晶");

// 投票がある場合
if ($_POST['COLOR'] > 0) {
// 投票者番号
$no = $_POST['COLOR'];
// MySQLに接続
$db = mysql_connect("localhost", "root", "root");
// DB選択
mysql_select_db("graduation", $db);
// insert文実行
mysql_query("insert into ninki values(null, {$no},
now())", $db);
// DB切断
mysql_close($db);
}
?>
607nobodyさん:2009/10/24(土) 22:52:32 ID:aM0DiAaq
<p><font color="red"><?= $msg ?></font></p>
<form method="POST" action="<?= $script ?>">
<p><input type="radio" name="COLOR" value="1">赤いルビー</p>
<p><input type="radio" name="COLOR" value="2">ピンクのローズクォーツ</p>
<p><input type="radio" name="COLOR" value="3">ゴールド</p>
<p><input type="radio" name="COLOR" value="4">イエロートパーズ</p>
<p><input type="radio" name="COLOR" value="5">緑のヒスイ</p>
<p><input type="radio" name="COLOR" value="6">青のラピスラズリ</p>
<p><input type="radio" name="COLOR" value="7">紫水晶</p>
<p><input type="radio" name="COLOR" value="8">白の水晶</p>
<p><input type="submit" value="投票"></p>

</body></html>


こんな感じです。
ごめんなさい。
608nobodyさん:2009/10/24(土) 22:56:06 ID:???
>>607
switch($COLOR){
case 1
処理&リダイレクト1
break;
case 2
処理&リダイレクト2
break;
case 3
処理&リダイレクト3
break;
.....
}

あとaction="<?php echo $script ?>"はまずくね?
それだったらaction=""で空でいいと思うよ
609nobodyさん:2009/10/24(土) 22:58:11 ID:???
case 1:

ね":"を忘れずに
610nobodyさん:2009/10/24(土) 23:01:10 ID:aM0DiAaq
>>608
>>609
やってみます
情けない質問に答えてもらってありがとうございます

611nobodyさん:2009/10/24(土) 23:05:20 ID:???
情けない質問wwww
612nobodyさん:2009/10/24(土) 23:24:44 ID:TvoLhocc
switch内のbreak;のインデントってたまに悩むけどどうしてますか?
俺はcaseからインデントつけて位置に書いてるけど
そうすると最後でインデントが2つ一気になくなってしまう違和感がある
>>608みたいに書くとcase処理内な感じがしない違和感
613nobodyさん:2009/10/24(土) 23:34:28 ID:???
>>612
その書き込みエスケープされただけだお

  case $a:

 break;

が多いけどおれも結構曖昧だ
614nobodyさん:2009/10/24(土) 23:35:29 ID:???
逆だ

 case $a:

  break;

615nobodyさん:2009/10/24(土) 23:41:58 ID:???
switch ($a) {
 case 0:
  do_something();
  break;
 case 1:
  do_something();
  break;
 default:
  do_something();
  break;
}

どの言語の解説でもたいていこうなってるしこれがスタンダードじゃないかね
616nobodyさん:2009/10/24(土) 23:42:52 ID:???
下らねぇ回答はID出さないでここに書き込みやがれ 90
617nobodyさん:2009/10/25(日) 00:28:25 ID:???
次スレの季節か
618nobodyさん:2009/10/25(日) 00:56:35 ID:???
switch文で気になったのでメモ
switch('a'){
 case 'a'; //末尾が ;
}

switch('a'){
 case 'a': //末尾が :
}
は等価
619nobodyさん:2009/10/25(日) 05:29:05 ID:TWuysydg
$test = " 1c 2c 3c!";
$search = "/([^0-9])([0-9])c([^0-9])/";
$replace = "$1c$2$3";
echo preg_replace($search, $replace, $test);

これで、期待する出力は
c1 c2 c3!
実際の出力は
c1 2c c3!

質問は、
・なぜこのような動作になるのでしょうか?
・どうすれば解決できるでしょうか?

後、欲しいアイデアとして
・"1c 2c 3c"のように、先頭にスペースを入れなくても"c1 c2 c3"に変える正規表現を教えてほしい
(ただし"11c"のような形の場合は変化させないでほしい)
620nobodyさん:2009/10/25(日) 05:53:15 ID:???
explodeで配列にわけて
substrで文字を抜き出したのを結合すえばええ
621nobodyさん:2009/10/25(日) 10:22:02 ID:???
認定回答者採用試験は今日までですので頑張って回答してください
622nobodyさん:2009/10/25(日) 11:14:26 ID:???
>>619
$test = "1c 2c 3c!";
$search = "/([^| ][0-9]{1})c/";
$replace = "c$1";
623nobodyさん:2009/10/25(日) 13:01:49 ID:???
トリもIDも出さずに試験官気取りとな?
624nobodyさん:2009/10/25(日) 13:03:49 ID:???
>>623
お前鬱病だろ
625nobodyさん:2009/10/25(日) 21:45:40 ID:???
phpでシングルトンって意味あるの?
リクエスト終わったらメモリ開放されるんでしょ?
626nobodyさん:2009/10/25(日) 22:19:54 ID:???
2行目は正解。
1リクエストの中だけでも必要なときはあるさ。
627nobodyさん:2009/10/25(日) 22:38:37 ID:Ltpwqrvc
mod_rewriteを使ってクリックカウントをとりたいのですが
以下のようにするとcount.phpにリダイレクトできるのですが、
count.phpからLocationで飛ばすとループしているのか404NotFoundになってしまいます。
どうすれば正常にできますか?

例:www.example.com/img/abc01.jpg をクリックしてcount.phpを介してカウント
www.example.com/img/abc01.jpgのまま表示する

//サーバー側
RewriteEngine on
RewriteRule ^/img/abc([0-9]+).(*)$ /img/count.php?id=$1&extension=$2

//count.php側
header("Location: http://www.example.com/img/abc$id.$extension");
628nobodyさん:2009/10/25(日) 22:42:08 ID:???
readfile使えばいいと思うよ
629627:2009/10/25(日) 22:54:09 ID:Ltpwqrvc
>>628
やってみましたがだめでした・・・。
630nobodyさん:2009/10/25(日) 23:07:22 ID:???
count.phpがabc01.jpgを出力するんだぜ。
631nobodyさん:2009/10/25(日) 23:15:10 ID:???
リライトログ見てみたら?吐いてなかったら吐かせて
632627:2009/10/26(月) 00:20:09 ID:8+sjsIrs
>>630-631
アドバイスありがとうございます。
何とか解決できたみたいです。
/img/を物理ディレクトリ、URL表示部分を新規に/img2/として(抽象ディレクトリ)
リライトしたらできるようになりました。
633627:2009/10/26(月) 00:33:00 ID:8+sjsIrs
>>628
readfileも必要だったみたいです。
ありがとうございました。
634nobodyさん:2009/10/26(月) 05:27:50 ID:???
質問させてください。

<html>
<body>
<?php include("./hoge.php");?>
</body>
</html>

で閲覧に問題はないのですが、
ソースを見ると

<html>
<body>
<html><body></body></html>
</body>
</html>

と2度使われ重複している状態です。

hoge.phpには<html><body></body></html>などの記述はしておりません。
問題の箇所等ご指摘願います。
635nobodyさん:2009/10/26(月) 05:31:55 ID:???
hoge.phpの中身書くのがいやなら簡略化したもの書いてくれないと
それだけではなんともいえない
636nobodyさん:2009/10/26(月) 05:40:09 ID:???
>>635
ありがとうございます。

hoge.phpの中身はモバイル版AdSenseコードのみです。
637nobodyさん:2009/10/26(月) 05:48:48 ID:n4efgg6U
質問です。MagpieRSSを使っています。
日付順に取得記事をソートしたいのですが、うまくいきません。
アドバイスお願いします。

$rssurl = array ();
$rssurl[] = "http://mainichi.pheedo.jp/f/mainichijp_flash";
$rssurl[] = "http://rss.asahi.com/f/asahi_newsheadlines";

foreach ($rssurl as $pre) {
$url = $pre;
$rss = fetch_rss($url);
$title = $rss->channel['title'];
$title = mb_convert_encoding($title, "shift_jis", "auto");
$url = $rss->channel['link'];
$rss->items = array_slice($rss->items, 0, 1);

foreach ($rss->items as $item ) {
$day = date('n/j',strtotime(substr($item['dc']['date'],0,10)));
$time = date('H:i',strtotime(substr($item['dc']['date'],11,8)));
$date = "$day $time";
$rdf = $item[link];
$article = $item[title];
$article = mb_convert_encoding($article, "shift_jis", "auto");
$linkstr = "$date $rdf $article $url $title<br>\n";
$rssarray["{$date}"] = $linkstr;

krsort($rssarray);
echo "$linkstr";
638nobodyさん:2009/10/26(月) 05:52:16 ID:???
>>637
$linkstrは全て想定通りになってるの?
639nobodyさん:2009/10/26(月) 05:55:31 ID:n4efgg6U
>>638
はい、順序以外は期待通りの実行結果です。
640nobodyさん:2009/10/26(月) 06:00:30 ID:???
じゃkrsortの問題ですね
どんな$linkstrを入れるとどのようなソート結果になるか例を出してもらえますか?

ちなみに第二引数にソートフラグを指定して挙動を変えることができる
http://www.php.net/manual/ja/function.sort.php
今回の場合は全て文字列だから関係ないかもしれないけど
641nobodyさん:2009/10/26(月) 06:09:43 ID:n4efgg6U
RSSの取得を下のようにしたとして
$rssurl[] = "http://mainichi.pheedo.jp/f/mainichijp_flash";
$rssurl[] = "http://mainichi.jp/rss/etc/mantan.rss";
$rssurl[] = "http://mainichi.jp/rss/etc/enta.rss";
$rssurl[] = "http://mainichi.jp/rss/etc/sports.rss";

10/26 05:00 ■URL ■人事:法務省(26日) ■URL ■毎日jp-ニュース速報(総合)
10/25 21:00 ■URL ■注目アニメ紹介:「空中 ■URL ■毎日jp-まんたんウェブ
10/25 22:14 ■URL ■the GazettE ■URL ■毎日jp-エンタメ
10/25 23:10 ■URL ■横浜:巨人・尾花コーチ ■URL ■毎日jp-スポーツ
(長いので削ってます)

このような結果が出ます。
日付でソートをかけているつもりですが、まったくされていません。
$rssurl配列の上から順に表示されています。
642nobodyさん:2009/10/26(月) 06:10:21 ID:???
>>636
echoで文字列を出力してるのか?
それともただアドセンス部分のHTMLだけ書いてるのか?
試してみたがhtml bodyタグが加わることはない
サーバかPHPの設定かもしれないがどの設定項目かはわからんわ
PHP使えるレン鯖が2つ以上あるなら両方で試してみ
ローカルに環境作るのが一番いいけど
643nobodyさん:2009/10/26(月) 06:11:55 ID:???
>日付でソートをかけているつもり
使う関数まちがってるんじゃね?
krsortって逆順ソートだよ
644nobodyさん:2009/10/26(月) 06:15:55 ID:???
日付だから逆順であってんでねーの?
645nobodyさん:2009/10/26(月) 06:17:41 ID:???
いやいや
ただ単にキーを逆順にするソートってこと
ユーザー定義のソートをしたいのならusort()とかじゃないと
646nobodyさん:2009/10/26(月) 06:18:06 ID:n4efgg6U
$rssurl[] = "http://mainichi.jp/rss/etc/mantan.rss"; //まんたんウェブ
$rssurl[] = "http://mainichi.jp/rss/etc/enta.rss"; //エンタメ
$rssurl[] = "http://mainichi.pheedo.jp/f/mainichijp_flash"; //ニュース速報(総合)
$rssurl[] = "http://mainichi.jp/rss/etc/sports.rss"; //スポーツ

10/25 21:00 ■URL ■注目アニメ紹 ■URL ■毎日jp-まんたんウェブ
10/25 22:14 ■URL ■the GazettE ■URL ■毎日jp-エンタメ
10/26 05:00 ■URL ■人事:法務省( ■URL ■毎日jp-ニュース速報(総合)
10/25 23:10 ■URL ■横浜:巨人・尾 ■URL ■毎日jp-スポーツ

例がわかりにくかったので書き直しました。
647645:2009/10/26(月) 06:19:49 ID:???
あ、ごめん。
よくよんでなかったw
>日付でソートをかけているつもりですが、まったくされていません。
ってかいてたからてっきり
データ見る限りだとkrsortでよさそうだね
648645:2009/10/26(月) 06:20:38 ID:???
とか書いた瞬間にデータの日付ルールが変わった件
649nobodyさん:2009/10/26(月) 06:22:04 ID:n4efgg6U
usortにしたらエラーがでました。
Warning: Wrong parameter count for usort() in C:\WWW\php.php on line 30

>>648
26日が真上だと日付でソートされているように見えたので…
配列順に表示されるだけでソート機能が働いていないというのが今回の悩みです。。。
650nobodyさん:2009/10/26(月) 06:25:26 ID:???
>usortにしたらエラーがでました。
マニュアルみようぜ
http://www.php.net/manual/ja/function.usort.php
krsort($rssarray);を
usort($rssarray);にかえただけじゃだめ
第2引数入れないと
651nobodyさん:2009/10/26(月) 06:26:20 ID:???
それぞれどんな$linkstrなの?
652nobodyさん:2009/10/26(月) 06:34:30 ID:n4efgg6U
>>650
すいません、ありがとうございます。
試している最中ですが、cmpの設定に少し時間がかかりそうなので結果が遅れます。

>>651
$day 記事の更新日
$time 記事の更新時間
$date 上記二つを合わせた文字列
$rdf 記事のURL
$article 記事のタイトル
$url 配信元のURL
$title 配信元のタイトル

です。
653nobodyさん:2009/10/26(月) 06:41:45 ID:???
>>652
ごめん、krsortに$linkstr関係なかったね

$array = array('10/25 21:00'=>1,'10/25 22:14'=>2,'10/26 05:00'=>3,'10/25 23:10'=>4);
var_dump($array);
krsort($array);
var_dump($array);

array(4) {
["10/25 21:00"]=>
int(1)
["10/25 22:14"]=>
int(2)
["10/26 05:00"]=>
int(3)
["10/25 23:10"]=>
int(4)
}
array(4) {
["10/26 05:00"]=>
int(3)
["10/25 23:10"]=>
int(4)
["10/25 22:14"]=>
int(2)
["10/25 21:00"]=>
int(1)
}
こちらで試してみたら想定どおりにソートされてる気がするけども
654nobodyさん:2009/10/26(月) 06:43:43 ID:???
usortの$aの部分を日付をunixタイムに変えたものいれればそのまま使えるんじゃね
$a部分を連想配列にしてキーを$rssarrayのキーと一致させておけば簡単
比較は値のunixタイムにしたものを比較する感じで
マニュアルの例そのまま使うならrsort()にしたほうがいいと注意書きに書いてるから
まずはusortで形をつくってからパフォーマンスのためにrsortで書き直してみては?
655645:2009/10/26(月) 06:48:17 ID:???
なんか話をややこしくしてすまんかった
krsortの使い方を勘違いしてたようだ
>>653でよさそう
656nobodyさん:2009/10/26(月) 06:50:28 ID:???
オマエラ馬鹿じゃね?
$rssarrayをソートかけてんのに$linkstr表示してっからだろ
657nobodyさん:2009/10/26(月) 06:50:51 ID:???
>>637
krsort($rssarray);
echo "$linkstr";

froeachの終わりがどこかわからんけど、echo結果を見ているなら$rss->itemsの順番に表示されてるんじゃ?
$rssarrayに入れたいものを全部入れてからkrsortしてprint_r($rssarray)で確認してみたらどうかな
658nobodyさん:2009/10/26(月) 06:56:25 ID:n4efgg6U
>>653
phpは昨日触ったばかりなのでじっくり参考にさせて頂きます。

>>654>>655
助言を求めたのは私なのでハマりから抜け出すためのしっかり参考にさせて頂きます。

>>656>>657
やっと原因が究明出来ました。
表示がまだ思い通りにいかないので試行錯誤してみます。
659nobodyさん:2009/10/26(月) 07:00:40 ID:n4efgg6U
foreachを閉じた後

krsort($rssarray);

for(reset($rssarray); $i=i($rssarray); next($rssarray)){
echo "$rssarray[$i]";
$count++;
if($count == 4){
break;
}
}

これでしっかりと表示出来ました。
原因はkrsort($rssarray);をforeachの中に入れていたことと
$linkstrを表示していたことです。
皆様ありがとうございました!
660nobodyさん:2009/10/26(月) 07:01:41 ID:???
echo "$linkstr";
の行は単にデバッグのためループの中で出力を確認しているだけで
当然そのあとにテーブルか何かで一覧を表示して、正しくソートされてないと言ってるもんだと思ってた。

$linkstrはkrsortどころか$rssarrayとも関係ない。foreachの順で表示されるだけじゃん。
661nobodyさん:2009/10/26(月) 07:07:28 ID:???
終わった後に言っても仕方ねぇだろ無能。
オマエラ馬鹿すぎ。
662nobodyさん:2009/10/26(月) 07:23:29 ID:???
煽るのすきだね
リアルでどういうやつなのかぜひ見てみたいわ
663nobodyさん:2009/10/26(月) 07:36:34 ID:???
>>662
的外れな回答する奴よりはマトモだよ
664nobodyさん:2009/10/26(月) 10:20:50 ID:???
それはない
665nobodyさん:2009/10/26(月) 10:41:51 ID:???
クッキーにパスワード保存するのはあれだよね。次回から自動でログインとかどうすればいいんだろう
666nobodyさん:2009/10/26(月) 10:50:47 ID:???
>>665

>>!
667nobodyさん:2009/10/26(月) 10:58:01 ID:???
>>665
何かユニークIDを発行してそれを保存
668nobodyさん:2009/10/26(月) 11:15:48 ID:???
>>665
なにか問題でも?
669nobodyさん:2009/10/26(月) 11:27:59 ID:???
他人の端末のクッキーコピって来たら、
俺が自動ログインで、そいつの振りして利用できる?
670nobodyさん:2009/10/26(月) 11:33:33 ID:???
できるよ
671nobodyさん:2009/10/26(月) 11:34:10 ID:???
そもそも他人に簡単に起動を許す、または誰でも簡単に利用できるようなPCのセキュリティに問題アリ
672nobodyさん:2009/10/26(月) 11:44:57 ID:???
パスワードだけは暗号化すれば良さそうだね
673nobodyさん:2009/10/26(月) 11:49:41 ID:???
暗号化が簡単ならね
674nobodyさん:2009/10/26(月) 11:54:38 ID:???
クッキーなんか暗号化必要ないんじゃない?

>>673
暗号化なんて簡単じゃん
675nobodyさん:2009/10/26(月) 11:57:30 ID:???
簡単ならおk
676nobodyさん:2009/10/26(月) 12:18:54 ID:???
そもそもクッキーコピーできるような状況なら、そのPCで他人がブラウザ使ってもログイン可能って
ことだしなあ。
677nobodyさん:2009/10/26(月) 12:30:15 ID:???
そもそも自動ログインなんて許すのは金の絡まないサイトとか
個人情報があまり意味ないサイトとかだよね。
ひまわり動画とか
678nobodyさん:2009/10/26(月) 16:44:56 ID:???
>>677
そういう問題か? 糞だな^^;
679nobodyさん:2009/10/26(月) 17:53:40 ID:+hgb+ZZq
一応>>1にMySQL等は別スレとありますが、php+MySQLに対してのスレがなかったので、此方で宜しかったでしょうか?
スレチでしたら誘導お願いします。
Sample.phpへ、buttonを配置し、JavaScriptでメソッドを定義。

function A1(){
if(confirm('ごまだれですか?')){
<?php
mysql_query("begin");
mysql_query("update `gomagoma` set `syurui` = 'くろごま' where `syurui` = 'alpha'") or die(mysql_error());
mysql_query("commit");
mysql_query("begin");
mysql_query("update `gomagoma` set `syurui` = 'しろごま' where `syurui` = 'beta'") or die(mysql_error());
mysql_query("commit");
mysql_query("begin");
mysql_query("update `gomagoma` set `syurui` = 'ごまふあざらあし' where `syurui` = 'hex'") or die(mysql_error());
mysql_query("commit");
?>
window.alert('内容を変更しました。')
}
}

としていますが、DBを覗いてみたところ、アップデートされていませんでした。
ですが、MysqlErrorは返ってきておらず、そのままJavaScriptで記述したalertが実行されます。


原因を現在当たっていますが、何か思い当たる点がありましたらご指摘お願いします。
680nobodyさん:2009/10/26(月) 18:00:11 ID:???
>>678
677じゃないけど、そんなもんだと思うぞ
大して重要でもないのに何を気にする事あるんだ?
そんなに気になるなら自動ログインなんてしなきゃいいだけじゃないか
681nobodyさん:2009/10/26(月) 18:08:17 ID:???
>>679
サーバサイドとクライアントサイドがごっちゃになってないか?

「function A1()」ってのはjavascript側で定義している関数だろ?
その中のphp(mysql_query)は、button押下に関係無くそのページロードしたら実行されるぞ?
ブラウザのソース見てみなよ。
682nobodyさん:2009/10/26(月) 18:09:49 ID:???
>>679
そのHOSTからmysqlで同じSQLを手で入れるとどうなるよ
トランザクションの使い方も間違ってる
683nobodyさん:2009/10/26(月) 18:17:35 ID:???
>>679
PHPの中身はともかくとしても、

PHP部が実行されて、DBが書き換えられるなどした後、
出力などがなければ<?php から ?>までが無くなったテキストが、
ヘッダなどがついてブラウザに渡され、それからjavascriptが動くので、
ブラウザがうけとるのは
function A1(){
if(confirm('ごまだれですか?')){

}
}
になります。

684nobodyさん:2009/10/26(月) 19:14:03 ID:???
function A1(){
if(confirm('ごまだれですか?')){

window.alert('内容を変更しました。')
}
}
抜けてた
685nobodyさん:2009/10/26(月) 21:38:32 ID:???
>>683で答えでてるじゃん
686nobodyさん:2009/10/26(月) 22:16:19 ID:???
初心者相手に悪いけど、これは吹いたww>>679
687nobodyさん:2009/10/26(月) 22:27:35 ID:???
mysqlの問題と思ってる時点でアレだな
688nobodyさん:2009/10/26(月) 23:39:47 ID:???
「ごまふあざらあし」が気になってプログラムが進みません!
689nobodyさん:2009/10/27(火) 00:54:28 ID:???
クライアントへhtmlを送る時に、ボタンと、押した時にサーバーサイドで実行する
クエリを書いておく事が出来る。
というフレームワークのアイデアを頂きました。
クレームワームの名前は「ごまふあざらあし」にしようと思います。
690nobodyさん:2009/10/27(火) 10:58:21 ID:???
ごまだれですか?
691nobodyさん:2009/10/27(火) 11:16:23 ID:???
いえ、「ごまふあざらあし」です
692nobodyさん:2009/10/27(火) 11:34:04 ID:???
いっそPHPonJavascript HTTP通信で。
693nobodyさん:2009/10/27(火) 11:44:23 ID:???
PHP側で実行する内容が、htmlソースから丸見えになるんで良くないなw
694nobodyさん:2009/10/27(火) 15:59:34 ID:???
>>693
SQLをクライアントで構築して送信する前システムを思い出した
最悪だな
695nobodyさん:2009/10/27(火) 19:25:48 ID:???
"name":"名無し","body":"あいうえお"
このように書かれたテキストファイルから「名無し」「あいうえお」を取得する方法は
正規表現でひとつずつ抜き出すほかにありますか?
696nobodyさん:2009/10/27(火) 19:26:58 ID:???
>>695
explode
697nobodyさん:2009/10/27(火) 19:33:13 ID:???
>>696
できました!
ありがとうございます
698nobodyさん:2009/10/27(火) 19:39:41 ID:73GIvY2U
サーバ変数のQUERY_STRINGのPOST版を取得したいのですがどのようにしたら取れますか?

また、上で取得した文字列を$_POSTのような配列形式に変換したいのですが、そのような関数はありますか?
699nobodyさん:2009/10/27(火) 19:44:58 ID:???
意味が分からん
$_REQUEST
700nobodyさん:2009/10/27(火) 19:59:04 ID:???
>>698
何もしなくても良いのではないだろうか。
701nobodyさん:2009/10/27(火) 19:59:55 ID:???
>>698
POSTされた生のデータが欲しいって事かい?

parse_str(file_get_contents('php://input'), $f);
var_dump($f);
702nobodyさん:2009/10/27(火) 21:21:52 ID:???
fopen("php://memory", "r+");

すげえ
703698:2009/10/27(火) 21:41:14 ID:???
>>701
すばらしい。ありがとうございます。
704nobodyさん:2009/10/28(水) 01:05:41 ID:EMbPGL3Y
simplexmlについての質問です。

simplexml_load_fileで読みこんだObjectから
$q = $_GET["q"];
echo $xml->item[$q]->name;
としたいのですが、何も表示されません。

echo $xml->item[0]->name;
だと正しく表示され

$q = 0;
echo $xml->item[$q]->name;
でも正しく表示されます。

$q = $_GET["q"];
echo $q;
echo $xml->item[$q]->name;
とした場合は、$qだけが表示されました。

simplexmlでは$_GETが使えないのでしょうか?
解決策をお教えいただきたいです。
705nobodyさん:2009/10/28(水) 01:09:43 ID:???
>>704
$qの中身の問題だろそれは
706nobodyさん:2009/10/28(水) 01:12:57 ID:EMbPGL3Y
>>705
ありがとうございます!

$q = $_GET["q"]+1-1;
と試してみるとうまくいきました。

ホントにお恥ずかしい限りです・・・
707nobodyさん:2009/10/28(水) 01:16:08 ID:???
型違うと検索してくれないんだ?
708nobodyさん:2009/10/28(水) 01:17:19 ID:???
$q = (int)$_GET["q"];
でおk
709nobodyさん:2009/10/28(水) 01:18:34 ID:???
includeって必要なときにだけ呼び出したほうがいいの?
負荷とかそんなに変わらないのならクラス定義をまとめて最初に読み込んだほうがらくだよね。。。
710nobodyさん:2009/10/28(水) 01:20:18 ID:???
えっ
711nobodyさん:2009/10/28(水) 01:27:19 ID:???
712nobodyさん:2009/10/28(水) 02:52:06 ID:???
Javaのimportのようなもんだと思ってるんだろう
ただJavaの場合コンパイラが最適化してくれるので問題ないが
PHPはインタプリタなので最適化のしようがないという
つまり全部includeなんてしたらそりゃ遅くなる
713nobodyさん:2009/10/28(水) 05:46:33 ID:???
>>712
なるほど、ありがとう。必要なときにincludeしたほうが良いってことね
714nobodyさん:2009/10/28(水) 09:18:20 ID:???
>>695-697
文字列中に,も出てくるかもしれないから
json_decode()を使ったほうがよくない?
715nobodyさん:2009/10/28(水) 10:42:00 ID:v0axKvNX
セッションの開始をつげるsession_start()って
セッションを使用する場合は必ずつけなければならないのですよね?
これを記述するのはMVCモデルだとVの部分に記述するのであってますでしょうか?
716nobodyさん:2009/10/28(水) 10:43:21 ID:???
コントロールじゃね?
717716:2009/10/28(水) 10:45:50 ID:???
コントロールですか?
ありがとうございます
早速組み方を考えて見ます
718nobodyさん:2009/10/28(水) 10:47:23 ID:???
bootstrapだろ
719679:2009/10/28(水) 14:53:16 ID:op4mA5/p
返答遅くなりました。
そうか・・・表示されてる時には既にHTMLとして返ってきてるんですよね。

この場合は、dbedit.phpのようなものを別途つくり
<?php
include("dbedit.php");
A1();
?>
という風にすればいいのかな?

しかし、この場合でも、A1だけではなく、A2,A3と続く様であれば
それの振り分けはどう実装したらいいでしょうか?
ご意見や、実装例等がありましたら、ご教示よろしくお願い致します。
720nobodyさん:2009/10/28(水) 15:23:46 ID:???
>>719
まずjavascriptなしでやることを考えてみ。
721nobodyさん:2009/10/28(水) 15:30:07 ID:???
ちょっと答え方まちがったかな。

まずそのA1, A2, A3でなにをするのか書かないと。あと関数ってわかってる?振り分けってどういうことするの?
722nobodyさん:2009/10/28(水) 15:43:14 ID:???
>>719
A1()って>>679を見る限りJavaScriptのfunctionだろ? 呼べるわけがないw
>>720の通りにまずJavaScriptなしで動くようにしてみたら?
サーバー側でpostされた内容によってSQL発行するだけだよ
723nobodyさん:2009/10/28(水) 18:25:52 ID:???
>>679はもう諦めてこれプログラムできる人にやってもらったほうが世のため人のため>>679のためと思うのはおれだけか?
724nobodyさん:2009/10/28(水) 18:34:44 ID:???
いきなりいろいろ手をつけすぎだな
javascript無し、DB無しでPHPだけでいろいろ慣れるのが先だな
725nobodyさん:2009/10/28(水) 18:35:06 ID:???
A1()で「くろごま」
A2()で「しろごま」
A3()で「ごまふあざらあし」
を処理する気まんまんの>>679にWeb100.0
726nobodyさん:2009/10/28(水) 23:02:06 ID:???
>>679
歳幾つ?
727nobodyさん:2009/10/29(木) 00:12:37 ID:???
phpとmysqlを同時に説明してる本とか売ってるし それ見た方がいいよね
それと同時にプログラミングの概念について解説してる本を読んだ方がいいのかも
概念が足りてない
728nobodyさん:2009/10/29(木) 03:46:52 ID:???
test
729nobodyさん:2009/10/29(木) 09:54:12 ID:xBLZE2eU
【OS】cent
【バージョン】php5.2.10

SimpleXMLElementに関する質問です。
mlから特定の属性を持った要素を削除するにはどうすれば良いのでしょうか?
例を挙げると、

『sample.xml』
<?xml version="1.0" encoding="UTF-8" ?>
<library>
  <book id="00001">
    <title>aaa</title>
    <author>Emily</author>
  </book>
  <book id="00002">
    <title>bbb</title>
    <author>John</author>
  </book>
  <book id="00003">
    <title>ccc</title>
    <author>Mike</author>
  </book>
</library>

とした場合、idが「00002」の要素を削除するという感じです。

--続く--
730729:2009/10/29(木) 09:56:09 ID:xBLZE2eU
--続き--

いろいろ調べたところ、

$xml = new SimpleXMLElement('sample.xml', null, true);
unset($xml->book[0]);

で削除は出来るのようですが、配列で何番目という指定ではなくid「00002」の要素を指定して削除し、

<?xml version="1.0" encoding="UTF-8" ?>
<library>
  <book id="00001">
    <title>aaa</title>
    <author>Emily</author>
  </book>
  <book id="00003">
    <title>ccc</title>
    <author>Mike</author>
  </book>
</library>

となる事が目的です。
どうぞよろしくお願いします。
731nobodyさん:2009/10/29(木) 12:08:53 ID:???
>>730
foreachで出来た方いたら教えてください。


$xml = new SimpleXMLElement('sample.xml', null, true);
for ( $i = 0 ; $i < count($xml->book);$i++) {
if ( $xml->book[$i]["id"] == " 00002") {
unset( $xml->book[$i] );
}
}
echo $xml->asXML();
732729:2009/10/29(木) 23:49:16 ID:???
>>731
出来ました!
どうもありがとうございます。

確かにforeachだと更に良いかも知れませんね。でも感謝です。
733nobodyさん:2009/10/30(金) 06:12:51 ID:5l/tuOOs
以下のようなメールアドレスのうち「@の前部分」を、文字数分だけ*に置換したいのです。
[email protected]

これだと4文字決め打ちになってしまいます。
preg_replace('/[a-z0-9\.\-\_]+@/i', '****@', $text);

いまのところシンプルに書ける方法で思いつくのは、
長い文字数から順に置換していく方法です。
forなど使えばシンプルには書けそうです。
preg_replace('/[a-z0-9\.\-\_]{10}@/i', '**********@', $text);
preg_replace('/[a-z0-9\.\-\_]{9}@/i', '*********@', $text);
...

でも美しい方法とは思えません。
定石、または美しい方法はありますか?
734nobodyさん:2009/10/30(金) 08:26:53 ID:???
>>733
たとえば

$text = "[email protected]";
echo preg_replace('/([a-z0-9\.\-\_]+)@/ie', "str_repeat('*',strlen('$1')) . '@'", $text);
735nobodyさん:2009/10/30(金) 10:41:53 ID:???
例えば

$text = "[email protected]";
$array = explode('@', $text);
echo str_repeat('*',strlen($array[0])) . '@' . $array[1];
736nobodyさん:2009/10/30(金) 16:17:27 ID:???
例えば

$text='[email protected]';
echo str_repeat('*', strpos($text,'@')).strstr($text,'@');
737nobodyさん:2009/10/30(金) 17:16:58 ID:5l/tuOOs
>>734-736
ありがとうございます。e修飾子とかはじめて認識しました。
Yahoo!グループの過去ログのように「メール本文中の署名などの個人情報を隠匿」が目的なので、
>>734の方法で行かせていただこうと思います(目的を書いとくべきでしたごめんなさい)。

精進します。
738nobodyさん:2009/10/30(金) 20:21:02 ID:k7DoHVtB
2chの大量規制があったとかのせいか、ここも勢いがないね

phpのソースコードそのものを取り込んで
そのコードを解析する
みたいな手段ってありませんか?
739nobodyさん:2009/10/30(金) 20:25:31 ID:???
どう解析するの?

単に構文解析だったら、PHPでPHP用のレキシカルアナライザとパーサ作ればいいんだけど、
それだけやったって面白くないよね、手間なだけで。

何をしたいのかが良く分からん。
740nobodyさん:2009/10/30(金) 22:48:05 ID:pyIKqVVx
class test
{
private $ar,$tes;
public function __construct()
{
$this->ar = array('tes');
(ここで 変数 $this->($this->ar[0]) この場合 $this->tes に何らかの値を代入したい)
echo $this->tes;
}
}
$this-> に続く変数名を変数の値で表す方法はありますか?
宜しくお願いします。
741nobodyさん:2009/10/30(金) 22:52:15 ID:???
日本語で
742nobodyさん:2009/10/30(金) 23:25:37 ID:pyIKqVVx
上のコードで$this->tesに、例えば"b"を代入したいとき、
$this->tes = "b"; と書くのではなく、tesの部分に、"tes"が代入された変数を使いたいのです。
743nobodyさん:2009/10/31(土) 00:17:51 ID:???
$var = 'tes';
echo $this->$var;
こんな感じで
744nobodyさん:2009/10/31(土) 00:38:36 ID:???
745nobodyさん:2009/10/31(土) 07:26:05 ID:???
>>743
ああ、一回代入すればいいのですね
思いつきませんでした。ありがとうございます!
746nobodyさん:2009/10/31(土) 09:17:44 ID:5b/pi/nw
質問です。
アップローダー作る時にテンポラリのディレクトリから保存用のディレクトリに
ファイルをcopy → もとのテンポラリファイル削除 って流れがあり、
if(copy($tmpFile, $lastFile)){unlink($tmpFile);} 
という感じの処理をすると思います。
しかし条件部分がtrueにならないとき、どうしたら良いんでしょうか?
「コピー失敗しました」みたいなアラート表示すべき? そんなことやってますか?
そもそも、上のif文でのチェックは必要なんでしょうか…
条件成立・不成立をどこまでフォローすべきか悩んでいます。
747nobodyさん:2009/10/31(土) 15:10:42 ID:???
move_uploaded_file 使った方がええんじゃないか?
748nobodyさん:2009/10/31(土) 15:13:55 ID:???
コピーするのがそのサイト内部処理として必須であるなら(まあそうだろうけど)、
それに失敗したらアップロード処理失敗のエラー返すしかなかろ。
749nobodyさん:2009/10/31(土) 15:30:20 ID:???
エラーが発生したときに可能な限り元の状態に戻す設計にした方が良いな
コピー失敗したらそのファイルを削除してメッセージを表示&エラーログを残すとか
750nobodyさん:2009/11/01(日) 23:38:51 ID:???
>>740
$this->{$this->ar[0]} = "何らかの値";
751nobodyさん:2009/11/02(月) 18:13:40 ID:uSMOoO6C
画像とhtmlを同一のファイルにしたいんですが、
phpでmhtmlを出力するほうほうはありませんか?
752nobodyさん:2009/11/02(月) 18:43:28 ID:???
>>751
OSは?
753nobodyさん:2009/11/02(月) 18:58:04 ID:???
754751:2009/11/02(月) 18:58:15 ID:???
>>752

Linuxです。サーバーの設定も自由に変更できます。
755751:2009/11/02(月) 19:01:23 ID:???
>>253

ありがとう。
756nobodyさん:2009/11/03(火) 00:57:00 ID:OxH3Rb8V
質問です、
PHPの言語仕様として確認したいのですが、
1リクエストごとにstaticメソッドであろうが毎回PHPのリソースをメモリに読み込んで、
レスポンスを返した時点でメモリ破棄する。
そのため、複数のリクエスト間での共有ができず、たとえばDBのコネクションプール
などという考え方は基本ない。であっていますか?
757nobodyさん:2009/11/03(火) 02:25:30 ID:???
言語仕様(標準ライブラリ)の範疇で言えば、そう。
たいていの言語は、別々に起動された、親子関係
でないプロセス間でソケットを共有する方法は、
言語仕様にはないと思う。
758nobodyさん:2009/11/03(火) 05:32:26 ID:???
関係ない質問してごめん。
SpeedyCGIみたいな常駐プログラムを使ったらDBコネクション繋ぎっぱなしできるよね?
それをphpから呼び出したら、プログラム呼び出しののオーバーヘッドとDB接続のオーバーヘッド天秤にしても常駐の方が早い希ガスだけどどうなの?
あと、phpでSpeedyCGIみたいシステムないの?
759nobodyさん:2009/11/03(火) 10:19:58 ID:???
DBコネクションプールといえばpgpoolとかあるけど。
MySQLならSQLrelayとか。
760nobodyさん:2009/11/03(火) 10:39:36 ID:???
phpはモジュールで動かしてる場合が多いから・・・
761nobodyさん:2009/11/03(火) 21:21:41 ID:ppv8Lxeq
ちょっと質問。
wikipediaで携帯のIPアドレス一覧があって、それを元にアクセスした人のIPが携帯なら携帯用のページに飛ばすのをPHPで以前に作ったんだけど
知らない間に携帯用のIPアドレスが増えてるみたいで、修正しようかと思うんだけど、結局イタチごっこだから
シンプルにユーザーエージェントで分別しようかと思うけどそれだとPCで偽装もできるので
ちゃんと的確に分けられる方法教えて。
762nobodyさん:2009/11/03(火) 21:23:10 ID:???
携帯依存文字でYES・NOでもやってろ
763nobodyさん:2009/11/03(火) 21:34:29 ID:???
わざわざUA偽装してアクセスするのは携帯用ページが見たいからでしょ
だから普通にUAで振り分ければいいとおもうが
764nobodyさん:2009/11/03(火) 21:38:57 ID:???
>>761
ケイタイ用のIPを常に更新して、IPでキャリアを判別するサイトのサービスを始めるのだ!
765nobodyさん:2009/11/03(火) 23:00:04 ID:Hf2P9qWB
phpのApacheの設定が全くできません!Vistaです。本に書いてある通りにしても、ブラウザに乗せるとダウンロードダイアログが出ます
助けてください
766nobodyさん:2009/11/03(火) 23:08:14 ID:ppv8Lxeq
確かに携帯用のページが見たくて偽装するんだろうし、別に携帯用ページをPCで見られて困ることはないよ。
だけど、UAの文字列の一部で携帯かPCかを判断すると、今後携帯キャリアがUAの仕様を変えた時に、
携帯だかPCだか判断できずに、携帯なのにPC用ページを表示してサイズでかすぎて表示できないとかだと最悪でしょ。

妥協してユーザーエージェントでやるとするといくつあるの?
ドコモ、au、ソフトバンク、ボーダフォン、J-PHONE、あと何?
ウィルコムとかイーモバイルとかも固有のUAあるの?ディズニーモバイルは?あとiフォンもある?
767nobodyさん:2009/11/03(火) 23:42:05 ID:???
俺はIPでやってるけど、ホスト名でもいいんじゃないの振り分け
768nobodyさん:2009/11/03(火) 23:44:16 ID:???
PEAR::Net_UserAgent_Mobileは?
769nobodyさん:2009/11/04(水) 04:13:04 ID:???
>>759
トンクス。
でも SQLRelay いれたら遅くなったって意見が多くてちょっとガッカリ
770679:2009/11/04(水) 09:18:30 ID:???
規制ががが
>>720
・・・申し訳ない。
以前あったレスからJavascriptは使わないと決めて
元々記述したJsコードを全部削除してPHPに実装しなおしていましたが
報告忘れてました

>>721
A1とかA2とかは、それぞれupdateでsetする内容が違うだけ。
むしろコレなら変数で勝手に変わる様にしたほうがいいのかもしれないですが・・。

>>722
一応削除はしてます。

>>723
諦めたらそこで終わりじゃないですか??

>>724
はい。実はJavaはやっていたのですが
どうもHTMLやらJavascriptやらPHPやらとくると・・どうにも
771679:2009/11/04(水) 09:19:55 ID:???
>>726
まだまだ若いですよ。上司には当然教えてくださる方もいないので独学になりますが。
いかんせん会社が大きく無いのでしょうがないです。

>>727
本・・ですねえ。
でも今月はCiscoの本やらいっぱい買ってしもたorz
経費で落ちそうなら考えてみます。


今のところ一応Formタグを追加し、typeをSubmitにして飛ばすようにしてます。
次のphpでname属性から拾ってきたものを取り上げ、PHP側のif分岐等でのマッチング査定をしつつ
その先で上書き処理、という流れで、やっていくつもりです。
772nobodyさん:2009/11/04(水) 09:50:46 ID:???
>>765
それ、Apacheの問題であってPHPのじゃないじゃん。

<httpd.conf>
AddType application/x-httpd-php .php
PHPIniDir [PHP.iniのあるディレクトリ]
LoadModule php5_module [php?apache*.dllへのフルパス]

書いたらApacheの再起動。
773nobodyさん:2009/11/04(水) 13:15:10 ID:+cyJ/kJv
あのさぁ、まずはちょっと聞いてくれ。

ドキュメントルート(サイトのルート)の中の一つのフォルダを完全にPHP使えないようにしたい。
そうしないとそこがアップロード用のファイル保存フォルダになっているので
PHPのファイルをアップされブラウザでファイルをアクセスされると危険。unlink()とかされたら完全に終わる。
かと言ってアップ時に、拡張子が.phpのファイルをはじくとかだとそれも困るし、そのファイルの内容をチェックするのも大変。
.htaccessファイルに、拡張子.phpは.htmlとするように書いてもいいけど.php5とかPHPとして動く拡張子が他にもあるから対処しきれない。

で、特定のフォルダにだけPHPを使わせない機能ないの?

もしくはアパッチでドキュメントルート以外のフォルダを作り、

C:/root_A(PHP可能)
C:/root_B(PHP不可)
として
http://ドメイン/root_B以下にアクセスがあった時はC:/root_B/index.htmlを表示させるとかできないかな
バーチャルホストじゃなくドメイン同じで二つのルートを使い分けるって事。
774nobodyさん:2009/11/04(水) 13:18:32 ID:+cyJ/kJv
今書いててふと疑問に思ったんだけど、レンタルサーバーって複数の人が使ってて
同じドライブに複数の人のルートがあると思うけど他人のファイルをunlink()したりできないのは何で?
775nobodyさん:2009/11/04(水) 13:22:13 ID:???
FOR($i=0;;$i++){

PRINT 'マンコ';

}

初めて作ったプログラムがこれ。
776nobodyさん:2009/11/04(水) 13:26:07 ID:???
>>773
apacheのDirectory設定でできるよ
777nobodyさん:2009/11/04(水) 13:31:39 ID:???
>>774
一つはパーミッション。
削除権限はそのファイルが含まれているディレクトリのパーミッションによるが
777とかしてたら消せる。
でもphpだと全ユーザーが同じ実行ユーザーになる場合もあるので
phpのSafeModeを使う。
これは、実行ファイルのオーナー(実行時のユーザーではない)が
他のオーナーのファイルをいじれなくする仕組み。
778nobodyさん:2009/11/04(水) 16:27:43 ID:+cyJ/kJv
>>776-777
ありがとう。ちょっとググってみるよ。
779nobodyさん:2009/11/04(水) 17:03:15 ID:???
そういや、拡張子で制御は把握しきれないから・・・とか書いてるけど
基本的にhttpdは拡張子で実行するか決めてるんだから
拡張子で制限すればいいはずだよ。
780nobodyさん:2009/11/04(水) 17:37:09 ID:???
>>773
phpファイルはアップロード禁止にしたらいいんじゃない?
どうしてもアップロードしたい場合はZIPって手もあるし
781nobodyさん:2009/11/04(水) 18:05:34 ID:???
>>773
Options -ExecCGI -Includes -MultiViews
php_flag engine off
こんな感じで.htaccessを設定したらCGIとPHPは動かなくなるはず
782nobodyさん:2009/11/05(木) 02:39:02 ID:bdU2dbgu
http://example.com/ref/abc
というURLでアクセスしたら
http://example.com/ref/index.php?id=abc
の結果を返すにはどうしたらいいですか?
783nobodyさん:2009/11/05(木) 02:43:08 ID:???
mod_rewrite
784nobodyさん:2009/11/05(木) 02:56:01 ID:bdU2dbgu
>>783
ありがとう
785nobodyさん:2009/11/05(木) 09:23:02 ID:???
FOR($i=0;;$i++){

PRINT 'パイズリ';

BREAK;
}

二番目に作ったプログラムがこれ。
786nobodyさん:2009/11/05(木) 10:17:21 ID:???
for ($i = 0; i <= 10000; $i++) {
 print "まんこ\n";
}
print 'な? 9999の次でも1に戻るってことは無いだろ?';
787nobodyさん:2009/11/05(木) 10:31:55 ID:???
あたまおかしい
788nobodyさん:2009/11/05(木) 12:50:44 ID:???
やっぱり大量規制でいいや。
789nobodyさん:2009/11/05(木) 13:16:33 ID:???
てst
790nobodyさん:2009/11/05(木) 15:22:19 ID:17l6YWCO
ユーザー関数は、あちこちのページで使い回すから当然別のファイルにして、その都度インクルードとかするでしょ。

index1.php
↑インクルード
user_func.txt
↓インクルード
index2.php

でもこうなるとindex1.phpにアクセスするということはuser_func.txtにもアクセスする事になるので、鯖に負担がかかる。呼び込むファイルが増えればなおさら。

負荷を無くすにはどうしたらいいでしょうか?

個人的にできたらいいなと思うのは、この様な自作関数もメモリ上に置けるようにしてほしい。
最初に鯖を立ち上げた時に読み込んで後は元々ある関数みたいに使いたい。
791nobodyさん:2009/11/05(木) 15:33:59 ID:???
>>790
実際、どの程度の負荷がかかってるのさ?

一度user_func.txtが読み込まれれば、2回目からはメモリを見に行くから気にしなくて良いレベルだと思うぞ。
792nobodyさん:2009/11/05(木) 16:22:18 ID:17l6YWCO
>>791
えっ?そうなの?って事はindex.phpとかも一回読まれたらメモリ見るの?
知らなかった。どの位の負荷がかかってるかはどうやって調べたらいい?
最近サイトを開くと重いんだよね。特に夜。LAN内のPCからでも遅いから回線が原因じゃないかと思うんだけど
HDDがあれこれファイルを読んだりして追いついていけないのかもって思って。
CPU仕様率は結構低いんだけど。LANもギガビットLANだし、原因がHDDとしか思えないんです。
793nobodyさん:2009/11/05(木) 16:39:49 ID:???
>>792
気になるならdataスキーム形式にして埋め込めばいいよ
794nobodyさん:2009/11/05(木) 16:55:33 ID:???
>>792
普通は一度ファイルを読み込めば、次回はメモリを参照する。
readで毎回必ずHDDを読んでいたら大変な事になるよ。

CPU使用率がわかってて、DISK周りの負荷は調べてない?
Linuxならiostatとかで見て見なよ、sarが入ってればそれでもいいし。
795nobodyさん:2009/11/05(木) 16:59:36 ID:???
>>792
ギガビットは過信しないほうがいい
LANカードやHUBがしょぼかったら無意味
転送量が少なくても一度に大量の接続があれば捌ききれなくなる。
796nobodyさん:2009/11/05(木) 19:35:22 ID:???
>>792
世の中にはキャッシュと言うものがあってだな・・・
てか、HDDからの読み込みが気になるくらいでかいファイルなのか?そのスクリプト。
797nobodyさん:2009/11/05(木) 20:31:20 ID:17l6YWCO
>>793-795
OSはWindowsなんだけど、とりあえずHDDをSSDとか1万回転のHDDに変えたら速くなりそうな気がするんだよね。
ルータやLANケーブルはそれなりのやつを使ってるけど。
実際商用のサーバーってどうやって負荷計ってるの?そういうフリーソフトないかな?
何を改善すればいいか分からん。

>>796
スクリプトはでかくないよ。ただ動画のダウンロードが多い。これが遅延の原因かも。

あとデータベースとOSのドライブは別のドライブにした方が速い?パーティションじゃなくて完全に個別という意味で。
798nobodyさん:2009/11/05(木) 23:07:04 ID:???
>>797
流石にスレ違いだろ。

DISKは複数あったほうが速いにきまっとる
書いてるようにOSとDB分けたほうがいい。
799nobodyさん:2009/11/05(木) 23:39:13 ID:???
>790
PHPのファイルは、OSによってディスクから内容がメモリに読まれた上で、インタプリタによって機械語にコンパイルされ、実行される。
ここまでが基礎知識。

で、まず、今どきのOSはディスクからの読み込みをキャッシュする。
つまり、一度読んだファイルはメモリにそのまま持っておいて、更新がなければ次回以降はそいつを使う。
次に、APCやeアクセラレータといったPHP関連ライブラリを使うと、機械語にコンパイルされたコードを使いまわしてくれるようになる。
800nobodyさん:2009/11/05(木) 23:55:44 ID:???
>>797
NICかHubが壊れかけてるとか?
とりあえず遅延がどの時点で発生しているのか調べないと。
なんかPHPが原因じゃないっぽい感じがする。
801nobodyさん:2009/11/06(金) 15:02:27 ID:uY82lX0B
Tomcat+Javaで、Javaのローカルページ開くと、コンソール画面に出力できるよね
System.out.printlnで
あれ、デバッグですごく便利なんだけど、
EclipseでPHPでできないのかな
802nobodyさん:2009/11/06(金) 15:30:23 ID:+6dsWJpT
GoogleSafeBrowsingで質問です

http://www.madirish.net/?article=245
上記を参考にPostgreSQLで作ってみました。
BL取得→DBに保存→webから利用があったらmd5してdbにSELECT発行
という形で作ってみたのですが、BL取得→DBに保存
ここまで上手くいって294,830件のハッシュがDB内に存在する所までは確認できました

ところが実際にwebから本家GoogleSBでBL入りしているようなドメインを送ってもBL判定されません。
どなたかMySQL環境がある方、このソースをまんまで試してみて頂けますでしょうか…。
例として下記
http://www.google.com/safebrowsing/diagnostic?site=4gameranking.com
803nobodyさん:2009/11/06(金) 21:29:10 ID:qkr//tmU
変数に値が入っているか入ってないか調べる時

if(isset($val))かif(!empty($val))

if($val != "") か if($val <> "")

では、どちらの方が処理が速いのでしょうか?
804nobodyさん:2009/11/06(金) 22:11:01 ID:???
>>803
とりあえず、「empty isset」のキーワードでぐぐってみた方がいいな
805nobodyさん:2009/11/06(金) 23:17:02 ID:???
>803
Cのコードを読んでみないとなんとも言えないが、もっとも処理の少ないであろうisset()が最速だと思う。
だけど、そんな速度差を気にしないといけないような案件でPHPを使うほうが間違っているので、どうでもいい。
806nobodyさん:2009/11/06(金) 23:29:19 ID:vBz8RCVv
フレームワークを覚えるのに挫折しました
そこでクラスについて勉強したいと思うのですが
フレームワークを覚える前にクラスの使い方を覚えると楽になりますか?


OOP、デザインパターンを覚えてからフレームワークに入るのが王道でしょうか?
プログラミングはPHPが初めてでクラスの基本的なものは分かるのですがクラスだけは敷居が高くて勉強してきませんでした
807nobodyさん:2009/11/06(金) 23:33:04 ID:???
フレームワークの製作者になるのが目標でなければ
フレームワークの使い方だけ学べばいいんじゃないかな。
どこにファイルを置いて、こういう名前にして、どういうAPIがあって・・・みたいな。
808nobodyさん:2009/11/06(金) 23:34:14 ID:???
クラスなんて書けなくても使えるなら別に困りません。
809nobodyさん:2009/11/06(金) 23:34:43 ID:vBz8RCVv
class hello_world
{
private $word = "こんにちは世界さん(^^)";

function view() {
return htmlspecialchars($this->word, ENT_QUOTES);
}
}


$obj = new hello_world();
echo $obj->view();
810nobodyさん:2009/11/06(金) 23:38:43 ID:vBz8RCVv
借り物のPCなのでデータベースを入れられないのと使い方がわからないのでちいたんは挫折しました
cakePHPもなんかドキュメントの通りやりましたがこのファイルにこれを書けという意味が理解できなかったため挫折しました
smartyはサンプルみて挫折しました
811nobodyさん:2009/11/06(金) 23:41:26 ID:???
phpでstaticとかprivateってつかえる?
812nobodyさん:2009/11/06(金) 23:44:53 ID:???
>>811
>>809見ろよ
813nobodyさん:2009/11/06(金) 23:53:40 ID:???
ちいたんは挫折しました
814nobodyさん:2009/11/06(金) 23:54:01 ID:vBz8RCVv
public
protected
private
が使えます
815nobodyさん:2009/11/06(金) 23:54:54 ID:???
ちいたんで挫折してたらこの世に使えるFWなくね?w
あとSmartyはFWでないしな
816nobodyさん:2009/11/06(金) 23:59:14 ID:???
symfonyはインストールできましたがドキュメント見ても分からないため挫折しました
ZendFrameworkはドキュメントがたくさんあってまだ読んでないです

フレームワークって新しい言語を覚えるような感じですね
気合入れないとだめですね
817816:2009/11/06(金) 23:59:56 ID:vBz8RCVv
id出し忘れました
818nobodyさん:2009/11/07(土) 01:02:50 ID:???
順を追ってステップアップしていくのが一番だよ
がんばれ!
819nobodyさん:2009/11/07(土) 01:04:33 ID:???
ちいたんはコメントないから初心者向きではないよ
820nobodyさん:2009/11/07(土) 10:59:11 ID:HHoKTIgI
//検索対象
$array = array("inquiry","support");
//検索する文字
$val = "inquiry_form";
// 検索文字が対象に一致するか
foreach($array as $item){
if(strstr($val,$item)){
//一致した場合の処理
}
}

検索する文字が検索対象に一致するか調べたいと思います。
上のように対象をforeachで回して$valに対象の文字列と一致するか
調べる方法が一番簡単だと思いますが、
検索する文字が複数ある場合、何回も上記の事をしなければいけません。
もう少し効率の良い書き方はないでしょうか?
821nobodyさん:2009/11/07(土) 11:26:41 ID:???
>>820
array_map使うと楽です
822nobodyさん:2009/11/07(土) 11:32:59 ID:HHoKTIgI
ありがとうございます。ぜひ参考にします。
823nobodyさん:2009/11/07(土) 12:00:25 ID:???
function a($a) {
$txt = "aaazzzccc";
if (strstr($txt,$a)) echo "一致\n";
}

$search = array("aaa","bbb","ccc");

$p = array_map("a",$search);
824nobodyさん:2009/11/07(土) 12:23:34 ID:???
> 検索する文字が複数ある場合、何回も上記の事をしなければいけません。
別にarray_mapなんか使わなくても単にforeachの二重ループにすればいいのでは?
825nobodyさん:2009/11/07(土) 12:35:53 ID:???
質問者は既にforeach使ってるみたいだね
826nobodyさん:2009/11/07(土) 14:40:11 ID:???
2重ループwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
827nobodyさん:2009/11/07(土) 14:42:27 ID:???
単にin_arrayでいいのでは?
828nobodyさん:2009/11/07(土) 15:07:14 ID:???
in_array= 配列に値があるかチェックする

質問では配列に格納された文字列が、変数に格納された含まれているかチェックする

おk?
829nobodyさん:2009/11/07(土) 15:09:30 ID:PiVKZwA7
HTML_QuickFormとSmartyの組み合わせだと、1ページに1つのフォームしか作れないんでしょうか?
検索しても複数ページの遷移の件などがヒットして、複数のQuickFormをSmartyに渡す方法が出て来ません
830nobodyさん:2009/11/07(土) 15:29:08 ID:???
>>828
日本語でおk
831nobodyさん:2009/11/07(土) 16:00:49 ID:???
>>830
in_arrayはお門違いってことが理解できなかったか
外人さん乙
832nobodyさん:2009/11/07(土) 16:58:49 ID:???
>>831
えっ・・・?
>検索する文字が検索対象に一致するか調べたいと思います。
833nobodyさん:2009/11/07(土) 17:04:57 ID:???
>>820の質問理解してる?
>>832さんよおじゃあin_array使ってコード書いてみろよwww
834nobodyさん:2009/11/07(土) 17:06:46 ID:???
>>832
質問者が少々日本語でおkなんだよ。意訳すると
「検索文字列が検索対象に含まれていたら何らかの処理をする、と言うロジックを
検索対象が複数だった場合にスマートに書きたい」
って事だろうからな
835nobodyさん:2009/11/07(土) 17:09:04 ID:???
//検索対象
$array = array("inquiry","support");
//検索する文字
$val = "inquiry_form";
// 検索文字が対象に一致するか
foreach($array as $item){
if(strstr($val,$item)){
//一致した場合の処理
}
}


これをin_arrayを使ってどう書くのか激しく興味あるんだけど
836nobodyさん:2009/11/07(土) 17:13:26 ID:???
$a=array(1,2,3);
foo($a, array(2,8,9));
てやったとき、両方に2が含まれてるからtrueが返って欲しいんだろうな。
if($a!=array_diff($a, array(2,8,9)))
ってどうよ?
837836:2009/11/07(土) 17:14:31 ID:???
strstrだったか、失礼しました。
838nobodyさん:2009/11/07(土) 17:19:55 ID:???
in_arrayでコードまだ??
839nobodyさん:2009/11/07(土) 17:22:59 ID:???
>>827=>>830=>>832逃亡乙
840nobodyさん:2009/11/07(土) 22:43:03 ID:CwxQOSeK
constってどういう状況で使うものでしょうか?

class test
{
const hiru_aisatu = "こんにちはっ!!";
const yoru_aisatu = "こんばんは・・・";
const hurarerutoki = "さようなら・・2度と会わないで";
}


echo test::hiru_aisatu;


こんなかんじで書くのと

$hiru_aisatu = "こんにちはっ!!";
$yoru_aisatu = "こんばんは・・・";
$hurarerutoki = "さようなら・・2度と会わないで";

echo $hiru_aisatu;

というふうに書くのはクラス使うほうがスピードは遅い?ような気がするのですが
複数人でコード書く場合はクラスでconst使ったほうがいいでしょうか?
841nobodyさん:2009/11/07(土) 23:45:33 ID:???
in_arrayで解決おじさんまだ????????????????
842nobodyさん:2009/11/07(土) 23:57:06 ID:???
規制されたままの方が良かったな
843nobodyさん:2009/11/07(土) 23:57:15 ID:???
>>840
・定数は上書きされない
・クラス定数は局所化される
844nobodyさん:2009/11/08(日) 02:32:54 ID:35LWJ8zb
関数にいくつでも値を渡すことって可能でしょうか?
hoge_func($a)
でも
hoge_func($a,$b,$c,$d,$e,$f)

ただし
function hoge_func($a=null,$b=null...
とは違う方法で
845nobodyさん:2009/11/08(日) 02:56:24 ID:???
array
846nobodyさん:2009/11/08(日) 06:59:04 ID:???
847nobodyさん:2009/11/08(日) 08:26:26 ID:H7unfEmK
PHPとMYSQLでお気に入りの本を紹介するアプリ(紹介者は複数)を作ってるんだけど、
これまでに紹介された本の一覧ページで、同じ紹介者の本が連続して出ないようにしたいです。
たとえば登録時に10冊まとめて登録できる場合、主キーのIDを表示時のソートのキーにしたら
同じ人の紹介した本ばかりが一画面に出ることになります。
これを防ぐにはどうしたら良いですか?
登録時にランダム数を入れるカラムを作って、それをキーにして表示するのか、
それともPHPだけで出来るでしょうか?
848nobodyさん:2009/11/08(日) 08:59:03 ID:???
>>847
全然適当な並びでよければ
ORDER BY RAND()
849nobodyさん:2009/11/08(日) 09:04:36 ID:H7unfEmK
>>848
うおおお、凄い! そんなのがあるんだ?
やっぱり聞いて良かったです。ありがとう!
850nobodyさん:2009/11/08(日) 10:30:15 ID:atd+IQXc
class test
{
public $v = "test";

public function display() {
return $this->$v;
}
}

$obj = new test;
echo $obj->display();

testと表示させたいのですが表示できません
PHP5.3です
どなたかご指導お願い致します
851nobodyさん:2009/11/08(日) 10:39:14 ID:???
>840
class Greeting{
const AT_MORNING = 'おっはー☆';
const AT_DAYTIME = 'こんにちは';
const AT_NIGHT = 'こんばんわー';
const FIRST_MESSAGE = '初めまして';
}
class Love{
const FIRST_MESSAGE = '好きです!';
const END_MESSAGE = 'さようなら…二度と会わないで';
}

echo Greeting::AT_MORNING;

例えば定数の場合、そこまでに通ったコードを全部読んで、定義部を探さないといけない。
クラス定数ならば、格納先のクラスさえ分かれば、そこを探すだけで済む。
勿論、「定数はこのファイルに全部書くこと!」という規則で運用しても同じような効果になるが、「立ち入り禁止」というルールだけ設けるのと柵を作るの、どっちが安全かの差だな。
また、Greeting::AT_MORNINGを読むにはGreetingクラスの存在を知らなければ(requireしなければ)ならない。
つまり、この定数を使っている箇所がどこら辺にあるのか特定しやすい。
あとは、全体から見える位置にものを定義すると、変数名被りや定数名被りが発生しやすい。クラス定数なら、クラスさえ違えば同名になっても問題ない。
852nobodyさん:2009/11/08(日) 10:41:21 ID:???
>>850
エラー出力見ようよ。たぶんこの場合ずばりのエラーが出てる。

return $this->$v;
の、vには$要らない。
853nobodyさん:2009/11/08(日) 10:41:44 ID:???
return $this->$v
だと そのクラス内($this)の変数$vが持ってる値の変数になっちゃう
return $this->v
がただしい
854nobodyさん:2009/11/08(日) 10:45:24 ID:???
ありがとうございます

>>852-853
855nobodyさん:2009/11/08(日) 10:46:05 ID:atd+IQXc
ミス

ありがとうございます
おかげ様で解決できました
>>852-853どうもありがとうございました
856nobodyさん:2009/11/08(日) 10:55:19 ID:R5NqdoKR
オブジェクト指向の覚え方についてどなたかご指導お願いします

ここ見て勉強してます
ttp://php.net/manual/ja/language.oop5.php
目次
* はじめに
* クラスの基礎
* Properties
* オブジェクト定数
* クラスのオートローディング
* コンストラクタとデストラクタ
* アクセス権
* Object Inheritance
* スコープ定義演算子 (::)
* static キーワード
* クラスの抽象化
* オブジェクト インターフェイス
* オーバーロード
* オブジェクトのイタレーション
* パターン
* マジックメソッド
* finalキーワード
* オブジェクトのクローン作成
* オブジェクトの比較
* タイプヒンティング
* 遅延静的束縛 (Late Static Bindings)
* オブジェクトと参照
* Object Serialization


この目次を上から順番にやりたいのですがどこまでが基礎の部分でしょうか?
857nobodyさん:2009/11/08(日) 11:46:29 ID:???
スレを使ってデバッグするとはお主やるな
858nobodyさん:2009/11/08(日) 11:47:34 ID:???
>>855へのレスね
859nobodyさん:2009/11/08(日) 11:58:07 ID:???
857 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
あぼ〜ん

858 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
あぼ〜ん
860nobodyさん:2009/11/08(日) 12:02:22 ID:???
>856
staticまで知ってればとりあえず問題ない
861nobodyさん:2009/11/08(日) 12:12:54 ID:???
>>856
「オブジェクト指向の覚え方」(というか学び方)を知りたいんですね?

まずは、
とある言語が「オブジェクト指向的な記述を支援してくれる部分」と、
「オブジェクト指向というもの」自体とを
弁別した方が良いかと。

とある言語で後者を実践するときのものが前者。
そのページで得られるのは、基本的には前者のみ。

OOPそのものへの入門だったら、PHP以外の例えばJavaあたりを使ってOOPの
解説してるとこ覗いた方が良いよ。

それでもその質問に答えるとしたら、上から順番でどこまでってことは無いかな。
>* クラスのオートローディング
↑飛ばしてもいいけど、
>* コンストラクタとデストラクタ
↑飛ばせない
てな感じで。
862nobodyさん:2009/11/08(日) 12:30:58 ID:???
Javaが一通り出来るようになればオブジェクト指向はだいたい理解出来るはず
使いこなすにはまだまだだけど
863nobodyさん:2009/11/08(日) 12:34:58 ID:???
じゃヴぁじゃヴぁうるせえよks!
864nobodyさん:2009/11/08(日) 12:41:45 ID:???
>>862
理解できてるから使いこなせるわけで。 順序逆だz
865nobodyさん:2009/11/08(日) 12:52:04 ID:???
PHPみたいな変数に何でも入って、evalもあるような言語に
JavaのOOPを持ち込むのは、混乱の元だろう。
頭固くなるからやめとけ。
初心者はSqueakでもやっとけばいい。
866nobodyさん:2009/11/08(日) 13:33:48 ID:9EHY5xph
インスタンスってどういうときに使うんですか?

class SimpleClass{
public $var = 'a default value';
public function displayVar() {
echo $this->var;
}
}
$instance = new SimpleClass();
$className = 'Foo';
$instance = new $className();

ってマニュアルにサンプルが載ってますが
下から1〜3行を
$obj= new SimpleClass();
で済ましたほうが楽だと思うのですがどうなんでしょうか
どなたかご教示お願いします
867nobodyさん:2009/11/08(日) 13:36:52 ID:???
済ますも何もSimpleClassではなく別クラスのFooのインスタンスを作ってるように見えるが
868nobodyさん:2009/11/08(日) 13:41:42 ID:9EHY5xph
すいませんこれです

http://www.php.net/manual/ja/language.oop5.basic.php
例3 インスタンスを作成する
<?php
$instance = new SimpleClass();

// 変数を使うこともできます
$className = 'Foo';
$instance = new $className(); // Foo()
?>

869nobodyさん:2009/11/08(日) 13:46:05 ID:???
インスタンスを生成したいクラスを動的に指定する場合に便利だよ
autoloadしたい時とかFactoryパターンの時とか
870nobodyさん:2009/11/08(日) 13:48:04 ID:???
new演算子の右辺に変数が使えるって例だな
可変変数の一種だ
871nobodyさん:2009/11/08(日) 13:52:41 ID:???
可変変数の一種などではなく可変関数
http://www.php.net/manual/ja/functions.variable-functions.php
872nobodyさん:2009/11/08(日) 14:29:44 ID:???
>>866
>$obj= new SimpleClass();

これだってインスタンスを作成してるわけだが・・・
873nobodyさん:2009/11/08(日) 17:28:03 ID:???
>>866
クラスってのはクッキー生地の型抜き用の型で、
インスタンスはそれで作られた個別のクッキー(生地)。

抜き型だけあってもそれを使わないと(newしないと)食えるクッキーの存在は生成されない。

てな感じでどうだ?
874nobodyさん:2009/11/08(日) 17:52:29 ID:???
>>873
スタティックメソッドは?
875nobodyさん:2009/11/08(日) 17:55:43 ID:???
最初に入れる具を決めて皮を作るか、とりあえず具は後で買ってくると決めて皮を作るかの違い

出来るものはどちらにしても肉まん・あんまん・中華まん。
876nobodyさん:2009/11/08(日) 18:00:44 ID:???
>868
変数$classNameの値に応じて、生成するインスタンスを変えられる。
class Foo{
function say_name(){
echo 'foo foo foo!';
}
}
class Bar{
function say_name(){
echo 'Bar, bar, BAAAAAR';
}
}

$instance = new $className();
$instance->say_name();

クラスに同じ名前同じ引数のメソッドがあり、その中身のロジックが全然違う場合なんかに使える。
877nobodyさん:2009/11/08(日) 18:32:26 ID:QzQ1Ze2q
class test{
 function test(){
  throw new Exception('test');
 }
}

try{
 $test = new test;
 $test->test();
}catch(Exception $e){
 echo $e->getMessage();
}

classからスローした例外って上みたいにキャッチできますか?
878nobodyさん:2009/11/08(日) 18:59:39 ID:???
なんで試さんの?
879nobodyさん:2009/11/08(日) 19:13:09 ID:QzQ1Ze2q
できた、役に立たない奴らだ
880nobodyさん:2009/11/08(日) 20:10:53 ID:???
次の方どーぞ。
881nobodyさん:2009/11/08(日) 21:05:50 ID:8S6RVioX
classを作っておくのは同じコードを2度も書かないためってことでしょうか?
掲示板を作るとき「ファイル操作・文字列処理」をしますのでそういうのをクラスにまとめることによtt
いろんなスクリプトで再利用できるという認識でよろしいでしょうか?
882nobodyさん:2009/11/08(日) 22:33:56 ID:???
再利用できるように作ってあれば。
883nobodyさん:2009/11/09(月) 09:32:56 ID:utcN5JBF
>>881
同じコードを2個書かなくていいのはfunction(関数化)
クラス化は、同じコードを書かなくていいだけでなく、そのときに必要な部分のみ使える感じ

884nobodyさん:2009/11/09(月) 10:54:46 ID:???
関数だと必要な部分のみ使えないの?
885nobodyさん:2009/11/09(月) 10:57:53 ID:???
オブジェクト指向のオの字も知らないようだと、クラスを作る意味はまるで無い
886nobodyさん:2009/11/09(月) 11:09:38 ID:utcN5JBF
クラスは何つーか、製作ツール作る感じじゃね?
RPGツクールとかそんな感じで
逆にfunctionなどの関数はそのまま関数作ったり
RPGツクールの中の、敵にダメージを与える計算部分とか
887nobodyさん:2009/11/09(月) 11:12:00 ID:???
クラスの目的は…
少なくとも出発点はデータの保護、というかデータに対して可能な操作の定義。>>881

つか、もうそれってPHPの質問と違うやん。
OOもしくはOOP一般じゃろ。
888nobodyさん:2009/11/10(火) 00:04:02 ID:???
学校にもAクラス、Bクラスってあるだろう。
それと同じ意味だよ。

A組 が 廊下掃除担当
B組 が 体育館掃除担当
C組 が プール掃除担当

という感じにクラス毎に役割を振っておけば、
後々管理が楽になるだろう?

「廊下に関する事なら、A組に聞けばいい。」

ってな具合で。
889nobodyさん:2009/11/10(火) 00:22:25 ID:???
関数とオブジェクトのローカル変数をセットにしておける。
継承が使える。

これだろ。
890nobodyさん:2009/11/10(火) 00:28:25 ID:???
無駄に難しく考えないで、自分のレベルで便利に使えるところから使えばいいんだよ。
クラスつかうなんてのは、手段であって、目的ではないからな。
891nobodyさん:2009/11/10(火) 02:31:13 ID:???
同じく、システムの中である程度一貫性持ってれば扱い方は人によって個性出てもいいと思う
892nobodyさん:2009/11/10(火) 02:57:15 ID:???
OOP本のサンプルって、
Animalクラスを継承してDogクラスとかCatクラスを作るって例が多いけど、
わかりやすいようで解りづらいよなw
893nobodyさん:2009/11/10(火) 03:10:25 ID:???
>>892
>Animalクラスを継承してDogクラスとかCatクラスを作るって例
この手の解説は参考にならないって、歴史が証明してるよなw
894nobodyさん:2009/11/10(火) 03:44:55 ID:???
最初は関数で作って、後々追加案件で処理毎にクラス化してる
配列でまとめてあると、後で弄り易い。
895nobodyさん:2009/11/10(火) 05:31:53 ID:???
それ、クラスである必要があるコードでなかったりしないか
896nobodyさん:2009/11/10(火) 06:59:46 ID:???
>>893
そういう概念の話は腐るほど聞いても、じゃあいざ実装しようとすると
あれどれがDogでAnimalなんだっけ、いやそもそもクラスにする必要あるのかこれ?
と思考の海に沈む

まっとうなOOP本読めばいいんだろうけど
897nobodyさん:2009/11/10(火) 08:03:12 ID:T58KxytE
同じような方向の質問になるけど
PEARとかでよくファクトリークラス(?)を使って
クラスからクラスを作ってたりするけど、
あれってどういう理由があるの?
898nobodyさん:2009/11/10(火) 09:28:55 ID:???
899nobodyさん:2009/11/10(火) 09:41:10 ID:lbGcCYju
自分はフォームのパーツを生成する機能をまとめてクラスにしてるんだ
$fmPartsCrass->getUTypePD(10); //DBの登録値10をselectedとするユーザタイプのプルダウンを作る
$fmPartsCrass->uTypeToTXT(10); //フォームの確認画面で、選択値10のユーザタイプを出力する
クラス内のinit()ではプルダウン元になるname,valueの二次元配列を沢山読み込ませてる感じ。
こんなので良いのかな? クラスの使い方って。。
900nobodyさん:2009/11/10(火) 09:56:23 ID:???
俺の好みで言うと、コーディング時に種類が決まってるパーツは
new classNameで明示的にインスタンス化したいな。
パラメータ指定してインスタンス作ってからaddとかするように
書くだろうな。
ま、好みの話だからさらっと流してくれ。
901nobodyさん:2009/11/10(火) 09:57:06 ID:???
今気づいたがクラスはCrassじゃなくてClassだなw
アホすぎワロタ
902nobodyさん:2009/11/10(火) 10:04:28 ID:???
>>895
関数にすると値渡しが面倒なんだわ
特にお金関係は。
903nobodyさん:2009/11/10(火) 10:25:02 ID:???
>>895は「最初は関数で作って」おけるような物なら、
クラス化する必要なくね?って事だと思う。

俺はそうは思わないけど。
904nobodyさん:2009/11/10(火) 10:51:32 ID:???
ちょっとでも楽になるか、それともクラスにする手間を惜しむか、
必要があるかどうかは結局その人の感覚次第でしょ
905nobodyさん:2009/11/10(火) 11:05:09 ID:???
どっちが楽かも人によるしね。
でも、殆どの人にとって、クラス化は最初は楽じゃないんだよね。
だから壁を越えようとしない人も多いんだろう。

壁を越えた向こうには、素敵な楽園が広がって・・・ るわけでもないし。
待ってるのは次の壁と、無間壁越え地獄w
906899:2009/11/10(火) 11:50:11 ID:???
上で書いた例ってヘンですか?
自分じゃ間違ってないだろって気持ちと、これはfunctionを束ねただけのものじゃないかって
気持ちが半分半分です。
バラしたら関数として独立化できるものはclassにする必要ないのかななんて考えると
全部そうだろうという気持ちがでてくるし…
907nobodyさん:2009/11/10(火) 11:57:28 ID:???
>>906
functionを束ねただけのものですね
908nobodyさん:2009/11/10(火) 11:58:15 ID:???
変数名にCl(r)assの文字がある時点でおかしいと思うべきだな
909nobodyさん:2009/11/10(火) 12:01:22 ID:???
>>906
汎用性を持たせればいいんじゃね?
リスト意外にもラジオボタンや複数選択でも出力、クラス指定で見た目も変えれるとか
910nobodyさん:2009/11/10(火) 12:03:13 ID:HgEfIoEe
くだらない質問ですがよろしくお願いします。
ソースを見ていたら
<?= $test ?> という書き方をしている箇所を見つけました。
コードを書くときは<?php ?>で囲うと本には書いてありましたが
<?php print($test) ?> と、どう違うのでしょうか。
あまり見かけないということは何か問題のある記述方ですか?
911nobodyさん:2009/11/10(火) 12:03:50 ID:???
だから自分の基準は
 「素材があって、料理する方法が複数ある場合」
はクラスにするようにしてる
912nobodyさん:2009/11/10(火) 12:11:36 ID:???
>バラしたら関数として独立化できるものはclassにする必要ないのかな

これはその通り。ただ、

>全部そうだろうという気持ちがでてくるし…

こっちは、クラス使える言語でなら、そういうのはやめた方がいいぞ。
データってもんを無視すれば全部そうできるかもしれんけど。

「関数/手続きに(引数等で)データを渡す」だけで考えても一応全てのプログラムは書けるよ、確かに。
昔はそればっかだったし。
913nobodyさん:2009/11/10(火) 12:20:07 ID:???
>>910
マニュアル嫁
914nobodyさん:2009/11/10(火) 12:24:15 ID:???
>>910
前者はそろそろ問題になってきてる。
915nobodyさん:2009/11/10(火) 12:36:32 ID:???
別にクラスを 関数をひとくくりにするためだけに使ってもいいんだよ。
916nobodyさん:2009/11/10(火) 13:07:19 ID:n4Nrgy6L
class Oyabun{function buki(){echo "マシンガン";}}
class Kobun extends Oyabun{function buki(){echo "ピストル";}}
class zako extends Kobun{function buki(){echo "鉄パイプ";}}

クラスKobunからクラスOyabunのメソットbukiを呼び出してマシンガンって表示させることはできましたが
クラスzakoからクラスOyabunのbukiを呼び出してマシンガンと表示させる書き方がわかりません
直接クラスOyabunで呼ぶ出すのではなくzakoから呼び出す方法をどなたかご指導お願い致します
917899:2009/11/10(火) 13:11:58 ID:???
皆さんどうもありがとう
>>915
そうなんですか? そうだとしたら安心(?)しました
何度も同じコード書きたくなくて関数化してまとめてみようと思ったのがきっかけでした
クラスの継承とかpublic指定した変数の外部から参照とかしないんで、
複数の関数で使う変数の値やDB接続処理をinit()内部で定義すればいっぺんに書き換えられる、
まとめていつでも呼び出せる以上の利便性なんて感じないんですよね。それで十分だし。
何か損してるのかな。。
918nobodyさん:2009/11/10(火) 13:16:16 ID:???
言外の意図を読み取れないのかきみは
919nobodyさん:2009/11/10(火) 13:37:25 ID:???
>>916
なんか妙な継承だと思うんだな。子分は親分か?

>クラスzakoからクラスOyabunのbukiを呼び出してマシンガンと表示させる書き方がわかりません
雑魚が親分を使役するのか?

実はPHPはよく知らないが、
 Oyabun::buki();
で呼び出せない?


でもなぁ…
interface Kouseiin {
 public function buki();
 public function setOyabun($oya);
}
class Oyabun implements Kouseiin{略}
class Zako implements Kouseiin{
 private $oyabun;

 public function tasuketeOyabin(){
  $this->oyabun->buki();
 }
}

$chimpira = new Zako();
$chimpira->buki();
$chimpira->tasuketeOyabin();
920nobodyさん:2009/11/10(火) 16:32:26 ID:k/b4LSiu
よろしくお願いします。

function &set() {
     ↑このアンドマークの意味を教えてください。
921nobodyさん:2009/11/10(火) 16:45:26 ID:???
記述ミス
922nobodyさん:2009/11/10(火) 18:02:30 ID:hMuYWgxi
PDO::ATTR_PERSISTENT=>true として PDO::prepare を使った場合、prepare ステートメントは接続が維持されている限りキャッシュされていて、前回のキャッシュをphpが勝手に使ってくれるという動作をするのでしょうか?
DBサーバーはpostgresqlです
923nobodyさん:2009/11/10(火) 19:01:07 ID:???
>>922
PDOStatementのデストラクタで毎回削除してしまうようだね

ext/pdo_pgsql/pgsql_statement.c
> static int pgsql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)
> {
...
> #if HAVE_PQPREPARE
...
> if (S->is_prepared) {
> spprintf(&q, 0, "DEALLOCATE %s", S->stmt_name);
> res = PQexec(H->server, q);
924nobodyさん:2009/11/10(火) 19:03:05 ID:???
925nobodyさん:2009/11/10(火) 20:40:43 ID:k/b4LSiu
>>924
ありがとうございます。
こちらで質問して良かったです。
926nobodyさん:2009/11/10(火) 21:11:57 ID:Yr8QXJQk
>>923
ありがとうございます
しかし劇的に軽量化が出来ないかと思いましたが残念です
pgsqlで関数として定義にしておけば計量化したりしないものだろうか…
927nobodyさん:2009/11/10(火) 21:28:36 ID:???
君のシステムはDBの接続が継続してたら軽量化するの?
928nobodyさん:2009/11/10(火) 21:31:00 ID:Yr8QXJQk
そうですね、view使えばいいんですね。
ちゃんと勉強しましょう…。
929nobodyさん:2009/11/10(火) 23:50:57 ID:efP4W3lX
GoogleのようなAND検索を実装しようとしています。

以下のように空白で区切ろうと考えています
preg_split('/\p{Z}+/', $query);

単純な区切りでは問題ないのですが、
test aaaa => array('test', 'aaaa');

以下のように一単語として検索したい場合の正規表現が分かりません。
"test aaaa" test => array('test aaaa', 'test');

分かる方お願いします。
930nobodyさん:2009/11/11(水) 01:00:21 ID:???
>917
クラスの存在意義からして分からないならば、下手にクラスを作らず、まずはとにかく片っ端から関数化してみる事を薦める。
お勧めのトレーニングメニューは
・グローバル変数は一切使わない
・グローバルで行うのは関数呼び出し1つのみ
 つまり、たとえばmain();という関数の呼び出しだけにして、すべてはこの関数の中で行う
・再代入は集約変数(foreachで合計を出すとか)以外一切禁止
 つまり、変数には一度だけしか値を代入してはいけない。値を変えたくなった場合も、別の変数に代入しそっちを使う
・3階層以上のネストを一切作らない(慣れてきたら2階層)
 特に、caseの枝では即return以外のことを一切行わない
・20行を超える関数は分割できないか検討する
 (慣れてきたら10行くらいで切る)
・関数を追加することで一時変数を除去できるならば、常に関数を追加し、変数を除去する事を選ぶ

このあたりを行うと、「よい設計」が見えてくるはず。
931nobodyさん:2009/11/11(水) 06:09:15 ID:wK8ir+xV
質問よろしくお願いします。
DBから商品名を全て呼び出し表示する→呼び出した商品をクリックすると、その商品のIDを持って次のページへジャンプ。
次のページでは、IDを元に商品の詳細をDBから呼び出して表示する。

ということがやりたいです。
ですが、最初のページでfetchを使って商品名を呼び出した時に、同時にIDをSESSIONに格納したのですが、ループの度に新たなIDが格納されてしまうため上手くいきません。

どうすればよいのでしょうか?
932nobodyさん:2009/11/11(水) 06:34:31 ID:???
最初のページではユーザがどの商品をクリックするするか分からないと思うんだけど
なんでセッションにID入れるの?
933nobodyさん:2009/11/11(水) 09:41:07 ID:wK8ir+xV
>>932
例えば商品が「にんじん」「りんご」「バナナ」で、それぞれのIDを1、2、3とした時に、「りんご」を選んだらSESSIONに2が代入されるのかな?と思ってたんです。
934nobodyさん:2009/11/11(水) 09:59:19 ID:???
>>933
最初のページのHTMLはどうなってるんだ?

単に次のページでPOSTで受け取った値を使って
DB問い合わせすればいいだけだとおもうが
935nobodyさん:2009/11/11(水) 10:58:34 ID:???
phpをcgiじゃなくモジュール版で使っている場合でも、MySQLのlockは通用しますか?
936nobodyさん:2009/11/11(水) 11:37:39 ID:???
通用します
937nobodyさん:2009/11/11(水) 20:39:56 ID:pZ2zz0+5
小規模な掲示板程度ならDBはSQLiteで十分かな?、MySQLもつかえるけど
938nobodyさん:2009/11/12(木) 00:32:56 ID:Oiy0tVLq
/dev/ttyUSB0のポートでシリアル通信したいのですが、何か方法はありませんか?

Javaだとjava communication apiでできると思うのですができればPHPで実現したいので
何かあればよろしくお願いします
939nobodyさん:2009/11/12(木) 10:15:34 ID:???
マニュアル見ればそれに関するページが載ってるのになんで見ないんだろう
940nobodyさん:2009/11/12(木) 10:26:50 ID:???
>>929
初心者が無理に実装しても質問づくしで何も進まない
黙って形態素解析でも使ってろ
941nobodyさん:2009/11/12(木) 10:28:15 ID:IzKnxBIb
smartyはテンプレートと聞きました
smartyほど多機能でなくていいのでシンプルなテンプレートって他にありませんか?
942nobodyさん:2009/11/12(木) 10:50:49 ID:???
>>941
検索すれば腐るほどあるから、好みでどうぞ。

smarty派生で軽いのはこんなのとか。
Template Lite: The smaller, faster templating solution
http://templatelite.sourceforge.net/
943nobodyさん:2009/11/12(木) 15:30:57 ID:0oRqbSW8
>>940
すでに運営してます。
正規表現が解決すれば自分で実装しますので、ほかに質問はありません。
正規表現は初心者といったところでしょうか。
944nobodyさん:2009/11/12(木) 15:34:39 ID:???
やっと規制解けたわ…

>>929
$query = 'foo "bar bar" baz';
preg_match_all('/"([^"]+)"|\P{Z}+/u', $query, $matches, PREG_SET_ORDER);
$phrases = array_map('end', $matches);
var_dump($phrases);
945nobodyさん:2009/11/12(木) 20:49:23 ID:???
(array(1,2,3))[0] みたいなことってできる?
946nobodyさん:2009/11/12(木) 20:59:13 ID:???
試してできないなら出来ないんじゃね
947nobodyさん:2009/11/12(木) 22:38:29 ID:???
>>945
できねえよks
948nobodyさん:2009/11/12(木) 23:53:51 ID:TjILNw+p
オープンPEARっていい感じのライブラリとかありますか?
PEARはブログで紹介されてるのをよく見るけど
Openの方は見たこと無い
949nobodyさん:2009/11/13(金) 00:26:44 ID:???
Openpearって海外で使われてるのか?
950nobodyさん:2009/11/13(金) 08:59:06 ID:K/C+ymkA
サイトのカウンターなんかは
imgでcount.phpを呼び出して一枚のイメージにして表示してることがあるけど
普通のレンタルサーバ借りてるところでいちいち画像結合してカウンタ表示させるのって
避けた方がいいですか?
951nobodyさん:2009/11/13(金) 09:58:58 ID:???
問題無いよ
952nobodyさん:2009/11/13(金) 10:59:46 ID:???
>>949
日本でもマイナーな部類なのに海外の先生方が使うはずねえだろks
953nobodyさん:2009/11/13(金) 11:13:50 ID:???
PHPコードからMySQL使ってブラウザに出力したのですが、文字化けします
954nobodyさん:2009/11/13(金) 11:15:09 ID:???
my.iniの文字コードの設定とか確認しろ屋ksg
あとphpとmysqlのバージョンぐらい書け出来損ない
955953:2009/11/13(金) 11:17:47 ID:TXCm92bg
ごめんなさい、途中なのに送信してしまいました・・・

PHPコードからMySQL使ってブラウザに出力したのですが、文字化けします
OSはWindows XPで、php.iniの設定はdefault_charset = Shift_JIS、my.iniの設定はdefault-character-set=sjisです

PHP側で、
<?php
$s=mysql_connect('localhost','test','1234');
mysql_select_db('db1',$s);

$q=<<<EOT
SELECT bang,AVG(uria)
FROM tb
WHERE uria>=50
GROUP BY bang
HAVING AVG(uria)>=120
ORDER BY AVG(uria) DESC;
EOT;

$re=mysql_query($q);
while($kekka=mysql_fetch_array($re)){
print '社員番号:';
print $kekka[0];
print '売上平均:';
print $kekka[1];
print '<br />';
}
mysql_close($s);
?>
のようなコードを書きました
どのようにすれば文字化けを解消できるのでしょうか?
956nobodyさん:2009/11/13(金) 11:22:32 ID:???
社員番号も売上平均も数字じゃないの?
957nobodyさん:2009/11/13(金) 11:24:04 ID:???
skip-character-set-client-handshakeでもmy.iniに設定してろks
958nobodyさん:2009/11/13(金) 11:31:36 ID:TXCm92bg
>>956
SQL自体は数字と英字です
社員番号、売上平均という文字が文字化けします

他のコードですが、SQLiteでは文字化けせずに出るので、mbstringの設定がおかしいのではないと思います
959nobodyさん:2009/11/13(金) 11:37:12 ID:???
>>958
日本語読めますか?

my.iniの文字コードの設定とか確認しろ屋ksg
あとphpとmysqlのバージョンぐらい書け出来損ない
skip-character-set-client-handshakeでもmy.iniに設定してろks
960nobodyさん:2009/11/13(金) 11:40:50 ID:???
>>958
だったらMySQL関係ない
HTMLの文字コード宣言かスクリプトの文字コードが違う
961nobodyさん:2009/11/13(金) 11:43:35 ID:???
>>960
え?
962nobodyさん:2009/11/13(金) 11:47:37 ID:???
print '社員番号:';

これが文字化けするならDB関係無い
963nobodyさん:2009/11/13(金) 11:57:23 ID:TXCm92bg
>>962

単純に上記のコードだけの入力なのですが、HTMLの文字コード宣言かスクリプトの文字コードが影響しているのでしょうか?
それともmbstringの設定がおかしいのでしょうか?
一応、
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = auto;
mbstring.script_encoding = EUC-JP
が自分の設定です
上でも書きましたが、SQLite3ではこのような事は起きませんでした


>>959
書き込み中でした
skip-character-set-client-handshake設定しても変化なしです
PHP Version 5.2.10、MySQLは最新版で5.1です
964nobodyさん:2009/11/13(金) 12:02:48 ID:???
mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
mbstring.http_input = pass
mbstring.http_output = SJIS
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = auto;
;mbstring.script_encoding = EUC-JP
965nobodyさん:2009/11/13(金) 12:02:54 ID:???
>>963
スクリプト自体の文字コードとHTMLの文字コード宣言はどうなってる?
966nobodyさん:2009/11/13(金) 12:18:08 ID:TXCm92bg
>>964
すみません、そのようにコメントアウトしたのですが、改善されませんでした

>>965
ごめんなさい、あまり良く分かっていないもので、「スクリプト自体の文字コードとHTMLの文字コード宣言」という意味が分かりませんでした
上記のコードを、http://localhost/から行っただけです
<? php 〜 ?>の中に<html>コード等を記入したわけではないです
また、逆に<html>コード内で<?php 〜 ?>を記入したわけでもございません

それとも、何か他に「スクリプト自体の文字コードとHTMLの文字コード宣言」というのがあるのでしょうか?


967nobodyさん:2009/11/13(金) 12:25:10 ID:TXCm92bg
簡単なコードで試してみましたが、確かにDBの問題ではなく、PHPの問題だと分かりました

例えば、test.phpを作り、http://localhost/test.phpとすると

<? php
print 'Good Bye';
?>
とするとブラウザにはGood Byeと表示されますが、

<? php
print 'ようこそ';
?>
とすると、ブラウザには ???? と出力されます

どう解決すれば宜しいのでしょうか?
968nobodyさん:2009/11/13(金) 12:26:10 ID:???
>>966
スクリプト自体の文字コードというのは
そのphpのソースをエディタで書いて保存する時に、何の文字コードで保存しているかって事
969nobodyさん:2009/11/13(金) 12:37:37 ID:TXCm92bg
>>968

上記のコードは書籍の問題に載ってるコードなので、それをそのまま使ったので分かりません
一応右クリックしてプロパティとかで調べても自分には分かりませんでした

自分のテキストエディタはTeraPad使っているのですが、初期文字コードはSHIFT-JISになっているようです
保存文字コードは自動に設定されています
970nobodyさん:2009/11/13(金) 12:50:07 ID:???
>>969
php.ini変えたらwebサーバの再起動してる?
971nobodyさん:2009/11/13(金) 12:52:33 ID:???
TeraPadは使うな!!!!!!!!!!!!!!!!
サクラエディタUnicode版をおとなしく使え!!!!
972nobodyさん:2009/11/13(金) 13:00:04 ID:???
>>966
960で965じゃないけど、
>ごめんなさい、あまり良く分かっていないもので、「スクリプト自体の文字コードとHTMLの文字コード宣言」
>という意味が分かりませんでした
自分がよく分からないからといって、もらった回答をシカトするのは最悪の行為だと思うよ

以下のページなども参照のこと。
http://d.hatena.ne.jp/next49/20081107/p1
>指導教員が一番がっかりするのは、一生懸命指導した内容に対して無視されること。それが、故意あるいは
>そうでないとしても「無視した」という結果が重視されるという点をよく理解するべき。理解できない場合、納得で
>きない場合は必ず指導教員に問い合わせるのが重要。

で本題だけど、あと思い当たるのは、
970か、php.iniのコメントを外してないか、
違うphp.iniを編集してるか(phpinfo関数で確認)か、
Apacheの文字コードが変なことになってるか、など
973nobodyさん:2009/11/13(金) 13:13:01 ID:???
>>969
php.iniなどを見直したら、あとは出力する時に
content-typeもしっかり書くようにしてね

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<? php
print 'ようこそ';
?>
</body>
</html>
974nobodyさん:2009/11/13(金) 13:23:38 ID:LpZjQz1C
質問です。

post.phpから
data.txtへ

<img src="fds.jpg"><br>
<img src="ffgg.jpg"><br>
<img src="fdfgd.jpg"><br>
<img src="htrds.jpg"><br>

などとランダムな*.jpgを表示させる行を自動書き込みするようにして

<?php readfile("data.txt"); ?>
で表示させ、表示させたらdata.txtを空にしたい場合どう記述すれば良いでしょうか?

宜しくお願いします。
975nobodyさん:2009/11/13(金) 13:27:06 ID:???
宿題乙
976nobodyさん:2009/11/13(金) 13:30:31 ID:???
1)data.txtを生成する
2)data.txtを読む
3)読んだ内容をクライアントに送出
4)data.txt消す

簡単じゃん。
977nobodyさん:2009/11/13(金) 13:38:12 ID:TXCm92bg
>>972
?????
しかとしてませんよ?
>>963で「HTMLの文字コード宣言かスクリプトの文字コードが影響しているのでしょうか? 」って書いてます

>>957の事でしたら、書き込み中だったのと、それについて調べたり実行中だったので
後でちゃんと謝っています

php.iniのパスコードなど全部見直しましたが、間違っていませんでした


>>970
reStartは一応毎回しております


>>973
わかりました、今からちょっと試してみます
978nobodyさん:2009/11/13(金) 13:45:01 ID:???
ブラウザの 表示のエンコードのとこが今どうなってて、変えて文字が出る選択はない?
979nobodyさん:2009/11/13(金) 13:53:56 ID:TXCm92bg
>>971
なんか色んなところでTeraPadは使うなという事を書かれているので、ちょっと試してみます


>>978
自分、FireFoxの一番新しいのを使っているのですが、変えても文字化けは変わりませんでした

しかし、今昼食を食べてから、>>968さんのアドバイスを受けて、TeraPadの保存文字コードをEUCに変えたところ、やっとブラウザにて日本語が表示されました
今までデフォルトの自動ばかりでやっていたのですが、保存文字コードの重要性を初めて実感いたしました
980nobodyさん:2009/11/13(金) 13:58:55 ID:???
Content-TypeのcharsetはShift-JISにしてるんじゃなかったの?
981nobodyさん:2009/11/13(金) 13:59:03 ID:TXCm92bg
今考えてみて分かったのですが、>>964で自分はEUC-JPを設定しているようです
だからTeraPadでEUCで保存しなければ駄目だったのですね?
こういう部分の知識が乏しかったようです

色々と勉強になりました
皆様、有難うございました
982nobodyさん:2009/11/13(金) 14:03:17 ID:TXCm92bg
>>980

>>973の教えてくれた方法でしょうか?
それとも自分が<html>を使う時のことでしょうか?
またはphp.iniやブラウザなどの設定でしょうか?

>>973さんの教えてくれたコードをそのまま実行してみたのですが、エラーも出ずに、真っ白なままで出力されました

また、今回ちゃんと日本語が出たコードは>>955のコードをそのままhttp://localhost/から実行しました
983nobodyさん:2009/11/13(金) 14:07:28 ID:???
いや、ごめん、もういいよ・・・
984nobodyさん:2009/11/13(金) 22:04:04 ID:qPMadgrN
>>944
ありがとうございました。無事に実装出来ました。
この正規表現は私の力では無理でした。
985手柄横取りくん:2009/11/13(金) 23:54:45 ID:???
いいってことよ
986nobodyさん:2009/11/14(土) 04:44:15 ID:???
>>963とか>>964みたいなmbstringの変な設定が出回ってるのって、何が原因なんだろうな
987nobodyさん:2009/11/14(土) 06:33:14 ID:???
UTF-8に統一したらいいのに
988nobodyさん:2009/11/14(土) 06:48:33 ID:???
>>986
携帯は殆どS-JISなんだそうな。
989nobodyさん:2009/11/14(土) 07:15:19 ID:???
あうはUTF-8でもEUCでもほとんど関係なく使えるね、CSSも読んでくれる。でもDoCoMoは・・
990nobodyさん:2009/11/14(土) 09:10:46 ID:???
SJISに統一するべきだろ UTF8は転送量が増える。
991nobodyさん:2009/11/14(土) 09:14:37 ID:???
絵文字を扱っていればUTF-8が楽
PHPもDBもついでにOSもUTF-8に統一しておいて
出力の時にキャリア別にsjisかutf-8かわけるだけ。

cssはHTML_CSS_Mobileを使うと外部CSSをインラインにしてくれる。

992nobodyさん:2009/11/14(土) 11:54:26 ID:???
SJIS(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
993nobodyさん:2009/11/14(土) 12:18:54 ID:???
UTF-8に統一して、出力するときに必要に応じてエンコードを換えるのが一番楽かと思った
994nobodyさん:2009/11/14(土) 13:03:45 ID:???
携帯向けも今はもうUTF-8で問題なくね
mailtoのsubject,bodyは細工せんとだめだけどね
ただむしろ携帯向けは簡単な細工で済むけど
PC向けはあっちを立てればこっちが立たずで困る
995nobodyさん:2009/11/14(土) 14:47:55 ID:???
HTML_CSS_Mobileってopenpearの?
996nobodyさん:2009/11/14(土) 15:08:11 ID:GdfWs/uY
プログラミングで大切じゃないのって5つの項目の中のどれですか?

1. 「わかりやすく書こう」
2. 「ライブラリ関数を使おう」
3. 「入力の妥当性,現実性をテストしよう」
4. 「速く動くように書こう」
5. 「意味のある変数名を使おう」
997nobodyさん:2009/11/14(土) 16:11:30 ID:3aAklpl5
WindowsでPHP4を使ってるのですが
move_uploaded_fileでアップロードしたファイル(例えば画像)をブラウザで閲覧しようとすると
「このページを表示する権限がありません」となってしまいます
もともと置いてある画像は問題なく見ることができます
何がいけないのでしょうか?
998nobodyさん:2009/11/14(土) 16:47:53 ID:???
PHP4を使うことが原因w
999nobodyさん:2009/11/14(土) 16:58:17 ID:3aAklpl5
なるほど・・・しかし使ってるスクリプトがphp5に対応してないんです・・・
PHP4で直すことってできませんか?
1000nobodyさん:2009/11/14(土) 16:59:40 ID:???
なおせよwwwwwwwwwwwwwwwwww
いまどきphp4使ってるとか時代後れ杉wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。