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

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

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

1 :nobodyさん:2007/03/06(火) 15:39:46 ID:naBsdy1Z
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

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

2 :nobodyさん:2007/03/06(火) 15:40:59 ID:naBsdy1Z
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
【PHP】下らねぇ質問はここに書き込みやがれ 36
http://pc10.2ch.net/test/read.cgi/php/1168395610/
【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
【PHP】下らねぇ質問はここに書き込みやがれ 39
http://pc10.2ch.net/test/read.cgi/php/1171280039/

3 :nobodyさん:2007/03/06(火) 15:42:04 ID:naBsdy1Z
関連リンク
■本家マニュアル   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さん:2007/03/06(火) 15:42:50 ID:naBsdy1Z
【簡易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さん:2007/03/06(火) 15:43:38 ID:naBsdy1Z
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さん:2007/03/06(火) 15:47:24 ID:???
02

7 :nobodyさん:2007/03/06(火) 16:17:07 ID:???
>>前スレ904
遅くなってスマソ。
IPの追加は、キャリアにもよるけど年にmaxでも数回(数年前の情報だから、今は知らんけど)
で、どこのキャリアかはいえないが、大体公式CPに通知して、
しばらくしてから公開されるんだけど、そのタイミングは割りと適当。
合間みて追加する感じ。
早けりゃ当日、遅いと一ヶ月くらいかかってから公開されるときもある。
で、UAに関しては、基本仕様はほぼ変わっていない。
偽装を除けば、UAにキャリア名が入っているかどうかでほぼ見分けられる。
ただ、モトローラのように、一部例外の端末もあるけど…。
ここ数年で、DoCoMo は変更無し、EZが一回、J-Phone がちょっと多くて
J-Phone -> Vodafone -> SoftBank で、例外のモトローラ。
だからUAの方がいいと思う。

8 :nobodyさん:2007/03/06(火) 16:35:46 ID:???
12のPHP最適化テクニック
ttp://phpspot.org/blog/archives/2006/11/12php.html

01. staticメソッドが使えるなら使おう。速度は4倍になる
02. __get, __set, __autoload は使わない
03. require_once は重い
04. include, requireで読み込むファイルはフルパスにしよう
05. スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる
06. strncasecmp関数やstrpbrk関数を使えるケースはこれらを使い、正規表現は使わない
07. preg_replaceはstr_replaceより速い、しかし、strtrはpreg_replaceより4倍速い
08. 引数を、単体か配列かで自動判別するようなコードは出来るだけ避ける
09. @ を使ったエラー制御はとても遅い。→ @fputs($fp, "?");
10. $row["id"] は $row[id] より7倍速い
11. PHPのエラーメッセージは重い( noticeとかwarningとか)
12. for ($x=0; $x < count($array); $x) のように、forの中でcountを使うと毎回countが呼ばれるので使わない。


(参考)
PHPの最適化は本当か?
ttp://jigen.aruko.net/archives/433/

9 :nobodyさん:2007/03/06(火) 16:45:11 ID:???
>>8
ttp://selfkleptomaniac.org/archives/43

10 :nobodyさん:2007/03/06(火) 16:52:46 ID:???
これからphp勉強したいのですが、php4とphp5どっちを勉強すればいいですか?

11 :nobodyさん:2007/03/06(火) 16:54:29 ID:???
>>10

12 :nobodyさん:2007/03/06(火) 17:12:58 ID:???
>>11
ありがとうございます

13 :nobodyさん:2007/03/06(火) 17:14:11 ID:???
質問です。
比較演算子で float 型の比較を行おうとしたところ、正常に動作しませんでした。
その部分は以下のようになっています。

$float_one = (float)($hoge);
$float_two = (float)($hage);

if($float_one > $float_two){
print "hit";
}

この時、$float_one と $float_two は、共に float(24) でした(var_dumpで確認)
float は比較演算子で比較できないのでしょうか?
ちなみに、$hoge と $hage は、小数点第一位までなので、
*10して int にキャストしてやると、正常に if を抜けました。


14 :nobodyさん:2007/03/06(火) 18:01:14 ID:???
>>13
<?php
 function CompareTest( $hoge, $hage ){
  $float_one = (float)($hoge);
  $float_two = (float)($hage);

  var_dump( $float_one );
  var_dump( $float_two );
  if($float_one > $float_two){  print "float hit";  }

  $float_one = (int)($hoge * 10);
  $float_two = (int)($hage * 10);

  var_dump( $float_one );
  var_dump( $float_two );
  if($float_one > $float_two){  print "int hit";  }
 }

 print( "test1" );
 CompareTest( "24.0", "24.0" );
 print( "test2" );
 CompareTest( "24.1", "24.0" );
?>

// output
test1
float(24) float(24)
int(240) int(240)
test2
float(24.1) float(24) float hit
int(241) int(240) int hit

15 :nobodyさん:2007/03/06(火) 18:02:37 ID:???
>>13
> float は比較演算子で比較できないのでしょうか?
普通に出来るよ。

っていうか比較以前に
> $hoge と $hage は、小数点第一位までなので、
とか
> $float_one と $float_two は、共に float(24) でした
とか
言ってる事が滅茶苦茶なんだけど。

16 :nobodyさん:2007/03/06(火) 18:04:26 ID:???
>>13
比較できるよ

というか、比較できるかどうかぐらい、
自分でテスト用のスクリプトを書けばわかるじゃないか
その自分で書いたスクリプトを元にして

17 :nobodyさん:2007/03/06(火) 18:24:56 ID:niuC3B8J
質問です。

set_include_path(dirname(__FILE__));
require_once("../config/config.php");

上記のコードをブラウザから実行すると問題なく動作するのですが
コンソールから実行すると以下の様なエラーが出てしまいます。

Warning: require_once(../config/config.php): failed to open stream: No such file or directory in /path/to/file.php on line 3
Fatal error: require_once(): Failed opening required '../config/config.php' (include_path='/path/to') in /path/to/file.php on line 3

コンソールからPHPを実行した場合、set_include_pathは無視されるのでしょうか?

18 :nobodyさん:2007/03/06(火) 18:36:15 ID:???
>>17
無視されないです

おそらく、require_once() のパス設定が相対パスになっているのが
問題なのでしょう
相対パスになっていると実行するカレントディレクトリを基点にして
../config/config.php を探しにいきます

$path = dirname(__FILE__);
set_include_path($path);
require_once(dirname($path) . '/config/config.php');
このように require_once() のときも絶対パスにすればいいと思います


19 :17:2007/03/06(火) 18:41:09 ID:???
>>18
意味は分かりますが
それだとinclude_pathを設定する意味が無い気がするのですが…

一応対処として以下の方法を取りました。

chdir(dirname(__FILE__));
require_once("../config/config.php");

20 :nobodyさん:2007/03/06(火) 18:50:27 ID:???
>>19
意味はないだろうな


21 :軟式PHP:2007/03/06(火) 19:07:19 ID:???
set_include_path(dirname(__FILE__));
require_once("../config/config.php");
これって
set_include_path(dirname(__FILE__));
require_once("config/config.php");
にする話ではないのだろうか。

22 :nobodyさん:2007/03/06(火) 19:09:41 ID:???
このスレに住んでるコテハンもどきって何なの?

23 :nobodyさん:2007/03/06(火) 19:12:28 ID:???
>>21
それじゃ駄目じゃない?
set_include_path(dirname(dirname(__FILE__));
じゃないと


24 :nobodyさん:2007/03/06(火) 19:13:19 ID:???
DAOで取得するデータって、DBから取るだけにするか、システム上で使いやすい形に加工して返すか、どっちがいい?

25 :17:2007/03/06(火) 19:18:51 ID:???
>>20,21,23
include_pathの意味を少し取り違えていたようです。

include_pathは設定したパスの上位ディレクトリしか
探しに行ってくれないのですね。

require等で相対パスを設定した場合
../は禁物だと言う事ですかね。

ちなみに>>23さんの方法で正常にファイルは読み込まれます。

26 :軟式PHP:2007/03/06(火) 19:26:54 ID:???
>>23
指摘サンクス。ソレダ。
でもあんまりそういう使い方はせんよね。
set_include_path自体、レン鯖とかでPEARを別途用意する時ぐらいしか使わないからなぁ。
みんな結構使ってるんかな。

27 :nobodyさん:2007/03/06(火) 19:40:01 ID:???
>>11
趣味のみで、レンタルサーバーで使いたい場合もですか?

28 :nobodyさん:2007/03/06(火) 19:48:48 ID:???
htmlspecialcharsで特殊文字を変換したのを
元に戻す方法ってありませんかね?

29 :nobodyさん:2007/03/06(火) 19:58:00 ID:???
>>28
php5ならhtmlspecialchars_decode()
php4なら
function htmlspecialchars_decode($text)
{
return strtr($text, array_flip(get_html_translation_table(HTML_SPECIALCHARS)));
}

30 :nobodyさん:2007/03/06(火) 20:05:55 ID:???
ライブチャットってPHPで作れるのでしょうか?

31 :nobodyさん:2007/03/06(火) 20:20:56 ID:???
>>27


32 :30:2007/03/06(火) 20:23:42 ID:6A2NFY71
IDだします

33 :nobodyさん:2007/03/06(火) 20:32:12 ID:???
>>32
作れるんじゃない

34 :nobodyさん:2007/03/06(火) 20:33:48 ID:???
>>30
普通PHP+Ajaxとかじゃないかね。

35 :nobodyさん:2007/03/06(火) 20:40:19 ID:???
前スレの最後のほうの、

>SHA512+Salt(ワンタイムのランダム文字列)
>ってのが強いハッシュになると思う。
>ランダム生成したSaltとSHA512でハッシュされた値を
>両方とも保存。

と書いてますが、
これってどういうことかどなたか説明していただけませんか?
今までif ($passwd == md5($_POST))という感じでやっていたので、
ランダム文字列ってなんのことなのか・・・
どういう使い方するのでしょうか?

36 :nobodyさん:2007/03/06(火) 20:43:42 ID:???
>>35
hash関数でSHA512をかけて、その上でcrypt関数でも噛ますんじゃまいか?

37 :30:2007/03/06(火) 20:58:46 ID:6A2NFY71
PHPとAjaxでできるのでしょうか?

38 :nobodyさん:2007/03/06(火) 21:09:39 ID:???
ライブチャットPHPとAjaxで?
作れなくはないと思うけど、利用者の人数によっては
使いものにならないかも

39 :nobodyさん:2007/03/06(火) 21:13:05 ID:???
そうですよね。Flashで作ることにしました。
短い間ですがありがとうございます。

40 :nobodyさん:2007/03/06(火) 21:51:20 ID:25mpWck5
ファイルをfopen()で開きました。

\n区切りの行において、最後の行を fgets() で取得したいのですが
どうやればできるのでしょうか?

41 :nobodyさん:2007/03/06(火) 21:58:11 ID:???
配列に入れて最後の値を読めばできる

42 :nobodyさん:2007/03/06(火) 22:00:42 ID:???
最後以外の行を読み飛ばせばできる

43 :nobodyさん:2007/03/06(火) 22:01:04 ID:???
>>40
$fp = fopen(FILEPATH, "rt");
while (!feof($fp)) {
$line = fgets($fp);
}
fclose($fp);
echo $line;

44 :nobodyさん:2007/03/06(火) 22:01:44 ID:25mpWck5
>>41
ですよね・・・

効率悪いとは思うのですが、クライアントの都合でどうしても
データベースが使えないんですよ。トホホ・・・

45 :nobodyさん:2007/03/06(火) 22:04:57 ID:???
特定のURLをチェックして、問題がなかったらそのまま飛ばして、
問題があれば警告を表示するスクリプトを書いています。
問題がなかったときの処理として、
header('Location:http〜')でリダイレクト処理をしているのですが、
HTTPのステータスコード的には302なので少し変だなと感じています。
通常のリンクと同じコード(200 OK)を返して飛ばしたいのですが、
どのようにheader関数をかけばいいのでしょうか?
header('HTTP/1.x 200 OK');だけでは当然飛ばなくて・・・

46 :nobodyさん:2007/03/06(火) 22:13:31 ID:???
>>45
そのままhtmlを出力すれば

47 :nobodyさん:2007/03/06(火) 22:15:06 ID:???
>>44
ファイルの最後からfseek→fgetsを繰り返して最後の行を探せばいいじゃん。
>>45
問題があった時にリダイレクトすればいいじゃん。

48 :45:2007/03/06(火) 22:27:33 ID:???
一応、header関数の後にexitも入れてみましたけど、意味ないんですね。
一回目のページの読み込みでexitが動作しないです

49 :nobodyさん:2007/03/06(火) 22:33:22 ID:???
>>45
リダイレクトのレスポンスコードが302なのは至極まともな挙動だと思うけど
何に疑問を感じているのかな?

50 :45:2007/03/06(火) 22:35:47 ID:???
レスありがとうございます。

>>46
それだと警告表示するときと処理が一緒なので楽なのですが、
安全なURLなら確認なしで飛べるほうが、ユーザー視点では楽かなと思いまして。

>>47
URLがあったらcheck.phpにGETで渡す。
といった感じで別ロジックにしているので、
問題があった時だけ処理しても、自動では飛ばないようになってるんです。

>>48
よお俺。

51 :45:2007/03/06(火) 22:38:00 ID:???
>>49
調べたところ302は一時的にページを移動しているみたいなニュアンスのようなので、
自サイトでもないのにおかしいなと思って・・・

52 :nobodyさん:2007/03/06(火) 22:42:39 ID:???
それともサーバに問題があるのでしょうかね?Apache2.0.59なんですが

53 :nobodyさん:2007/03/06(火) 23:31:15 ID:8pAmN2Qk
Webデザイナーはフリーランスでやってけるけど、
Webプログラマーは無理? できても結構辛そうだよな

54 :nobodyさん:2007/03/06(火) 23:44:19 ID:???
>>53
スレ違い。Web制作のSOHOスレにでもいってください。

55 :nobodyさん:2007/03/06(火) 23:47:37 ID:8pAmN2Qk
>>54
ごめ、どこかわかんね

56 :nobodyさん:2007/03/06(火) 23:57:17 ID:???
http://pc11.2ch.net/test/read.cgi/hp/1170148808/l50

57 :nobodyさん:2007/03/06(火) 23:59:33 ID:8pAmN2Qk
>>56
サンクス
愛してる

58 :nobodyさん:2007/03/07(水) 00:06:03 ID:LKc55zBo
mysql_connect() [function.mysql-connect]: Can't connect to MySQL serv
er on 'localhost' (10061) in

エラー部分 
if (!($cn = mysql_connect("localhost", "yu", "pas"))) {
die;
}
エラー文を検索するとノートン関連が多いのですが、私は入れていません
active virus shieldは入れているのですが←これのせい?
最近した事でSQLの文字コード設定してからこのようなエラーが出ています
 よろしくお願い致します。

59 :nobodyさん:2007/03/07(水) 00:24:18 ID:kGWJCXVa
Apache2:
Default Charset=なし

PHP:
Default Charset=UTF-8

MySQL:
Default Charset=utf8

この設定で、phpで表示した場合は文字化けしてませんが
phpMyAdminでみると「ã?¢ã??ã?¡」こんな感じで文字化けしています。
どうやったら文字化けは直りますか?

60 :nobodyさん:2007/03/07(水) 00:26:19 ID:???
>>58
mysqlが起動してるか確認汁

>>59
phpのスクリプトの文字コードを確認

61 :nobodyさん:2007/03/07(水) 00:39:47 ID:???
>>59
MySQLのバージョンは?

my.cnf に
skip-character-set-client-handshake
を設定するのを試してみた?

62 :59:2007/03/07(水) 00:55:43 ID:kGWJCXVa
>>60さん>>61さんレスありがとうございます
phpのスクリプトはUTF-8(問題ないと思います)です

MySQLのバージョンは5.0.27です
どこかのサイトで
mysqldにskip-character-set-client-handshakeという
魔法の1文を加えると良いみたいなことが書いてあったので試してみましたがだめでした


63 :nobodyさん:2007/03/07(水) 01:15:16 ID:5AolOQpt
2ch型の掲示板を自鯖でやりたいのですが
どんなOSを使うのがベストでしょうか?

64 :nobodyさん:2007/03/07(水) 01:16:58 ID:???
>>62
show variables like 'char%';
の結果は?

alter table character set utf8;
でテーブルの円コーディング設定を変えるのは?

65 :nobodyさん:2007/03/07(水) 01:19:09 ID:c1HiYG/3
>>63
どの程度金がかけられるかによる
初期投資を低くしたいのなら、White Box、Centos、などのLinux系
Free BSDなのどのBSD系
好きなのを選べばよい

66 :nobodyさん:2007/03/07(水) 01:23:40 ID:5AolOQpt
>>65
レス有り難うございます。
では、初期投資がかかるのにはどんなOSがあり、いくらぐらいかかりますか?

67 :nobodyさん:2007/03/07(水) 01:25:24 ID:5AolOQpt
ちなみにやりたいのは、写真up可能なブログと2ch型の掲示板です。

68 :nobodyさん:2007/03/07(水) 01:26:24 ID:5AolOQpt
そして最終的には利益を得たいと考えてますw

69 :nobodyさん:2007/03/07(水) 01:27:29 ID:5AolOQpt
あと、アダルトビデオを作って客にダウンロードさせるサイトも作りたいですw

70 :nobodyさん:2007/03/07(水) 01:32:16 ID:???
その前にスレ違いだからカエレ。

71 :nobodyさん:2007/03/07(水) 01:33:06 ID:5AolOQpt
あと、2ch掲示板の技術
・集中アクセスでのハングを避ける技術
・外国鯖を使っての多重ログインの回避の技術
等が優れてると思うのですが、その辺の技術は
2chで言うとドコの掲示板に行けば教えてもらえるでしょうか?

72 :nobodyさん:2007/03/07(水) 01:34:09 ID:5AolOQpt
>>70
それはすみません。では、この手の質問はどのスレが適切でしょうか?

73 :nobodyさん:2007/03/07(水) 01:37:50 ID:???
自鯖板行きなさい。
その前に自鯖で動画のダウンロードサイトなんて無謀。
それに配信コンテンツがどうせ違法だろ?
AV会社でも起こしてビデオ制作するならともかく。
犯罪を助長するようなことはどこの板いっても教えてくれないだろうけどね。

74 :nobodyさん:2007/03/07(水) 01:38:18 ID:???
なんで検索もせずに質問してくるんだこのバカは

75 :nobodyさん:2007/03/07(水) 01:44:56 ID:???
まずPHPで作ってみてから考えてみりゃいいんじゃね

76 :nobodyさん:2007/03/07(水) 01:45:58 ID:5AolOQpt
>>73
>それに配信コンテンツがどうせ違法だろ?
もちろん自作のAVです。 ま、夢ですがw
で、巣に帰りますから、
とりあえずこの手の事をやるのにふさわしいOSを教えて下さい。
それが教えてもらえるまでは帰れません。

77 :nobodyさん:2007/03/07(水) 01:48:28 ID:5AolOQpt
>>75
>まずPHPで作ってみてから考えてみりゃいいんじゃね
PHPで俺が上に書いたことすべて実現出来ますか?

78 :nobodyさん:2007/03/07(水) 01:48:50 ID:???
>>76
良かったらもうちょっと構想教えてくれない?

79 :nobodyさん:2007/03/07(水) 01:55:02 ID:5AolOQpt
>>78
ブログ、掲示板を作りそこそこ客を集めるサイトを作る
で、しこしこアダルトビデオを作り、そこの人にダウンロードして買ってもらう
といった計画です。

80 :nobodyさん:2007/03/07(水) 01:58:19 ID:5AolOQpt
で、上に書いたことに転用可能なサンプルプログラムが
豊富にあるOSを教えて欲しいんです。

81 :nobodyさん:2007/03/07(水) 01:59:29 ID:???
あるわけねえだろクズ

82 :nobodyさん:2007/03/07(水) 02:07:59 ID:???
\(^o^)/

83 :nobodyさん:2007/03/07(水) 02:17:29 ID:???
もう少し考えをまとめてから書け。

84 :nobodyさん:2007/03/07(水) 02:19:56 ID:???
ニートが夢を語っております。

>PHPで俺が上に書いたことすべて実現出来ますか?
とか、
>転用可能なサンプルプログラムが豊富にあるOS
とか言ってる時点で、君の夢が叶うのは一体何年後になるんだろうね。

85 :nobodyさん:2007/03/07(水) 02:20:33 ID:???
夢を語るだけなら誰にも出来る

86 :nobodyさん:2007/03/07(水) 02:26:47 ID:???
クソスレ立てずにここで質問したことに対しては褒めてやろう
最近おおいからなこういった単発スレ

87 :nobodyさん:2007/03/07(水) 02:29:23 ID:???
画像うpできるblog&2ch型掲示板はすでに俺が作ってますw

88 :87:2007/03/07(水) 02:33:08 ID:???
しかも100人くらいだけど他人にレンタルしてますw
googleの広告つけてるけど収入は0ですw

89 :nobodyさん:2007/03/07(水) 02:40:36 ID:???
>>87
あるあr

昔全体の1日PVが200000ぐらいの似たようなサービスやってたけど、
アフィリ系の収入はさっぱり見込めなかったんで、
スポンサー募集したら結構いいおこづかいになったよ。
>>87も広告主でも募集して、見つかったら変えてみるといいよ。

スレちがいすまん。

90 :nobodyさん:2007/03/07(水) 02:56:33 ID:5AolOQpt
>>87
>画像うpできるblog&2ch型掲示板はすでに俺が作ってますw
そういうのをソースから勉強したいんですよね。
稚拙でいいからソースが公開されてるのを見てみたいんです。

ちなみにあなたはどんなOS、どんな言語で作られたんですか?

91 :nobodyさん:2007/03/07(水) 03:00:12 ID:???
> で、上に書いたことに転用可能なサンプルプログラムが 
> 豊富にあるOSを教えて欲しいんです。 
OSに対してなんか勘違いしてると思ふ

> ちなみにあなたはどんなOS、どんな言語で作られたんですか? 
まず何らかのOS,何らかの言語で作れるようになってから考えてみては?

92 :nobodyさん:2007/03/07(水) 03:04:22 ID:5AolOQpt
>まず何らかのOS,何らかの言語で作れるようになってから考えてみては?
昔、ms-dosで、クイックcを使ってステップモーターをコントロールするプログラムなら書いたことがあります。
それ1コだけだけどw

93 :nobodyさん:2007/03/07(水) 03:07:58 ID:???
君には無理だ・・・やめとけ・・・

94 :nobodyさん:2007/03/07(水) 03:08:51 ID:???
OSOS連呼しててワロタwww
この場合(自鯖運営)OSはサーバ用途のものであって、
デスクトップとして使うわけでもなければ、
プログラムを勉強するものでもない。
プログラムを勉強したいというならば、
その辺の掲示板のソースでも拾ってきて勉強しなさい。
>稚拙でいいからソースが公開されてるのを見てみたいんです。
ごろごろ転がってるじゃん。
2ch型掲示板のソースだってぐぐればたくさん出てくる。

あととりあえずスレタイを100万回読んで来い。

95 :nobodyさん:2007/03/07(水) 03:10:08 ID:???
自分で作りたいならまず自分で入門本を探して勉強してください。
ちなみに今書いているような事はPHP,java,ruby,perl....等々のwebプログラムといわれる部類なら出来ます。

96 :nobodyさん:2007/03/07(水) 03:10:27 ID:5AolOQpt
で、プロに仕事を発注するにしても、
この手の作業に強いOSを知っておきたいわけです。

97 :87:2007/03/07(水) 03:12:15 ID:???
>>87
>>91がいいこと言った
俺はFreeBSDとPHPだけどWinでもMacでもLinuxでも同じ
プログラムも同様に何でも同じ
スレ違いだから他所でやってくれw
以上、ニートの夢物語でした。

98 :nobodyさん:2007/03/07(水) 03:13:42 ID:???
>>96
OSなんてどれも一緒。使い方次第でどうにでもなる。
ただ、当然古いものよりは新しいもののほうがいい。
なんでOSにこだわってんだ?
そんなとこにこだわってても先に進まないぞ。
まずはプログラム作るのが先なのでは?
デバッグ環境なら今使ってるOSでいいよ。たぶんWindowsだろうけど。

99 :nobodyさん:2007/03/07(水) 03:15:05 ID:5AolOQpt
>>94
>この場合(自鯖運営)OSはサーバ用途のものであって、
>デスクトップとして使うわけでもなければ、
>プログラムを勉強するものでもない。

はて? 自鯖運営に使うOSで開発言語のないOSってあるんですか?

100 :nobodyさん:2007/03/07(水) 03:16:24 ID:???
香ばしくなってまいりました!

101 :nobodyさん:2007/03/07(水) 03:18:10 ID:???
サーバOSとかスクリプト言語とか、その辺の関係が絶望的に分かってないと思う。
そりゃDOSが最後のOS経験だったら仕方ないとは思うが。
本気でやりたいなら、焦らずゆっくりと最近のOSとか言語とか触ってみたり解説Webページとか見てみるのがいいと思う。

102 :nobodyさん:2007/03/07(水) 03:18:31 ID:5AolOQpt
>>98
>なんでOSにこだわってんだ?
>そんなとこにこだわってても先に進まないぞ。

鯖用パソコンに入れるOSが決まらないことには先に進まないでしょ?
だから、先輩の皆さんに伺ってるわけです。

103 :nobodyさん:2007/03/07(水) 03:20:50 ID:???
>>102
ほい
http://www.php.net/manual/ja/install.general.php
あとその図々しい態度とお礼も言わない姿勢はやめてください。不快です。

104 :nobodyさん:2007/03/07(水) 03:21:10 ID:???
>>99
>はて? 自鯖運営に使うOSで開発言語のないOSってあるんですか?

君ちょっとズレてるよ。
プログラムと鯖運営を一緒にして考えてるでしょ?
鯖を稼動させながら、鯖機でプログラムなんて普通しないから。

105 :nobodyさん:2007/03/07(水) 03:22:50 ID:???
>鯖用パソコンに入れるOSが決まらないことには先に進まないでしょ?
>だから、先輩の皆さんに伺ってるわけです。

いやだからデバッグは別に今使ってるOSでいいじゃん。
いちいち鯖にアップしながらデバッグなんて効率の悪いことしないから。

106 :nobodyさん:2007/03/07(水) 03:30:34 ID:5AolOQpt
いやいや、どうもです。
確かに、
>スクリプト言語とか、その辺の関係が絶望的に分かってないと思う。
という傾向はあります。ただ、想像では各OSに共通のプラットホームが提供されてて、
どのOSでも同じ動きが出来る、ってことでしょ?

あと、教えて欲しいのはリアル2ちゃんの掲示板は
どんなOSの上で動いてて、どんな言語で書かれてるんですか?

107 :nobodyさん:2007/03/07(水) 03:34:22 ID:???
別に俺ら2chの運営じゃねぇから知らねぇって

108 :nobodyさん:2007/03/07(水) 03:39:15 ID:???
何でもかんでも人の言うとおりのことしかできねぇと人間だめだな

109 :nobodyさん:2007/03/07(水) 03:40:38 ID:???
>>106
>各OSに共通のプラットホームが提供されてて、
>どのOSでも同じ動きが出来る、ってことでしょ?
それが判ってるなら別にOSなんかなんでもいいってわかるじゃん
昔の8bit機みたいに同じ名前の言語なのに方言で動かないなんてことないから。
phpなりperlなりで書いたら鯖のOSがWinだろうとlinuxだろうと動く。

110 :nobodyさん:2007/03/07(水) 03:43:00 ID:???
頭かたいオッサンだなw
OSなんて慣れてるもの使えばいいんだよ。

>あと、教えて欲しいのはリアル2ちゃんの掲示板は
>どんなOSの上で動いてて、どんな言語で書かれてるんですか?

教えてあげるからもう帰ってよ。
くだらない質問とはいえ、ここは「PHP」のスレなんだから。
で、本題だけどFreeBSD+Perl

111 :nobodyさん:2007/03/07(水) 03:50:13 ID:???
maido鯖の構成みてこいと

112 :59:2007/03/07(水) 03:51:20 ID:kGWJCXVa
>>64
結果です。

mysql> show variables like 'char%';
+--------------------------+----------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
-----+
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | utf8
|
| character_set_server | utf8
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)

文字化けするのはphpMyAdmin上だけです。

113 :nobodyさん:2007/03/07(水) 03:52:31 ID:???
営業にたまに入るよな>>106みたいなやつ

114 :nobodyさん:2007/03/07(水) 03:53:51 ID:???
>>112
ほとんど読まずにレスするけど、文字化けしてるページの
ブラウザの文字コードがSJISかなんかになってないか?

115 :nobodyさん:2007/03/07(水) 03:55:59 ID:???
>>58
OSはLinux系?もしローカルのMySQLに接続するなら
UNIXソケット指定しないとつながらないかもしれいよ?

116 :nobodyさん:2007/03/07(水) 04:00:26 ID:???
>>112
DBに入れてるデータの文字コードがEUCとかなんじゃないの?

117 :59:2007/03/07(水) 04:10:31 ID:kGWJCXVa
文字化けしてるページ(phpMyAdmin)のエンコードはUnicode(UTF-8)です
DBに入れてるデータの文字コードもUTF-8です。

118 :nobodyさん:2007/03/07(水) 04:20:16 ID:5AolOQpt
>>110
>くだらない質問とはいえ、ここは「PHP」のスレなんだから。
了解しました。
では、あらためてくだらない質問をさせて頂きます。
PHPで書かれている、2ちゃん風掲示板のソースがありましたらリンクをお願いします。

119 :nobodyさん:2007/03/07(水) 04:23:35 ID:???
あるけどお前の態度が気に入らない

120 :nobodyさん:2007/03/07(水) 04:38:37 ID:???
>>118
だからスレ違いなんだって。
探し物を聞く場所じゃない。
自分で作ってわからない箇所があったら尋ねてきて下さい。

121 :nobodyさん:2007/03/07(水) 04:41:23 ID:???
>>118
人に聞く前にググったらどうですか?
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GFRC,GFRC:2007-02,GFRC:ja&q=PHP+2ch%e9%a2%a8

122 :nobodyさん:2007/03/07(水) 04:42:07 ID:5AolOQpt
http://blog.bz2.jp/archives/2005/09/php2ch.html
ここにあったわ。これはすごい、トリップまであるねw

123 :nobodyさん:2007/03/07(水) 04:44:39 ID:???
トリップの実装なんて2.3行で書けるコードですから。

124 :nobodyさん:2007/03/07(水) 04:45:19 ID:5AolOQpt
>>119-121
そういうケチくさい態度だから
php使いと世間さまからバカにされるんだよw

125 :nobodyさん:2007/03/07(水) 04:48:07 ID:???
ケチくさいも何も、何でも人に聞けば済むと思ってる人間は、
プログラマーには不向きなので諦めたほうがいい。

それと>>122の掲示板は2chのソース(Perl)をPHPに移植したものなので、
動作が同じなのは当然。

126 :nobodyさん:2007/03/07(水) 04:55:32 ID:5AolOQpt
つまりあれか、PerlやPHPはネット用サーバー用に特化された言語ってことなんだ。
しかし、銀行のホームページ、金の出し入れ、もPerlやPHPで書かれてるわけ?

127 :nobodyさん:2007/03/07(水) 05:00:16 ID:???
>>126
>つまりあれか、PerlやPHPはネット用サーバー用に特化された言語ってことなんだ。
PHPはともかくPerlは違います。
PHPもやろうと思えばWindows用のアプリケーションも作れます。

>しかし、銀行のホームページ、金の出し入れ、もPerlやPHPで書かれてるわけ?
規模によって違います。
銀行のシステムとなるとJavaなんかが多いんじゃないでしょうか。

