2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :nobodyさん:2008/08/16(土) 12:01:25 ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

2 :nobodyさん:2008/08/16(土) 12:02:47 ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/


3 :nobodyさん:2008/08/16(土) 12:03:41 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://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/


4 :nobodyさん:2008/08/16(土) 12:07:22 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プログラムとして実行された結果になる。

5 :nobodyさん:2008/08/16(土) 12:08:40 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に保存?
 → 好きにしてください


6 :nobodyさん:2008/08/16(土) 12:11:30 ID:???
>>1

7 :nobodyさん:2008/08/16(土) 13:45:40 ID:???
ちょいと早すぎだな。
スレ立ての間合いってのが、難しいんだな、これが。

8 :nobodyさん:2008/08/16(土) 15:10:25 ID:???
別に早くないだろ980過ぎれば妥当
20レス分ならすぐ埋まるだろ
たまに950ぐらいで立てる早漏は死ねばいいけどな

9 :nobodyさん:2008/08/16(土) 17:12:50 ID:???
即死判定があるから980は速すぎではない

10 :nobodyさん:2008/08/16(土) 20:21:04 ID:B1NfK9Ga
あのー ファイルへの複数行書き込みって
配列でやったらまずいんですかね?

エラー出て困ったやんです

11 :nobodyさん:2008/08/16(土) 20:25:32 ID:???
意味不明

12 :nobodyさん:2008/08/16(土) 20:33:27 ID:B1NfK9Ga
ファイルへの複数行書き込みですってばよ!(ナルト風)

13 :nobodyさん:2008/08/16(土) 21:03:10 ID:???
int fwrite ( resource $handle , string $string [, int $length ] )

14 :nobodyさん:2008/08/16(土) 21:19:54 ID:???
>>13 見て分かるとおり引数にはstring型
foreachでもimplodeでも何でもいいからstringにして書き込め〜


15 :nobodyさん:2008/08/16(土) 21:51:18 ID:KxVAt7PL
質問です。

fopenかrequireで、文字列を読み込んで出力する際、
どれくらいオーバーヘッドに差があるでしょうか?


例えば、

$fp=fopen("./hoge.txt","r");//中身は「hogege」
$str=fgets($fp);
echo($str);//hogege

と、fopenを使う処理と、

require("./hoge.php");//中身は「define("HOGE","hogege");」
echo(HOGE);//hogege

のように、requireで読み込んで処理をする場合とを比べた場合、
どちらが早いのでしょうか?

16 :nobodyさん:2008/08/16(土) 22:09:18 ID:???
10万回くらいループして計ってみれば?

17 :nobodyさん:2008/08/16(土) 22:10:06 ID:???
まぁどうみたって前者のほうが遅いけど

18 :nobodyさん:2008/08/16(土) 22:45:14 ID:???
mb_ereg_replace('$', 'tail', 'hoge');
とすると hogetailtail が返ってくるんだけど、これバグがなにか?
ereg_replace('$', 'tail', 'hoge');
なら hogetail。
mb_ereg_replace('^', 'head', 'hoge');
なら headhoge とちゃんとなるんだが

19 :nobodyさん:2008/08/16(土) 23:10:43 ID:???
preg_replace も変だ。
preg_replace('/$/', 'TAIL', 'hoge')
なら hogeTAIL だけど
preg_replace('/$/', 'TAIL', "hoge\n")
だと hogeTAIL\nTAIL
ちなみに
preg_replace('/$/', 'TAIL', "hoge\nhoge\n")
は hoge\nhogeTAIL\nTAIL



20 :15:2008/08/16(土) 23:59:46 ID:KxVAt7PL
どうも、15です。
お答えいただいた皆様、ありがとうございます。

>>16さん
fopenやrequireしてある処理を別ファイルに記述し、
それをexecで呼び出す処理をループしました。
10万回回してる時にちょっと心が折れたので1000回にしてみました。

結果・・・
fopen:2m9.952s
require:2m10.088s

でした。
10万回ループさせたらまた違ってくるでしょうが、
バッチ処理で利用する訳でもないので、運用が楽な方でいいじゃーん!
という答えになりました。

>>17さん
17さんがそう思った理由は何でしょうか?
カーネルの仕組みなどを深く理解していないので、
私では判断できませんでした・・・。

21 :nobodyさん:2008/08/17(日) 00:53:18 ID:???
>>18-19
まずは環境を書けと
>>20
大差がない場合は、PHPのバージョンやコンパイル環境、読み込むファイルの長さで結果が変わってくるのでそんなの気にするな。
書きやすい方でどうぞ。

22 :nobodyさん:2008/08/17(日) 01:20:10 ID:???
>>18-19
そりゃあ行末$を処理した後のカーソル位置次第だろう。

23 :nobodyさん:2008/08/17(日) 02:11:08 ID:???
>>15 >>20
requireの方がオーバーヘッドが増加

require/includeはPHPソースとして読み込む為、Zendに渡す分遅くなる
core内ではfopenと同じ処理だからfopenの方が遅くなることは考えにくい



24 :nobodyさん:2008/08/17(日) 03:53:53 ID:???
まずはお前ら前スレ使い切れな
http://pc11.2ch.net/test/read.cgi/php/1216291372/

25 :18:2008/08/17(日) 05:02:21 ID:???
>>21
php4 でも php5 でもなるから、既知すぎるのかと書かないでしまった。めんご。
php4.4.4 と php5.2.0

>>22
カーソル位置?そのカーソル位置はどうやってこの関数で操るの?
ちなみに $ は行末ではなく、最後尾を意味します。
行末と認識されることが多いのは、sed が行単位の処理をするからです(行の最後尾 == 行末)

26 :nobodyさん:2008/08/17(日) 08:41:31 ID:???
>>18
mb_ereg* は ereg* のラッパーじゃなく鬼車を使ってるみたいだが
なんのせいで挙動が違うのかはわかんね
詳しい人に任せるわ

preg_replace() についてはマニュアル通りの結果
http://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php
> デフォルトで、PCRE は、検索対象文字列を単一の行からなるとして処理します。
> (中略)「行末」メタ文字 ($) は、文字列の最後、
> または (D 修飾子が設定されていない場合) 最後にある
> 改行記号の前のみにしかマッチしません。

で、質問の答えにはならないが
UTF-8縛りで困らないなら preg_replace() に乗り換えとけ
互換元の ereg_replace() はPHP6でPECLへ島流しだしな


27 :18:2008/08/17(日) 08:59:27 ID:???
>>26
> D (PCRE_DOLLAR_ENDONLY)
>   この修飾子を設定すると、パターン内のドルメタ文字は、検索対
> 象文字列の 終わりにのみマッチします。この修飾子を設定しない
> 場合、ドル記号は、 検索対象文字列の最後の文字が改行文字で
> あれば、その直前にもマッチします。 この修飾子は、m を設定して
> いる場合に無視されます。 Perl には、この修飾子に等価なものは
> ありません。

つまり、この D を使わないと、2回マッチするっていうことみたいね。
なんだろこれ。真似した perl がおかしいのかな。
確かに、perl も hoge\nhogeTAIL\nTAIL となる。


28 :nobodyさん:2008/08/17(日) 10:33:01 ID:???
php で構文チェックっつーかなんとかできないもんですかね?
error_reporting だと、実行された箇所しかチェックしないので、
全ての箇所を実行するテストケースをかかないといけない。
全体のチェックを一発でしてほしい。
この変数は定義されていないよ、ぐらいのチェックでもかなり楽になるのですが。

29 :nobodyさん:2008/08/17(日) 11:25:11 ID:???
E_STRICT

30 :nobodyさん:2008/08/17(日) 12:14:08 ID:???
いや、だから error_reporting だと・・・

31 :nobodyさん:2008/08/17(日) 12:39:38 ID:???
E_STRICT

32 :nobodyさん:2008/08/17(日) 13:05:11 ID:???
>>18
テキストファイルの行は 任意長の文字列 + (改行 or EOF) になる
利便性からそれに合わせて$は改行直前とEOFにマッチする
件の "hoge\n" は "hoge" + 改行 と "" + EOF の2行
2行だから2回マッチする、自然だろ?

>>28
動的言語の静的チェックは面倒で誰も手を出してくれない
PHPUnitのコードカバレッジ率見てニヤニヤするのが一番でしょう


33 :nobodyさん:2008/08/17(日) 13:54:33 ID:???
>>32
そしてm(マルチライン)オプションがあれば
改行コードが除かれるから1回だけマッチっと
代わりに各行の行末が$でマッチするが・・・


34 :nobodyさん:2008/08/17(日) 13:58:18 ID:???
>>28
php(CLI)の「l」オプションか「Phing」でも使っとけ

35 :18:2008/08/17(日) 14:04:58 ID:???
>>32
でも "hoge\nhoge\n"
は hoge\nhogeTAIL\nTAIL になるでしょ?
hogeTAIL\nhogeTAIL\nTAIL じゃなくて。
だからやっぱり $ は最後尾と考えて
hoge\nhoge\nTAIL
になるほうが自然だと思うデス。


36 :nobodyさん:2008/08/17(日) 14:21:45 ID:???
>>32
>動的言語の静的チェックは面倒で誰も手を出してくれない
ふーむ困ったもんだ
>>34
-l もまた違うでしょ?E_ALL のメッセージを実行していない箇所に対して出してくれるわけじゃない。

以下のコードで、hoge(); を呼ばなくても hoge(); を読んだときと同じ警告を出してほしい。
----
<?php
error_reporting(E_ALL|E_STRICT);
function hoge()
{
    print $hoge;
}
?>
----
perl なら use strict; あるのにねぇ・・・。
&func(); 呼ばなくても警告。
----
use strict;
sub func {
    print $hoge;
}

37 :nobodyさん:2008/08/17(日) 14:23:04 ID:???
>>34
Phing って http://phing.info/trac/ コレ?
コレでなにかできるの?

38 :nobodyさん:2008/08/17(日) 16:36:26 ID:jFnyVPnS
セッションのGCに時間がかかっても、
ページの出力には問題ないですか?

39 :nobodyさん:2008/08/17(日) 17:38:04 ID:???
ログ取ってみたら、GCが走るのは出力後ではなく、
セッションを読んだ直後でした
時間かかったらダメってことですね
何このあほな実装・・

40 :nobodyさん:2008/08/17(日) 17:55:08 ID:???
フォームからアップロードしたファイルにランダムな文字列を割り当てて、そのファイルにリンクさせるにはどうするの?

41 :nobodyさん:2008/08/17(日) 18:00:58 ID:???
http://aaa.com/cgi これを直接アクセスすると403でかかる
しかしgoogleでリダイレクトさせればこれを回避できます
それをphpスクリプトでやりたいのですが
どのようにすればよいでしょうか?
ちなみに自分のHPなのですがサーバー側が勝手に直接リンクを弾いているんです
リファラ偽装してアクセスできますでしょうか?

42 :nobodyさん:2008/08/17(日) 22:18:28 ID:???
html上でクリックされたリンクの回数をDBに保存するphpで作りたいんですがどうすればいいんでしょうか。
http://***.com/というサイトをカウントする場合にhttp://***.com/?abcのように
リンク先に飛ばす前に自サイトでクリック情報を通してからだとURLがすっきりしないので、
じかにhttp://***.com/に飛べて且つクリック数をカウントしたいのですが。
説明が下手ですいません、よろしくお願いします。


43 :nobodyさん:2008/08/17(日) 22:29:01 ID:???
>>42
作りたい?まずはどこまで作ったん?
そこからスタートでしょ

44 :nobodyさん:2008/08/17(日) 22:40:33 ID:???
>>42
じかに飛んじゃったらカウントのしようもない

45 :nobodyさん:2008/08/17(日) 22:48:34 ID:???
>>42
飛んだ先でカウントしてもらうとか?むろん、プログラムでよ。

46 :nobodyさん:2008/08/17(日) 22:49:07 ID:???
直にってのが意味わからんな
phpを埋め込みたいんかな

47 :nobodyさん:2008/08/17(日) 23:07:11 ID:???
>>18
シングル/マルチラインモードによらない
文字列の始端終端にマッチするための
\A \z がちゃんと用意されてる
$が用意された意図と>>18のやりたい事が合わないだけ


48 :nobodyさん:2008/08/18(月) 01:22:57 ID:???
>>47
ereg なら >>18 の意図通りなんだろ。
わざわざ D をつけたとも書いてあるし。

49 :nobodyさん:2008/08/18(月) 02:04:33 ID:???
>>47-48
それでもpregで\A \z を使うのが賢いな
意図しない動作は避け、確実な方を取ればいいし
深く追求する必要性があるなら別だが


50 :nobodyさん:2008/08/18(月) 04:13:57 ID:???
>>42
アホなこと思いついた!
アンカーにonclickイベントを入れてxmlhttprequestでカウントアップする。

51 :nobodyさん:2008/08/18(月) 04:32:40 ID:???
URLがすっきりて(笑)

52 :871:2008/08/18(月) 12:34:01 ID:GttUmTGH
質問させて下さい
php5を使用しています。
function fnc(
$a = ""
){

}

このような普通のファンクションについてなのですが、
・fnc();
引数が何も送られていない

・fnc($test);
testと言う変数が送られているが、中身は未定義

・$test = "";
fnc($test);
testと言う変数が送られているが、中身は初期化

このように引数を送った場合、それぞれの状態を$aで判断することはできますでしょうか?
ドキュメント等にて調べてみたのですがこのような変数に関する微妙な扱いは見受けられませんでした。
何卒宜しくお願い致します。

53 :nobodyさん:2008/08/18(月) 12:55:42 ID:???
func_get_argsとかemptyとかis_nullとか使えばいいんじゃ?

54 :nobodyさん:2008/08/18(月) 13:36:06 ID:???
>>53
有り難う御座います。
調べてみます。

55 :nobodyさん:2008/08/18(月) 15:25:11 ID:3TodphYx
もう4年以上前からEclipseを使って、phpの開発をしているのですが、
現在、便利なphpの開発環境を教えて頂けませんでしょうか?

特に不自由がなかったので、4年も同じものを使っているのですが、
もっと便利なものがあれば、乗り換えたと思っています。
有償でも5万円位までなら出してもいいと思っています。

不自由がないと書きましたが、あえて言えば実行しながらデバックが出来ないことです。
当時のeclipseでもプラグインはあったのですが、どうもうまく動作せず、
結局、echoとexitを使ってデバックしています。

ちなみに、eclipse2.1.3です。多分、古いと言われるかもしれませんが。

56 :nobodyさん:2008/08/18(月) 15:32:10 ID:???
Eclipse 3.4 + PDT

57 :nobodyさん:2008/08/18(月) 15:34:49 ID:???
>>55
そんな長文書く前にバージョンアップしようよ
http://www.eclipse.org/pdt/

58 :nobodyさん:2008/08/18(月) 15:49:52 ID:???
糞ワロタ
無償IDEのバージョンうpもできない人間は開発やめちまえ

59 :nobodyさん:2008/08/18(月) 16:31:51 ID:xd5mcyZy
インストールに関してはここのスレで質問していいですか?

60 :nobodyさん:2008/08/18(月) 16:39:22 ID:xd5mcyZy
>>59
もちろんPHPのインストールです。

61 :nobodyさん:2008/08/18(月) 16:44:24 ID:s6NDbHja
>>55
俺も3.4+pdtが良いと思う
phpeclipse遅すぎてつらい
pdtもバージョン2からかなりよさげ

あと金出すならzendとかnetビーンズ?

62 :nobodyさん:2008/08/18(月) 16:47:22 ID:???
>>52
関数外の事を知ろうとするのが間違ってるだろ
もし$aの状態を知りたいのであればis_nullとか === ''とか使えば良い

63 :nobodyさん:2008/08/18(月) 18:10:38 ID:???
>>59
とりあえず言ってみな

64 :nobodyさん:2008/08/18(月) 18:18:56 ID:xd5mcyZy
>>63
すいません。
Linux版の質問スレに書いてしまいました。
あっちでも反応は得られていませんが、、、。

http://pc11.2ch.net/test/read.cgi/linux/1217051698/676

この後、PHPをソースでインストールしてみましたが、やはりだめでした。

・ httpd.confを編集(以下の2行)
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
・ httpd再起動

の他に特に設定することってありますでしょうか?

65 :nobodyさん:2008/08/18(月) 18:30:40 ID:xd5mcyZy
朝sdふぁsdふぁsdふぁsdふぁsdふぁsd

キャッシュ見てたあああああああああああああああああああああああああああああああ

66 :nobodyさん:2008/08/18(月) 18:31:09 ID:???
>>64
yumはどのパッケージを使ったかとか、参考にしたサイトがあるか、とか
やったことについて書いた方がいい

ぱっと思いつくのはApacheモジュールになってないパッケージを使ったってことか
まずはApacheインストールディレクトリのmodulesにlibphp5.soがあるかどうかの確認だな

L板ほっとくとマルチになるから注意だぜ

67 :nobodyさん:2008/08/18(月) 18:32:46 ID:???
>>65
乙としか言いようがないな
ついでに>>66も乙

68 :nobodyさん:2008/08/18(月) 18:35:42 ID:???
>>66-67
ありがとうございました。

69 :nobodyさん:2008/08/18(月) 20:59:21 ID:3TodphYx
>>56-61(>>59>>60を除く)
レスありがとうございます。
ecplipse使っている人が多いので、安心しました。
バージョンアップが面倒だったのですが、
コードインスペクタもついていると知って、
週末にでもバージョンアップしてみます。
毎回、関数名が分からずに正引きしていたので、助かります。

お世話になりました。

70 :nobodyさん:2008/08/18(月) 21:11:47 ID:???
>>69
いや、あなたがEclipseを使っているのでアドバイスしただけで、
今時Eclipseを使っている人は余程の物好きです。

あんなに重くて、メモリーを食うプログラムを
デバック処理をしようとするとすぐに固まって、
業務には使い物にならないよ。

海外で英語が苦手じゃないならx-php-laboとかおすすめだが。

71 :nobodyさん:2008/08/18(月) 21:40:29 ID:???
おお、xLabo使っている奴がいた。
コードの打ち込みが半分以下になるから、
俺も愛用している。誰か日本語のパッチ作らないかなあ。

72 :nobodyさん:2008/08/18(月) 23:00:39 ID:RVA7Wvm+
phpでEclipseって。
男なら手打ちでいこうぜ


73 :nobodyさん:2008/08/18(月) 23:27:41 ID:???
食わず嫌いって哀れだね

74 :nobodyさん:2008/08/18(月) 23:39:56 ID:???
Eclipseはないな、うん

75 :nobodyさん:2008/08/19(火) 01:09:10 ID:???
>>71
無いなら自分で作ればいいよ

翻訳するのが面倒だから丸投げしてるんだろうけども・・・

76 :nobodyさん:2008/08/19(火) 01:26:11 ID:???
>>52

・fnc($test);
testと言う変数が送られているが、中身は未定義

呼び出し側でエラー出ないか?

fnc(""); とfnc()の区別はつけられないと思う。

というか区別しないように$a=""と書くのではないだろうか?


77 :nobodyさん:2008/08/19(火) 02:17:55 ID:???
Javaやってる身としてはEclipse慣れしてるからEclipseが一番使いやすいな

78 :nobodyさん:2008/08/19(火) 08:52:10 ID:???
>>77
しかし、JavaはSunだろ。それに対してEclipseは元々ライバルのIBMの製品。
それでも、使うのかよ。

79 :nobodyさん:2008/08/19(火) 09:02:07 ID:???
>>52
>>76
Notice非表示なら何もでない
そもそもNULLという物がある事は知ってるか?

function fnc($a=""){
if(is_null($a)){
echo "ヌル";
}else{
echo "ストリング";
}
}


80 :nobodyさん:2008/08/19(火) 09:14:32 ID:+fWBJARS
値を返す必要がない関数ってvoidでいいのでしょうか?

functionにreturnメソッドがないと気持ち悪いと感じて、
いつも
return NULL;
としているのですが、
やはり変ですか?


81 :nobodyさん:2008/08/19(火) 09:21:35 ID:???
>>80
returnなしでvoidになるから深く気にしない方がいい
どうしても返したいなら成功時true、失敗時falseみたいにしてはどうか
少なくともNULLはないと思う

82 :nobodyさん:2008/08/19(火) 09:36:03 ID:+fWBJARS
>>81
お返事ありがとうございます。
phpの場合、型があいまいで、コンパイルエラーもない
値を返却しないとセキュリティー的にまずいかなぁとも思ったのですが、
true/falseならいいですね。それで実装してみます。
ありがとうございます。

83 :nobodyさん:2008/08/19(火) 10:36:47 ID:???
Eclipse以外ないわ…

84 :nobodyさん:2008/08/19(火) 11:07:28 ID:???
php_editor使ってるなぁ
ハイライトくらいしか求めるものがないから、軽量なのを選択したって感じ
一応コード補完も自動じゃないにしろあるし(ctrl+space

eclipseの機能の豊富さと拡張性はいいな
メモリ食いなのがどうもなぁ・・・JavaのGCが嫌いと言う個人的な意見だが(スレ違い割愛


85 :nobodyさん:2008/08/19(火) 11:43:59 ID:???
個人開発で個人サイトなのにZend Studio 5.5使ってる俺は勝ち組。
個々ファイルをちまちま編集するのに結構便利だったりするんだよね。
逆に得意とすべきプロジェクト部分が弱い感じ。。

Zend Studioの新版はEclipseベースでプロジェクトメインって感じだから乗り換えるにはちょっと勇気がいる。

86 :nobodyさん:2008/08/19(火) 12:02:03 ID:???
Javaのeclipseみたいに、メソッドの名前を修正すると、
一括して他のクラスが参照しているメソッドの名前を修正してくれたり、
警告を出してくれるようなものはないのかな?
実行時に参照してやっとエラーが出るのが、ちょっっと。

87 :nobodyさん:2008/08/19(火) 12:15:32 ID:???
修正前の名前でgrepすれば警告の代替になるわな

88 :nobodyさん:2008/08/19(火) 12:16:48 ID:???
>>87
Javaのeclipseなら、そんな面倒なことをせずに右クリックで一発なんだが。

89 :nobodyさん:2008/08/19(火) 12:18:53 ID:???
javaのたとえでPHPではできないんだが

90 :nobodyさん:2008/08/19(火) 12:26:25 ID:???
IDEに慣れきってるとgrep程度が面倒と感じるのか
だったら楽になるのを作ればいいんじゃね?

91 :nobodyさん:2008/08/19(火) 12:33:35 ID:???
>>90
作業効率を高めるためにIDEを使っているのに、
自分で作ったら逆に時間が掛かって本末転倒だろw?
死ぬの?

92 :nobodyさん:2008/08/19(火) 12:41:39 ID:???
>>91
業務で使ってるならZendでも買えば?
でなきゃずっとクレクレしてればいいと思うよ

93 :nobodyさん:2008/08/19(火) 12:42:32 ID:???
>>91
ほっとけ、どうせ>>90は暑さで頭がおかしくなっているか、もしくは元々おかしい。
なんでも自分でやろうして自滅するタイプ。
他人の作った物を信用せず、自分が一番だと思っているんだろ。
つまり、猜疑心が強く、逆にいえば、自己顕示欲が強い奴だ。
この手のタイプはプログラマーに多いが、
こういう奴は、大概ドキュメント書くのが下手。そしてプログラムにもコメントを書かない。
三項演算子を多用してプログラムを短くことに執着心と美学を感じている。
うざい、うざすぎる。暑いのが、更に暑くなる。

94 :nobodyさん:2008/08/19(火) 12:43:42 ID:???
お前もまともには見えないが・・

95 :nobodyさん:2008/08/19(火) 12:54:19 ID:???
反論できないやつはすぐ>>93みたいなこと書くんだよな

96 :nobodyさん:2008/08/19(火) 12:59:50 ID:???
レッテルを貼りたいお年頃ってやつですね、わかります

それはともかく、面倒なのも嫌、作るのも嫌なら自分で探してくるか
お金を払って誰かに作ってもらいなさいね
もしかして自分で探すのも時間がかかって本末転倒?

97 :nobodyさん:2008/08/19(火) 13:01:02 ID:???
>>95
ほっとけ。どうせ>>93は暑さで頭がおかしくなっているか、もしくは元々おかしい。

98 :nobodyさん:2008/08/19(火) 13:13:43 ID:???
>>96
> レッテルを貼りたいお年頃ってやつですね、わかります
お前自身がレッテル貼ってんじゃんw
自己矛盾にも気づかないんだろうなぁ。それとも新手の釣りですかw?

99 :nobodyさん:2008/08/19(火) 13:28:58 ID:???
おいおい顔真っ赤にしてレスしてんなよ^^;

100 :nobodyさん:2008/08/19(火) 13:47:24 ID:???
顔真っ赤な人が多いね
文章書く時に癖に気をつけないとね

101 :nobodyさん:2008/08/19(火) 15:10:20 ID:???
それぞれ求める環境は違うんだから、IDEに依存したって、ラインエディットを好んだっていいじゃん
希望を満たしたIDEを知ってるなら教えてやればいいし、ないならないでいい

まとめ厨の俺乙

102 :nobodyさん:2008/08/19(火) 15:35:33 ID:???
連想配列のソートは可能ですか?

$array = array(

1 => array("田中", 38),
2 => array("吉田", 67),
3 => array("渡辺", 11),

);

これを数値の低い順番に

$array = array(

3 => array("渡辺", 11),
1 => array("田中", 38),
2 => array("吉田", 67),

);

のようにソートしたいんですがどのようにすればよいのでしょうか

103 :nobodyさん:2008/08/19(火) 15:37:08 ID:???
>>102
エーソート

104 :nobodyさん:2008/08/19(火) 15:37:43 ID:2hCJvM5X
質問です。
PHP 5.2.1を使用しています。

$handle = file("http://www.yahoo.co.jp/");

を実行すると

Warning: file(http://www.yahoo.co.jp/) [function.file]: failed to open stream: HTTP request failed! <!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> in C:\Program Files\xxxxx\xxxxx\test.php on line 2

とエラーになります。
php.iniのallow_url_fopenはOnです。
どうすれば外部urlを読み込めるのでしょうか?
何卒宜しくお願い致します。


105 :102:2008/08/19(火) 15:39:03 ID:5mUkQ2xD
すみませんsage解除忘れていました。
宜しくお願いします。

106 :nobodyさん:2008/08/19(火) 15:40:38 ID:???
>>104
xampp?

107 :104:2008/08/19(火) 15:54:09 ID:2hCJvM5X
>>106
xamppです。

108 :nobodyさん:2008/08/19(火) 16:02:11 ID:???
lol

109 :nobodyさん:2008/08/19(火) 16:10:42 ID:???
>>102
array_multisort

110 :nobodyさん:2008/08/19(火) 16:28:03 ID:???
:P

111 :nobodyさん:2008/08/19(火) 16:58:24 ID:???
>>102
どこも連想配列じゃない罠。

112 :nobodyさん:2008/08/19(火) 17:08:24 ID:rbkh+xPC
cgiとしてphpを実行するとき、スーパーグローバル変数の初期化やheader関数でヘッダを送信できるようにするにはどのように設定すればいいのでしょうか?

113 :nobodyさん:2008/08/19(火) 17:09:43 ID:???
>>104
phpinfo()で「Registered PHP Streams」にhttpはあるのか?

>>102
多次元配列だな
array_multisortを使え
数値列を1次元配列で取得してarray_multisortの最初の引数にSORT_ASCフラグと一緒に指定
第2引数に元の配列を入れる
これで出来んか?



114 :nobodyさん:2008/08/19(火) 17:15:36 ID:???
>>112
header関数が使えないってどういう状況だろう
既に送信済みなんじゃないのか?

スーパーグローバルも使えるはずだが・・・
var_dump($_GET);とかで見れないか?
まさかregister_globalsのことじゃないだろうな

115 :nobodyさん:2008/08/19(火) 17:23:40 ID:VxtPs/tV
コンテンツをゲットするとき(readfile/file_get_contents等)でユーザー名とパスワードが必要な場合は
どうしたらいいんでしょうか。

116 :nobodyさん:2008/08/19(火) 17:26:20 ID:???
>>115
http経由か?
それなら 「ttp://ユーザ名:パスワード@ドメイン/URL」でイインダヨー!!
ユーザ名とパスワードをrawurlencodeするのを忘れんな!

117 :nobodyさん:2008/08/19(火) 17:42:25 ID:???
>>114
----index.cgi-----------
#!/usr/local/bin/php
Content-type:text/plain

<?php phpinfo();
------------------------
こういう状況です
phpは5.2.6でコンパイルオプションに--enable-force-cgi-redirectをつけてみたりしましたが、headerではなくContent-typeをそのまま書かないと動きません。


118 :nobodyさん:2008/08/19(火) 17:53:10 ID:???
>>117
--enable-force-cgi-redirectはモジュール版からCGI版へのリダイレクトだから関係ないっと

普通は一行目の宣言でphpにスクリプトが渡されるからphpで処理されるよな
Content-typeはブラウザへの宣言だからぶっちゃけPHPとは関係がなかったりする

さぁどこに原因があるか分かるやつカモン!

119 :nobodyさん:2008/08/19(火) 17:55:02 ID:???
この情報だけじゃ何もわからんですよ。
headerつかうとどうなるの?

120 :nobodyさん:2008/08/19(火) 17:57:56 ID:???
そもそも「動きません」ってどうなる?
ブラウザには何もソースが送られてないとかか?それともエラーになってるのか?

121 :nobodyさん:2008/08/19(火) 18:06:16 ID:???
#!/usr/local/bin/php
<?php
header('Content-type:text/html');

これでヘッダが出力されてないのでInternal Server Errorになります

122 :nobodyさん:2008/08/19(火) 18:12:46 ID:???
>>121
「\n\n」はどうした「Content-type: text/html\n\n」が正しいんじゃないのか?

123 :nobodyさん:2008/08/19(火) 20:14:18 ID:PaGmE6kQ
wikiのようなシステムの製作をしています。

「私は韓国人だよ。」という文字列と「私は日本人だよ」という文字列を比較して、
その差分(上記でしたら「日本」という文字)を表示させる処理を行いたいですか、
そのやり方に苦戦しています。

「文字列から文字列を引き算すれば〜」「forの入れ子で一文字ずつ比較して〜」等
いろいろと考えてみたのですが、どれも上手くできません。

何かアドバイスをいただけますでしょうか・・・・

124 :nobodyさん:2008/08/19(火) 20:25:37 ID:???
wikiのソース見れ

125 :nobodyさん:2008/08/19(火) 20:29:29 ID:/yAc2/hi
linuxのcutコマンドのような事をするにはどうしたらよいでしょうか
何か便利な標準関数はありませんか

126 :nobodyさん:2008/08/19(火) 20:41:42 ID:???
substr

127 :nobodyさん:2008/08/19(火) 21:03:23 ID:???
>>123
今のところwikiも行単位の差分だもんなぁ
文字列比較になると文字数の違いをどう吸収するかが悩みどころだろう
諦めて行単位のdiffがいいと思うぜ?

俺だとarray_diffとarray_intersectを使って文字自体の違いと共通を出してそこをヒントにフレーズを導く、
とか考えるが難しいことには変わりない


128 :nobodyさん:2008/08/19(火) 21:21:13 ID:6/c1nOwy
while($col = mysql_fetch_array($rst)) {
//各レコード内容を表示する表を組み立てます
$body .= "<TR>
<TD>
<INPUT type='text' name='categname[]' value=\"$col[categoryname]\" size='70'>
<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
<INPUT type='hidden' name='categid[]' value='$col[categoryid]'>
</TD>
</TR>";
$cnt++;
}

というプログラムで、データを渡したいんですけど、

$categname[]=$_POST['categname'];
$btnedit=$_POST['btnedit$cnt'];
$btndel=$_POST['btndel$cnt'];
$categid[]=$_POST['categid'];

foreach($_POST['categname'] as $value){
$categname[]=$value;
}print_r($categname."<br>");

foreach($_POST['categid'] as $value){
$categid[]=$value;
}

でデータを受け取っています。でも、更新ボタンや削除ボタンが複数ある時に、nameが一緒なのでどのように判別すればいいかがわかりません。どのようにすればいいでしょうか?


129 :nobodyさん:2008/08/19(火) 21:27:32 ID:???
>>127
ありがとうございます。
とても参考になります。

130 :nobodyさん:2008/08/19(火) 21:29:54 ID:???
>>128
通常1formにsubmitは1つ

131 :nobodyさん:2008/08/19(火) 21:32:25 ID:6/c1nOwy
>>130
やはりこのやり方ではできないんでしょうか?

132 :nobodyさん:2008/08/19(火) 21:51:08 ID:???
$btnedit=$_POST['btnedit$cnt'];
$btndel=$_POST['btndel$cnt'];

ここをループさせて更新とか削除という値が入ってる$cntを探せばいいんじゃないのだろうか?

>通常1formにsubmitは1つ

んなこたーない。
nameは統一してvalueで区別するとラジオボタンと同じ感覚で使える。
とはいえvalueってのがそのままボタンのラベルになるからどうも使いづらいんだよな。


133 :nobodyさん:2008/08/19(火) 22:06:49 ID:???
わかるわかる
せめてbuttonタグが思い通りに動いてくれればいいのにな
下みたいなヤツ
<button type="submit" name="action" value="regist">登録</button>

inputタグでやるとマルチバイトでswitchやifするのが気持ち悪いんだよなぁ


134 :nobodyさん:2008/08/19(火) 22:11:30 ID:6/c1nOwy
>132

このようにしてみたんですが、ダメでした。

for($cnt = 0; $cnt < $reccnt; $cnt++) {
if(isset($_POST['btnedit$cnt'])){
$btname=$btndedit.$cnt;
break;
}
}

更新が入っている$cntを見つけたら$btnnameにbtnedit$cntという値を保存したいんです。どうすればいいかわかるでしょうか?

135 :nobodyさん:2008/08/19(火) 22:18:21 ID:???
>>134
----------------
categname[]
categid[]
----------------

----------------
categname[$cnt]
categid[$cnt]
----------------
にしたらいいんじゃないか?
btnedit$cntの$cnt部分から目的のデータを正確に取れる


136 :nobodyさん:2008/08/19(火) 22:22:52 ID:6/c1nOwy
そこはもう何とかデータが取れたので大丈夫なんですが、どのボタンが押されたかを判断するのができないんです。これができないと削除するとき全部削除することになってしまうんで…

137 :nobodyさん:2008/08/19(火) 22:57:55 ID:6/c1nOwy
>>128ですけど、
ボタンを押しても送られてくる$cntは最後の値しか入ってないんですが、そこはどうにかならないですかね?

138 :nobodyさん:2008/08/19(火) 23:21:48 ID:???
とりあえずvar_dump($_POST)でどんな値が来てるか調べてみたらどうだろう

139 :nobodyさん:2008/08/19(火) 23:25:02 ID:/yAc2/hi
splitして配列の特定の部分だけ取得すればできますね。
forをぶんぶん回すのがいやだなーと思ったのですが、仕方ないですね。

失礼しました

140 :nobodyさん:2008/08/19(火) 23:36:15 ID:6/c1nOwy
>>138
var_dump($_POST)してみたんですけど、結果は

["btnedit1"]=> string(4) "更新"

となりました。この結果のbtnedit1だけ取り出せないですかね?valueは更新なので、そっちだけなら受け取れるのですが。

>>139
具体的にどのように使えばいいんでしょうか?今調べてみたんですが、どのように、どこで使えばいいのかよくわからなくて・・・

141 :nobodyさん:2008/08/19(火) 23:55:15 ID:???
だから$_POST["btnedit$cnt"]=="更新"のとき$cnt=1だろ?

142 :nobodyさん:2008/08/19(火) 23:58:20 ID:6/c1nOwy
>>141
それはどのボタンを押すかによって変わるんじゃないんですか?例えば3番目のボタンを押したら$cnt=3になってほしいんですが

143 :nobodyさん:2008/08/20(水) 00:35:06 ID:MvAneMVr
>>140ですが、わかる方いませんか?結構困ってます(泣)

144 :nobodyさん:2008/08/20(水) 00:37:56 ID:???
while($col = mysql_fetch_array($rst)) {
$body .= "<TR>
<TD>
<form>
<INPUT type='text' name='categname[]' value=\"$col[categoryname]\" size='70'>
<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
<INPUT type='hidden' name='categid[]' value='$col[categoryid]'>
</TD>
</form>
</TR>";
$cnt++;

145 :nobodyさん:2008/08/20(水) 00:39:15 ID:???
action="うんたら" method="post" 入れ忘れた

146 :nobodyさん:2008/08/20(水) 00:44:06 ID:MvAneMVr
>>144>>145
それは>>128で書いたんですが、nameの値が同じなので、複数ボタンがある時に、どれが押されたかの判定をしたいんです。
そこでvar_dump($_POST)してみると["btnedit1"]=> string(4) "更新" という値が渡せていたので、これのbtnedit1だけ取り出せないかなと思って・・・

147 :nobodyさん:2008/08/20(水) 00:45:46 ID:???
if (isset($_POST['btnedit1')) {
 $mode = 'edit';
}

148 :nobodyさん:2008/08/20(水) 00:47:09 ID:MvAneMVr
>>147
ボタン1を押したときはbtnedit1になるんですが、ボタンがいくつもあるので、$cntにするとうまくいかないんです

149 :nobodyさん:2008/08/20(水) 00:55:24 ID:MvAneMVr
やっぱり無理なんですかね・・・

150 :nobodyさん:2008/08/20(水) 01:08:50 ID:???
何を言ってるのか分からん。
他人にも分かるように説明してくれ。

<form>
<input type="text" name="textbox" value="<?php echo $text; ?>">
<input type="submit" name="edit" value="更新">
<input type="submit" name="del" value="削除">
<input type="hidden" name="id" value="<?php echo $id; ?>">
</form>

でいいだろ。
駄目なら何が駄目なのか簡潔に。
俺ならsubmit2つは使わないけど。



151 :nobodyさん:2008/08/20(水) 01:10:22 ID:???

<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>

なんだから3番目の更新ボタンはbtnedit3になると思ったんだが・・・
俺たちはとんでもない思い違いをしているのか?

152 :nobodyさん:2008/08/20(水) 01:17:47 ID:MvAneMVr
そこをwhileでループさせているので、更新ボタンと削除ボタンがそれぞれ複数個できるんです。
そこでnameを'btnedit$cnt'にして$cntの部分で変えているのですが、それをどうやって受け取るかがわからないんです。
受け取るのはvalueの値(更新)ですよね?でも判別するときはnameがいるので、そこを何とかできないかなと

153 :nobodyさん:2008/08/20(水) 01:35:02 ID:???
>>152
だから>>150の方法でやりゃいいだろって

154 :nobodyさん:2008/08/20(水) 01:36:54 ID:???
末尾に番号付けてても、送られてきたidをキーの末尾にくっつければ取得できるが、気持ち悪いから俺はやらん

155 :nobodyさん:2008/08/20(水) 01:37:51 ID:MvAneMVr
<input type="hidden" name="id" value="<?php echo $id; ?>">
これはどういったことをしているのでしょうか?
もともと<?php ?>でつくっているのですが、2重に囲んでもいいんでしょうか?

156 :nobodyさん:2008/08/20(水) 01:40:16 ID:???
その辺は本質でないので気にしなくていいです。変数展開はお好きなように。

157 :nobodyさん:2008/08/20(水) 01:49:51 ID:MvAneMVr
<input type="hidden" name="id" value="<?php echo $id; ?>"> を追加して
$id=$_POST['id'];で受け取ってみましたが、echoしてみると;?>が表示されて、更新ボタンを押すたびに増えていくんですが、これはどういうことでしょう?


158 :nobodyさん:2008/08/20(水) 01:58:48 ID:4SgzBP1u
そりゃふえるでしょう。
基礎からやりなおせ。


159 :nobodyさん:2008/08/20(水) 02:00:28 ID:MvAneMVr
時間がないんです、教えてください。ほんとにお願いします。

160 :nobodyさん:2008/08/20(水) 02:12:04 ID:???
value="<?php echo $id; ?>">

161 :nobodyさん:2008/08/20(水) 02:13:47 ID:???
つーかvalueのところに書くというのがよくわからないんだけど。
ここにかかないとだめなん?


162 :nobodyさん:2008/08/20(水) 02:16:27 ID:MvAneMVr
valueじゃなかったらどこに書くんですか?

すいません、ほんと初心者なんでわからないことだらけで・・・

163 :nobodyさん:2008/08/20(水) 02:31:59 ID:???
時間が無いって何?単位でもかかってんの?

164 :nobodyさん:2008/08/20(水) 02:34:31 ID:MvAneMVr
それに近い形です。だから今日も多分徹夜でやります(泣)

165 :nobodyさん:2008/08/20(水) 02:52:46 ID:???
もう分かりやすくするためにボタンを
[ID1を削除]
とかってvalueにすれんばいいんじゃねw

166 :nobodyさん:2008/08/20(水) 02:54:14 ID:MvAneMVr
どういうことですか?

167 :nobodyさん:2008/08/20(水) 02:56:21 ID:???
何が問題か分からないなら基本からやり直すしかない

168 :nobodyさん:2008/08/20(水) 02:56:50 ID:MvAneMVr
でもホントに時間がないんです・・・

169 :nobodyさん:2008/08/20(水) 03:01:09 ID:???
釣りじゃないなら
>>153を試すなり対応しろ

170 :nobodyさん:2008/08/20(水) 03:01:48 ID:MvAneMVr
試してみたけどダメでした

171 :nobodyさん:2008/08/20(水) 03:03:39 ID:???
じゃ、終了だな
何故駄目だったのか追求しないなら諦めろ

172 :nobodyさん:2008/08/20(水) 03:07:03 ID:???
今まで怠けてたツケだw

173 :nobodyさん:2008/08/20(水) 03:18:09 ID:???
無理な仕事を引き受けるからだよ

174 :nobodyさん:2008/08/20(水) 04:12:49 ID:PkKH7Tnj
MySQLのスレできいたのですが、ダメでしたので、
こちらでもお聞きすることにしました。
MySQLのスレには、お礼を申し上げて閉じました。

重複するデータが多数登録されているテーブルがあるのですが、
それを一発で直す関数はないでしょうか?
データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で
できれば嬉しいのですが。

宜しくお願いします。

175 :nobodyさん:2008/08/20(水) 04:19:38 ID:PkKH7Tnj
すみません。わかりにいか誤解を与えてしまってレスがつかないようなので、
一発で直す関数というのは、具体的には配列関数でいうarray_uniqueのような関数です。

宜しくお願いします。

176 :nobodyさん:2008/08/20(水) 04:22:29 ID:???
>>174
あるわけない
>データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で
謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?

だいたいデータが重複するとか設計に問題があるんだろ
今のまま放置したらまたいずれ同じことの繰り返しになるだけ
phpMyAdminなんかでデータをdumpして
dumpファイルのテーブル部分を設計しなおして再登録したほうがいい
そうすれば登録の時点で重複されるデータは登録されないだろ

177 :nobodyさん:2008/08/20(水) 04:33:56 ID:???
>>176
アドバイスありがとうございました。
> 謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?
すみません、誤解を招く表現で。
いいたかったのは、データ件数が7300万件以上ありまして、
UNIQUEキーを設定した仮テーブルを作ってコピーすると、
時間が掛かってしまうため、ミドルウェア層に位置する
SQLの範疇では手に負えないというのが以前の結論でした。

なので、アプリケーション層に位置する高級言語でなんとか処理できないと
考えたのですが、やはりそこでも無理そうでしょうか。
phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。

178 :nobodyさん:2008/08/20(水) 04:36:44 ID:PkKH7Tnj
すみません、age忘れていました。

179 :nobodyさん:2008/08/20(水) 04:42:02 ID:???
全件ループして判定すればいいんじゃないのか

180 :nobodyさん:2008/08/20(水) 04:45:21 ID:???
PHPは大規模な処理には向いていない言語なので
7300万件もあるなら他の言語のほうが処理速度はあがると思うよ
C++が使えるならそうしたほうがいいかも

181 :nobodyさん:2008/08/20(水) 07:43:47 ID:???
>PHPは大規模な処理には向いていない言語なので
これは釣り?それとも本気?
本気でいっているならメモリーキャッシュとか使えば、
Java並みの実行速度にはなる。

182 :nobodyさん:2008/08/20(水) 08:03:10 ID:???
>>181
Java並にはなってもC++並にはならんわな

183 :nobodyさん:2008/08/20(水) 08:37:14 ID:???
つかC++書けるなら目的の処理を行うプログラム書いて
そっちで処理すればいいだろ。
実行時間やメモリサイズの縛りがあるPHPで、
わざわざ実行する必要はない罠。


184 :nobodyさん:2008/08/20(水) 08:59:03 ID:???
MySQLのことはよく知らんがDBに関数作れないの?

185 :nobodyさん:2008/08/20(水) 09:43:41 ID:???
> 実行時間やメモリサイズの縛りがあるPHPで、
だから、それは設定の問題でしょ。もしくは、環境の問題でしょ。
言語仕様の問題みたいにいうと変な誤解する人がいるぞ。

186 :nobodyさん:2008/08/20(水) 10:03:49 ID:???
>>184
作れるがそれをした所でDBで時間が掛かってしまうから駄目なんじゃないの?

7400万件あってもPHPで十分処理できるよ
まぁサーバ次第だけど

てかこんな所じゃなくコンサルたのめよ

187 :nobodyさん:2008/08/20(水) 10:13:36 ID:???
そもそもINSERT IGNORE INTO SELECTが駄目なのは何で?

188 :nobodyさん:2008/08/20(水) 10:14:14 ID:???
管理コンソールから操作すりゃいいのにって思うのは俺だけか?

189 :nobodyさん:2008/08/20(水) 11:35:11 ID:???
INSERTとSELECTが駄目って
データベース使う意味まるで無いよなw

190 :nobodyさん:2008/08/20(水) 11:41:13 ID:uoEIdMLz
simplexml_load_fileでXMLデータを取得する時に

<field>
<hoge name="test1">val1</hoge>
<hoge name="test2">val2</hoge>
</field>

↑これを↓のように取り込みたいのだけど、

$xml["field"]["hoge"]["test1"]="val1";
$xml["field"]["hoge"]["test2"]="val2";

実際やってみたら↓という風になっちゃうんです。

$xml["field"]["hoge"][0]="val1";
$xml["field"]["hoge"][1]="val2";

前者のように得たい場合、何か良い手はないでしょうか。
(XMLの書式を変えろとかは無しの方向で)

191 :nobodyさん:2008/08/20(水) 11:51:31 ID:???
>>180
> PHPは大規模な処理には向いていない言語なので
> 7300万件もあるなら他の言語のほうが処理速度はあがると思うよ
> C++が使えるならそうしたほうがいいかも

あんた実戦経験無し?

7300万件とかそんなにデータが多い場合・・・いや、少なくてもだけど
普通は高速にかつ楽に開発する為に、既に作られている、
ライブラリやデータベースシステムを使う。

ライブラリやデータベースシステムがC++などで作られているから
何の問題も無い。

君の発想は一から全部作る場合の発想。
何らかの理由で世の中に既にある物を置き換えるものを
作ろうとしているのなら話は別だが、
大量のデータを処理する為のライブラリを
C++で作るとかアフォのやること。

192 :nobodyさん:2008/08/20(水) 11:58:45 ID:???
>>177
> phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。

JavaやC++でもPHPと同じように無理だから。

193 :nobodyさん:2008/08/20(水) 12:03:06 ID:nVxHuE1Q
http://blog.ohgaki.net/php-session
このセッショントラバーサル脆弱性って
「セッションハンドラを自前で設定して、
しかもそれをファイルシステムに指定している」という状況でないと
発現しないの?
何もいじらずにファイルシステムのセッション使ってる場合は大丈夫?

194 :nobodyさん:2008/08/20(水) 12:19:19 ID:???
下らない質問ですみません。
'->'とか'=>'は、何と読めば良いのでしょう?。

195 :nobodyさん:2008/08/20(水) 12:25:51 ID:???
>>191
高速なライブラリやDBを使うなんてあたりまえの話で、その上でPHPよりC++で
組んだほうが処理は速いんじゃないか、としか読めないんだが
なんでライブラリを作るなんて話になるんだろう

PHPで大規模処理ができるかどうかと言われればできる
けど向いてるかと言われればそうでもないと思う
少なくともデータ処理のバッチをPHPで作ろうとは思わんなあ
バッチ以外の部分がPHPなので保守を考えてとか、なんか理由でもなければね

196 :nobodyさん:2008/08/20(水) 12:29:04 ID:???
>>190
fieldが最上位なら普通に考えて無理じゃないか

197 :nobodyさん:2008/08/20(水) 12:39:37 ID:???
>>193
セッションIDの文字列チェックが行われないってヤツだな
標準ハンドラではチェックされているから、独自実装の場合だけ脆弱性を帯びる
ファイルシステムだけじゃなくてデータベースに保存している場合でもインジェクションを意識しなきゃダメだろうな

例えばファイルシステム利用の場合でセッションIDに「/../」があれば上位ディレクトリが保存先になるってこと
あぶないあぶない

>>194
読みなんてあったっけ?
「->」 オブジェクトメンバ、オブジェクトメンバメソッドの「参照記号」とでも呼べばいいのか?
「=>」 連想配列の・・・・何?


198 :nobodyさん:2008/08/20(水) 12:43:16 ID:???
分からないんですよ。アロー演算子のナニかとしか。=>なんて他の言語にありましたっけ?。
自分も人に聞かれて、何にも頭に思い浮かばず困ってしまったんです。

199 :nobodyさん:2008/08/20(水) 12:44:45 ID:???
矢印

200 :nobodyさん:2008/08/20(水) 13:11:21 ID:???
http://jp.php.net/manual/ja/tokens.php
内部名。

201 :nobodyさん:2008/08/20(水) 13:21:14 ID:???
ありがとうございます!。
-> が T_OBJECT_OPERATOR、=> が T_DOUBLE_ARROW って、作った人も適当に考えてたのね。
=>これ、何とかならなかったのかぁ。

202 :nobodyさん:2008/08/20(水) 13:48:35 ID:???
フレームワークを使った作品の納品てどうしてる?
フレームワークごと渡すの?
それとも設置の時点でインストールしてもらうの?

203 :nobodyさん:2008/08/20(水) 13:49:07 ID:???
おお、ありがとうございます。
T_OBJECT_OPERATORはまだしも、T_DOUBLE_ARROW って、作った人もいい加減だったのね。
何とかならなかったのかなぁ。

204 :nobodyさん:2008/08/20(水) 13:57:24 ID:???
>>202
作る前に決める

205 :nobodyさん:2008/08/20(水) 13:58:50 ID:???
->は「ハイフン大なり」
=>は「イコール大なり」

206 :nobodyさん:2008/08/20(水) 14:06:54 ID:???
>>205
ナイスオチ

口に出すことがほとんどないから特に意識てなかったんだろうな

>>198
Perlの連想配列も=>を使うぜ
PHPはPerlの拡張から始まったしその名残じゃないかな


207 :nobodyさん:2008/08/20(水) 15:46:15 ID:1OHJU2Jn
JavaScriptとPHPの変数の受け渡しについて教えてください。

<script type="text/javascript">
<!--
<?php
$str = "document.getElementById('test').value";
print("出力結果:$str");
?>
// -->
</script>
<span id=test>hogehoge</span>

例としてtestの値であるhogehogeをJavaScriptを用いてPHP変数に受け渡したいのですが
上記の方法で実行してもできません
いったいどのようにすればできるのでしょうか?


208 :nobodyさん:2008/08/20(水) 15:47:57 ID:???
>>207
PHPでする必要ないじゃん


209 :nobodyさん:2008/08/20(水) 15:49:45 ID:???
>>207
同時にフォームのinput type="hidden"にセットしてPOSTするとか、
httpRequestのGETパラメタで投げるとか幾らでもやりようあるように思うが。

210 :nobodyさん:2008/08/20(水) 15:54:41 ID:???
>>208
氏ね
>>209
あり

211 :nobodyさん:2008/08/20(水) 15:59:41 ID:???
210はツンデレ。本音は↓

 ':,     ',   _____,,.. -‐ ''"´ ̄ ̄`"'' ー 、.,          /
  ':,    ',   >' ´             `ヽ.       /  し バ
   ':,     /                    ヽ.     ,'   な カ
    ':,   ,:' /   /   ,'´        ヽ.     ':,/Ti  i.   い に
. \    ,' /   /  ,'  !      ;   ',  ヽ__ /::::| | |   で 
   \  / ,'   ,'!  /!  !   ;  /!   i  「:::|'´::::::::| | .!.   く
     ∠__,!   / !メ、」_,,./|   /! / !   ハ! |__」<:::::」」 |.   れ
`"''  、..,,_  !  / ,ァ7´, `iヽ| / |ヽ、」ニイ、 |  ! |^ヽ、」」  |.   る
       i,/レイ i┘ i. レ'   'ア´!_」 ハヽ|   |   | ∠   ! ?
─--     /   !  ゝ- '       !    ! !   |   |  `ヽ.
      /   7/l/l/   、     `'ー‐ '_ノ!   |  i  |    ` ' ー---
,. -──-'、  ,人    `i`ァー-- 、  /l/l/l |    !. |  |
       ヽ.ソ  `: 、.   レ'    ',   u ,/|    |  !  |
 そ  知  i  /ーナ= 、 '、    ノ  ,.イ,カ    !  |  |
 の   っ  .|ヘ./|/レへ`>-r  =ニi´、.,_ |  i  ハ  ! ,'
 く   て   !     _,.イ´ヽ.7   /  /:::| /レ'  レ'レ'
 ら  る   |   /7:::::!  ○O'´  /::::::レ'ヽ.
 い  .わ  .|  /  /:::::::レ'/ムヽ.  /::::::::/   ヽ.
 ! !  よ   ! ./  ,':::::::::::!/ ハ:::::`´:::::::::::;

212 :nobodyさん:2008/08/20(水) 16:01:52 ID:???
>>209
どうもありがとうございます

213 :nobodyさん:2008/08/20(水) 16:22:25 ID:???
>>210にはびっくり
みんなの本音は>>208と同じだと思うぞ

目的が見えないんだよ
>>208の言いたいことは、testの値を出力するならjavascriptのdocument.writeでいいじゃんってこと
>>209のアドバイスはtestの値をPHPで加工する場合のこと(POSTがページ変移ありで、httpRequestはページ変移なし)
ちなみに>>207の説明でもソースでも、上の2通りのどっちか分からん

どうしたいかは分かる、でも何がしたいか分からんってことだな

214 :nobodyさん:2008/08/20(水) 16:28:50 ID:???
騙りにマジレスかっこわるい

215 :nobodyさん:2008/08/20(水) 16:30:53 ID:???
>>214
208だが煽ったつもりはないぜ
>>207がしたいことをそのままソースで読み取ったわけだからPHPでせず
>>213のいうとおりdocument.writeでできるってことを言いたかっただけ

216 :nobodyさん:2008/08/20(水) 16:43:45 ID:???
printするのはあくまで例だろ。そんなことも分かんないの?

217 :nobodyさん:2008/08/20(水) 16:45:36 ID:???
>>216
だから質問の仕方に目的がないんだよ


218 :nobodyさん:2008/08/20(水) 16:46:14 ID:???
一言アドバイスすれば、そもそもPHPはC++言語で作られていて、
少なくてもC++よりも速くならない。
いや、速くならないどころか遅くなる。

変数を割り当てるたびにメモリーを割り当てるから、
ループの中で変数をつくったりすると、
メモリーリークが頻発する。だから、大規模開発には向かない。

そもそも、PHPはJAVAのようなガーベージコレクションが効率よく動作しない。

219 :nobodyさん:2008/08/20(水) 16:47:28 ID:???
よそでやれカスが

220 :nobodyさん:2008/08/20(水) 16:50:57 ID:???
>>219
さんざん反論しておいて、反論できなくなったら、
今更スレ違いを主張するのか。主張に全く一貫性がないな。

221 :nobodyさん:2008/08/20(水) 16:54:49 ID:???
>>217
クライアントサイドからサーバサイドに逆に値を受け渡したい場合だってあるだろ。
想像力が貧困すぎ。
もしかして全く予想できない?document.writeするだけしか思いつかない?
初心者が下手に回答すると恥かくからやめとけ、な。

222 :nobodyさん:2008/08/20(水) 16:55:58 ID:???
>>220 すげー基地害www

223 :nobodyさん:2008/08/20(水) 16:56:46 ID:???
>>221
だったらそう質問すればよくね?


224 :nobodyさん:2008/08/20(水) 16:57:20 ID:???
>>222
顔真っ赤んして何してるの?

225 :nobodyさん:2008/08/20(水) 17:03:24 ID:???
>>221
クライアントからサーバへ送りたいのはわかるが説明とソースからは必要性を感じない
だから質問にもっと詳しい情報がほしいって意見じゃないのか?

>>218
PHPってC++で出来てたんだ・・・libcppを呼んでないんだが・・・共有じゃなくて静的に組み込んでるのか?


226 :nobodyさん:2008/08/20(水) 17:09:50 ID:???
これが夏休みって奴か・・・

227 :nobodyさん:2008/08/20(水) 17:10:57 ID:???
C++がPHPより早いってのは正論だろ
一般的に低級言語より高級言語のほうが出来ることも少ないし処理速度は遅くなる
C++は高級言語だがPHPと比較するとC++のほうが低級に位置する
そもそもPHPがインタプリタな時点で(ry
で脊椎反射でレスしてる馬鹿はちゃんとスレ主(>>177)の意図を汲め

228 :nobodyさん:2008/08/20(水) 17:15:28 ID:???
>なので、アプリケーション層に位置する高級言語でなんとか処理できないと
>考えたのですが、やはりそこでも無理そうでしょうか。
>phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。

無理そうではないが時間がかかるのは一緒
処理時間に拘ってるようだから少しでも早く処理を終わらせたいならC++のほうがいい

こうですか?わかりません

229 :nobodyさん:2008/08/20(水) 17:15:52 ID:???
なに当たり前のことを車輪の再発明のように議論しあってんの?
マジきめえwwww

230 :nobodyさん:2008/08/20(水) 17:17:57 ID:LhJjLaqd
Windows XP SP3 + XAMPP 1.6.7 で開発してるんですけど、
move_uploaded_fileしようとしてもfailed to open stream: Permission deniedになっちゃいます。

保存し直すディレクトリの権限はeveryoneでフルコントロールにしてるし、
(もちろんusersもログインしてるユーザもフルコントロール)なにがいけないのが
全然分かりません。

分かる方いらっしゃったらどうか教えてください。

231 :nobodyさん:2008/08/20(水) 17:23:18 ID:???
全ては挑発的な脊椎反射レスしか返せない>>191がアホだから悪いってことでオシマイ

232 :nobodyさん:2008/08/20(水) 17:25:09 ID:???
>>230
とりあえずmove_uploaded_file近辺のソース

233 :230:2008/08/20(水) 17:29:03 ID:???
>>232

if(!is_uploaded_file($_FILES['image']['tmp_name']))
{
echo 'Error';
return;
}
else if(is_uploaded_file($_FILES['image']['tmp_name']))
{
$tmp .= 'tmp_name: '.$_FILES['image']['tmp_name'].'<br>';
$tmp .= 'name: '.$_FILES['image']['name'].'<br>';
$tmp .= 'new_path: '.WWW_ROOT.IMG_PATH.'<br>';
echo $tmp;
move_uploaded_file(@$_FILES['image']['tmp_name'], IMG_PATH);
}

こんな感じです。
IMG_PATHはフルパスをdefineしてます。

234 :nobodyさん:2008/08/20(水) 17:30:20 ID:???
IMG_PATHをうp

235 :nobodyさん:2008/08/20(水) 17:31:00 ID:???
>>177
>UNIQUEキーを設定した仮テーブルを作ってコピーすると、
>時間が掛かってしまうため、ミドルウェア層に位置する
>SQLの範疇では手に負えないというのが以前の結論でした。

どんな処理するんだ?
>>187にも答えてくれ。


236 :nobodyさん:2008/08/20(水) 17:33:00 ID:???
>>227
> そもそもPHPがインタプリタな時点で(ry

世の中に、まだ純粋なインタプリタって存在しているのかね?

マイナーな言語ならしらんが、
今はソースコードをコンパイルして動かしているだろ?

ページ開くたびに毎回コンパイルする必要はあるが
そのコンパイルの時間はかかるが、それが終わったら
あとはネイティブとほぼ同じだろ。

ページ開くたびにコンパイルしない方法もあるし。

237 :230:2008/08/20(水) 17:36:37 ID:???
>>234

define('IMG_PATH', "C:\\xampp\\htdocs\\test\\logo");

です。

238 :nobodyさん:2008/08/20(水) 17:48:46 ID:???
>>237
define('IMG_PATH', "C:\xampp\htdocs\test\logo\");
これはやってみた?

239 :230:2008/08/20(水) 17:50:39 ID:???
>>238

それもやってみました。
failed to open stream:Invalid argumentエラーが出ました。

240 :nobodyさん:2008/08/20(水) 17:50:45 ID:???
>>238
\\じゃないと"がエスケープ処理させるぞwwww

>>237
パスはあってるんだよな・・・
chmodで権限0777にしても同じかな?

241 :230:2008/08/20(水) 17:54:40 ID:???
>>240

フォルダのプロパティ→セキュリティからの設定は一通り全部フルコントロールにしたんですが…。

chmodってWindowsで使えるんですか?

242 :nobodyさん:2008/08/20(水) 17:55:58 ID:???
>define('IMG_PATH', "C:\\xampp\\htdocs\\test\\logo");
logoの後ろに\\とか?

アップローダーのようなものは2年前に作ったきりでどういうのか忘れたけど
当時のソースがこうなってる
move_uploaded_file($_FILES['test']['tmp_name'], "D\htdocs\test\");

>>240
Windowsはパーミッション変えれないでしょ

243 :230:2008/08/20(水) 17:58:31 ID:???
>>242

うーん、やってみたけどダメでした。

D\htdocs\test\
↑ここのコロンはなしでしたか?

244 :230:2008/08/20(水) 18:05:54 ID:???
>>242さん

ダメでした、コロン取ってもできませんでした。。

245 :nobodyさん:2008/08/20(水) 18:11:59 ID:???
move_uploaded_file使ったことないんで推測だが

bool move_uploaded_file ( string $filename , string $destination )
この関数は、filename で指定されたファイルが
(PHP の HTTP POST アップロード機構によりアップロードされたという意味で)
有効なアップロードファイルであるかどうかを確認します。
そのファイルが有効な場合、destination で指定したファイル名に移動されます。

となってるわけだが
ファイル名は指定してないのが原因?
define('IMG_PATH', "C:\\xampp\\htdocs\\test\\logo\\");
move_uploaded_file(@$_FILES['image']['tmp_name'], IMG_PATH . "ファイル名");

246 :nobodyさん:2008/08/20(水) 18:14:37 ID:hs1BSUYJ
インタープリタってあれだろ?ソースコードを実行するたびに翻訳しなきゃならんあれだろ?

まるで、おまえらの女付き合いと同じじゃねえか。。

女経験がないから、女が違うたびにあーでもないこーでもないって思案を重ね、ようやくエッチまで持っていけるんだろ?

その点、俺なんて、幾多の女を渡り歩いてきたから、もう女と付き合う手法がコンパイルされた状態でインプットされてるわけ。

わかるか?

247 :nobodyさん:2008/08/20(水) 18:14:43 ID:???
そのとおり
move_uploaded_fileの第2引数を「ファイル名」にしよう

248 :nobodyさん:2008/08/20(水) 18:15:28 ID:hs1BSUYJ
ムキー!!

249 :230:2008/08/20(水) 18:16:30 ID:???
>>245

250 :242:2008/08/20(水) 18:17:35 ID:???
混乱させてごめん
なんか勘違いしてたw
動かなかったわorz
動いたものだとおもったんだけど・・・おかしいなぁ

251 :230:2008/08/20(水) 18:17:37 ID:???
>>245
>>247
できました!
本当にありがとうございます!!

252 :nobodyさん:2008/08/20(水) 18:25:52 ID:???
スレチだがSmartyでforみたいなループないんだな
ちょっと不便

253 :nobodyさん:2008/08/20(水) 18:32:42 ID:???
つまり、お前は本当のプロの仕事というのを見たことがないんだよ。

本当のプロの仕事っていうのは、
普通の人間が5、10年勉強しておいつける代物ではない。

ある程度一人で出来るようになったからって、
勝手にのぼせ上がっているだけ、お前は。

254 :nobodyさん:2008/08/20(水) 18:36:18 ID:???
本日のキチガイID:hs1BSUYJ

255 :nobodyさん:2008/08/20(水) 18:36:46 ID:???
>>252
forの何を求めてるかしらんけど、sectionではあかんの?

256 :nobodyさん:2008/08/20(水) 18:37:03 ID:???
で、どっかのjavaやc++のスレで回答もらったんかね

257 :nobodyさん:2008/08/20(水) 18:38:04 ID:???
やっぱりxampp使ってる奴は糞な質問する奴が多いな

258 :nobodyさん:2008/08/20(水) 18:39:29 ID:???
>>255
あああああああああああああ
すっかり忘れてた
ありがとうございます
そしてsectionさんごめんなさい


259 :nobodyさん:2008/08/20(水) 18:40:14 ID:8rByw6kX
readfileとかでDLさせてる途中で相手が切ったり通信がぶち切れたりした場合は
その下のスクリプトは実行されてるんでしょうか?

260 :nobodyさん:2008/08/20(水) 18:51:32 ID:hs1BSUYJ
>>254 プギャーm9(^д^)<嫉妬厨乙wwwwwwwww

261 :nobodyさん:2008/08/20(水) 18:53:05 ID:???
>>259
される

262 :nobodyさん:2008/08/20(水) 18:57:11 ID:hs1BSUYJ

           早l
   / ̄ヽ    目               今
   , o   ', 食  に         _     .日
   レ、ヮ __/  べご l       /  \    は
     / ヽ  よは.l       {@  @ i    納
   _/   l ヽ うん l       } し_  /   期
   しl   i i  を l        > ⊃ <   日
     l   ート   l       / l    ヽ   か
 ̄ ̄¨¨~~ ‐‐‐---─|      / /l   丶 .l 
      ___    |      / / l    } l 
 /ニュ トーイ    l    /ユ¨‐‐- 、_  l ! 
 ヽ廿'  .`廿'    l _ /   ` ヽ__  `-{し| 
   n  .____  l /         `ヽ }/
  三三ニ--‐‐'  l          / //  
 ̄ ̄ ¨¨¨ー─‐‐--- ,,, __ ____/ /_/                  ´
      ,, _    |         ̄¨¨` ー──---
モパ  /     `、  |          _
グク /       ヽ .| モパ    /   ヽ モパ
モパ./  ●    ●l | グク   l @  @ l グク  パパー会社来なくていいってー>
グク l  U  し  U l | モパ   l  U  l モパ
   l u  ___ u l | グク  __/=テヽつ く グク
    >u、 _` --' _Uィ l    /キ' ~ __,,-、 ヽ
  /  0   ̄  uヽ |    l  ヘ  ゝ__ノ-' ヽ
. /   u     0  ヽ|    ~ l   ヽ-┬ '
 テ==tニト      | / て=-、─----‐‐─ヽ
/ ̄) ̄        ト'    ト= -'   <ニ>

263 :nobodyさん:2008/08/20(水) 18:59:09 ID:???
>>262
お前wwwwwwwwww洒落にならんAAはるなwwwwwww

264 :nobodyさん:2008/08/20(水) 19:02:50 ID:???
どういう意味なの?

265 :nobodyさん:2008/08/20(水) 19:04:50 ID:???
納期日(プログラム作成終了)をもって、首。

266 :nobodyさん:2008/08/20(水) 19:06:23 ID:???
ありがと。
そんなことがよくあるのか・・・

267 :nobodyさん:2008/08/20(水) 19:19:23 ID:???
おれは基本的にプロジェクトがおわったら、
別のプロジェクトに変えるようにしているから関係ないわ。
同じメンバーで長くやっていると、色々な意味で成長しない。


268 :174 :2008/08/20(水) 19:35:25 ID:PkKH7Tnj
仕事から帰ってきました。
レスが多くてびっくりしました。大変ありがたいです。
ただ、結論はphpでも一発で処理するのは難しいってことですかね。

array_uniqueのような関数があるので、
MySQLのバイナリーファイルをちょこちょこといじって、
重複データを削除してくれるような関数があると思ったのですが、なさそうですね。

7400万件をSQL経由でコピーしますと、時間的には数時間かえってこないのに加えて、
データーベースのファイル自体がコピー中に破損する現象があるので、
# バージョンがSTABLEじゃなくRELEASEレベルなのが原因かも。
関数かなんかで瞬間的にできればと思った次第です。

色々とお答え頂き、どうもありがとうございました。
C++が皆さんのお薦めということなので、C++のスレで聞いてみます。

本当にありがとうございました。

269 :nobodyさん:2008/08/20(水) 19:38:00 ID:???
いや、だから普通にループしてチェックするんじゃだめなのか。
メモリとCPUパワーと時間さえあればできると思うが。
ローカルいじるだけなら書きやすいphpでやるのが楽。

270 :nobodyさん:2008/08/20(水) 19:46:06 ID:???
ループ処理とか回数が増えれば増えるほどPHPが苦手な分野じゃねえか
その時間を短縮するために他の言語のほうがいいっていってんだろ
ためしにPHPとJavaとC++でループ処理比較してみれ

271 :174 :2008/08/20(水) 19:47:54 ID:PkKH7Tnj
>>269
レスありがとうございます。
一レコードずつフェッチして、そのレコードのキーで7400万件のデータに検索して、
レコードが重複していないかチェックするという処理でしょうか。
ただ、それは、一番時間が掛かるような気がします。

私が考えられる中で考えたのは、一番最初に書きましたが、
現在UNIQUEキーが設定されていないテーブルを捨てて、
仮のテーブルを作成し、UNIQUEキーを設定し、
その仮テーブルにINSERT IGNORE INTO SELECT * FROM 〜で、
エラー無視のINSERT文の実行です。

これなら、SQL文は、CRATE, INSERT, DROP, RENAMEで終わりですが、
INSERTが数時間もしくは十数時間かかります。SQLの欠点は、
途中経過がよく分からないのも欠点です。
SELECT COUNT(*)でやっても、busy状態に陥ってコマンドが拒絶されます。
う−ん、悩ましい。

272 :nobodyさん:2008/08/20(水) 19:51:36 ID:???
どっちにしろSQLで処理するのだから
C++だろうがphpだろうが大した差はないと思うな
もしかして、C++薦めてる人は何もかもC++でやろうと考えてるのかな

273 :nobodyさん:2008/08/20(水) 19:54:29 ID:???
>>272
話わかってないだろ?
SQLを他言語で操作するんだから
その間のレスポンスが早い言語がいいって話だろ

>もしかして、C++薦めてる人は何もかもC++でやろうと考えてるのかな
case by caseにきまってるだろ
ただ今回はなるべく時間を短縮してやりたいっていうことだから
C++をすすめてるだけだろ

274 :nobodyさん:2008/08/20(水) 19:58:19 ID:???
>>271
十数時間かけてやりゃいいじゃん。
C++でやるとしてもC++ならMySQLのバイナリ直接操作してunique取れるのか?どうせ単純ループだろ。
悩んでないでさっさとやれw 質問するまでもない。

275 :nobodyさん:2008/08/20(水) 20:10:38 ID:???
>>274
だから、phpはCのオブラートに包まれているんだよ。
だから、できることは少ないし遅い。その代り開発速度は速いが。

Cは色々できる反面、処理がやっかい。自由度をとるか、効率性をとるかだよ。

あたま沸いていんじゃまいか?

276 :nobodyさん:2008/08/20(水) 20:13:58 ID:???
>>218
大規模開発に向かない(キリッ
と言ってる暇でメモリリークするパターンを
PHP Bugsに報告しておいて欲しいな

>>259
http://www.php.net/manual/ja/features.connection-handling.php

>>174,271
UNIQUE制約付けて INSERT IGNORE ね…
これって7400万回逐次インデックスの更新が起きね?糞重そうだが
データベース板でSQL文レビューしてもらった方がいいんじゃないの
アプリケーション層でごりごりするような問題じゃないと思うよ


277 :nobodyさん:2008/08/20(水) 20:46:41 ID:???
>>275
ん?だから本人が好きな方法でさっさとやればいいじゃん。
あたま沸いてるとか何言ってんの?

278 :nobodyさん:2008/08/20(水) 21:03:25 ID:???
>>261
どうも!

279 :nobodyさん:2008/08/20(水) 21:08:11 ID:8rByw6kX
しまった、途中で送信してしまった。
Readfileが途中で閉じた場合と完全にファイルを送信し切った場合の判断ってできるんでしょうか。

280 :nobodyさん:2008/08/20(水) 21:13:07 ID:???
>>279
PHPでは多分ない
開いた瞬間に全部の実行が決まってしまうからな

あるなら俺もsiritasu

281 :nobodyさん:2008/08/20(水) 21:17:24 ID:???
http://www.php.net/manual/ja/function.readfile.php


返り値

ファイルから読み込んだバイト数を返します。
エラーが起こると FALSEを返し、また@readfile()という名前でコールされない限り、
エラーメッセージが表示されます。

って書いてるからFALSEが返るか途中で閉じた場合読み込んだバイト数までを返すんじゃない?

282 :nobodyさん:2008/08/21(木) 02:29:52 ID:Nimqt/lP
テンプレ見たんですが分からないので質問させてください
環境作って 文字コードをEUCにしたのですが
print "こんちには";でやっても文字化けしてしまいます
hellowにしたら文字化けはしませんでした
プラウザでEUCにしても文字化けしてしまいます
どこか設定が間違っているんでしょうか?
よろしくお願いします

283 :nobodyさん:2008/08/21(木) 02:32:54 ID:???
>>282
ソースはもちろんEUC-JPなんだろうね

284 :282:2008/08/21(木) 02:34:55 ID:Nimqt/lP
はい もちろん
>環境作って 文字コードをEUCにしたのですが
って部分の意味は ソースがEUCってことです
もしかしたらapacheの設定がおかしいのかもしれないです…


285 :nobodyさん:2008/08/21(木) 02:40:31 ID:???
>>284
Apacheで文字コードが指定されてるとかかな・・
firefoxの拡張とかで鯖のレスポンスヘッダとかを確認してみるといいかも

286 :nobodyさん:2008/08/21(木) 02:44:44 ID:snmwtUfK
PEARのSMTPを使い、外部SMTPサーバからメール配信しています
mail関数を使った時同様、BCCもヘッダに付加していたのですが、
送られたメールのヘッダを見ると、何故かBCCまで丸見えになっていました。
そこで、BCCのアドレスもrcptToに追加し、ヘッダには何も付加しなかったところ、
BCC的なことができました。
そこで疑問なのですが、BCCは、SMTPのレベルでは、
「RCPTコマンドのみ実行し、CCヘッダには追加しない」
という意味なのでしょうか?

287 :nobodyさん:2008/08/21(木) 02:45:05 ID:???
>>284
php.iniでEUC-JPな環境を作ったわけではない?
やってないなら言語の設定とかは一応チェックしたほうがいい
phpinfo() で確認

288 :282:2008/08/21(木) 02:51:51 ID:Nimqt/lP
>>285さん
PHP触りたてで分からないんですが
やり方よく分からないです

ですが
ソースの方を色々といじくってたら
上書き保存では文字コードが変わらないらしく
新規でやったらうまくいきました
お騒がせしました
ありがとうございます

289 :nobodyさん:2008/08/21(木) 03:12:36 ID:???
今うpろだを改造してます
md5でファイル名を出力してるんですが、出力URLが長くなってしまう。
これを4,5文字に縮小するにはどうしたらいい?

290 :nobodyさん:2008/08/21(木) 03:13:21 ID:???
>>288
やっぱりソースがEUC-JPじゃないって落ちかw

291 :nobodyさん:2008/08/21(木) 03:14:20 ID:???
>>289
連番にして16進数にするとか
もっと強度の低い暗号化にするとか

292 :nobodyさん:2008/08/21(木) 03:17:17 ID:???
>>286
ぶっちゃけスレ違いだな
SMTPはRCPTを見て宛先を判断する
通常メールソースにSMTPは介入しないがBCCがヘッダに含まれる場合のみ介入し
BCCのリストをRCPTに加えてBCCヘッダーを削除する
これ以上は他を当たってくれ(使ってるSMTPで実装が異なるケースも考えられるからな)

293 :nobodyさん:2008/08/21(木) 03:19:32 ID:???
>>289
同じファイル名からは常に同じハッシュを割り出す必要があるなら>>291のような方法
そうでないなら独自にランダム文字列の生成を実装する手もある

294 :nobodyさん:2008/08/21(木) 05:14:55 ID:???
>>291 >>293

md5じゃなくtimeを使ったら大分短くなった


295 :nobodyさん:2008/08/21(木) 05:36:21 ID:???
ちょw

296 :nobodyさん:2008/08/21(木) 06:53:07 ID:kJtf63kX
a.phpとb.phpがあります。
a.phpに、require("b.php");として読み込み処理をしています。

a.phpの処理を実行を開始したあと、require("b.php");が実行された
あと、a.phpの処理が終了する間に、b.phpに変更を加えても問題ないことは保証されていますか。

テストでは大丈夫そうなのですが、仕様としてどうなっているのか知りたいです。
アドバイスお願いします。

297 :nobodyさん:2008/08/21(木) 07:45:34 ID:???
apacheのab使うなりして検証してから書き込みしたのかい?

298 :nobodyさん:2008/08/21(木) 07:46:33 ID:???
それにコードにもよるしなんともいえないだろカス

299 :nobodyさん:2008/08/21(木) 07:55:34 ID:???
何を言っているのか分からないw

300 :nobodyさん:2008/08/21(木) 08:37:31 ID:???
>>294

timeにしようと思ったけどやっぱやめた。。。
download.php?=○○○...&b=○○○...とかやたら長いんだよね
rewriteは使いたくない 

エロい人具体的に教えて

301 :nobodyさん:2008/08/21(木) 08:40:51 ID:???
>>300
連番じゃだめなの?

302 :nobodyさん:2008/08/21(木) 08:56:09 ID:???
>>301

ありがとう。自己解決しました。

303 :nobodyさん:2008/08/21(木) 09:04:39 ID:???
>>296
PHPのソースはcoreで中間コードに変換されてexecuterに渡されて実行される
a.phpから既にb.phpの処理へ移行しているならa.php、b.php共に中間コード化されているから
元のソースが書き換わっても問題ない
外部ソースの中間コード化はincludeやrequireで読んだ時点で行われることに注意

と言うわけで問題ないことが保障される

304 :nobodyさん:2008/08/21(木) 09:24:52 ID:???
lol

305 :nobodyさん:2008/08/21(木) 10:16:25 ID:kJtf63kX
>>303
詳しい説明どうもありがとうございました。
だから、不必要なrequireは避けるべきだっていわれるのもその辺りなんですね。
どのタイミングで、どのように実行されるのか分からないかったので、
大変参考になりました。助かりました。

306 :nobodyさん:2008/08/21(木) 10:30:30 ID:???
こんなの俺でも出来るって思うのは俺だけか?
phpとdb使えば、簡単だろ。そして、2chを情報の取得源にすれば完璧。


↓↓↓


 総務省がネット上の殺人予告や、隠語を使った拳銃取引など犯罪の情報を検知し、サイト運営企業へ自動的に知らせる新しいソフトウエアの開発に乗り出すことが20日、分かった。
サイト運営企業はネット上の有害情報対策を強化しているものの、監視人員の確保が困難な上、通常の検知ソフトでは、隠語のような特殊言語への対応は困難という。
開発は平成21年度から3年程度かけて取り組み、総事業費は十数億円規模を想定している。

 開発するソフトは通常の言葉だけでなく「レンコン=拳銃」など、一般の閲覧者に内容を知られないように使用されている隠語などもデータベース化して盛り込む。また「自然言語技術」と呼ばれる手法を使い、文章全体の構成から犯罪との関連性を推測する機能も備える。
サイト上の情報を犯罪性有りと判断すれば、運営企業へ自動的に知らせ、サイト運営企業は内容を確認した上でその情報を削除する。

307 :nobodyさん:2008/08/21(木) 10:42:28 ID:???
>>306
たしかに、それで10数億ってかけ過ぎ。
税金無駄使いムキッ。
NTTデータとかが受注して中抜きして、うちの会社に仕事回ってきそうw

308 :nobodyさん:2008/08/21(木) 10:45:23 ID:???
あと、3年も掛からないよw
それ3人で1年間もやれば十分できる。十分過ぎる。
1人は自然言語のプロ(形態素とかか?)、2人がSE&プログラマー。
この布陣でOK。ってことは、どんなに金が掛かっても3000万円が相場だなw

309 :nobodyさん:2008/08/21(木) 11:48:20 ID:???
もうgdgdになるのは目に見えてるけどな
1年後には「そういえばそんなこと言ってたなw」
って感じになるのは間違いなかろう

310 :nobodyさん:2008/08/21(木) 12:22:47 ID:???
基本的に国がらみのシステム開発がお金が掛かりすぎるだけ。
社保庁のシステムだって、1000億掛けて、あんな穴だらけのシステムだしな。

311 :nobodyさん:2008/08/21(木) 12:25:22 ID:???
「結局自動で分類して収集なんて無理」ってことになって、仕様を変更して
マンパワーで登録するシステムになります。またの名を「10億円の予告.in」

312 :nobodyさん:2008/08/21(木) 12:31:12 ID:???
別に登録する必要もない
予告インももちろんいらない

313 :nobodyさん:2008/08/21(木) 12:34:29 ID:QGHhiy71
OpenSSL拡張を有効にしたいです。
phpinfoを見ると、configureの中に
--with-openssl=shared
はあるのですが、OpenSSL固有のセクションは表示されていません。
configureで組み込むだけでなく、
php.iniで何か書かないといけないのでしょうか?

314 :nobodyさん:2008/08/21(木) 12:35:50 ID:???
例えば2chからスレの文字列を全部取得して、
京大とかが無償提供している形態素解析器とか使って
未知語をピックアップするシステムだけなら、
phpで500行で、1日で出来る。っていうか、昔大学でやっていたし。

で、それをベースにして後は一年掛けて言葉を付け加えていくだけ。
ちなみに、言葉を100%自動分類なんてできない。80%見つければ上々でしょ。

315 :nobodyさん:2008/08/21(木) 12:46:57 ID:???
>>313
sharedの意味を考えてみろ


316 :nobodyさん:2008/08/21(木) 12:48:00 ID:???
>>314
それは大学でやってたというベースがあるからだろ?


317 :nobodyさん:2008/08/21(木) 12:50:16 ID:???
>>313
sharedってことは共有モジュールでしょ
起動時に読み込まれるからもしopensslのライブラリが読み込めない状態だったら無視されるわな
errorとかwarningって出なかったっけ?

318 :nobodyさん:2008/08/21(木) 12:52:13 ID:???
>>316
いや、だから自然言語処理のプロ(京大か長岡大の准教授レベルで十分)を
1年で1000万で見てもらえればいいだけ。(最初の3ヶ月常駐してもらえばいいし)

自然言語処理やっている人間は、CとかPerlとか余裕で出来るし、システムも相当詳しい。
言葉の登録なんて、バイトにやらせればいいしなぁ。このシステム俺が入札できねぇかな。

319 :nobodyさん:2008/08/21(木) 12:57:53 ID:???
スレチはうせろ

320 :nobodyさん:2008/08/21(木) 13:00:48 ID:???
>>316
ってことは、お前に頼むより、京大の偉い先生に
1年掛けて作ってもらった方が安くってことだろ?

国立大学の教授の給料がいくらかは知らないが。

321 :nobodyさん:2008/08/21(木) 13:10:08 ID:???
>>320
京大の偉い先生が、学会で散々既出のテーマに、
1年も張り付いてられるわけがない。
大学生レベルの知識でそれなりのものが出来るものをw

322 :nobodyさん:2008/08/21(木) 13:29:46 ID:???
俺も一応文書検索つうか分類つうかの分野の論文を書いたことがあるが...

品詞分解とデータベース化まではお手軽に出来るだろうが、
文書の意味推測、クラスタリングやその検索なんぞは難しいなぁ。

この手の論文は山ほどあるから実装はできると思うけど、
それが論文どおりの精度や、実用的な速度が出せる保証はないので
失敗してもいい研究ならともかく、一千そこそこで請け負う中堅研究者はいなさそうな気がする。
ヒューリスティックなやり方でいいならゴニョゴニョできるだろうけど、研究的にはアレだし。


そういや、NTTってgooの親玉だよね。ということはgooのアレを使うのかな。


323 :nobodyさん:2008/08/21(木) 13:57:08 ID:???
> 文書の意味推測、クラスタリングやその検索なんぞは難しいなぁ。
それは、ほどほどに実装するレベルでいいと思うが。
検査対象も新聞の文章ではなく、言葉の変遷が速い口語の崩れた文章なわけで、
1年で仮に80%の検出率が出たとしても、3年研究しても85%程度の検出率にしかならないような気がする。

イメージ的には、ウィルス駆除ソフトの更新パッチの開発かな。
ある程度新型ウィルスを自動で検出して作業負荷を減らしつつも、
更新パッチそのものは人間の手で一つ一つ作っていかないといけない。

まぁ、NTTあたりがそこ当たりの研究が強いから、強みを生かして落札しそうだ。

324 :nobodyさん:2008/08/21(木) 14:19:36 ID:???
ハードとか保守とかが高いのねん。必要以上にねw
これで儲けてるから

325 :nobodyさん:2008/08/21(木) 14:35:51 ID:???
すみません、自己解決しました。失礼しました。

326 :nobodyさん:2008/08/21(木) 15:31:06 ID:cSskhM/G
こんにちは くだらない質問で申し訳ないのですが・・・・・

phpでメール送信やろうと思って調べてたらmail関数だと文字化けする
mb_send_mail使いなさい。って言われたんですが・・・

でも試しにsubject、本文、from内の名前太郎<xxxx@dd.jp>
みたいなバリバリ日本語メールをmail関数で送ったら普通に送れました。

環境はクライアントがyahoowebメールです、サーバはたぶん1000℃メールだと思います。

逆にどんな環境だと文字化けしちゃうんですかね??

327 :326:2008/08/21(木) 15:36:13 ID:cSskhM/G
あ、事故解決しました。
火の鳥で受信したら見事!文字化けしてました。

つーことはブラウザーのデコード機能のほうがメールクライアントのデコード機能より優秀ってことですかね?
なんかphpじゃなくなってきそうで申し訳ないんですがここら辺をご教授いただけたら幸いです。

328 :nobodyさん:2008/08/21(木) 15:36:41 ID:???
> 逆にどんな環境だと文字化けしちゃうんですかね??
サーバーが1000℃に耐えられない環境だと文字化けするんじゃね?

329 :nobodyさん:2008/08/21(木) 15:41:05 ID:???
>>326
それ俺も知りたいなぁ。

使っているフレームワークがmailを使っている。

もちろん送信前に自分でJIS変換したり、
MIMEエンコードしたりしているが、それで問題なく送れる。

>>326さん。ちゃんとエンコードしてる?

mb_send_mailだとそんなことしなくても送れる?
でも結局文字化けやら不具合やらありそうな感じなんだよね。
なにやっているかわからない。痒いところに手が届かない。そんな感じ。

330 :nobodyさん:2008/08/21(木) 15:44:43 ID:???
むしろmailで送るのが普通
mb_send_mailなんて使う理由がない

331 :nobodyさん:2008/08/21(木) 16:09:05 ID:???
Upload機能をPHPで実装しようとしていますが、php.confにLimitRequestBodyで512Kの
制限がかけられている。
レンタルサーバなのでhttpd.conf,php.confはいじれない。
.htaccessにLimitRequestBody=0とやってもphp.confの設定が優先されるようで×。

このリミットを超えてUploadする手立てはありますか?
分割してアップロードとか出来ればいいのだが・・・

332 :nobodyさん:2008/08/21(木) 16:18:23 ID:???
そりゃ分割したのをアップロードするしかないわな

333 :nobodyさん:2008/08/21(木) 16:59:13 ID:???
>>331
サーバーに要望出してみれば?
意外にもOKされるかも。この時代512KBはちょっとね・・・・。

334 :nobodyさん:2008/08/21(木) 17:40:58 ID:???
>>326
mailで日本語をそのまま適用した際の文字コードと
yahooのWEBメールのブラウザ表示上の文字コードが同じだと化けない
クライアントの内部エンコードが異なるからASCIIに変換して送る必要がある

mb_send_mailは、バグが残ってる場合とパッチで修正されてる環境と様々だから
自分でエンコードしてmailで送るべし


335 :nobodyさん:2008/08/21(木) 18:07:13 ID:???
>>333
サーバ会社には要望したのだけどだめとの事。
サーバを変えるしかなさそうですね

336 :nobodyさん:2008/08/21(木) 18:18:07 ID:???
質問させてください。
あるサイトの発注管理サイトを制作しました。
環境はPHP4+MySQLです。サーバーはCentOS4+qmailです。

流れとしては、
1.お客からの見積依頼をフォームで入力、送信
(同時に見積を依頼するフランチャイズ店舗も選択します)

2.本部に依頼内容をメール送信

3.各フランチャイズに依頼内容をメール送信

4.各フランチャイズの担当者の携帯にお知らせメールを送信(複数人)

5.メールを見ない人がいるので各フランチャイズにFAXを送信
というものです。
5.のFAX送信というのは、指定されたメールアドレス宛に内容を送るとそのままFAX送信してくれるというサービスを利用しています。

問題は、4.と5.を処理しない時があるというものです。
4.を処理しない時は5.も処理してくれないようです。
4.を処理しても5.は処理しない時もあります。
頻度としては3回のうち1回は処理しない感じです。
又、複数店舗が選択されている場合、一店舗目は3.4.5.と正常に処理したのに、
2店舗目は3.で終わる、という時もあります。もちろん正常に全店舗処理が終了している時もあります。
2.と3.は毎回きちんと処理しているようです。
PHPプログラムも流れを追ってみましたが、特に不審な点はありません。
4.と5.の間にDB登録がありますが、これは毎回ちゃんと処理されているようです。
こちらとしても色々と調べましたが(qmailのスプールやキューなど)、全然わからず手詰まり状態です。
原因は何か考えられるでしょうか・・・?

337 :nobodyさん:2008/08/21(木) 18:27:27 ID:???
>>336
携帯への連続送信ではねられてるんじゃないか?

338 :326:2008/08/21(木) 18:41:55 ID:cSskhM/G
>>329
やってませんw
つーかmb_send_mailだと勝手にやってくれて便利な感じです。

>>334
なるほど・・・
僕が読んだ本だとみんな一様に日本語使うときはmb_send_mail使いやがれって書いてあったから
そのまま鵜呑みにするところでした。

339 :nobodyさん:2008/08/21(木) 18:48:28 ID:???
>>338
IT関係の本って、誤植が多いし著者独自の考えがあるから、
話半分で読んでいるよ。
広辞苑のような本とITの本とレベルや信頼度が雲泥の差。

340 :339 :2008/08/21(木) 18:52:26 ID:???
ちなみに、同じ会社の人間で本やIT系の雑誌記事を書いている奴が結構いるが、
別に飛び抜けて技術力が高いというわけではない。
そういう人が書いているのを、全部信じようとするとはまる。

341 :nobodyさん:2008/08/21(木) 19:08:48 ID:b3OQUppz
祝日を判定して処理を分けたいと思います。
現在は別ファイルに祝日を記述して、それを読み込んで
判定しているのですが、もっと簡素化できる方法や
ライブラリはないのでしょうか?

342 :nobodyさん:2008/08/21(木) 19:18:30 ID:???
>>341
祝日って、どこの国の祝日?

343 :nobodyさん:2008/08/21(木) 19:20:15 ID:???
>>341
祝日は、「国民の祝日に関する法律」という法律で決まっているから、
総務省の法律データーベースから法令データを取得して、
その条文の中に書いてある月日を取得して、判定するのはどう?

344 :nobodyさん:2008/08/21(木) 19:22:34 ID:???
ググったけど結構あるね。

345 :nobodyさん:2008/08/21(木) 21:25:49 ID:???
>>328
sendに耐えられないなんてひどいメールサーバだな。

346 :nobodyさん:2008/08/21(木) 22:24:51 ID:???
php開発にvimって使えますか?
ショボノートなので重いIDEは使えないんです><

347 :nobodyさん:2008/08/21(木) 22:50:37 ID:???
すいません、質問させてください。

現在、登録されたユーザにメールを一斉に送るものを作っています。
メールを送る部分で、単にmb_send_mailとするとメールが送れるのですが、
foreachなどのループの中でこれを行うとメールが全く送れません。
メールの送信にはmailを使っています。

サーバは、さくらインターネットのレンタルサーバ(スタンダード)です。

プログラムはこんな感じです。

$addList = DBから取得したアドレスの配列

foreach($addList as $add)
{
// この部分では送れない
mail($add, $subject, $message, 'From: '.$from);
}

// この部分では送れる
mail($addList[0], $subject, $message, 'From: '.$from);
mail($addList[1], $subject, $message, 'From: '.$from);
mail($addList[2], $subject, $message, 'From: '.$from);

スパムとかの対策でカットされてるんでしょうか。
うまい回避法をご存じの方、ぜひお願いします。

348 :nobodyさん:2008/08/21(木) 22:55:47 ID:???
>>347
何通ぐらい送ってんの?
俺予想はtimeoutなんだけど

349 :nobodyさん:2008/08/21(木) 22:58:49 ID:???
>>348さん

今はせいぜい3通とかで、多くても5通です。
うまく動けば、20〜50通くらいで運用したいと思っているんですが・・・。

350 :nobodyさん:2008/08/21(木) 22:59:45 ID:???
>>347
当店の雰囲気に合った服装というのは勿論ですが、
何よりもその服装がお客様ご自身に合っているかどうか、
という点を最も重視してチェックさせて頂いております。
特別に決まりや基準があるわけではなくファッションの基本と同じですので、
難しくお考えにならずにご来店頂ければと思います。

351 :nobodyさん:2008/08/21(木) 23:17:52 ID:cSskhM/G
>>347
何でループさせないの?

352 :nobodyさん:2008/08/21(木) 23:22:15 ID:???
>>351さん

ループですか?
foreachではなく、ということですか?

353 :nobodyさん:2008/08/21(木) 23:22:53 ID:???
>>347
あのな、NOTICEレベルのエラーも表示させてみ
ループ内で使ってる変数が未定義とか、そんなオチだろうよ。


354 :nobodyさん:2008/08/21(木) 23:38:39 ID:2yWxB/YG
Vimなんて平気で使えます><

355 :nobodyさん:2008/08/22(金) 00:03:05 ID:???
>>348
foreach内で$addとかの変数をvar_dumpしてみ
普通foreachの外でmail出来てforeach内でループ出来ないってことはない
スコープが透過だからな

それと余談だが、一斉送信はsendmailよりSMTPがいい
sendmailは一通ずつコネクションを切るからオーバーヘッドがウザす
さくらでSMTP使えれば、だが

356 :nobodyさん:2008/08/22(金) 00:18:15 ID:???
>> 353さん
>> 355さん

ありがとうございます!
ご指摘いただいて、一通りエラーが出ないようにしてみたらメールが送られてきました。
お騒がせして申し訳ありません…。

もう少しきちんと作って確認をしてみます。
メールもSMTPで送れそうだったらそちらで送ることにします。

ありがとうございました!

357 :nobodyさん:2008/08/22(金) 00:19:44 ID:UcmQnfu1
>>355
詳しいのか詳しくないのかわけわからんコメントですねw
上と下とが別人みたいw

358 :nobodyさん:2008/08/22(金) 00:22:22 ID:UcmQnfu1
sendmailよりpostfixやqmailが良い
sendmailは一通ずつコネクションを切るからオーバーヘッドがウザす
postfixやqmailなら・・・どうだかしらないけどw

359 :355:2008/08/22(金) 02:44:01 ID:???
言い方が悪かった
sendmailと言ったのはPHPのmail系関数にwrapされてる実装の方
つまりphp.iniのsendmail_pathで指定したコマンドを経由して送信する機能のことね

SMTPと言ったのは25や587ポートで内部や外部のSMTPにコネクションを開いて送信する方
こっちはコネクションを自分で閉じるから接続・切断のオーバーヘッドが少ない
自分で実装するのが面倒な時はPEAR::SMTPを使う手もある

>>355 「foreach内でループ出来ない」
ボケとる・・・

360 :nobodyさん:2008/08/22(金) 02:46:30 ID:nRWBXbXV
どなたか教えて頂けないでしょうか?

文字の0〜9をパターンマッチングさせる時の正規表現はどのように書けば
よいのでしょうか?
↓だと数字の0〜9のパターンマッチングになるため、$search_numberに
文字列の0〜9(例:文字列で777)が入っていても0として扱われてしまいます。

preg_match("[0-9]",$search_number)

361 :nobodyさん:2008/08/22(金) 02:47:54 ID:XmBnafOM
Net_SMTP使ってるんですが、
$smtp->connect()時に、タイムアウトをたとえば10秒に指定していても、
回線を切って実行してみると、エラーを返してくるのが1分後くらいです。
何が問題なのでしょうか?

362 :nobodyさん:2008/08/22(金) 02:55:40 ID:???
>>360
デリミタ

363 :361:2008/08/22(金) 03:08:54 ID:???
Net_Socketの中見たら、中でgethostbynameとか使ってました
回線切ってたからここで引っかかってたのかも
っていうか、この関数タイムアウト自体がないんですね
PHPテラアホス

364 :nobodyさん:2008/08/22(金) 03:30:11 ID:???
>>362
/ が抜けているだけだったのですね。
上手く動作しました。ありがとうございました。

365 :nobodyさん:2008/08/22(金) 09:06:51 ID:???
>>363
まぁしかたないと思う
Cの同名関数を利用してるしな
ソケットで独自に実装すればstream_set_timeoutが使えるのにな



366 :nobodyさん:2008/08/22(金) 09:09:53 ID:???
>>317
sharedの場合soファイルが出来るだけ
iniの設定変えてなかったらエラーとか出ない
ただ関数がネーヨというエラーは出るがな

367 :nobodyさん:2008/08/22(金) 09:19:01 ID:5EVYna0b
すみません。教えてください。
phpで作ったサイトで運用してますが、
CPU Load Avarageというのを見ています。
これって、1を超えると、CPUの使用率は常に100%という関係になるのでしょうか?
私の場合、1を常に超えた状態なので、phpが暴走するのではないかと不安視しています。
サーバを増やすなどの措置が必要になりますか?
アドバイスを教えてください。

368 :nobodyさん:2008/08/22(金) 09:21:22 ID:???
はぁ?お前は何を言ってるんだ

369 :nobodyさん:2008/08/22(金) 09:28:56 ID:5EVYna0b
>>368
すみません。具体的なイメージなんですが、
私が不安視しているのはwindowsの場合とかって、
CPUの使用率が100%になると暴走状態になって、再起動することになりますよね。

そのような状態がサーバーで起こっているとしたら、
新しく起動されたphpが暴走して、どんな悪影響を及ぼすか不安視しています。

windowsみたいに、画面が二重に表示されたり、マウスの軌跡がずらずら並んだり、
そのようなことがphp上で発生する状態なのでしょうか?

370 :nobodyさん:2008/08/22(金) 09:40:05 ID:???
もうちょっと知識と経験を積んでから始めたほうがいいと思う

371 :nobodyさん:2008/08/22(金) 09:50:22 ID:5EVYna0b
>>370
たしかにそうですね。すみません。
会社命令で、その中でパソコンに詳しいのが私だけで、
といっても、ホームページを作った経験があるだけなんですが、
それで会社の全商品を表示したりするサイトなどを一人で立ち上げることになり、
会社から飼ってもらった本を片手にやっと、できったという感じです。
OSは本の付録についていたFreeeBSDを使っています。

ですが、その本でCPU AVERAGEを見ろとかいてあり、みたら1を常に超えている状態になっていて、
困っています。会社に他に空いているパソコンがないので、
別のパソコンを買うにも、稟議書みたいなものを通さないと行けないので、
面倒だったりします。やはり、もう一台必要でしょうか?

372 :nobodyさん:2008/08/22(金) 09:59:18 ID:???
>>371
その状態は大変危険な状態です。しかも、業務につかっているなら尚更です。
とりあえず、ここから見積もりを取って、早急に上司と掛けあうのが先決です。
http://click.linksynergy.com/fs-bin/click?id=nEMDVbzUNEo&offerid=113065.10001436&type=3&subid=0
今現在も稼働しているなら、大急ぎで対応してください。

373 :nobodyさん:2008/08/22(金) 09:59:57 ID:???
>>371
topコマンドの「CPU Load Avarage」か?
ほとんど負荷のない時に1が表示され、負荷の高い場合は最大で10だ
負荷の高さを10段階で評価する
ちなみにスレ違い

PHPがCPUの負荷で暴走することはまずない(せいぜいタイムアウト
メモリ不足でcoreを吐くことはある

374 :nobodyさん:2008/08/22(金) 10:11:34 ID:5EVYna0b
>>372>>373
お返事、大変ありがとうございます。
phpが暴走することがないということで、それは安心しました。
ただ、危険な状態には変わりないんですね。
教えられたサイトで、さっそく見積もりを取ってみます。
ありがとうございございました。あと、スレ違いになってしまい申し訳ありませんでした。

375 :nobodyさん:2008/08/22(金) 10:47:30 ID:???
>>374
>>372は釣りだと思うが・・・

CPU面ではまったく負荷が感じられないわけだし
どんなソースを書いてるか知らないからこれだけでは危険と判断出来ん
(スペック的に現状では問題ない)

素人が企業サイト、これは危険だがな

376 :nobodyさん:2008/08/22(金) 11:25:27 ID:UcmQnfu1
何でHP作るぐらいのスキルの人が鯖管理まで手を出さなくちゃなんない理由が無い。
コストの話なら逆にそっちのほうがかかる。ユーの無駄な人件費が

377 :nobodyさん:2008/08/22(金) 11:30:55 ID:???
>>373
何も負荷がない時のロードアベレージは、1じゃなくて0だろ。
誰も突っ込まないところを見ると、このスレの住民は相当レベルが低そう。

378 :nobodyさん:2008/08/22(金) 11:43:11 ID:SUat73CA
>>377
>>373 もCPU Load Avarage
とか書いてる時点で釣りだと思うんだけど……。
Load Averageのことだとしても、説明変だし。

379 :nobodyさん:2008/08/22(金) 11:59:12 ID:???
>>374
スリーサイズ教えてくれたら的確なアドバイスをレスしよう

380 :nobodyさん:2008/08/22(金) 12:00:50 ID:???
明らかに釣りなのにいちいち突っ込む奴の方が頭悪いだろJK

381 :nobodyさん:2008/08/22(金) 12:05:39 ID:???
>>380
とかいって、俺が突っ込んだのを見て、慌ててレスした癖に。

382 :nobodyさん:2008/08/22(金) 12:06:12 ID:???
なんだこの基地外

383 :nobodyさん:2008/08/22(金) 12:17:30 ID:???
は?
俺も実は知ってました、それ位赤ちゃんでも分かる、みたいな言いぶり。
こういう奴周りにもいるが、キモイわ。

384 :nobodyさん:2008/08/22(金) 12:20:07 ID:???
アフィ貼ってる時点で・・・

385 :nobodyさん:2008/08/22(金) 12:45:45 ID:q1zzzoBS
釣り人が釣られて怒ってらwwwwwwww

386 :nobodyさん:2008/08/22(金) 14:56:58 ID:UcmQnfu1
釣り人が釣られるってあれだろ?
渓流でへたくそが投げた針が漫画みたいに口に引っかかってあたたたた〜ってなるあれだろ?

387 :nobodyさん:2008/08/22(金) 15:53:59 ID:fin98YtZ
うわあ痛そう

388 :nobodyさん:2008/08/22(金) 16:02:05 ID:???
俺は、投げたルアーで眼球をえぐられた人を知っているけど。

389 :nobodyさん:2008/08/22(金) 16:37:18 ID:???
50近い男女が大学生を演じるって無理ありすぎ!!!

制作予算ねーのかよ。

390 :nobodyさん:2008/08/22(金) 17:06:39 ID:???
>>389
ハァ?

391 :nobodyさん:2008/08/22(金) 17:07:23 ID:???
誤爆だろw

392 :nobodyさん:2008/08/22(金) 17:07:55 ID:???
気になるw

393 :nobodyさん:2008/08/22(金) 20:35:41 ID:???
sessionをファイルで保存するのと、
memcashedで保存するのとどっちが速いですか?
ファイル操作とmemcahedの接続コストとどちらが掛かるかなんですが。
ちなみに今はファイルでやっています。
それより、良い方法がないかと模索中です。

394 :nobodyさん:2008/08/22(金) 21:40:52 ID:???
どっちもそれほど変わらん
DBとして使うなら全然違うがセッションでは・・・

phpのセッションもコンストラクトとデストラクトでのみファイルアクセスを行うから
その時はメモリよりオーバーヘッドが豆粒程度に大きいけど
途中の読み書きはメモリ上に展開されたセッション変数に収まる
結局メモリだからほとんど同じ



395 :nobodyさん:2008/08/22(金) 22:27:08 ID:???
>>394
> phpのセッションもコンストラクトとデストラクトでのみファイルアクセスを行うから
そうなんですね。それなら、大して変わりなさそうですね。
というより、ディスクよりメインメモリーの方が小さいことを考えると、
アクセス数が増えるこを考慮してファイルの方がリスクが少ないともいえますね。
であれば、冒険せずにファイルでやってみます。
ありがとうございます!!

396 :nobodyさん:2008/08/22(金) 22:50:09 ID:???
おれはもともとアニオタのおっさんが質問してるってことを見抜いてたから一言も答えなかったぞ

397 :nobodyさん:2008/08/23(土) 00:45:53 ID:???
一体誰と戦っているんだ

398 :nobodyさん:2008/08/23(土) 14:07:17 ID:5Laah46M
症状:不要なディレクトリが削除できない

 FTP経由で不要なディレクトリが削除できなかったので、rmdir関数を利用してみたところ、以下のエラーメッセージが表示されました。

エラーメッセージ:
Warning: rmdir($dir) [function.rmdir]: Directory not empty in /***.com/***.html on line 2


経過:rmdir関数は、ディレクトリの中にファイルが存在した場合削除に失敗する仕様なので上記のエラーメッセージを吐き出したものと考えられますが、ディレクトリの中身は空(0 Bytes)です。

 試しに、ディレクトリの中身ごと削除を行うという「system("rm -rf $dir");」を実行させてみましたが、こちらはエラーメッセージは吐き出しませんが、ディレクトリの削除もされませんでした。

 こういう場合の原因は何が考えられますか?
 また、どう対処すれば良いでしょう。

サーバのOS:不明(無料レンタルサーバ)
PHP 5.1.6
参考:ディレクトリまたはファイルの所有者は自分のIDになっています。

399 :nobodyさん:2008/08/23(土) 14:39:43 ID:???
>>398
.で始まるファイルがあるとか
そうでなければサーバのPHP設定とか

400 :nobodyさん:2008/08/23(土) 15:12:43 ID:???
パーミッションエラーじゃないから違うとは思うが、
そのディレクトリの親ディレクトリの書き込み属性とか

401 :nobodyさん:2008/08/23(土) 15:18:06 ID:???
400 :nobodyさん:2008/08/23(土) 15:12:43 ID:???
パーミッションエラーじゃないから違うとは思うが、
そのディレクトリの親ディレクトリの書き込み属性とか


書き込み属性がパーミッションだっつうのw

402 :nobodyさん:2008/08/23(土) 15:35:07 ID:???
所有権は?

403 :nobodyさん:2008/08/23(土) 15:48:03 ID:???
所有権は、時効によって消滅しました。

404 :398:2008/08/23(土) 15:50:48 ID:5Laah46M
>>399
変わった名前のファイルは作成しませんでしたし、ファイルは全て削除されたようで空です。
サーバのPHP設定というのはどういう事になりますか?
察しが悪くすみません


>>400
パーミッションは変更出来るので色々試してみましたが、結果は変わりませんでした。


>>402
所有権は自分のIDになっています。
ので、属性変更は可能です。
ディレクトリが削除できません。

405 :nobodyさん:2008/08/23(土) 16:48:46 ID:???
>>404
いろいろって、ディレクトリを消す=親ディレクトリの内容が変わる
つまり、wが必要

406 :nobodyさん:2008/08/23(土) 17:10:43 ID:???
not emptyなら空じゃないからでしょ
パーミッションどうこうでもnot emptyが出力されるはずは・・・

scandir等でディレクトリの中を出力してみたら?
.で始まるファイルを隠しファイルとしている場合がある
「.」「..」は無視な

407 :nobodyさん:2008/08/23(土) 17:33:06 ID:MJFU9Zb0
すいません、すごく基本的な質問です。

掲示板にパスワードを入力してチェックする際に
半角英数字4〜8文字かどうか調べたいのですが。

if(preg_match("/[0-9a-zA-Z]{4,8}/", $pass)

これでいけるかと思っていたらこれだと
半角英数字4〜8文字があるとok になってしまうらしく
(半角英数字10文字)例)1234567890
(記号有り)例)****1234++
もokになってしまいます。

正しい記述はどうするんでしょう?

408 :398:2008/08/23(土) 17:36:35 ID:5Laah46M
>>406
そういう手がありましたか・・・!(頭弱くてすみません
scandir活用させてもらったところ
しっかり隠しファイルがいつの間にか存在していました。
「0 Bytes」という表示から本当に中身は空なのだと思い込んでいたせいで混乱しておりました。

地道にリストアップして削除していきます
助かりました、ありがとうございます!

409 :407:2008/08/23(土) 17:55:07 ID:MJFU9Zb0
あ〜、すいません解決しました。

^[0-9a-zA-Z]{4,8}$

先頭と終端を指定していなかった。
お手数をおかけしました。

410 :nobodyさん:2008/08/23(土) 20:19:17 ID:tD80K7qS
phpでメールを送信した後に、本当に送信したメールが届いてるかどうかを
チェックする関数を教えて下さいませ。お願いします。

【OS】CentOS4
【PHP】PHP5
【DBサーバー】MYSQL5.0
です。

411 :nobodyさん:2008/08/23(土) 20:32:21 ID:???
>>410
無い。

さあ次どうぞ。

412 :nobodyさん:2008/08/23(土) 20:57:45 ID:tD80K7qS
>>411
まじですか?

PHPって、GG佐藤以下ですねw

413 :nobodyさん:2008/08/23(土) 21:27:58 ID:pIRCIy4o
すみません、質問させてください。

例えばURLから example.php?param1=aaa&param2=bbb のように2つのパラメータを読み込む場合、
XML形式のサイトマップなどからのアクセスだと、
example.php?param1=aaa&amp;param2=bbb というURL表示からの読み込みとなるため
"amp;"がパラメータ名の一部として解釈されてしまい、正しいデータのやりとりがなされません。

この問題をphpプログラム内にて解決するにはどうしたらよろしいでしょうか?
ちなみに.htaccessでのRewriteRule機能を利用しての解決はできませんでした。

初歩的な質問かもしれませんが、どなたか教えていただけないでしょうか?
よろしくお願い致します。
(php5.2 サーバーはKagoyaの専用サーバープランを使用しています。)

414 :nobodyさん:2008/08/23(土) 21:32:39 ID:???
>>412
お前が勉強不足なのだよ
そもそも到着したかどうかなんて分かるわけないじゃん
宛先のMXからリレーしてるかもしれんのに
どうしても必要ならエンベロープに届くエラーメールでもチェックするんだな


415 :nobodyさん:2008/08/23(土) 21:35:36 ID:???
>>413
html_entity_decode関数で「&」を「&」に戻せば良かんべ

416 :nobodyさん:2008/08/23(土) 21:36:41 ID:???
>>415
1個目の「&」−>「&amp;」



417 :nobodyさん:2008/08/23(土) 21:41:06 ID:bsrwSGnB
PHP+MySQLでのサイト作成で、いい方法を思いつかないので、アイデアを貸してくださいw

year month day text
2008 8 22 aaaa
2008 8 22 bbbb
2008 8 23 cccc
 ・
 ・
 ・

という感じでデータがあって

ページ上には

2008/8/22
aaaa
bbbb

2008/8/23
cccc

という風に出したいです。


418 :nobodyさん:2008/08/23(土) 21:43:04 ID:???
>>415

>>413です。ありがとうございます!
早速試してみようと思います。

419 :nobodyさん:2008/08/23(土) 22:05:47 ID:???
>>417
配列を使えばいいんじゃね?

$recodes // mysqlからfetchallしたようなやつ(fetchallはPDOだが)
$list = array();
foreach($recode AS $row){
 $date = *****(2008/8/22になるように)
 $data = *****(aaaaになるように)
 if(!isset($list[$date])){ $list[$date][] = $date."<br />"; }
 $list[$date][] = $data."<br />";
}
implode("<br />", $list);

まぁ考え方の1つってことで


420 :nobodyさん:2008/08/23(土) 22:07:07 ID:???
ぎゃ!まちがった

$recodes // mysqlからfetchallしたようなやつ(fetchallはPDOだが)
$list = array();
foreach($recode AS $row){
$date = *****(2008/8/22になるように)
$data = *****(aaaaになるように)
if(!isset($list[$date])){ $list[$date] .= $date."<br />"; }
$list[$date] .= $data."<br />";
}
implode("<br />", $list);


421 :nobodyさん:2008/08/23(土) 22:14:23 ID:???
度々すみません。
>>413,>>418です。

URL文字列を$HTTP_GET_VARSとして、

$HTTP_GET_VARS = html_entity_decode($HTTP_GET_VARS);

と該当ページに挿入したのですが
Warning: html_entity_decode() expects parameter 1 to be string というメッセージが出て
上手くいきませんでした。この関数の正しい使用法を教えていただけないでしょうか?


422 :nobodyさん:2008/08/23(土) 22:22:42 ID:???
>> 421
parse_str(html_entity_decode($_SERVER['QUERY_STRING']), $argv);
print_r($argv);
ってやってみ

423 :nobodyさん:2008/08/23(土) 22:56:55 ID:???
>>421です。

>>422さん、上手くいきました。
どうもありがとうございました!

424 :417:2008/08/23(土) 23:11:04 ID:bsrwSGnB
ありがとうございます!
なんとなく見えました!

425 :nobodyさん:2008/08/24(日) 02:12:36 ID:tkAECmwh
掲示板を製作しています。
テキストエリアから入力された改行コードを<br>に変換するのは以下のコードでできるのですが、

$ensql = preg_replace("/(\r\n|\r|\n)/","<br>",$ensql);

逆に<br>を改行コードに変換するのはどうすればよろしいのでしょうか?
編集機能を持たせようと思い改良を加えているのですが・・・

\r\nでしたらWindows系ですし、\nでしたらUnix系ですし・・・・

426 :nobodyさん:2008/08/24(日) 02:32:34 ID:???
>>425
べつに\nで出力したっていいじゃん
どうせ正規表現で<br>に直すんだから

427 :nobodyさん:2008/08/24(日) 02:33:21 ID:???
winで\nで出力したらなんか問題でもあるか?
ためして不具合でてからいってくれ

428 :nobodyさん:2008/08/24(日) 02:34:37 ID:tkAECmwh
すいません・・・\nでも問題無いのですね。
ありがとうございます(;´Д`)

429 :nobodyさん:2008/08/24(日) 09:50:04 ID:???
どっちでも問題ないが、それとは別にWindowsの環境で
テキストモードでオープンしたファイルに\nで書き込むと
勝手に\r\nに変換される。
テキストモードというのがあるのは、そういうこと。

430 :nobodyさん:2008/08/24(日) 09:53:19 ID:wBtpqVh7
質問です
ttp://fs-server.net/reference.htmlにある
他サイトの表示内容を取得 ⇒ ##GET_SITE##
はどの様になってるのでしょうか?
readfile()で全体を取り込むのはできたのですが開始テキストと終了テキストを指定するところが分かりません。

よろしくお願いします。


431 :nobodyさん:2008/08/24(日) 11:17:31 ID:???
いえいえこちらこそ

432 :nobodyさん:2008/08/24(日) 14:19:31 ID:???
>>430
strstrだけで何とかなる
終了テキストは補完する必要ありだが

433 :nobodyさん:2008/08/24(日) 18:12:19 ID:???
PDOとmysqlの文字化け対策に「set names utf8」を使ってるんですけど
これはあまりよろしくないらしいんですが
他に何か解決方法はあるんですか?
レンタルサーバなのであまり細かい設定はできないのですが

434 :nobodyさん:2008/08/24(日) 18:26:23 ID:???
>>432
ありがとうございます。調べてみます!

435 :nobodyさん:2008/08/24(日) 19:02:06 ID:???
>>433
文字化けは主にサーバ側で自動変換させるから生じる
この際nemeでbinaryを指定することをオススメ
無変換で通信するから化けることはまずない



436 :nobodyさん:2008/08/24(日) 19:38:55 ID:???
>>433
あ、それ俺も聞きたい。スレチだけど。
何かのSQL投げる度に、そのSQL実行するから、SQLの実行数が倍になってしまう。

437 :nobodyさん:2008/08/24(日) 19:47:07 ID:???
接続したときに1回実行すればいいだろ

438 :nobodyさん:2008/08/24(日) 19:54:08 ID:???
接続直後に、接続に使ったライブラリの機能で漢字コードの設定をすればいい
SET NAMES だとライブラリ側は文字コードを認識しないので、文字コードの違いを利用した
悪意のあるコードを入れられる可能性がある。

439 :nobodyさん:2008/08/24(日) 20:08:35 ID:???
>接続直後に、接続に使ったライブラリの機能で漢字コードの設定をすればいい
mysql関数だとmysql_set_charsetってのがあるみたいですけど
PDOだとどうしたらいいんですか?

440 :nobodyさん:2008/08/24(日) 21:12:28 ID:???
set namesでいいべ
インジェクションを心配するってことはリクエストの文字コード変換やクォートを怠ってるってことでしょ
pdoならprepareとドライバで十分とは言えなくてもやらないより全然違う

441 :nobodyさん:2008/08/24(日) 21:19:00 ID:???
俺もset namesしかやり様が無いからやってるけど
無駄なクエリが1発っていうだけでなんか気持ち悪いよね

442 :nobodyさん:2008/08/25(月) 00:06:29 ID:???
確かに無駄にSQLを流すことになるが
APIと言ってもmysql_set_charsetも同じことだぜ
サーバとクライアントで文字コードを統一することが第一だな


443 :436 :2008/08/25(月) 00:26:46 ID:???
ググったら、直った。
ver4.1以降なら、mysqlの設定ファイルの問題。

444 :436 :2008/08/25(月) 00:28:45 ID:???
おっと書き忘れた。

skip-character-set-client-handshake

これをsqldセクションに入れればOK!


445 :nobodyさん:2008/08/25(月) 01:01:07 ID:???
<form name="frm" method="post" action="test.php">
<input type="hidden" name="test" value="a">
<a href="#" onclick="document.frm.submit()">フォームをサブミットする</a>
</form>
でtest.phpにhtmlページにおける値をPHP変数に渡して、
<head>
<?php
$txt = $_POST['txt'];
?>
<script type="text/javascript">
<!--
function hoge(){
var txt = "<?= $txt ?>";
alert(txt);
}
//-->
</script>
</head>
<input type="button" value="click" onclick="hoge();"></input>
このようにPHP変数からJavaScript変数に渡したいのですがどのようにすればよいのでしょうか。
上記のプログラムだとできません。どなたかご教授お願いします。

446 :nobodyさん:2008/08/25(月) 01:29:05 ID:???
>>444
my.cnfを書き換えられるならサーバとクライアントの文字コードを統一した方が安全だぜ
そもそもskip-character-set-client-handshakeって
クライアント側の文字コードを省略してサーバの文字コードを強制的に使用するって設定じゃん?
かなり背水な対応方法だな

447 :nobodyさん:2008/08/25(月) 01:33:18 ID:???
>>445
誤 $txt = $_POST['txt'];
正 $txt = $_POST['test'];

448 :nobodyさん:2008/08/25(月) 01:41:33 ID:???
>>447
こんなところでミスしてたとは…orz
きちんと動きましたありがとうございます

449 :nobodyさん:2008/08/25(月) 01:47:47 ID:???
SET NAMES するのを忘れた状態で保存してしまったデータは
どうやって取り出したら良いでしょうか??

テーブルの文字コードは UTF-8
データはPHPからSET NAMESを忘れて突っ込んだUTF-8

mysqldump .(省略) --default-character-set=utf8 > hoge.dump
して取り出してみたけど、見事にデータがぶっ壊れてます。困った。

450 :nobodyさん:2008/08/25(月) 01:48:32 ID:???
そういえば、
var txt = "<?= $txt ?>";
の箇所の<?= 〜 ?>は一体なんなのでしょうか?


451 :nobodyさん:2008/08/25(月) 02:11:33 ID:???
>>446
俺は、サーバーもクライアントも文字コード一緒だよ。
っていうか、俺がやっている奴は趣味でやっている奴だが、
そもそもシステム構築する際は、文字コードは統一しておくのが普通でしょ。
文字コードが混在しているシステムは、テスト工数が増大するし、リスクを増える。

452 :nobodyさん:2008/08/25(月) 02:14:49 ID:???
>>449
ぶっ壊れたデータは戻せないと思うぞ
特に標準がasciiやlatin1だと最悪だ・・・
標準のコードがマルチバイトならbinaryで取り出してから変換すればいい

>>450
<? echo $txt; ?>の省略形な


453 :nobodyさん:2008/08/25(月) 11:54:54 ID:???
>>452
ありがとうございます!

454 :nobodyさん:2008/08/25(月) 14:07:29 ID:H4jIBY1A
WindowsのXAMPPなんでDIRECTORY_SEPARATORが\なわけですが、

$image=getcwd().DIRECTORY_SEPARATOR.'a.gif';
print('<img src="'.$image.'">');

がIEでは表示されるのにFFだと表示されない。
DIRECTORY_SEPARATORではなく'/'と指定すると表示される。
なぜに?
DIRECTORY_SEPARATORなんか使わず常に/にしとけって意味?

455 :nobodyさん:2008/08/25(月) 14:13:54 ID:???
それは内部処理の場合で、アドレスのセ・パれーたはスラッシュって決まってん稔

456 :nobodyさん:2008/08/25(月) 14:17:00 ID:???
でれくとりとうーあーるはちあるもの

457 :nobodyさん:2008/08/25(月) 14:47:50 ID:+ZyX5O5x
PHP初心者です。

リファラーワードによってリダイレクト先を変える場合って
どうやればいいですかね?
リファラーを取るまでは上手くできてるのですが…

458 :nobodyさん:2008/08/25(月) 14:56:35 ID:???
>>457
どんな手法を取るか知らんがリファラを解析して宛先を決めるとこまで出来てるなら
header関数でLocationヘッダーを流せばいい

header('Location: 転送先URL');

459 :nobodyさん:2008/08/25(月) 15:30:43 ID:???
リファラが取得できない設定・ブラウザとかあるからその辺の処理もしっかりなー

460 :nobodyさん:2008/08/25(月) 15:51:51 ID:???
include_pathに複数指定する場合、
Windowsだと;区切り、Linuxだと:区切りだけど、
配列からパス形式を生成する場合に簡単な方法ないかな

$array = array(
'/path/test_dir/',
'/path/PEAR/',
'/path/Smarty'
);

環境に応じて:や;で区切ってパスの文字列を生成

WindowsかLinuxか判別して
それぞれに応じて作成するのが正しいのか、
むしろそういう関数が既にあるのか・・・

461 :nobodyさん:2008/08/25(月) 16:02:40 ID:???
>>160
http://jp2.php.net/set_include_path
>PATH_SEPARATOR 定数を利用することで、 オペレーティングシステムに依存せずに include path を追加することが可能です。
という便利なものがあるようだけど?


462 :nobodyさん:2008/08/25(月) 16:04:49 ID:???
ってすまん、パスセパレータじゃなかったね

int_setでやってるのか知らないけど
普通にその配列ループしてset_include_pathかけりゃいいんじゃないかな

463 :nobodyさん:2008/08/25(月) 16:05:20 ID:???
>>460
ttp://jp2.php.net/manual/ja/function.implode.php

464 :nobodyさん:2008/08/25(月) 16:06:30 ID:???
new_include_path
初めてしった、まじサンクス!!
こんな便利なものがあったのか、もっと早く気づけば良かった

465 :nobodyさん:2008/08/25(月) 16:56:17 ID:wWAEdZe4
連想配列のキーと値が一致するか調べたいと思います。

Array ( [name] => 元旦 [year] => 2008 [month] => 01 [day] => 01 )

こういう連想配列の場合、どのようにして比較すればいいのでしょうか?
forで出力してifで比較する以外で、方法がありましたら教えて下さい。


466 :nobodyさん:2008/08/25(月) 16:57:58 ID:???
>>465
意味が理解できない
どこがどうなら一致したことになるんだ?

エスパー感覚で回答ならforeach

467 :nobodyさん:2008/08/25(月) 17:06:19 ID:ddePEaRi
空メール受け取ったら、その送信者に自動返信、というプログラムを作ってるんですが、
Fromの行からメールアドレスだけ正しく取得する、という処理がうまくいきません。

フォーマットがたくさんありすぎて、対応に困っています。
"name" <mail@mail.com>
<mail@mail.com>
mail.com
のほか、””で囲っていないnameがあったり、ググって出てくるスクリプトを使っても判定できませんでした。
http://memo.majide.com/index.php?%A5%E1%A1%BC%A5%EB%BC%AB%C6%B0%CA%D6%BF%AE%A4%CE%C0%DF%C4%EA%A4%C8PHP%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8

プログラムの概要としては、vpopmailの.qmail-XXXファイルからパイプでメール内容を渡し、
標準入力からメールを解析して、From部分を取り出す、というものです。

何か良いライブラリなどございましたらご紹介お願いいたします。。

468 :nobodyさん:2008/08/25(月) 17:07:48 ID:???
>>467
PEARのメール関係のライブラリにそういうのがあったはず

469 :nobodyさん:2008/08/25(月) 17:09:46 ID:???
>>465
エスパーしてみる
比較というより、month=01 day=01 というキーを与えて、
name=元旦 という値を取得したいんじゃないのかい?

ならば、配列の持ち方は、$name = array('0101'=>'元旦', '1231'=>'大晦日')
で参照は$nama['0101']でOK

470 :465:2008/08/25(月) 17:10:37 ID:???
>>466
今まで下記のようにして出力していたのですが、
カレンダーの日数毎にforeachでチェックするのも
負荷がかかると思い、他の方法を模索しています。

foreach($date_array as $date){
if($date["year"]=="2008" && $date["month"]=="01" && $date["day"]=="01"){
echo $date["name"];
}
}

471 :nobodyさん:2008/08/25(月) 17:17:37 ID:???
>>468
PEAR::Net_POP3だと思う。

>>467
PEAR::Net_POP3のgetParsedHeadersで
ヘッダの内容を連想配列に格納できるから、
それで取得するのが楽だろうな。

472 :nobodyさん:2008/08/25(月) 17:35:52 ID:ddePEaRi
>>468,471
ありがとうございます。
POP3に接続せずに、メール内容を解析する方法はないでしょうか?

473 :nobodyさん:2008/08/25(月) 17:37:27 ID:???
>>471
ごめん、mimeDecodeのことだわ

PEAR::Mail::mimeDecodeで生メールの解析ができる


474 :nobodyさん:2008/08/25(月) 17:43:09 ID:ddePEaRi
>>473
ありがとうございます。

しかし、そのライブラリを使っても、>>467のとおり、間に改行が入っていると、
改行後の文字を無視してしまうので、完全ではないんですよね。。

自分で作るしかないのかなぁ。。

475 :nobodyさん:2008/08/25(月) 17:53:05 ID:???
>>470
$date_arrayの管理方法を見直した方がイイ
それが出来ないならforeachよりarray_mapの方が今回の例では高速


476 :nobodyさん:2008/08/25(月) 21:34:33 ID:Ich0UEjQ
例えば以下のようなデータがあったときに
ID year month day stage
1 2008 8 1 tokyo
2 2008 8 2 tokyo
3 2008 8 6 osaka
4 2008 8 7 osaka
5 2008 8 13 tokyo
6 2008 8 14 tokyo
7 2008 8 15 tokyo
8 2008 8 20 nagoya
9 2008 8 25 fukuoka
10 2008 8 30 sapporo



477 :nobodyさん:2008/08/25(月) 21:38:21 ID:Ich0UEjQ
以下のように表示させたいです
 
----------------------
|2008 8 1 | tokyo  |
------------|    |
|2008 8 2 |    |
----------------------
|2008 8 6 | osaka |
------------|    |
|2008 6 7 |    |
----------------------
|2008 8 13 | tokyo |
------------|    |
|2008 8 14 |    |
------------|    |
|2008 8 15 |    |
----------------------
|2008 8 20 | nagoya |
----------------------
|2008 8 25 | fukuoka |
----------------------
|2008 8 30 | sapporo |
----------------------




478 :nobodyさん:2008/08/25(月) 21:39:51 ID:???
そうか


479 :nobodyさん:2008/08/25(月) 21:41:09 ID:Ich0UEjQ
たとえば

mysql_select_db($database_, $db);
$query = sprintf("SELECT * FROM `table`);
$query_list = mysql_query($query, $scdb) or die(mysql_error());
$query_info = mysql_fetch_assoc($query_list);
$totalRows = mysql_num_rows($query_list);

という風に抜き出して

do{
 //いろいろ表示
}while($query_info = mysql_fetch_assoc($query_list));

とすると連続で同じ場所のところが縦に結合できないですが
どうすればいいでしょうか?

前の上側のセルと同じなら+1とかはできるんですが、rowspanの設定を書き込むには遅いですし・・・


ご教授願います。

※半角スペースがずれました・・



480 :nobodyさん:2008/08/25(月) 21:46:39 ID:???
>>479
一度データをストアしなきゃ連日の計算は出来ん
それかsqlで連日の部分を結果セットに含ませればいい

481 :nobodyさん:2008/08/25(月) 21:47:02 ID:???
>とかは
「などは」だろ。

>できるんですが
「できるのですが」または「できますが」だろ。

>ですし・・・
「です。」だろ。

>ご教授願います。
「ご教示願います。」だろ。

>ずれました・・
「ずれました。」だろ。

482 :nobodyさん:2008/08/25(月) 21:48:06 ID:???
そこ!

483 :nobodyさん:2008/08/25(月) 22:45:13 ID:EsfmR+iC
QRコードを出力するqr_img.phpについて教えてください。

Linux上のApache+PHPですと動くのですが、

Windows系のApache+PHPですと動いてくれません。

errors.txtを見ると
PHP Warning: fopen(./../data/rsc203.dat)
No such file or directory

などとなっており、たしかにrsc203.datというファイルは存在しません。

Windows系のApache+PHPで動かすには何か必要なのでしょうか?

ちなみにWindows系のApache+PHPはいくつか試しているのですが、
Apacheは2.0でPHPは5.2.3、gdは2.0.34とqr_img.phpが要求している
バージョンをクリアしていると考えています。

お願いします。


484 :nobodyさん:2008/08/25(月) 23:13:01 ID:???
qr_img.phpなんて知らんよ。
http://www.swetake.com/qr/qr_cgi.html
これ?
動作確認環境にwindows含まれてないじゃん。
作成者に聞くのが一番確実かと。


485 :nobodyさん:2008/08/25(月) 23:19:14 ID:???
>>484
自分が無知なことを威張っている奴を久しぶりに見たw
もしかしてGG佐藤さんですか?

486 :nobodyさん:2008/08/25(月) 23:32:37 ID:???
いい加減他人のスクリプトは作った人間に訊くということを覚えろ

487 :nobodyさん:2008/08/25(月) 23:47:49 ID:???
>>485 誰にでも噛み付いて楽しいか?キムチ臭いよオマエwww

488 :nobodyさん:2008/08/26(火) 00:56:56 ID:???
>>485
また定期的に現れるおまえかっ!

489 :nobodyさん:2008/08/26(火) 00:57:51 ID:???
とりあえず>>483=>>485は市ね

490 :nobodyさん:2008/08/26(火) 01:48:27 ID:???
市ぬ前にGG佐藤に謝れ、低脳すぎるぞ>>485
この質問は>>484でFA
−−−−−−−−−− 終了 −−−−−−−−−−−

491 :nobodyさん:2008/08/26(火) 08:49:21 ID:x5C4Qb0i
>>484
そんなこと言うとこのスレの存在意義がわからなくなる。
知らないなら黙ってれば良いのに。。。


492 :nobodyさん:2008/08/26(火) 08:58:31 ID:???
>>491
自分が無知なことを威張っている奴を久しぶりに見たw
もしかしてGG佐藤さんですか?

493 :nobodyさん:2008/08/26(火) 09:24:20 ID:???
つttp://d.hatena.ne.jp/rsky/20070427/1177680276

494 :nobodyさん:2008/08/26(火) 10:28:41 ID:???
テキストファイルの中身をechoする簡単な記述を教えてください。

495 :nobodyさん:2008/08/26(火) 10:43:45 ID:x/K+QJ+W
perlのNet::CIDR::cidrlookupに相当する関数というのはありますか?
あるIPアドレスがcidr表記のアドレス範囲に含まれているか否かを
判定したのです。

496 :nobodyさん:2008/08/26(火) 10:54:33 ID:???
>>494
include('file.txt');

497 :nobodyさん:2008/08/26(火) 11:25:06 ID:???
>>495
関数はないなぁ
ビット演算子を使ってマスクからネットワークとブロードキャスト出して
各オクテッド毎にチェックさせればいいんでない?
IPはstringだからドットで分割した後intにキャストしないとビット演算子での計算結果狂うから注意


498 :nobodyさん:2008/08/26(火) 11:40:43 ID:???
>>440
分かっているとは思うが、
クオートのために*_escape_stringを使っても、不正な文字を埋め込められる場合がある。
http://blog.ohgaki.net/set_namesa_mcb_asc
本文よりコメ欄に注意
なので、
>>439
mb_check_encodingしてからPDOで渡すのがいい。

499 :nobodyさん:2008/08/26(火) 11:42:15 ID:MPzk6qs2
>>492
ここは無知を晒して質問する場かと思ってました。
あなたがここの管理人さんだったのですね。
毎日監視お疲れ様です。

>>486
正論ですが、スクリプトを作った方には同じような質問が
何度も届くわけで、すでに同様の質問をした人がこの辺に
居れば情報の共有ができ、さらに以降同様の疑問をもった方が、
ここにたどり着いて問題を解決することもあるわけで。



500 :nobodyさん:2008/08/26(火) 11:44:28 ID:???
>>498
mb_check_encoding?
>>444のやり方じゃダメなの?
>>444で設定しなおしたが、問題なさそう。

501 :nobodyさん:2008/08/26(火) 11:46:45 ID:???
サーバは1つだが、クライアントは何種類もある場合があるのだよ
1対1なら好きなようにサーバ側で設定したらいい。

502 :nobodyさん:2008/08/26(火) 11:47:58 ID:???
>>501
もう少しKWSK頼む。

503 :nobodyさん:2008/08/26(火) 11:52:45 ID:x/K+QJ+W
>>497
回答ありがとうございました。

504 :nobodyさん:2008/08/26(火) 12:02:05 ID:x/K+QJ+W
で、また質問なんですが、

a.html
の中で
<?php
virtual("/cgi-bin/x.php?1234");
?>
と記述して
x.phpで
$_SERVER['QUERY_STRING']
を取得してプログラムが動いていました。
これの処理の前にa.htmlにSSI機能を使って、b.ssiを
読み込み、b.ssiの中で
<?php
virtual("/cgi-bin/y.php");
?>
と記述し、動作確認をしました。

y.phpは正常に動くのですが、
今まで動いていたx.phpが
正常に動きません。

x.phpの中の環境変数をechoしてみると
y.phpの環境変数が出力されました。
環境変数の上書きがなされていないようです。
こういう場合、どうすれば良いのでしょうか?




505 :nobodyさん:2008/08/26(火) 12:08:24 ID:???
>>499
情報の共有とか言うなら、作者に質問して結果を自分でページ作って公開すればいいだろ

506 :nobodyさん:2008/08/26(火) 12:10:04 ID:???
>>504
htmlでPHPが動くようにしてるんだからssiを使わずにphpに統一しちゃマズイの?
と言うかphpの呼び出しにはvirtualよりinclude/requireがイイと思うのは勘違い?

507 :nobodyさん:2008/08/26(火) 12:18:43 ID:x/K+QJ+W
>>506
変更ファイルの数が多くて、PHPに統一できないのです。
x.phpの中の環境変数はその前に実行したy.phpを
引継ぎ、上書きされないのがPHPの当たり前なのでしょうか?

508 :nobodyさん:2008/08/26(火) 12:27:04 ID:???
>>507
virtualは呼び出し元の環境変数を受け継ぐけど呼び出し元へは反映させないはずだから
ssi経由のy.phpの環境変数がx.phpに適用されるのは良くわかんないな

b.ssiの記述方法によってはy.phpの環境変数がa.htmlに上書きされるかもしれん
b.ssiでphpのvirtual使ってるからそんなはずないんだけど・・・

509 :nobodyさん:2008/08/26(火) 12:43:36 ID:???
>>499
おまえ消防だろウセロクズ

510 :nobodyさん:2008/08/26(火) 12:55:24 ID:???
情報の共有(笑)

511 :nobodyさん:2008/08/26(火) 12:57:17 ID:x/K+QJ+W
困った。。。

512 :nobodyさん:2008/08/26(火) 14:07:39 ID:???
MySQLで、latin1で保存されたデータをUTF8で保存し直す簡単な方法はないでしょうか?
少ないデータなら、HTMLで表示させて手動で登録し直す、ってことが出来るんですけど
大量のデータだとちょっと無理がありまして・・・。

513 :nobodyさん:2008/08/26(火) 14:08:41 ID:x/K+QJ+W
現象は分かった。
解決が分からん。

y.phpの中で
$_SERVER['xxx']で
環境変数を参照すると
x.phpまで引き継がれ、

y.phpの中で
$_SERVER['xxx']で
環境変数を参照しないと
x.phpの中の環境変数取得で
正しく取得される。

514 :nobodyさん:2008/08/26(火) 14:31:02 ID:???
MYSQLのlatin1って、実体はSJISだったけ?
なら、mb_encodeなんとかで出来るんじゃないの?

515 :nobodyさん:2008/08/26(火) 14:47:45 ID:???
>>512
binayなら壊れないからnamesにbinaryをセットしたりして取り出してから
ISO-8859-1(latin1)からutf-8に変換すればイイよ
mysql_dumpとかでも--default-character-set=binaryで出力してから変換すればいい
mysqlから出力する際に自動変換で壊れる可能性があるからbinaryで無変換のまま取り出してみようって案

516 :nobodyさん:2008/08/26(火) 14:54:53 ID:???
田辺課長の側近をしております高村信次と申します。

これから色々とお世話になりますが、どうぞ宜しくお願いします。

517 :nobodyさん:2008/08/26(火) 14:59:38 ID:x/K+QJ+W
もっと現象は簡単になった。

a.htmlに

<?php
virtual("/cgi-bin/y.php");
?>
<?php
virtual("/cgi-bin/x.php");
?>

と書いて
y.phpで
$_SERVER['xxx']
を取得すると

x.phpの中での
$_SERVER['PHP_SELF']は
y.phpになる。

この値を
x.php
と出来ないもんだろうか?

518 :nobodyさん:2008/08/26(火) 15:14:53 ID:WAy8FwvQ
pearとかのクラスって
コンストラクタでnewするやつと
factoryメソッドがあって::factoryってやって作るやつとあるけど
どう違うの?



519 :nobodyさん:2008/08/26(火) 15:21:36 ID:???
>>518
ファクトリーパターン

520 :nobodyさん:2008/08/26(火) 15:32:06 ID:x/K+QJ+W
出来た。

$_SERVER["PHP_SELF"]

apache_getenv("PHP_SELF")
に変えたら出来た。

こんな方法で良いのだろうか???

521 :nobodyさん:2008/08/26(火) 17:08:49 ID:???
>>520
いいんじゃないか?
Apache2と言う縛りがあるみたいだが汎用システムじゃないようだから問題なかろう

522 :nobodyさん:2008/08/26(火) 18:05:39 ID:x/K+QJ+W
>>521
ちと、ダメだ。。。
ssiとPHPは一緒に使わない方がいいみたい。

apacheが1分間隔で再起動して
挙動が変だわ。

ssi辞めて、phpで統一するわ。
相当あるんだよな、書き換えるファイル。

523 :nobodyさん:2008/08/26(火) 18:10:11 ID:???
"2000-12-31"
という文字列を
"20001231"
にしたいのですが、PHPではどう書くのがスマートですか。
今は preg_replace('/-/', '', $str) としています。
もっといい書き方があればおしえてください。


524 :nobodyさん:2008/08/26(火) 18:11:40 ID:???
>>523
正規表現使わないならstr_replaceでよくね?

525 :nobodyさん:2008/08/26(火) 18:27:54 ID:???
>>522
なんと言う災難
頑張って書き換えてくれ!


526 :nobodyさん:2008/08/26(火) 18:51:20 ID:???
>>522
>apacheが1分間隔で再起動して
SSI使っているなら、正常な動作だよ。

527 :nobodyさん:2008/08/26(火) 19:46:19 ID:C/n8oxtA
自前でプリペアドステートメントみたいなエスケープ処理をしたいのですが
SQLの「地の文」の?だけを置換するにはどうしたらいいですか?

528 :nobodyさん:2008/08/26(火) 19:48:33 ID:qM7jKR0b
セッション管理しているサイトのサーバでapacheが再起動かかったときって
セッションて継続するんですか?
セッションデータはファイルで保存されているので、セッション切れずに
継続するんじゃないかと思っていますが、どうなんでしょう。

使用しているサーバが1日1回apacheを再起動しているらしくて
その時間にセッションの動作がおかしくならないかぁ、とちょっと心配。

529 :nobodyさん:2008/08/26(火) 19:49:57 ID:x/K+QJ+W
>>526
SSIってそうなんだ?
今、100万ファイルの更新中です。

530 :nobodyさん:2008/08/26(火) 19:51:46 ID:???
>>524
>正規表現使わないならstr_replaceでよくね?

ありがとうございます。str_replaceを使うことにします。

531 :nobodyさん:2008/08/26(火) 20:22:00 ID:???
>>529
100万もあんのか
どんなサイトつくってんの?

532 :nobodyさん:2008/08/26(火) 20:30:03 ID:x/K+QJ+W
>>531
教えられないです。
でも、100万ファイルあって、
SSIでインクルードしてるんです。

これを書き換えて、チェックバッチで確認して、
バックアップして、さらに、もういっこバックアップして、
ってのがつらいので、簡単に済ませようと
しましたげど、もう、統一します。

533 :nobodyさん:2008/08/26(火) 21:31:12 ID:???
>>527
手軽にやるならドライバをループさせてpreg_replaceのlimitに1を指定して置き換え?
str_replaceにもlimitがあればなぁ

>>528
セッションファイルなら再起動しても生存時間までは持続

>>532
苦労の分、オーバーヘッドは減りそうだな・・・



534 :nobodyさん:2008/08/27(水) 01:07:21 ID:???
正規表現に関して質問があります。

今日は[[とても]]楽しかったね。[[明日]]はもっと楽しくなるといいね。

という文章があったとして[[(..*)]](大カッコ二つ)にヒットする文字列の抽出を行いたいのですが、
どうしても上手くいきません。上記ですと、

[[とても]]楽しかったね。[[明日]]
↑までが一つとしてマッチしてしまいます。

どうしたらよいでしょうか・・・?

535 :534:2008/08/27(水) 02:00:55 ID:???
すいませんスレ違いでした
向こう逝ってきます。。。

536 :nobodyさん:2008/08/27(水) 11:36:16 ID:RCwwZoSd
質問です。

phpの文字コードを全てUTF-8に統一していたのですが、
ふと読んだ本で、Unicodeには色々あってUTF-8だけではないことを知りました。
UTF-16の方は2バイトなので、そちらの方が容量が少なくて済むらしいですが、
Unicodeでお勧めの文字コードはありますか?

ちなみに私のサイトには色々な国の方が来るので、
できるだけ多くの言語に対応できる方がいいです。

537 :nobodyさん:2008/08/27(水) 11:46:08 ID:???
>>536
>できるだけ多くの言語に対応できる方がいいです。
それならutf16でいいじゃまいか
マルチバイトを多く使うならutf16がいいけど、htmlとどっちの割合が多いかで決めればいいかも
utf8は英数を1バイトで、utf16は英数も2バイトで表現するからね

538 :nobodyさん:2008/08/27(水) 12:14:05 ID:???
>>536
utf-16使うとどれくらい容量が節約できるんだい?

539 :nobodyさん:2008/08/27(水) 12:23:18 ID:???
isset($array['key']) と array_key_exists('key', $array) ってなにか違いがありますか?
どっちをつかうべきか判断材料がありましたら教えてください。

540 :nobodyさん:2008/08/27(水) 12:25:32 ID:???
そりゃ目的によるわい

541 :nobodyさん:2008/08/27(水) 12:29:54 ID:???
>>538
>>536の節約の根拠は多分、utf8だとマルチバイトは3バイト、utf16だと2バイトだからじゃね?


542 :nobodyさん:2008/08/27(水) 12:34:18 ID:???
>>539
ステートメントと関数と言う違い
issetは引数を複数持ててANDで評価出来るし、変数自体がなくてもE_NOTICE出ねぇ
後、良く見れ、返り値の型も違うぞ



543 :nobodyさん:2008/08/27(水) 12:37:28 ID:???
もうすこし具体的な回答よろしくお願いします

544 :nobodyさん:2008/08/27(水) 12:40:41 ID:???
>>541
うむそれで計何バイトくらい節約できるのかなと。純粋な興味で。
>>543
もうすこし具体的な質問よろしくお願いします

545 :nobodyさん:2008/08/27(水) 12:41:38 ID:???
>>544
うざ

546 :nobodyさん:2008/08/27(水) 12:41:46 ID:???
>>539
マニュアル

547 :536:2008/08/27(水) 12:43:06 ID:???
もういいです。こんなところで質問した私が馬鹿でした。
低脳ばかりで嫌になります。さようなら。

548 :nobodyさん:2008/08/27(水) 12:46:24 ID:???
>>544
マルチだけを見れば33%OFFだな
asciiの分が逆に2倍だから実際のバランスを見ないと分からんだろうなぁ
しかもファイル毎に違うとキタ
phpで書くんだからシングルバイトが多いはず、だからutf8の方が良さそうだよな

>>543 >>545
そもそもどの回答のことだ? idもないし引用もないし特定できん


549 :nobodyさん:2008/08/27(水) 15:39:43 ID:???
イーモバイルなんかでアクセスしてくる奴って、
どうせお金もっていないから対応しなくても大丈夫だよね。
イーモバイルの帯域が多すぎて面倒だし、ほとんどユーザー居ないし。

550 :nobodyさん:2008/08/27(水) 17:23:38 ID:???
>>549
どうせ、高橋克典と一緒で時間の問題で潰れるのが関の山だよ。
資本力がない会社が、安さだけを売り物に参入したってダメだって。

551 :nobodyさん:2008/08/27(水) 17:38:02 ID:prLSJkK3
すいません、質問させて下さい。

ローカル環境でテスト済みのスクリプトを共有サーバーに移したところ、
Fatal error: Class 'DOMDocument' not foundが出て動きませんでした。

共有サーバー(PHP Version 5.1.6)を
ローカル環境(PHP Version 5.2.3)と比較したところ、
phpinfo()でdom項目がサーバー側には無いことが分かりました。

調べたところ、DOMはPHP5.00以降から基本モジュールに内包されており、
外部モジュールは存在しないとのこと。

http://php.benscom.com/manual/ja/dom.installation.php

なんとかDOMを利用する術はありますでしょうか?

# PEARのライブラリはuserフォルダに別途ファイルを設置して、
# スクリプト内でini_set("include_path", "./util/PEAR");としていました。

552 :nobodyさん:2008/08/27(水) 17:49:41 ID:???
winXPです。
Apache2.2.9 PHP5.2.6です。
拡張子htmlでもphpが動いて欲しくて、
下記の記述をhttpd.confにしましたが、
動いてくれません。どうすれば動きますか?
教えてください。
AddType application/x-httpd-php .php .html

553 :nobodyさん:2008/08/27(水) 18:06:18 ID:???
>>552
そりゃhttpd.confの設定が何かおかしいんだろ
普通にphpは動くの?
.htaccessはちゃんと使えるの?
もし使えるなら.htaccessで
AddType application/x-httpd-php .html
というのをルートにおいてみ

554 :nobodyさん:2008/08/27(水) 18:06:26 ID:???
リスタートした?

555 :nobodyさん:2008/08/27(水) 18:07:13 ID:???
>>551
コンパイルオプションでlibxml2があるかどうかもチェックした方がいいかもな(phpinfo)
組み込まれてなかったら諦めて代替を検討
組み込まれていても読み込まれていない可能性がある、この場合はdl()でロード出来るか確認(dom.soやdom.dll)


556 :552:2008/08/27(水) 18:21:24 ID:???
>>553
phpinfo.phpの中にphpinfo();を記述しています。
phpinfo.phpは正常に見れます。

逆に変なのは、httpd.confの中に
AddType application/x-httpd-php .php
ではなく
AddType application/x-httpd-php .html
とした場合でも、

phpinfo.phpが正常に見れます。

557 :552:2008/08/27(水) 18:23:37 ID:???
いろいろググっても、
拡張子phpの動作は出来ても、
拡張子htmlでphpを動かす例が
見当たりません。

558 :nobodyさん:2008/08/27(水) 18:31:01 ID:???
とあるサーバーで、apacheハンドラで、.htaccessを.cgiに関連付けしたらそれ以降500エラーになった。
エラーログは
/home/hostingg/public_html/.htaccess: </Files>AddHandler> directive missing closing '>'
こんな漢字です。これってやっぱ関連付けしたのが悪かったんですかね。

559 :nobodyさん:2008/08/27(水) 18:32:17 ID:???
>>557
だからリスタートしたのかよ

560 :nobodyさん:2008/08/27(水) 18:33:01 ID:???
リスタートしても変わらないなら、そもそも別のhttpd.confの編集してるんじゃない?

561 :552:2008/08/27(水) 18:33:58 ID:???
>>559
はい、リスタートではなく、
より強力はストップ→スタートをしています。

562 :nobodyさん:2008/08/27(水) 18:35:06 ID:???
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。

563 :nobodyさん:2008/08/27(水) 18:36:39 ID:???
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。

564 :552:2008/08/27(水) 18:38:19 ID:???
より強力なストップ→スタートをしています。

いじめないでよ

565 :nobodyさん:2008/08/27(水) 18:43:58 ID:???
ログでちゃんと再起動できてるか確認できる?
サービスから直接ストップ、スタートしたときと動作同じ?

566 :552:2008/08/27(水) 18:45:04 ID:???
AddType application/x-httpd-php .php
の記述が無くても
phpinfo();
は見れる。

どこのサイトも
phpinfo();が見えて
おめでとうございます!
って書いてあるけど、
ちと、違うんじゃねーか???と思う。

拡張子htmlでphpが動く実績の環境が知りたいです。

567 :nobodyさん:2008/08/27(水) 18:46:33 ID:???
>>566
普通は見れねーよ
やっぱ違うconfいじってんだろ

568 :552:2008/08/27(水) 18:47:45 ID:???
> やっぱ違うconfいじってんだろ

それは、ないと思うなぁ

569 :551:2008/08/27(水) 18:51:30 ID:???
>>555
レスありがとうございます。

◆xml
libxml2 Version 2.6.16
とありました。これは大丈夫そうです。

ですが、折角教えていただいたdl()関数はSafe Modeの為動きませんでした。
これはもう代替を検討しないといけないのでしょうか・・・orz

570 :nobodyさん:2008/08/27(水) 18:52:11 ID:???
>>568
エラーになるように適当な文字入れてリスタートしてみては

571 :nobodyさん:2008/08/27(水) 18:56:52 ID:???
じゃあ.phpでやればいいんんじゃないか?
なんでだめなん?



572 :552:2008/08/27(水) 19:02:00 ID:???
>>570
後でやってみますが、間違ってはいません。

573 :552:2008/08/27(水) 19:02:26 ID:???
>>571
ユーザにphpで動いてるのを知られたくないからです。

574 :nobodyさん:2008/08/27(水) 19:03:13 ID:???
少なくとも、>>566のように書いてる人の話は信用できないから
全部疑ってかかるしかないんだよ。

575 :nobodyさん:2008/08/27(水) 19:14:44 ID:???
>>569
あら、残念
代替案を立てるしかないね(PEARで互換性のあるものを使うとか)
それか、サポートに聞いてみたらどうだろ
DOM使えんのかゴラァって


576 :552:2008/08/27(水) 19:18:07 ID:???
>>574
ちょっと待ってください。
解決ができそうです。

577 :551:2008/08/27(水) 19:28:04 ID:???
>>575
泣く泣く該当する処理部分をSimpleXMLに差し替えました。
SimpleXMLは使ったこと無かったけども、ラッパーメソッド用意していた為、
差し替え作業自体は数分で終わりました。(データはまだ検証中ですが・・・)

これでまたPHP5依存度が上がりましたorz

今回の件は結果は微妙でしたけども、
サーバー選びの注意事項、PHPについて良い勉強になりました。

お答えくださった方、ありがとうございましたっ!

578 :nobodyさん:2008/08/27(水) 19:28:20 ID:???
ものすごい初歩的な質問なのですが…
phpファイルで別のphpファイルを読み込ませて擬似フレームページを作っています。
それで、読み込む先のファイルのhtmlの記述の仕方について質問です。
現在、読み込む先のファイルは、<head>やら<body>やらすっとばして、
<body></body>の中に相当する部分のみの記述で作っています。
これには何か問題はあるでしょうか?
本当にスレタイに沿いすぎた疑問ですみません。

579 :nobodyさん:2008/08/27(水) 19:40:48 ID:???
>>578
別にないと思うけど。
質問とはちょっと方向違うけど、俺なら読みこまれるHTMLを.htaccessで隠したりはする。

580 :nobodyさん:2008/08/27(水) 19:46:18 ID:???
>>579
そういう秘密主義は、時として原因不明の悲劇に見舞われるよ。俺の経験則上。

581 :nobodyさん:2008/08/27(水) 20:26:43 ID:???
>>578
各パーツを分割する手法はテンプレートエンジンとかでも良く見るから問題ない
ちなみにincludeで呼ぶとphpとして実行されるから、意図しない「<?」には注意
fileとかその他のラッパーならそのまま出力されるから問題なし


582 :nobodyさん:2008/08/27(水) 20:28:22 ID:???
>>578
最終的に出力されるhtmlで考えればおk

583 :578:2008/08/27(水) 20:31:09 ID:???
皆さんありがとうございます!特に問題ない、というか、
このやり方の方が適切のようで、安心しました。


584 :nobodyさん:2008/08/27(水) 20:32:49 ID:???
まぁhtmlタグの中に入れ子でhtmlタグがあって大丈夫だと考えるほうがおかしいわな。

585 :nobodyさん:2008/08/27(水) 21:31:17 ID:Y6+5IHEq
PHPでサーバのMySQLのバージョンを取得し、
処理を分岐したいのですが、どういう関数を使えばいいのでしょうか?

586 :nobodyさん:2008/08/27(水) 21:38:41 ID:???
SHOW VARIABLESでも投げれば?

587 :nobodyさん:2008/08/27(水) 21:49:44 ID:???
mysql_get_server_info()

588 :nobodyさん:2008/08/28(木) 00:01:12 ID:???
浦島太郎は実は三浦半島出身です。

589 :nobodyさん:2008/08/28(木) 01:13:56 ID:???
ユーザにphpで動いてるのを知られたくないからです。

意味がわからん。
なんで?あんたサーバー公開でもするの?
Winで?
まあいいけど、そんなことも自分でなんとかできないようじゃ
難しいんじゃないの?
こちらも情報がたりないんだよね。
推測でもの言っているし。
あとPHPで作れるのがしられるとなにかまずいの?
そっちが気になる



590 :nobodyさん:2008/08/28(木) 01:25:02 ID:8cctUgGm
初歩的な質問ですいませんが、よろしくお願いいたします。

とある変数をvar_dump()した所、以下の値が帰って来ました。

object(SimpleXMLElement)#47 (1) {
   [0]=> string(9) "テスト"
}

このオブジェクトからテストを取り出すには
どのように記述すれば良いのでしょうか?

591 :nobodyさん:2008/08/28(木) 01:26:29 ID:???
マニュアル嫁

592 :nobodyさん:2008/08/28(木) 01:31:11 ID:8cctUgGm
>>591
もちろんマニュアルは読んだ上で質問しています。
載っていましたか?

http://php.morva.net/manual/ja/ref.simplexml.php


593 :nobodyさん:2008/08/28(木) 01:52:38 ID:ovgSK1d+
ある文字列を「a-zA-Z0-9」の範囲の文字を使って暗号化させたいのですが、
なにか良い方法はありますでしょうか?

crypでいけるかな、と思ったのですがこれでは「.」と「/」が入ってしまいます・・・
何か良い方法がありますでしょうか?

594 :nobodyさん:2008/08/28(木) 02:00:26 ID:???
じゃぁそのcryptで取得した文字列をさらに、unpackしたりしたらどうですか。
長いけど。

$a = 'hogehoge';
$a = crypt($a);
$b = unpack('H*', $a);
$encoded = $b[0];


595 :nobodyさん:2008/08/28(木) 08:29:02 ID:OVvHROhC
include文で、引数を渡したいのですが、無理なんですか?

include("test.php?1234");

として
test.phpの中で
_SERVER["QUERY_STRING"]
を取得したいです。

596 :nobodyさん:2008/08/28(木) 08:34:40 ID:???
>>595
無理だろ。
function( test(arg) )として定義したtest.phpを
include('test.php');
して、
test(1234);
と引数付きで呼び出せばいいと思うんだが。

597 :nobodyさん:2008/08/28(木) 09:11:42 ID:???
PHPで認証システムを作ってるんだけど
複数のアカウントに同時のログインできるようにするときの処理が
いまいちうまく作れません。

どの本を見ても、クッキーが上書きされるような作りになってるので
ブラウザを二つ開いて片方はAさんとしてログインしても
もう片方でBさんとしてログインすると 両方ともBさんになってしまう。
これはいけないですね。どうしたらよいでしょう。

598 :nobodyさん:2008/08/28(木) 09:14:10 ID:???
IEとFxとか別のブラウザで開く

599 :nobodyさん:2008/08/28(木) 09:20:55 ID:???
>>596
インクルードした時点で変数も引き継がれてしまうので
わざわざ引数をつける必要性が無い


600 :595:2008/08/28(木) 09:26:37 ID:OVvHROhC
>>596
ありがとうございます。
うまくいきそうです。

601 :nobodyさん:2008/08/28(木) 09:43:43 ID:???
>>592
http://php.morva.net/manual/ja/language.oop5.php

602 :nobodyさん:2008/08/28(木) 10:46:41 ID:???
>>594
HよりもmでBase64した方が効率的かも
PHPのunpack()にmがあるかは知らないけど、base64する関数はあったはず。

あー、Base64は=で余りを埋めることがあった気がする。
だとしたら使えないか


603 :nobodyさん:2008/08/28(木) 11:56:53 ID:???
>>552
httpd.confに書くんじゃないよ
別の設定ファイルがあるでしょ
ググってね

604 :nobodyさん:2008/08/28(木) 13:00:55 ID:1+PcK3cN
PHP5です。
$samp=0;や 1/0のようにしたときに出るDivision by zero警告を出ないようにする方法はありませんか?

そのままスルーして処理を続行してほしいんですが。
処理としては0割り算のときに発生しまう
$samp=10/0; など
よろしくお願いします

605 :nobodyさん:2008/08/28(木) 13:05:32 ID:???
0で割り算しないようにする。

606 :nobodyさん:2008/08/28(木) 13:39:58 ID:???
>>604
明示的に型を宣言しとけばおk

607 :nobodyさん:2008/08/28(木) 14:06:44 ID:???
>>603
嘘つき

608 :nobodyさん:2008/08/28(木) 14:58:03 ID:???
>>607
>>603の言ってることは正しいような気がするが
調べもせずに嘘つき呼ばわりとは
XAMPPはXAMPP用のconfファイルがあるはず、httpd.conf内にInclude構文がないか確認しれ

609 :nobodyさん:2008/08/28(木) 15:18:01 ID:???
>>607
氏ね
この手の質問に答える気無くした

610 :nobodyさん:2008/08/28(木) 15:18:55 ID:???
>>607
apache2.2の設定ファイルはhttpd.confだけじゃないのに嘘つきとは失礼な奴だな調べもせずに
マジ市ね

611 :nobodyさん:2008/08/28(木) 15:21:38 ID:???
httpd.confがインクルードしてるとかじゃなくて?
つーか、質問者はXAMPPなんて一言も言ってない気が?

まあXAMPP使うやつなんてそんなレベルだからしょうがないかもしれんが。

612 :nobodyさん:2008/08/28(木) 15:22:27 ID:???
別にextraに拘らなくてもいいけどな。
httpd.confに全部づらづらと書いてもOKでしょ?

って意味じゃないか?

613 :nobodyさん:2008/08/28(木) 15:25:36 ID:???
で、どのextraに記述すればいいんだ?
後学の為に教えてください。

614 :nobodyさん:2008/08/28(木) 15:55:22 ID:???
>>613
sine

615 :nobodyさん:2008/08/28(木) 17:15:43 ID:???
なんで、死ねなんだよ。。。

616 :nobodyさん:2008/08/28(木) 17:19:24 ID:???
ファイル名じゃないのか

617 :nobodyさん:2008/08/28(木) 17:25:45 ID:???
態度のでかい質問者への回答はできません
お引取りください

618 :nobodyさん:2008/08/28(木) 17:56:31 ID:???
PHPはサーバーでjsはここのパソコンが処理しているんですよね
ということは、大量にアクセスがあるサイトを複雑なphpで処理するとサーバー側の処理が遅くなったりするんでしょうか

やはり、処理の早いサーバーやおそいサーバーなどあるんでしょうか

619 :nobodyさん:2008/08/28(木) 18:00:23 ID:???
>>618
そうです。

620 :nobodyさん:2008/08/28(木) 18:00:26 ID:???
あるよ

621 :nobodyさん:2008/08/28(木) 18:10:34 ID:???
>>618
サーバっていっても普通のパソコンと一緒
ウイルスチェックしながらファイルコピーしたりすると遅くなる経験あるでしょ
処理の早さにはCPU、メモリ、HDD、NICなんかも関係してくる
とりあえず無限ループだけはしないように注意すべし

622 :nobodyさん:2008/08/28(木) 18:50:08 ID:???
本日の基地害
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒


623 :nobodyさん:2008/08/28(木) 19:21:20 ID:???
>>622
合っていると思うが

624 :nobodyさん:2008/08/28(木) 19:28:40 ID:???
普通のパソコンをサーバにすることはあるが
サーバが全て普通のパソコンと一緒と誤解させるような書き方はどうかと

625 :nobodyさん:2008/08/28(木) 19:34:57 ID:???
>>623
こういう感覚でサーバーをいじる奴、趣味の延長でサーバーやシステムを語る奴がいるから、
プロジェクトが火を噴くんだよ。上も下も。老いも若きもだ。

626 :nobodyさん:2008/08/28(木) 19:41:27 ID:???
馬鹿じゃね?一緒だろ
サーバっていっても冗長化すらしてない一般的なパソコンそのまま使ってるとこもある

>>625
お前みたいな知ったようなそぶりでものをいって
実は何もしらないやつは黙ってろよ

627 :nobodyさん:2008/08/28(木) 19:43:14 ID:???
>>624
いやそういうことじゃないだろ
複雑な処理がかさむとサーバーが重くなる(処理が遅くなる)という点で一緒といってるんだろ

628 :nobodyさん:2008/08/28(木) 19:45:39 ID:???
MTBFが違うよ

629 :nobodyさん:2008/08/28(木) 19:47:55 ID:???
>>628
必ずしもそうとは限らない
サーバの構成といってもさまざま

630 :nobodyさん:2008/08/28(木) 19:48:19 ID:???
さまざまなら違うじゃん

631 :nobodyさん:2008/08/28(木) 19:50:16 ID:???
>>630
何をいってるんだ?
普通のPCと違ってサーバ機はMTBFが違う(故障しにくい)といったんだろ?
それにたいして普通のPCよりもMTBFが短い場合があるといったわけだが

632 :nobodyさん:2008/08/28(木) 19:51:41 ID:???
長い場合と短い場合があるならなおさら違うじゃん

633 :nobodyさん:2008/08/28(木) 19:52:59 ID:???
>>626
プログラミング板で、サーバもパソコンも一緒だとか言う奴は、
所詮その程度の人間ってことだろ。

634 :nobodyさん:2008/08/28(木) 19:55:25 ID:???
>>627
わかってる人が読めばそう受け取れるけど、そうでない人には
普通のパソコンもサーバも同じモノなんだと読める書き方がダメと言いたいんだ
アーキテクチャが一緒とかならいいんだけど、それだと伝わらんだろうしな

635 :nobodyさん:2008/08/28(木) 19:57:42 ID:???
>>633
意味がわかりません

636 :nobodyさん:2008/08/28(木) 19:57:51 ID:???
で、どのextraに記述すればよいのでしょうか?
後学の為に教えてください。

637 :nobodyさん:2008/08/28(木) 19:58:46 ID:???
>>1

638 :nobodyさん:2008/08/28(木) 19:58:58 ID:???
>>635
メーカーが鯖として売ってるハードとPCでは違うってこと。

639 :nobodyさん:2008/08/28(木) 20:05:51 ID:???
>>638
それは間違った認識
形状だって普通のPCと同じタワー型で
全く同じ構成でOSだけサーバ系のものをを入れてサーバと謳って販売するとこもある

640 :nobodyさん:2008/08/28(木) 20:08:43 ID:???
PG「パソコンもサーバーも一緒」
PG「パソコンも汎用機も一緒」
PG「パソコンもスパコン一緒」
PG「パソコンもマイコンも一緒」
・・・
PG「phpもJAVAも一緒」
PG「phpもアセンブルも一緒」
・・・

641 :nobodyさん:2008/08/28(木) 20:11:49 ID:???
PGっていうやつに限ってロクなやつがいないよな

642 :nobodyさん:2008/08/28(木) 20:14:21 ID:???
>>639
じゃあ違いは?

643 :nobodyさん:2008/08/28(木) 20:16:56 ID:???
鯖とPCでは、サポート体制も違うと思う。

644 :nobodyさん:2008/08/28(木) 20:17:12 ID:???
電源入れてOS読み込んで動作するなら
サーバーも汎用機も同じパソコン
本体の機能でどこかがとがっているのが専用機で
とがっていないのが汎用機という違いはあるがな〜

645 :nobodyさん:2008/08/28(木) 20:22:53 ID:???
>>642
あえていうならインストールされているソフトウェアの問題
構成次第なのだからハードレベルで明確に違うと断言することはできない
ハードでいえば障害がおきても瞬時に切り替えられるあらゆる箇所がデュプレックスされた
そんな1Uサーバが整然とデータセンターに並んでいるのを想像するだろうが
そんな高価なサーバだけが世の中に存在するわけではない

646 :nobodyさん:2008/08/28(木) 20:31:53 ID:???
明確なハードの違いの線引きは無いけど、サーバを名乗るのなら
メモリのパリティ有りとか、いいコンデンサを使うとか、信頼できるチップを載せるとか
冗長化は重要だけど、それ以外でもやって欲しい事はいくらでもあるな

647 :nobodyさん:2008/08/28(木) 20:32:35 ID:???
NULLを含んでいる配列から、NULLを取り除きたいです。
今はこうしています。

$new = array();
foreach ($array as $item) {
if ($item !== NULL) {
$new[] = $item;
}
}
return $new;

これを一発でやってくれる関数はありますか。
マニュアルを見た限りではなさそうですが、もしかしたらあるかもしれないと思い、質問しました。


648 :nobodyさん:2008/08/28(木) 20:38:32 ID:???
あるけど7行を1行にすることに尽力する前にもっと大きい視点から最適化しろ

649 :nobodyさん:2008/08/28(木) 20:41:12 ID:???
とがっているってどういう意味だよ?

あと汎用機が何をさすのか知ってるのか?

650 :nobodyさん:2008/08/28(木) 21:53:38 ID:???
>>647
array_diff_assoc

651 :nobodyさん:2008/08/28(木) 22:04:01 ID:???
パソコンってパーソナルコンピュータの略な

652 :nobodyさん:2008/08/28(木) 22:19:27 ID:???
>>621は、基本的な挙動の考え方は一緒だということをいってたんだろうに。


653 :nobodyさん:2008/08/28(木) 22:27:29 ID:oELFSwba
PHPで言うところのupload_max_filesizeやpost_max_sizeは、
Perlではどこら辺を設定すればいいんですか?

654 :nobodyさん:2008/08/28(木) 22:28:24 ID:???
スレ違い市ね

655 :nobodyさん:2008/08/28(木) 22:30:09 ID:???
>>653
ごめんなさい
スレ移動します

656 :nobodyさん:2008/08/28(木) 22:46:07 ID:???
PHP5です。

$b = substr_count ( $a , 'test' );
「test」を変数にしたいのですが、変数にすると動きません。

$c = substr_count ( $a , $b );
こんな具合にする方法ないでしょうか?
有るか無いかが判れば、substr_countでなくてもいいのですが。


657 :nobodyさん:2008/08/28(木) 22:49:42 ID:???
>>652
つまり、例え下手なんだよ。

>>653がperlもphpも混同して、
スレ違いな質問をして怒られているのと全く同じ状況。

658 :656:2008/08/28(木) 22:49:56 ID:???
自己解決しました

659 :nobodyさん:2008/08/28(木) 22:51:04 ID:???
>>658氏ねクソヤロウ!!!

さっさと答えんかい
こんなんもわからへんのか(笑)

660 :nobodyさん:2008/08/28(木) 22:54:47 ID:???
656ですけど、なんでこんな流れ?


661 :nobodyさん:2008/08/28(木) 22:59:01 ID:???
>>657
ワロタw

662 :nobodyさん:2008/08/28(木) 23:01:24 ID:???
>>657
>>621>>653が同じ状況ってのはどこら辺が?
良くわからなかった。ごめん。

663 :nobodyさん:2008/08/28(木) 23:06:24 ID:???
>>656
の言ってる意味が分からない。
普通に動くし。

664 :nobodyさん:2008/08/28(木) 23:09:21 ID:???
>>660
> なんでこんな流れ?

・自分が原因な所
自己解決でも解決策を書くのがマナー
(後日同じつまづきをした人が検索されないとも限らないから)

・外部環境が原因な所
まだ夏休み期間

665 :nobodyさん:2008/08/28(木) 23:12:47 ID:???
phpでプログラムを組んでいます。
$_POSTや$_GETの使い方について質問なのですが、
$temp = "POST";みたいな変数を作っておき、この$tempから、$_POSTを取得するような方法はないでしょうか?
よろしくお願いいたします。

666 :nobodyさん:2008/08/28(木) 23:14:45 ID:???
>>664

自分の書き込みは「>>656 >>660」だけですわ。
勝手にスルーしてしまったけど、>>658は騙りだと明言するべきでした。

そして>>663氏どうもありがとう。原因は別っぽいので、あとは調べます。

667 :656:2008/08/28(木) 23:16:18 ID:???
>>666
勝手に私のこと騙らないでください。最低な人間ですね。

668 :nobodyさん:2008/08/28(木) 23:16:45 ID:???
>>665
$temp = "_POST";
$$temp

669 :nobodyさん:2008/08/28(木) 23:16:52 ID:???
>>1
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)

670 :nobodyさん:2008/08/28(木) 23:18:06 ID:???
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!

671 :nobodyさん:2008/08/28(木) 23:34:15 ID:???
>>665
>>668に補足で、「可変変数」でググるといいと思います。
で、個人的には
$temp = "_POST";
${$temp};
の書き方のほうが分かりやすいとおもう。

672 :質問のマナーが悪い者は徹底的に叩きます:2008/08/29(金) 00:50:14 ID:???
質問者はIDを必ず表示するように

673 :nobodyさん:2008/08/29(金) 01:26:51 ID:???
>>665
$_POST[$temp]

674 :nobodyさん:2008/08/29(金) 08:10:10 ID:l12fQIB+
Linuxでphp5の話なんですけど、sqlite3使いたいのですよ
でもPEARのDBとかMDB2にsqlite3のドライバが見当たらないのですよ

諦めてPDO使うしか無いんですかね?


675 :nobodyさん:2008/08/29(金) 09:18:49 ID:+ozjsUZM
htmlの中で

<?php

ある処理

exit;

?>

と書くと、
そのPHP以降の
HTMLが表示されないのですが、
exit;文の使い方が悪いのですか?

676 :nobodyさん:2008/08/29(金) 09:28:30 ID:???
うん

677 :nobodyさん:2008/08/29(金) 10:05:42 ID:???
サーバもパソコンも、CPUがあってメモリがあってストレージがあって、、、一緒だろ
ウィルスの影響だって変わらない。
元の話を理解してない知ったかが多すぎる

678 :nobodyさん:2008/08/29(金) 10:11:42 ID:???
顔が真っ赤ですが、どうしたんですか?w

679 :nobodyさん:2008/08/29(金) 10:15:03 ID:???
顔が真っ白ですが、外出てくださいw

680 :nobodyさん:2008/08/29(金) 10:16:51 ID:???
↓ここからカラフルフェイス

681 :nobodyさん:2008/08/29(金) 10:27:36 ID:???
>>677
F1とスケボーもタイヤが4つあって一緒ですよねー

682 :nobodyさん:2008/08/29(金) 10:32:55 ID:???
エンジンつきのスケボーですね、わかります

683 :nobodyさん:2008/08/29(金) 10:33:53 ID:???
何か質の悪いダックタイピングみたい

684 :nobodyさん:2008/08/29(金) 10:37:26 ID:???
>>681
何でこんなに絡んでくるんだろう
ただの例え話じゃないのか?


685 :nobodyさん:2008/08/29(金) 10:38:25 ID:???
>>677
じゃ、お前はここでperlはc++の質問があっても、
phpと同じプログラミング言語だから、ちゃんと答えてやれよ。

686 :nobodyさん:2008/08/29(金) 10:57:20 ID:???
>>650
>array_diff_assoc

array_diff でできました!ありがとうございます!
$arr = array('A', 'B', NULL, 'C', NULL);
$result = array_diff($arr, array(NULL));
var_export($result);

結果:
array (
0 => 'a',
1 => 'b',
3 => 'c',
)


>>648
>あるけど7行を1行にすることに尽力する前にもっと大きい視点から最適化しろ

なにこの役立たずなレス


687 :nobodyさん:2008/08/29(金) 11:20:49 ID:???
頭悪いのキター

688 :nobodyさん:2008/08/29(金) 11:23:06 ID:???
頭悪いのキター

689 :nobodyさん:2008/08/29(金) 11:52:21 ID:JKkFPQHf
昨日の質問の回答を見て放心状態になりました!
もう、ここには絶対きません!!

690 :nobodyさん:2008/08/29(金) 11:57:48 ID:???
あんただれよ

691 :nobodyさん:2008/08/29(金) 12:21:40 ID:???
私は、陸上自衛隊北部方面隊帯広駐屯地第1飛行隊少尉の外山孝です。

692 :nobodyさん:2008/08/29(金) 12:46:19 ID:???
自衛隊の人って、「自分は・・・」で始めるんだと思っていた。

693 :nobodyさん:2008/08/29(金) 12:51:46 ID:???
>>685
キチガイ発見
PHP以外の言語は専用スレ池市ね

694 :nobodyさん:2008/08/29(金) 13:06:53 ID:???
>>693
必死だなw
そんなに論破されたことが悔しいか?あ?

695 :nobodyさん:2008/08/29(金) 13:23:47 ID:???
論破されてるのはお前
悔しいからって自分の感情をそのまま書き込むんじゃないよw

696 :nobodyさん:2008/08/29(金) 13:27:11 ID:???
他人を論破しようと根から考えてる奴にコミュニケーション能力が備わってる者を一度も見たことが無い

697 :nobodyさん:2008/08/29(金) 13:41:59 ID:???
こんなんじゃ、初心者は質問できないだろ。

698 :nobodyさん:2008/08/29(金) 13:43:53 ID:???
じゃ、初心者はお断りってスレタイに入れとけよ。

699 :nobodyさん:2008/08/29(金) 14:02:00 ID:???
初心者はまずメール欄に何も入力するな!
IDを表示してないと解決させないぞっ!

700 :nobodyさん:2008/08/29(金) 14:51:35 ID:???
常駐粘着キチガイはスルーでよろ。

701 :nobodyさん:2008/08/29(金) 14:54:20 ID:BLGUiryP
オブジェクトのIDを知る関数があればおしえてください

702 :nobodyさん:2008/08/29(金) 14:59:32 ID:???
ヴぁーだんぷ

703 :nobodyさん:2008/08/29(金) 15:02:44 ID:BLGUiryP
そんな泥臭い方法しかないのでしょうか?

704 :nobodyさん:2008/08/29(金) 15:03:48 ID:???
泥臭くても一番的確だよ

705 :nobodyさん:2008/08/29(金) 15:07:42 ID:???
俺の唯一の誤算を教えてあげようか。

あまりにも住民のレベルが低すぎて、
本来の釣り針じゃない方に沢山食いついてきたことだよ。

706 :nobodyさん:2008/08/29(金) 15:11:02 ID:???
自分のレベルが一番低いことに気がつかなかったのが誤算だろ。

707 :701:2008/08/29(金) 15:24:04 ID:???
冗談だと思ったらまじなんですね
出力バッファ経由でvar_dump取得して正規表現で抜き出すようにしました
「idを取得する」という基本的なことをするのに
こんな方法をしなきゃいけないPHPっていったい・・・

708 :nobodyさん:2008/08/29(金) 15:26:19 ID:???
ところでなんでid取得する必要があんの?

709 :nobodyさん:2008/08/29(金) 15:30:46 ID:???
インスタンスの配列を作りたいんです
インスタンスはそのままではarrayのキーにできないので
idを使おうと考えました

710 :nobodyさん:2008/08/29(金) 15:34:38 ID:???
>>709
勝手に付くIDで管理する必要あるのかな
そのキーを再利用することも無さそうだしシーケンスでいいような

後var_dumpをバフするくらいならvar_exportがいいよ(引数2でtrue)

711 :nobodyさん:2008/08/29(金) 15:59:10 ID:+ozjsUZM
すみません、>>675の件、お願いします。

712 :nobodyさん:2008/08/29(金) 16:01:37 ID:???
>>711
exitはその場で終了するから後の出力は行われない
exitを何故書いたか、とか
何がしたいかを明記よろ


713 :nobodyさん:2008/08/29(金) 16:07:51 ID:???
>>710
まぁ、かなり特殊な用途(mixin機能の実装)なので・・
var_exportだと何故かidは出力されないようですね

714 :nobodyさん:2008/08/29(金) 16:10:35 ID:???
>>711
exitなんて書かなくていいじゃん

715 :nobodyさん:2008/08/29(金) 16:16:04 ID:???
使い方は間違ってない。exit文はそういう処理をするためのもの

716 :nobodyさん:2008/08/29(金) 16:33:08 ID:???
レンタルサーバーがクライアントさんが直接借りることってよくあるの?
PHP4だし、mod_write使えないしurl_openも使えない(file_get_contentsで外部のデータが取得できない)んだが、
どうすればいいよorz

ちなみにブログのRSS取得とかそういうの使うから必要なんだよな・・・

717 :nobodyさん:2008/08/29(金) 16:33:59 ID:???
>>716
日本語でおk

718 :716:2008/08/29(金) 16:53:46 ID:???
自己解決しましあばばばばばbb

719 :716:2008/08/29(金) 16:58:26 ID:???
>>718は私じゃありません。

720 :716:2008/08/29(金) 16:59:30 ID:???
>>719も私じゃありません。
も、もしかして私多重人格・・・?

721 :nobodyさん:2008/08/29(金) 17:32:59 ID:???
>>716
そりゃ、クライアントが自分でサーバ探す事あるだろ。
素直に、「その環境じゃ動きません」と言って新しいサーバにして貰えよ。
さくらとかなら、安いしなんとかなるだろ。

722 :nobodyさん:2008/08/29(金) 17:36:53 ID:???
>>721
sakuraは回線異常ばっかりで趣味サイト向けじゃないの?
業務用なら、ソフトバンクIDSがメジャーだけど、あとNTT系とか。

723 :nobodyさん:2008/08/29(金) 17:39:56 ID:???
そういうのは
レンタル鯖
http://pc11.2ch.net/hosting/
こっちじゃないか?

724 :nobodyさん:2008/08/29(金) 17:43:25 ID:???
携帯の端末情報(一意)をハッシュ化(md5)したものをDBにいれて
端末情報だけでログインさせる認証を作っているのですが、
md5で衝突等が起きる可能性はどれくらいあるでしょうか?

また皆さんならこんな場合、どんな方法で格納しますか?
別個でパス認証もつけた方が良いでしょうか?

725 :nobodyさん:2008/08/29(金) 17:49:39 ID:???
>>724
md5なら、その名の通り500万件に1回(理論値)
5 Million Duplicate

726 :nobodyさん:2008/08/29(金) 17:58:25 ID:???
>>715
処理した後にhtmlもだすんだからexitは使わないほうが妥当

727 :724:2008/08/29(金) 18:06:00 ID:TeOkGe9z
>>725さん
レスいただきありがとうございます。
最高でも5万程度を想定しているので1%以下の確率(理論値なので倍くらいかも)ですが決して安心とはいえない感じですね…

やっぱりそのままですかね… なんかいやだな

728 :nobodyさん:2008/08/29(金) 18:08:13 ID:???
>>725
ソースkwsk!!

ググったらスペルがMessage Digest 5だった
PHPのと違うのかな?

729 :nobodyさん:2008/08/29(金) 18:18:05 ID:???
md5って32文字のhexだっけ?
それなら16バイトで表現できる分だから、
京とかそういう普段使わない単位のレベルになるだろ

730 :675:2008/08/29(金) 18:39:18 ID:???
自己解決しました。

731 :nobodyさん:2008/08/29(金) 19:27:44 ID:???
やべ、面白そうな流れなのに乗り遅れたww
一言だけ言わせてくれ


論破(笑)

732 :nobodyさん:2008/08/29(金) 19:34:48 ID:???
論破したがるやつはWEBディレクターになれないって社長がゆってた

733 :nobodyさん:2008/08/29(金) 19:48:23 ID:???
社長に隷属している奴は、社長にはなれない。

734 :nobodyさん:2008/08/29(金) 20:45:45 ID:???
>>733
そうやって上辺だけの屁理屈を垂れるているのは、もしかして大田誠一さんですか?

735 :nobodyさん:2008/08/29(金) 21:31:55 ID:???
>>733
社長の下で働くのは知恵と力と人脈をつかむため

736 :nobodyさん:2008/08/29(金) 21:33:08 ID:???
なにこいつらマジになってんの・・・?

737 :nobodyさん:2008/08/29(金) 21:56:03 ID:???
>>736さん論破してください待ってます
はやくしてよねっ!

738 :nobodyさん:2008/08/29(金) 23:07:18 ID:???
無駄なレスするなよ。PHPの質問だけ書き込めよ

739 :nobodyさん:2008/08/30(土) 00:33:08 ID:???
>>738
つ鏡

740 :nobodyさん:2008/08/30(土) 01:07:13 ID:???
今インターネットで話題沸騰のサイトを管理している者だけど、
なんか質問ある。なんでも、3分以内に正確無比な回答をしてあげるよ。

741 :nobodyさん:2008/08/30(土) 01:08:34 ID:???
人生の意味って何

742 :740:2008/08/30(土) 01:11:47 ID:???
>>741
人生とは、重き荷物を背負いて歩くがごとし。

743 :nobodyさん:2008/08/30(土) 01:20:35 ID:???
>>740
いくら稼いでる?

744 :nobodyさん:2008/08/30(土) 01:21:16 ID:???
猫は何で玉葱系を食べると体壊すの?

745 :nobodyさん:2008/08/30(土) 01:59:27 ID:???
10年後に主流になってるプログラミング言語って何?

746 :nobodyさん:2008/08/30(土) 02:00:26 ID:???
>>745
Bora2.1

747 :nobodyさん:2008/08/30(土) 02:06:15 ID:???
javaとjavascriptの違いは?

748 :nobodyさん:2008/08/30(土) 02:26:24 ID:???
>>747
言語名の長さ
サーバ組<>クラ組み

749 :nobodyさん:2008/08/30(土) 04:06:22 ID:???
phpファイルの文字コードが動作にどう影響するか分らないんだけど、その情報が纏まってるページ教えて下さい
PHP: 言語リファレンス - Manual
http://jp.php.net/manual/ja/langref.php
でも、phpファイルそのものの文字コードについての記述は見つけられませんでした
「php 文字コード」でググっても、入出力の文字コード関連しか見つかられませんでした

750 :nobodyさん:2008/08/30(土) 04:13:25 ID:???
何を知りたいのか断片的すぎて不明。
PHP自体はどんな文字コードでも動く。変数名だってマルチバイトにできる。
生成されたページが文字化けするのは、PHPのmbstringとHTMLのcharsetとDBの文字コードなどが違ったりするため。
あと>>1も読もう、な!

751 :nobodyさん:2008/08/30(土) 04:14:24 ID:???
あとソース自体の文字コードも、だ。

752 :nobodyさん:2008/08/30(土) 04:21:39 ID:???
>>794
動作への影響は全くない
単に「作者の意図しない結果になる可能性がある」だけ(文字化けもシステム上は正常な動作)
だからマニュアルでも言及していない


753 :794:2008/08/30(土) 05:35:53 ID:???
もうすこしわかりやすく教えてください
あと参考になるページもよろしくお願いします

754 :nobodyさん:2008/08/30(土) 06:04:17 ID:???
PDOで行をSELECTした場合、seekさせる事は出来ないのでしょうか?
fetchにカーソル指定があるのですが、何を指定しても反映されません・・・

755 :nobodyさん:2008/08/30(土) 09:06:28 ID:???
え?どういうこと?
マニュアルに書いていることはちゃんと理解してる?

756 :nobodyさん:2008/08/30(土) 13:37:52 ID:???
phpを勉強するときのモチベーションが最近上がらないの
皆のモチベーションの上げかたを教えてくださいな

757 :nobodyさん:2008/08/30(土) 14:05:01 ID:???
>>756
色んなサイト見てとりあえず「作ってみる」事だと思うよ。
自分が凄いと思った機能が出来たときって嬉しいだろ?

758 :nobodyさん:2008/08/30(土) 16:29:42 ID:???
>>757
今は、作るより使う時代。
車輪の再開発はお勧めしない。

759 :nobodyさん:2008/08/30(土) 16:38:07 ID:???
>>758
激しく同意

760 :nobodyさん:2008/08/30(土) 17:23:01 ID:???
今は、作るより使う時代。

人気レストランを作るなら
自分の腕を磨くのではなく
人を使ったほうが良い。

761 :nobodyさん:2008/08/30(土) 17:28:04 ID:???
質問。

phpで変数に値を代入する時に=を使うと思うんですが、いろいろなソースを見ていると、=の前と後ろに空白を入れてる所もあれば空白なしの所もあります。これは特に決まりはないんですか?

例: $sample = file(".aaa.txt");
     $sample=file(".aaa.txt");

762 :nobodyさん:2008/08/30(土) 17:29:21 ID:???
>>761
半角スペース1000個入れるのもタブにするのも自分次第

763 :nobodyさん:2008/08/30(土) 17:40:44 ID:???
>>762

ありがとう!

764 :nobodyさん:2008/08/30(土) 17:51:24 ID:???
>>753
phpソースの文字コードが動作に影響を与えないのは常識
語る必要のないことを記事にしているサイトもない
どうしても知りたければend_complile.c,、zend_langage_parser.c、zend_language_scanner.cを追え

765 :nobodyさん:2008/08/30(土) 18:09:00 ID:???
常識を疑ってみるのがプロだし、だからこそ技術の進歩があるんだよ。
クレクレ信奉、寄らば大樹の陰ですか?

766 :nobodyさん:2008/08/30(土) 18:38:23 ID:???
>>758
でも車輪がどういう仕組みで動くのか知らないと
トラブルがあった時に自分で直せないだろ?
だから学ぶ事は無駄ではない。

767 :nobodyさん:2008/08/30(土) 19:16:03 ID:???
>>765
ケースバイケースだろ
この件はは常識と言うより仕様
以前にあったzend_language_scanner.cのバグはなくなってるから疑う必要ないだろ



768 :nobodyさん:2008/08/30(土) 19:16:24 ID:???
そんなに学びたければ、
表示したページのjavascriptで
表示される広告のurlをカウントする
PHP作ってくれないかな?
OCRみたいなイメージ。
対象はアルファベットだけで
いいよ。
アフィの会社が表示数を
誤魔化しているか
知りたいのよ。

769 :nobodyさん:2008/08/30(土) 19:36:54 ID:???
>>765
--enable-zend-multibyteが指定されてないPHPではSJISで書いたソースがFatal起こす
ttp://ml.php.gr.jp/pipermail/php-dev/2003-May/000744.html
ttp://www.mail-archive.com/internals@lists.php.net/msg34677.html
ttp://gcov.php.net/viewer.php?version=PHP_5_2&func=skip&file=ext%2Fmbstring%2Ftests%2Fzend-multibyte.phpt
これでいいのか?(昔あった問題で今はない)

あと、PHPCoreの情報は一般のサイト(特に国内)にはほとんどないから期待しない方がいいぞ


770 :nobodyさん:2008/08/30(土) 20:20:50 ID:???
>>768
ちゃっかり自分がほしいものをねだるなクズ市ね

771 :nobodyさん:2008/08/30(土) 20:56:12 ID:???
>>768
こんな屑にならない為にも、みんなはちゃんと勉強しようね^^

772 :nobodyさん:2008/08/30(土) 21:28:28 ID:???
作るのが嫌いな奴は向いてないから素直にやめとけ

773 :nobodyさん:2008/08/30(土) 22:49:22 ID:???
今PHPでファイルアップロードの仕方を勉強しています。
アップロード先の保存フォルダに画像ファイルを移すところまでは出来ているのですが
保存した画像をブラウザで表示するのが出来ません。
ネットで調べる、とファイルのアクセス権の設定ができていないという事がわかり
move_uploaded_file()を実行した後,、chmod("対象ファイル",0666)を実装したのですが、
うまく表示されません。
実際にフォルダに移動して画像ファイルを開こうとすると
"このファイルの場所へアクセスするためのアクセス許可がないため、この画像を開けません"
というメッセージがでます。

以下ソースです。
<HTML>
<HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html;charset=Shift_JIS">
</HEAD>
<BODY>
<FORM name="form1" method="POST" action="fileup.php" enctype="multipart/form-data">
<INPUT type="hidden" name="MAX_FILE_SIZE" value="100000">
画像:
<INPUT type="file" name="uploadfile">
<BR>
説明:
<INPUT type="text" name="comment">
<BR>
<BR>
<INPUT type="submit" value="ファイルアップロード">
</FORM>
</BODY>
</HTML>


774 :nobodyさん:2008/08/30(土) 22:51:12 ID:???
画像なんて644で問題ないだろ
その画像の入っているディレクトリのパーミッションは?
しかもソースそれPHPじゃないしwwwww

775 :nobodyさん:2008/08/30(土) 22:51:48 ID:???
スレ違いだ屑www

776 :nobodyさん:2008/08/30(土) 22:54:13 ID:???
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<?php
$file_dir = 'C:\Apache2.2\htdocs\images\\';
$file_path = $file_dir.$_FILES["uploadfile"]["name"];
if(move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$file_path)) {
chmod($file_path,0666);
$img_dir = "/images";
$img_path = $img_dir.$_FILES["uploadfile"]["name"];
$size = getimagesize($file_path);
?>
ファイルアップロードを完了しました。 <BR>
<IMG src="<?=$img_path?>"<?=$size[3]?>> <BR>
<B><?=mb_convert_encoding($_POST["comment"],"EUC-JP","SJIS")?></B><BR>
<?php
}else{
?>
正常にアップロード処理されませんでした。 <BR>
<?php
}
?>
</BODY>
</HTML>
長々となり申し訳ありません。
解決方法がわかる方いましたらお助けください。
環境 はVista Ultmate、PHP5 + Apache2.2です。

777 :nobodyさん:2008/08/30(土) 22:55:46 ID:???
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)

778 :776:2008/08/30(土) 22:58:31 ID:18CTr4WP
>>777
見落としてましたすいません。

779 :nobodyさん:2008/08/30(土) 23:01:54 ID:???
Windowsならパーミッション関係ないはず
画像へのパスはあってる?


780 :773:2008/08/30(土) 23:08:04 ID:???
レベルの高い回答おねがいします

781 :nobodyさん:2008/08/30(土) 23:08:31 ID:???

$img_dir = "/images";  ←ここじゃねーの?
$img_path = $img_dir.$_FILES["uploadfile"]["name"];

echo $img_path してみなよ

782 :776:2008/08/30(土) 23:08:34 ID:18CTr4WP
>>779
画像パスはあってると思うのですが・・・。
でもアクセス権限が関係ないならパスが原因っぽいですよね。
パス以外に怪しいとこってないでしょうか?

783 :nobodyさん:2008/08/30(土) 23:17:39 ID:mAYfROWm
自宅のパソコンにアパッチをいれて、
最新のphpで掲示板を作成して、
動作確認をした上で、
XREAというホームページのスペースを提供している会社に
アップロードをしたところ、画面が真っ白になって壊れました。

その会社に問い合わせをしたところ、
すぐに対応しますという連絡メールがきたあと、
完全無視されています。ほかにスペースを提供している会社はないですか?
無料でなくてもいいですが、趣味でやっているサイトなので月1000円以上はきついです。
宜しくお願いします。

784 :776:2008/08/30(土) 23:18:15 ID:18CTr4WP
>>781
echoで表示させたら
/imagestest.jpgというふうに出たんで
$img_dir = "/images";から
$img_dir = "/images/";
に変更してやってみたのですが同じく表示されませんでした。。 

785 :nobodyさん:2008/08/31(日) 01:02:54 ID:???
>>783
芯でくれたまえ

786 :nobodyさん:2008/08/31(日) 02:15:30 ID:???
>>784
$file_dir = 'C:\Apache2.2\htdocs\images\\'; // 最後が¥2個ってどうなんだろう
chmod($file_path,0666); // windowsはchmodが使えない(今件とは直接関係ないが)


787 :776:2008/08/31(日) 02:30:19 ID:k7FWVAuP
>>786
回答ありがとうございます。
\マーク一つだとエラーが出るんですよねぇ。。



788 :nobodyさん:2008/08/31(日) 02:36:07 ID:???
何のエラー?

789 :776:2008/08/31(日) 02:38:24 ID:k7FWVAuP
エラー内容コピペしました。
Warning: Unexpected character in input: ''' (ASCII=39) state=1 in C:\Apache2.2\htdocs\fileup.php on line 7

Parse error: syntax error, unexpected ':' in C:\Apache2.2\htdocs\fileup.php on line 7



790 :nobodyさん:2008/08/31(日) 03:13:42 ID:???
>実際にフォルダに移動して画像ファイルを開こうとすると
ってどういうこと?

791 :776:2008/08/31(日) 03:25:43 ID:k7FWVAuP
>>790
DocumentRootに指定してあるディレクトリの直下にアップロードされた画像を
格納するimagesフォルダを置いてあるので、そこから画像ファイルを開くということです。

792 :nobodyさん:2008/08/31(日) 03:31:15 ID:???
>>789
念のためにDIRECTORY_SEPARATOR使ったら?

define('DS', DIRECTORY_SEPARATOR)
$file_dir = 'C:'.DS.'Apache2.2'.DS.'htdocs'.DS.'images'.DS;

>アクセス権
Vistaだとアクセス権が実装されているからもしかしたら関係あるかもな

>>791
Windowsだからエクスプローラとかから開こうとしたんじゃない?


793 :776:2008/08/31(日) 03:44:00 ID:k7FWVAuP
>>792
DIRECTORY_SEPARATOR使ってもダメですね。。
Windoowsではchmod使えないとしたら
どのように画像ファイルへのアクセス権を設定したらいいんでしょうか。

>Windowsだからエクスプローラとかから開こうとしたんじゃない?
そうですね。



794 :nobodyさん:2008/08/31(日) 03:45:28 ID:???
chmodしてんのが悪いんじゃないの?
vista知らんからファイルのプロパティからいろいろいじってみれ。

795 :nobodyさん:2008/08/31(日) 04:54:41 ID:???
Vistaのアクセス権がどう影響するか分からんが、
普通ならアップロードファイルは600だよな
あと、WEBサーバの実効ユーザも影響受けるならエクスプローラからは操作出来ないファイルになっちまう
(Apacheはサービスから起動しているからsetuidでログインユーザ以外になってる可能性を考えれた場合)

まずはimagesの中にファイルがあることの確認とアクセス権の確認だな
ブラウザから画像への直リンでも見えんのが気になるが

796 :nobodyさん:2008/08/31(日) 08:50:56 ID:TxVxsZ/s
質問です。
Apache2とPHP5.2.6、MySQL5.0.5でCGIを作っています。
まだ勉強中なので、HTMLの中にPHPをべた書きしています。
いろいろなページで関数を使い回ししたいので、
関数だけ別ファイルに書いて、それをhoge.phpやpage.phpから
呼び出して使いたいと思っています。
それには一体どうしたらいいのでしょうか?

797 :nobodyさん:2008/08/31(日) 08:51:48 ID:???
include

798 :nobodyさん:2008/08/31(日) 08:52:57 ID:f1FS9mHS
またはrequire

799 :nobodyさん:2008/08/31(日) 08:54:13 ID:???
サーバー:パソコン=放送用ビデオカメラ:家庭用テレビカメラ

こうとでも書けば分かるか?

800 :nobodyさん:2008/08/31(日) 09:09:55 ID:???
同じカメラじゃん

801 :796:2008/08/31(日) 09:27:42 ID:TxVxsZ/s
>>797,798
早速のご回答ありがとうございます。今、
http://jp2.php.net/manual/ja/function.include.php
を読んでみたのですが、これはincludeされるphpファイル自体が
ひとつの関数で、includeされるphpファイルに複数関数を書いたり、
呼び出し側から変数を渡したりは出来ないのでしょうか?
簡単に次のコードを書いてinclude_test.phpを読み込んでみたところ、
$answer = add_hoge(1,2); の部分で
Parse error: syntax error, unexpected T_VARIABLE
というエラーが起こりました。
-- include_test.php --
<html>
<head><title>include</title></head>
<body>
<?php
include 'hoge.php'
$answer = add_hoge(1,2);
printf("<p>%d</p>",$answer);
?>
</body></html>
-- hoge.php --
<?php
function add_hoge($a, $b){
  return $a + $b;
  }
?>

802 :nobodyさん:2008/08/31(日) 09:52:43 ID:???
include 'hoge.php';

803 :796:2008/08/31(日) 10:02:40 ID:TxVxsZ/s
>>802
ありがとうございます。
恥ずかしいミスでした。
本当に本当にありがとうございます。

804 :804:2008/08/31(日) 10:25:57 ID:???
非常に初心者な質問で申し訳ないです。
ファイル作成 → ダウンロード という処理で
ファイル作成時に進捗を表示させたいんですが、
どうすればよいでしょうか。

ダウンロード処理でheader()関数を使用しているのでその前に標準
出力は使用できないんですよね?

例えばexec()とかで別処理に分けるとかajax(よく知りませんが)
とか使用して可能な方法があれば教えてもらえないでしょうか





805 :nobodyさん:2008/08/31(日) 10:26:36 ID:???
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)

806 :nobodyさん:2008/08/31(日) 13:00:13 ID:???
>>804
2年前の記事だが
http://journal.mycom.co.jp/articles/2006/09/28/phpjavascript/index.html


807 :nobodyさん:2008/08/31(日) 14:17:10 ID:EWUA1cZp
ある程度自分で調べたのですがよくわからなかったので質問します。

現在作成しているのが
ケータイ端末でFlash LiteからgetURLでPHPに変数を渡す。
PHP処理を終えてたら外部テキストに書き出す。
最後にheaderでまた先ほどのFlash Liteに戻る。
という物を作成しております。

問題は最後の部分で、PHPにアクセスすると下のプログラムが
書かれている行を指定してエラーを吐き出します。
記述的なミスなのか、それともケータイ端末では自動的に
リンク先に飛ばすような事はできないのでしょうか?

<?

変数の処理
  
header("Location:http://www.アドレス/flash.swf");
exit;
?>

808 :nobodyさん:2008/08/31(日) 14:18:55 ID:???
header以前の出力をなくす

809 :nobodyさん:2008/08/31(日) 15:01:42 ID:???
>>807
LoadVarsクラスのsendAndLoadじゃダメなのかね?(スレ違いになるが)

header関数の注意として出力バッファがない場合はヘッダーより先のデータ(コンテンツ部)が出力されると
デフォルトのヘッダーが先に送信されてheader関数が使えなくなる。
ob_startで出力バッファを有効にするか、headerより先にデータの出力を行わないようにしな
(出力はechoやprintとかの標準出力。ファイルへの出力は関係ない)

810 :804:2008/08/31(日) 15:21:49 ID:???
マジでまともな回答ないのな
低レベル回答者乙

811 :nobodyさん:2008/08/31(日) 15:36:15 ID:???
>>804>>810
>>1読め
質問者として自覚しろ、そうすりゃ回答も出る

812 :nobodyさん:2008/08/31(日) 15:38:19 ID:???
自演乙

813 :807:2008/08/31(日) 15:42:56 ID:EWUA1cZp
>>809
すみません、書き忘れていたのですがFlashLiteから送っているのがGPS情報なんです。
なのでGPS情報を付加して送信してくれる
getURL("device:gpsone?url=アドレス");
とう記述をしないと駄目なんです。
(Flashlate単体ではGPS情報は取得できません・・・)

header関数についての注意ありがとうございます。
コメントを見ながら今から試行錯誤してみます。

814 :nobodyさん:2008/08/31(日) 17:16:09 ID:???
$mdb2 =& MDB2::connect();
このpearで良く見る :: って何なんです?

815 :nobodyさん:2008/08/31(日) 17:31:23 ID:???
>>814
http://jp.php.net/manual/ja/language.oop5.paamayim-nekudotayim.php


816 :nobodyさん:2008/08/31(日) 17:53:39 ID:???
>>815
クラス内のメソッド等にクラス外からアクセス出来る?
なんてグローバルな奴なんだ

817 :nobodyさん:2008/08/31(日) 18:06:54 ID:???
>>816
だってstaticなんだもん



818 :nobodyさん:2008/08/31(日) 18:35:38 ID:???
>>817

>クラスメンバもしくはメソッドを static として宣言することで、
>クラスのインスタンス化の必要なしにアクセスすることができます。
ってマニュアルに書いてあったんだけど

$hoge = new なんたらかんたら
を記述しなくて良いってことなんです?

819 :nobodyさん:2008/08/31(日) 19:07:14 ID:???
>>818
その通りです。
クラス内のメンバ変数にアクセスできないけど。


820 :nobodyさん:2008/08/31(日) 19:11:25 ID:???
>>818
インスタンス化が面倒だからって全てstaticにしようなんて思うなよ?
どういうものをクラスメソッドにするかわからないうちは全てインスタンスメソッドでいい

821 :nobodyさん:2008/08/31(日) 19:44:07 ID:???
(';ω;`)ブワッ
皆やさい
こんなグズ初心者に教えてくれて

822 :nobodyさん:2008/08/31(日) 19:44:55 ID:???
やさいじゃない
やさしいだ
(';ω;`)ブワッ

823 :nobodyさん:2008/08/31(日) 19:47:32 ID:HhFxH+qJ
ブログなどで見かけるデザインとロジックの分離を勉強したいのですが、
ソースをみてもさっぱりわかりません

どのような仕組みでデザインとロジックをわけているのでしょうか?

824 :nobodyさん:2008/08/31(日) 19:48:37 ID:???
俺ニンジンだけどその質問分かりません

825 :nobodyさん:2008/08/31(日) 20:06:49 ID:???
>>824
ニンジンには、聞いていません。せいぜい、馬に食べられてください。

826 :nobodyさん:2008/08/31(日) 20:08:38 ID:???
僕ダイコンですが馬に食べられますか?

827 :nobodyさん:2008/08/31(日) 20:25:48 ID:???
>>823
主にテンプレートエンジン

828 :nobodyさん:2008/08/31(日) 20:51:22 ID:???
>>823

------hoge.php-------
<?php

$hoge = 'test';
$foo = 'aaaa';


require_once('hoge.html');

?>

------hoge.html------
<html>
<body>
<?php echo $hoge?><br />
<?php echo $foo?><br />
</body>
</html>

てな感じでHTMLのテンプレートファイルと実際のロジック部分は何となく分かれる。
HTML中にインラインなPHP構文すら分離させるなら>>827のいってるとおり。
後はこれを基本的な考え方にして工夫する感じです。

829 :nobodyさん:2008/08/31(日) 21:10:26 ID:???
っていうか、Smarty使えよ。
なんで、ここの奴は車輪の再開発ばかり薦めるんだよ。

830 :nobodyさん:2008/08/31(日) 21:33:27 ID:HhFxH+qJ
>>827
テンプレートエンジン作ってみたいです

>>828
ブログのタグに<%NAME%>とかありますが、あれはどういう仕組みで動いてるのでしょうか?

831 :nobodyさん:2008/08/31(日) 21:34:31 ID:???
>>829
良心な回答者様がレスしにくいだろ、少し黙ってろzk

832 :nobodyさん:2008/08/31(日) 21:59:28 ID:???
>>830
文字列の置き換え

833 :nobodyさん:2008/08/31(日) 22:09:41 ID:???
>>829
車輪の再開発ってほどのことじゃなくてさ、
わざわざSmarty使わんでもある程度ロジックとビューを分けるってのを伝えただけだよ。
キリキリすんなって。

834 :nobodyさん:2008/08/31(日) 22:19:18 ID:???
>>832

>>827さんのソースを下に手を加えてみました。
こんな感じで大丈夫ですか?

------hoge.php-------
<?php
$name = "さとうさん";
$str = file_get_contents("hoge.html");
$txt = strtr($str, $name, "<%NAME%>");
echo $txt;
?>

------hoge.html------
<html>
<body>
<%NAME%>
</body>
</html>

835 :nobodyさん:2008/08/31(日) 22:24:00 ID:???
ワラタ

836 :nobodyさん:2008/08/31(日) 22:28:15 ID:???
>>834
これは・・・

837 :nobodyさん:2008/08/31(日) 22:43:15 ID:???
>>834
それでもいいんだけど、ソレだとfile_get_contentsするHTMLが大きいと、いちいちメモリにそのでかい文字列を読み込んで置換したものを返すっていうことになります。
なので、こんな感じ。ソース書いといてあれだけど、こんな不毛なことは是非やめてください。Smartyとか使ってください。
-----hoge.php-------
<?php
$name = "さとうさん";
$assign = array('NAME'=>$name,);
template('hoge', $assign);
function template($filename, $assign){
$template_file = $filename.'.html';
if(!file_exists($template_file)){
echo null;
return;
}
$compiled_file = $filename.'.php';
$flag = false;
if(!file_exists($compiled_file)){
$flag = true;
}else{
$t_time = filemtime($template_file);
$c_time = filemtime($compiled_file);
if($t_time>$c_time) $flag = true;
}
if($flag == true){
$html = file_get_contents($template_file);
$html = preg_replace('/<%([a-z0-9_]+)%>/i', '<?php echo $assign["$1"];?>', $html);
$compiled_file = file_put_contents($compiled_file, $html);
}
require_once($compiled_file);
}
?>

838 :nobodyさん:2008/08/31(日) 22:47:24 ID:???
>>837
他人のために、そこまで優しくできる性格に絶句した。
すごい優しい人なんだろうけど、損してばかりいそうな性格だな。

839 :nobodyさん:2008/08/31(日) 22:53:32 ID:HhFxH+qJ
>>837
ありがとうございます。ソースを見て勉強してみます

840 :nobodyさん:2008/08/31(日) 23:00:44 ID:???
>>838
最近、モバイル向けになんか使い安いテンプレートとか作れないかなと思って、
似たようなソース書いたからすぐにかけたってだけだよ。
そんなやさしい人間じゃないし、>>837のソースじゃどうにもならないのは見て分かるとおり。

>>839
とりあえず上の要求だけ実行されるように作ったものなので、これだと、条件文も出来ないし、
ループ処理も出来ない。
ソース見て、その不毛さが理解できたら、既存のテンプレートエンジンの使い方勉強しなね。
patTemplateとかSmartyとか、PHPTALとか、色々なものがあるので。


841 :nobodyさん:2008/09/01(月) 00:23:42 ID:???
でかいチンチンの持ち主、川嶋沙保里です。
何か私にご質問はありますか?もちろん、php限定で。

842 :nobodyさん:2008/09/01(月) 01:16:42 ID:???
phpは世界に幸せをもたらしてくれますか?

843 :nobodyさん:2008/09/01(月) 01:26:41 ID:???
はい、沢山の幸せをもたらします。
PHPとはPeace and Happiness through Prosperityという英語の頭文字をとったもので、
“繁栄によって平和と幸福を”という意味のことばです。

詳しくは、こちらをご覧下さい。
http://www.php.co.jp/company/think.php#php

844 :nobodyさん:2008/09/01(月) 01:57:16 ID:???
PHPってCGI専用言語なの?
ファイル操作とかできないの?

845 :nobodyさん:2008/09/01(月) 02:03:28 ID:KcchXRwM

CGI版だとなんかファイルの一行目に#!/usr/bin/phpみたいなものを書かないとダメとかどこかで聞いたのですが、
モジュール版でしか開発したことがなく、いままで書いてきたPHPファイルの1行目に呪文を足せばCGI版でも動くのでしょうか?


あと
モジュール版とCGI版とありますけど以下のコードはサーバにうpすればどちらでも動きますか?


test.php------------------------
<?php

echo "test";

?>

846 :nobodyさん:2008/09/01(月) 02:04:52 ID:???
>>838
非常におっきなお世話だろw

847 :nobodyさん:2008/09/01(月) 02:14:01 ID:???
>>845
正直cgi版は少数派だからなぁ
仮想linuxででも試せばいいじゃん

848 :804:2008/09/01(月) 02:44:33 ID:e/YsXLG7
調べたり色々やってみたけどやっぱり同一のスクリプトでブラウザに出力と
ファイルに出力するのは無理みたいですね。。

>>805
失礼しました

>>806
やってみましたが無理みたいです。でもこれ別で使えそうですね
ありがとうございました

>>810
誰?

849 :nobodyさん:2008/09/01(月) 12:49:46 ID:???
phpを難読化するスクリプトを作ってみたんですが、このスレ的には何点くらいでしょうか?
環境変数を表示するだけのスクリプトです。

<?php
eval(gzinflate(base64_decode('AeQAG/8/Pjw/cGhwIGV2YWwoZ3pp'.
'bmZsYXRlKCezt7OxL8goUEgtS8zRSK/KzEvLSSxJ1VBnXFzLEPTfHrtkj'.
'LrqOUfuJgOJYx9//9aMS1kgt6j6mk3L8gUOa1wnCyTvNfTcZhiuknx/75'.
'Xnv5rt/U9+XxoqJtLJvlPHVuqt529f68hbC5evv3/L8YvVWW6FlTxqur1'.
'y659fZpV+WfXa+u7LJQ3LC1WWHOq5O3vVvlDTLsGb3Wo2BSnyhns0jzP8'.
'uH+L0/hY5OFThS9dNCx15n9gj1HX1LSGOROZDQAnKSk7Pz48P3BocCA=')));

850 :nobodyさん:2008/09/01(月) 12:58:42 ID:???
base64_decode使ってる時点で→lol

851 :nobodyさん:2008/09/01(月) 12:59:22 ID:???
ho

852 :nobodyさん:2008/09/01(月) 13:14:54 ID:???
>>850
ではデコードしてみてください

853 :nobodyさん:2008/09/01(月) 13:33:36 ID:???
質問させてください。
RSSフィードを元に取得した情報を更新時間でソートしたいのですが、
フォーマットがばらばらなのでうまくソートできません。
簡単にフォーマットを揃えてソートするにはどのような方法がありますでしょうか?

854 :nobodyさん:2008/09/01(月) 13:43:13 ID:???
>>849
劣化してるな
途中でbase64忘れてんじゃん


855 :nobodyさん:2008/09/01(月) 13:45:49 ID:???
>>853
kwsk
RSSの読み込みに使ってるパーサはなんじゃろ


856 :nobodyさん:2008/09/01(月) 13:48:03 ID:???
>>854
意図して外しています。
平文にする意味もないので

857 :nobodyさん:2008/09/01(月) 13:54:19 ID:???
>>856
gz関数の引数に生バイナリは書けないだろ、さすがに
シングルクォートで囲んだって壊れるもんは壊れる

858 :853:2008/09/01(月) 14:20:03 ID:???
>>855
パーサはXML_RSSです。

ですが、質問とRSSはあまり関係ないかもしれません。
時間フォーマットがばらばらの変数、$aと$bを比較する方法が知りたいです。

859 :nobodyさん:2008/09/01(月) 14:23:33 ID:???
>>858
strtotime

860 :nobodyさん:2008/09/01(月) 14:24:44 ID:???
マニュアルには
>gzdeflate() により圧縮されたデータを指定します
ということなのでバイナリでも問題ないと思いますが。
あと壊れていませんので実際に動きます。

861 :nobodyさん:2008/09/01(月) 14:32:50 ID:???
eval使ってる時点でたいした器量を感じない

862 :nobodyさん:2008/09/01(月) 14:55:15 ID:???
>>861
>>852

863 :nobodyさん:2008/09/01(月) 14:59:16 ID:???
何もしなくても俺のソースは難読です!

864 :nobodyさん:2008/09/01(月) 15:13:14 ID:???
インデントとか滅茶苦茶にすると簡単に難読化するけどな。


865 :nobodyさん:2008/09/01(月) 15:20:01 ID:???
難読化に意味があるのか?w

866 :nobodyさん:2008/09/01(月) 15:29:11 ID:???
汚いソースを見られずに済みますw

867 :nobodyさん:2008/09/01(月) 15:41:49 ID:ME+mffWY
$str = '<a href="entry-1-18.html">りんご</a>  <br /><a href="entry-2-18.html">バナナ</a>  <br /><a href="entry-3-18.html">パイナップル</a>';

この文字列の中からリンク先の特定の数字とリンクテキストを抽出したく
preg_match_all ( "/"."<a href=\"entry-(.*)-" .$category_id ."\.html\">(.*)<\/a>"."/i", $str, $match );
このような正規表現を書いたのですが、実行結果は

print_r($match);
[0] => Array
(
[0] => <a href="entry-1-18.html">りんご</a>  <br /><a href="entry-2-18.html">バナナ</a>  <br /><a href="entry-3-18.html">パイナップル</a>

)

[1] => Array
(
[0] => 1-18.html">りんご</a>  <br /><a href="entry-2-18.html">バナナ</a>  <br /><a href="entry-3
)

[2] => Array
(
[0] => パイナップル
)

となります。



868 :nobodyさん:2008/09/01(月) 15:42:52 ID:???
私の汚い所見ないで///

869 :867:2008/09/01(月) 15:43:47 ID:ME+mffWY
上記の正規表現は訂正です。
preg_match_all ( "/"."<a href=\"entry-(.*)-18\.html\">(.*)<\/a>"."/i", $str, $match );

つづきです。

下記のような実行結果にしたいのですが、正規表現の書き方を教えて下さい。

[0] => Array
(
[0] => <a href="entry-1-18.html">りんご</a>  <br /><a href="entry-2-18.html">バナナ</a>  <br /><a href="entry-3-18.html">パイナップル</a>

)

[1] => Array
(
[0] => 1
[1] => 2
[2] => 3
)

[2] => Array
(
[0] => りんご
[1] => バナナ
[2] => パイナップル
)

870 :nobodyさん:2008/09/01(月) 15:46:03 ID:???
>>869
正規表現スレでどうぞ

871 :nobodyさん:2008/09/01(月) 16:09:31 ID:???
preg_match_all("/<a href=\"entry-(0-9*)?-18\.html\">.*<\/a>/", $str, $match );

872 :nobodyさん:2008/09/01(月) 16:13:24 ID:???
>>853
strtotimeに対応してるフォーマットならstrtotimeでintに変換して比較
それ以外は自身で実装しなきゃなぁ

873 :nobodyさん:2008/09/01(月) 16:16:34 ID:???
>>860
簡易的な難読化ならそれでいいんじゃね?
あと、>>1嫁、idないぞ

俺のところではPECLで暗号化してるわ
so配布の必要があるがな

874 :nobodyさん:2008/09/01(月) 16:24:11 ID:???
>>849
結局は関数をペタペタ張ってるだけやん
bitずらすとかもっとちゃんとしたの勉強して作れよ

875 :nobodyさん:2008/09/01(月) 16:28:56 ID:???
>>874
>>852

876 :nobodyさん:2008/09/01(月) 16:29:31 ID:???
で、何点?

877 :nobodyさん:2008/09/01(月) 16:30:16 ID:???
質問者は100点もらえるまで粘るつもりらしい

878 :nobodyさん:2008/09/01(月) 16:33:57 ID:???
RSSから得た情報の正規化ってどうすればいいんですか?
ブログタイトル、ブログURL、個別記事タイトル、個別記事URL、個別記事更新日 などなど

879 :nobodyさん:2008/09/01(月) 16:42:12 ID:???
>>875
デコードするしないじゃなくてもっとちゃんと作れって

880 :nobodyさん:2008/09/01(月) 16:43:05 ID:???
暗号化の関数を作るぐらいのことはしてからこいよ
その程度の関数貼り付けで自慢しにくるな

881 :nobodyさん:2008/09/01(月) 16:56:51 ID:ME+mffWY
>>871
ありがとうございます。試してみたのですが、文字列から何もHITしませんでした。

882 :nobodyさん:2008/09/01(月) 17:24:07 ID:???
デコードされたなら他のされにくい方法考えますが、
出来ないみたいなんでちゃんとする必要ないかなあと思っています。

>>880
自作関数の暗号化なんてたかがしれてます

883 :nobodyさん:2008/09/01(月) 17:46:51 ID:???
キチガイが沸いてると聞いてすっ飛んできますた

884 :nobodyさん:2008/09/01(月) 18:14:21 ID:???
>>882
$endのとこで構文エラー出るぞ

885 :nobodyさん:2008/09/01(月) 18:25:21 ID:???
いやー、うちはgzinflate()使えないことに、今気がついたw
libz入れなおしてリコンパイルしたわ、サンキューな。
で、gzinflate()数回かけなおしてるだけか。

886 :nobodyさん:2008/09/01(月) 22:11:40 ID:???
XML_RSSを使ってRSSを取得しているのですが、
時間をうまく取得できないことがあるようです。
フォーマットによっては取得できないということがあるのでしょうか?
RSS1.0は取得できるけど、RSS2.0は取得できないとか。
時間のフォーマットが異なっていても取得できないみたいで・・・

887 :nobodyさん:2008/09/01(月) 22:47:51 ID:???
>>886
idはどうした >>1

取得出来るんじゃ・・・pubDate、dc:date見ればいいだけだし
変換はそれそれ別にパースしてからになるがな


888 :nobodyさん:2008/09/01(月) 23:01:31 ID:???
>>887
ええ、>>1は見ましたけどidが出てる出てないにこだわる必要はないと考えてsageました^^

889 :nobodyさん:2008/09/01(月) 23:14:29 ID:???
あ、ごめんなさい、肝心なこと書き忘れです。
>>887さんのアドバイスで解決しました。
ありがとうございました。

890 :nobodyさん:2008/09/02(火) 00:06:56 ID:???
gzinflateとeval入れ子にしてるだけだしなぁ・・・。

素人向け難読化としては成立してるだろうけど、業務じゃ使えないし実行コストパフォーマンス悪い気がする。


891 :nobodyさん:2008/09/02(火) 00:11:49 ID:???
やっぱりPECLになるよな
難読化なら64ビット程度でいいだろうし、それならパフォーマンスに大きな差は出ないし
ZEND_APIに介入してコンパイラに渡される前のファイルポインタをハックして復号化するだけだしな
(zend_fopenの前に独自にオープン)

892 :nobodyさん:2008/09/02(火) 04:08:30 ID:???
>>891
読み間違ってるのかも知れんが、複合化するって事は、複合化キーをプログラム中に書くの?
それだと、本質的には意味がないと思うけど。

893 :nobodyさん:2008/09/02(火) 07:03:24 ID:4jnW4HRq
<?php

if($dir=@opendir('.')){
while (false !== ($filename = readdir($dir)){
print $filename."<br>";
}
closedir($dirhandle);
}
?>

が実行できません
本どおりなはずなんですが
最初の条件がおかしい気がします

よろしくおねがいします

894 :nobodyさん:2008/09/02(火) 07:08:57 ID:???
while (false !== ($filename = readdir($dir))){

895 :nobodyさん:2008/09/02(火) 07:27:10 ID:4jnW4HRq
ありがとうございます


896 :nobodyさん:2008/09/02(火) 09:06:03 ID:???
>>892
確かにPECL自体に複合化用のビット配列を書くわな
でも意味がなくなる訳じゃないが・・・・
リバースエンジニアリングで解析されたらって意味か?規約で禁止するのは当然の対処だな

897 :nobodyさん:2008/09/02(火) 11:34:49 ID:???
「難読化」と「暗号化(ソース不可視)」は別物。
話がずれてきてる希ガス。

898 :nobodyさん:2008/09/02(火) 11:40:43 ID:???
ずれてきているっていうより、ずれっぱなし。

899 :nobodyさん:2008/09/02(火) 12:01:18 ID:???
え?私のカツラのこと?

どうして分かった?????

なんちゃって〜、ははは・・・・・・

900 :nobodyさん:2008/09/02(火) 12:03:31 ID:???
難読化さえ解読できないようだから暗号化なんて

901 :nobodyさん:2008/09/02(火) 12:05:37 ID:???
>>896
PECLってどれのこと?
ソースコード見たい。


902 :nobodyさん:2008/09/02(火) 12:09:14 ID:???
>>898
>>900
こういうカスみたいなレスいらないから

903 :nobodyさん:2008/09/02(火) 14:03:29 ID:???
>>901
php.iniに書いたライセンスキーを検証するような機能もあるから見せられんが、
難読化の部分で参考にしたのはphp_screw

ttp://www.pm9.com/newpm9/itbiz/php/phpscrew/

904 :nobodyさん:2008/09/02(火) 14:54:27 ID:???
>>903
ありがとう。なるほど、たしかにこれは難読化だ。

ちょっと思ったんだけど、Xdebugとかの中身をいじくって
PHPのオペコードからソースを再構成するツールってないのかしらん。
まぁ、この場合はもう一度関数のアドレスを書き換えればいいんだけど。


905 :nobodyさん:2008/09/02(火) 15:15:32 ID:???
難読化ならzend encoder ハックすればいいんじゃまいか

906 :nobodyさん:2008/09/02(火) 15:21:18 ID:???
ZEはオープンじゃねぇ
しかも難読化に加えてOP化しとる

907 :nobodyさん:2008/09/02(火) 15:22:01 ID:SUk/mIZX
どうでもいいけど、「復号化」って表現は間違ってないの?

908 :nobodyさん:2008/09/02(火) 15:25:27 ID:???
元に戻すんだから複合化でそ

909 :nobodyさん:2008/09/02(火) 15:26:49 ID:???


910 :nobodyさん:2008/09/02(火) 15:30:52 ID:???
mysqlをヴァージョン4から5に更新したら
phpで動作しなくなってしましました。

Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\test\ms1-1.php on line 2

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test\ms1-1.php on line 3
・・・
というエラーが表示されてしまいます。

ttp://allabout.co.jp/internet/database/closeup/CU20040928A/
や、今手元にある本をみながら設定しなおしたんですが
やっぱり解決しませんでした。

お願いします。

911 :nobodyさん:2008/09/02(火) 15:32:33 ID:???
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)

912 :nobodyさん:2008/09/02(火) 15:33:36 ID:???
PHPかPECLの再ビルドが必要
PHPのロードしてるMySQLクライアントのバージョンが古いってこった

913 :nobodyさん:2008/09/02(火) 15:51:25 ID:???
>>908
いや、正しくは「復号」じゃないのかなと思って。
まあ「復号化」も当たり前のように使われてはいるけど。

914 :nobodyさん:2008/09/02(火) 16:35:10 ID:???
「復号」が正しいよ。
「暗号」にするほうは「化」が必要だね。
化を付けたければ「平文化」かな。

915 :nobodyさん:2008/09/02(火) 16:50:22 ID:???
>>910
OLD_PASSWORDでぐぐるとシアワセ

916 :nobodyさん:2008/09/02(火) 16:52:31 ID:???


917 :nobodyさん:2008/09/02(火) 16:53:27 ID:???
eonetアクセス規制解除キタコレ

以前納期した作品のSmartyで
{$smarty.get.param}の時にescapeするの忘れてたオワタ/(^o^)\

918 :nobodyさん:2008/09/02(火) 17:02:24 ID:tslH7GiE
MySQL入門以前を使って勉強してますが、P210からの修正スクリプトが
エラーは出ないのに修正が反映されませんOSはXPです。
本書に付いていたphpファイルを使用しても反映されません。
登録や削除などは上手く動いています。
同じ症状の方はいらっしゃいますか?

919 :nobodyさん:2008/09/02(火) 17:03:52 ID:???
>>918
知るかカス
皆お前と同じ本持ってると思うな
真剣に回答してほしいんならその部分のソース出せ

920 :nobodyさん:2008/09/02(火) 17:08:32 ID:tslH7GiE
<?php
extract($_POST);
extract($_GET);
mysql_connect('localhost','root','root');
mysql_select_db('lesson');

//MySQLレコード修正
if($nam<>""){
$sql = "update jushoroku set
tourokubi = '$tou',
simei = '$nam',
yubin1 = '$yu1',
yubin2 = '$yu2',
jusho1 = '$ju1',
jusho2 = '$ju2',
denwa = '$tel',
fax = '$fax',
keitai = '$kei',
meruado = '$mai',
biko = '$bik'
where renban = $ren";

mysql_query($sql);
echo "レコードの修正が完了しました";
exit;
}

921 :nobodyさん:2008/09/02(火) 17:10:56 ID:tslH7GiE
//修正のためのフォーム
$sql = "select * from jushoroku where renban = $id";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if($rows == 0){
echo "<p>該当データがありません。</p>";
}
else{
while($row = mysql_fetch_array($result)){
echo "<p>データを修正してください。</p>";
echo "<form action = \"j_shusei1.php\" method = \"post\">";
echo "<p>連番:";
echo $row["renban"];
echo "</p>";

echo "<p>登録日:";
echo $row["tourokubi"];
echo "</p>";

echo "<input type = \"hidden\" name = \"ren\" value =\"";
echo $row["renban"];
echo "\">";

echo "<p><input type=\"submit\" value=\"修正\">";
echo "<input type=\"reset\" value=\"リセット\"></p>";
echo "</form>";
}
}
?>
</body>
</html>


922 :nobodyさん:2008/09/02(火) 17:11:42 ID:???
>>920
echo $sql;やってみろ

923 :nobodyさん:2008/09/02(火) 17:11:58 ID:tslH7GiE
最後の

</body>
</html>

は無視して下さい

924 :nobodyさん:2008/09/02(火) 17:15:16 ID:tslH7GiE
>>922
$sql = "update jushoroku set
の後ろに入れてみましたが特に何も起きません

どこに入れればいいのでしょうか?

925 :nobodyさん:2008/09/02(火) 17:19:13 ID:???
>>924
何もおきないって何も表示されないってことか
だったら途中でエラーが出てスクリプト終了してんじゃね?

スクリプトの先頭にerror_reporting入れてエラー出力するようにしてみ
使い方はググれよ

926 :nobodyさん:2008/09/02(火) 17:21:15 ID:???
$sql = "update jushoroku set
echo $sql;
tourokubi = '$tou',
ってこと?

927 :nobodyさん:2008/09/02(火) 17:22:40 ID:???
>>926
いくらアホでもさすがにそれはねーよwwwww

928 :nobodyさん:2008/09/02(火) 17:22:56 ID:???
> どこに入れればいいのでしょうか?

まさしく入門以前だ。。。

929 :nobodyさん:2008/09/02(火) 17:23:20 ID:tslH7GiE
>>925
修正がされてないときと同じ状態です
error_reporting(E_ALL);
を入れてみましたが何も出ません
これから外出するので一旦失礼します。

930 :nobodyさん:2008/09/02(火) 17:24:30 ID:tslH7GiE
>>926
ええ

>>927
昨日始めたばかりで右も左も解りません

>>928
だから下らねぇ質問スレに書き込みました

931 :nobodyさん:2008/09/02(火) 17:25:14 ID:???
>>914
勉強になった。ありがとう。
カキコしたあと読んで違和感はあったけど、「復」の字までまちがえちゃったし、
まぁいいやって思ってしまった。

ちなみに自分は難読化として、変数名とかクラス名とかメソッド名などのシンボルをhash化してる。
文字列がそのまま見えてしまうのはあきらめた。

932 :nobodyさん:2008/09/02(火) 17:31:51 ID:???
>>930
mysql_query($sql);
ここの$sqlの中を見たいんだ

933 :nobodyさん:2008/09/02(火) 17:36:11 ID:???
http://example/Project/Test/aaa/index.php?aa=1

htaccessのREQUEST_URI
/Project/Test/aaa/index.php

PHPのREQUEST_URI
/Project/Test/aaa/index.php?aa=1


Apache2.2なんだが、Apacheでは動的URLのパラメータはREQUEST_URIで区切られるの?

934 :nobodyさん:2008/09/02(火) 17:41:01 ID:???
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)

935 :nobodyさん:2008/09/02(火) 17:48:45 ID:???
>>920

if ($nam<>"") { //もし$namが空じゃなかったら実行


>>921
フォームの中にnamという要素がないから実行されなくて正解w

>>921の一番上に
print_r($_POST);
書いて表示してみ

renしか入ってないから



936 :nobodyさん:2008/09/02(火) 17:49:36 ID:???
>>935
訂正

>>920の一番上に
print_r($_POST);
書いて表示してみ

renしか入ってないから

937 :nobodyさん:2008/09/02(火) 17:58:23 ID:???
>>934
質問してやったことは情報の共有になるだろks
なに偉そうに>>1だしてんの?
バカじゃねえの?うぇwっうぇwwwwwもうこねえよww

938 :nobodyさん:2008/09/02(火) 18:14:52 ID:???
>>937
しかし、情報共有したからといって、2chが警察から目をつけられることもありうるわけだし、
通報されたら証拠が残るだけだろ。警察も隠語とか研究しているぞw

939 :nobodyさん:2008/09/02(火) 18:33:05 ID:???
>>934
こいつとか答える能力のない中級者だから気にスンナ

940 :nobodyさん:2008/09/02(火) 18:40:31 ID:???
まぁまぁ、そう怒らないで、自分のおならの臭いをかいでエクスタシー感じようよ。

941 :nobodyさん:2008/09/02(火) 18:47:01 ID:???
僕はDream weaverでちょいちょいっとイジってホムペ作っていたのでphpのような論理的な作成には難易度の高さを感じます…
そこで質問ですが、ホムペデザインのリニューアルをやりたいんですが、まずHTMLでリニューアルして、そこからphpを覚えていきphp化する形の方がサイトのデザイン面でもやりやすいのではないかと勝手に思っています。
どうでしょうか?


942 :nobodyさん:2008/09/02(火) 18:48:11 ID:???
>>941
自分のやりやすいようにやればいいだろが

943 :nobodyさん:2008/09/02(火) 19:24:47 ID:???
PDO関連はここで聞けばいい?
それともDB板にスレ立てたほうがいいかなぁ

944 :nobodyさん:2008/09/02(火) 19:48:43 ID:???
PHP Data Objectsなんだからここでいいんじゃね

945 :943:2008/09/02(火) 21:54:10 ID:???
すみません、自己解決しました。

946 :nobodyさん:2008/09/02(火) 23:31:34 ID:???
>>945
ふざけんじゃねえぞタコ!!!
てねえボコられないとわからねえのか?あ?

回答者さまへ
よろしくお願いいたします^^

947 :943:2008/09/02(火) 23:48:25 ID:???
>>946
誰?

948 :nobodyさん:2008/09/03(水) 00:30:55 ID:???
>>945-947
スミマセン私が何か悪いことしたのなら謝りますが・・・?

949 :nobodyさん:2008/09/03(水) 01:17:17 ID:cDEMOUsO
XP 2.2.6

送信したテキストそのまま表示したいんだけど、
フォーム
<HTML>
<HEAD>
<TITLE>質問</TITLE>
</HEAD>
<BODY BGCOLOR="white" TEXT="black">
<FONT COLOR="#FF952B" SIZE="6">質問</FONT><BR>
■<b>質問</b><BR>
<form method="POST"action="textupload.php" enctype="text/plain">
<input type="text" name="textname">
<input type="submit" value="質問">
<input type="reset" value="リセット">
</form>
</BODY>
</HTML>

で、textupload.phpが

<?php
print $_POST["textname"];
?>

にしたんだけど、質問ボタン押したら白紙のページだった・・
なんで表示されないのか教えてくれさい

950 :nobodyさん:2008/09/03(水) 01:49:46 ID:elU9S0DE
<?php
$menber = array("name" => "hayashi",
"tel" => "0808038080",
"age" => 20);

foreach($member as $key => $value)
{
if($key == "name")
{
$title ="名前";
} else if ($key = "age"){
$title = "年齢";
} else{
print "you are fool<br>";
continue;

}
print "$title: $balue";
print "<br>";
}

?>

6行目がおかしいらしいですが どうおかしいのでしょうか?
よろしくお願いします
foreachの条件式だと思うのですが

951 :nobodyさん:2008/09/03(水) 01:51:32 ID:???
自己解決><;
enctype="text/plain"消去したら表示された!

952 :950:2008/09/03(水) 01:55:42 ID:elU9S0DE
2行目のmenberをmemberに変えても6行目がおかしかったです
よろしくおねがいします

953 :950:2008/09/03(水) 01:58:37 ID:elU9S0DE
解決しました
ものすごくかっこ悪い間違えでした

954 :nobodyさん:2008/09/03(水) 03:04:13 ID:cDEMOUsO
php5.25
例えば、>>949のようなフォームから、
http://aaa.bbb/c=12345/ddd
のurlがtextとして送信されたとき、
どうにかして12345の部分だけ抽出して、
http://eee/f=12345/ggg
というurlに置換して表示させたい。
調べたところ、str_replace関数ってのがあったので
置換しようとしたんだけど、c=以下から/までの文字列を
指定する部分をどうやったらいいのかわからん。
どなたか教えてもらえないでしょうか。
今は文字列にaがあったとき、bに置換して表示しかできないんだけど、
<?php
$beginner = $_POST["name"];
$replace = "a";
$scriptphp = "b";
$word = str_replace($replace, $scriptphp, $beginner);
print($word);
?>
理想は、もともとこっちで用意してた
http://eee/f=○○/ggg
の○○にc=以下から/までの文字列を挿入して表示できるようにしたい・・
よろしくお願いします

955 :nobodyさん:2008/09/03(水) 03:18:44 ID:cDEMOUsO
>>954追記
例のurlの=12345/の
=と/は、別になんでもいいです。

956 :nobodyさん:2008/09/03(水) 03:27:46 ID:???
preg_matchだろザコ

957 :nobodyさん:2008/09/03(水) 03:28:47 ID:???
つpreg_match("/0-9*?/",$url);

958 :nobodyさん:2008/09/03(水) 03:43:04 ID:???
>>956
ありがとうございます;;
12345の部分もなんでもいい文字列なので
preg_matchとやらを使って今からやってみます!

959 :nobodyさん:2008/09/03(水) 03:44:41 ID:cDEMOUsO
>>956-957
ありがとうございます;;
実は12345の部分もなんでもいい文字列なので
preg_matchとやらを調べて今からやってみます!

960 :nobodyさん:2008/09/03(水) 04:47:36 ID:cDEMOUsO
すみませんpreg_match見てみたのですが、思うようにいきませんでした。
結局のところ、
http://aaa.bbb/wafwaowja/c=d1e2f3G4H5/ijk/l=m6n7/
みたいなurlのd1e2f3G4H5みたいなのを抽出して
http://eee/f=○○/ggg
○○=d1e2f3G4H5
のようにに代入して表示したいのですが、
フォームから送信される
http://aaa.bbb/○○○/c=○○○/○○○/○○○/
の○○○の部分以外は不変で、検索するのはc=と/とで囲まれた部分、
というのも不変です。この条件だけでどうにかできないでしょうか。
よろしくおねがします

961 :nobodyさん:2008/09/03(水) 05:07:36 ID:???
$str = "http://aaa.bbb/wafwaowja/c=d1e2f3G4H5/ijk/l=m6n7/";
if (preg_match($regex = "%http://aaa.bbb/.*?c=([[:alnum:]]{1,})/.*?$%", $str, $matchs)) {
$str = preg_replace($regex, "http://eee/f={$matchs[1]}/ggg", $str);
}
echo $str;

962 :nobodyさん:2008/09/03(水) 05:15:47 ID:???
preg_match("/c=(.*)?/",$url,$match);

print_r($match);

963 :nobodyさん:2008/09/03(水) 05:20:15 ID:cDEMOUsO
>>961
さっそく試してみました。
よく分からない部分がたくさんですが
urlの部分を変更したりしても、ちゃんとできました!
ありがとうございました!

964 :nobodyさん:2008/09/03(水) 05:22:30 ID:cDEMOUsO
>>962
ありがとうごぞいます!こっちでも抽出できました
参考にしてます!

965 :nobodyさん:2008/09/03(水) 06:19:39 ID:???
>>941を答えてくださーい

やりやすいように…というのは自己判断出来ません。

966 :nobodyさん:2008/09/03(水) 06:33:08 ID:???
>>965
PHPがどういうものかわかっていますか?
PHPはウェブアプリケーションを作成するための言語です。
デザインのための言語ではありません。
例えば電卓を想像してみて下さい。
PHPでは電卓の内部処理を担当しますが(入力された数字の計算処理)、
入力用のボタンや計算結果を表示する画面などのデザインはhtmlでやります。
サイトをPHP化して何になるのですか?
サイトに動的な処理を取り入れたいのならPHPを勉強するのもよいでしょう。
しかしあなたには目的が見えません。
何か大きな勘違いをしていると思います。
サイトのデザインをゴージャスにしたいとかなら、
JavaScriptやActionScript(Flash)をやったほうがいいですよ。

967 :nobodyさん:2008/09/03(水) 06:35:33 ID:???
>>965
質問にはID出せ
別にPHP覚えながらリニューアルしても
リニューアルしてからPHP覚えてもどっちでもいいだろ

目の前にリンゴとミカンがあって、どっちから食べるか人に聞かないとわかんないのか?

968 :nobodyさん:2008/09/03(水) 11:16:20 ID:IS+s1cdz
Pear::Mailを使ってメール送信しているんですが、
Fromヘッダが複数行になると送信できないみたいです。
このライブラリって複数行の処理はされないんでしょうか?

されないなら、他にライブラリを使いたいんですが、お勧め等あれば教えていただけますか。

969 :nobodyさん:2008/09/03(水) 13:38:14 ID:???
mb_send_mail

970 :nobodyさん:2008/09/03(水) 13:41:32 ID:???
Zend_Mail

971 :nobodyさん:2008/09/03(水) 15:09:05 ID:+OTYds+j
DBのクエリにかかった時間を見てたら
4.57763671875E-05
こんな数字があったんでけどこれってどうやって人間の読める数字に変換(近い値でも)出来るのでしょうか?

なんかCの勉強してた時の記憶で、浮動小数点の精度の問題っぽい感じがするのですが、よく覚えてません。
4.57763671875の-5乗とかって意味でしたっけ?
近似値でもかまわないのでPHPでさくっと変換する方法教えていただけると助かります。

お願いいたします

972 :nobodyさん:2008/09/03(水) 15:16:52 ID:???
10の-5乗だろ。
1/100000だよ、小数点を左に5個動かす、計算するまでも無い。

973 :nobodyさん:2008/09/03(水) 15:18:28 ID:???
>4.57763671875の-5乗
いや、それは違いますよね・・・

こっちか?
4.57763671875 / 100000
0を5個左にずらせばいいのかな?

正規表現でばらして

974 :nobodyさん:2008/09/03(水) 15:21:03 ID:???
>>972
そうですよね
ありがとうございます


975 :nobodyさん:2008/09/03(水) 15:21:29 ID:???
printf("%d", ) でいいんじゃないの。


976 :nobodyさん:2008/09/03(水) 15:24:30 ID:???
失礼、この場合fかな。


977 :nobodyさん:2008/09/03(水) 15:35:26 ID:D99Fs3HF
ちょっとした質問なんですが、
配列にすべてのアルファベットを順番に入れたいのですが
Perlであったような ("a".."z","A".."Z") みたいな簡単な書き方はないでしょうか?

978 :nobodyさん:2008/09/03(水) 15:37:05 ID:???
range

979 :nobodyさん:2008/09/03(水) 15:38:29 ID:???
>>975
おお、うまくいきました。

いま、正規表現でごにょごにょしてて、
最後、整形するところが結構難しいなあ、と思ってたところです。

助かりました。

980 :nobodyさん:2008/09/03(水) 15:51:29 ID:D99Fs3HF
>>978
ありがとうございます

981 :nobodyさん:2008/09/03(水) 16:55:46 ID:???
ありがとうございます、じゃないだろ。

ありがとうございました。大変助かりました。
俺に地元の梅でもお送りしましょうか?

位のことは言ってくれよ?

982 :nobodyさん:2008/09/03(水) 17:07:20 ID:???
>>981
梅!

983 :nobodyさん:2008/09/03(水) 17:11:51 ID:???
>俺に地元の梅でもお送りしましょうか?
>俺に地元の梅でもお送りしましょうか?
>俺に地元の梅でもお送りしましょうか?

984 :nobodyさん:2008/09/03(水) 17:38:45 ID:D99Fs3HF
>>981
お礼が足りなくてすみませんでした。
残念ながら私の住んでいる地域は梅の産地ではありませんので、
その代わりと言ってはなんですが、
↓を受け取っていただければ幸いと存じます。
http://www.death-note.biz/up/img/22516.jpg

985 :nobodyさん:2008/09/03(水) 17:40:40 ID:???
美味じゃのう。

986 :nobodyさん:2008/09/03(水) 17:45:42 ID:???
そろそろ1000スレなんて、
ソースカツ丼もどうぞ
http://www.death-note.biz/up/img/22520.jpg

987 :nobodyさん:2008/09/03(水) 19:19:52 ID:RTCZQVI2
smartyについて質問したいのですが、
専用のスレがなかったのですが
こちらで宜しいでしょうか?

なんか、もうスレが終わりそうなので、
どうしたら宜しいでしょうか。

988 :nobodyさん:2008/09/03(水) 19:20:49 ID:???
>>987
いいんじゃね?
Smarty使ってる人が一部しかいなくていいんなら

989 :nobodyさん:2008/09/03(水) 19:26:13 ID:RTCZQVI2
ありがとうございます。
そうしたら、お言葉に甘えて質問させて頂きます。
{html_options}タグの中にで、style=""を書きたいのですが、
CSSを書くための属性が見つかりません。
{html_options}は、CSSに対応するにはどうすればよいでしょうか?

宜しくお願いします。

990 :nobodyさん:2008/09/03(水) 19:29:40 ID:???
>>989
CSSは直書きじゃね?

991 :nobodyさん:2008/09/03(水) 19:34:03 ID:RTCZQVI2
>>990
レスありがとうございます。
直書きということは、直接smartyのソースをいじらないと無理って事ですね。
それだと、全てのoptionsタグにそのcssが適用されてしまいますね。
if文で条件分岐すればいいのでしょうけど、画面とロジックの分離ができなくなりそうです。

そういう仕様であれば、しょうがないですね。どうもありがとうございました。

992 :nobodyさん:2008/09/03(水) 19:59:00 ID:???
普通はdivでくくってスタイルを適用するんじゃ?

993 :nobodyさん:2008/09/03(水) 20:13:46 ID:???
スレたててくる

994 :nobodyさん:2008/09/03(水) 20:18:54 ID:???
次すっどれ
http://pc11.2ch.net/test/read.cgi/php/1220440493/

995 :nobodyさん:2008/09/03(水) 20:20:23 ID:???
>>994
つお

996 :nobodyさん:2008/09/03(水) 20:50:54 ID:???
>それだと、全てのoptionsタグにそのcssが適用されてしまいますね。
>if文で条件分岐すればいいのでしょうけど、画面とロジックの分離ができなくなりそうです。
これはひどい

997 :nobodyさん:2008/09/04(木) 00:10:27 ID:ePwesmBJ
>>992
お返事どうもありがとうございました。
チェックが遅れて申し訳ありません。
divも考えたのですが、やって見たところダメでした。
W3Cのhtml仕様を読んだところ、form要素にdiv要素のデザイン属性は適用しないとなっておりました。

結局、smartyのform関連のタグとstyle属性との共存は無理そうですね。

998 :nobodyさん:2008/09/04(木) 00:24:21 ID:???
>>997
classとidでガンバりなされ


999 :nobodyさん:2008/09/04(木) 01:10:36 ID:???
ume

1000 :nobodyさん:2008/09/04(木) 01:11:26 ID:???
(ΦωΦ)フフフ・・・1000get・・・

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

262 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)