128 :nobodyさん:2007/03/07(水) 05:08:33 ID:5AolOQpt
>銀行のシステムとなるとJavaなんかが多いんじゃないでしょうか。
ほー、こういうのは手堅くC言語で書くのかと思ってたら違うんですね。

しかし、今日は収穫でした。
慣れ親しんだ2chの掲示板のソースが見れるなんて感激です。

129 :nobodyさん:2007/03/07(水) 05:12:10 ID:???
2chはCとperlで…
FOX ★ DSO(Dynamic Shared Object)
でも見たら?

130 :nobodyさん:2007/03/07(水) 05:14:49 ID:5AolOQpt
>>129
でも、ある時点の2ちゃんがそっくりPHPに移植されたわけだろ?

131 :nobodyさん:2007/03/07(水) 05:18:33 ID:???
もうID:5AolOQptにレスするのやめようぜ

132 :nobodyさん:2007/03/07(水) 05:24:31 ID:5AolOQpt
>>131
>もうID:5AolOQptにレスするのやめようぜ
そういう情けない態度だから、php使いと世間さまからバカにされるんだってw

つーことはXP+アパッチで鯖立OKなんだw

133 :nobodyさん:2007/03/07(水) 05:28:14 ID:???
完全スルーの方向でおk

134 :nobodyさん:2007/03/07(水) 06:21:28 ID:???
>>132の世間が狭すぎてワロタww
スレ違いなことを延々と質問し続ける常軌を逸した馬鹿じゃ、
どこの板いっても同じ反応返ってくるわwww

135 :nobodyさん:2007/03/07(水) 06:30:22 ID:???
>>59
http://puchiko.lowtech.ne.jp/index.php?itemid=314
http://puchiko.lowtech.ne.jp/index.php?itemid=349&catid=27

この辺と同じじゃねーのかと思うわけだけど。
ウチのはskip-character-set-client-handshakeで問題なかったけどなぁ。
再起動したか?
元から入ってるレコードが文字化けしたままなんですとか言わないでよ?

136 :nobodyさん:2007/03/07(水) 08:29:52 ID:P8Ctjz97
サーバにあるPHPファイルをコピーして、
一時作業用フォルダに移動して、
そこで一旦アクセス権を666にして、編集可能な状態にして、
特定箇所を編集したら、アクセス権を644にして目的のフォルダに移動する。
なんてことをしたいなと考えているのですが、
処理方法として適切だと思いますか?
変なところがあったらご指摘願いたいです。

137 :nobodyさん:2007/03/07(水) 08:57:26 ID:???
>>644
「編集」ってどうやるつもり?
フォームのテキストエリアにソース全部入れてブラウザ上で編集、
とかだったら物理的なファイル自体を移動する必要はないよね。
テンプレートか編集対象ファイルを読み込んで
目的の場所に書き出すだけ。

138 :136:2007/03/07(水) 09:12:23 ID:P8Ctjz97
>>137
ありがとうございます。
自鯖を最近運営し始めたので、掲示板のレンタルを考えています。
それで登録があって承認したら、ユーザディレクトリを作って、
掲示板を使うのに必要なファイルをコピーするのですが、
ユーザごとにタグが若干異なってくる、
アクセス解析なんかも希望がある人には入れようと思っていまして、
index.php(掲示板)の特定箇所に解析用タグを入れたいと思っています。
その際、全て手動で編集するのも大変なので、
ある程度は自動化したいと思ったのでこんなことを考えていました。

139 :虚弱PHP:2007/03/07(水) 09:17:27 ID:???
>>35
拙いコードでよければ。
<?php
// make hash
mt_srand();
$pass = 'password';
$salt = '';
$seed = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
for ($i = 0 ; $i < 10 ; $i++) {
$salt .= substr($seed, mt_rand(0, strlen($seed) - 1), 1);
}
$hash = hash('sha512', $pass.$salt);
// db store. $hash, $salt

// -----

// Auth
// $pass = $_POST['pass'];
// db select. $hash, $salt
if ($hash == hash('sha512', $pass.$salt)) {
print 'salt:'.$salt."\n";
print 'hash:'.$hash."\n";
} else {
print 'NG';
}
?>

140 :nobodyさん:2007/03/07(水) 10:34:09 ID:gB6hz86O
画像ファイルをbase64オブジェクトに変換したいんですけども
下記のソースではオブジェクト化されてないんですが
どのようにしたらよいでしょうか?

--------------
//テンポラリファイルパス
$upfile=$_FILES['UserFile']['tmp_name'];
//ファイルサイズ
$UserFile_size=$_FILES['UserFile']['size'];
$fp = fopen($upfile, "rb") or die("error");
$contents = fread($fp, filesize($upfile));
fclose($fp);
$f_encoded = base64_encode($contents);

141 :nobodyさん:2007/03/07(水) 10:35:26 ID:rXNlGZ28
Winsows2000Pro + IIS + PHP4.4.4で、

$stdin = fopen( 'php://input', 'r' );
$data = fread( $stdin, $_SERVER{'CONTENT_LENGTH'} );

みたいな感じで、POSTの生データにアクセスしようとしたのですが、freadの後処理が戻ってこないです。
IISでPOSTの生データにアクセスするのは無理なんでしょうか・・・。

ちなみに、Linux + Apache + PHP4.3.9では正常にアクセスできます。

142 :nobodyさん:2007/03/07(水) 10:41:58 ID:???
>>140
var_dump($upfile);

143 :nobodyさん:2007/03/07(水) 10:42:48 ID:???
>>112
それで、文字化けするとなると
かなり特殊な気がするが

skip-character-set-client-handshake
でいけると思うけどな


144 :140:2007/03/07(水) 10:43:42 ID:gB6hz86O
忘れてました。環境は
centos + PHP 4.3.11

145 :nobodyさん:2007/03/07(水) 11:21:49 ID:???
ファイルのコピーはcopy関数でできますが、
ディレクトリごとコピーしたい場合は何か簡単な方法ありますか?
shell_execあたりでUNIXコマンドを使ってやったほうがベストでしょうか?

146 :145:2007/03/07(水) 11:36:25 ID:???
すみません。shell_execじゃなくてexecですかね。

147 :nobodyさん:2007/03/07(水) 13:15:22 ID:???
否定の条件式で質問があります。

"false" 以外の値が帰ってきたら、trueという条件式はどう書けばいいのでしょうか?
0をfalseと認識されてしまい、うまくいきません。

148 :軟式PHP:2007/03/07(水) 13:18:50 ID:???
値 !== FALSE

149 :nobodyさん:2007/03/07(水) 13:19:12 ID:???
>>147
!== false

150 :nobodyさん:2007/03/07(水) 13:21:18 ID:82a5ZO5E
PHPのプロいますか?誰かその技術を短期間で僕に全て教えてください。
プログラミング経験年数は3年で、6種類ほどの言語で実務経験があります。
お礼はします。宜しくお願いします。


151 :nobodyさん:2007/03/07(水) 13:25:07 ID:???
>>150
金額は?

152 :150:2007/03/07(水) 13:30:43 ID:82a5ZO5E
>>151
時給いくらならいいですか?
やりたいことは、ECサイト作成のノウハウ、OOPでの開発、
Xoopsなどです。

153 :nobodyさん:2007/03/07(水) 13:36:00 ID:???
3年プログラムやったらPHPでのOOPやECのノウハウくらい
教え乞わなくても自分で習得できるでしょうに
3年なにやってたんだか


154 :nobodyさん:2007/03/07(水) 13:37:35 ID:???
とりあえず>>150の人気に嫉妬しておく


155 :軟式PHP:2007/03/07(水) 13:44:08 ID:???
6種類の言語が激しく気になる。
なでしこ 、ひまわり、HSP、ChocoaScript、COBOL、ActionScript
あたりか。

156 :nobodyさん:2007/03/07(水) 13:46:41 ID:???
PDOでfetchやfetchAllにFETCH_ASSOCを指定すると
何も返値を返さず処理が停止してしまうのですがどんな原因が考えられますか?
FETCH_BOTHだと正常な返値が返ります。


157 :nobodyさん:2007/03/07(水) 14:02:48 ID:???
>>150
レス返せやハゲ

158 :nobodyさん:2007/03/07(水) 14:31:15 ID:???
150」をいじめないで

159 :虚弱PHP:2007/03/07(水) 14:44:20 ID:???
俺はファミリーBASICとかN88BASICとかF-BASICとか、
i8080アセンブリ(ハンドアセンブル)とかZ80アセンブリとかやったことあるけど、
数に含めてもいいのかな。

160 :nobodyさん:2007/03/07(水) 15:14:34 ID:???
>>159
BASICとして1つアセンブラとして1つ含めてよろしい
CができればPHPは簡単だろ教わるまでもない
C++ができればOOPもわかるだろ

161 :nobodyさん:2007/03/07(水) 16:02:22 ID:???
        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい>>150
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |

162 :nobodyさん:2007/03/07(水) 16:20:39 ID:???
>>145
簡単な方法はない
再帰的にファイルコピーを行うか、
cp コマンドなどを使うしかないと思う
どちらがいいかは、時と場合による

163 :nobodyさん:2007/03/07(水) 16:28:44 ID:???
>>145
ユーザ権限さえクリアできれば。
`cp -r hoge hogehoge`
とかでいけるんジャマイカ。

`(逆クオーテーション?)で括るってところがポイント。
system , execとかでも行けると思うが。

http://www.php.net/manual/ja/language.operators.execution.php

164 :nobodyさん:2007/03/07(水) 16:52:02 ID:???
>>148
>>149

ありがとうございます

165 :nobodyさん:2007/03/07(水) 17:20:36 ID:???
Apache 2.2.4 が導入された状況で、 php 5.2.1 のインストールを行っています。
しかし、phpの環境設定が終わりApacheを再起動させて動作確認しようとした
ところエラーになってしいます。

原因は、TestConfiguraiton によると Syntaxエラーとの事です。
httpd.conf の上の
「LoadModule php5_module "C:/php/php5apache2.dll"」の部分がエラーと
出ます。

これがエラーとは、どこらへんの環境設定を誤っていると予測できますか?



166 :nobodyさん:2007/03/07(水) 17:27:47 ID:VsF5XWdw
setIdAttribute使ったら「not yet implemented」とエラーが出る
これってつまり未実装って事で今のPHPではDomDocumentに属性つけて
その属性をIDとした検索が出来ないって事?

167 :nobodyさん:2007/03/07(水) 17:28:13 ID:???
>>165
Syntaxエラーじゃないんだけど
Apache 1.3 : php5apache.dll
Apache 2.0 : php5apache2.dll
Apache 2.2 : php5apache2_2.dll

168 :nobodyさん:2007/03/07(水) 17:30:35 ID:???
>>167

すいません。解決しました。

169 :166:2007/03/07(水) 17:35:04 ID:???
PHPを最新版にしたら動きました


170 :166:2007/03/07(水) 17:36:05 ID:???
やっぱり動いてませんでした。(まだnot yet implemented)

171 :nobodyさん:2007/03/07(水) 17:57:33 ID:t2T9Sl7y
$html='<a hreh="http://2ch.net/>2ch</a>"';

変数にURLが入っているとして、これをechoするとリンクが貼られた「2ch」が
表示されますが、このリンクをクリックさせないようにする方法ってありませんでしょうか?
正規表現を使うのも考えたのですが、どのようにすればいいか分からず、質問しました。

172 :171:2007/03/07(水) 17:59:15 ID:???
すみません、ソースを配列に入れてしめそうとしたら変にリンクされたので、
もう一度。$htmlに<a href="http://2ch.net/">2ch</a>が入っているとします。

173 :nobodyさん:2007/03/07(水) 18:04:28 ID:???
>>172
htmlspecialchars() すればいいんでなくて?

174 :171:2007/03/07(水) 18:13:24 ID:???
>>173
それだとソースが表示されます。
アフィリエイト広告など画像とリンクですが、そのリンクを
クリック出来ないようにしたいです。CSSでは出来ませんでした。

175 :nobodyさん:2007/03/07(水) 18:29:12 ID:???
>>174
strip_tagsは?

画像を残したいなら、
strip_tags( $html, '<img>' )
とか。

176 :nobodyさん:2007/03/07(水) 18:38:09 ID:???
>>174
それPHPと関係無いんじゃ・・
リンクを現在のページするとか、javascriptなら出来るのかなぁ。

質問が分かりにくかったが、スレ違い!

177 :nobodyさん:2007/03/07(水) 18:38:15 ID:???
>>171
日本語でおk
具体的にどうしたいんだよ

178 :nobodyさん:2007/03/07(水) 18:53:21 ID:???
クリックさせたくないのだからjavascriptのonMouseOverハンドラでマウスが乗ったら強制終了させるとか?

179 :nobodyさん:2007/03/07(水) 18:53:30 ID:79lMnQw0
UTF-8なtxtを吐き出すだけなんですが、
その吐き出されたtxtを見ると、改行がされていません。
改行はどうすればいいのでしょうか?
EUC-JPでは、\nでうまく言っていたのですが。。
調べると\n\rというのもあるので試したのですが駄目でした。

180 :nobodyさん:2007/03/07(水) 18:57:33 ID:???
二つのDomDocumentの結合の仕方が分かる人いたら教えて下さい。

181 :171:2007/03/07(水) 19:00:51 ID:???
>>175
まさにこれです!思い通りに出来ました。ありがとうございました。

182 :nobodyさん:2007/03/07(水) 19:11:52 ID:???
>>179
UTF-8でも改行は\nだよ
普通に変換できてないんじゃないの

183 : ◆MvRbZL6NeQ :2007/03/07(水) 19:20:06 ID:???
すみません。短期間でPHPを教えていただきたいのですが
時給おいくらでやっていただけますか?

184 :nobodyさん:2007/03/07(水) 19:26:48 ID:???
土日だけで時給3000円ならやるかな

185 :nobodyさん:2007/03/07(水) 19:36:07 ID:???
時給10000円が最低ラインだぞ

186 : ◆MvRbZL6NeQ :2007/03/07(水) 19:37:32 ID:???
>>184
プロの方ですか?
職務経歴を教えてください

187 :nobodyさん:2007/03/07(水) 19:39:47 ID:???
   ∩___∩     /
   | ノ      ヽ  /
  /  >   < |/ そんな餌パクッ
  | //// ( _●_)/ミ
 彡、     l⌒l  ノ
 / __  \ \ヽ
. (___)   \__)
. O|       /
  |  /\ \
  | /    )  )
  ∪    (  \
        \,,_)


188 :nobodyさん:2007/03/07(水) 19:42:43 ID:d0r2wAeE
GDを使って画像のサムネイル化などを行っているのですが、
元の画像が小さい場合(数KB〜数十KB)なら問題なく動作します。

ですが、元の画像が大きい場合(100KB超など)だと、以下のようなエラーとなります。
Allowed memory size of 8388608 bytes exhausted (tried to allocate 0 bytes)

これはどうしてなのでしょうか??
php.iniのmemory_limit=8Mなので、100KB程度の画像処理なら十分余裕があるはずですし…。
GDのバグかと思って検索してみましたが、それらしき情報が見つかりません。
GD Version bundled (2.0.28 compatible) です。
何かお分かりの方がいらっしゃいましたら、ぜひ教えてください。

189 :nobodyさん:2007/03/07(水) 19:45:27 ID:???
PHP4.4.2 と PHP5.2.1 で preg_split のパターン構文の解釈が違うみたいなんですが、仕様が変わったのですか。

test.php
<?php
$r = preg_split('/(?<!t)\s/', 'This is test page');
print_r($r);
?>

上記スクリプトを cli で実行すると、
4.4.2 だと、Array( [0] => This [1] => is [2] => test page )
5.2.1 だと、Array( [0] => This [1] => is [2] => test [3] => page )
になります。

それと、5.2.1 でパターン部分を '/((?<!t)\s)/' にすると、
PHP Warning: preg_split(): Compilation failed: lookbehind assertion is not fixed length at offset 6
というメッセージが出ます。

OSは FreeBSD6.2(PHP5.2.1) と FreeBSD5.4(PHP4.4.2) です。

190 :nobodyさん:2007/03/07(水) 20:00:48 ID:???
>>189
ID晒せボケ
しかも人の質問のあとすぐ質問するな
189はスルーでよろ

191 :nobodyさん:2007/03/07(水) 20:01:13 ID:???
今日は豊作ですね

192 :189:2007/03/07(水) 20:01:58 ID:T4xZjQn/
これでいいんでしょ。おねがいしますよ。

193 :nobodyさん:2007/03/07(水) 20:02:58 ID:???
>>190
IDのことは賛成だが、質問の直後に質問・・・ってのは
たまたま偶然タイミングがかぶっただけじゃねぇ?

でも、ま、とりあえずスルーして>>188の質問を先に処理するかw

194 :nobodyさん:2007/03/07(水) 20:03:52 ID:???
>>192
うわっっ、その態度を見てもう>>189に答える気が失せた。
完全スルーしよっと。

195 :nobodyさん:2007/03/07(水) 20:03:55 ID:T4xZjQn/
>>188=>>190=>>193

196 :145:2007/03/07(水) 20:04:28 ID:???
>>162-163
レスありがとうございます。
バッククオートなんて使ったことなかったのでちょっと新鮮です。
権限はCGIにすれば大丈夫なので早速使ってみたいと思います。

197 :nobodyさん:2007/03/07(水) 20:08:38 ID:???
>>195
お前、自分の態度を棚にあげといて他人を貶めようとするなよww

198 :nobodyさん:2007/03/07(水) 20:10:43 ID:T4xZjQn/
教えないふりしてるけど、ほんとはしらないんですよねw

199 :nobodyさん:2007/03/07(水) 20:11:30 ID:T4xZjQn/
もうthebbsいくからいいです。氏ねよ、くずども。

200 :nobodyさん:2007/03/07(水) 20:15:12 ID:???
ここまで典型的なガキだと、逆に新鮮だなw

201 :nobodyさん:2007/03/07(水) 20:17:37 ID:???
春なのに〜お別れですか〜♪

202 :nobodyさん:2007/03/07(水) 20:26:45 ID:???
>>188
PHP自体のバージョンはいくつだ??

203 :189:2007/03/07(水) 20:45:08 ID:nw8KmYa6
申し訳ありません。
リロードせずsageのチェック外し忘れた私が悪かったです。

偽物まで出てきてしまったし、188の質問も解決していないし、
もう答えてもらえそうにありませんね。

ごめんなさい。お騒がせしました。

204 :188:2007/03/07(水) 20:46:51 ID:d0r2wAeE
>>202
phpバージョンは4.3.1です。
もし出来ましたら、同じように大きいサイズの画像でGD関数の
動作実験をしてはいただけませんでしょうか・・・?

ちなみに、107KBのJPEGを元画像として用いてサムネイル化しようとして、
ImageCreateFromJPEG、ImageCopyResampled、ImageJPEGのうち
どれかを実行した時点でコケた(=エラーメッセージが出た)ということまでは
突き止めています。

205 :nobodyさん:2007/03/07(水) 21:23:30 ID:???
>>204
元が100KBのjpegでもそれをメモリ上に展開してゴニョゴニョするので、
簡単にM単位になっちゃうんですよ。

206 :nobodyさん:2007/03/07(水) 21:35:10 ID:???
DB板とどっちに質問しようか迷ったのですが、こちらに質問させて頂きます。
mysqliを使ってMySQLからストアドの結果セットを取得したいのですが、
以下の様なエラーになります。

内容A:
<?php
 $mysqli_connect = mysqli_connect(host, user, pass, schema);

 $sql = "CALL spSelGetMembId()";
 $query_resultA = mysqli_query($mysqli_connect, $sql);
 $rowA = mysqli_fetch_array($query_resultA, MYSQLI_BOTH);
 $member_id = $rowA[0];
 printf ("A: " .$member_id. "\n");

 $sql = "CALL spSelGetMembId()";
 $query_resultB = mysqli_query($mysqli_connect, $sql);
 $rowB = mysqli_fetch_array($query_resultB, MYSQLI_BOTH);
 $member_id = $rowB[0];
 printf ("B: " .$member_id. "\n");
?>

結果A:
A: MEMBER0001
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result,
 boolean given in /var/www/html/test.php on line 12
B:

(↓につづく)

207 :nobodyさん:2007/03/07(水) 21:35:31 ID:???
ですが、これを以下のような形にすれば問題なく動作します。

内容B:
<?php
 $mysqli_connect = mysqli_connect(host, user, pass, schema);

 $sql = "SELECT `memberid` FROM `test`";
 $query_resultA = mysqli_query($mysqli_connect, $sql);
 $rowA = mysqli_fetch_array($query_resultA, MYSQLI_BOTH);
 $member_id = $rowA[0];
 printf ("A: " .$member_id. "\n");

 $sql = "SELECT `memberid` FROM `test`";
 $query_resultB = mysqli_query($mysqli_connect, $sql);
 $rowB = mysqli_fetch_array($query_resultB, MYSQLI_BOTH);
 $member_id = $rowB[0];
 printf ("B: " .$member_id. "\n");
?>

結果B:
A: MEMBER0001
B: MEMBER0001

(↓につづく)

208 :nobodyさん:2007/03/07(水) 21:36:05 ID:???
現在呼び出しているストアドは簡単なものですが、
これをベースに複雑なストアドを呼び出すように
したいと考えています。

2回目のストアド呼び出しが失敗する原因について
何か知ってましたら、教えて下さい。
連投スマソ

テーブル:`test`
--------------
| memberid    |
--------------
| MEMBER0001 |
--------------

ストアド:
CREATE PROCEDURE `spSelGetMembId` ()
BEGIN
 SELECT `memberid` FROM `test`;
END $$

環境:
PHP 5.1.6 + MySQL 5.0.27 + Apache 2.0.59

OS:
CentOS 4.4

209 :nobodyさん:2007/03/07(水) 21:37:55 ID:DBiwlIWz
すいませんID出てませんでした。上3つは自分です。

210 :nobodyさん:2007/03/07(水) 21:40:23 ID:???
class hogeHoge{
function testHoge($id,$name){
〜ソース〜
}
}

上記のように、class内のfunctionに複数の変数って指定できますよね?
しかしなぜか、Missing argument 2 for というエラーが出ます。
function testHoge($id)にすると問題ないのですが・・。

211 :nobodyさん:2007/03/07(水) 21:42:23 ID:???
>>210
エラーメッセージの通りだよ呼ぶときに2つ目の引数が無い

212 :nobodyさん:2007/03/07(水) 21:43:09 ID:???
愉快犯ぐらい見抜けよ。これじゃまじめに質問してる初心者がかわいそう。

213 :nobodyさん:2007/03/07(水) 21:44:35 ID:???
>>210
関数にコールするときに、二つの引数を渡している?
省略したいのなら:

function testHoge($id, $name = NULL) ... とかすればいいのでは?

214 :nobodyさん:2007/03/07(水) 21:55:37 ID:???
>>206
mysqli_fetch_arrayしたらカーソルは次のレコードに移っていて
1レコードしかないから2回目のqueryではfalseが返って来て
2回目のmysqli_fetch_arrayでfalseを渡してるからboolean渡すなやボケってことじゃない?


215 :nobodyさん:2007/03/07(水) 21:56:09 ID:???
>>186
メインではないけど一応職務でPHPそこそこ使ってる。
symfony初め使えそうなライブラリを常に探して使ってる。
普通のつてで講義なら3000円でいいけど2ch繋がりだとしたら1万は要るなw

216 :nobodyさん:2007/03/07(水) 21:57:37 ID:???
>>205
> 元が100KBのjpegでもそれをメモリ上に展開してゴニョゴニョするので、簡単にM単位に

えええ〜〜〜、それはいくらなんでも適当な嘘を吐き過ぎじゃない?
どんだけゴニョゴニョしようとも、単なるリサイズ処理ごときで
元画像の80倍以上ものメモリを要するなんてありえないっしょ。

まあGD関数の実装は知らないけどさ。。。

217 :nobodyさん:2007/03/07(水) 22:00:05 ID:???
>>188
ソース張れそれだけではわからん
普通はそんなことでメモリ食いつぶすような事はない

218 :210:2007/03/07(水) 22:00:19 ID:???
>>211.213
表示する側は以下のように書いています。
$obj->testHoge($id,$name);

実際には$nameの箇所は数字で、1とか2とかにしています。
なので、二つ目の引数はあるとおもうのですが・・。

219 :188:2007/03/07(水) 22:09:21 ID:d0r2wAeE
>>217
サムネイル化関数のソースは以下の通りです。
よくネットに転がってるものと大差の無い、標準的なものだと思いますが…。

function thumb_create($src, $W, $H){
$size = GetImageSize($src);
switch ($size[2]) {
case 1 : $im_in = @ImageCreateFromGif($src); break;
case 2 : $im_in = @ImageCreateFromJPEG($src); break;
case 3 : $im_in = @ImageCreateFromPNG($src); break;
}
if (!$im_in) return FALSE;
if ($size[0] > $W || $size[1] > $H) {
$key_w = $W / $size[0];
$key_h = $H / $size[1];
($key_w < $key_h) ? $keys = $key_w : $keys = $key_h;
$out_w = $size[0] * $keys;
$out_h = $size[1] * $keys;
} else {
$out_w = $size[0];
$out_h = $size[1];
}
(※改行多すぎのため、2分割して書き込みます)

220 :nobodyさん:2007/03/07(水) 22:10:09 ID:???
>>210
呼び出しのときに引数が足りないっていみのエラーなわけだが

221 :188:2007/03/07(水) 22:10:25 ID:d0r2wAeE
(※サムネイル化関数の続きです)
$im_out = @ImageCreateTrueColor($out_w, $out_h);
$resize = @ImageCopyResampled($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]);
$filename = "test";
switch ($size[2]) {
case 1 : $im_in = @ImageGIF($im_out, $filename.".gif"); break;
case 2 : $im_in = @ImageJPEG($im_out, $filename.".jpg"); break;
case 3 : $im_in = @ImagePNG($im_out, $filename.".png"); break;
}
ImageDestroy($im_in);
ImageDestroy($im_out);
}

222 :nobodyさん:2007/03/07(水) 22:21:55 ID:???
>>210
またnewしてない落ちじゃないよな?

$obj_hogehoge = new hogeHoge();
$obj_hogehoge->testHoge("ID","NAME");


223 :209:2007/03/07(水) 22:23:48 ID:DBiwlIWz
>>214さん
レスありがとうございます。
testテーブルの件数を増やす&最初のカーソルを開放する
事を試してみたのですが、結果は同じでした。

MySQLのクエリブラウザ上で実行する分には大丈夫、
かつストアドでないSQLで問題が無いので
もしかするとストアド固有の問題なのかもしれません。

224 :nobodyさん:2007/03/07(水) 22:32:13 ID:???
>>219
確かにおかしなところなさそうだな、、
一気にいくつも生成してないんだったら
本当にメモリ使い果たしてるのかもしれん
怪しげな前後の部分でmemory_get_usageで
一気に増えてる部分特定して元画像のサイズ少しずつ
変えてもメモリ使用量比例してたらお手上げ


225 :nobodyさん:2007/03/07(水) 23:15:29 ID:???
>>218
それでも解決しなればコードUP

226 :nobodyさん:2007/03/07(水) 23:48:18 ID:LKc55zBo
よろしくお願いします。以前質問させていただいたものですが
mysql文字化け対策にttp://phpspot.net/php/pgMySQL4.1%8
CnUTF-8%82%CC%8F%EA%8D%87.html
を参考にしてやりましたが、今度はmysql_connect() [fun
ction.mysql-connect]: Can't connect to MySQL serv
er on 'localhost' (10061) inのエラーで接続できず・・・
初めてPHPをやっているので手探り状態の日々がつづいています。
ソースはttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd
/php_s02.htm参考に
PHP・MYSQLはXAMPPの最新版で
MySQL 5.0.33
PHP 5.2.1 & PHP 4.4.5
phpMyAdmin 2.9.2です 
ようは上記に記載した以外に文字化け対策の方法が
あったら御教授よろしくお願い致します

227 :nobodyさん:2007/03/07(水) 23:56:21 ID:???
>>226
文字化けを解決したいのかMySQLに接続したいのかハッキリしろ!
・・・まぁ両方だろうけどw
ところで何でPHPを二つ入れてるんだ?

まずMySQLのサービスがちゃんと動いているか確認してみれあsふぁsdふぁ

228 :188:2007/03/08(木) 00:28:43 ID:e2mjdXJz
>>188です。
その後いろいろ実験してみたところ、JPEGだと100KB超でも問題なくサムネイル化できます。
が、PNGで大きい画像(実験では110KB)だとサムネイル画像作成に失敗します。
ImageDestroy($im_in);の行で、以下のエラーメッセージが出ます。
imagedestroy(): supplied argument is not a valid Image resource〜

@ImagePNG〜の行ではエラーメッセージが出ていませんが、サムネイル画像は作成されておりません。
それと、同じPNGでも小さい画像(5KBなど)で試したときは問題ありませんでした。

もしかしてGD関数で大きいサイズのPNGを扱うときのバグ・・・??

229 :188:2007/03/08(木) 00:43:27 ID:e2mjdXJz
あ、すいません、さらに追加です。

さきほど「JPEGなら大きい画像でも成功」と書きましたが、
なぜか失敗するケースもあることが判明ました・・・orz

失敗する条件はまだ特定できていませんが、
とりあえず「あるディレクトリにスクリプトと画像をあらかじめアップしておき、
SSHからスクリプト実行」の場合は必ず成功し、
「あるディレクトリにスクリプトを置いておき、ブラウザにてフォームから画像を送信して
スクリプトを走らせた場合」には必ず失敗してしまいました。

両者のスクリプトと画像はまったく同じものなのに、なぜでしょうか・・・

230 :nobodyさん:2007/03/08(木) 00:47:07 ID:???
それは送信サイズが制限オーバーしてるんじゃねーのかな
画像程度じゃあんまり考えられないけど…
FireWorksとかのPNGだとかなりでかくなるよね

php.iniのUPLOAD_MAX_SIZEだっけ、そんな感じのところで少し大きめの容量
受け取れるようにしたら。

231 :nobodyさん:2007/03/08(木) 00:49:07 ID:???
ゴメン、110KBって書いてあったw
さすがに送信サイズの訳無いな。

エラーメッセージとか、なんか
array受け取れない所にarrayが渡されてる時にでるやつだよね。

232 :188:2007/03/08(木) 00:53:43 ID:e2mjdXJz
フォームからのPOSTの場合、アップされた画像自体はきっちり保存されています。
あくまでも、その画像を前掲のサムネイル生成関数に通したときに
関数内で問題が発生(サムネイル化に失敗)しているようです。

フォームからのPOST時にはエラーメッセージすら出ず、非常に困っております・・・

233 :nobodyさん:2007/03/08(木) 00:54:47 ID:???
>>188
てゆかさ、上に書いてるコードの下のほうの

switch ($size[2]) {
case 1 : $im_in = @ImageGIF($im_out, $filename.".gif"); break;
case 2 : $im_in = @ImageJPEG($im_out, $filename.".jpg"); break;
case 3 : $im_in = @ImagePNG($im_out, $filename.".png"); break;
}
ImageDestroy($im_in);
ImageDestroy($im_out);

はおかしいんじゃねーの?

ttp://jp2.php.net/imagejpeg
bool imagejpeg ( resource image [, string filename [, int quality]] )

って書いてるよ。
boolなイメージをぶっ壊そうとしてんじゃん?

234 :188:2007/03/08(木) 00:58:39 ID:e2mjdXJz
>>233
小さい画像の場合では特にエラーもなくサムネイル化できておりますので、
そのコード自体には問題ないかと思いますが・・・

235 :188:2007/03/08(木) 01:09:27 ID:e2mjdXJz
何度も一人で書き込んでしまい、すみません。
原因箇所を突き止めました。

今までずっとGD関数が問題だと思っておりましたが、
真のトラブル箇所は、サムネイル生成関数内のいちばん初めの行、
$size = GetImageSize($src);
でした。

ここで$srcに「大きいサイズ(100KB超など)のPNG画像のパスを与える」場合に、
その行でスクリプトがストップします。
みなさんもGetImageSize()で大きいサイズのPNGを計測してみてください。
きっと失敗するはずだと思います・・・

236 :nobodyさん:2007/03/08(木) 01:10:36 ID:???
とりあえず怪しいところはつぶしていくのが定石だろうが。
bool値をデストローーイ!するのが原因かもしれんのだし。
まぁ、ないとおもうけど(^ω^)
>そのコード自体には問題ないかと思いますが・・・
まぁ、平然とこんな事が言えるお前の頭が問題だということだな。
一生悩んどけ。

237 :nobodyさん:2007/03/08(木) 01:11:13 ID:???
わかった。
falseが返ってきてるな。
imagejpegで作成失敗でfalseが返される。
尚且つ、ImageDestroy(false);
になってるからエラーが出てる。

238 :nobodyさん:2007/03/08(木) 01:12:23 ID:???
memory_limitに当たってるだけじゃないの?

239 :nobodyさん:2007/03/08(木) 01:13:31 ID:???
もっと1024MBとか豪華に使って試してみれと。

240 :233:2007/03/08(木) 01:13:55 ID:???
>>188
ローカルでは画像のサイズがどうであれImageDestroy($im_in)で失敗するよ。

switch ($size[2]) {
case 1 : @ImageGIF($im_out, $filename.".gif"); break;
case 2 : @ImageJPEG($im_out, $filename.".jpg"); break;
case 3 : @ImagePNG($im_out, $filename.".png"); break;
}
ImageDestroy($im_in);
ImageDestroy($im_out);

に変えたら500k超えてるpngでもサムネイルかできる。
8192px x 6144px

241 :nobodyさん:2007/03/08(木) 01:14:09 ID:???
HDD増設してみてはどうだろう?

242 :nobodyさん:2007/03/08(木) 01:17:04 ID:???
>>188
OSを再インストールしてみれ

243 :nobodyさん:2007/03/08(木) 01:23:01 ID:???
gimpのソースが公開されてるから、リサイズ専用に改造して
execで使えば良いんじゃね。

244 :nobodyさん:2007/03/08(木) 01:25:10 ID:z05LMp1V
フォームのテキストボックスに自動で月/日を入力させたいんですが
素人丸出しの記述になっています。玄人の方は、どう記述しますか?



<input name="tuki" type="text" istyle="4" value="
<?php
$today = date("m");
print($today);
?>
" size="5" /> 月<br>
<input name="hi" type="text" istyle="4" value="
<?php
$today = date("d");
print($today);
?>
" size="5" /> 日

245 :nobodyさん:2007/03/08(木) 01:26:48 ID:z05LMp1V
シュウセイ…(汗

<input name="tuki" type="text" value="
<?php
$today = date("m");
print($today);
?>
" size="5" /> 月<br>
<input name="hi" type="text" value="
<?php
$today = date("d");
print($today);
?>
" size="5" /> 日

246 :nobodyさん:2007/03/08(木) 01:32:05 ID:???
あとで読みやすいから、

<?php
  $m = date("m");
  $d = date("d");
?>
<input name="tuki" type="text" value="<?=$m?>" size="5" /> 月<br>
<input name="hi" type="text" value="<?=$d?>" size="5" /> 日

247 :nobodyさん:2007/03/08(木) 01:34:24 ID:z05LMp1V
>>246
スマートな記述ですね。
勉強になりました。ありがとです。

248 :nobodyさん:2007/03/08(木) 01:42:12 ID:???
>>247
どこがスマートな記述…
スマートな書き方するとこう

<?php
list($m, $d) = sscanf(date("md"), "%02s%02s");
?>

249 :nobodyさん:2007/03/08(木) 01:42:49 ID:GIE8ipFx
preg_grepとおなじ動作をするマルチバイト関数ってありませんよね?
mb_preg_grepがあるのかと思ってマニュアル覗いてみたんですけど・・期待はずれでした。

250 :nobodyさん:2007/03/08(木) 01:48:14 ID:???
<?php
$time = time();
$month = date("m",$time);
$day = date("d",$time);

// 省略

echo "<INPUT type='text' name='month' value='",$month."' />\n";
echo "<INPUT type='text' name='day' value='",$day."' />\n";


251 :188:2007/03/08(木) 02:03:10 ID:e2mjdXJz
>>237>>240
>>235で書きました通り、関数内処理の1行目
$size = GetImageSize($src);
でストップしてしまうことが判明しております。(大きいPNGを引数に与えた場合のみ)
(この行の前後にechoで適当な文字を出力してみて、ここで止まることを確認しました)。

ですので、imagejpegやImageDestroyは関係ないようです。
おそらくGetImageSize()に潜むバグではないかと・・・

252 :nobodyさん:2007/03/08(木) 02:04:48 ID:???
ていうか聞きすぎじゃね?もすこし自分で努力してみようと思え

253 :nobodyさん:2007/03/08(木) 02:11:57 ID:???
>>188
試しに俺もおまいのソース使ってサムネイル作ろうとしたら、失敗したぞ。
つーかうちではPNGだけじゃなくJPEGでも無理なんだけど?
一応記録↓
5KB JPEG, 5KB PNG = OK
30KB JPEG, 30KB PNG = OK
90KB JPEG = OK
111KB PNG = NG
120KB JPEG = NG

254 :nobodyさん:2007/03/08(木) 02:13:37 ID:???
自演乙

255 :nobodyさん:2007/03/08(木) 02:16:03 ID:???
getimagesize バグ でググった?

256 :nobodyさん:2007/03/08(木) 02:19:00 ID:???
表示先が文字化けしてるんですが・・・

$url = "http://www.yahoo.co.jp/";
include($url);

257 :nobodyさん:2007/03/08(木) 02:26:53 ID:???
>>256
自殺しろ

258 :nobodyさん:2007/03/08(木) 02:27:04 ID:???
俺の環境では化けないな
っつかallow_url_includeをOnにすな

259 :nobodyさん:2007/03/08(木) 02:32:25 ID:???
つべこべ言ってないでmemory_limitを増やせよ。
PNGなんて圧縮されてるからファイルサイズと必要なメモリに関連性なんて全くない。

260 :188:2007/03/08(木) 02:37:50 ID:e2mjdXJz
>>259
memory_limit = 8Mを16Mにしたら、解決しました・・・
すみません、ありがとうございます。

> PNGなんて圧縮されてるからファイルサイズと必要なメモリに関連性なんて全くない。

とのことですが、もう少し詳しく教えていただけないでしょうか。
JPEGなども圧縮されているものだと思うのですが、それとは「圧縮」の意味が違うのでしょうか?
また、あるサイズのPNGを処理するのに必要なメモリ量を計算する数式などありますでしょうか。

100KB程度の画像を処理するのに8MBでも足りないとは、想像を超えておりました…
みなさんスレ汚しすみませんでした。

261 :nobodyさん:2007/03/08(木) 03:00:50 ID:???
>>260
まったく聞きすぎだ

でも勉強になった

262 :nobodyさん:2007/03/08(木) 03:12:44 ID:???
単純に赤8bit・緑8bit・青8bit・透明度8bitの320x240の画像を
高速に処理できる状態でメモリ上に置いておくには
(1+1+1+1)*320*240の307200バイト必要なんだよ。
640x480になったら単純に
(1+1+1+1)*640*480=(1+1+1+1)*(320*2)*(240*2)=(1+1+1+1)*320*240*4で
4倍のメモリが必要にになる。
さらに拡大縮小などもう1枚コピーを作る必要がある処理をするなら
元画像と処理後の画像が同時に存在する状態ができるから
同じサイズに拡大縮小したとしても2倍のメモリが必要になる。

263 :nobodyさん:2007/03/08(木) 03:34:05 ID:???
C言語でも勉強すればいいよ

264 :nobodyさん:2007/03/08(木) 03:41:32 ID:???
>>262
おまいスゲーな!!
でもなぜJPGだとそうならないんだ??

265 :nobodyさん:2007/03/08(木) 04:32:23 ID:???
PHPでpngを処理すると、むちゃんこメモリを食いまくる、まで読んだ。

266 :nobodyさん:2007/03/08(木) 04:39:23 ID:???
JPEGは透明度データがないからPNGの3分の4倍(1.33…倍)以上の
画像サイズにする必要があるんじゃないか?
縦だけあるいは横だけ4/3倍とか縦横ともに√(4/3)倍するとか。

267 :nobodyさん:2007/03/08(木) 04:45:21 ID:???
3分の4倍じゃなくて4分の3倍じゃない?

っていうか簡単に言えば、
JPEGは同じ縦横サイズなら、PNGの3/4のファイルサイズになる
ってことでは?

268 :nobodyさん:2007/03/08(木) 04:55:21 ID:???
んだからメモリのリミットに当てるには3分の4倍サイズにして用意してくれと。

269 :nobodyさん:2007/03/08(木) 08:58:17 ID:a3iASN9B
セキュリティについての本を購入予定なんですが、
何かお勧めの本が前に紹介されたしたが
何という本でした?

270 :nobodyさん:2007/03/08(木) 09:25:21 ID:WIAr6em1
PHPとApacheを同じバージョンにし、設定も全く同じにしたのですが、片方の
マシンでは正常にプログラムが動作するのに、もう片方ではエラーがたくさん
出ます。

OSは同じ(Windows XP)ですし、インストールディレクトリも同じにしました。
こういうことってあるものなんでしょうか?





271 :nobodyさん:2007/03/08(木) 09:46:23 ID:???
あるわけない。
iniをWINDOWSにつっこんでないとか
dllをWINDOWS\system32につっこんでないとかそういうのだろ。

272 :270:2007/03/08(木) 09:57:01 ID:WIAr6em1
>271
そういうのではありません。
php,Apacheはバージョンとインストールディレクトリを正常に動いている
マシンと同じにすれば、設定ファイルをそのままかぶせても問題ありません
よね?

273 :nobodyさん:2007/03/08(木) 10:00:33 ID:???
>>270
具体的にどういうエラーが出てるんだか。
多分、同じ設定ってのが勘違いしてるだけでしょ。

274 :nobodyさん:2007/03/08(木) 10:05:45 ID:???
設定ファイルをコピーして再起動していない

275 :nobodyさん:2007/03/08(木) 11:27:27 ID:???
>>270
エラーとだけいわれてもね
ApacheのエラーなのかPHPのエラーなのか
肝心のエラーの内容も書いてないし

276 :nobodyさん:2007/03/08(木) 13:06:56 ID:Y9DHbA2v
htmlに直接phpを記述するときにif条件式は
<?if(条件式){?>
出力するhtml
<?}else{?>
出力するhtml
<?}?>
という風に書けますよね.
for文ではこのような表記は存在しないのですか?

277 :nobodyさん:2007/03/08(木) 13:11:58 ID:???
その中にfor文書けば?

278 :nobodyさん:2007/03/08(木) 13:17:15 ID:Y9DHbA2v
<?for(条件式){?>
出力html
<?}?>
ってことですか?

279 :nobodyさん:2007/03/08(木) 13:20:16 ID:???
>>278
回答を待ってるより動かしたほうが早いだろ。1分あればできる。

280 :nobodyさん:2007/03/08(木) 13:44:08 ID:???
>>276
何で存在しないなんて思ったのか
そっちの方がものすごく不思議。

281 :nobodyさん:2007/03/08(木) 14:03:46 ID:ZuqlBOaN
for文の中にif文をさらに入れようとしたらなかなか動かなかったからです.
もうクリアになったのでおkです.回答ありがとうございました.

282 :nobodyさん:2007/03/08(木) 14:19:05 ID:???
require_onceなどでファイルを読み込むとき、ドキュメントルートからのパスで指定することはできないのでしょうか?
以下のようなファイル・ディレクトリで運用しています。
/var/www/hoge/file1.php
/var/www/hoge/fuga/file2.php
(DocumentRootは/var/wwwに設定)
file2.php内にてHTML部分で<A href="/hoge/file1.php">等でリンクを貼ると、
ページを表示した際に問題なくリンクをたどれるのですが、
file2.phpにおいてrequire_once("/hoge/file1.php")とすると
ファイルがないとエラーが出てしまいます。

今後いろいろなディレクトリからfile1.phpをインクルードする必要があるので、
相対パスではなくドキュメントルートからのパスを指定することにより記述を統一したいのですが、
このようなことは可能でしょうか?
(ちなみにrequire_once("/var/www/hoge/file1.php")とすると問題なく読み込めました。)
Debian Sarge+apache2+php4です。
よろしくお願いします。

283 :nobodyさん:2007/03/08(木) 14:20:35 ID:???
>>282
require_once($_SERVER["DOCUMENT_ROOT"] . "/hoge/file1.php");
でいーんじゃない?

284 :282:2007/03/08(木) 14:22:38 ID:???
>>283
どうもありがとうございます。
解決しました。

285 :282:2007/03/08(木) 14:37:42 ID:???
解決したと思ったのですが、別の問題が浮上したので再度質問させていただきます。

表示用のhtmlと処理用のphpを分けてサイトを作る場合、一般的にはどのような方法で表示用htmlに反映させて表示させるのでしょうか?

現在のところ、表示用のhtmlに{$contents}等を埋め込んでおき、処理用phpにて最後にincludeしてやっているのですが、
これだと、表示用html内で使用している画像等のパスは処理用phpを基準として設定しなければならないため、
すべてを>>282で質問したようにDocumentRootからのパスを指定してやる必要があります。
修正するのはたいした手間ではないのですが、皆さんこのようにして作成しているものなのでしょうか?

286 :282=285:2007/03/08(木) 14:39:02 ID:???
{$contents}は<?= $contents ?>の間違いでした。
スレ汚し申し訳ありません。

287 :nobodyさん:2007/03/08(木) 14:57:14 ID:???
smarty使えば

288 :nobodyさん:2007/03/08(木) 15:03:27 ID:???
>>285
> これだと、表示用html内で使用している画像等のパスは処理用phpを基準として設定しなければならないため、
ごめん。これの意味が分からない。
「処理用php」ってのは一体どこのディレクトリに置かれてるんだ??

289 :285=282:2007/03/08(木) 15:31:16 ID:???
>>287-288
レスありがとうございます。
Smarty導入には未だ踏み出せずにいました。検討してみます。

処理用phpは複数あり、それぞれ表示用htmlより下のディレクトリに置く予定です。
ご意見ありましたらよろしくお願いします。

290 :nobodyさん:2007/03/08(木) 15:34:34 ID:???
うちは用も無いのにサブディレクトリに分けたりしないからそんな苦労は分からない。

サブディレクトリに分ける必要がある=システム的にカテゴリを定義している=カテゴリ別にディレクトリ設定を持てる、ので
その場合は定義されたディレクトリ設定をリンクに付加するだけだから特に悩むこともない。

291 :nobodyさん:2007/03/08(木) 15:42:08 ID:???
>>289
普通、画像の置き場所なんてドキュメントルート基準かスクリプトからの相対位置基準かどっちかにしかしないから
普通に <img src="/image/画像.jpg"> か <img src="./image/画像.jpg"> かでいいんじゃないの?
それで済まないのは根本的にディレクトリ構成がおかしい気がするんだけど。

292 :nobodyさん:2007/03/08(木) 16:47:37 ID:???
PEARのHTTPパッケージ一覧をざっと見たのですが、ファイルのアップロード
で困ったことがあります。

それは、HTTP_Request::addFile() でアップロードしたファイルを
受け取る側のPHPスクリプトの $_FILES['foobar'] で参照できないのです。

これを解決する方法はあるでしょうか?

293 :nobodyさん:2007/03/08(木) 17:06:36 ID:???
なるべくサブディレクトリに分けたほうがいい
SEO的に有利だからね。

294 :nobodyさん:2007/03/08(木) 17:14:55 ID:???
>>292
$_FILESに入ってないんだったらアップロードに失敗してるんだろ
addFileでちゃんとtrue返って来てる?

>>293
SEO的に有利な根拠は?

295 :nobodyさん:2007/03/08(木) 17:32:51 ID:???
phpmyadminで文字コードをEUCに変更・固定するにはどのようにすればいいのでしょうか?

ログイン画面にてeuc-jpを選択してもログイン後にutf8に変わってしまいます。
また、phpからEUCでMysqlに登録したデータもphpmyadmin上では文字化けして表示されてしまいます。
なんとかして文字コードを変更することは可能でしょうか?

Mysql4.1.11 phpMyadmin2.6.2を使用しています。
よろしくお願いします。

296 :nobodyさん:2007/03/08(木) 17:41:41 ID:???
PHP5, MySQL5,0で運営しているのですが
MySQLからデータをとりだして表示しているページがAU機では表示されません。
色々調べてみると
1.日本語のみ表示されていない
2.文字化けではなくNULL状態
3.URLに勝手にx-up-destcharset=17がはいる

var_dumpしてみても日本語が入っている変数はNULLになっています。
どなたかお力お貸しください

297 :nobodyさん:2007/03/08(木) 17:42:09 ID:???
>>293
>SEO的に有利
スクリプト本体をドキュメントルート下に置くつもりかよw

298 :nobodyさん:2007/03/08(木) 18:04:32 ID:???
>>296
>var_dumpしてみても日本語が入っている変数はNULLになっています
って、スクリプトミスっているんじゃないのか?
そら、何も入っていないのに表示されるわけない


299 :189:2007/03/08(木) 18:07:24 ID:RD7yuDJr
>>189の件、5.2.1 のコンパイル時に --enable-versioning が付いていたので
それを外して再コンパイルしたところ、4.4.2 と同じ結果が返ってくるようになりました。

本当にこれが原因かどうかはもう少し調べてみないとわかりませんが、
とりあえずこれで使ってみようと思います。
お騒がせしました。

300 :nobodyさん:2007/03/08(木) 18:43:32 ID:???
$var = "A,B,C";
があるとして、
以下のようなことをしたいのですが、
explode($array)を介さずに直接$a_cに代入できるような関数ってないでしょうか?
$array に余計なメモリを食いたくない、かつわかり易いように
連想配列を使いたい、という状況です。

$array = explode(",", $var);
$a_c['A'] = $array[0];
$a_c['B'] = $array[1];
$a_c['C'] = $array[2];


301 :nobodyさん:2007/03/08(木) 19:07:14 ID:???
>>300
list($a_c["A"], $a_c["B"], $a_c["C"]) = explode(",", $var);

302 :nobodyさん:2007/03/08(木) 19:08:16 ID:???
>>298
NULLというか
$hoge=''
という形で入っています。
PCやドコモ機で見るときちんと文字が入っています

303 :nobodyさん:2007/03/08(木) 19:10:11 ID:???
>>302
画面に出しても文字コードの関係で表示されないだけ?
画面やvar_dumpの内容をob関数使ってファイルに出力してみると謎が解けそう。

304 :nobodyさん:2007/03/08(木) 20:36:58 ID:???
>スクリプト本体をドキュメントルート下に置くつもりかよw

これの意味がわからない。
だれかおしえてw

305 :nobodyさん:2007/03/08(木) 22:11:34 ID:???
>>304
/hogehoge/
  ├/app/ ここにスクリプト
└/public_html/ 実行ファイル

こういうことじゃね?

まぁ、レンタルサーバでドキュメントルートより上に置けないサーバー結構あるわけだが。
自鯖でやってるやつなんてほんの一部だろうし。

306 :nobodyさん:2007/03/08(木) 22:51:46 ID:???
志村〜

307 :nobodyさん:2007/03/08(木) 23:06:52 ID:???
ドキュメントルート上といいたかったのかね。
それかスクリプト本体をサブディレクトに置くといいたかったのかね。
どっちにせよ謎い。

308 :nobodyさん:2007/03/08(木) 23:20:03 ID:???
ただの煽りなんだからどっちでもいいんじゃね

309 :nobodyさん:2007/03/08(木) 23:38:41 ID:lSyqksIJ
php5.1.6なのですがmb_関係の関数がundefinedだといわれるので
php.iniを見てみたのですがphp_mbstring.dllという記述が見つかりません。
どうすればmb関連の関数を使えるよう設定できますか?

310 :nobodyさん:2007/03/08(木) 23:39:36 ID:???
>>309
Windows?

311 :nobodyさん:2007/03/09(金) 00:17:00 ID:???
インストーラ使ったんじゃね

312 :nobodyさん:2007/03/09(金) 00:31:15 ID:???
>>311
あ、俺インストーラ使ったこと無いな
インストーラでインスコするとどうなるの?
zip解凍して自分で配置したのと同じ?

313 :nobodyさん:2007/03/09(金) 01:42:30 ID:???
mbネタでかぶってスマン
これで一つのメールアドレスを含む文字列は置換できるんだけど、
二つ以上になるとリンク部分がバグる
どこか間違ってるかな?

$msg = mb_eregi_replace("([a-z0-9\._-]+)@(.+)\.([a-z]{2,4})",
'<a href="mailto:\\1@\\2.\\3">\\1@\\2.\\3</a>', $msg);


mb_internal_encoding('SJIS');
mb_regex_encoding('SJIS');
にはしてある
PHP5.1

314 :nobodyさん:2007/03/09(金) 01:45:43 ID:???
>二つ以上になるとリンク部分がバグる

315 :nobodyさん:2007/03/09(金) 01:48:10 ID:???
>>313
とりあえずそれじゃco.jpとかのドメインは変換できないんじゃね。
と突っ込んでみる。

316 :nobodyさん:2007/03/09(金) 01:52:30 ID:???
>>314
いやホントに
まるでHTML覚えたてのように余計なとこまでリンク化されてるみたいな

>>315
全然おkですが?

317 :nobodyさん:2007/03/09(金) 01:53:45 ID:???
バグるとか言ってる奴にWebプログラミングは無理だよ

318 :nobodyさん:2007/03/09(金) 02:23:37 ID:???
Call to undefined function mb_eregi_replace()

319 :nobodyさん:2007/03/09(金) 02:26:35 ID:???
>>313
バグるって最初から内容ぐらい書けよお前。

今回は半角英数字だから問題ないだろうけど
あとMS系の言語以外でSJISは出来るだけ使うな
しかも>>314のいうとおりco.jpは無理だろそれ?

どこまでもリンクが続くって事は</a>が上手く付いて
ないんだろ?
そこを何とか調べてみろ

320 :319:2007/03/09(金) 02:27:48 ID:???
>>314じゃなくて>>315




orz=3

321 :313:2007/03/09(金) 02:34:53 ID:???
スマソ
二番目のカッコがダメダメっぽい
普段単体のメールアドレスチェックに(.+)@(.+)\.(.+)で済ませてる身に
正規表現はキツイわw


322 :nobodyさん:2007/03/09(金) 02:40:03 ID:???
>>313
メールの正規表現はなにげにむずいぞ。
ついでにいうと大文字も可能。
それと、その正規表現じゃ例えば、
.com.com.com.comなんかもメールアドレスとして扱われる。
もうちょっとましな書き方したほうがいいと思う。

323 :313:2007/03/09(金) 02:49:28 ID:???
>>322
自分ではシンプルかつエレガントに構文を作ったつもりだったんだけど
検索しても長ったらしいのばかりで

まあ弱い頭ひねって、もうちょい考えてみますわ

324 :nobodyさん:2007/03/09(金) 02:49:42 ID:???
ttp://www.din.or.jp/~ohzaki/perl.htm#Mail

325 :nobodyさん:2007/03/09(金) 02:53:23 ID:czcTDFU5
WEBサーバのアクセスログ集計をしようと思っています。
アクセスされたファイルごとのアクセス数をカウントするだけです。
なので、ログを一行ずつ読んで、アクセスされたファイル名をキーにしたハッシュをカウンタとして使用しようとしました。

$counter=Array();
while(!logeof()) { // ログファイルの最後までループ
 $filename = getlog(); // ログを一行読んで、アクセスされたファイルを返す
 $counter[$filename]++;
}
foreach($counter as $filename=>$count) { // 結果表示
 print "$filename = $count\n";
}

ところがファイルが多く、オンメモリでの処理が厳しくなってきました。
そこで質問なのですが、PHP で簡単に使えるファイルベースのデータベースのようなものは無いでしょうか?
とりあえずハッシュが使えればいいです。
Microsoft Access の MDB みたいな、SQL が使えるやつにも興味があります。
ご存知でしたら教えてください。

326 :nobodyさん:2007/03/09(金) 03:00:53 ID:???
>>325
しってるがタバコすって腹が痛くなったので答えてやる気になれない。

327 :325:2007/03/09(金) 03:04:08 ID:???
>>326
(´・ω・`)ショボーン・・・

328 :nobodyさん:2007/03/09(金) 03:04:15 ID:???
>>325
車輪の再発明せずに公開されてるスクリプト使ったほうが256倍楽だよ

329 :nobodyさん:2007/03/09(金) 03:06:14 ID:???
>>325
XML

330 :nobodyさん:2007/03/09(金) 03:08:26 ID:???
>>325
なんかね、あのね、おらくるみらくるっていうね、でーたべーすがね、いいみたいだよ☆

331 :330:2007/03/09(金) 03:09:57 ID:???
くそっ!最後は「よ☆」じゃなくて「ょっ☆」の方がもっと良かったな

332 :nobodyさん:2007/03/09(金) 03:23:30 ID:???
mysql liteは?

333 :nobodyさん:2007/03/09(金) 03:28:31 ID:???
男は黙ってCSV

334 :nobodyさん:2007/03/09(金) 03:36:12 ID:???
俺なら全部印刷して電卓で集計する

335 :325:2007/03/09(金) 03:38:59 ID:???
あの、ネタスレ化してますか・・・?

でも、>>332 の mysql lite というのと同じかわかりませんが、SQLite というのが使えそうな気がしますので、
これを検討します。
ありがとうございました。

336 :nobodyさん:2007/03/09(金) 03:45:05 ID:???
>>335
まぁ待て。
確かにファイルベースのSQLiteっちゅうのはある。
MySQLぐらい高速らしい。

だがちょっと待ってほしい。
お前はどこでDBを使うつもりだ?

337 :325:2007/03/09(金) 03:52:27 ID:???
>>336
Linux な WEBサーバ上で使おうと思います。
モジュールの追加は比較的自由にできますので、多分導入も問題無いんじゃないかと思います。
ただ、MySQL みたいにサーバを起動するのは面倒なので、避けたいと思いました。

ついでに、やりたかったこと自体は >>325 のようにファイル毎のアクセス数を数えるということだけだったのですが、
SQL も使えるようなのでもうちょっと高級な集計にも手を出してみようかと思います(ファイル毎のリファラの集計など)。

というつもりなのですが、何か問題になりそうでしょうか?

338 :nobodyさん:2007/03/09(金) 03:58:35 ID:???
>>337
あれ?処理速度を早くしたかったわけじゃないのか?

339 :nobodyさん:2007/03/09(金) 03:59:03 ID:???
べつにデータベース使うことのほどでもないじゃん。

340 :325:2007/03/09(金) 04:04:47 ID:???
>>338
はい。ハッシュでファイル毎のカウントを求めようと思ったら、配列のサイズが大きくなりすぎてエラーになるケースが出てきたのです。
ファイルの数だけはとても多いので、ハッシュでやると要素数が多くなるのです。
PHP にメモリリミットを設定していまして、16MB くらいでエラーになります。

>>339
その通りなのですが、DBを使いたいという動機ではなく、オンメモリで処理するのをやめたい、というのが目的です。


341 :nobodyさん:2007/03/09(金) 04:35:46 ID:???
メモリに入れないで処理すればいいじゃん

342 :nobodyさん:2007/03/09(金) 05:05:42 ID:???
DB云々よりも前に、その糞アルゴリズムをどうにかしろ。

そんなに重い処理でもないしメモリを食う処理でもない。
ひとえにお前の実装が糞過ぎるだけ。

343 :nobodyさん:2007/03/09(金) 05:09:51 ID:???
質問ですー。
index.phpにアクセスしたときに_blankで新しいページ(例えばindex2.html)を開くようにすることはできるでしょうか?
index.phpがjavascriptを書き出してウィンドウをオープンさせる手は思いつくのですが
phpの関数だけで新しいページを開かせたいと思っています。
もしかしたら超初心者な質問かもしれないですけれどお願いいたします。

344 :nobodyさん:2007/03/09(金) 05:13:05 ID:???
>>343
HTML(XHTML)の勉強で事足りる。Strictではtarget属性廃止されてるからTransitionalでね。
ツールバーなしorサイズ指定のウィンドウ出したいならjavascriptで。

345 :nobodyさん:2007/03/09(金) 05:22:52 ID:IclYPYCt
質問です。
PHPで
http://pc11.2ch.net/test/read.cgi/php/1173163186
この末尾の1173163186を1づつ増やして、
そのページにアクセスし、そのページに特定の文字列があった場合のみ、
そのアドレスをテキストファイルに書き込んでいく
なんて、スクリプトを書く事は出来ますか?

346 :nobodyさん:2007/03/09(金) 05:24:18 ID:???
yes it could be

347 :nobodyさん:2007/03/09(金) 05:26:10 ID:IclYPYCt
>>346
どうもです。

348 :nobodyさん:2007/03/09(金) 05:36:02 ID:gCb65kda
<?php
mysql_connect("localhost","root","") or die("Error MySQL First Test");
echo "Success MySQL First Test";
?>
↑を表示させようとするとCall to undefined function mysql_connect()がでます。

phpのフォルダにはlibmysql.dllが入っており、パスも通ってます。
また、php_mysql.dllも入っており、php.ini内のextension=php_mysql.dllのコメントもはずしました。
初歩的すぎるところですが、お願いします。

349 :nobodyさん:2007/03/09(金) 05:56:39 ID:???
phpinfo()してチェック

350 :348:2007/03/09(金) 06:27:57 ID:gCb65kda
>>349
レスありがとうございます。
phpinfo()にはmysqlが表示されてないです。

extension_dir も PHPIniDir も正しく、
Configuration File (php.ini) Path も正しくiniが表示されています。

環境を書き忘れてました、申し訳ありません。以下の通りです。
Apache 2.2.4、PHP 5.2.1、MySQL 5.0.27

351 :nobodyさん:2007/03/09(金) 06:37:21 ID:???
あぱっちさいきどうしてない

352 :348:2007/03/09(金) 06:52:09 ID:gCb65kda
>>351
再起動はしまくってます。

と、申し訳ないです、libmysql.dllをC:WINDOWSに入れたらなんか出来ました…
phpインストールフォルダじゃだめなんですね、これ。お騒がせしました。

353 :nobodyさん:2007/03/09(金) 07:06:55 ID:???
>>325
どんだけファイルが多いのか
それともメモリがしょぼいのか
ファイルが100万個あっても余裕だろ

まさかログファイルをいっぺんに読み込んでるとか


354 :nobodyさん:2007/03/09(金) 07:17:25 ID:???
>>352
環境変数パスちゃんと通したのか?

355 :nobodyさん:2007/03/09(金) 07:24:53 ID:lsaQKE2M
質問:変数$hoge1〜$hoge5の値があるものだけ、HTMLのtype="hidden"で出力する処理がうまくいきません。

$hoge1=$_POST['hoge1'];
$hoge2=$_POST['hoge2'];
$hoge3=$_POST['hoge3'];
$hoge4=$_POST['hoge4'];
$hoge5=$_POST['hoge5'];

for($i=1 ; $i<=5 ; $i++){
if(${a."$i"} != ""){
   print<<<EOT
      <INPUT type="hidden" name="hoge$i" value="${hoge"."$i}">
   EOT;
   }
}

name=""の部分をどうすればhoge1からhoge5までで出力できるのでしょうか?


356 :nobodyさん:2007/03/09(金) 07:25:07 ID:???
C:\WINDOWSはデフォルトで通ってるだろ

357 :nobodyさん:2007/03/09(金) 07:27:45 ID:???
まず送信側でname="hoge[]"にすべし

358 :nobodyさん:2007/03/09(金) 07:56:51 ID:yU3jvLcG
URLにhtmlspecialcharsをとおしているのですが、
&ってURLに含まれていますよね?
<a href="$url">htmlspecialchars($url)</a>
だとXSSの危険性があるので、
htmlspecialcharsから&をとりのぞいた関数を作ればいいでしょうか?
それとも他に何かベストな方法がありますでしょうか?

359 :nobodyさん:2007/03/09(金) 08:01:26 ID:???
>>358
htmlspecialcharsではなくurlencodeを使うケースでは。

360 :nobodyさん:2007/03/09(金) 08:14:37 ID:yU3jvLcG
>>359
おー。こんな関数があったのですね。
これを使いたいと思います。
どうもありがとうございました。

361 :nobodyさん:2007/03/09(金) 08:15:44 ID:???
関数云々の前にHTMLの仕様を知ろうよ・・・

362 :325:2007/03/09(金) 10:25:45 ID:???
>>342
単にファイル名ごとのカウントを数えるだけなのですが、それをシンプルに実現するために使えそうなアルゴリズムって
どんなのがあるでしょうか?
>>325 のカウンタは見ての通り、$counter['/index.html'] とか $counter['/images/top.gif'] みたいな配列です。

>>353
集計したいファイル数は10万弱程度なのですが、とりあえずファイル名長が平均約 80文字と仮定して、
要素数100万のハッシュ配列を作成できるか実験してみました。

for($i=0; $i<1000000; $i++) { $counter[sprintf("%080x",$i)]++; print "$i\n"; }

18万個弱で
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 12 bytes) in - on line 1
となりました。
ちなみにログファイル自体は 100万行以上 x 日数分 ありまして、もちろん全部まとめて読むなんてことはしてません。
あ、メモリリミットは 16MB じゃなくて 24MB にしてました。
25165824 ってのは 24MB のことだと思います。


363 :nobodyさん:2007/03/09(金) 10:42:19 ID:???
>>362
そのスクリプト、WinXP PHP4.4.2 設定は標準のまま、で普通に100万までいけちゃったよ。
他でメモリ食うような処理してる?

364 :nobodyさん:2007/03/09(金) 10:43:38 ID:pPHNsntg
すみません、質問です
会員制システムとか作る時に、会員情報を登録するするスクリプトが
あるとして、manage.php?id=0001とかのプログラムファイル+パラメータで
制御するとしたら、manage.php?id= の部分は表示しない方が多少は
セキュリティ高いと思うんですけど、これを表示しない方法とかありますか?
お暇な人回答お願いします。

365 :nobodyさん:2007/03/09(金) 10:44:10 ID:???
>>364
POSTで送信する。

366 :325:2007/03/09(金) 10:47:12 ID:???
>>363
php.ini で memory_limit を指定していないか、configure時に --enable-memory-limit を指定しなかった等で、
メモリリミットをかけていないのだと思いますが、いかがですか?
# ちょっとぐぐった感じでは、Windows版ではメモリリミットの指定ができない、なんて記述も目に入りましたが

PHP に無尽蔵にメモリを使われても問題なので、メモリリミットはあまり拡大したくないという事情もあります


367 :nobodyさん:2007/03/09(金) 10:57:17 ID:pgZH/gt2
フォームから登録したタグなどの"に勝手に¥(エン)が付きます。
サニタイズしていなくて付くのですが、これってサーバ側の問題でしょうか?

368 :nobodyさん:2007/03/09(金) 11:02:31 ID:???
>>367
サーバ側の問題。というか設定。
php.ini の magic_quotes_gpc が有効になっているはず。

369 :nobodyさん:2007/03/09(金) 11:03:36 ID:???
>>368
調べたらそうなっていました。offにしたら表示されました。
ありがとうございました。

370 :nobodyさん:2007/03/09(金) 11:05:26 ID:???
logeof() と getlog() の中身を見ないことにはコメントできないぜ!

371 :nobodyさん:2007/03/09(金) 11:10:26 ID:wPvny8V5
掲示板の作り方を、簡単に説明してくれている書籍があったら教えて下さい。
ファイル3,4くらいのプログラミングでできてるものだとうれしいです。


372 :nobodyさん:2007/03/09(金) 11:32:30 ID:???
>>366
ログの集計ってユーザからリクエストされるたびに毎回リアルタイムでやってんの?
普通は集計結果をファイルなりDBなりに保存する形で、バックグラウンドで処理しとくだろ。
そういったバッチ集計スクリプトではメモリの使用量はあまり制限しないものだ。
Apacheプロセスみたいにいくつも同時に起動してメモリを食いつぶすわけじゃないからな。

373 :nobodyさん:2007/03/09(金) 11:33:52 ID:???
>>371
多分、あなたのいう「簡単」というレベルで掲示板作成を説明した
書籍はないと思う。

http://www.phpweb.jp/lineboard/
なんかのサンプルと、PHPの書籍をにらめっこしながら作るのが
いいだろう。


374 :nobodyさん:2007/03/09(金) 11:38:26 ID:???
>>366
どんな大量の調査対象ファイルが存在するんだ?

>>325 は説明用の簡易スクリプトだとは思うが
1000や2000個くらいなら、なんとかなると思うけど。

375 :374:2007/03/09(金) 11:41:12 ID:???
>>362を読み飛ばしていた
すまん


376 :nobodyさん:2007/03/09(金) 11:46:16 ID:???
調査対象ファイル数が10万近いってのも尋常じゃない気もするが


377 :nobodyさん:2007/03/09(金) 11:57:43 ID:???
サイト上のHTMLと画像が全部で10万って話であって
読み込みログファイルは1日1ファイルのようだが。
レンタルのサービスでもやってりゃ10万くらい普通だわな。
ま、省メモリで処理したいなら普通はmysqlなりのDB使うんでない?
そもそも毎日10万の項目を集計するなら結果の保存先をDBにすべきだろうし。

378 :nobodyさん:2007/03/09(金) 12:05:46 ID:???
>集計したいファイル数は10万弱程度なのですが、
>ログファイル自体は 100万行以上 x 日数分 ありまして

俺ならさっさとPostgreSQLかMySQLにぶちこむ。
てか、そういうサイトでログ集計はファイル数のカウントだけってのはどうなのかという気もするが。

379 :nobodyさん:2007/03/09(金) 12:05:50 ID:???
まあ自力解決できないスキルなら、扱わないほうがいいレベルの事案ってことだな
外部委託でもしろよ

380 :オナニスト ◆MRmxpjiK.2 :2007/03/09(金) 12:26:46 ID:???
川崎に爆弾を落とす発言
犯罪予告

DELL価格情報 その69
http://pc9.2ch.net/test/read.cgi/pc/1173367505/84

84 名前:名無しさん[sage] 投稿日:2007/03/09(金) 11:59:02 0
こないだDELLに20パークーポンくれって頼んだら
「そんなん無理に決まってるでしょ!」って怒られた
仕方なくポチッて次の日HP見たら

30パー+送料無料

になってた
川崎火の海にしてやる

381 :nobodyさん:2007/03/09(金) 12:34:15 ID:???
スレでネタにしてたコピペ改変を他所のスレにまで投下せんでも

382 :nobodyさん:2007/03/09(金) 12:45:29 ID:???
犯罪予告っていっても特定個人団体じゃないし、
警察もそんなんじゃ動かんよ。

383 :nobodyさん:2007/03/09(金) 13:05:31 ID:???
mod rewriteで
http://example.com/hoge?id=12 に来たアクセスを

をpublic_html/PHP/usr/hoge.php?id=12 に送りたいのですがどうしてもできません。
ご教示お願いいたします。

今はこんな感じで書いてます。
RewriteEngine on
RewriteRule hoge\?id=([a-z0-9]+)$ http://example.com/PHP/id/hoge.php?id=$1 [L]

384 :nobodyさん:2007/03/09(金) 13:06:01 ID:???
完全にスレ違いだろぅが。Apacheスレにでもいけや。

385 :nobodyさん:2007/03/09(金) 13:15:07 ID:???
>>383
PHP関係ないw

386 :383:2007/03/09(金) 13:15:56 ID:???
関係あります!
http://example.com/PHP/id/hoge.php?id=$1

387 :nobodyさん:2007/03/09(金) 13:19:05 ID:???
以下スルーでおねがいします。

388 :nobodyさん:2007/03/09(金) 13:19:22 ID:???
関係ないから
それから、質問をしたいならIDを出してね


389 :nobodyさん:2007/03/09(金) 13:23:07 ID:???
>>386
mod_rewriteの問題はPHP関係ないよ

390 :383:2007/03/09(金) 13:41:36 ID:???
分からないからってスルーw
>>387-389
そんな愚痴投稿するくらいなら答え書けばいいじゃん
できないの?

391 :nobodyさん:2007/03/09(金) 13:42:59 ID:???
できないよ。俺、Apacheの専門家じゃねーもん。

392 :nobodyさん:2007/03/09(金) 13:44:03 ID:???
PHPプログラマがmod_rewriteの書き方なんて分かるかよ

393 :nobodyさん:2007/03/09(金) 13:48:16 ID:???
氏ねよ>>383

394 :nobodyさん:2007/03/09(金) 13:49:27 ID:/AfE14nE
CygwinでPHPを使いたいのですが、fat32なのでPHPスクリプトに実行権限が付かずに困っています。
誰か対処方法を御存知ではないでしょうか?

395 :nobodyさん:2007/03/09(金) 13:53:38 ID:???
CygwinでなんでPHPを使うことにこだわるのかおしえてほしいぐらいだ

396 :nobodyさん:2007/03/09(金) 13:58:10 ID:???
>>394
そのPHPってCGIなの?
Apacheモジュールなら別に実行権限は要らないでしょ。

397 :nobodyさん:2007/03/09(金) 14:02:57 ID:SVufrglq
普通にすれ違いでした…
すみません。

最初の書き込み以外は僕ではないです
IDださないですみません。

398 :nobodyさん:2007/03/09(金) 14:13:10 ID:???
>>394
よく覚えてないけど、FATでのCygwinってファイルの先頭が
「#!」で始まってたら全部実行可能にしてなかったっけ?

399 :nobodyさん:2007/03/09(金) 15:31:47 ID:???
>>310
Linuxです。
yumで入れました。

400 :309:2007/03/09(金) 15:34:33 ID:???
yum install php-mbstring
という手順が必要なのですね。
自己解決しそうです。

401 :364:2007/03/09(金) 15:52:53 ID:???
>>365
いやいや
ときどきサイト見てると、URLの末尾が
/?id=00001
みたいになってるのないですか? (見間違いかな)
あれって、そのディレクトリで読むphpが決まってて、パラメータだけ指定してるのかと
思ったんですけど、あれってどうやってるのかなーって。。

402 :nobodyさん:2007/03/09(金) 15:55:39 ID:???
別にセキュリティ高くするためにやってるんじゃないけど

403 :nobodyさん:2007/03/09(金) 15:57:50 ID:???
>>401
それでいいなら、ただ単にindex.phpでパラメータ受け取ってるだけじゃん

404 :nobodyさん:2007/03/09(金) 16:01:04 ID:???
>>401
ApacheでDirectoryIndexをPHPスクリプトに設定しとけば
ファイル名省略されたときにそのスクリプトに渡してくれるよ。
ちなみにこの手のはセキュリティのためでなく、
ユーザの利便性やSEOなどのために用いられる手法。
セキュリティとしては何の意味も無いです。

405 :364:2007/03/09(金) 16:13:22 ID:???
>>402-404
ありがとうございました。
セキュリティには関係ないんですね。勘違いしてました。
サンキューです

406 :nobodyさん:2007/03/09(金) 16:35:20 ID:mLu72eTX
XML文書中のタグの属性をすべて取り除くという処理を書きたいのですが
どんな手段が良いでしょうか?
今考えてるのは正規表現で取り除く事なのですが、試してみてもうまくいきません。
(返値がNULL)
$xmlText=ereg_replace("<tag.*?>","<tag>",$xmlText);
どこが間違っていますか?
この手段でなくても、DomDocumentのメソッド等で簡単にやる方法があれば良いのですが・・・。


407 :406:2007/03/09(金) 16:38:42 ID:???
ereg_replaceを使っていたのですが
mb_ereg_replaceを使ったら出来ました。

408 :nobodyさん:2007/03/09(金) 16:58:47 ID:???
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING
このエッラーてどういう意味ですか?

409 :nobodyさん:2007/03/09(金) 17:11:54 ID:???
アッラーの仲間さ。

410 :nobodyさん:2007/03/09(金) 17:16:03 ID:???
なるほど
ありがとうございました

411 :nobodyさん:2007/03/09(金) 17:56:16 ID:???
ちょっとしたくだらない質問なんですが、
print $i . "<BR>\n";
って書くのと
print "$i<BR>\n";
って書くのどっちがいいんでしょう?

412 :nobodyさん:2007/03/09(金) 17:58:01 ID:???
>>411
前者のほうが間違いが少ない。IDEによっては前者のほうが特に見やすい。

後者なら、
print "{$i}<BR>\n";
にすべき。

413 :nobodyさん:2007/03/09(金) 18:05:19 ID:???
>>411
テンプレート使う

414 :nobodyさん:2007/03/09(金) 18:05:33 ID:???
オッパイカッコは便利すぎ

415 :nobodyさん:2007/03/09(金) 18:07:34 ID:???
>>411
好きにしていいんじゃね

416 :nobodyさん:2007/03/09(金) 18:14:56 ID:???
お前ら性能差も教えろよ

>>411
前者のほうが高速

417 :nobodyさん:2007/03/09(金) 18:17:36 ID:???
試したんかいと問い詰めたい

418 :nobodyさん:2007/03/09(金) 18:44:27 ID:???
>>416
誤差レベルでしかかわんねーぞ

419 :nobodyさん:2007/03/09(金) 19:12:22 ID:???
>>412-418
レスどうもです
今後上に統一します

420 :nobodyさん:2007/03/09(金) 19:14:08 ID:???
ttp://www.sound-uz.jp/php/test/join.html

421 :nobodyさん:2007/03/09(金) 20:33:58 ID:aTAkfZpm
xajaxでの変数の値の保持方法
(静的変数あるいはグローバル変数のような使い方)
を教えて下さい。

関数起動する度にリセットされて使い物にならない('A`)

422 :nobodyさん:2007/03/09(金) 20:41:16 ID:???
DomDocument->createTextNode()
このメソッド、引数に全角文字列を指定すると誤動作しませんか?
falseが返ったり、falseじゃなくても文字化けしていたり。
回避手段を知っている方がいたら教えてほしいです。

423 :422:2007/03/09(金) 20:55:20 ID:???
誤爆です。失礼しました。。。

424 :343:2007/03/09(金) 21:34:28 ID:???
>>344
遅レスになりましたがレスありがとう。

htmlやjavascriptでウィンドウを出す方法はわかるのですが
単純にphpだけで表示する事ができるのかな、と思って質問しました。
(phpでhtmlやjavascriptを書き出す、以外で)

425 :nobodyさん:2007/03/09(金) 21:42:57 ID:???
>>424
もうその釣りには誰も引っかからないよ

426 :nobodyさん:2007/03/09(金) 21:45:10 ID:???
>>421
普通にglobalで保持できると思うけど。

>関数起動する度にリセットされて使い物にならない('A`)
ってことはセッション変数に入れとけばいいじゃんとかそんな話か?

何がしたくて無理なのかわかんない。

427 :nobodyさん:2007/03/09(金) 21:56:32 ID:8A7FFt/1
EUC-JPでスクリプトを書いています。
<form>からPOSTで送っているのですが、なぜか
澄 摺 寸 世 瀬 畝 是 凄 制 勢 姓 征 性 成 政
整 星 晴 棲 栖 正 清 牲 生 盛 精 聖 声 製 西 誠
繊 羨 腺 舛 船 薦 詮 賎 践 選 遷 銭 銑 閃 鮮
前 善 漸 然 全 禅 繕 膳 糎 噌 塑 岨 措 曾 曽 楚

の文字だけがnullになります。 それとEUC-JPなのに表、能が?に化けます。 ソとかは平気です。

EUC-JPではなく、UTF-8に変えると全て解決します。

PHP4.3
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = pass
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
です。

428 :nobodyさん:2007/03/09(金) 22:01:43 ID:???
EUC-JPでスクリプトを書いています。
<form>からPOSTで送っているのですが、なぜか
澄 摺 寸 世 瀬 畝 是 凄 制 勢 姓 征 性 成 政
整 星 晴 棲 栖 正 清 牲 生 盛 精 聖 声 製 西 誠
繊 羨 腺 舛 船 薦 詮 賎 践 選 遷 銭 銑 閃 鮮
前 善 漸 然 全 禅 繕 膳 糎 噌 塑 岨 措 曾 曽 楚

の文字だけがnullになります。 それとEUC-JPなのに表、能が?に化けます。 ソとかは平気です。

EUC-JPではなく、UTF-8に変えると全て解決します。


この部分次回からテンプレ入れようぜ

429 :nobodyさん:2007/03/09(金) 22:02:44 ID:JIMPI+q/
課金システムを使ったアフィリエイトを作りたいのですが
ヒントになるサイトを教えてください

430 :虚弱PHP:2007/03/09(金) 22:02:59 ID:???
>>424
万が一にもないと思うけど、
PHPでWindowsアプリとか、
X アプリとか作りたいわけじゃないよね?

サーバーサイドスクリプトとしてPHP使うなら、
その質問はありえないんだけど。
つまり、どういう仕組みで動いているかの勉強が必要ってこと。

431 :nobodyさん:2007/03/09(金) 22:03:16 ID:???
なんでやねん

432 :nobodyさん:2007/03/09(金) 22:07:13 ID:???
>>429
http://www.php.net/manual/ja/

433 :nobodyさん:2007/03/09(金) 22:13:52 ID:???
海鮮切って4ね>>432

434 :nobodyさん:2007/03/09(金) 22:14:51 ID:???
>>429
いくらかまともなシステム作ったことあるならそんな質問は出ないだろう
碌な経験も無いうちからいきなり課金が発生するサイトは止めろ

435 :424:2007/03/09(金) 22:18:57 ID:???
>>430
レスありがとう。
うすうすそんな気はしてました。
インターネットはクライアント側のリクエストを返すものだから
サーバー側で実行させるCGIとかPHPでは関われないってことですね。

PHPって便利な関数とかいっぱいあるからもしかして・・・、なんて夢見てました。

436 :428:2007/03/09(金) 22:20:34 ID:8A7FFt/1
ID忘れました

437 :nobodyさん:2007/03/09(金) 22:22:11 ID:???
>>429
その質問をしちゃうようなレベルで、そのシステムを作るのは、
無謀&無責任過ぎる。っていうかその知能では無理w

438 :nobodyさん:2007/03/09(金) 22:26:15 ID:???
        ┼─┐─┼─  /  ,.          `゙''‐、_\ | / /
        │  │─┼─ /| _,.イ,,.ィ'    ─────‐‐‐‐ゝ;。←>>429
        │  |  │     |  |  | イン ,'´ ̄`ヘ、   // | \
                          __{_从 ノ}ノ/ / ./  |  \
                    ..__/}ノ  `ノく゚((/  ./   |
        /,  -‐===≡==‐-`つ/ ,.イ  ̄ ̄// ))  /   ;∵|:・.
     _,,,...//〃ー,_/(.      / /ミノ__  /´('´   /   .∴・|∵’
  ,,イ';;^;;;;;;;:::::""""'''''''' ::"〃,,__∠_/ ,∠∠_/゙〈ミ、、
/;;::◎'''::; );_____       @巛 く{ヾミヲ' ゙Y} ゙
≧_ノ  __ノ))三=    _..、'、"^^^     \ !  }'
  ~''''ー< ___、-~\(          ,'  /
      \(                 ,'.. /

439 :429:2007/03/09(金) 22:33:17 ID:JIMPI+q/
DTIの動き観察して
ちょっと考えたら作り方わかりました。
ありがとうございました。
>>434>>437

あおらないでください
>>433

440 :nobodyさん:2007/03/09(金) 22:41:40 ID:???
なら質問すんなタコ

441 :nobodyさん:2007/03/09(金) 22:58:28 ID:???
>ちょっと考えたら作り方わかりました。

まず「先に」、ちょっと考えてから質問しろよ。

442 :nobodyさん:2007/03/09(金) 23:01:26 ID:???
>>411のベンチの計測結果
forで10000回ループした場合。

$i."<br>
1.6349639892578
1.5304729938507
1.5425598621368
1.5483570098877
1.707211971283
1.7406980991364
2.0300641059875
1.7282230854034
1.7270748615265
1.7243540287018

"{$i}<br>"
1.7250878810883
1.7435381412506
1.6110119819641
1.6941339969635
1.7088131904602
1.8066370487213
1.7398798465729
1.7096009254456
1.6707351207733
1.7386131286621

結論:CPUのご機嫌次第

443 :nobodyさん:2007/03/09(金) 23:39:06 ID:???
っていうか、実際の使用ケースにおいて、
それを10000回もループさせる処理なんて無いしw

444 :nobodyさん:2007/03/09(金) 23:44:53 ID:???
>>443
お前みたいなタイプの奴とは一緒に仕事したくない

445 :nobodyさん:2007/03/09(金) 23:44:55 ID:???
は?

446 :nobodyさん:2007/03/09(金) 23:45:40 ID:???
タイプ以前に…ベンチマークも知らない人がプログラマやってるってどういうことよ…

447 :nobodyさん:2007/03/09(金) 23:48:26 ID:???
>>444
お前みたいな無駄な時間ばっかり費やすキモヲタは雇いたくないねw

>>446
バカかお前はw ベンチマークを知ってるかどうかと、無意味なベンチを取るかどうかは無関係だww

448 :nobodyさん:2007/03/09(金) 23:48:56 ID:???
>>442
PHPのverとかテスト用のソースとか書いたほうがいいかも

449 :nobodyさん:2007/03/09(金) 23:50:02 ID:???
>>447
違う違う。
確かに仕事ではこんな処理走らせる事はほぼ無いだろうけど
お前みたいな言い方する奴と一緒にいるとイライラするの

450 :nobodyさん:2007/03/09(金) 23:50:03 ID:???
いくら糞スレだからって少しは自重しろよ

451 :nobodyさん:2007/03/09(金) 23:54:31 ID:???
それでは聴いてください、B'zで「ミエナイチカラ」

452 :nobodyさん:2007/03/10(土) 00:04:05 ID:???
>>449
そもそも、どの言い方が気にいらなかったんだか知らんが、
普通、お前みたいなタイプのほうがみんなイライラするよww

453 :nobodyさん:2007/03/10(土) 00:07:37 ID:???
マジレスするとちゃんと意味のあるベンチだけどなw

454 :nobodyさん:2007/03/10(土) 00:08:14 ID:???
まぁ>>452のレベルはたかが知れてるなw

455 :nobodyさん:2007/03/10(土) 00:11:49 ID:???
>普通、お前みたいなタイプのほうがみんなイライラするよww

す、凄い!何が凄いって自分が平均的な思想の人間だと思い込んでるところ!
そして関係の無い二人以外の人間を巻き込んでるところ!!

もしかして韓国の方ですか?

456 :nobodyさん:2007/03/10(土) 00:25:40 ID:RPfFpUNc
>>426
遅レスになってしまい申し訳ありません。
きっとIDも変わってますが…orz

var $beforeID;
function hoge($nowID){
$objResponse = new xajaxResponse();
grobal $beforeID;
$objResponse->addAssign($beforeID,"innerHTML", $newContent);
$beforeID = $nowID;
$objResponse->addAssign($nowID,"innerHTML", $newContent);
return $objResponse;
}

要はこう言う事をやりたいのですが、$beforeIDの値がリセットされるのです。
// global周りは適当に書いたのでおかしい所があるかもしれないのですがこんなニュアンスで

457 :nobodyさん:2007/03/10(土) 00:45:48 ID:???
>>455
最後の一行で糞味噌だと思いました

458 :nobodyさん:2007/03/10(土) 00:56:27 ID:???
>>456
その関数を
<button onclick="xajax_hoge(0)" >hoge</button>
見たいに使うんなら、そらー無理でしょう。
毎回スクリプトにpostするわけだから。

セッション変数に入れるか、パラメータ代入と引数で引き継いでいくかじゃない?

459 :nobodyさん:2007/03/10(土) 02:57:40 ID:???
>>453
実用的に見て全く意味なんかねぇよボケwww
どうしてそうキモヲタってのは、くだらねぇベンチ取って大喜びするんだw

そんなことよりも、もっとソース全体のアルゴリズムの見直しとか
セキュリティのチェックとかに時間を遣えよバカどもww

460 :nobodyさん:2007/03/10(土) 03:37:12 ID:???
大差ないという結果が出たんだから意味あるよ。

461 :nobodyさん:2007/03/10(土) 03:38:52 ID:???
しかも、何故他はないがしろにしてるという結論に固執するのか

462 :nobodyさん:2007/03/10(土) 03:53:20 ID:???
↓3行目の論理式を押してください。


1  $url = "http://www.2ch.net/"
2  
3  if(****************) ←【$url】がNot Found(存在しない)だったら
4  {
5  echo "urlが存在しません。" ;
6  }
7  else {
8  include($url);
9  }

463 :nobodyさん:2007/03/10(土) 03:54:16 ID:???
押?

464 :nobodyさん:2007/03/10(土) 03:56:17 ID:???
if($url=='Not Found')

465 :462:2007/03/10(土) 03:57:24 ID:???
      ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < >>464 んなーこたーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |

466 :nobodyさん:2007/03/10(土) 04:38:32 ID:L0CVYQw+
preg系の関数はデリミタ(/)ではさまないとだめになってますよね?
この前他人のソースを眺めていたら、
デリミタに#をつかっていたのですが、
最後閉じるときに、#smと書かれていました。
これはどういう意味なのでしょうか?

467 :nobodyさん:2007/03/10(土) 04:41:19 ID:???
>>465
ファイル関連の関数のとこ見れば分かるよ

468 :nobodyさん:2007/03/10(土) 04:43:41 ID:???
>>466
preg系の関数のデリミタについて見るといいよ

469 :nobodyさん:2007/03/10(土) 05:06:36 ID:L0CVYQw+
>>467-468
パターン修飾子というんですね。
正直書いてある意味がわかりませんが、
理解できるように勉強してきます。

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

470 :nobodyさん:2007/03/10(土) 05:59:18 ID:???
>>462
押したら液晶ディスプレイが滲みました。

正解ですか?

471 :nobodyさん:2007/03/10(土) 06:41:40 ID:???
くだらないかもしれませんが、教えてください。
フレームワークのMapleってどうなったんですか?

472 :nobodyさん:2007/03/10(土) 06:46:10 ID:???
自然淘汰

473 :nobodyさん:2007/03/10(土) 07:27:04 ID:???
>>462
$header_list = @get_headers($url);
if (!isset($header_list[0]) or strpos($header_list[0], "404") !== false)

474 :nobodyさん:2007/03/10(土) 10:14:10 ID:???
質問です。
みなさん、ファイルを読むときに、fopenとか使ってファイルポインタを操作してますか?
私はtouchとかfileとかfile_put_contentsとか手軽な関数があるのでそれですましがちです。
こういうケースはファイルポインタじゃないとできないよ、とかありますか?

475 :nobodyさん:2007/03/10(土) 10:46:14 ID:???
>>474
バイナリファイル

476 :nobodyさん:2007/03/10(土) 10:49:55 ID:F5cNKsq/
>>474
flockが必要な場合

477 :nobodyさん:2007/03/10(土) 10:50:10 ID:???
>>474
flockしたいとき

478 :nobodyさん:2007/03/10(土) 10:51:59 ID:F5cNKsq/
同一のファイルでなきゃいけない場合

fileしてからfile_put_contentsだと同じファイルかどうか分からないからな

479 :nobodyさん:2007/03/10(土) 12:20:36 ID:???
変な質問してすみませんが、
仮にスクリプトにXSSの脆弱性があっても、
それがログなどに保存されない場合は問題ないですよね?

たとえば、
<?php
echo $_GET['hoge'];
?>
とかの場合、XSSの被害を受けるのは仕込もうとした本人だけですよね?

480 :nobodyさん:2007/03/10(土) 12:35:40 ID:???
>>479
保存しないってことは
誰かが書いたものを他の誰かに一切見せないってことだからまあ安全だな

481 :nobodyさん:2007/03/10(土) 12:59:38 ID:???
>>479
$_GET[ ]をそのまま表示するだけなら
fopen($_GET[ ], "r")とかするやつはいないだろうけど

482 :nobodyさん:2007/03/10(土) 13:05:20 ID:???
>>479
他のスクリプトでCookieとか発行してると危険

483 :474:2007/03/10(土) 13:49:14 ID:???
>>475-479
レスサンクス
たしかにファイル読んでチェック&上書きとかならロックしなくちゃいけかったですね。
参考になりました。

484 :nobodyさん:2007/03/10(土) 13:59:55 ID:???
偏差値の計算てどうやるんすか?

485 :nobodyさん:2007/03/10(土) 14:14:03 ID:???
>>484
計算式載ってた
ttp://ja.wikipedia.org/wiki/%E5%81%8F%E5%B7%AE%E5%80%A4

486 :nobodyさん:2007/03/10(土) 14:34:49 ID:???
>>485
それ、町の図書館にあった「数学の本」に書いてあったので
この前やってみたぜ。

電卓なしで平方根の計算をするのは大変だったが
Googleが助けてくれたぜよ!

487 :nobodyさん:2007/03/10(土) 15:33:15 ID:???
php使えよ

488 :nobodyさん:2007/03/10(土) 17:03:36 ID:???
最近PHPを始めたんですが・・・。エラーについて分からず困ってます。
プログラムに間違いがあるときブラウザにメッセージが出るけど、
それの種類をphp.iniで設定できますよね? でもその書き方が分かり
ません。

E_ALL | ~E_NOTICE

とか書かれててワケ分かりません。

489 :軟式PHP:2007/03/10(土) 17:09:36 ID:???
>>488
結局のところ論理演算だよ。 and、or、xorとか。
10進数…2進数
1…00000001
2…00000010
4…00000100
8…00001000
16…00010000
みたいに被らないような数値をフラグとして使ってるだけ。
E_ALL ^ E_NOTICEとかだと
内部的にはxorしてフラグを0にしてるだけという単純な仕組み。
と、言ってて俺の説明下手さにorzしてきたわ。


490 :軟式PHP:2007/03/10(土) 17:24:31 ID:???
↑の説明プラス
http://www.php.net/manual/ja/function.error-reporting.php
ここを見たら分かるかもしれん。ビット演算とかそのへん分かってないとキツイかも。

491 :488:2007/03/10(土) 17:25:40 ID:???
>>489
論理演算?ビット演算?
いい加減にして下さい。
ワケわかりません。

492 :nobodyさん:2007/03/10(土) 17:45:30 ID:???
|ω^)

493 :nobodyさん:2007/03/10(土) 17:55:11 ID:4M3pGGUH
php製の掲示板が荒らされます。
外部から書き込みしているのかなぜかホスト規制が効きません。
urlを投稿してくるので、httpを禁止ワードにしたいのですが、
どうすればいいのでしょうか?

494 :nobodyさん:2007/03/10(土) 18:11:44 ID:???
>>493
そういうレベルじゃまず無理だから諦めろ

495 :nobodyさん:2007/03/10(土) 18:27:48 ID:???
無理ではない!
一ヶ月みっちり基礎から覚えれば・・

496 :488:2007/03/10(土) 18:27:51 ID:t1clCHJS
>>489
>>490

偽者が失礼なことを言ってますが、理解できそうです。
ありがとうございました。

497 :nobodyさん:2007/03/10(土) 20:49:47 ID:uq04XWP+
PHPやるまえにコーヒー飲んだほうがいいですか?

498 :nobodyさん:2007/03/10(土) 21:03:03 ID:???
いや、紅茶にしてください。

499 :nobodyさん:2007/03/10(土) 22:39:16 ID:???
>>495
http://pc11.2ch.net/test/read.cgi/php/1167984858/

500 :nobodyさん:2007/03/10(土) 23:46:11 ID:VGePLioS
最大で10000バイトぐらいあるかも知れない文字列$strをunpackして、
ループで最後までまわして、packでバッファに入れてファイルに書き出す処理を4回やるとき、
ループを4回まわして個別に処理するのと、
ループは1回でその中で並列処理してバッファに入れるのと、
どっちがいいかな?

日本語分かり難くてスマソ
具体的には掲示板のログ処理で携帯3キャリアとPCの絵文字を相互変換した
表示用キャッシュファイルを作る作業です
上のは1記事分で実際は5記事分処理をします

501 :nobodyさん:2007/03/11(日) 00:03:11 ID:???
>>500
1回ループで並列処理がいいと思うよ。
絵文字じゃない文字まで4回読むことになるからね。

502 :501:2007/03/11(日) 00:05:47 ID:???
>>500
参考までに聞きたいけど
絵文字変換モジュールは自作したのを使ってる?
それとも何か違うものを使ってるなら参考までに教えてほしい。

503 :nobodyさん:2007/03/11(日) 00:06:28 ID:???
>>500
俺はPHP等の「Webプログラム」しかやったコト無いから
バイナリ文字列に変換するとかちょっと深い部分はよく分
からないけど、両方そんなに変わらないんじゃないか?

並列処理するにも結局CPUパワーを分けるわけだから
そんなにメリットが無い気がする。
なら個別処理のほうがソースがスッキリしそうかな?



504 :500:2007/03/11(日) 00:25:33 ID:y0VmsJS4
>>500-501
参考にしたのはttp://www.sound-uz.jp/php/tips/mobile.html
のサイトと、今は潰れたサイトから入手したスクリプトと、
ちょっと前の深夜にこのスレの前スレかな?うpした人のスクリプトです
俺は自分なりにアレンジを加えて、3キャリアとも>>500のようにして、
一つ一つマッチするのを見ていくのにしてます

>>503
個別処理だとアホのようにループいっぱい回すはめになります
スッキリなら並列処理で1回ループの方ですね
メモリ節約も気になったけど、俺はソーススッキリ方式にしてみます

505 :500:2007/03/11(日) 00:33:05 ID:y0VmsJS4
アンカーミススマソ
実は絵文字変換は4年ほど前に一応作ってあって、
そのときはauの動く絵文字が手に入らなくそのままになってた

んで1年ほど前に偶然動く絵文字画像(PC用gifファイル)を
手に入れて、今度こそは完成させようとしたけど、
自分で書いた処理がワケワカメで嫌になって放置

そしてこの度やっと完成しそうな予感
でも相互変換テーブルがまだ蜜柑orz

506 :nobodyさん:2007/03/11(日) 01:29:14 ID:???
お?auって絵文字動くんだ?

そういや携帯もう2年も変えてないな・・・

>>500
スマン、並列処理ってどういう感じに書いてるの?
よければソース見せてくれ・・・

507 :501:2007/03/11(日) 01:32:24 ID:???
>>ちょっと前の深夜にこのスレの前スレかな?うpした人のスクリプトです
俺がうpった奴だよそれw

508 :nobodyさん:2007/03/11(日) 01:32:45 ID:???
PHPで並列処理が出来ると聞いて飛んできmst

509 :501:2007/03/11(日) 01:52:40 ID:???
>>500
よかったら各キャリアのアニメGIF画像うpって頂けたら有難い

510 :500:2007/03/11(日) 02:15:28 ID:???
>>506
>>508
最近やっとオブジェクト指向かじり始めた、見た目指向の日曜プログラマなので
並列処理は謎ということでorz

>>507
家宝にしますw

>>509
プチパレっていう配布サイトのスクリプトに付属してるやつです
(個人サイトっぽいのでURLは略、ググルとでてきます)

511 :nobodyさん:2007/03/11(日) 02:38:26 ID:???
質問です。
ファイルポインタを取得してロックのことなんですが
$FP=fopen("./hage.txt","r+");
flock($FP,LOCK_EX);
↑よりも↓にしたほうが
flock($FP=fopen("./hage.txt","r+"),LOCK_EX);
ファイルポインタを取得してからロックをかけるまでにタイムラグがないので良いのでしょうか?
前者だと1行目と2行目の間に他からファイルポインタを2重に取られるような気がします。

512 :nobodyさん:2007/03/11(日) 05:54:43 ID:gT3meA5q
もし$toukouにhttpが含まれていたらエラーにしたいのですが、
「含まれていたら」のプログラムが分かりません。
if($toukou○○http) error("エラーです");

○○になにかいれるんだと思いますが、どうすればいいんでしょうか?

513 :nobodyさん:2007/03/11(日) 06:46:47 ID:???
ヒント:strpos

514 :nobodyさん:2007/03/11(日) 06:47:16 ID:???
マニュアルの文字列関数のところを見るべし

515 :nobodyさん:2007/03/11(日) 06:50:35 ID:???
WIN/apache2 /php5でEUCのソースを書いています

半角英数字のみの文字列をUTF-8に変換してファイル書き込みを行いたいのですが
どうあがいてもSJISのファイルになっていまいます。
例えば1文字でも日本語文字が含まれているとUTF-8のファイルになるのですが・・

utf8_encode($str); とか mb_convert_encoding($str, "UTF-8", "auto");
でも無理でした。一体どうすればいいのでしょうか?

516 :nobodyさん:2007/03/11(日) 06:58:41 ID:???
>515
内部エンコーディングを一時的にUTF-8にすればいんじゃまいか

mb_language('ja');
mb_internal_encoding('UTF-8');
ob_start("mb_output_handler");

こんな感じで。
でファイル書き込んだら元に戻す、みたいな。
(動作未確認)

517 :nobodyさん:2007/03/11(日) 07:08:50 ID:???
こっちも似たようなことで困ってるよ。

Debian + Apache2 + PHP5 で
UTF-8のスクリプトをoutput_handler使って
SJISに自動変換して表示させてるんだけど、
ファイルをアップロードしたときに、なぜかファイル中の
半角「\」が全角の「¥」に自動変換される。

Apache + PHP4 のサーバーだと起こらないから
バグか相性の問題かだと思うけど、なんか腑に落ちない。



518 :nobodyさん:2007/03/11(日) 07:23:35 ID:???
>>516
即レスどうも。残念ながらうまくいきませんでした。
諦めてメモ帳なり開いて上書き保存しますw

519 :nobodyさん:2007/03/11(日) 09:40:14 ID:???
>>515
変換後にmb_detect_encodingしてみな。
ASCIIなのにエディタが「SJIS」と表示しただけだろ。

520 :nobodyさん:2007/03/11(日) 09:52:52 ID:???
映画『南京の真実』ってのが製作されるらしいね。知らなかった。
俺も寄付したいけど1口1万円はちょっと厳しいな。
せいぜい3000円くらいなら出せるけど、それじゃDVDもらえないかな?
http://www.nankinnoshinjitsu.com/
http://youtube.com/watch?v=x7aBGloec0U

(※我が日本人の手でこの情報を広く伝えよう!)

521 :nobodyさん:2007/03/11(日) 10:41:42 ID:???
支那によって捏造された南京事件に何を今更

522 :nobodyさん:2007/03/11(日) 10:47:20 ID:???
おいこら、>>479の回答者

ttp://example.com/?hoge=%82%BF%82%F1%82%B1
ってリンクを掲示板とかに張られたら不特定多数に害が及ぶだろうがボケ
PC無害、ょぅι゛ょ有害

523 :nobodyさん:2007/03/11(日) 11:01:42 ID:???
>>519
どうも。echoしてもASCIIになってしまいます。もしかして凄い勘違いしてるのかもしれないのですが

$str='aaa';
$str=mb_convert_encoding($str, "UTF-8","◆");
echo mb_detect_encoding($str);

で◆はauto,ASCII,EUC-JPいずれもダメでした
出力されたファイルをメモ帳で名前をつけて保存>UTF-8後に
使用しているエディタで開くとUTF-8になってるのでエディタの問題ではなさそうです

default_charset = "EUC-JP" / mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP / mbstring.http_input = auto
mbstring.http_output = EUC-JP / mbstring.encoding_translation = On
mbstring.detect_order = auto
こんな環境です。

524 :523:2007/03/11(日) 11:09:22 ID:???
BOMでした。
超基本的なミスでした。しかもPHPに無関係でした。失礼しました。

525 :nobodyさん:2007/03/11(日) 11:28:11 ID:???
>>511

>>1

526 :nobodyさん:2007/03/11(日) 11:35:08 ID:???
>>511
変数を全部大文字にするのは気持ち悪いぞ。

527 :511:2007/03/11(日) 11:37:37 ID:???
いやいや、それは私の自由ですから。質問の件よろしくおねがいいたします。

528 :nobodyさん:2007/03/11(日) 11:41:02 ID:???
>>511
文単位だったら他のプロセスに割り込まれないなんていう保証はないので、どっちでもいっしょ。
というかその例なら割り込まれても問題はない。
flockを先に呼び出したプロセスがアクセスを獲得して、後から来たほうはflockのところでブロックされるだけの話だから。

529 :522:2007/03/11(日) 11:41:03 ID:???
>>527
まあお前の言ってることは間違ってないw
でもそういう時はスルーしとけ

530 :526:2007/03/11(日) 11:44:40 ID:???
>>511
$FP=fopen("./hage.txt","r+"); flock($FP,LOCK_EX);
flock($FP=fopen("./hage.txt","r+"),LOCK_EX);
視覚的に違うだけで、結局どっちもfopen()->flock()の順番で呼び出してる
のに変わりはないからタイムラグがないというのも単なる思い込み。


531 :nobodyさん:2007/03/11(日) 11:47:35 ID:???
>>でもそういう時はスルーしとけ
というレスもスルーしとけ

以下ループに期待


532 :nobodyさん:2007/03/11(日) 12:44:28 ID:qDb0K5v3
くだらない質問で申し訳ないのですが、
urlencodeしたら、空白が+になるのですが、
%20に置き換えして問題ないでしょうか?

533 :nobodyさん:2007/03/11(日) 12:46:20 ID:???
ID出さない質問なのに、みんな親切だなぁ。

534 :nobodyさん:2007/03/11(日) 12:53:35 ID:???
>>524
ん?PHPじゃ無理なの?
ググったけどどこにも具体的に作成する方法載ってなかったよ。
誰も知らないだけ?

535 :nobodyさん:2007/03/11(日) 13:16:47 ID:???
>>532
ほとんどの場合問題ない。
mailto:では問題になることもあるみたい。

536 :nobodyさん:2007/03/11(日) 13:28:25 ID:qDb0K5v3
>>535
どうもありがとうございます。
mailtoでは使わないので、置き換えたいとおもいます。

537 :nobodyさん:2007/03/11(日) 13:43:16 ID:NCbGkHMP
文章の差分を求めるライブラリってありませんか?
用途としては、差分だけを保存していきたいのですが、そんな便利なライブラリってありませんかね?

538 :nobodyさん:2007/03/11(日) 14:01:08 ID:Nl0cnT1e
file関数を使って

hoge foo
hogehgoe foobar
.  .
.  .   

って感じのファイルを読み込んだんだけど
要素の後ろに空白が入ってしまうのが気になります。
どうすればいいんでしょう?

539 :nobodyさん:2007/03/11(日) 14:20:30 ID:???
>>538
http://jp2.php.net/file

540 :nobodyさん:2007/03/11(日) 14:43:50 ID:???
>>537
phpじゃないけど、diffのこと?

541 :nobodyさん:2007/03/11(日) 14:56:55 ID:???
>>538
空白じゃなく改行コードでしょう。
不要ならrtrim()で除去。

542 :nobodyさん:2007/03/11(日) 18:58:59 ID:???
>>534
UTF-8にBOM付けたいってか?echoすりゃいいだろ。
その前にUTF-8がどういう文字コードかぐらい知っといたほうがいいよ。
つかこの話題デジャヴュ過ぎるんだって。

543 :511:2007/03/11(日) 21:12:03 ID:c+92i5++
ID表示し忘れていました・・・。
それでも質問に答えてくれてありがとう。
代わりに返事してくれていた人もありがとう。
同じ流れのプロセスなら割り込まれても弾かれますね。。。その通りでした。

かわりにちょっと調べてみたことを。
flockも完璧じゃないらしく、ダミーのファイルを用意したり(ttp://www.res-system.com/item/359)
自分でロック関数を作ったり(ttp://www.sakura-pc.jp/php/02060000.shtml)いろいろあるみたいですね。
後者だと、ファイルポインタいらずでfileやfile_put_contentsで操作できるので楽ですね。

544 :nobodyさん:2007/03/11(日) 21:28:04 ID:wFi+PsRq
みなさん、遠隔地にあるマシン(レンタル専鯖など)のバックアップってどうしてますか?
たとえばDBのデータ。

パッと思いつく手法は、PHPスクリプトをcronで動かして、mysqlのdumpを取る。
ここまではいいんですけど、このままじゃ同じマシン上にバックアップがあるからあまり意味がない。
そこでこのバックアップをどうやって他のマシン(他のレン鯖や自宅のクライアント等)に移すべきか?
バックアップ移動先のマシンでcronでssh接続して取りに行く・・・とか出来るんでしょうか?
やり方が思いつかない。。。orz

545 :nobodyさん:2007/03/11(日) 21:43:17 ID:QdoSkh/q
変数をまとめて宣言したいのですが、
$a=0 , $b=1 , $c=2 ;
という書き方は無しですか?

546 :nobodyさん:2007/03/11(日) 21:51:29 ID:???
PHPに文字通りの「宣言」はないけれど・・・
list($a, $b, $c) = array(0, 1, 2);

547 :nobodyさん:2007/03/11(日) 21:54:44 ID:???
>>544
シェルスクリプト+cronでsftpとかscpとか。PHPを使う必要はない。

548 :nobodyさん:2007/03/11(日) 22:00:42 ID:QdoSkh/q
>>546
なるほど、勉強になりました。

549 :nobodyさん:2007/03/11(日) 22:38:30 ID:???
>>545
普通に
$a = 0; $b = 1; $c = 2;
でいいじゃん。

550 :nobodyさん:2007/03/11(日) 23:00:48 ID:???
>>514
ありがとうございました。できました。

551 :nobodyさん:2007/03/11(日) 23:14:44 ID:c+92i5++
質問ですー。
文字列の"001"を"002"、"003"・・・"010"、"011"・・・"101"、"102"・・・と数値部分を++しつつ3桁固定で出力したいのですが
何か良い方法ありますでしょうか?
PHP5を使っています。

552 :nobodyさん:2007/03/11(日) 23:17:30 ID:???
>>551
for($i = 1; $i <= 102; $i ++) echo sprintf("%03d", $i);

553 :nobodyさん:2007/03/11(日) 23:18:03 ID:???
sprintf

554 :nobodyさん:2007/03/11(日) 23:22:54 ID:c+92i5++
>>552-553
即レスサンクスです。
なるほどフォーマット識別子を使えばよいのですね。

555 :nobodyさん:2007/03/11(日) 23:34:19 ID:???
蛇足だけど、echo sprintf は printf だけでもおk

556 :nobodyさん:2007/03/12(月) 00:16:43 ID:???
>544

dbダンプして、他のレンタル鯖にftpで
アップロードしてその結果をmailする
シェルを書いてcronで動かしてる

557 :nobodyさん:2007/03/12(月) 00:18:56 ID:???
機密情報もftpやmailでスッパスパっすかwwwwwww

558 :nobodyさん:2007/03/12(月) 00:22:06 ID:???
暗号化とIPアドレス制限した上でだろ

559 :nobodyさん:2007/03/12(月) 00:37:03 ID:???
php 4.4.5か4.4.6になってから、FreeBSD 4.11上でのconfigureができなく
なって困っています。(成功すればApache 2.0系と組で使うつもりです。)

php-4.4.6のソースを展開してシェル上で「./configure」と打つと、
checking for egrep... grep -E
checking for a sed that does not truncate output... /usr/bin/sed
expr: syntax error
test: =: unexpected operator
というエラーが(1個)出ます。ここで異常終了はせず、最後まで動作は
するのですが、正常に設定されたか信頼しがたいです。解決策を
ご存知の方はお教えください。

エラーが1個だけなら手で直してもいいのですが、必要なオプションを
./configureに指定していくと、上記エラーが大量に出るようになります。

現在php 4.4.4を正常に運用中ですが、このバージョンでは./configureで
上記のようなエラーは出ません。


560 :559:2007/03/12(月) 00:40:06 ID:0GAJDCOZ
すみません、ID表示しそこねたようです。これでIDつくでしょうか。

561 :544:2007/03/12(月) 00:41:27 ID:C8b3Iw+z
>>547
scpやsftpといえば、Winマシン←→Linuxマシンの間を「WinSCP」を使って手動操作でつないだことしかないのですが、
シェルからもscpやsftpで他のマシンに接続する方法があるのですか!?

>>556
そのシェルスクリプトは、「バックアップ元」のサーバにて動かすように読めますが、そうでしょうか?
つまり「sftpなどで送る」というイメージですよね?
私が考えていたのは、「バックアップ先」のサーバから、「sftpなどで取りに行く」というのをイメージしていたのですが、
どちらがより良い手法なんでしょうね・・・??(あるいはどちらかしか実現不可能?)

562 :nobodyさん:2007/03/12(月) 00:48:54 ID:???
>>561
取りに行く方式だとダンプと転送をそれぞれ
別のスクリプトでやんないといけないから面倒。
ダンプ→転送まで一発でできるならその方が楽。

でも、差なんてその程度しかないから好みや
サーバー環境などに合わせてどっちでも。

563 :nobodyさん:2007/03/12(月) 00:54:24 ID:???
>>561
>シェルからもscpやsftpで他のマシンに接続する方法があるのですか!?
シェルスクリプトからscpコマンド実行するだけ。ググるべし。

送るか、取りにいくかはどっちでもよい。
お互いにサーバの生存確認したほうがよい。

564 :nobodyさん:2007/03/12(月) 01:02:44 ID:???
winscpの糞さは異常

565 :nobodyさん:2007/03/12(月) 01:05:31 ID:???
つーかPHPと関係ない質問な気がするけど、正直そんなバックアップ方法があったのか!orz

>>563
「シェル ssh バックアップ」でググったけど、具体的な手順がイマイチ不明orz
良い解説ページとかあったら教えてプリーズ

566 :nobodyさん:2007/03/12(月) 01:06:09 ID:???
>>564
なんでやねん。
winscp超便利じゃん。

567 :nobodyさん:2007/03/12(月) 01:17:02 ID:???
>>565
「シェルスクリプト scp」でググれば
ttp://sonic64.com/2004-11-17.html とか
ttp://www-06.ibm.com/jp/developerworks/linux/040723/j_l-backup.html とか
出てくるじゃない。これでいいんじゃね?

それともmysqldumpからして分からんって話?

568 :nobodyさん:2007/03/12(月) 01:18:11 ID:???
って「シェル ssh バックアップ」でも同じの検索できてるな。
これ読んで分からんのか…

569 :nobodyさん:2007/03/12(月) 02:12:46 ID:???
ごめん、シェルとかド素人なもので・・・

570 :nobodyさん:2007/03/12(月) 02:41:47 ID:???
最近PHPをはじめた者です。

mysqlにうまく接続できません。
(phpinfoでmysqlの項目が見つからない)

環境
PHP Version 5.2.1
Apache/2.2.4
mysql-5.0.37

やったこと
・php.ini ;extension=php_mysql.dllの";"をはずした
・php.ini extension_dir = "c:\php\ext"に設定した。
・libmysql.dllを、C:\WINDOWS\system32 フォルダにコピーした

誰か詳しい人いたら教えてください。


571 :nobodyさん:2007/03/12(月) 03:02:03 ID:???
>>570
これはやった?
・php.ini を C:\WINDOWS におく
・Apache を 再起動する

572 :nobodyさん:2007/03/12(月) 03:02:09 ID:???
なんだろね。Apache再起動は?

573 :nobodyさん:2007/03/12(月) 03:10:22 ID:???
バックアップの話が出てたので便乗させてほしいのですが、
手元にあるWinXPマシンでリモート鯖からのバックアップを毎日受け取りたい場合、
作業を自動化できますでしょうか?
(XPでコマンドライン的(?)にSSHを使えるソフト等が存在するのでしょうか?)

574 :nobodyさん:2007/03/12(月) 03:18:09 ID:???
色々やりたいんならlinux鯖を一つ立ててhttpとメールぐらい運用してみる事をオススメする。

575 :nobodyさん:2007/03/12(月) 03:18:41 ID:???
>>573
あ〜、どうだろうね?
もちろんWinマシンはIP固定でバックアップを受け取る時間帯
は起動してる前提だよね?
あとルータを噛ましたりしてるだろうからポートの開放とかもちゃん
と設定した前提だと・・・
サーバ側で設定したSSHポートからアクセスがあった場合、ファイルを
受け取ってどっかに保存って処理でいいんじゃない?
そうなるとPHPでソケットサーバをWinマシンで立ててあげれば大丈夫
だと思う。

576 :nobodyさん:2007/03/12(月) 03:46:21 ID:???
>>570

>>499

577 :570:2007/03/12(月) 03:46:26 ID:???
>>571,572
やりました。

もうXAMPPを使って再インストールしたほうがいいかもしれないですね。

578 :nobodyさん:2007/03/12(月) 03:48:47 ID:???
>>570

http://pc11.2ch.net/test/read.cgi/php/1079460638/603

579 :570:2007/03/12(月) 03:51:56 ID:???
>>576
mysqlの環境設定について書いていませんね。


580 :570:2007/03/12(月) 03:58:58 ID:dTL00gbv
すいません、IDだします。
>>579は偽者です。
>>571さんのやりかたでうまくできました。
問題は設定ファイルを修正して、再起動しなくちゃならなかったんですね。
でも、この再起動を自動化できないでしょうか?

581 :570:2007/03/12(月) 04:13:09 ID:???
>>578 = 580
相手にしてほしかったんですか?氏ねよニート^^

俺は会社があるのにも関わらず寝ずに勉強してんだよ。

582 :nobodyさん:2007/03/12(月) 04:25:58 ID:???
残業や徹夜を自慢する負け組みリーマン乙

583 :573:2007/03/12(月) 07:27:56 ID:???
>>574
自宅なので24時間稼動のサーバは音などの問題でなかなか・・・orz

>>575
思ったより面倒な作業が必要みたいですね…
うーん、バックアップ専用に一つVPSでも借りたほうが早いかな?? 月2〜3千円くらいの…

584 :nobodyさん:2007/03/12(月) 08:09:34 ID:???
>>583
ノートPC用のプロセッサを使った静音マシンがぷらっとほーむにいくつかあるよ。
あとMac miniなんてのもあるし、そういうのだとしずかでいいと思う。

585 :nobodyさん:2007/03/12(月) 08:47:09 ID:???
マシン代・電気代その他もろもろを考えると、
自宅鯖より借りたほうがかえって安いし便利かも。

586 :nobodyさん:2007/03/12(月) 10:19:05 ID:???
>>580
設定ファイル更新→再起動、はUNIX系では基本中の基本操作だからなぁ…
できないことはないけど手間考えたら手動で再起動させた方がよほど早いかと。
やるとしたら
・保存時に再起動ダイアログを出すようなエディタを自作する
・5分おきとか定期的にファイルの更新時刻をチェックするツールを作って常駐させる
みたいな感じになると思う。

587 :nobodyさん:2007/03/12(月) 10:32:33 ID:???
さっきスタティックメソッドの中からコンストラクタを呼び出したら
winapacheが自動で再起動っぽくなった

588 :nobodyさん:2007/03/12(月) 10:43:19 ID:???
自動っていわねぇw

589 :422:2007/03/12(月) 12:59:39 ID:???
>>422が分かる方いませんか?
>>423は私ではありません

590 :422:2007/03/12(月) 13:02:24 ID:???
誤爆です。失礼しました。。。

591 :nobodyさん:2007/03/12(月) 13:16:34 ID:???
>>589

>>578

592 :422:2007/03/12(月) 13:20:44 ID:uytHlEDD
失礼しました。

593 :nobodyさん:2007/03/12(月) 13:25:51 ID:???
手遅れ。

594 :nobodyさん:2007/03/12(月) 14:40:52 ID:???
変数無いのタブを削除できる関数ってありますか?

595 :nobodyさん:2007/03/12(月) 14:48:29 ID:???
>>594
strip_tags( )

596 :594:2007/03/12(月) 14:50:11 ID:???
タグじゃなくてタブか
str_replace("\t", "", $value);
かな

597 :nobodyさん:2007/03/12(月) 15:13:41 ID:???
何度も同じ質問してもログが無駄だからそろそろwiki作んない?

598 :nobodyさん:2007/03/12(月) 15:15:24 ID:???
言いだしっぺの法則よろ

599 :nobodyさん:2007/03/12(月) 15:20:49 ID:???
>>597
よし!任せた!

600 :597:2007/03/12(月) 15:30:12 ID:???
つ、つくってみました!
http://www29.atwiki.jp/basic_php

601 :nobodyさん:2007/03/12(月) 15:30:51 ID:???
Wikiってはやりなの?
どうせ誰も参加せずに自然消滅するのがオチ……。

602 :597:2007/03/12(月) 15:43:23 ID:???
おれができるのはここまでだ。
あとは勝手に更新するなりしてくれ。

603 :nobodyさん:2007/03/12(月) 16:51:57 ID:???
>>600
広告多くて醜い却下

604 :nobodyさん:2007/03/12(月) 16:52:45 ID:???
検索で引っかかったときにうざいからとっとと削除しろ

605 :nobodyさん:2007/03/12(月) 16:56:47 ID:???
広告ウゼエエエエエ!
die die die exit!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>>600 FATAL ERROR !!!!!!

606 :nobodyさん:2007/03/12(月) 17:00:53 ID:???
-おれができるのはここまでだ。
-あとは勝手に更新するなりしてくれ。

(本音)
wiki置いてあげたんだから、とっととおまえら更新しろボケナス!!
そしてコンテンツは俺のものになるのだ。管理人は俺様だ!
あ? 何かもんくあるっていうのか?

607 :nobodyさん:2007/03/12(月) 17:02:31 ID:???
>>600の人気に嫉妬

608 :nobodyさん:2007/03/12(月) 17:03:17 ID:???
nliteのとき597みたいなのが居ました

609 :597:2007/03/12(月) 17:04:05 ID:???
うるせぇうるせぇ!
こっちは広告で飯食ってんだYo!もんくあるなら金払えってんだこんにゃろー

610 :597:2007/03/12(月) 17:08:06 ID:???
ごめんね。

ぼく、外に出ても嫌われ者で、昔から人の役に立たない人間だったから……。
2ちゃんねるなら、少しでもみんなの役にたてるかと思って。。

実は、PHPの知識は皆無なんだ。
でも、Wikiを管理することぐらいはできるんだ!
荒しさんを弾くことぐらいは朝飯前だぜw

頼むからみんな使ってくれよWiki・・・

611 :nobodyさん:2007/03/12(月) 17:09:17 ID:???
凄い流れだなw

612 :597:2007/03/12(月) 17:11:58 ID:???
まてw偽者どもw
広告は自動挿入されてるからおれはいれてないぞww
広告なしがあるならおしえてくれよw

613 :nobodyさん:2007/03/12(月) 17:17:28 ID:???
自分でサーバ借りてインストールすればいいじゃん。

614 :597:2007/03/12(月) 17:24:49 ID:???
指図すんな。

615 :nobodyさん:2007/03/12(月) 17:26:13 ID:???
それすらもできない厨房はウィキなんて
運営するべきじゃないなw

616 :nobodyさん:2007/03/12(月) 17:32:39 ID:???
鯖持ってるがなんだかんだ文句言いそうなんで、提供誰もしなさそう

617 :nobodyさん:2007/03/12(月) 17:37:06 ID:???
おまえら文句だけは優等生だなww

618 :nobodyさん:2007/03/12(月) 17:50:16 ID:???
>>597
マジレスすると、お前の悪いところは

・IDを出していない
・言い出しっぺの割に設定してない
・人任せ

これが問題だと思うよ。

619 :597:2007/03/12(月) 17:55:42 ID:???
ぐだぐだうるせーくずども

620 :nobodyさん:2007/03/12(月) 17:57:52 ID:???
更新されてるじゃん。誰だかわからんがGJ!!

621 :597:2007/03/12(月) 18:34:21 ID:???
じゃあ俺も

622 :nobodyさん:2007/03/12(月) 19:22:44 ID:???
流れを無視してすみません。
phpでiCalendar形式のファイルを書き出すクラスみたいなのは
どこかで配布されてませんでしょうか?

623 :nobodyさん:2007/03/12(月) 19:40:34 ID:???
>>622
これか?
http://www.phpclasses.org/browse/package/3278.html

624 :623:2007/03/12(月) 19:42:09 ID:???
>>622
こんなのもあった。
http://www.macupdate.com/info.php/id/9224

625 :nobodyさん:2007/03/12(月) 19:47:07 ID:???
度々すまん。説明をよく読んでみたら>>624は目的に合わないかも。

626 :nobodyさん:2007/03/12(月) 19:47:22 ID:???
保守で見つけたおもろいもの。

(index.php)---
$TABLE = "";
$TABLE .= "<table border=1 cellspacing=3>";
・・・・(<TR>とかいっぱいのコード)
$TABLE .= "</table>";
include("template/index.tpl");

(index.tpl)---
<div align="center">
<?php echo $TABLE?>
</div>

627 :nobodyさん:2007/03/12(月) 19:51:03 ID:???
>>626
echo "<div>これは冗談だろ...</div>\n";
echo "<div style="font-weight: bold;">頼むから冗談だと言ってくれ!!</div>";

628 :nobodyさん:2007/03/12(月) 19:52:47 ID:P3Oh6t9M
厨問で恐れ入ります。
\nが改行されずにそのまま\nと表示されるのですが、どうやったら改行されるのでしょうか?

629 :nobodyさん:2007/03/12(月) 19:54:10 ID:???
>>628
ダブルクォート(")で囲む

630 :nobodyさん:2007/03/12(月) 19:57:45 ID:P3Oh6t9M
>>629
ありがとうございます。できました。
そう言えばシングルクオートで囲んでました。
シングルではダメなんですか?

631 :nobodyさん:2007/03/12(月) 20:15:01 ID:???
>>630
http://www.php.net/manual/ja/language.types.string.php

632 :nobodyさん:2007/03/12(月) 20:30:23 ID:DaZu2ELx
>>631
どうも。勉強してきます。

633 :nobodyさん:2007/03/12(月) 20:34:42 ID:???
なにどうもって。まったくかんしゃくおこりますね!!

634 :nobodyさん:2007/03/12(月) 20:49:25 ID:???
>>632
おい!なんとかいえよ!

635 :nobodyさん:2007/03/12(月) 21:09:22 ID:???
>>634
うるさい黙れ

636 :nobodyさん:2007/03/12(月) 21:26:54 ID:???
氏ねよ素人

637 :nobodyさん:2007/03/12(月) 22:20:51 ID:D65DUhfL
mysqlに入ってる「名前」と「URL」
を使って<リンク>にしてページに入ってる順に出力したいんです。
で、
while ($row = mysql_fetch_assoc($result)) {
print($row['sitename'].'<br>');
print($row['siteurl'].'<br>');
というのを見つけたんで、
この先をいじってやってみようと思ったんですがうまくいきません。
(いじって→なんとなく組み合わせてリンクタグをつくる。)
これってどうやったらうまくいきますか?
根本から違いますか?

638 :nobodyさん:2007/03/12(月) 22:28:32 ID:???
うまくいかないだけじゃアドバイスのしようが無いんですが・・・

639 :nobodyさん:2007/03/12(月) 22:39:43 ID:tXEJgcvF
#!/usr/bin/perl

require 'cgi-lib.pl';
&ReadParse;
$upfile = $in{'upfile'};

open(OUT,">test.wav");
binmode(OUT);
print OUT $upfile;
close(OUT);

# レスポンスヘッダの出力
print "Content-type: text/html", "\n\n";

# HTMLの出力
print "<HTML>\n";
print "<BODY>\n";
print "<font size=7>ファイル更新中</font><BR>\n";
print "</BODY>\n";
print "</HTML>\n";

cgi-lib.plのライブラリを使ってみようと思いこのようなサンプルを作ってみましたが
作動しません。
間違いを教えてください。

640 :nobodyさん:2007/03/12(月) 22:45:08 ID:bMTzsbbi
PHPの環境面での質問です。

MySQLが4.1.x系になってそれまで作っていたプログラムが文字化けするのですが、
ググって調べたところ、MySQLの仕様が変わった事が原因で、my.cnfを編集して
対処するしかない、とかの記載がありました。

そこで質問ですが、PHP側で対処する方法は無いのでしょうか?
文字コードはEUC-JPで作っているのですが、すべての文字コードを
UTF-8に変更しなくてはいけないのでしょうか?

641 :nobodyさん:2007/03/12(月) 22:47:09 ID:tXEJgcvF
スレを間違いましたごめんなさい

642 :637:2007/03/12(月) 22:47:54 ID:D65DUhfL
638さん
print('<a href=$row['siteurl']>$row['sitename']</a>');
というのを後ろに付けてみたんですが動かしても白い画面が出るだけなんです。

643 :nobodyさん:2007/03/12(月) 22:56:23 ID:???
>>642
それだとパースエラー出るような気がするけど。

http://www.php.net/manual/ja/language.types.string.php 
とりあえずあなたはここを読むといいと思う

644 :637:2007/03/12(月) 23:02:42 ID:D65DUhfL
643さん
お返事ありがとうございます。もうちょっと勉強してからきます。

645 :nobodyさん:2007/03/12(月) 23:38:29 ID:AUsBueUe
以前ここで挙げられてた
セキュリティに関する本があったのですが、何というタイトルだったのでしょうか?

646 :nobodyさん:2007/03/12(月) 23:42:25 ID:???
ライブドアブログを書いてるのですが、
投稿しても反映されません。。
何故でしょうか??

時間的な問題で、ほっとけば投稿されるのでしょうか?

647 :nobodyさん:2007/03/12(月) 23:51:03 ID:???
>>646
テンプレ嫁
あとスレ違い
むしろ板違い

648 :nobodyさん:2007/03/13(火) 00:02:55 ID:???
何で大阪ではWebやプログラムに関するセミナーがないんだ?

649 :nobodyさん:2007/03/13(火) 00:23:42 ID:???
大阪にはサーバが無いから

650 :軟式PHP:2007/03/13(火) 01:00:53 ID:???
>>648
俺のところは大阪より無いぜ。
たまにくるセミナーメールは大抵オラクル or ジオトラストwww

651 :nobodyさん:2007/03/13(火) 01:24:44 ID:???
つーかSSL証明書の値段って、なんであんなに高いの??
いったいどんなコストがかかってるって言うんだ…。タダみたいなもんだろーが。

しかもほとんどアメリカ企業ばっかりで選択肢少ないし。
あれって独占だか寡占だかで法律違反に問えないのかな?

本当にネット社会のインフラを充実させるには、「SSL業界のユニクロ」が必要だな。

652 :nobodyさん:2007/03/13(火) 01:35:29 ID:???
レン鯖でSSL込みのサービスとかあるじゃん
中身はcomodoの証明書だったりするけど

ってここPHPのスレやんけ

653 :nobodyさん:2007/03/13(火) 01:45:19 ID:???
犬阪人はチョソ。

654 :nobodyさん:2007/03/13(火) 01:45:49 ID:???
PHPに限らずだけど、web開発してると必ずネックになってくる > SSL対応

>>652
レン鯖のサービスはあくまで再販だから、コストを下げるという観点からは無意味。
っていうか鯖屋のピンハネ分が乗るので余計にコスト高。

655 :nobodyさん:2007/03/13(火) 01:54:20 ID:???
>>654
こういうやつだったら安く済むんじゃないの
ttp://www.asj.ne.jp/techinfo/ssl_asj.html

656 :nobodyさん:2007/03/13(火) 01:57:45 ID:WB3nwZIO
SimpleXMLで
<cat>
<name>mike</name>
<name>tama</name>
<name>buchi</name>
</cat>

SimpleXMLで
<cat>
<name>mike</name>
<name>tama</name>
<name>buchi</name>
</cat>

SimpleXMLで
<cat>
<name>mike</name>
<name>tama</name>
<name>buchi</name>
</cat>

<cat>
<name>mike</name>
<name>tama</name>
</cat>
に変更するときはどうすればいいのでしょうか?

657 :nobodyさん:2007/03/13(火) 02:02:05 ID:???
>>656
日本語でおk

658 :nobodyさん:2007/03/13(火) 02:03:53 ID:???
>>655
それも海外業者の再販でしょ。あと携帯対応がイマイチねぇ・・・。

そもそも一番ユーザの多いドコモに対応するには、
事実上の独占企業VeriSignしか選択肢が無いのが痛い。

社民や共産は下らない言葉狩りとかやってないで、こういう見えにくい部分を追及してほしいぜ。

659 :656:2007/03/13(火) 02:12:17 ID:WB3nwZIO
すいません。コピペしすぎました。
正しいのはこれです。
SimpleXMLで
<cat>
<name>mike</name>
<name>tama</name>
<name>buchi</name>
</cat>

<cat>
<name>mike</name>
<name>tama</name>
</cat>
に変更するときはどうすればいいのでしょうか?

660 :nobodyさん:2007/03/13(火) 02:37:01 ID:???
ラピッドSSL安くないか?

661 :弟子 ◆xSK1SiC5MI :2007/03/13(火) 02:58:43 ID:TI4gTUTc
10日で覚えるPHPて本買ったけどPHPが動作する環境すら得られません
XPなんだけどどこから手をつけるべきですか?

662 :nobodyさん:2007/03/13(火) 03:18:05 ID:???
>>661
そんな調子じゃ10日は無理だなw買う本間違えたんじゃない?
とりあえず、最低限Apache+PHPをインストールしておいで。
個々のインストールがめんどくさかったり
よくわからないならXAMPPを入れたほうがいいかも。
そしたら次はフリーのPHP用IDEを入れる。
EclipseのPHPプラグインあたりがデバッグも容易だしおすすめ。

663 :弟子 ◆xSK1SiC5MI :2007/03/13(火) 03:19:36 ID:TI4gTUTc
>662ありがとう100日かかっても覚えられる気がしない罠w



664 :弟子 ◆xSK1SiC5MI :2007/03/13(火) 03:38:56 ID:TI4gTUTc
>662 XAMPPでzipとなんかとexeファイルダウンロードしました

あとはhttp://www.atmarkit.co.jp/fjava/rensai3/eclipsejava01/eclipse01.html#40

をダウンロードでOKですか?

665 :nobodyさん:2007/03/13(火) 03:53:58 ID:???
>>664
PHPは仕事で使うのか?

もしそうならそんなにあわてなくても良いじゃん。
ゆっくりやればいいよ。

俺はXAMPP+EclipseよりはPHPとApacheだけ
入れたほうが良いと思うんだけどどう?

666 :nobodyさん:2007/03/13(火) 04:00:27 ID:???
俺ならxamppとphpエディタを勧める。

667 :nobodyさん:2007/03/13(火) 05:49:39 ID:???
phpエディタの雑多な感じは正直好きではないが、
初心者ならphpエディタのほうがいいかもね。
Eclipseに慣れている人なら当然そっちのほうがいいけど、
元々あれはJava開発者向けだし、最初の設定やらが若干めんどくさいからね。

668 :nobodyさん:2007/03/13(火) 08:55:58 ID:???
>>664
ローカルに環境作らないで、無料のPHP使えるサーバー借りて勉強すればいいんでない?
ある程度PHPを覚えてくると、今までさっぱりだったapacheやphpの設定も不思議と見えてくる。

669 :nobodyさん:2007/03/13(火) 09:18:01 ID:???
いきなり共用鯖使わせる気かよ

670 :nobodyさん:2007/03/13(火) 09:31:45 ID:???
無限ループで鯖ダウン\(^o^)/オワタ

671 :nobodyさん:2007/03/13(火) 09:33:48 ID:???
回答者もゆとり世代になったか

672 :nobodyさん:2007/03/13(火) 09:57:54 ID:???
無限ループごときでダウンするレン鯖も今時無いと思うが

673 :nobodyさん:2007/03/13(火) 10:31:36 ID:8uoeVZuh
ケータイサイトで
<form method="post"action="a.php">..</form>
のようなログインフォームを用意しています。
パスワードを入力してログインすると
ログイン後のページが表示されるようになっているのですが
一部端末でログインできない(ログインボタンを押しても
ログイン画面が再表示されてしまう)
という問題が現象が発生しています。

端末は V302H V603SH A5502K W32S 702NH などです
(端末の設定に依存するのかもしれません
回避策などありましたら教えてください。

674 :nobodyさん:2007/03/13(火) 10:40:10 ID:???
>>640
MySQLのバージョンによってうまくいかない可能性があるが
set names のクエリを接続したあと1回必ず送るようにすると
うまくいくかも

これでもうまくいかないときは素直にmy.cnfを書き換えたほうがいい
書き換えてもうまくいかないときはalterでデータベースの文字コードを
設定しなおしたらいい

675 :nobodyさん:2007/03/13(火) 10:57:30 ID:???
>>673
回避策というかバグなんだからデバッグしろよ
とりあえずa.phpでprint_r($_POST);とかして値がわたってるかチェックかな

676 :nobodyさん:2007/03/13(火) 11:00:42 ID:???
>>672
今時無いと思うが、ローカルでテストするようにしろ

だろ?お前も推奨派かタコが

677 :nobodyさん:2007/03/13(火) 11:03:20 ID:8uoeVZuh
>>675
返答ありがとうございます
例に出した機種以外では渡っているようでした

678 :nobodyさん:2007/03/13(火) 11:06:42 ID:???
>>677
昔の携帯はPOST使えないよ

679 :nobodyさん:2007/03/13(火) 11:08:16 ID:???
>>678
どんだけ昔なのか機種名、またはソース教えてくれよ

680 :640:2007/03/13(火) 11:09:32 ID:???
>>674
ありがとうございます!無理なのかと思いました・・。

とりあえずレン鯖なんで、my.cnfの書き換えは出来ないのですが、
以下の分を環境設定ファイルに書き足したところ、登録・表示できました。
$set_names = mysql_query("SET NAMES ujis", $conn);

少ししか試していませんが、特に重いと言う事もないので、これで乗り切ろうと思います。
アドバイスありがとうございました。

681 :nobodyさん:2007/03/13(火) 11:17:31 ID:8uoeVZuh
昔と言ってもログインできないのは
2年ほど前の機種です

682 :nobodyさん:2007/03/13(火) 11:20:37 ID:???
>>623
どうもありがとうございました
書き出す場合は中身が構造化されたテキストっぽいから自分でやっつけるしかないみたいですね

683 :nobodyさん:2007/03/13(火) 11:21:17 ID:???
>>673
V302H V603SH A5502K W32S 702NH
で検索したけど1個しかヒットしなかった
http://www.google.co.jp/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-26,GGGL:ja&q=V302H+V603SH+A5502K+W32S+702NH+

684 :nobodyさん:2007/03/13(火) 11:25:18 ID:???
formのname指定してみ。
携帯によってはパラメーターちゃんと設定しないと送信されなかったりもする。

685 :nobodyさん:2007/03/13(火) 11:26:59 ID:???
>>683
ほぼ同じ文章でワロタwww

686 :nobodyさん:2007/03/13(火) 11:27:34 ID:8uoeVZuh
ありがとうございます!
やってみます!

687 :nobodyさん:2007/03/13(火) 11:28:47 ID:???
>>659
<?php
$xmlstr = <<<XML
<cat>
<name>mike</name>
<name>tama</name>
<name>buchi</name>
</cat>
XML;

$xmlsrc = new SimpleXMLElement($xmlstr);
$xmldst = new SimpleXMLElement("<cat></cat>");

foreach($xmlsrc->name as $name) {
 $xmldst->addChild("name", $name);
}
?>

688 :nobodyさん:2007/03/13(火) 11:30:53 ID:???
修正
foreach($xmlsrc->name as $name) {
 if($name != "buchi")
  $xmldst->addChild("name", $name);
}

689 :虚弱PHP:2007/03/13(火) 11:57:54 ID:???
>>673
そもそもa.phpの内部の処理なんか、誰にも分からないんですけど。

690 :659:2007/03/13(火) 12:02:43 ID:WB3nwZIO
ありがとうございます。
今PHPが使える環境にないので、後でやってみます。

691 :nobodyさん:2007/03/13(火) 13:05:05 ID:???
>>673
それらの機種には問題ない。
お前のコーディングに問題がある。

おそらく適切なヘッダーを吐いてないんじゃないか。

692 :nobodyさん:2007/03/13(火) 14:21:08 ID:Y+fr5f3l
テンプレート的にページ表示する仕組みをクラスを用いて作りました。
テンプレートとなるPHPスクリプトには必ずTemplateクラスを実装するようにし、表示メソッドを持たせました。

例えば、以下のように複数のテンプレートPHPスクリプトを用意しておき、
表示時に、好きなテンプレートを選択できるようにしたわけです。
template1.php,template2.php,template3.php...

しかし問題に気付きました。
一つだけのテンプレートをrequireして何度も表示するだけなら良いのですが、
複数のテンプレートを一つのPHPスクリプトからrequireする場合があったのです。
「Fatal error: Cannot redeclare class ...」 です。
Templateクラスの多重定義エラーになってしまうのです・・!

PHPは定義の解除もオーバーライドもできない。
ああ、納品は今日だというのに、今まで気がつかなかった私が馬鹿であったのですが・・。

どうにかうまくやり抜ける方法はないものでしょうか?
おまえら知恵を貸しやがれです!

693 :nobodyさん:2007/03/13(火) 14:24:16 ID:???
>>692
結論=無理。氏ぬがいいw

っていうか単なるテンプレート的な使い方のためだけにテンプレートエンジンだの
クラスだのと難しいことをする必要はない。
単に任意の変数を埋め込んだHTMLを拡張子.phpで用意しておき、
それをロジック・スクリプトからrequireして変数部分を展開すればいいだけ。

694 :nobodyさん:2007/03/13(火) 14:26:27 ID:???
納品って言いたかっただけだろw

695 :nobodyさん:2007/03/13(火) 14:29:49 ID:???
>>692
どういうファイル構成になってるんだかさっぱりなんだが
クラス定義ファイルの読み込みはrequire_onceでやるか
クラス定義のとこで定義済みかどうかを判別するだけでは。
まさか複数ファイルにクラス定義をそれぞれ書いてるとかいう
ありえない設計をしてるわけもないだろうし。


696 :nobodyさん:2007/03/13(火) 14:42:22 ID:Y+fr5f3l
簡潔にするとこんな感じです。

print.php
-----------------------
require_once(テンプレートA);
$A = new Template;
//うぁぁTemplateが解除できねぇぇ
require_once(テンプレートB);
$A = new Template;

templateA.php , templateB.php
-----------------------
class Template extends TemplateBase
{
...
}

>>693
現状から少々の追加・修正でなんとかできないでしょうか・・
各テンプレートPHPで宣言しているクラス名を修正しても良いです。

>>695
ありえない設計になっていますでしょうか・・

697 :nobodyさん:2007/03/13(火) 14:52:53 ID:???
クラス名一緒とかどんな糞設計なんだよ

698 :nobodyさん:2007/03/13(火) 15:01:48 ID:Y+fr5f3l
この場合は、クラス名を統一しておかなければ
テンプレートオブジェクトの生成コード
new Template が統一して使用出来ないと思ったからなんです。
newには静的にクラス名を与えるしかないですよね・・?

699 :nobodyさん:2007/03/13(火) 15:08:19 ID:???
質問です
1000 2000 3000 の整数値が入った変数があったとして
これら3つの中から最も低い数値だけ抜き出すアルゴが知りたいです
もちろんif文などでも実現できますが、何かいい関数がないかと思いまして
無知なところすみませんがよろしくお願いします

700 :nobodyさん:2007/03/13(火) 15:19:02 ID:???
>>698
$obj_tpl = new Templete($str);でコンストラクタでどれ読むか書けばいいような

701 :軟式PHP:2007/03/13(火) 15:20:46 ID:???
>>699
<?php
$nums = array(2000,1000,3000,5000,100,7000);
sort($nums);
print $nums[0];
?>

702 :nobodyさん:2007/03/13(火) 15:22:00 ID:???
>>696
バカだバカがいるwwww
お前クラスを何だと思ってるんだ

703 :虚弱PHP:2007/03/13(火) 15:30:04 ID:???
>>696
ありえない設計だね。

設計変えずに素早くなんとかするとしたら、
可変クラス名でも使ってやるしかないんじゃないかな。
・クラス名はテンプレート毎。
・テンプレートクラスのファイル先頭に$TemplateClassName = <テンプレートクラス名>
$A = new $TemplateClassName();

704 :nobodyさん:2007/03/13(火) 15:34:44 ID:???
>>696
だからさぁ、テンプレートの仕組みはこんな感じ↓にすれば簡単なのに。
なぜ皆わざわざテンプレートエンジンとか難しいことやろうとするの?

●print.phpの中身
$hoge = "これを表示するべ";
require_once(template.php);
-----------------------
●template.phpの中身
echo <<< EOM
<html><body>
↓ここの表示は自由自在だぜ!<br>
{$hoge}
</body></html>
EOM;


705 :虚弱PHP:2007/03/13(火) 15:41:13 ID:???
>>704
ループ使ったり、条件分岐つかったり、修整子使ったり、
キャッシュ使ったりしたいからじゃないかな?

706 :軟式PHP:2007/03/13(火) 15:42:48 ID:???
>>704
いや明らかにテンプレートエンジンのほうが簡単。
というかそれはテンプレートとは言えるレベルじゃないと思うが。
Smartyのforeachelse、cycleなどを使い始めると離れづらいと思うが。

Smartyの例
●print.phpの中身
$tpl = new mySmarty(); //Smartyを継承したクラス
$tpl->assign("hoge","これを表示するべ");
$tpl->display("template.php");

●template.php
<html>
<body>
↓ここの表示は自由自在だぜ!<br>
{$hoge}
</body></html>

707 :nobodyさん:2007/03/13(火) 15:49:51 ID:???
>>701
ありがとうございます
役にたちました

708 :nobodyさん:2007/03/13(火) 15:54:58 ID:Y+fr5f3l
>>700
$strは何を指すのですか?
憶測ですが、new TemplateをLoadTemplateのような関数と同じ意味だと思っていませんか?
多分そのやり方ではクラスを使う意味がないです。

>>703
ありがとうございます。
PHPは可変クラスなんてのが使えたんですね。
そういった機構が無いか何度も探してみたのですが、見つけられていませんでした。
まだ試してみてはいませんが、勉強になります。

なお、先の件につきまして、一応自力で解決できました。
>>703の手法に似ていますが、可変〜を使わないものです。
print.phpのテンプレート出力関数内で、空の$template_objを用意し
テンプレートスクリプトにて、global $template_objによりアクセス可能にした
$template_objへnewテンプレートしオブジェクトインスタンスを格納するようにしました。
コンストラクタの引数も同様に受け渡しをしました。
ちょっと再利用性が落ちるやり方でまた怒られそうですね。

とにかく、皆様どうもありがとうございました。
と書いている間にまたレスがついてますね。
>>703以降落ち着いたらじっくり読ませていただきます。
クラスの使い方がなってないと散々怒られてしまいましたので
よろしければ、後学のためどのような設計にすべきだったのかアドバイス頂けると幸いです。
ではでは、また死んできます。

709 :nobodyさん:2007/03/13(火) 16:31:20 ID:???
>>705
>ループ使ったり、条件分岐つかったり
それはロジック側でやっといて、最終的に出力したい状態に整形してから
テンプレートに変数として渡せば済む話では??

>>706
その手法と>>704の手法と比べた場合、どんなメリットがあるのかサッパリ分からないっす。
っていうか結果的に同じことを単に複雑にしてるだけ、って気が・・・。

710 :nobodyさん:2007/03/13(火) 16:43:09 ID:???
>>709
項目数の可変なテーブルを出力したいときはどうする。
$table = "<table〜</table>";
とかやってからテンプレに渡すの?

711 :nobodyさん:2007/03/13(火) 16:52:56 ID:???
数字に3桁毎にコンマつける関数ありませんか?

712 :nobodyさん:2007/03/13(火) 16:57:13 ID:???
711続き

1000とあったら1,000になるようなやつです

713 :nobodyさん:2007/03/13(火) 16:58:53 ID:???
711続き

自己解決しました

714 :軟式PHP:2007/03/13(火) 16:59:36 ID:???
>>709
簡単なやつだからね。修飾子とか使えるし実際見やすいよ。
同じ処理を行った場合の一例
・Smarty
{$hoge | escape | replace:"これ":"それ" }
・ロジック
$hoge = str_replace( "これ", "それ" ,htmlspecialchars( $hoge ) );

>>711
number_format()

715 :虚弱PHP:2007/03/13(火) 17:03:11 ID:???
>>709
そうすると、色々やってるうちにロジック側にHTMLが入ってくるようになると思うよ。

716 :nobodyさん:2007/03/13(火) 19:22:17 ID:???
>>708
君はもうだめかもわからん

class Template {
 function __construct($_str) {
   /* 引数の値に応じてテンプレートを読み込む */
 }
}

こう書いてもわからんというのかね
クラスに引数つけた場合はデフォルトコンストラクタではなく定義されたコンストラクタが呼び出される
クラスの概念とか判らないのならC++かJavaからやったほうがいいよ

717 :nobodyさん:2007/03/13(火) 19:40:10 ID:???
コード変換いついて教えてください
UTF-8の"T"(E78484)を mb_convert_encoding を使って
EUC-JPに変換すると化けてしまいます
これは mb_convert_encoding のバグでしょうか?
また対応策等ありましたらお願いします

718 :nobodyさん:2007/03/13(火) 19:44:17 ID:???
$str = mb_ereg_replace("\x87\x40", "(1)", $str);

こんな感じで検索文字を文字コード指定で指定して変換するときは、
str_replace でも大丈夫でしょうかね?
str_replace だとパラメータに配列が使えて便利なので

719 :nobodyさん:2007/03/13(火) 19:46:12 ID:???
PHPのページで他のPHPを呼び出すためのタグを教えてください。
猫手をindex.phpに使用していたのですが、間違えて消してしまい、
どういうタグを描いていたかも忘れてしまい・・・

720 :nobodyさん:2007/03/13(火) 20:05:58 ID:???
タグ?
<include>another.php</include>
こんな感じか

721 :nobodyさん:2007/03/13(火) 20:08:01 ID:???
<?php
ぬるぽ(include.php);
?>

722 :nobodyさん:2007/03/13(火) 20:14:01 ID:???
>>719
include("index.php");
require("index.php");
require_once("index.php");

上にいくほど高速

723 :nobodyさん:2007/03/13(火) 20:18:16 ID:???
GET受け取った値(内部処理及びHTML出力に直接使う)を最も安全に加工したいと思うのですが
htmlspecialcharsだけでは不十分でしょうか?おすすめの処理あれば教えてください

724 :nobodyさん:2007/03/13(火) 20:19:17 ID:???
>>719
そしてさらに上までいって>>1を読むと納得

725 :nobodyさん:2007/03/13(火) 21:23:04 ID:6kJO88Vk
>>723
1. <input type='text' name='hoge' value='<?php print(htmlspecialchars($_GET['hoge'])); ?>'>
2. <script type="text/javascript"><?php print(htmlspecialchars($_GET['foo'])); ?></script>

この二つがなぜ危険になる可能性があるのかを説明できれば大丈夫だと思う。

726 :nobodyさん:2007/03/13(火) 21:36:05 ID:???
>>722
嘘おしえてんなよ!はげきち

727 :nobodyさん:2007/03/13(火) 21:48:59 ID:FbvNPOWY
メールマガジンを送信するプログラムを作りたいんですが、cronを使用して
毎日 10 時に メールを 1万通送信するプログラム を作るとサーバーに相当な負荷がかかってしまうと
思います。

この場合どういう風に作ればサーバーに負荷をできるだけかけずにプログラムを作れるでしょうか。
というより、どうすればいいんでしょうか。
一般的なメルマガ発行システムなどはどうやって処理しているのか教えてください。
よろしくお願いします。



728 :nobodyさん:2007/03/13(火) 21:56:24 ID:???
>一般的なメルマガ発行システムなどはどうやって処理しているのか

メールを送信する処理をPHPでやっているシステムは見たことない。

729 :nobodyさん:2007/03/13(火) 22:01:49 ID:neUD+ow6
>>727
*/1 * * * * メール送信処理
1分おきにメール送信するとサーバーに負荷かからないよ

730 :nobodyさん:2007/03/13(火) 22:08:49 ID:???
PHPの配列って実はハッシュなんですか?

731 :nobodyさん:2007/03/13(火) 22:14:16 ID:???
>>729
1分おきに10000通のメールを送るとすると:
    60(秒) * 10000(通) = 600000(秒)

時間になおすと:
    600000 / (60 * 60) = 166.666666667

すなわち、全てのメールを送信するのに約7日かかることになる。
そんなもの使いものにならんよ。

732 :nobodyさん:2007/03/13(火) 22:14:59 ID:???
>>730
そうだよ

733 :nobodyさん:2007/03/13(火) 22:19:48 ID:???
>>731
意味不明

734 :nobodyさん:2007/03/13(火) 22:30:27 ID:???
1分500通で10000/500=20分
つまり20分で10000通メール送信ってことだよな

735 :nobodyさん:2007/03/13(火) 22:32:04 ID:???
1分500通でも多すぎだろ。
さらに時間はかかるがw

736 :734:2007/03/13(火) 22:34:10 ID:???
>>735
以前に出会い系のサクラでメール配信していたが、
500通くらいなら20秒くらいで送信できたと思う

737 :nobodyさん:2007/03/13(火) 22:36:05 ID:???
またスパまーか

738 :nobodyさん:2007/03/13(火) 22:38:16 ID:???
>>737
登録者に送ってるだけだからスパムではない

739 :軟式PHP:2007/03/13(火) 22:49:36 ID:???
俺は適当にSleep入れてログ取りながらバッチで回してるよ。
3万人まで送信したことあるけど、今のところ問題なし。
もし途中で何らかの原因があって止まってもログから再送信させる。

740 :nobodyさん:2007/03/13(火) 22:50:14 ID:???
>>738
聞き方変えてるだけかと

741 :nobodyさん:2007/03/13(火) 23:44:54 ID:jbwAF33v
文字コードについて質問です
phpmyadmin内にutf-8で格納してあります。
ブラウザーに表示するときもutf-8統一してあるのですが
文字化けしてしまいます。
<p>php</p>部分 数字は表示されるのですが
漢字 ひらがなの部分が化けしてしまいます
文字化け対策を調べてみたのですが、なかなか直らなくて
PHP 5.2.1
phpMyAdmin 2.9.2
Apache 2.2.4
MySQL 5.0.33
(xampp)以上です よろしくお願い致します 

742 :nobodyさん:2007/03/13(火) 23:47:33 ID:???
変数を格納する為だけのクラスで、
class Hoge {
function set($key,$value) {
$this->$key = $value;
}
}
$hoge->set('name', 'ほげほげちゃん');

と言う風に、varで定義していない変数を作るのってやめた方が良いですか?
PHP5なら__set、__get使ってひとつの配列に入れておくことも出来るんですが
PHP4なのでどうしようかと思いまして・・・。
むしろ、もうそろそろPHP4の事は考えない方がいいですか?

743 :nobodyさん:2007/03/13(火) 23:49:28 ID:???
>>741
どんな風に文字化けするのか

>ブラウザーに表示するときもutf-8統一してあるのですが
どこをどういじってutf-8にしたの?

744 :nobodyさん:2007/03/14(水) 00:15:06 ID:???
>>742
どういう理由でやめたほうが良いと?

745 :nobodyさん:2007/03/14(水) 00:15:32 ID:lS0gqu9t
743 有難うございます。
<META http-equiv="Cont
ent-Type" content="text/html; charset=utf-8">
と エディエターもutf-8セットしました CSVファイルも
utf-8に変更しました
mysql内はいじっていません
[mysqld]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
等 

746 :nobodyさん:2007/03/14(水) 00:16:30 ID:???
>>745
php.iniもUTF-8?
ブラウザで見て文字コード変えて試してみた?

747 :709:2007/03/14(水) 01:45:21 ID:???
>>710 うん、今のところはそのような感じでやってます・・・

>>714 なるほど、慣れるとSmarty記法のほうが可読性が高いんですかね。

>>715 そうなんですよ、実際、ロジックに可変テーブルなどのHTMLが入り込んでて、
   可読性が落ちるからどうやって解決したものかな〜〜と常々思っとりました。
   にも関わらず、Smartyとか導入するのが面倒なのでやってませんorz

748 :nobodyさん:2007/03/14(水) 02:39:55 ID:???
>>742
function set($k, $v){
$this->storage[$k] = $v;
}
だとどういう不都合があるの?
例外処理の恩恵受けられるならPHP4切る価値はあると思う。

749 :nobodyさん:2007/03/14(水) 03:41:39 ID:BjDS8gcH
PHP5.2で
//ファイルはSJIS
mb_internal_encoding("SJIS");
mb_http_output("UTF-8");
ob_start("mb_output_handler");
はおkなんだけど、

//ファイルはUTF-8
mb_internal_encoding("UTF-8");
mb_http_output("SJIS");
ob_start("mb_output_handler");
は化けませんか?

(iconv_set_encodingでも同じ)

750 :nobodyさん:2007/03/14(水) 05:17:14 ID:???
ラピットはボリ杉。オフィスで説明聞きに言ったとき殿様みたいな対応されて腹がたった。
女子社員はかあいかったなww

751 :nobodyさん:2007/03/14(水) 05:21:06 ID:???
>>661
おれももってるけどあんまりおすすめしない。記述も古いし。

752 :nobodyさん:2007/03/14(水) 05:28:22 ID:???
だれだかわかりませんがwiki更新おつかれさまです。wktkしてみてます。

753 :nobodyさん:2007/03/14(水) 07:59:05 ID:ouHfB1AQ
遅くなりました
何故か書き込めなかった
746PHP.iniは変えてません
749やってみます
会社でやってみます

754 :虚弱PHP:2007/03/14(水) 09:10:08 ID:???
>>752
>>1のFAQを転載してみたよ。

755 :nobodyさん:2007/03/14(水) 10:23:26 ID:rWwTvtgK
ホントにくだらない質問なんですけど、記録するレコードが膨大になると
予想されるものって、テーブルをユーザー毎に個別を分けたほうがいいんですかね??

分かりやすい例で言えば、たとえばまぐまぐみたいなシステムの場合に、
マガジンごとに配送ログを取るとします。そしたらたとえば読者が10万人いるマガジンの場合、
一回発行するごとに配送ログが10万行増えますよね。そういうマガジンがいくつもあれば、
配送ログを記録するテーブルはあっという間に膨れ上がります。

こんなとき、「配送ログテーブル」としてまとめて一つ用意するよりも、
各マガジンごとにログ用テーブルを個別に用意したほうがいいんでしょうか?

なんか分かりにくい質問だったかもしれませんが、
他にもいろんな場面で似たような悩みがあります。テーブルをどこまで分割するか、で。

756 :nobodyさん:2007/03/14(水) 10:24:25 ID:???
適切にインデックス張れ

757 :nobodyさん:2007/03/14(水) 10:32:57 ID:???
インデックスを張ったうえでのテーブルサイズ膨張の問題なんじゃない?
それともインデックスを知らずにSELECTが遅くなることを懸念してるとか?
んなワケないか。

758 :nobodyさん:2007/03/14(水) 10:51:15 ID:???
一定期間経った古いログデータベースからはずしてどっかに保存しれ

759 :755:2007/03/14(水) 10:53:51 ID:rWwTvtgK
>>756 インデックスは張っているのですが、管理上、適切なテーブル設計はどうすべきかなと思いまして。

>>757 膨張というか、管理の手間(?)なども考えてのことです。

>>758 単なるログ保存ではなく、ユーザー(>>755の例で言えばマガジン発行者)が
   過去ログを閲覧できるようにしておきたいのです・・・

760 :nobodyさん:2007/03/14(水) 11:16:31 ID:???
過去ログ閲覧っていっても、10万件のログを発行者がいちいち
1件ずつ見ることはないだろう
必要な情報だけを集計して、集計元のデータは別途保存して
データベースから消せばいいんじゃないのか

761 :nobodyさん:2007/03/14(水) 13:22:36 ID:KzeU5M0F
Red Hat Enterprise Linux 4 + Apache2 + PHP4.4.6 で開発しています。

16進数から文字列に変換するJavaScriptの関数があるのですが、
それをphpに変換したいのです。

// JavaScript
function hexToString (h) {
var r = "";
for (var i= (h.substr(0, 2)=="0x")?2:0; i<h.length; i+=2) {r += String.fromCharCode (parseInt (h.substr (i, 2), 16));}
return r;
}

頑張って以下のようにしてみたのですが、JavaScriptと返り値が異なってしまいます。
恐らく JavaScript の parseInt に対応しているつもりの sprintf の使い方が誤っているのだと思いますが、
どう直していいのかわかりません。

// PHP
function hexToString ($h) {
$r = "";
for ($i = (substr($h, 0, 2) == "0x")?2:0; $i < strlen($h); $i += 2)
{
$r .= chr(sprintf("%d", substr($h, $i, 2)));
}
return $r;
}

よろしくお願いします。

762 :nobodyさん:2007/03/14(水) 13:23:42 ID:KzeU5M0F
ちなみに>>761の関数は
// JavaScript
function stringToHex (s) {
var r = "0x";
var hexes = new Array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
for (var i=0; i<s.length; i++) {r += hexes [s.charCodeAt(i) >> 4] + hexes [s.charCodeAt(i) & 0xf];}
return r;
}
というJavaScriptの関数よって16進数に変換された文字列を、元の文字列に戻すための関数です。

763 :nobodyさん:2007/03/14(水) 13:53:00 ID:???
>>761
$r .= chr(sprintf("%d", substr($h, $i, 2)));
じゃなくて
$r .= pack('H2', substr($h, $i, 2));
とか。

もしくは
function hexToString ($h) {
return pack('H*', substr($h, (substr($h, 0, 2) == "0x") ? 2 : 0));
}
とか。

764 :761:2007/03/14(水) 14:09:21 ID:???
>>763
うおお〜期待通りの動作になりました。ありがとうございます。
しかしpackって奥が深いというか難しいというかクラクラしてきました。
勉強します。

765 :nobodyさん:2007/03/14(水) 15:58:09 ID:???
>>761
hexdec($h);
でいいんじゃないの

766 :nobodyさん:2007/03/14(水) 16:38:46 ID:???
>>759
ユーザがいつどのマガジンに入退会したかを記録しておけば、配送ごとにすべてのユーザに配送ログを残す必要なくなると思うが。
配送エラーがあると配送ログがつかない というのであれば逆にエラーが起きたときだけ特別にエラーログとればよいし。

767 :nobodyさん:2007/03/14(水) 17:28:36 ID:???
>>759
つーか何を聞きたいのかよく分からない。
もう一回まとめてもらえる?
1つのテーブルにレコードが10万件あるデータベースで
ログ閲覧や管理にどういう問題があって、どうしたいと考えているの?

768 :nobodyさん:2007/03/14(水) 17:38:47 ID:???
くだらない質問です
インデックスってどうやって張るの?


769 :nobodyさん:2007/03/14(水) 17:41:55 ID:???
ALTER TABLE tablename ADD INDEX columname;

770 :nobodyさん:2007/03/14(水) 18:50:28 ID:???
データベースについての勉強もせずに要求とな?

続きはmysqlかpgsqlスレへどうぞ

771 :nobodyさん:2007/03/14(水) 19:26:45 ID:ouHfB1AQ
749さん それはPHP.iniを変えるんですか?

772 :nobodyさん:2007/03/14(水) 19:30:52 ID:88VqriPk
質問です。
call_user_funcを使って任意のクラスのメソッドを呼ぶ事が出来ますが、
同様に任意のクラスのメンバを取得するにはどうすればいいでしょうか?

773 :nobodyさん:2007/03/14(水) 19:31:14 ID:???
A09Fみたいな表記をA0と9Fか、0xA0と0x9Fの二つに分ける方法ありますか?

774 :nobodyさん:2007/03/14(水) 19:38:48 ID:???
>>770
そんなことはわかってる
おまえうぜーな消えろ

775 :659:2007/03/14(水) 19:51:48 ID:hmkr7h9D
>>687
申しわけありません。したいことと、得られる結果が異なります。

<?php
$xmlstr = <<<XML
<cat>
<name>mike</name>
<name>tama</name>
<name>buchi</name>
</cat>
XML;

$xmlsrc = new SimpleXMLElement($xmlstr);
なんかする(これがわからん)
echo($xmlsrc->asXML());
?>
で、
<cat>
<name>mike</name>
<name>tama</name>
</cat>
って表示されるようにしたいです。
よろしくおねがいします。

776 :nobodyさん:2007/03/14(水) 20:55:19 ID:???
>>734-736
うちのメール配信システムは1秒150通ですが^^

777 :nobodyさん:2007/03/14(水) 20:56:52 ID:???
>>775
$xmlsrc … 入力
$xmldst … 出力

なのでecho($xmldst->asXML());すると
<?xml version="1.0"?>
<cat><name>mike</name><name>tama</name></cat>
と出る

778 :nobodyさん:2007/03/14(水) 21:01:07 ID:???
>>775
unset($xmlsrc->name[2]);

779 :775:2007/03/14(水) 21:32:40 ID:hmkr7h9D
>>775
説明が下手で申しわけありません。
プログラムは、
データベースからXMLを読み込む。 -> XMLをSimpleXMLオブジェクトにする。
-> 入力値をXMLに入れる。 -> いろいろ処理をする。 -> 結果をXMLに入れ、データベースに書き出す。
という処理を繰り返し行っています。

入力値の要素数が変化するのですが、
要素数が増えるときは問題がないのですが、減ったときに余分な要素が残ってしまいます。
これをオブジェクトの名前の変更なしで消し去りたいんです。
XMLはだいたいこんな感じです。
<pet_shop>
<open_date>
<year></year><month></month><date></date>
</open_date>
<cat>
<name>mike</name><name>tama</name><name>buchi</name>
</cat>
</pet_shop>

780 :nobodyさん:2007/03/14(水) 23:08:24 ID:???
DOM使ってremoveChild

781 :nobodyさん:2007/03/14(水) 23:29:59 ID:???
>>773
ビット演算

782 :nobodyさん:2007/03/14(水) 23:30:30 ID:qM9Gf/TM
質問です。
文字列"FF"から0xFFってしたいんですがどうしたらいいんでしょう?
くだらなくてすいませんがよろしくお願いします。

783 :nobodyさん:2007/03/14(水) 23:31:44 ID:???
$string = 'FF';
$string = '0x' . $string;

784 :782:2007/03/14(水) 23:46:09 ID:qM9Gf/TM
>>783
それだと文字列の"0xFF"になりますよね?
16進数としての0xFFにしたいんです。


785 :nobodyさん:2007/03/14(水) 23:50:38 ID:???
>>784
intにキャストするかintvalかければいいんじゃね

786 :782:2007/03/15(木) 00:42:36 ID:???
>>785
駄目でした。

でも色々試したら解決しました。
"0xFF" + 0x00
としたらいけました。
もうちょっとスマートなやり方はないのかな。。。

どうもありがとうございました。

787 :nobodyさん:2007/03/15(木) 00:43:25 ID:???
10進数に直してから16進数に直せばいいんじゃね?

788 :nobodyさん:2007/03/15(木) 00:50:08 ID:???
>>781
わかんないです(><; )

>>786
>>773のようなときはどうしますか?

789 :nobodyさん:2007/03/15(木) 00:51:42 ID:???
>>788
substr

790 :nobodyさん:2007/03/15(木) 00:58:02 ID:???
>>789
同じ関数を2つも並べて書くなんてアホっぽいじゃないですか
一発で配列にして返したりするのが欲しいんです
unpack("C*", $str)みたいな

はいろいろイジって頭おかしくなりかけたのでもう試しません

791 :nobodyさん:2007/03/15(木) 00:59:20 ID:???
>>776
1秒150通でも十分に速いと思う。。。

ちなみに俺がXREAの有料鯖でPHPで組んだメール配信システムだと、
だいたい1秒で10〜20通くらいしか送れない。(朝の時間帯だから鯖は混んでないのに)

メールの宛先ごとに本文の内容が違うし、名前の差込処理などもやってるので、
単純にメールの送信処理だけじゃないからこんなに遅いのかな?
それとも、それを考慮したとしても遅すぎるだろうか・・・? みんな、どう思います?

ちなみに、メール送信処理部分(mb_send_mail)を除いたコードで処理時間を計測すると、
メール100通分の処理でも0.00…数秒しかかかってない。
すなわち、mb_send_mail()処理で大幅に時間を食ってるようだ。

792 :nobodyさん:2007/03/15(木) 01:15:24 ID:???
>>791
mb_send_mailで時間がかかってるってのはどこまでの範囲なんだ?
メールを送信する処理自体はSMTP鯖だろうから一概にPHPが駄目と
はいえないと思う。

PHPはSMTP鯖のキューにメールを置くところまでしかやらないはずだから

・SMTP鯖のキューに置くまでの時間=PHPのメール処理
・キューからメールを吐き出す時間=SMTPのメール処理

となると思う。

793 :nobodyさん:2007/03/15(木) 01:53:18 ID:???
>>790
$s = "A09F";
$a = array($s{0}.$s{1}, $s{2}.$s{3});
var_dump($a);

結果:
array(2) {
[0]=>
string(2) "A0"
[1]=>
string(2) "9F"
}

794 :nobodyさん:2007/03/15(木) 02:00:47 ID:???
>>790
$s = "A09F";
$b = sscanf($s, "%2s%2s");
var_dump($b);

結果:
array(2) {
[0]=>
string(2) "A0"
[1]=>
string(2) "9F"
}

795 :nobodyさん:2007/03/15(木) 02:03:26 ID:???
>>786
ちなみに数値で欲しければ
$s = "A09F";
$c = sscanf($s, "%2x%2x");
var_dump($c);

結果:
array(2) {
[0]=>
int(160)
[1]=>
int(159)
}

796 :nobodyさん:2007/03/15(木) 02:41:46 ID:???
>>792
>・SMTP鯖のキューに置くまでの時間=PHPのメール処理

そうか??
俺の計測した感じだと、mb_send_mailはMTAからの返り値(成功かエラーか)を
受け取って初めて処理が完結してるようだけど?

つまり、
・SMTP鯖のキューに置いて、処理結果を受け取るまでの時間=PHPのメール処理(すなわちMTAの処理時間も包含)

797 :軟式PHP:2007/03/15(木) 02:43:00 ID:???
>>790
自分で関数作ってしまうという手も。
<?php
$text = "9AD3EBA09F";

print "ORG:".$text."<BR>";
print "C0:".cutbin($text,0)."<BR>";
print "C1:".cutbin($text,1)."<BR>";
print "C2:".cutbin($text,2)."<BR>";
print "C3:".cutbin($text,3)."<BR>";
print "C4:".cutbin($text,4)."<BR>";

function cutbin( $text, $len )
{
$wrk = sscanf($text,join("",array_fill(0,($len+1),"%2x")));
return sprintf("%X",$wrk[$len]);
}

--結果--
ORG:9AD3EBA09F
C0:9A
C1:D3
C2:EB
C3:A0
C4:9F
?>

798 :nobodyさん:2007/03/15(木) 02:47:28 ID:???
>メールを送信する処理自体はSMTP鯖だろうから一概にPHPが駄目とはいえないと思う。

ちなみに、仮にmb_send_mailの処理がMTAにキューを置くだけで完了するんだとしても、
とにかくmb_send_mail()の有無でスクリプト全体の処理時間が何十倍も違うので、
やはり>>791のような現象は、この関数の処理速度に起因しているのは間違いない。


>mb_send_mailで時間がかかってるってのはどこまでの範囲なんだ?
範囲もクソもないよ。だって、mb_send_mail()の行がある場合と、その行だけコメントアウトした場合とで
処理時間の差を計測したので、ズバリmb_send_mail()自体の処理時間が分かるわけだ。

799 :792:2007/03/15(木) 03:29:33 ID:mSGG4ywR
>>796
>>798

OH!なるほど。

ちなみにmb_send_mailの処理は内部的にどうなってるんだろうな?
もしSMTP鯖に置く処理がメインならやっぱり処理速度はSMTP鯖
のスペックなり設定でかなり変わってきそうだと思うんだけどどうだろう?

800 :nobodyさん:2007/03/15(木) 03:32:39 ID:???
> mb_send_mail
PHP側の処理時間なんてほんの一瞬。
99%はsendmailのプロセス終了待ち時間。
PHP側ではどうしようもない。
SMTPのパフォーマンスをチューニング出来ない環境ならあきらめろ。

801 :nobodyさん:2007/03/15(木) 03:56:59 ID:???
そういう場合、たとえばqmailだったらどこをどうチューニングすればいいんじゃろ??

802 :nobodyさん:2007/03/15(木) 05:06:10 ID:???
さあ。受け付けたらキューに登録するだけにしてすぐに正常ステータスを返すようにするとか。
大改造だと思うけどどうなんだろうw

803 :nobodyさん:2007/03/15(木) 05:34:19 ID:0Uy9YRyX
注文内容を自動的にメール送信するスクリプトを作成中です
画像つきで注文内容が一目でわかるようにしたいので 添付ファイルつきか
HTMLメールで送信したいと思っています
添付ファイルのほうがいいかな? と言う気がするのですが 添付ファイル
で送信するとして phpからhtmlデータをファイル化することなくメール送信
することは出来るのでしょうか?
(メール内に個人情報が入るのでファイルとして残したくないのです)

アホな質問ですいませんが ご回答いただけるとうれしいです

804 :nobodyさん:2007/03/15(木) 05:43:01 ID:???
ifとswitchはどちらが高速ですか?
またforとforeachはどちらが高速ですか?

805 :nobodyさん:2007/03/15(木) 06:34:06 ID:???
>>804
変わんない

806 :nobodyさん:2007/03/15(木) 07:43:32 ID:???
>>804
気になるなら自分でテストできるじゃん

807 :nobodyさん:2007/03/15(木) 07:47:49 ID:???
>>803
できるんじゃない?

808 :nobodyさん:2007/03/15(木) 08:56:58 ID:???
>>803
お前、何をワケのわからんこと言ってるんだ・・・
メールとして送る時点で既にファイル化されてるわけだが。

保存されては困る個人情報なら、そもそも書くな。

809 :nobodyさん:2007/03/15(木) 09:31:44 ID:7XZoL+s0
初めまして。
もの凄く初歩的な質問だと思いますが教えて下さい。

変数に代入する値はどんなものであっても、
phpスクリプトの内容に影響を及ぼさないのでしょうか?
出力時、SQL文の実行時とは別で。

例えば、セミコロンを入力されると、内部でステートメントを区切られちゃうとか。
if文とかを書かれるとそれが実行されちゃうとか。
これは流石にないと思いますが…

810 :nobodyさん:2007/03/15(木) 09:36:48 ID:???
変数にはどんな文字列を入れてもOK☆

811 :nobodyさん:2007/03/15(木) 09:38:57 ID:???
>>809
アホかお前。
そんな間抜けな言語あるか。

っていうかお前みたいな奴は絶対にeval関数を使っちゃダメだからな。

812 :808:2007/03/15(木) 10:00:42 ID:???
>>810
ありがとうございます。
安心しました。

>>811
ありがとうございます。
そうですよね、質問しててこんなんだったら成り立たないなとか思いました。
なんかエスケープ処理とかそういうのを検索してたらワケがわからなくなりまして。
絶対にeval関数使わない様にします。

813 :nobodyさん:2007/03/15(木) 10:18:55 ID:???
>>803は今すぐプログラムやめたほうがいいよw
こんなのが同じPHPやってると思うだけで嫌気がするぜ

814 :nobodyさん:2007/03/15(木) 10:38:29 ID:???
>>772
get_class_vars

815 :803:2007/03/15(木) 11:03:47 ID:???
すいません 日本語ができてないなためご迷惑をおかけしました
あとphpマニュアルを読まずに質問したのは浅はかだったと反省しております

>>808
「ファイル化されていないものは添付ファイルとして送信できない」という
ことでしょうか?
今調べると PEARのMail_Mimeで ファイル化されていないものを添付ファイル
として送ることが出来そうだと言うことがわかったのですが これを利用した
場合も 一旦サーバ内のどこかにファイルが作成されると解釈すべきなので
しょうか?

それとも mail関数で送信した内容は プレーンテキストを含め 全て一旦
サーバ内に保存されるという意味でしょうか?

表現力も読解力もなくて本当にすいません…


>>813
不快な思いをさせてしまい 大変失礼いたしました

816 :nobodyさん:2007/03/15(木) 11:43:23 ID:???
>>815
元々画像ファイルがあればそのままバイナリで
読み込んで添付する事はできるしテキストもどこかに保存されるわけじゃない
メールとして送られるキュー状態を「ファイル化」というならともかく
何を持って「ファイル化」と言っているのか知らないが

問題はそんなことより注文したら画像付きのHTMLメールが
送られてくるなんてありがた迷惑も
甚だしいというところなんじゃないだろうか
商品を見てよし買おうというステップを踏んで買ってるのに
その画像が送られてきてもね

817 :nobodyさん:2007/03/15(木) 11:56:22 ID:9KVNC1ES
($hoge['hoge'] == 'fuga') ? true : false;

この文って、excelのif関数の
=if(a1="fuga",true,false)

と同じなんですか?

ふと思いまして、突然質問してしまいましたが、よろしくお願いします。

818 :nobodyさん:2007/03/15(木) 12:06:27 ID:bQrJdpxg
file_get_contentsでxmlファイルが403で開けないのですが回避策など
ありますでしょうか?

819 :803:2007/03/15(木) 12:10:02 ID:???
>>816
ご丁寧な説明ありがとうございます
そして説明がいまだに不十分であったことをお詫びいたします

添付したいファイルはHTMLです
画像を添付するのではなく HTMLを添付してそこに画像へのリンクを
挿入することで確認してもらう予定です
(当然ながら事前に確認してもらうフォームは設けております)

HTMLのデータを変数に設定してメール送信して その変数の内容がサーバに
保存されることなく HTMLの添付ファイルとして送信することが可能かどう
か知りたかったのです
(添付ファイルよりHTMLメールのほうがいいならそちらを検討しますが)

「買ったあとに画像を見せられても…」についてはおっしゃる通りかもしれ
ません
ただ 当方ではカスタマイズ商品を扱っており オプションが細かいことから
商品を受けたあとに「こんな感じで注文した覚えはない」と言うクレームが
発生しがちなのです
無駄なクレームを減らすために「あなたはこういった注文をしましたよ」と
いう わかりやすい確認メールを画像付きで送りたいと思っています

820 :nobodyさん:2007/03/15(木) 12:19:56 ID:V8NaW7u1
>>818
xmlファイルの読み取り権限をチェックしろ

821 :nobodyさん:2007/03/15(木) 12:27:30 ID:???
>>819
可能かどうかなら可能

ということでこの質問は終了とさせていただきます。

822 :nobodyさん:2007/03/15(木) 12:37:34 ID:bQrJdpxg
>>820
RSSのxmlでブラウザでは開けるんだけどね
PHP側の問題ではないの?

823 :nobodyさん:2007/03/15(木) 12:50:26 ID:wd/M4m1q
$array = array(
'a' => 'あああ',
'b' => 'いいい',
'c' => 'ううう',
'd' => 'えええ'
);

print $array['a'];
print $array['b'];
print $array['c'];
print $array['d'];

としたときに、$array['a']だけ出力されません。

$array = array(
'b' => 'いいい',
'a' => 'あああ',
'c' => 'ううう',
'd' => 'えええ'
);

としたら、$array['b']だけ出力されません。つまり、$array[0]が出力されないのです。

print_r($array);

とすると、出力されない値もちゃんと存在することが確認できました。この原因はなんなのでしょうか?ご存知の方、良ければご教示ください。

824 :nobodyさん:2007/03/15(木) 12:54:47 ID:???
>>823
途中でarray_shiftを使っているとかでは?

825 :nobodyさん:2007/03/15(木) 12:58:11 ID:wd/M4m1q
>>824
いえ、途中経過で$arrayはいじってません。
関数の引数として渡しているだけです。

826 :nobodyさん:2007/03/15(木) 13:11:17 ID:???
>>823
出力結果の見方を間違ってるとかじゃ?
これってHTMLに出力してブラウザで見てるの?

827 :nobodyさん:2007/03/15(木) 13:24:21 ID:???
>>819>>803
マジでお前にはプログラミングは向いてないから3秒以内に辞めたほうがいいと思う。
センスも無ければ、知識も無い。
自らメールなどの仕様を調べる努力もしない。
ダメだこりゃ。

828 :nobodyさん:2007/03/15(木) 13:25:31 ID:???
粘着きもいです

829 :nobodyさん:2007/03/15(木) 13:59:33 ID:???
情報小出しはご遠慮願います

830 :虚弱PHP:2007/03/15(木) 15:03:54 ID:???
煽りはスルーでお願いします。

>>823
多分、単なる記述ミス。
記述ミスの可能性がないなら最小再現コードを貼り付けるべし。
>>823そのままでも再現するの?

831 :nobodyさん:2007/03/15(木) 16:54:10 ID:???
class Cls {
  function ClassMethod() {
    print 'class:' . get_class($this);
  }
}
class Hoge {
  function __constuct() {
    ClsMtd::ClassMethod();
  }
}
$hoge = new Hoge();
の出力が
class: Hoge
となるんだけども、$thisのスコープはどうなってんのる。

832 :nobodyさん:2007/03/15(木) 16:56:50 ID:zc90m/Wc
>>741です 今だに文字が?になります
UTF-8→EUC-JPに変更しても駄目でした
色々なサイトを参考にphp.iniを変えて
みたのですが文字が?なってしまいます

どなたかご教授を・・・

833 :nobodyさん:2007/03/15(木) 17:20:26 ID:???
>>831
WinXP php5.2.1では何も表示されないぞ

問題あるなら環境かけよと

834 :軟式PHP:2007/03/15(木) 17:30:11 ID:???
>>832
「 phpmyadmin skip-character-set-client-handshake 」
をキーワードにぐぐってもだめかい?
自鯖なら俺はnavicatとか使うタイプなのであんま詳しくわからんけど('A')
あと海外レン鯖でphpmyadmin使った時、マルチバイトが全部????になったけど
データベースや各テーブルなどの全ての照会順序をeucjpms_japanese_ciにして
データを入れなおしたら普通に表示されるようになったよ。

835 :nobodyさん:2007/03/15(木) 17:33:55 ID:+HEWAk65
832です
急用が出来て携帯からです
Win XP 98SE でもダメ

836 :nobodyさん:2007/03/15(木) 17:34:56 ID:???
>>832
データベースに入っている文字の時点で
化けているのか?
それとも表示だけば化けているのかによって
対応も変わる。

データベースに入れたデータも化けているのなら
phpmyadmin skip-character-set-client-handshake
で解決するはず。
一度データベースをきれいに消して作り直して
試してみれば?

837 :nobodyさん:2007/03/15(木) 17:35:54 ID:???
>>832
その環境が特殊すぎて、もはやアドバイスすることが
ないぞ

838 :nobodyさん:2007/03/15(木) 17:41:04 ID:???
>>831
__constuctとかClsMtdとかテキトーな事ばっか書いてんじゃねぇ。
あと本題はマニュアル嫁。
http://jp.php.net/manual/ja/language.oop5.basic.php

839 :nobodyさん:2007/03/15(木) 17:41:51 ID:+HEWAk65
>>8341有難うございます
euc‐jpm…にはしたのですが…

スイマセン ハンドではググてませんでしたm(__)m

840 :nobodyさん:2007/03/15(木) 17:42:50 ID:???
>>831
注意: 擬似変数 $this は、メソッドが静的にコールされた場合に
常に定義されるわけではありません。
しかし、はっきりしていることは: もしメソッドが別のオブジェクトから
静的にコールされている場合は $this が定義されるということです。
この場合、$this は呼び出し元のオブジェクトとなります。



841 :nobodyさん:2007/03/15(木) 17:45:49 ID:+HEWAk65
>>836有難うございます
PHPMYADMIN内では?にはならず通常に表示されます

XP & 98SE

842 :nobodyさん:2007/03/15(木) 17:50:05 ID:???
>>841
それって、DBにはちゃんと格納されているってことなのか?
なら、表示させようとしているページの方が問題じゃないのか

というか、phpmyadmin 内ではなく、sql を自分で発行して
テキストファイルに出力したりして確認したほうがいいぞ



843 :nobodyさん:2007/03/15(木) 18:01:34 ID:???
クラスの中でコールバック関数を呼び出すことは無理ですか?

class aaa{
public static function rep($str) {
$s = preg_replace_callback("/([0-9a-z]+)/", self::callback(), $str);
return $s;
}

public static function callback() {
return "####";
}
}

echo aaa::rep("あいうabc123えお");

結果
Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2,
'####', to be a valid callback

844 :軟式PHP:2007/03/15(木) 18:04:44 ID:???
>>843
おしい。
$s = preg_replace_callback("/([0-9a-z]+)/", array("aaa","callback"), $str);


845 :843:2007/03/15(木) 18:12:48 ID:???
>>844
おお、できましたありがとう
関数名の指定がおかしいんだとばかり思っていじくりまわしてた
まさか配列で指定する方法があるとは

846 :虚弱PHP:2007/03/15(木) 18:27:54 ID:???
>>845
callback という擬似的な型がある。
http://www.php.net/manual/ja/language.pseudo-types.php

あ、そうかPHPって基本的に型を意識しない言語だから、
普通の人はマニュアルに書いてある型も無視しちゃうのか。

847 :nobodyさん:2007/03/15(木) 20:24:22 ID:/iEh48++
すいません質問です
削除機能がついたゲストブックを作っています

投稿する項目は name と comment があり、
$name|$commentとしてlog.txtの同じ行に書き込まれます。
次に投稿された内容は、前のコメント内容の次の行に書き込まれます。

admin.php という管理画面で、
log.txtから投稿された書き込み一覧を取得し、各行をforeachでループ処理させ、
その中から削除したい行を選択しつつ、del.php へ移動し、
選択された行を削除したいのですが、
del.php からの特定の行を削除する方法がわかりません
解決策を教えていただきたいです。
-----------
続きます

848 :847:2007/03/15(木) 20:24:54 ID:/iEh48++
admin.php

<?php
$filename = 'log.txt';
$line_list = file($filename);

foreach ($line_list as $line_number => $line) {
//各行をそれぞれ | で $name と $comment に分割
list($name, $comment) = explode("|", $line);
echo "名前: ".$name."<br>コメント: ".$comment."<br>";
//「削除する」が選択された行が第何行目なのかを把握し、del.phpに移動
echo "<a href=\"del.php?linenumber=$linenumber&mode=delete\">削除する</a><hr>";
}
?>
---------------------------------------------------
del.php

<?php
$filename = 'log.txt';
$line_list = file($filename);
$line_number = $_GET['line_number'];

//admin.phpで選択された行を削除したいのですが、ここからがわかりません どうかよろしくお願いします。

849 :847:2007/03/15(木) 20:26:19 ID:/iEh48++
すいません
インデントがありませんでした
見難くなってしまいました
すいません

850 :虚弱PHP:2007/03/15(木) 20:32:37 ID:???
>>847
全部読み込んで、削除する行を消したら、全部書き込み。

DB使った方が楽だと思うよ。
SQLiteなら設定いらないしファイルベースだから面倒じゃないでしょ。

851 :847:2007/03/15(木) 20:51:44 ID:/iEh48++
>>850
アドバイスありがとうございます
全部読み込むというのはわかるのですが、
行の削除というやり方がわかりません
すいません

852 :虚弱PHP:2007/03/15(木) 21:25:20 ID:???
>>851
1.行毎に読み込む
→削除する行は読み飛ばし
2.file()で配列に
→配列の指定行をunset

853 :nobodyさん:2007/03/15(木) 21:30:05 ID:???
欠番作るなら良いけど、そうでない場合はライン指定だけで削除するのはキモイと思う

854 :847:2007/03/15(木) 21:34:21 ID:???
>>852
ありがとうございます
なんか光明が見えてきた気がします
精進します

>>853
キモイというのはどういうことですか?
スマートじゃないってことですか?
データの管理の仕方として危ういってことでしょうか?

855 :虚弱PHP:2007/03/15(木) 21:53:37 ID:???
キモイかどうかはわからんけど、
確かに投稿したけど削除したのと、
投稿していないのは違った方がいい場合が多いよね。

結構定番なのは、「削除済み」フラグだけ立てといて、
実際の削除はいつかやるってのじゃないかな。

856 :nobodyさん:2007/03/15(木) 23:53:59 ID:???
mixiのニュースってどっからとってるの?
社員が更新してるの?

857 :nobodyさん:2007/03/16(金) 00:23:25 ID:Isw9h1zM
xss防ぐのにpreg_quoteつかったら駄目でしょうか?

858 :790:2007/03/16(金) 00:36:59 ID:???
>>793-795
>>797
sscanf()でできた
サンクス!

859 :nobodyさん:2007/03/16(金) 00:41:05 ID:???
http://example/a/001/というところがあるとします。
001ディレクトリにはいろんなファイルが入っているとします。
このディレクトリのファイル一覧を取得したいと思いますがエラーで困ってます。

$dir = "./";
$file = scandir($dir);

↑このように相対パスで指定してやるとうまく動くのですが、

$dir = "http://example/a/001/";
$file = scandir($dir);

↑のように絶対パスで指定してやるとワーニングでエラーが返されます。

scandirは相対パスでしか指定できないのでしょうか?
他にやり方がございましたらご教授お願いいたします。

860 :859:2007/03/16(金) 00:41:36 ID:h6PC42v/
IDだします。ごめんなさい。

861 :nobodyさん:2007/03/16(金) 00:43:05 ID:???
>>859
""を''でもむり?

862 :nobodyさん:2007/03/16(金) 00:45:07 ID:???
マヌアルに書いてある通り、普通だとURLは使えないんじゃないの?

863 :nobodyさん:2007/03/16(金) 00:56:04 ID:h6PC42v/
レスをヒントにマニュアルをひいてみたらURLはPHP.iniの設定を変更しないと無理みたいですね。
相対パスであきらめます。
相談に乗って頂きましてありがとうございます。

864 :nobodyさん:2007/03/16(金) 02:42:03 ID:???
>>859
その絶対パスってのは
/var/www/html/とかでは無いの?

865 :nobodyさん:2007/03/16(金) 03:31:28 ID:/0oeqwmM
Vistaのローカルホストでfile,fike_get_contents系、ソケット系の関数にURLを指定すると、

Warning: file(http://localhost/...) [function.file]: failed to open stream:
接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。
または接続済みのホストが応答しなかったため、確立された接続は失敗しました。

Fatal error: Maximum execution time of 60 seconds exceeded

ってなってしまうんだけど、Vistaじゃ出来ないでしょうかね?
環境は、ホームプレミアムでXAMPP 1.60aを使用(Apache/2.2.4,PHP/5.2.1)
php.iniの設定が変わってるわけでもないし、PukiWikiなんかは動くし、
サーバが原因なのかPHPが原因なのかだけでも分かると良いんですが

866 :nobodyさん:2007/03/16(金) 03:45:16 ID:???
Vistaじゃ無理。PHPやるならMEが最適。

867 :nobodyさん:2007/03/16(金) 04:43:02 ID:???
>>865
ファイアウォールとかじゃないの?

868 :nobodyさん:2007/03/16(金) 07:19:48 ID:???
>>865
localhostを127.0.0.1に書き直してみたらどう?

869 :nobodyさん:2007/03/16(金) 10:31:20 ID:???
いまVistaで開発やるやつってのは自分で自己解決できるぐらいの中級以上を推奨する。
なんせ情報が出回ってないんだから。

870 :nobodyさん:2007/03/16(金) 11:16:32 ID:???
こんにちは
マクロメディアのソフトみたいに
入力支援や、カーソルのある関数に
プロパティウインドからパラメータを書き換えられるものってご存知ありませんか?

871 :nobodyさん:2007/03/16(金) 11:20:32 ID:ZEr5WJOq
XMLを配列に格納してくれるような関数はないのでしょうか?

872 :871:2007/03/16(金) 11:39:22 ID:ZEr5WJOq
simplexml_load_fileで事故解決しました!
PHPは奥が深いですね


また別の質問になってしまうのですが、
「Fri, 16 Mar 2007 09:49:43 +0900」
このような形式の文字列をtime()で取得した形にどうやって直せば良いのでしょうか?

873 :871:2007/03/16(金) 11:41:29 ID:ZEr5WJOq
いきなりですが、
$date = "Fri, 16 Mar 2007 10:41:40 +0900";
echo time($date);
で取得することができました^^;

874 :871:2007/03/16(金) 12:00:16 ID:ZEr5WJOq
よく見ると取得できていませんでした・・・

875 :nobodyさん:2007/03/16(金) 12:06:34 ID:???
質問です。
phpファイルの一部をcgiで動作をさせるんですが
htaccessで次を記述しますが
<files ○○.php>
AddHandler application/x-httpd-phpcgi .php
</files>

このhtaccessはcgiで動かそうとしてるphpと同じフォルダにいれないと動作しないでしょうか?

例えば
一番上の階層abc(フォルダ)---abcd(フォルダ)2階層目
                     |
                     abc.php
|
abcd.php
このようなファイル構成になってるとしまして
htaccessをabcフォルダ上に置いて下の階層のabc.phpをcgiで動作させるために
<files ./abc.php>
AddHandler application/x-httpd-phpcgi .php
</files>
このようにして動作するのか教えてください。
   

876 :nobodyさん:2007/03/16(金) 12:24:17 ID:5GbGG00d
simplexml_load_fileってitemの日付は取れないのかな?

>>873
自分で変換しないとだめだったはず〜

>>875
よくわからんが、<files ./abc.php>っておかしくない・・・

877 :nobodyさん:2007/03/16(金) 13:05:57 ID:???
>>875
どっちかというと、apache の質問だな

878 :nobodyさん:2007/03/16(金) 13:14:18 ID:???
>>875
ちなみにそれ、同じディレクトリに入れれば動作したの?

879 :nobodyさん:2007/03/16(金) 13:18:56 ID:???
>>875
<Files ./abc.php>という指定だとカレントディレクトリのabc.phpにしか適用されないと思うんだが。

880 :nobodyさん:2007/03/16(金) 14:37:01 ID:y0HaZbOz
PHP4.3.11でDOM XMLを使いたいんですが、
phpinfoを見るとconfigureのところは
'--with-dom=shared,/usr' '--with-dom-xslt=/usr' '--with-dom-exslt=/usr'
と書いてあるのに、DOM XMLが有効になっていません。
この場合、何を確認すべきでしょうか?

PHPマニュアルには
「このPECL拡張モジュールはPHPにバンドルされていません。」とあるのに、
PECLの方の説明を見ると(http://pecl.php.net/package/domxml
「NOTE: if you're running PHP 4.x, the domxml is already part of the distribution.」
と書いてあって、元から入ってるのか入ってないのかよくわかりません…。

881 :865:2007/03/16(金) 15:08:03 ID:IT8kjYuc
>>866-869
返答有り難うです
いま外出先なんで、後で>>867-868辺りを見てみます
無理なら無理で全部動かなければ楽に諦めがつくのに

882 :nobodyさん:2007/03/16(金) 15:16:14 ID:???
>>880
入ってる(エクステンション自体はついてくる)けど、リンクするようになってない(php.iniで設定されてない)んだよ。
とりあえずphp.iniにextension=〜を書けばいいだけ。

883 :nobodyさん:2007/03/16(金) 16:23:55 ID:y0HaZbOz
>>882
ヒントありがとございます!

今php.iniに
extension = domxml.so
extension = xslt.so
って書いてapache再起動してみたんですけど、
依然として有効にならない…。
他に確認しておくべき設定とかありますか?

884 :nobodyさん:2007/03/16(金) 16:52:52 ID:???
>>882
本当に/usrなのか?

885 :nobodyさん:2007/03/16(金) 16:53:59 ID:???
つられた安価ミス
>>883

886 :nobodyさん:2007/03/16(金) 17:22:15 ID:/N5iNfEC
MYSQLにて

mysql> GRANT ALL PRIVILEGES ON *.* TO guest@"%" IDENTIFIED BY 'pass';

を実行しguestユーザーを作成

PHPにて
<?mysql_connect('localhost', 'guest', 'pass');?>
接続OK

<?mysql_connect('123.456.789.123, 'guest', 'pass');?>
接続NG
なんだが、
別のサーバーからDBに入っている情報を取り出したいのだがどうしたらいいのですか?

887 :nobodyさん:2007/03/16(金) 17:24:39 ID:???
>>886
それはmysqlのとこで質問した方がいいと思う。

888 :nobodyさん:2007/03/16(金) 17:35:25 ID:???
サーバーサイドのMySQLの設定もあるしなぁ

889 :nobodyさん:2007/03/16(金) 17:38:43 ID:???
これでコマンドラインのmysqlクライアントでは繋がるがPHPではダメ、
という話であればここで回答できるとは思うけど。

890 :nobodyさん:2007/03/16(金) 17:55:38 ID:???
>>886
grant したあとちゃんと
mysql> flush privileges;
で権限設定の再読み込みしてる?

891 :nobodyさん:2007/03/16(金) 17:58:45 ID:???
>>886
あと今読み返して不思議だったのが
`guest`にgrantしたあとで`guest`を作成したの?
順番逆じゃね?

892 :nobodyさん:2007/03/16(金) 18:21:16 ID:???
現在半ニートの求職状態で困ってます
PHPで仕事をしたいと思ったのですが、PHPはまったくの未経験です。
未経験歓迎の会社は
「まったくの素人でも大丈夫!3ヶ月の研修で一人前に!」
なんてところが多くて、ありがたいのですが、そういうところは派遣で飛ばしてるところが多いので信用できません。
やはり最初から技術を身につけて少しでもまともなところに行くべきだと思っています。
そこで、一般的にこのくらいのレベルになれば雇ってもOKみたいな基準はあるのか教えてください。

893 :nobodyさん:2007/03/16(金) 18:26:02 ID:???
未経験なのに派遣が嫌とかって・・・

894 :nobodyさん:2007/03/16(金) 18:33:18 ID:???

   ∩___∩     /
   | ノ      ヽ  /
  /  >   < |/ そんな餌パクッ
  | //// ( _●_)/ミ
 彡、     l⌒l  ノ
 / __  \ \ヽ
. (___)   \__)
. O|       /
  |  /\ \
  | /    )  )
  ∪    (  \
        \,,_)

895 :nobodyさん:2007/03/16(金) 18:34:36 ID:???
いや派遣が嫌なのではないんですよ
訳のわからないところいかされた経験があって
当時は東京すんでたので東京希望したんですけど山梨に通勤させられたりとか
まぁ、それはひと月でやめたんですけど、もうああいうのは嫌だなあと思ったので・・・


896 :nobodyさん:2007/03/16(金) 18:38:39 ID:???
機械設計でCADの仕事やってたんですけど、いきなりベトナムいけとか言われて
それ断って派遣の登録やめて実家に帰ったんですけど、ろくな仕事ないのでお手上げ状態でして\(^_^)/
PHPなら趣味でカウンタと掲示板を勉強したことがあったのでこれで仕事できないかなと思って書き込みました

897 :nobodyさん:2007/03/16(金) 18:52:26 ID:???
まぁ、ここでも見て就職活動の勉強しなさい。
ttp://news4vip.livedoor.biz/archives/50936230.html


898 :nobodyさん:2007/03/16(金) 18:58:18 ID:???
>>897

怖いですね

899 :nobodyさん:2007/03/16(金) 19:24:22 ID:???
>>892
SNS一式を頑張れば独力で開発できるくらい。

900 :nobodyさん:2007/03/16(金) 19:46:32 ID:???
経験って業務経験の有無だろ
カウンタと掲示板作れますって面接で言うのか。まぁ判断するのは企業だが。

901 :nobodyさん:2007/03/16(金) 19:48:53 ID:???
CADやってろw

902 :nobodyさん:2007/03/16(金) 19:56:30 ID:???
>>899
そんなの誰でも出来て当然だろ。
SNSってのはWebアプリに必須の(わりと枯れた)基本技術の
集合体なんだから。

903 :nobodyさん:2007/03/16(金) 20:03:08 ID:???
俺は専門学校時代にJAVAならってて、それで就職したんだけど
就活の時提出したのは、ホテルの予約サイトと通信販売のサイトだったよ。

バイトならゆるいと思うからバイトからも潜り込むってのも良いんじゃないかな。
俺が学生の時バイトしてた所は簡単な掲示板で採用された。

904 :865:2007/03/16(金) 20:06:21 ID:/0oeqwmM
>>868の通りIPアドレス指定にしたら取得出来ましたので、報告しときます
ファイアウォールは切っても関係ありませんでした(localhostでの取得不可

905 :nobodyさん:2007/03/16(金) 20:24:16 ID:???
>>892
せっかくだから作ってやったよ。
http://jimaku.in/w/TjCXdlPQraI/N_Xj1b_hnVz


906 :nobodyさん:2007/03/16(金) 20:30:09 ID:???
>>905
>>892が何を言いたいのかワカタ

907 :nobodyさん:2007/03/16(金) 20:33:01 ID:???
>>905
怪しいURLだからクッキー、JS、Javaきって画像読み込み禁止して、
万全の体勢でみたのに…普通に笑ったわ。

908 :nobodyさん:2007/03/16(金) 20:42:23 ID:???
>>905
超GJ!


909 :nobodyさん:2007/03/16(金) 21:22:03 ID:9jNqxHVU
PHP 4.3.9でdomxml使ってます。

<a>
 <b>
  ほげほげ<c>ふー</c>ばー
 </b>
</a>

こんなXML文書があって、bのノードを得てget_content()すると、
"ほげほげふーばー"という文字列が得られるのですが、
ここで"ほげほげ<c>ふー</c>ばー"という文字列を得るにはどうすればいいのでしょうか。

910 :nobodyさん:2007/03/16(金) 21:26:23 ID:???
それはXML文書ではない

911 :nobodyさん:2007/03/16(金) 21:46:05 ID:???
>>909
とりあえずwell formedでぐぐれ

912 :nobodyさん:2007/03/16(金) 22:05:21 ID:CwcSD/6v
post_max_sizeを超えるファイルがPOSTされた時に
エラーを取得する方法を教えていただけないでしょうか?


913 :nobodyさん:2007/03/16(金) 22:45:17 ID:73y/KabV
こんばんわ
今対戦告知掲示板を作っているのですが
終了時間をtime()の形で記録したいのですが
日付時間⇒time()と同じ書き方
にするような関数はありますでしょうか?


914 :nobodyさん:2007/03/16(金) 22:47:01 ID:LVHbCv/B
>>842遅くなりました 有難うございます
>それって、DBにはちゃんと格納されているってことなのか?
なら、表示させようとしているページの方が問題じゃないのか
<META http-equiv="Content-Type" content="text/html; charset=euc-jp">
<?php
// MySQL 接続
if (!($cn = mysql_connect("localhost", "root", "pas"))) {
die;
}
// MySQL DB 選択
if (!(mysql_select_db("eee"))) {
die;
}
// MySQL 問い合わせ
$sql = "select * from dddd";
if (!($rs = mysql_query($sql))) {
die;
}
// MySQL レコード参照
while ($item = mysql_fetch_array($rs)) {
print "${item['id']} ";
print "${item['aaa']} ";
print "${item['bbb']} ";
print "${item['ccc']}<BR>";
}
初心者なので、参考サイトから借りてきました



915 :nobodyさん:2007/03/16(金) 23:27:25 ID:???
>>914
それで文字化けじゃなくて"?"になるのか
そんなことあり得るのか

上の方でも出ていたけど
skip-character-set-client-handshake を my.cnf に
追加するか
EUC-JP なら set names ujis のクエリを
mysql_connect した後に1回発行したら
ちゃんと表示されると思うけどな




916 :nobodyさん:2007/03/16(金) 23:41:39 ID:LVHbCv/B
>>915有難うございます
もう一度がんばってみます。

917 :nobodyさん:2007/03/17(土) 00:04:08 ID:???
>>902
うん、だからWeb関連の基本的なアプリなら大体作れます、ってのが第一関門かなと。
それ以下の人なんて取っても仕方ないし。
でもとりあえずそんだけできれば就職はできないこともない。

918 :nobodyさん:2007/03/17(土) 00:27:18 ID:???
mb_send_mail を使ったメールフォームを作成しているのですが、
件名や本文に外部入力値を入れる場合、
エスケープが必要になりますよね?
何をエスケープすればいいんでしょうか。
, だけでいいんでしょうか?

919 :nobodyさん:2007/03/17(土) 00:33:37 ID:???
>>918
エスケープはいらないと思うけど


920 :nobodyさん:2007/03/17(土) 01:01:55 ID:???
どうでもいい下らない質問をさせてくれ!

PHPマニュアルで一番ページビューの多い関数って
なんだろうな?

今日仕事の休憩中にふと考え始めてもう気になって
仕方が無い!

なんか普通の関数(str_replaceとか)は態々PHPマニュアル
のおかしな日本語を読むよりも一般のサイトで調べるほうが
多そうだからやっぱりマイナーなモジュール(Curlとか?)の
方が多いのかな?

921 :nobodyさん:2007/03/17(土) 01:03:22 ID:???
array関連のどれかと見たが。

922 :nobodyさん:2007/03/17(土) 01:05:14 ID:???
mysqli関連最近よく見てる

923 :nobodyさん:2007/03/17(土) 01:08:18 ID:???
>>921
確かに配列系は多いかもわからんね

924 :nobodyさん:2007/03/17(土) 01:08:57 ID:???
おれは emacs 使っているから、公式を見に行くことが
多いな
それでも、一番調べる回数が多いのは
preg_***系かな

925 :nobodyさん:2007/03/17(土) 02:03:11 ID:???
>>905
カウンタと掲示板を勉強したことあるPHP未経験者ワロスw

926 :nobodyさん:2007/03/17(土) 02:32:46 ID:???
>>913
strtotime

927 :nobodyさん:2007/03/17(土) 02:44:32 ID:???
>>912
ttp://ml.php.gr.jp/pipermail/php-users/2005-February/025182.html
によると「検知できない」らしい。

928 :nobodyさん:2007/03/17(土) 02:49:48 ID:Yu+qWlMp
PHP5.2.0で

$str="おねがいします!aaaaaa";
$str = mb_ereg_replace("/([a-z]+)/", '<b>\\1</b>', $str);

これ、!と?があると化けませんか?

929 :nobodyさん:2007/03/17(土) 03:05:53 ID:???
>>928
内部エンコーディングとそのソースのエンコーディングがあっているかどうか確認せよ。

930 :nobodyさん:2007/03/17(土) 09:59:16 ID:???
>>905
ワロタ

931 :nobodyさん:2007/03/17(土) 10:01:23 ID:5F59V2eB
正規表現の本探してるんだが
おぬぬめないかな?
PHPとCって正規表現同じだっけ?

932 :nobodyさん:2007/03/17(土) 10:31:46 ID:???
>>931
オライリーが正規表現っていう本出してるよ

933 :928:2007/03/17(土) 12:12:51 ID:???
ソースshift_jisで頭に
mb_internal_encoding('SJIS');
mb_regex_encoding('SJIS');
かましてあります

HTMLタグの<前に0x810x40-0x60あたりの2バイト文字があると化けるようです
とりあえず<の前に全角スペースを入れることで一時回避
それでも化けるけど、HTMLタグが機能しないという最悪の状態は免れられるようなので

934 :nobodyさん:2007/03/17(土) 12:51:29 ID:???
>>905の開発者のインタビュー見たがすごいな。
高卒で21歳最年少ヤフー入社。
23歳でライブドアCTO。
25歳現在無職とか最強すぎる。

935 :928:2007/03/17(土) 13:13:37 ID:???
すいません
ローカルでは
mb_internal_encoding('SJIS');
mb_regex_encoding('SJIS');
入れてあったのに、リモートでは入れてなかったorz
最悪だ
昨日夜中まで文字コード調べたりなんやかんややってたのにorzorzorz

936 :909:2007/03/17(土) 14:21:54 ID:3ZIBkJLf
>>910-911
整形式になっていないですか。xmllintにかけても問題なかったんですが。

937 :nobodyさん:2007/03/17(土) 15:16:56 ID:???
class Human {
function sleep(){}
function work(){}
}
class CEO extends Human {
function work(){}
}
で、継承されたものではなく、CEOクラスそのものにworkやsleepが存在するか調べる方法ってありますか?
関数とクラス・オブジェクトの項目を読んで見たのですが分かりませんでした…。

938 :nobodyさん:2007/03/17(土) 15:20:34 ID:???
>>936
タグとして認識されてるんじゃない?

939 :nobodyさん:2007/03/17(土) 15:27:20 ID:???
(゚Д゚)ハァ?

940 :nobodyさん:2007/03/17(土) 15:31:55 ID:???
>>934
>23歳でライブドアCTO。

どこにそんなこと書いてあるんだ。
お前は早合点のすっとこどっこいだな。

941 :nobodyさん:2007/03/17(土) 15:35:31 ID:???
ttp://www.mcdonalds.co.jp/sales/new/smileplus/index.php

#NAME?
ってどういうときに出るものですか?

942 :nobodyさん:2007/03/17(土) 15:44:56 ID:???
みんなはPHPひと筋なひとなんですか?
perlやJAVAもできる人が多いのかな


943 :nobodyさん:2007/03/17(土) 15:59:24 ID:???
>>942
Perl
Awk
C++
C
86ASM
Fortran
Pascal
COBOL
BASIC
辺りは仕事で使いました。

944 :nobodyさん:2007/03/17(土) 16:04:04 ID:???
>>937
method_exists('CEO', 'sleep')がfalseになってほしいってこと?
そんなの無理。継承した時点でCEOクラスにもsleepメソッドは存在する。

945 :nobodyさん:2007/03/17(土) 16:42:33 ID:???
>>943
スゴイですねぇ
僕はPHPしかできないんですよね
いくつかの言語を使い分けることにあこがれます


946 :nobodyさん:2007/03/17(土) 16:50:47 ID:???
PHPしかできないなんて信じられん

それって本当はPHPも満足に”できてない”んじゃねーの

947 :nobodyさん:2007/03/17(土) 17:04:00 ID:???
おい、誰か>>946に「キミはいろいろ使えるんだ、すごいね!」って言ってやれ。

948 :946:2007/03/17(土) 17:14:38 ID:???
>>947
本人か?
ここの住人は普通に多言語いける人ばかーりだと思うが

まあとりあえず憧れてる暇あったら、PHPできてるんなら1週間ほど勉強すれば
他のスクリプト系言語も少しは使えるようになるだろ。

949 :nobodyさん:2007/03/17(土) 17:58:16 ID:???
Lisp

950 :nobodyさん:2007/03/17(土) 18:38:22 ID:???
春爺が涌いてるなw

951 :nobodyさん:2007/03/17(土) 18:48:11 ID:???
軟式さんってHPもってますか?
たまたまグーグルから同名の会社のHPみつけたんですけど。

952 :軟式PHP:2007/03/17(土) 19:53:53 ID:???
>>951
いくつか持ってるよ。ひとつはフリーウェアのやつで某スレのテンプレに入ってる。
ゲームしない人は全く訪れないであろうマイナースレやけど。

>たまたまグーグルから同名の会社のHPみつけたんですけど。
ちょwwなにそれwww
kwsk。同名の会社って('A';;

953 :nobodyさん:2007/03/17(土) 20:01:52 ID:???
有限会社軟式

954 :軟式PHP:2007/03/17(土) 20:29:24 ID:???
>>953
サイト見てワロタ。残念ながら俺とは無関係です('A';)

955 :nobodyさん:2007/03/17(土) 20:40:33 ID:???
foreach ($A as $B => $C){
echo $C;}
というのがあるとして、
$C一覧をファイルに書き込みたいのですが、どうすればよいのでしょうか?

fopen($filename, "w" );
fwrite ($fp, ???);

956 :955:2007/03/17(土) 20:50:11 ID:???
あ、できたw


957 :nobodyさん:2007/03/17(土) 21:01:21 ID:???
>>955
$fp = fopen($filename, "w");
fwrite($fp, implode("\n", array_values($A)));
fclose($fp);

958 :nobodyさん:2007/03/17(土) 22:59:50 ID:qh3Deiz9
delphiのphp版が出るそうですが
使い心地はどんな感じになりそうですか?

959 :nobodyさん:2007/03/17(土) 23:11:11 ID:aRpV08Mf
PHP版のデバッガがまともに使えて、
Ajaxまわりのデバッガも統合してくれるのなら
わりとリッチなUIをソフトを作るのには
役に立つかも

あと、複雑なビジネスロジックを
組む必要があるひととか

960 :nobodyさん:2007/03/17(土) 23:13:28 ID:???
eclipseよりも軽ければ、Windows環境なら
使う人多くなるかもね


961 :nobodyさん:2007/03/17(土) 23:19:22 ID:???
馴れ合いは特定の板以外禁止だと言っておく。

962 :nobodyさん:2007/03/17(土) 23:35:30 ID:???
Linuxの自宅環境でmysql_connect()すると

Call to undefined function mysql_connect()
となります。
いろいろ調べてみるとリコンパイルしないとダメみたいなんですが
したのサイトを参考に
ttp://blog.livedoor.jp/gaiantbaba/archives/50127228.html
リコンパイルしようとするとこんなエラーがでます。
「ターゲット `clean' を make するルールがありません」

どうすればMySQLに接続できるでしょうか?

963 :nobodyさん:2007/03/17(土) 23:43:59 ID:???
>>962
./configureしなきゃMakefileは生成されない。
素直にディストリビューションのバイナリパッケージをインストールしとけ。

964 :nobodyさん:2007/03/18(日) 00:15:54 ID:???
>>962
Fedora Core のように apt 使って
パッケージをインストールできるのなら
apt-get install mysql-server
apt-get install php-mysql
でPHP + Mysql の環境が手に入るだろう
Centos みたいに yum 使うやつでも
yum install mysql-server
yum install php-mysql
でいける

何がなんでもソースからリビルドしたいっていうのなら
もはや、このスレの範疇から外れる

965 :nobodyさん:2007/03/18(日) 00:57:06 ID:???
>>964
できスマタ!
セックスベリーマッチョ!

966 :nobodyさん:2007/03/18(日) 01:16:30 ID:bI1rBwfw
apache2.0+php5.0+mysql5.0の環境ですが、mysqlに接続テストをしようと思い某本を元に413.phpというファイルを作りました。
ところがlocalhostからアクセスしてみると「ファイルを保存しますか?」というダイアログが出てくるだけです。
これはiniの構成の設定がまずいのでしょうか?

967 :nobodyさん:2007/03/18(日) 01:33:41 ID:F9igaXGh
マルチというかなんというか・・・

968 :nobodyさん:2007/03/18(日) 01:33:45 ID:???
>>966
いや、Apache側。httpd.conf。

969 :nobodyさん:2007/03/18(日) 01:48:21 ID:???
>>966
mysqlの前にPHPが動作して無いんじゃねぇか・・

970 :nobodyさん:2007/03/18(日) 02:00:18 ID:???
phpinfoは動いてるよ
Apacheちょっと調べて見ます。
ありがとう

971 :nobodyさん:2007/03/18(日) 02:06:19 ID:57Vv1IVv
すいません質問です
ゲストブックで、新規書き込み順に上から表示させたいと思っています。
書き込み内容を記録するtxtをlog.txtとし、書き込む内容を$kakiko とします
書き込み内容を、log.txtの先頭行にかきこませるにはどうしたらいいのでしょうか?

<?php
//$kakiko は投稿されたコメントに"\n"をつけ、ソース上で改行するようにしています。

$filename = "log.txt";
$fp=@fopen("$filename","a");
fputs($fp,"$kakiko");
fclose($fp);
?>

これだと過去の書き込み行の一番したに書き込まれてしまいます。
一番上に書き込みたいです。

972 :nobodyさん:2007/03/18(日) 02:09:39 ID:???
>>971
普通に一番したに書き込んで、
表示するときにarray_reverseでさかさまにすればいいんじゃね?

973 :nobodyさん:2007/03/18(日) 02:13:21 ID:57Vv1IVv
>>972
おおお できました
生き神様ありがとうございます

ありがたや ありがたや

974 :nobodyさん:2007/03/18(日) 02:14:27 ID:???
>>970
じゃあ、変なヘッダを吐き出してるんだと思う。
そんなコード書いたんだ。

975 :nobodyさん:2007/03/18(日) 03:04:24 ID:???
>>966
逆引きのmysqlのところにヘッダ吐き出すところなんてあったかな・・

976 :nobodyさん:2007/03/18(日) 06:00:56 ID:???
>>966
そのファイルを保存して中身見た?

>>971
"a"じゃなくて"r+"で開いて、全部読み込んで、ファイル空にして、
最新を1件書きこんで、さっき読み込んだ分を書き出す。

977 :nobodyさん:2007/03/18(日) 13:07:23 ID:PCUTa4CX
最近perlからPHPへ転向したばかりの物です。
長い文字列を変数に代入したい場合でシングル・ダブルクォーテーション共に
文字列に含まれている場合の囲い記号があればお教えください。
perlで書くところの $hoge=qq(文字列);



978 :nobodyさん:2007/03/18(日) 13:12:36 ID:???
ないよ。
php6を作ってる人にお願いすれば、できるようになるかもね。

979 :977:2007/03/18(日) 13:17:27 ID:???
>>978
ありがとうございました

980 :nobodyさん:2007/03/18(日) 13:38:41 ID:???
>>977
ヒアドキュメントを使えば?

981 :nobodyさん:2007/03/18(日) 13:39:54 ID:???
>>977
>長い文字列を変数に代入したい場合
こういうケースは、ヒアドキュメント使えばいいんじゃないの?
Perlでもあるでしょ?

$hoge = <<<EOD
this is a 'pen'
that is a "pen"
EOD;

982 :nobodyさん:2007/03/18(日) 16:23:57 ID:???
こっちのほうが基本っぽい感じはする

$test = "this is a 'pen' \n that is a \"pen\"";
print $test;

983 :nobodyさん:2007/03/18(日) 17:41:36 ID:zWBD4mpr
半角英数字以外の文字が入力された場合
半角英数字に置き換えるにはどうしたらいいですか?
【例】 あdgsi<>--234aaa
     変更後 ↓
    dgsi234aaa

984 :nobodyさん:2007/03/18(日) 18:02:37 ID:???
>>893
単純に半角英数字以外弾くということなら、

var_dump(preg_replace('/[^[:alnum:]]/','','あdgsi<>--234aaa'));

実行結果:string(10) "dgsi234aaa"

こんなところだろうか。

985 :984:2007/03/18(日) 18:03:11 ID:???
ごめん>>983ねorz

986 :nobodyさん:2007/03/18(日) 18:14:50 ID:zWBD4mpr
>>985
なるほど、ありがとうございます。

987 :nobodyさん:2007/03/18(日) 19:15:59 ID:p3CjS1/Y
Shift_JISで
<input name="あいうえお" value="かきくけこ">
と、nameにどうしても日本語を使いたいのですが、
nameが「メール」とかの時に
$_POSTの配列が壊れてしまったり、文字化けしたりで困ってしまいました。
Shift_JISに問題があることは承知なのですが、
携帯用サイトなのでUTF-8にするのも気がひけて…。
なにかいい方法はないでしょうか?

988 :nobodyさん:2007/03/18(日) 19:29:22 ID:???
>>987
nameに日本語使うやつがバカ
「どうしても」の理由を提示してください

989 :nobodyさん:2007/03/18(日) 19:33:58 ID:???
>>988
urlencode&urldecodeすれば?
%がHTML的にどうなのかは知らない
しかしなんでそんな気持ち悪いことを?
まあ気持ち悪いと思うこと自体、洗脳されてるのかもしれんがw

990 :nobodyさん:2007/03/18(日) 19:40:38 ID:p3CjS1/Y
>>988-989
レスありがとうございます。
いや、私も今まではこんなこと気持ち悪くてやる気にもならなかったんですが、
XMLのデータを検索するフォームを作ってまして、
そのXMLデータの中の要素名が日本語なんです。
このフォーム自体もXMLからXSLTで生成してる、っていう感じで…。
それでnameでXML要素名を紐付けられたらいいな〜って思いまして。

urlencodeしとくのよさげですね、もうちょっとがんばってみます。

991 :nobodyさん:2007/03/18(日) 19:40:57 ID:???
いや、半角記号と同じコードを多数含むSJISでそんな真似しようとするのは
気持ち悪いと思って当たり前だと思うし、そうでないなら頭どうかしてる

992 :nobodyさん:2007/03/18(日) 20:01:29 ID:???
>>990
自分で一から作ってるなら設計が悪いんじゃん。

993 :nobodyさん:2007/03/18(日) 20:24:34 ID:???
次ぎスレたててくれ〜〜〜〜

994 :nobodyさん:2007/03/18(日) 20:39:50 ID:???
>>993
これでいいか。

【PHP】下らねぇ質問はここに書き込みやがれ 42
http://pc11.2ch.net/test/read.cgi/php/1174217841/

995 :nobodyさん:2007/03/18(日) 21:55:30 ID:???
i-mode絵文字でバナナと上下矢印でシコシコになるんだね
知らなかったよ

996 :nobodyさん:2007/03/18(日) 22:05:45 ID:???
へー、シコシコ?

997 :nobodyさん:2007/03/19(月) 00:33:44 ID:???
梅田

998 :nobodyさん:2007/03/19(月) 00:37:31 ID:???
998ゲット
>>999プギャー

999 :nobodyさん:2007/03/19(月) 00:43:40 ID:???
>>1000
お前は明日死ぬだろう・・・

1000 :nobodyさん:2007/03/19(月) 00:43:53 ID:???
アベシ

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

268 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)