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

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

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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2012/02/26(日) 11:50:27.74 ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 114
http://kohada.2ch.net/test/read.cgi/php/1325437405/
【PHP】下らねぇ質問はID出して書き込みやがれ 113
http://kohada.2ch.net/test/read.cgi/php/1322564127/
【PHP】下らねぇ質問はID出して書き込みやがれ 112
http://hibari.2ch.net/test/read.cgi/php/1320005469/
【PHP】下らねぇ質問はID出して書き込みやがれ 111
http://hibari.2ch.net/test/read.cgi/php/1317232566/
【PHP】下らねぇ質問はID出して書き込みやがれ 110
http://hibari.2ch.net/test/read.cgi/php/1314692611/
【PHP】下らねぇ質問はID出して書き込みやがれ 109
http://hibari.2ch.net/test/read.cgi/php/1311803617/
【PHP】下らねぇ質問はID出して書き込みやがれ 108
http://hibari.2ch.net/test/read.cgi/php/1309599473/
【PHP】下らねぇ質問はID出して書き込みやがれ 107
http://hibari.2ch.net/test/read.cgi/php/1307228162/
【PHP】下らねぇ質問はID出して書き込みやがれ 106
http://hibari.2ch.net/test/read.cgi/php/1304064660/
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
3nobodyさん:2012/02/26(日) 11:50:57.18 ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

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

実装が中途半端なので使用しないこと。
本格的なオブジェクト指向言語に比較してパフォーマンスが劣ります。
7nobodyさん:2012/02/26(日) 12:28:18.88 ID:nCX4lbdW
24.パフォーマンスが悪いと感じられるとき

キャッシュを使用してください。
それでもだめならサーバーCPUのオーバークロックをお試しください。
8nobodyさん:2012/02/26(日) 12:32:32.67 ID:???
煽られたからって顔真っ赤にして書き込まなくてもw
9nobodyさん:2012/02/26(日) 12:34:44.68 ID:???
なんだ?このスレ。
10nobodyさん:2012/02/26(日) 13:24:09.10 ID:???
ネタなんだから反応しないでさ、
IDでてんだから、NGしろ馬鹿
11nobodyさん:2012/02/26(日) 13:30:33.46 ID:???
オブジェクト指向ってもともと実行パフォーマンスは悪いもんだろ?
12nobodyさん:2012/02/26(日) 13:32:50.53 ID:???
13nobodyさん:2012/02/26(日) 13:35:53.05 ID:???
アジャイルは低コスト短納期が目的
ハイパフォーマンス求めるならプロセッサ固有の命令セットでバリバリハードコーディングがオススメ

     ∧_∧
     ( ゚ω゚ ) コーディングは任せろー
 バリバリC□ l丶l丶
     /  (    ) やめて!
     (ノ ̄と、   i
            しーJ
14nobodyさん:2012/02/26(日) 13:36:16.35 ID:???
なんのことを聞いてるのかわからんし
15nobodyさん:2012/02/26(日) 13:39:02.05 ID:???
荒らしは反応されるのが一番のご馳走
飽きるまで放置
16nobodyさん:2012/02/26(日) 13:41:41.14 ID:???
>>6はPHPしか知らないだけのアホだと思う
PHPのコードが最適化されないことによる所以
ようはコンパイラとインタプリタの違いで片付く問題
オブジェク指向パラダイムでインタプリタのrubyはやはり遅い
17nobodyさん:2012/02/26(日) 13:45:05.12 ID:???
>>14
コピペした処理のパフォーマンスが悪くて怒ってるんだと思うよ
18nobodyさん:2012/02/26(日) 13:46:12.58 ID:???
まずOOとOOPの違いぐらい理解しとけ

って言いたくなるよな
19nobodyさん:2012/02/26(日) 13:59:27.16 ID:???
>>16
そのとおり。だからphpではOOPはほどほどに。
20nobodyさん:2012/02/26(日) 16:05:43.87 ID:???
流れが
21nobodyさん:2012/02/26(日) 16:23:06.84 ID:???
ビビルOOp
22nobodyさん:2012/02/26(日) 16:33:14.93 ID:Ty40dDQp
Array
(
[0] => Array
(
[0] => Array
(
[0] => 2
)

)

[1] => Array
(
[0] => Array
(
[0] => 1
)

)

[2] => Array
(
[0] => Array
(
[0] => 3
)

)
)

このような形の配列をarray_multisortでソートするにはどうすれば良いでしょうか?
23nobodyさん:2012/02/26(日) 17:44:47.55 ID:???
PHPはそもそもオブジェクト指向言語じゃない。
機能が一部後付されただけ。
PHPにパフォーマンスを求めること自体が間違っている。
24nobodyさん:2012/02/26(日) 18:40:14.70 ID:???
わかったから
25nobodyさん:2012/02/26(日) 19:06:52.11 ID:???
PHPでオブジェクト?ったく笑わせんな
ゴミに捨てろ
26nobodyさん:2012/02/26(日) 19:40:40.98 ID:???
>>22
クイズでも出してるつもりか?
教えてくださいだろ
27nobodyさん:2012/02/26(日) 19:48:42.94 ID:Ty40dDQp
>>26教えてください。お願いします。
28nobodyさん:2012/02/26(日) 20:02:44.08 ID:???
>>26

htmlspecialcharsはどのクラスのメソッドですか?
教えてください。
29nobodyさん:2012/02/26(日) 20:08:42.29 ID:???
30nobodyさん:2012/02/26(日) 20:12:02.43 ID:???
31nobodyさん:2012/02/26(日) 20:35:49.13 ID:???
PHPer、レベル低いね。
32nobodyさん:2012/02/26(日) 20:39:54.88 ID:???
33nobodyさん:2012/02/26(日) 21:19:56.33 ID:???
>>22
普通にならび変わるだろ?添え字上書きされるけど
34nobodyさん:2012/02/26(日) 21:43:28.72 ID:/kPpcXH5
>>33出来ませんでした。恐らく、

  [0] => Array
   (
    [0] => Array
      (
     [0] => 2
     [1] => 1
      )
    )
上の様な形でなく、  

  [0] => Array
    (
      [0] => Array
         (
           [0] => 2
         )
  [1] => Array
    (
      [0] => Array
         (
           [0] => 1
         )
     )

このように一つ一つ別になっているからだと思うのですが、このようなものをソートするやり方はあるのでしょうか?
35nobodyさん:2012/02/26(日) 21:49:04.84 ID:???
>>34

<?php
$data=array();
$data[0][0][0]='2';
$data[1][0][0]='1';
$data[2][0][0]='3';
array_multisort($data);

echo "<pre>";
var_dump($data);
echo "</pre>";

//こゆことじゃないんか?
36nobodyさん:2012/02/26(日) 22:03:34.87 ID:???
普通に動きましたよ。
/* コード */
$test = array(
array(
array(2)
),
array(
array(1)
),
array(
array(3)
)

);
array_multisort($test);
Zend_Debug::dump($test);
37nobodyさん:2012/02/26(日) 22:04:12.15 ID:???
/* 出力 */
[0] => array(1) {
[0] => array(1) {
[0] => int(1)
}
}
[1] => array(1) {
[0] => array(1) {
[0] => int(2)
}
}
[2] => array(1) {
[0] => array(1) {
[0] => int(3)
}
}
}
38nobodyさん:2012/02/26(日) 22:55:51.16 ID:Ty40dDQp
>>35-37ありがとうございました。
39nobodyさん:2012/02/27(月) 00:03:35.92 ID:hV/3kGWo
htmlspecialcharsはどのクラスのに所属するメソッドですか?
教えてください。
40nobodyさん:2012/02/27(月) 00:12:05.25 ID:???
( >д<)、;'.・ ファンクション
41nobodyさん:2012/02/27(月) 00:53:56.16 ID:???
>>39
htmlspecialcharsはphpの組み込み関数です
メソッドと関数の違いはわかりますか?w
42nobodyさん:2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
43nobodyさん:2012/02/27(月) 01:10:58.93 ID:hV/3kGWo
>>41
組み込み関数とはどういう意味でしょうか?
phpはオブジェクト指向言語ではないのですか?

>>42
そうなんですか!
44nobodyさん:2012/02/27(月) 01:21:29.62 ID:???
反応したら負け
45nobodyさん:2012/02/27(月) 01:27:31.61 ID:???
メソッドは引数を持たなく、関数は引数を持つ

メモメモ・・・・。
46nobodyさん:2012/02/27(月) 01:58:57.65 ID:???
42 名前: nobodyさん [sage] 投稿日: 2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
47nobodyさん:2012/02/27(月) 02:14:52.39 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます

そうなんだ・・・。
48nobodyさん:2012/02/27(月) 04:22:47.80 ID:???
>>43
if文とかfor文とかをオブジェクトとしてPHPに実装している凄腕なひとなんだな
ならもぉPHPやる必要ないよね〜
自分専用の言語作ったほうが早くない?
49nobodyさん:2012/02/27(月) 07:33:52.55 ID:???
ニートならできる
まあ頑張れよ(棒読み)
50nobodyさん:2012/02/27(月) 09:06:51.34 ID:???
>>48

>>43でもないんだけどオブジェクト指向言語のご経験は?


このスレは
質問する奴も馬鹿、答える奴も馬鹿
51nobodyさん:2012/02/27(月) 09:08:38.45 ID:???
52nobodyさん:2012/02/27(月) 09:10:12.74 ID:???
>>50
荒らしに反応してるのもな
53nobodyさん:2012/02/27(月) 09:32:22.59 ID:3PUrmhLe
適当に画像をうpして、作った画像アップローダーのテストしてたら、
mimeタイプがx-pngが出てきて、pngを許可にしてたが弾かれた、
x-pngってよく出てくるのでしょうか?
php歴2年で初めてみました。
54nobodyさん:2012/02/27(月) 09:47:49.06 ID:???
IE8以前とレガシーモードだな
55nobodyさん:2012/02/27(月) 12:48:43.03 ID:???
Ieは滅びろ
56nobodyさん:2012/02/27(月) 13:27:13.17 ID:???
>>55
CSSやHTMLレベルからやってんのかどうかわかる言葉だなw
57nobodyさん:2012/02/27(月) 13:43:58.51 ID:???
日本語でおk
58nobodyさん:2012/02/27(月) 13:44:04.60 ID:???
>>53
MIMEタイプをどう拾うかにもよるけれども
$_FILEで見てるならば、ブラウザの申告したものを見てることになる。
image/pjpegとか出てくるだろ。その環境だと。
59nobodyさん:2012/02/27(月) 15:13:08.80 ID:EtiAdS4g
【OS名】UNIX系(共用サーバーのため詳細不明)
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】

以下のようにすると、POSTで取得した値が2012-02-27になるのですが、
print '<td>' . $day . '<input type="radio" ';
print 'name="myday" value="2012-02-27">';


以下のように変数でいったん置き換えると0000-00-00になります。
$s = "2012-02-27";
print '<td>' . $day . '<input type="radio" ';
print 'name="myday" value=$s>';

どこがどう間違っているんでしょうか?
教えてください。よろしくお願いします。
60nobodyさん:2012/02/27(月) 15:16:46.65 ID:???
' で囲った場合は変数展開されないです
61nobodyさん:2012/02/27(月) 15:18:35.12 ID:???
ブラウザの“ソースを表示”を有効に使おうぜ
62nobodyさん:2012/02/27(月) 15:30:27.64 ID:EtiAdS4g
>>60-61
解決しました!
どうもありがとうございました。
63nobodyさん:2012/02/27(月) 19:29:00.80 ID:4hoIqr2g
あるURLから、file_get_contentsで画像を取得し、
それを、Cache_Liteでキャッシュしつつ表示するっていうものを作りたいのですが
どうやっても、FFで確認したら
「画像ファイル http://~/img.php は壊れているため 表示できませんでした。」
と表示されます。

内容としては、
img.php
<?php
$url = 'http://example.com/'.$_GET['id'].'.jpg';
$image = file_get_contents($imgUrl);
header('Content-Type: image/jpeg');
echo $image;
?>
を、
<img src="http://example2.com/img.php?id=hoge" />
という感じで呼んでいるだけなのですが。。。なぜか上手く表示されません。
すいません。宜しくお願いします。
64nobodyさん:2012/02/27(月) 19:49:40.69 ID:???
FFって何?
6563:2012/02/27(月) 20:03:10.95 ID:4hoIqr2g
FireFoxです
周りではこう呼んでるんで。。
66nobodyさん:2012/02/27(月) 20:21:08.36 ID:???
>>63
一個ずつ変数をechoってってどこにちゃんと何が入っているかとか
確認していけばすぐ解決するよ。それ。
6763:2012/02/27(月) 20:43:16.07 ID:4hoIqr2g
>>66
ありがとうございます。地道にやってみます^^;
68nobodyさん:2012/02/27(月) 21:36:53.59 ID:???
>>65
まずPear:Cache_Liteを使わないとどうなのか
69nobodyさん:2012/02/28(火) 00:08:14.80 ID:???
$url = 'http://example.com/'.$_GET['id'].'.jpg';
これ、本当にこうなのかなぁ
70nobodyさん:2012/02/28(火) 00:09:33.73 ID:???
header already sentみたいなメッセージが出てたりして。
71nobodyさん:2012/02/28(火) 00:20:13.97 ID:???
42 名前: nobodyさん [sage] 投稿日: 2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
72nobodyさん:2012/02/28(火) 00:20:47.93 ID:???
エロ画像うpでもつくんのかな
73nobodyさん:2012/02/28(火) 00:24:21.48 ID:???
$imgUrlって$urlじゃないのかとか、そんな話じゃないよな?
74nobodyさん:2012/02/28(火) 00:43:53.69 ID:???
あれ生きてる?
75nobodyさん:2012/02/28(火) 00:44:16.09 ID:???
テスト
死亡
76nobodyさん:2012/02/28(火) 00:49:28.33 ID:???
なんかkohadaおかしい
77nobodyさん:2012/02/28(火) 00:50:49.23 ID:???
この板って5スレしか無いの?死ぬの?
78nobodyさん:2012/02/28(火) 00:53:26.65 ID:???
うっせえ死ね
79nobodyさん:2012/02/28(火) 00:58:58.90 ID:???
今をときめく、ウェブ言語「PHP」
80nobodyさん:2012/02/28(火) 01:43:48.55 ID:???
このスレあれば事足りる
81nobodyさん:2012/02/28(火) 01:46:05.34 ID:???
また勝ってしまったか・・・
82nobodyさん:2012/02/28(火) 04:27:44.62 ID:???
>>73
あー見落としてた。きっとそれが正解だと思う
83nobodyさん:2012/02/28(火) 04:39:26.03 ID:???
>>63
それgzipが返ってるはず間違いない

84nobodyさん:2012/02/28(火) 08:17:07.40 ID:MraNK8dl
質問があります。旨く説明できなくてごめんなさい。どうぞよろしくお願いします。

index.phpを振り分けファイルにして、作業ごとにphpファイルを振り分けようと思っています。
ニーズにより、$_POST["mode"]や $_GET["mode"]を持って飛んでくるので、それらを
if else か switch で振り分けて、表示させるところまではできました。

index.php で振り分ける前に、ちょっと何かして、変数を渡す必要があるので、
header('Location: ./index.php?mode=hoge');
ではなく、require か include で次のページに移っています。
それで、たとえばhoge.php で作業をして、index.php経由でどこかのページに行ったときに、
今度は作業をしたあとなので(データベースの変更など)内容が変わって表示されるべきところ
さっき表示したキャッシュが残っていて、表示される内容が更新されません。

ヘッダ送信ならno-cacheを送信することもできますが、requireで読み込むファイルを
再読み込みさせるにはどうしたらいいでしょうか。

require しているのは、作業するphp で、そこで加工して、smartyに渡して表示させています。

今は、FTP でindex.phpを一度削除しない限り、内容が更新されません。
smarty の moge.tpl をいったん削除しても、(そのファイルがなくても)index.php で
require した時のキャッシュが残っているのか、表示されます。


【PHPのバージョン】PHP 5.2.17
【OS】わかりません、さくらインターネットのレンタルサーバーです

どこに問題があるのか、把握できないため、わかりにくくて申し訳ありません。
そもそもこういう仕様が間違っているのでしょうか。何かアドバイスがありましたら
よろしくお願いします。
85nobodyさん:2012/02/28(火) 08:29:59.03 ID:???
そんなめんどくさい仕様を考えるのはやめにして
素直にZendやcakeを勉強して見ては
86nobodyさん:2012/02/28(火) 09:01:53.67 ID:???
smartyのキャッシュなら、キャッシュのパラメータ工夫するか、
キャッシュやめてしまえ。
テンプレート消しても表示するんなら、compile_check falseになってんだろ。
8784:2012/02/28(火) 10:46:21.69 ID:MraNK8dl
>>85
趣味でしょぼしょぼやっているので、フレームワークというとなんだか大げさな
気がしてしまって・・・

>>86
いま調べてきたら trueになっています。

ブラウザの問題かと思って、IEとFirefoxを試してみましたが結果は同じでした。
毎回requireさせる方法ってないもんでしょうか。また、問題切り分けのための
何かテストできることがありましたら、アドバイスお願いします・・・。
88nobodyさん:2012/02/28(火) 11:17:57.96 ID:???
requireが問題なの?index.phpそのもののキャッシュだと思うけど
89nobodyさん:2012/02/28(火) 11:19:33.76 ID:???
正直に言えば、これ以上はエスパーでないと無理です。
90nobodyさん:2012/02/28(火) 12:45:49.64 ID:gmDIsIfQ
ログインして入った、master_yu_kun.phpを
検索サービスから検索されなくするにはどうするのですか?
91nobodyさん:2012/02/28(火) 13:28:53.34 ID:???
>>84
たぶん、質問している側と読んでいる側で
「ページを移る」の意味に混乱が生じていると思う。
includeやrequireは「移る」って言わず整理しなおして
もっかい説明してちょ。
なんとなく理解できるけど、そしたらもうちょっとがんばれるかもなんで。
92nobodyさん:2012/02/28(火) 13:32:43.22 ID:???
自分でデバッグさせればいいじゃん鬱陶しい
93nobodyさん:2012/02/28(火) 13:42:20.11 ID:???
>>84
smartyのキャッシュじゃなくて、PHPのキャッシュかもしれない。
eAcceleratorとかAPCとか
94nobodyさん:2012/02/28(火) 14:26:48.13 ID:???
>>87
めんどくさい質問の時は
公開できる範囲内でできるだけ具体的なコード貼ってくれ
複数レスにまたがってもいいから
9584:2012/02/28(火) 14:33:41.95 ID:MraNK8dl
みなさん、本当にごめんなさい。
自分でも何がわからないのかよくわからなくて混乱しています。
>>88
index.phpのキャッシュといわれれば、そういう風な気もしてきます。(smartyの
テンプレートを削除しても問題なくページが表示されていたので)

>>91
ちょっとわたしの勘違いがあったかもしれませんが、index.php の終わりの方で

include 'moga.php';
exit;

としたら、そのmoga.phpを実行する---そっちのページに行くと思っていました。
マニュアルや、includeについて説明されているページをあちこち読んできたのですが
includeするってことは、読み込まれたページがindex.phpの一部になるのですか?

>>93
phpのキャッシュというのもありそうですね・・・
eAccelerator等は、特に追加でいれていません(デフォルトで入っているかどうか
調べ方もわかりません、すみません)
96nobodyさん:2012/02/28(火) 14:34:31.94 ID:MraNK8dl
>>94
はい、すみません。これからちょっと用意してきます。
97nobodyさん:2012/02/28(火) 14:38:36.74 ID:???
>>95
echo time();

とか毎回変わる内容を入れてみてどうなの?
キャッシュしないでしょ。
98nobodyさん:2012/02/28(火) 15:57:54.55 ID:???
【OS名】CentOS 6
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
定期的にバックアップを自動で行いたいのですがテーブル数が多いので一括でバックアップできる方法を探しております。
execやsystemが使用出来ないサーバーなんですが、PHPからmysqldumpと
同じ効果がある関数などあったりしますか?
99nobodyさん:2012/02/28(火) 16:03:41.12 ID:???
cron使えないの?
10098:2012/02/28(火) 16:03:59.59 ID:2XRQp2f6
すいません
ID出てませんでした。
10198:2012/02/28(火) 16:04:44.10 ID:2XRQp2f6
>>99
cronは使えます。
102nobodyさん:2012/02/28(火) 16:46:24.37 ID:???
じゃシェルスクリプト書いて実行させればいいのでは?
103nobodyさん:2012/02/28(火) 16:50:53.65 ID:???
PHPのプロならCLIだなw
10484:2012/02/28(火) 17:15:31.16 ID:MraNK8dl
これでもだいぶ整理してきたつもりなのですが、長くてすみません
PHPを使って、うちの事業所の発送管理をしようと思っています。

[index.php]
<?php
session_cache_limiter("public");
session_start();
session_regenerate_id();

〜ここでセッションに前に渡した鍵を持っているか確認〜
login名により、実施可能な処理を振り分けとか

if ($_GET["mode"]=="denpyo_input"){
  include "denpyo_input.php";
  exit;
} else if($_POST["mode"]=="hasso") {
  include "hasso.php";
  exit;
} else if(($_POST["mode"]=="hasso_mail")||($_GET["mode"]=="hasso_mail")) {
  include "hasso_mail.php";
  exit;
} else if($_POST["mode"]=="send_hasso_mail"){
  include "send_hasso_mail.php";
  exit;
  
  ・・・と似たような処理がたくさんあります
  

今つまっているのは、hasso_mailで呼ばれた時の処理です。
10584:2012/02/28(火) 17:19:33.39 ID:MraNK8dl
hasso_mail.phpが呼び出されたら、「商品発送済み & メールアドレスが
ある人 & 発送済みメールの必要な人(メールアドレスがあっても、
発送したというメールの必要のない相手もいるので)」をデータベースで検索します

0件だったら「今日はメールを出す必要はありません」と表示して終わり
1件以上見つかったら、配列にデータを持ってsmartyにわたして表示
10684:2012/02/28(火) 17:20:27.59 ID:MraNK8dl
[ hasso_mail.php ]

〜最初に、各設定ファイルの読みこみや
データベースの接続のため前半省略 〜

$sql = "SELECT * FROM order LEFT JOIN customer USING(customer_id) ";
$sql .= "WHERE shipping_day IS NOT NULL AND hasso_mail='0' ";
$sql .= "AND ・・・・他いくつか条件";

// hasso_mail 0:これから出す人 1:メール発送済み 2:メール不要 9:メールアドレスなし

$result = mysqli_query($conn, $sql);
$num = mysqli_num_rows($result);

if($num === 0){
  $smarty=new Smarty();
  $smarty->display("no_mail.tpl");  // 今日はメールを出す必要がありません
  exit;
}

while($row = mysqli_fetch_assoc($result)){
  $order_id = $row[id];
  $name = $row[name];
  $date = $row[shipping_date];
}

$smarty->assign("order_id",$order_id);
$smarty->assign("name",$name);
$smarty->assign("date",$date);
$smarty->display("hasso_mail.tpl");    // ここでメールを出す必要のあるお客さんのリストを出す
exit;
10784:2012/02/28(火) 17:22:07.05 ID:MraNK8dl
hasso_mail.tpl では、メールを出す必要のあるお客さんのリストを
表示して、ラジオボタンで、誰にメールを出すか選択させる
sumbitボタンを押すと、メールを出すお客さんの伝票番号を持って、今度は
send_hasso_mail.phpへ
10884:2012/02/28(火) 17:23:37.58 ID:MraNK8dl
[ hasso_mail_send.php ]

〜最初に、各設定ファイルの読みこみや
データベースの接続のため前半省略 〜

if($_POST["send"]=="yes"){

  〜ここでメールを送信する処理〜

  $sql = "UPDATE order SET hasso_mail=1 WHERE order_id=";
  $sql .= $_POST["order_id"];   ← 本当は中身を確認してから処理してます
  $result = mysqli_query($conn, $sql);
  if(mysqli_error($conn)){
    die("更新失敗".mysqli_error($conn));
  }
  mysqli_close($conn);
  header('HTTP/1.1 303 See Other');
  header('Location: ./index.php?mode=hasso_mail');
  /* ここでhasso_mailを呼び出すと、複数あった「メールを出す
  必要のある人が、だんだんに減っていって、最後は0件になって
  「今日はメールを出す必要がありません」のページに行かれる予定・・・なんですが・・・*/
}
109nobodyさん:2012/02/28(火) 17:25:19.42 ID:MraNK8dl
実際は、メールを出す必要のある人が減りません。orz

・データベースでSQL文を発行して確認すると確かにメールを出す必要のある人の数は減っている。
・直接hasso_mail.phpを呼び出してリロードすると、数は減っている。

・index.php?mode=hasso_mail で呼び出すと減っていない(何回リロードしても減らない)
・hasso_mail.tpl を削除してみても、正しく?表示されて数は減らない
・index.phpを削除して、すぐにアップロードしてリロードしても減らない
・index.phpを削除して、いったんリロードして(エラーをだして) アップロードしなおすとようやく内容が反映されます。
110nobodyさん:2012/02/28(火) 17:29:14.28 ID:MraNK8dl
すみません >>108 は一行目 [ send_hasso_mail.php ] の間違いです。
111nobodyさん:2012/02/28(火) 17:41:24.43 ID:???
>>95
仕事忙しくなってきてちょと読めてないけど
>includeするってことは、読み込まれたページがindex.phpの一部になるのですか?
そうです。その通りです。
$_SERVER['PHP_SELF']してみそれ。
112nobodyさん:2012/02/28(火) 17:59:50.11 ID:???
        ,-、            ,.-、
        ./:::::\          /::::::ヽ
       /::::::::::::;ゝ--──-- 、._/::::::::::::::|
       /,.-‐''"´          \:::::::::::|
     /                ヽ、::::|
    /                   ヽ|
     l                         l
    .|    ●                |    んーと
     l  , , ,           ●     l
    ` 、      (_人__丿    、、、   / 
      `ー 、__               /
         /`'''ー‐‐──‐‐‐┬'''""´

         ,-、            ,.-、
        ./:::::\          /::::::ヽ
       /::::::::::::;ゝ--──-- 、._/::::::::::::::|
       /,.-‐''"´          \:::::::::::|
     /                ヽ、::::|
    /    ●                  ヽ|
     l   , , ,             ●      l
    .|        (_人__丿     、、、  |    よく分かんない
     l                      l
    ` 、                       /
      `ー 、__               /
         /`'''ー‐‐──‐‐‐┬'''""´
113nobodyさん:2012/02/28(火) 18:41:55.18 ID:???
>>110
長い。3行にまとめてくれ。
114nobodyさん:2012/02/28(火) 18:53:03.28 ID:???
試しにリロードをCtrl-F5でやるとか
11584:2012/02/28(火) 19:33:40.33 ID:MraNK8dl
解決していませんが、とりあえずご報告 
index.php に echo time() を追加して、リロードしたりいろいろ試してみました。

Firefox
・リロード、F5、スクリプト経由で(DBで処理した後)
index.php?mode=hasso_mail を呼び出しても、表示結果変わらず

IE
・最新の情報に更新、F5でも表示変わらず
・スクリプト経由で(DBで処理した後) index.php?mode=hasso_mail を
呼び出したら、timeスタンプ更新されて、メールを出す必要のある人の行も減っていました!

smarty で表示させているテンプレートのヘッダのmetaタグに下記を追加 → 効果なし
<meta http-equiv="Cache-Control" content="no-cache">
11684:2012/02/28(火) 19:41:21.53 ID:MraNK8dl
Firefoxの、キャッシュを全て削除して、その後にリロードしたら
情報が更新されました。(その後データベース更新して、戻ってくると先ほどと同じ状況。
でも、再びキャッシュを削除してリロードすると反映されます)

ということで、index.php のキャッシュが表示されているようです。
index.phpをキャッシュさせずに、毎回新規に読ませれば解決しそうです・・・といっても
どうすればいいのか、これから調べるところですが・・・

解決の糸口が見えてきたような気がします。
みなさん、本当にありがとうございました。
117nobodyさん:2012/02/28(火) 20:00:09.15 ID:???
>>84
たとえば>>84がそのPHPにアクセスした結果がプロキシにキャッシュされて、
赤の他人がそのキャッシュを表示しても問題ないのか?
そういうコードになってると思うけど。
118nobodyさん:2012/02/28(火) 20:07:57.96 ID:MraNK8dl
>>117
うーん、よくわかりません。どのあたりでしょうか・・・
11984:2012/02/28(火) 20:14:24.21 ID:MraNK8dl
あ、名前でてませんでした。84です

>>117
今の予定では、これらのphpスクリプトは、非公開ディレクトリ(.htaccessでアクセス制限)で
実行するつもりです。ローカルにサーバたててやったほうがいいでしょうか・・・
120nobodyさん:2012/02/28(火) 20:18:59.51 ID:???
セッションでいろいろやれているなら問題ないはずではあるけど、こっちではわかんないし。
キャッシュじゃなくて、なんか勘違いしてる気がするなぁ。
hasso_mail.tplのformのとこどーなってる?
121nobodyさん:2012/02/28(火) 20:28:47.33 ID:MraNK8dl
>>120
どうなってるの?・・・っていわれてもよくわかりません。普通だと思います。
method="post" で、action="index.php"
お客さんごとにラジオボタンを持たせて、そこに伝票番号がついています。そのほか
いくつかの情報を <input type="hidden">で渡しています。
submitで送信しています。
122nobodyさん:2012/02/29(水) 00:25:04.12 ID:???
42 名前: nobodyさん [sage] 投稿日: 2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
123nobodyさん:2012/02/29(水) 09:24:12.49 ID:???
回答者のバカぶりはすごい
124nobodyさん:2012/02/29(水) 10:12:12.57 ID:???
>>123
そっすねー、すごいっすよねーw
125nobodyさん:2012/02/29(水) 10:33:46.16 ID:???
>>123
そっすねー、すごいっすよねーw
126nobodyさん:2012/02/29(水) 11:53:16.27 ID:???
だからてめえらPHPerはRubyになめられるんだよ
ttp://j.ktamura.com/archives/1944
127nobodyさん:2012/02/29(水) 12:00:13.61 ID:???
Ruby使いの悪口はやめようよ
128nobodyさん:2012/02/29(水) 15:05:49.16 ID:i0fISUeh
file_get_contentsでhtmlを取り込む際、ページ全体取り込むと時間がかかるため文字数をを指定して取り込もうとおもうのですがうまくいきません。
例えば

$url ="http://www.amazon.co.jp/gp/offer-listing/4044292108/ref=dp_olp_used?ie=UTF8&condition=used";
echo file_get_contents( $url , false , null , 108741 , 300);

こうした場合このような結果が帰ってきます。
Warning: file_get_contents() [function.file-get-contents]: stream does not support seeking
Warning: file_get_contents() [function.file-get-contents]: Failed to seek to position 108741


開始文字数を現在は 108741 にしていますが 2000 にしたら正常に動作したのですが、この開始文字数は制限があるのですか?
129nobodyさん:2012/02/29(水) 15:08:52.19 ID:???
そういうことがやりたい場合はfile_get_contentsは使うな
curlを使え
130nobodyさん:2012/02/29(水) 16:28:56.78 ID:???
fseekの注意書きを見るとよい
http://www.php.net/manual/ja/function.fseek.php
131nobodyさん:2012/02/29(水) 17:09:43.10 ID:i0fISUeh
返信ありがとうございます
>>129
curl使う方がいいですか・・・
ぱっと調べてみたんですが、任意の範囲(何文字〜何文字,<div class="A">〜</div>だけ 等)の取得が出来なさそうだったので
file_get_contentsで必要そうな部分だけを抜き出し、そこからpreg_match()などで検索しようとおもったのです。
もう少しcurlについて勉強してみます。

>>130
これはfile_get_contentsが文字数制限あるとかじゃなくて、htmlのどれかのタグ要素が読み込めないためそれ以降の文字数が指定できないということですか?
だとしたらcurlでも何らかのオプションを設定してもできないんでしょうか?
132nobodyさん:2012/02/29(水) 17:18:00.65 ID:???
>>131
file_get_contentsなんて今すぐ使うのをやめろ
133nobodyさん:2012/02/29(水) 18:35:33.72 ID:???
>>131
シーク操作に対応していないサーバということで諦めるしかない
ダウンローダーとかでもたまにあるでしょ
resumeができないとことか
イメージとしてはあんな感じ
134nobodyさん:2012/02/29(水) 18:59:17.42 ID:i0fISUeh
>>133
やはりそういうことですか
処理速度を速くしたかったんですが、諦めて全文取得します。
ありがとうございました。
135nobodyさん:2012/02/29(水) 20:02:50.97 ID:???
>>131
お前元優等生だろ?
136nobodyさん:2012/03/01(木) 00:50:28.34 ID:???
42 名前: nobodyさん [sage] 投稿日: 2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
137nobodyさん:2012/03/01(木) 02:37:22.78 ID:QEq3BeNx
42 名前: nobodyさん [sage] 投稿日: 2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
138nobodyさん:2012/03/01(木) 06:12:56.73 ID:???
phpのsendmailで以下の時間指定のメール配信をしているんですが、
これまで23時から8時まではメールを送らないよう次の設定をしていて
この時間はメールを送れないようしていました。

$time=date("H");
if($time < 23 or $time < 8){
条件が真の場合の処理←メール送らない
else
条件が偽の場合の処理←メール送る

これを深夜1時から朝8時までに変更したい場合は
どのような条件文になりますでしょうか?

次のようにしてみたところ
日中(朝8時以降)のメールが送れなくなってしまいます。

$time=date("H");
if($time < 1 or $time < 8){
条件が真の場合の処理←メール送らない
else
条件が偽の場合の処理←メール送る
139nobodyさん:2012/03/01(木) 06:16:45.88 ID:???
修正します。6行目?

if($time < 23 or $time < 8){

if($time >= 23 or $time < 8){

でした。。。
140nobodyさん:2012/03/01(木) 07:31:46.55 ID:???
and使え
141nobodyさん:2012/03/01(木) 07:51:19.40 ID:???
こういうの、ゆとりっていうのか?
if文考える前に 日 本 語 で 条件を考えてみたりしないのか。
142nobodyさん:2012/03/01(木) 08:05:44.33 ID:???
スレチなんだけど、ぼくおじゃまさせてもらいます m(_ _)m

今、ぼく行方不明中なんです・・・

ぼくのことを心配している人たちも頑張っているのだけど、
もっと、もっと、沢山のひとにしってもらわないと見つからないんだって・・・

ぼくの動画もあるんだよ・・ttp://youtu.be/IERsFdY104E


ぼくのチラシもつくってもらったんだ
     アトムチラシ0226_2
     ttp://www1.axfc.net/uploader/Img/so/136842
     PW[ atom ]

ぼくのことを検索してほしい・・みつけてほしい・・おねがいします・・・

             行方不明中の九州盲導犬協会所属 盲導犬アトムより

※「盲導犬とのよりよい暮らしを考える会のブログ」 で、署名活動をしています。
  ご協力の程、宜しくお願い申し上げます。
   
ttp://ameblo.jp/moudouken-yoriyoi-kurasi/entry-11164892346.html
143nobodyさん:2012/03/01(木) 08:45:48.59 ID:???
$time=date(H);
if($time > 1 and $time < 8){

か?
144nobodyさん:2012/03/01(木) 09:46:43.64 ID:V6dbm0J6
Apache + PHPで全てのプログラム・全てのユーザー間で変数を保持する方法ってありますか?
具体的にやりたいのは以下のことです。

1.あるリクエストでDBサーバーが落ちたことを感知したら$_DB_DEADにtrueをぶち込む
2.次回以降のリクエストでは$_DB_DEADがtrueになっていたらエラーメッセージを出す
※すべてのリクエストごとにDBが生きているかどうか調べると時間がかかるため
3.cron等で定期的に生存判定プログラムを走らせ、復活したら$_DB_DEADをfalseにする

適当なファイルに書き出して毎回それを読み込めばできますが、メモリ上に残す方法があるんなら
それを使いたいです。
145nobodyさん:2012/03/01(木) 09:52:25.15 ID:???
cronではhttpd経由でphpで判定するの?
146nobodyさん:2012/03/01(木) 09:58:10.97 ID:???
>>145
どちらでも。
コマンドラインのほうが楽でしょうが、127.0.0.1:80へのリクエスト飛ばす
プログラムを走らせてもいいわけですし。
147nobodyさん:2012/03/01(木) 10:47:51.17 ID:???
プロセスが別かどうか知りたかったんだけど、
まあファイルでいいと思うけどな
148nobodyさん:2012/03/01(木) 10:52:19.64 ID:???
>>144
dekiruwakeneedaroks
149nobodyさん:2012/03/01(木) 10:58:22.13 ID:???
ファイルにしときゃ悩むこともないのに、
なんでわざと回り道するんだろw
150nobodyさん:2012/03/01(木) 11:16:26.91 ID:???
>>144
PHP走らせてるサーバ上でSQLiteはダメすか。
一応、インメモリデータベースにもなるが。
151nobodyさん:2012/03/01(木) 11:22:21.13 ID:???
>>144

phpでは無理。別言語ではできるものもある。
152nobodyさん:2012/03/01(木) 14:25:30.06 ID:1NaN8Vlk
function getRandomString($length) {
$max = 0;
$randstr = "";

$strchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$max = strlen($strchars) - 1;
$randstr .= substr($strchars, rand(0, $max), 1);
$length --;

$strchars = "0123456789";
$max = strlen($strchars) - 1;
for ($i = 0; $i < $length ; $i ++) {
$randstr .= substr($strchars, rand(0, $max), 1);
}
return $randstr;
}

上のファンクションで、
真ん中あたりにある $length --;
の --;って何を表す記号でしょうか??
153nobodyさん:2012/03/01(木) 14:36:00.39 ID:???
顔文字
154nobodyさん:2012/03/01(木) 14:42:55.90 ID:???
$length = $length - 1;
155nobodyさん:2012/03/01(木) 14:51:35.72 ID:???
>>152
デクリメントでggrks
156nobodyさん:2012/03/01(木) 14:54:49.02 ID:???
ループで$i++は無意識に使ってるけど$i--がわからないってことは
内容はよくわからず慣習的に使ってるからなんだろうな
157nobodyさん:2012/03/01(木) 15:48:28.92 ID:1NaN8Vlk
なるほど。デクリメントですか!
ありがとうございました!
158nobodyさん:2012/03/01(木) 15:49:17.24 ID:???
くそ・・・今日は、eclipseの調子が悪い
159nobodyさん:2012/03/01(木) 17:17:36.66 ID:???
eclipseなんてクソの集まり
160nobodyさん:2012/03/01(木) 20:46:54.35 ID:???
IIS7でPHP動かしてるのですがDreamweaverで分割表示した時にの右側の部分でPHPの表示を確認することはできませんか?
それと、PHPを学習する上でおすすめのサイト等があれば教えて下さい。ページの自動生成くらいまで出来るようになりたいです。
161nobodyさん:2012/03/01(木) 20:51:12.94 ID:???
162160:2012/03/01(木) 20:54:45.07 ID:MIvctavF
>>161
すみません、よく読まずに質問してしまって。
公式マニュアルがいいんですね
一つ目の質問だけ、お願いします
163nobodyさん:2012/03/01(木) 21:04:50.45 ID:???
>>162
Dreamweaverスレってないの?
164nobodyさん:2012/03/01(木) 21:22:46.25 ID:???
>>160
できない。確認はライブビューで行う。
165160:2012/03/01(木) 21:36:46.38 ID:MIvctavF
>>164
ありがとうございます
166nobodyさん:2012/03/01(木) 21:37:27.97 ID:???
>>
167nobodyさん:2012/03/02(金) 00:13:55.19 ID:???
//if(!array_key_exists( $attributeNo ,$indexArray))で数秒かかってたのが
@$h=$indexArray[$attributeNo];
if(!$h)としたら1ミリ秒になった。

ビルドインより早いってどういう事なの。
168nobodyさん:2012/03/02(金) 00:56:33.37 ID:???
phpでOOPすると遅すぎ。
169nobodyさん:2012/03/02(金) 01:22:31.68 ID:???
アルゴリズムが糞なんだろ
170nobodyさん:2012/03/02(金) 01:23:09.49 ID:???
171nobodyさん:2012/03/02(金) 01:23:55.82 ID:???
>>167
それ全然等価じゃないよ
172nobodyさん:2012/03/02(金) 01:36:34.01 ID:???
>>170

はぁ?

phpはオブジェクト指向言語じゃないから
オーバーヘッドが大きいのは当たり前。
173nobodyさん:2012/03/02(金) 01:38:32.17 ID:???
>>172
PHPに限った話ではないよ
174nobodyさん:2012/03/02(金) 01:40:45.25 ID:???
>>173

へぇ?

たとえばどの言語?
175nobodyさん:2012/03/02(金) 01:44:09.83 ID:???
言語全般の話だよ
176nobodyさん:2012/03/02(金) 01:44:56.54 ID:???
Ruby Perl Python
177nobodyさん:2012/03/02(金) 01:44:56.92 ID:???
symfonyってなんで遅いのでしょうか?
178nobodyさん:2012/03/02(金) 01:46:04.55 ID:???
179nobodyさん:2012/03/02(金) 01:47:19.33 ID:???
>>175

珍回答乙。

OOP以前にphp自体が遅いだけw
パフォーマンスを求める言語じゃない。
180nobodyさん:2012/03/02(金) 01:48:51.65 ID:???
>>178

そうそう。php自体が遅い。
181nobodyさん:2012/03/02(金) 01:52:36.23 ID:???
Hiphop for PHP入れれば早くなるんじゃね?
一度使ってみたいとは思うが環境作るのがめんどくせ
182nobodyさん:2012/03/02(金) 01:53:29.22 ID:???
>>170
オブジェクト指向言語じゃないからOOPすると遅くなる。
簡単なこと。
183nobodyさん:2012/03/02(金) 01:54:17.20 ID:???
>>181
facebookと同じ失敗してもしょうがない。
184nobodyさん:2012/03/02(金) 01:57:43.48 ID:???
オーバークロックしろと何度いったら
185nobodyさん:2012/03/02(金) 02:13:17.44 ID:???
>>176

python早いよ。
みたいなサーバー作れるくらい。
186nobodyさん:2012/03/02(金) 02:15:50.61 ID:???
誰かPhalanger使ったこと無い?
187nobodyさん:2012/03/02(金) 02:20:47.80 ID:???
>>186
早いけど、サーバーが有料なのでメリットは少ない。
Quercusの方が費用対効果が高い。
188nobodyさん:2012/03/02(金) 03:20:04.28 ID:???
Phpの利点ってラクなことだよな
速度は遅いけど開発速度はダントツ
189nobodyさん:2012/03/02(金) 03:39:42.10 ID:???
昔ほど遅くはないト思うけどね
特に5.4になってから結構早くなってる
使用者が多い分速度改善のためのサードパーディ製品も豊富だし
コミュニティは縮小気味だけどまだまだバックエンドではいけるんじゃないかね
190nobodyさん:2012/03/02(金) 03:48:29.43 ID:???
卒業研究にandroidのアプリ作ることになったんですが、
今まで大学で習ったのがC言語、独学したのが、php、Javascript
なのですが、Javaってphpと比べて難しいですかね?
phperの意見が聞きたいです。
191nobodyさん:2012/03/02(金) 03:49:45.64 ID:06mRWUWG
卒業研究にandroidのアプリ作ることになったんですが、
今まで大学で習ったのがC言語、独学したのが、php、Javascript
なのですが、Javaってphpと比べて難しいですかね?
phperの意見が聞きたいです。

すいません、下げてました
192nobodyさん:2012/03/02(金) 04:13:11.85 ID:???
>>191
どちらかというとjavaはCに近いと思う
ちなみに.netとかVCとかそういうのをC言語といっているレベルなら問題外だと思うけど
193nobodyさん:2012/03/02(金) 04:27:00.50 ID:???
PHPしかやったことなかったけど、
基本情報でJavaを選択してやったけど試験問題に合格できる程度には出来るみたいだよ。
穴埋めだから簡単なのは当たり前なんだけど、
ソースコードも読みやすくて結構わかるなと感じた。
ただジェネリクスとかスレッドとかPHPerが知らない機能もたくさんあるから、
やっぱ出来ることが多い分にはややこしくて難しいんだなと感じた。
194nobodyさん:2012/03/02(金) 06:32:49.53 ID:???
>>192
> .netとかVCとかそういうのをC言語といっているレベル
こういう人たちからみたほうが、javaはCに近いと感じられるのではないか。
195nobodyさん:2012/03/02(金) 09:19:31.83 ID:???
そりゃソースコードは読みやすいだろう。
JAVAは設計書をしっかり作れば、だれが書いても似たようなソースになるからな。

>>191
読めるのは読めるんじゃないかね。
ただJAVAの全仕様を頭に入れるのは何年もかかると思う。それぐらい汎用性が高い。
webアプリ開発でも使えるけど、シンプルなソースにはなりにくい。
196nobodyさん:2012/03/02(金) 09:39:23.86 ID:1GN/43Ty
DBを更新した場合、静的htmlを出力しなおすものがありますが、
(今は知りませんが5年前ぐらいのMovableTypeがそうでした)
このようなキャッシュシステムを自分で構築するのは結構つらいものがあります。
また、静的htmlなのでアクセス速度の向上は見込めると思いますが、
ちょっとした更新のたびに何ページも作成、出力しなおすのは非効率だとも思います。
逆にgetでクエリを投げてページを動的に変える方法は簡単ですが、
毎度DBにアクセスするので速度が遅くなってしまうと思います。
これを解決するためにインストールするソフトウェアがAPCとかなんでしょうか?
197nobodyさん:2012/03/02(金) 12:24:29.96 ID:???
>>196
大体あってるけど、APCはそれが目的ではない。
APC使っても同じように毎回DBにアクセスするけれど、PHPの速度が改善される。
198nobodyさん:2012/03/02(金) 12:40:59.81 ID:???
>>196
規模と目的によると思うが、俺は毎日cron回して更新されてたら
全部新しく書き出すようにしてるけどね。更新頻度が高くないから。

頻繁に更新されてアクセスも多いようなら自分で好みのを作れ。
それだけのサイトなら金も時間もかけられるはずだろ
199nobodyさん:2012/03/02(金) 13:34:34.36 ID:???
>>196
「毎度DBにアクセス」はメモリキャッシュが貧弱なphp特有。

速度が気になるなら非スクリプト言語に変える。
phpは速度を求める言語じゃない。
200nobodyさん:2012/03/02(金) 13:40:30.97 ID:???
DBのアクセスは言語関係なくね?
プログラムの実行速度のことは言ってなくね?
201nobodyさん:2012/03/02(金) 13:45:38.44 ID:???
APCってなんなの?って聞いてるだけ
202nobodyさん:2012/03/02(金) 13:45:40.54 ID:???
>>199
知ったかで語るな
203nobodyさん:2012/03/02(金) 13:48:15.98 ID:RcaMuVZ3
>>202
触るな。PHPに親でも殺されたんだろ。
204nobodyさん:2012/03/02(金) 14:11:11.81 ID:???
>>200
DBアクセス回数のことだと思われ。
205nobodyさん:2012/03/02(金) 14:38:03.46 ID:???
>>144
shmop
206196:2012/03/02(金) 15:47:04.35 ID:1GN/43Ty
>>197
ありがとうございます。

仕組み的には受け取ったクエリをハッシュにし、
それに対応する結果をキャッシュするような仕組みを考えていました。
特定のキャッシュ更新のため対応する情報のあるDBの更新をどう検出するかは深く考えていませんでしたが、
よく考えると情報量が膨大になり技術的にも難しそうですね。
規模によってはクエリの組み合わせパターンも天文学的数字ですし、
サーバリソースにも問題が出てきそうですね。

もうちょっと色々勉強してみます。
207196:2012/03/02(金) 15:47:55.43 ID:1GN/43Ty
他の方もレスありがとうございました。
意見を参考にさせていただきます。
208nobodyさん:2012/03/02(金) 16:21:15.37 ID:???
PHP5.4が出てるのに話題にもならないのなwwww
だからここの連中はレベルが低いんだよwwwwwwwwwwwwwwwwwww
209nobodyさん:2012/03/02(金) 16:30:02.90 ID:???
>>208
バカダナーオマエ
スレタイから、初心者〜が多いに決まってるし、ログみれば質問と回答ばかりで
ほとんど雑談ないだろ。話したいなら他いくでしょ。
210nobodyさん:2012/03/02(金) 16:34:53.17 ID:???
質問スレだってことすら読めないやつってことだよ
ホントレベル低いw
211nobodyさん:2012/03/02(金) 16:38:48.29 ID:???
わかったwわかったw
俺がPHP5.4出てる事を書いて確認に言って初めて知ったんだろ?wwwwwwwwwwwwwwwwwwwwww
212nobodyさん:2012/03/02(金) 16:45:24.05 ID:???
>>211

>>189
ホントバカダナー
213nobodyさん:2012/03/02(金) 17:05:30.43 ID:???
>>212
誰も話しにかみついてねえじゃねえかwwwwwwwwwwwwwwwwwwwwwwwwwww
会話についていける奴がいねえんだなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
214nobodyさん:2012/03/02(金) 17:15:46.84 ID:???
ここ質問スレな
215nobodyさん:2012/03/02(金) 17:30:11.23 ID:???
反応するだけ喜ぶんだから、反応してはいけない。
飽きるまでほっとくしか手はない。このあと自演して煽ってくるから気をつけろ。
216nobodyさん:2012/03/02(金) 17:33:44.94 ID:???
まあここ見てるのは質問者も回答者もレベルは低いから当然だけどな
217nobodyさん:2012/03/02(金) 18:56:56.88 ID:???
>>213
先端を追う人は開発がどれくらい進んでいるのか随時みているから、リリースが発表されても驚かない
安定を求める人は、使っているディストリがRPM出すまで気にしないから、リリースが発表されても驚かない
リリースされた!って喜ぶのは初心者。
218nobodyさん:2012/03/02(金) 20:13:13.38 ID:???
phpはバグだらけなので新しいものに飛びついてもね。
219nobodyさん:2012/03/02(金) 22:53:46.17 ID:???
と、初心者が申しております
220nobodyさん:2012/03/02(金) 23:16:05.17 ID:???
確かにバグは多いかな。
221nobodyさん:2012/03/02(金) 23:20:52.94 ID:???
パフォーマンス上がるからあげる予定
222nobodyさん:2012/03/02(金) 23:21:11.21 ID:???
>>206
なんでphpなのか不思議。
223nobodyさん:2012/03/02(金) 23:22:32.56 ID:???
>>221
ようやく5.3がまともになってきたレベルなのに
5.4は怖くて使えない。すぐにバグフィックス連発される予感。
224nobodyさん:2012/03/02(金) 23:26:36.20 ID:???
ソースコードも読めない奴は5.3使ってれば良い
225nobodyさん:2012/03/03(土) 00:37:37.91 ID:???
な、ここまで自演。 言ったとおりだろ
226nobodyさん:2012/03/03(土) 00:53:57.25 ID:???
ここから自演
227nobodyさん:2012/03/03(土) 01:37:37.54 ID:???
24.パフォーマンスが悪いと感じられるとき

キャッシュを使用してください。
それでもだめならサーバーCPUのオーバークロックをお試しください。
228nobodyさん:2012/03/03(土) 01:53:06.00 ID:???
寒い夜もオーバークロックでポッカポカ
229nobodyさん:2012/03/03(土) 09:05:38.66 ID:???
phpをMacでやるなら、xamppかmampはどっちがいいですか?
230nobodyさん:2012/03/03(土) 10:18:35.08 ID:???
>>229
最初からインストールされているapacheとphpでOK
231nobodyさん:2012/03/03(土) 10:36:37.21 ID:???
またケンカ売られてますね

Pのつく言語に携わるのに少し疲れた方
ttp://www.scaleout.jp/jobs/
232nobodyさん:2012/03/03(土) 10:40:54.18 ID:???
これも自演釣り
233nobodyさん:2012/03/03(土) 10:43:10.11 ID:???
>>229
マックやるならソースコードからコンパイルしろよ
234nobodyさん:2012/03/03(土) 10:48:23.20 ID:???
>>231
Hadroopを使うほどの大規模だったらphp無理だよ。
良い例がfacebook。

気にするな。
235nobodyさん:2012/03/03(土) 11:00:24.32 ID:???
誰も反応しないからって、自演すんな。
236nobodyさん:2012/03/03(土) 11:12:23.98 ID:???
>>235
自演乙
237nobodyさん:2012/03/03(土) 11:35:24.71 ID:???
>>235
自演乙
238nobodyさん:2012/03/03(土) 12:15:05.37 ID:???
Hadoopのこと?
239nobodyさん:2012/03/03(土) 12:45:42.86 ID:???
>>238
自演乙
240nobodyさん:2012/03/03(土) 14:15:46.90 ID:???
給与明記しない時点で・・
241nobodyさん:2012/03/03(土) 14:28:29.42 ID:???
>>239
自演乙
242nobodyさん:2012/03/03(土) 14:31:12.43 ID:???
PHPer、レベル低。
243nobodyさん:2012/03/03(土) 16:23:41.53 ID:???
一般的には常識とされている、
 真実は一つだけ
 怒りは自然な感情
 戦争・テロは無くならない
 死刑には殺人の抑止力がある
 虐められる側にも虐めの原因がある
 自己チューな人間ほど自己愛が強い
などの間違いを解説ちう m9(`・ω・)ビシ
義務教育では教えない最新哲学  感情自己責任論
244nobodyさん:2012/03/03(土) 17:24:09.64 ID:???
phpってゲームとか作れるの?
245nobodyさん:2012/03/03(土) 17:30:20.08 ID:???
オセロくらいなら
246nobodyさん:2012/03/03(土) 18:01:23.40 ID:???
世の中のゲームは全てPHPとイスラエルでできています
247nobodyさん:2012/03/03(土) 19:10:33.67 ID:???
サーバーサイドの言語だけでゲーム作るとか変態
248nobodyさん:2012/03/03(土) 20:07:08.77 ID:???
PHPでマリオ作れるよ
次のターンでクリボーにぶつかります行動を選択して下さい
・ジャンプする
・動かない
・前進する
・後退する
249nobodyさん:2012/03/03(土) 20:10:42.56 ID:???
ターン制のマリオって?
250nobodyさん:2012/03/03(土) 20:23:16.74 ID:7jpuwzKe
質問します、
ttp://www1.axfc.net/uploader/N/so/147919.zip

のような、一見してzipファイルのダウンロードですが、
じつはhtmlでかかれたようなページなのはphpで作成可能なのでしょうか?
こういった手法はなんと言うのでしょうか?
251nobodyさん:2012/03/03(土) 21:03:35.02 ID:???
252nobodyさん:2012/03/03(土) 22:53:11.64 ID:???
>>250
rewriteでググレ
ヘッダーを見ると分かると思うが拡張子ががzipファイルなのにtext/htmlになっているのはurlを書き換えてるから
253nobodyさん:2012/03/03(土) 23:22:44.24 ID:???
色んなWebサイト回ってPHPの勉強してるのですが、サンプルソースをそのままコピペしてbodyタグの中に突っ込んでもちゃんと動いてくれない事が多々あります。
一つのサイトだけではなく、いくつかのサイトのソースで試してもダメなので此方側の問題だと思うのです。
echo "**"等は動くのですが、どういうことなのでしょうか?
254nobodyさん:2012/03/03(土) 23:24:29.66 ID:???
php.iniのや鯖の設定の問題を疑ってみるとか
255nobodyさん:2012/03/04(日) 00:17:28.99 ID:???
Phpのバージョンも確認したほうがいい
あとエラーメッセージちゃんと表示するようにしてエラーここに貼ってくれ
256nobodyさん:2012/03/04(日) 00:20:07.25 ID:TPaK4mCG
おふたりともありがとうございます。
躓いているのがクッキーを設定し、読み込むというものなのです。
私自身のブラウザの設定はクッキーを有効にしてあるのでここは問題ないと思います。
エラーメッセージは無く、ただ表示されないという状況です

<?php
$word = "おおおお";
setcookie("data".$word,time()+60*60);
?>

<?php
$word = $_COOKIE["data"];
echo $word;
?>

ソースはこのような感じです
257nobodyさん:2012/03/04(日) 00:26:20.08 ID:TPaK4mCG
環境の事を書くのを忘れていました。
動かしている環境はIIS7.5 PHP5.31 Opera11.61です。
258nobodyさん:2012/03/04(日) 00:27:29.17 ID:???
PHPでゲームだと
テキストゲームかな
259nobodyさん:2012/03/04(日) 00:48:50.27 ID:???
setcookieはhtmlの出力前に書け
260nobodyさん:2012/03/04(日) 00:53:48.15 ID:???
>>259
自演乙
261nobodyさん:2012/03/04(日) 00:54:08.88 ID:???
>>256
自演乙
262nobodyさん:2012/03/04(日) 01:03:54.21 ID:???
>>256

"data". $word  を  "data", $word に
263nobodyさん:2012/03/04(日) 01:04:49.55 ID:???
>>262
自演乙
264nobodyさん:2012/03/04(日) 01:12:34.15 ID:TPaK4mCG
わああ!
ありがとうございます!!
よく見るとちゃんとコピペできてませんでした!!;;
.と,間違って売っちゃってて・・・すみませんでした・・・。おさわがせ
265nobodyさん:2012/03/04(日) 01:15:20.45 ID:???
Body直下にsetcookie書いてる?
266nobodyさん:2012/03/04(日) 01:39:17.36 ID:???
>>265
はい、Bodyの中に
>>256を書いていました
267nobodyさん:2012/03/04(日) 01:47:19.44 ID:???
じゃ
>>259
268nobodyさん:2012/03/04(日) 02:10:03.94 ID:???
romajisika,utenakunatta.
269nobodyさん:2012/03/04(日) 11:44:57.68 ID:???
>>268
Use English
270nobodyさん:2012/03/04(日) 12:17:05.85 ID:???
>>268
Are you speak English?
271nobodyさん:2012/03/04(日) 12:21:25.28 ID:???
>>268
>>269
>>270
自演乙
272nobodyさん:2012/03/04(日) 14:16:18.58 ID:lqZkE7tp
PHPMYADMIN使ってますがエラーがでます。
/usr/lib/php/build/
というディレクトリが無いのでエラーになります。

パッケージで入れたので、ビルド場所なんて無くて当然ですが
どいうしたらよいでしょうか。
273nobodyさん:2012/03/04(日) 14:44:34.28 ID:???
Windows+XAMPP使いの多いこのスレで答えられる奴はいるかな?
274nobodyさん:2012/03/04(日) 14:49:49.14 ID:???
おれは全部ソースからビルドして入れてるから
パッケージはよくわからんな。
どういうエラー?
275nobodyさん:2012/03/04(日) 14:51:15.00 ID:???
あと、/usr/local/lib/php〜とかもない?
276nobodyさん:2012/03/04(日) 15:16:04.81 ID:???
>>272
パッケージで入れたけど、/usr/lib/php5/build はあるよ?
php が決め打ちになってるなら、
php5 を php にリンク張ればいいんじゃないの?
277nobodyさん:2012/03/04(日) 16:28:30.25 ID:???
戻り値に、「なにもしない」を返せる関数って作れますか?
$a = hoge( $b );
としたとき、$bの条件によって $a を変更したいんだけど
ある条件では $a を変更しない なんて関数作れるのかな。
無理だよな。

今は仕方ないので $a = hoge($a,$b)って作ってるけど美しくない。
278nobodyさん:2012/03/04(日) 17:03:58.50 ID:???
Ext JS 4 のスレが無いので誰か立ててください。
自分は立てられないので…
----------------------------------------------------------------
【RIA】Sencha Ext JS 4【フレームワーク】

なかったので立てました。

Ext JS クロスブラウザー対応、RIA開発用フレームワーク
http://extjs.co.jp/products/js/
279nobodyさん:2012/03/04(日) 17:14:15.92 ID:???
>>277
if は使用禁止なの?
280nobodyさん:2012/03/04(日) 17:17:39.40 ID:???
プロシージャの外でif使ったらぶさいくだから全部中だけで処理したいんじゃないの?
俺はやり方しらんが
281nobodyさん:2012/03/04(日) 17:46:13.05 ID:???
>>277
あるけど>>1
282nobodyさん:2012/03/04(日) 17:57:20.72 ID:???
>>279
if( ishoge($b) ) $a=hoge($b);
みたいなコードを書けってこと?
283nobodyさん:2012/03/04(日) 18:06:14.89 ID:???
>>278
dojo.jsスレの方が需要ありそうだが
284nobodyさん:2012/03/04(日) 18:08:00.32 ID:???
>>282
美しさを追求しているところに余計なことでした。
すみません。
285nobodyさん:2012/03/04(日) 18:09:21.89 ID:???
>>284
いえ、わかっていただければ結構です
286nobodyさん:2012/03/04(日) 18:35:31.77 ID:BDETq1qQ
<?php session_start();
// ログインチェック
require_once '〜.php'; ?>
<html>以下略

なんかbodyに書いた部分でffでも問題なかったにに
ie8では上に謎のスペースが入ったから何故か試行錯誤してたら、
htmlタグの上のphpの記述が問題だった。sesstionをhtmlタグより
上に書かないとerrorが出るしどうしたらいいのでしょうか?
ってかieがこんなに厄介とは思いもよらなかったです。
287nobodyさん:2012/03/04(日) 18:40:55.13 ID:???
bomかなんかでは?
288nobodyさん:2012/03/04(日) 19:38:33.66 ID:???
>>277
function a(){
return;
}
289nobodyさん:2012/03/04(日) 19:46:09.72 ID:???
>>288
それnullが入らね?
290nobodyさん:2012/03/04(日) 20:00:04.77 ID:???
function a() {
goto a;
echo 1;
a:
}
a();
291nobodyさん:2012/03/04(日) 21:47:11.57 ID:???
>>286
htmlファイルをphp側からrequire
292nobodyさん:2012/03/04(日) 22:24:22.00 ID:???
>>277
function hoge($a, $b) {
if (fuga) return $a;
else return $hage;
}
$a = hoge($a, $b);

ってやってるけど、パラメータから$aを省きたいってこと?
293nobodyさん:2012/03/04(日) 22:46:40.56 ID:???
function hoge(&$a, $b) でいいんじゃね?
294nobodyさん:2012/03/04(日) 23:16:26.97 ID:???
$c = hoge( $b )
$a = ある条件($c) ? $a : $c;
295nobodyさん:2012/03/04(日) 23:32:33.09 ID:???
( >д<)、;'.・ ファンクション
296nobodyさん:2012/03/05(月) 00:02:42.37 ID:???
>>295

42 :nobodyさん [↓] :2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
297nobodyさん:2012/03/05(月) 00:03:39.13 ID:???
い・・・引数
298nobodyさん:2012/03/05(月) 00:22:23.33 ID:???
珍回答
299nobodyさん:2012/03/05(月) 00:42:52.04 ID:???
い?
300nobodyさん:2012/03/05(月) 00:45:17.37 ID:???
ん?
301nobodyさん:2012/03/05(月) 00:55:21.95 ID:???
PHPerはレベルが高い。
ここの回答者はほんと尊敬する。
302nobodyさん:2012/03/05(月) 03:07:10.08 ID:???
>>144
素直にmemcached使うとかじゃダメなの?
303nobodyさん:2012/03/05(月) 03:25:45.82 ID:???
>>302
JavaではできるのにPHPではできないんですか?っていうよ。
ライブラリ使えば?とかの流れも同様に泥沼化したがる
304nobodyさん:2012/03/05(月) 09:03:22.48 ID:???
>>144
アプリケーションスコープに格納したら良いよ
305nobodyさん:2012/03/05(月) 09:50:21.01 ID:tzDsfQTC
質問です。正規表現につまっています。

(https?)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)

https? > http or https

:// > ://

[:alnum:] は 英数字

\+\$\;\?\. は +$;?.    ←こういうことでしょうか?

%,!#~*/:@&=_-   ←これは、どういうことでしょうか?

[・・・]+ > 繰り返し

$2グループの中の文字の繰り返しということ〜だと思っているのですが違いますか?
なぜエスケープされていない箇所があるのでしょうか。。。
306nobodyさん:2012/03/05(月) 14:00:20.50 ID:???
エスケープいらない文字だから

-は[]内ではエスケープ欲しいけど、最後だと動く
;にはいらない
307nobodyさん:2012/03/05(月) 14:17:05.99 ID:???
php関係ねえええええええええええええ
308nobodyさん:2012/03/05(月) 14:18:59.19 ID:???
309305:2012/03/05(月) 14:29:43.10 ID:???
返信ありがとうございます。

エスケープしなくても意味をもたない文字ということですね。
-もなるほどです。

PHPの勉強している時に出てきたものですから、ここで質問してしまいました。
すいません。

誘導ありがとうございます。

失礼いたしました。ありがとうございました。
310nobodyさん:2012/03/05(月) 18:40:56.83 ID:???
>>292
そうです
311277:2012/03/05(月) 18:49:27.96 ID:???
>>310は偽者です
312277:2012/03/06(火) 00:26:49.78 ID:???
>>310は本物です
313nobodyさん:2012/03/06(火) 02:01:06.19 ID:???
>>312
自演乙
314nobodyさん:2012/03/06(火) 02:07:59.90 ID:???
>>313
他演乙
315nobodyさん:2012/03/06(火) 02:29:22.85 ID:???
>>277
$aが具体的に何を表すのか知らんが
そういう時はクラスのプロパティとして$aを保持してればよくね
色んなことを一行で表現するより論理ごとに別れてた方がきれい

class Test
{
private $_a
public function __construct($a)
{
$this->_a = $a;
}
public function hogeA($b)
{
//$this->_aに対する操作(適当に条件分岐させろ)
}
public function getA()
{
return $this->_a;
}
}
$Test = new Test('test value');
$Test->hogeA('test value 2');
echo $Test->getA();
316nobodyさん:2012/03/06(火) 02:33:23.32 ID:???
操作部分やらを一行ですませたいなら、hogeAメソッドにreturn $this;を追加して
echo $Test->hogeA('test value 2')->getA();
317nobodyさん:2012/03/06(火) 03:09:12.21 ID:???
綺麗な粗大ゴミですね

って277が言ってました
318nobodyさん:2012/03/06(火) 09:06:56.66 ID:???
>>317
自演乙
319277:2012/03/06(火) 11:20:30.82 ID:???
しねよゴミ回答者共
320nobodyさん:2012/03/06(火) 11:28:04.77 ID:???
え、277ってネタじゃなかったの?
321nobodyさん:2012/03/06(火) 12:03:37.64 ID:???
id出せばいいのに・・・
322nobodyさん:2012/03/06(火) 12:30:12.85 ID:???
"なにもしない"を返したときは $a
$a = func($b) !== "なにもしない" ?: $a;

323nobodyさん:2012/03/06(火) 13:03:27.31 ID:???
なんだネタじゃねーのか。

>>277
どうしてもそうしたいならglobal $a;かけろ。
そうすりゃhoge($b)だけで済むじゃん。
珍回答だけど、珍質問相手だから勘弁しろ。
324nobodyさん:2012/03/06(火) 13:39:12.01 ID:???
珍回答するなら無名関数だろ
325nobodyさん:2012/03/06(火) 14:14:26.77 ID:???
293で既出だが、なるべく短くしたいなら参照渡しで良いだろ。
$a = hoge($b); と hoge($a,$b); 同程度の文字数だし。
326nobodyさん:2012/03/06(火) 14:18:10.19 ID:???
この際動けばいい 笑顔で納品してこい
327nobodyさん:2012/03/06(火) 14:48:41.70 ID:???
ごくたまに、きちんと設定しないから、ソースがまる見えのサイトを見掛ける。
メアドとか(DBとかの)パスワードとか書いてるのもあったり、危ねえ。
みんなパスワードをソースに書くのか?
328nobodyさん:2012/03/06(火) 14:59:27.02 ID:???
ソースが見られたレベルでは、DBのパスがなかったから良かったという状況がわかんない。
329nobodyさん:2012/03/06(火) 15:14:11.99 ID:???
>>327
入門レベルの参考サイトを見てまねたんじゃないかな。
勉強はじめた時に、直書きから、外部にして〜って段階ふんで習った?記憶がある
330nobodyさん:2012/03/06(火) 17:32:52.07 ID:???
>>327
アンケート?
331nobodyさん:2012/03/06(火) 17:37:35.48 ID:???
逆にどこにパスワードとか書けばいいの?
public_htmlより↑ってこと?
332nobodyさん:2012/03/06(火) 17:52:32.49 ID:???
フレームワークなんか見ればわかるけど普通にpublic_html下にベタ書きするぞ
まあ上に置けるなら置けばいいけど
ちゃんと鯖側で設定してるのが大前提だし気にする必要はないのではないか?
きちんと設定していないという状況がもうアウトなわけで
その設定できてないことに対する予防措置をとろうとするのはどうかと思うわ
333nobodyさん:2012/03/06(火) 18:00:09.81 ID:???
public_htmlより上に置けば安全ということはないしな。
334nobodyさん:2012/03/06(火) 18:10:16.63 ID:???
セキュリティにうるさい人は静脈認証でもしてるんかな
335nobodyさん:2012/03/06(火) 18:19:17.94 ID:???
>>332
public_htmlの上に置くのは当然
336nobodyさん:2012/03/06(火) 18:33:59.81 ID:???
あえて下に置けよ

強気でいくのだ何事も
337nobodyさん:2012/03/06(火) 18:37:26.26 ID:???
日本人と欧米人の感覚は違うからな
338nobodyさん:2012/03/06(火) 18:42:18.15 ID:???
Apacheアクセスログとか見てても不正侵入試みようとする連中は
お決まりのphpmyadminとかしか見てないから安心だ

下に桶
339nobodyさん:2012/03/06(火) 18:47:59.27 ID:sDRjkI45
$_POST
別のページに情報を引き継ぐ

$_GET
URLに情報を添付して別のページにデータを引き継ぐ

$_SESSION
サーバーに一定時間 データを保存してデータを引き継ぐ

こんな感じの理解であってますか?
340nobodyさん:2012/03/06(火) 19:20:01.18 ID:???
>>334
静脈認証も安心できない? 大根で作った偽造指で認証に成功
ttp://itpro.nikkeibp.co.jp/free/NC/NEWS/20050701/163801/
341nobodyさん:2012/03/06(火) 19:30:06.18 ID:???
>>339
とりあえず初歩の理解としてはそれで十分だけど、ちょと違うっちゃ違う。

POSTはいったんクライアントに全部情報を収容した上で
次のページにアクセスする際に全部投げ返してる。
GETも似たようもなもんだけど、URL経由で投げ返してるところがPOSTと違う。
SESSIONは、一定時間かどうかは設定次第で、何も設定しないノーマル状態だと
ブラウザが終了したとき、SESSIONも一緒におなくなりになる。
なお、データ保存先はサーバであって、クライアントはそれを取り出す鍵だけ持つ形になる。
342nobodyさん:2012/03/06(火) 19:31:32.65 ID:???
>>339
ただの変数ですよ
343nobodyさん:2012/03/06(火) 19:37:32.49 ID:???
GET POSTは引き継ぐ仕組みというより受け取る仕組み。
パラメータつきのURLからとか、プログラムからデータ送るとか
元がページじゃないことも。
344nobodyさん:2012/03/06(火) 19:42:30.33 ID:wqn36gVq
>>341
phpではSESSIONにクラスは格納するのはあまり無いことでしょうか?
345nobodyさん:2012/03/06(火) 19:45:29.73 ID:???
前スレにお帰り下さい
346nobodyさん:2012/03/06(火) 19:57:55.72 ID:???
$unko
347nobodyさん:2012/03/06(火) 21:16:48.12 ID:W+3fB5k3
AjaxアプリケーションをFC2レンタルサーバーLiteで試してるのですが、
FFでは文字化けしないのですが、何故かIE8で文字化けしてしまいます。
文字コードはhtmlもphpもutf8です。
さっぱりわかりません。助けとください。
348nobodyさん:2012/03/06(火) 21:25:47.70 ID:???
>>347
Ajaxで取りに行った先に更にバックエンドがあったりしないの?
Ajaxで取りに行った先で取得しているデータが別の文字コードになってたりとか。
つか、スレチじゃないか。もしかすると。
349nobodyさん:2012/03/06(火) 21:32:22.48 ID:???
IEはレスポンスヘッダの文字コード指定がないとそーなったような気が
350nobodyさん:2012/03/06(火) 21:38:43.76 ID:???
X-Content-Type-Options: "nosniff"
351nobodyさん:2012/03/06(火) 23:09:20.18 ID:qtKZw4aa
画面遷移でリダイレクトではなくフォーワードする方法はありますか?
352nobodyさん:2012/03/06(火) 23:14:21.02 ID:???
つphp+javascript
353nobodyさん:2012/03/06(火) 23:38:32.05 ID:qtKZw4aa
>>352
サーバー内部で転送する方法はありませんか?
354nobodyさん:2012/03/06(火) 23:46:49.16 ID:???
requireでいいんじゃねーの?
355nobodyさん:2012/03/06(火) 23:48:21.52 ID:???
だめなんです
356nobodyさん:2012/03/06(火) 23:53:51.58 ID:???
>>354
それだったら処理結果が元に戻ってくるw
357nobodyさん:2012/03/07(水) 00:05:12.26 ID:???
>>351
できる。
言語機能にはないが、創意工夫でがんばればなんとかできる。
たぶん。
358nobodyさん:2012/03/07(水) 00:07:19.07 ID:???
fopenがlocalhostで動かないのですが、セキュリティか何かの設定の問題ですか?
ちなみにこのようなエラーが出ます
Warning: fopen(counter.txt) [function.fopen]: failed to open stream: No such file or directory in C:\inetpub\wwwroot\study\counter1.php on line 10

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\inetpub\wwwroot\study\counter1.php on line 28
count:

参考にしたソースはこれです

http://www.phpbook.jp/appli/accesscounter/counter1.html
359nobodyさん:2012/03/07(水) 00:13:38.01 ID:???
fopen(counter.txt)


fopen('counter.txt')
360nobodyさん:2012/03/07(水) 00:19:46.54 ID:???
>>356
処理結果が元に戻ってくるとは?
サーバー内部で転送・・・ a.phpで中身というか、内容がb.phpでしょ?
a.phpに受けたリクエストもb.php(のスクリプト)で処理するんだし。
a.phpで受けたリクエストなんかの条件?にしたがって include("b.php")と。
361nobodyさん:2012/03/07(水) 00:31:18.69 ID:???
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること
362nobodyさん:2012/03/07(水) 00:38:49.22 ID:???
>>360
フォーワードって何かわかってる?

それだったらインクルード前とインクルード後の結果が
同時にクライアントに送信されるでしょ?
363nobodyさん:2012/03/07(水) 00:40:46.45 ID:???
されません
364nobodyさん:2012/03/07(水) 00:43:55.38 ID:???
>>363
されるよ。

リダイレクトとフォーワードの違いはわかるの?
365nobodyさん:2012/03/07(水) 00:44:19.07 ID:???
PHP側じゃなくて、Apache側でよければmod_rewrite使うとか
366nobodyさん:2012/03/07(水) 00:47:21.19 ID:???
>>363
あの、インクルードとフォーワードは違うと思うけど・・・。
他の言語知ってればそんな答えにはならないよ。
367nobodyさん:2012/03/07(水) 01:15:48.01 ID:428syFfx
WindowsのPHPでファイルシステム関数を使う際の質問です。

ファイル名やパスとしてユニコードを使いたい&MAX_PATHを超えたいので調べたところ、
以下のページでUTF-16でファイル名等を指定するとOKだとわかりました。
ttp://old.nabble.com/-PHP-users-30742--Windows-%2B-PHP-%E3%81%A7-UTF-8-%E3%82%92%E6%89%B1%E3%81%86-td7426214.html

しかし、自分の環境でSJIS以外エラーになるので、いろいろ実験したところ
使用中のPHP5.3.8だとダメで、古いPHP4.4.9だとOKになることが判明しました。

新しいPHPではUTF-16によるファイルシステムの呼び出しが無くなったのでしょうか?
それとも私の設定が悪いのでしょうか...。
情報をいただけるとありがたいです。
368nobodyさん:2012/03/07(水) 02:51:31.54 ID:???
>>362
いや、フォワードを実装するなら、そんなことにはならないよ。というか、しない。
すごくシンプルな実装をするなら
<?php
if (〜) include('a.php');
else include('b.php');
?>
369nobodyさん:2012/03/07(水) 03:04:32.31 ID:???
mod_rewriteでリダイレクトさせたいのですが

.htaccessに
RewriteRuleをどのように書いたらいいかわかりません。

http://abc/xyz.php を http://abc/xyz.html

にしたいのですが、サイトを見てまわりましたが
わかりませんでした、
動的を静的にするもっと複雑なリダイレクトの
サンプルばかりで・・・

方法を教えてください。



370nobodyさん:2012/03/07(水) 03:20:39.72 ID:???
371nobodyさん:2012/03/07(水) 03:34:33.26 ID:???
>>369
複雑なサンプルがいやってことならマニュアルにシンプルな例がのってるよ。
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
372nobodyさん:2012/03/07(水) 07:05:42.07 ID:WdbH+KTk
mysqlで自分のパソコンのxamppでは、新規データを登録(insert)し、その
データを更新(update)するときにタイムスタンプが新たに押されるの
ですが、レンタルサーバー上では、データ更新の際にタイムスタンプが
更新されません。どうしたらいいのでしょうか?
373nobodyさん:2012/03/07(水) 07:52:23.06 ID:???
初心者はXAMPP使うな
374nobodyさん:2012/03/07(水) 09:08:15.92 ID:???
>>372
カラムの設定に ON UPDATE が付いてなさそう
375nobodyさん:2012/03/07(水) 09:22:13.01 ID:???
>>372
http://dev.mysql.com/doc/refman/4.1/ja/datetime.html

>>373
いい加減、スクリプト停めてよ
376nobodyさん:2012/03/07(水) 09:51:08.81 ID:???
>>368
それ、インクルード。

リダイレクト、フォーワードでぐぐれ。
377nobodyさん:2012/03/07(水) 09:55:31.02 ID:???
>>369

rewrite 書き換え前のパス 書き換え後のパス

書き換え前は正規表現になるから気をつけてなー。
引数引き継ぎたいなら、引き継ぎたい文字列が入る部分に()つけて、後ろのほうは$1とか$2とかつけてやれば引き継ぐから。
まぁ、今回はいらんみたいだが。
378nobodyさん:2012/03/07(水) 09:56:45.50 ID:???
>>376
フォーワードはやめようぜ。 4wordですか?
あなたこそ、ちゃんと検索してどういうものか調べたほうがいいのではないですか?
遷移とか変な概念があるから混乱するかもしれませんが、やってることは
a.phpってアクセスに対して、 b.phpの内容を実行して表示するだけですよ?
379nobodyさん:2012/03/07(水) 10:03:09.86 ID:???
>>378
だから表示だけじゃないのw
380nobodyさん:2012/03/07(水) 10:44:28.80 ID:???
>>367
Windowsのバージョンぐらい書けや
それとMAX_PATHを超えることは無理
381nobodyさん:2012/03/07(水) 11:05:48.60 ID:???
>>378
>>379
とんちんかんな質問相手にもめるのやめようぜ。
質問者も質問を是正・補足するのあきらめていなくなったようだし。
ID出してるのいなくなったべ。
382nobodyさん:2012/03/07(水) 11:09:39.99 ID:???
XAMPPって単語に反応するのは大抵初心者
383nobodyさん:2012/03/07(水) 11:10:15.10 ID:???
Curlについて教えてください。
URLによってソースが取得出来るものとできない物があって困っています。
例えば下のURLだと

$ch = curl_init('http://item.rakuten.co.jp/book/6414086/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$str = curl_exec($ch);
curl_close($ch);
echo $str;

結果
301 Moved Permanently

Moved Permanently
The document has moved here.

と表示されます。
どうすればいいでしょうか?
384nobodyさん:2012/03/07(水) 11:18:13.73 ID:???
>>383
CURLOPT_FOLLOWLOCATIONをtrueかな
385nobodyさん:2012/03/07(水) 11:24:22.07 ID:???
>>384ありがとうございます!出来ました。
386nobodyさん:2012/03/07(水) 11:24:54.34 ID:???
リファラとかUAとかクッキーとかセットしろや
387367:2012/03/07(水) 11:57:05.66 ID:428syFfx
その後検証を続けてみたのですが、
どうやらそもそもPHP4でUTF-16のパスが使えるということが間違いだったようです...。
PHP4のファイルシステム関数にUTF-16のパスを与えると謎の既存ファイルを指すようで、
例えば、存在しないファイルでも file_exist はTRUEを返したりするようです。

お騒がせして申し訳ないです。
388nobodyさん:2012/03/07(水) 12:54:36.25 ID:???
配列を連結する時に、joinを使うかimplodeを使うか考え出すと夜も眠れません。
どうかお助けください。
389nobodyさん:2012/03/07(水) 12:55:19.85 ID:???
>>379
表示だけに限らないよ
390nobodyさん:2012/03/07(水) 12:57:52.96 ID:???
>>388
implode explodeを使うべきってマニュアルのどっかにあったけど、そのURLを出せずにすまないと思う
391nobodyさん:2012/03/07(水) 13:00:37.73 ID:???
ってか、いまのjoinはimplodeのaliasらしい。
なのでどっちでもいいけど、implodeのほうがいいよ
392nobodyさん:2012/03/07(水) 13:20:40.59 ID:???
>>388
joinはエイリアスです
基本的にエイリアスの使用はやめましょう

>>390
エイリアスのページに書いてあります
393nobodyさん:2012/03/07(水) 13:28:59.92 ID:???
394nobodyさん:2012/03/07(水) 13:44:43.57 ID:???
>>389
>>379はそう言ってると思うのだが、あの文章だとイントネーションで
意味が変わってくるなw
395nobodyさん:2012/03/07(水) 13:44:43.60 ID:???
>>392
ごめんね、エイリアスになる前の記憶しかなかったんだ。
396nobodyさん:2012/03/07(水) 15:34:53.97 ID:???
ハッカー軍団アノニマス解体へ リーダーがFBIのスパイだったwww
http://engawa.2ch.net/test/read.cgi/poverty/1331095524/
397nobodyさん:2012/03/07(水) 17:28:37.67 ID:mMKjJQE+
>>359
それは、どういうことですか?
398358:2012/03/07(水) 17:29:42.47 ID:mMKjJQE+
なまえにレス番入れるんでしたね。すみません。
399nobodyさん:2012/03/07(水) 17:34:44.85 ID:???
君がfopenに渡したのは文字列じゃない
文字列を渡したいならちゃんとダブルクォーテーションかシングルクォーテーションで囲うこと
400358:2012/03/07(水) 17:38:38.70 ID:mMKjJQE+
>>399

$counter_file = 'counter.txt';
$fp = fopen($counter_file, 'r+');

これではダメということですか?
401nobodyさん:2012/03/07(水) 17:46:02.26 ID:???
いいよそれで。
r+ってことは事前にファイルが無いとダメだが
実行時の権限で書き込めるファイルはそこにあるの?
402nobodyさん:2012/03/07(水) 17:46:36.83 ID:???
それも文字列を渡しているのでそれでいい
403nobodyさん:2012/03/07(水) 17:48:25.67 ID:???
No such fileだからそもそも無いね
404nobodyさん:2012/03/07(水) 17:53:54.92 ID:???
無い時は作るのならa とか a+で
405358:2012/03/07(水) 17:55:36.26 ID:mMKjJQE+
なるほど!ファイルがなかったのですね!ありがとうございます。

ファイルを作成してみると、先程のエラーの代わりに今度はこのようなエラーが出るようになってしまいました。

Warning: fopen(counter.txt) [function.fopen]: failed to open stream: Permission denied in C:\inetpub\wwwroot\study\counter1.php on line 10

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\inetpub\wwwroot\study\counter1.php on line 28
count:

エラー文で検索してみると、権限がないとかどうとかで・・・。
一応このユーザーアカウントははUACも切ってて、何の制限もないはずです。どういうことですか?。
IISやPHP.iniの設定の問題でしょうか?
406nobodyさん:2012/03/07(水) 17:57:01.71 ID:???
IISはどのユーザー権限でphp動かすの?
そのユーザーの書き込み権限をそのディレクトリに追加してやればいい
407nobodyさん:2012/03/07(水) 17:57:58.91 ID:???
おっとファイルは事前に作ったのか
ならそのファイルの書き込み権限に追加、だな
408nobodyさん:2012/03/07(水) 18:17:56.99 ID:YWemLpkn
submitを1回押してactionに対してpostを複数回送ることって可能でしょうか?
409nobodyさん:2012/03/07(水) 18:18:58.02 ID:???
そいつはjavascriptの仕事じゃないかな
410358:2012/03/07(水) 18:23:58.41 ID:mMKjJQE+
>>406
ありがとうございます。その教えを頼りにググりつつ権限を追加する方法を模索していたのですが、
http://mizushima.ne.jp/Windows/HTTP/IIS/IIS-setting.php
のサイトの3枚目の画像、右クリックした時の選択肢が全く違いましてそこで止まってしまいました。
ちなみに私のパソコンでは既定のWebサイトではなくDefault Web Site(複数のプロトコル)になっていました
OSやバージョンの違いでしょうか?
それらしき項目を探してみたのですが見つからずでした・・。
OSは7でIISは7.5です。
411nobodyさん:2012/03/07(水) 18:27:42.78 ID:YWemLpkn
>>409
javascriptさんの仕事内容教えていただけますか?
412nobodyさん:2012/03/07(水) 18:30:10.33 ID:???
板違い
413nobodyさん:2012/03/07(水) 18:30:52.30 ID:???
>>410
既定とDefaultは同じ意味だ、気にせず進め、、というかもうphp関係無いなあ
414358:2012/03/07(水) 18:35:32.53 ID:mMKjJQE+
>>413

気にせずに進もうとしたのですがプロパティ等の選択肢も全く違っていて、どうにもならない状態なんです・・。
http://www.dotup.org/uploda/www.dotup.org2722114.jpg


すみません、PHP関係ありませんか?どこか別のスレの方が良いのでしょうか
415nobodyさん:2012/03/07(水) 18:39:10.86 ID:???
最後の画像の書き込み、変更のチェック
416nobodyさん:2012/03/07(水) 18:40:02.17 ID:???
>>414
Windows板だな。
とりあえずエクスプローラからファイル右クリックして
セキュリティから追加でIUSR_なんちゃらをフルコンで追加してやれ
417nobodyさん:2012/03/07(水) 18:42:23.49 ID:???
最後から4番目だったな・・・
このページの内容をやったんなら気づくとは思うのだが。
418358:2012/03/07(水) 18:48:18.65 ID:mMKjJQE+
すみません。すでにフルコントロールにしてあったようなのですが、ダメでした。
板違いということで、これ以上このスレに書き込むのはやめておきます。有難うございました。
419nobodyさん:2012/03/07(水) 18:49:52.17 ID:???
お前ら仕事中に2chして大丈夫なのか
420nobodyさん:2012/03/07(水) 18:51:22.02 ID:???
っていうか2chで聞かないと制作が進まないし
421nobodyさん:2012/03/07(水) 18:55:24.32 ID:???
仕事と2chは切っても切れない関係ですよ
422nobodyさん:2012/03/07(水) 18:58:26.98 ID:???
仕事なんてしてませんよ
423358:2012/03/07(水) 19:07:48.69 ID:???
2chが仕事だよ
424nobodyさん:2012/03/07(水) 19:14:29.02 ID:???
おwwwwまwwwwえwwwwwwらwwwwww
425nobodyさん:2012/03/07(水) 19:47:51.99 ID:???
質問です
phpでmixiのログイン後の自分のページ(http://mixi.jp/home.pl)を
get_file_contentsにて取得したいのですが
ブラウザ別タブでmixiにログインした状態でhttp://mixi.jp/home.plを取得すると
マイページではなくmixiのログインページの内容が取得されてしまいます

どうにか取得する方法はありませんか?
426nobodyさん:2012/03/07(水) 19:49:15.52 ID:???
php mixi ログインで検索
427nobodyさん:2012/03/07(水) 20:30:38.62 ID:???
>>408
PHPからPOSTでプッシュすることも出来るから
一旦、なんらかの値を受け取るのをトリガーに処理かましながらでも出来るよ。

PHP POST 送信 で検索
428nobodyさん:2012/03/07(水) 20:44:30.43 ID:???
>>425
file_get_contentsは使うなっていってんだろしねや
429nobodyさん:2012/03/07(水) 20:58:12.20 ID:???
>>428
すいません初心者なもので・・・
どうするのが一番正しいのでしょうか?
430nobodyさん:2012/03/07(水) 20:59:24.99 ID:???
>>429
使うな君といって、教えてくれないので無視しなさい。
で、検索したの?
431nobodyさん:2012/03/07(水) 21:09:00.17 ID:???
>>430
検索してみたらphp mixi apiなるものがあったので
試してみようと思ってます

ありがとうございます
432nobodyさん:2012/03/07(水) 21:13:42.52 ID:???
>>431
すいません
mixiクラスでした;;
433nobodyさん:2012/03/07(水) 21:35:59.95 ID:???
mixiクラスってもう使えないんですかね・・・

<?php
require "mixi_class.php";

if(is_logined()){
echo "ログインしてます";
}else{
echo "ログインできてないです";
}
?>

434433:2012/03/07(水) 21:36:42.29 ID:???
上のように書くと
Fatal error: Call to undefined function login() in index.php on line 4
となってしまいます;;
435nobodyさん:2012/03/07(水) 22:12:42.76 ID:???
is_loginedがクラスのメソッドなら、
インスタンス->is_loginedとか クラス:: is_loginedとかになるんじゃねーの?
エラーには is_ついてないしよく分からんね
436nobodyさん:2012/03/07(水) 22:15:19.81 ID:???
>>435
すいません
エラー文はこうでした
Fatal error: Call to undefined function is_logined() in index.php on line 4

http://riaf.s47.xrea.com/dev/phpMixi.class.phps
これがソースです

お願いします;;
437nobodyさん:2012/03/07(水) 22:30:36.25 ID:???
>>418
もし見てたら。一応最終手段として、Everyoneフルコントロールを試すのもあり。
IISが偽装するユーザが変わったのかもしれないし。

で、誘導するとしたらここなんだろうけど、機能してなさそうだね…

【IIS】Internet Information Services 総合スレ2
http://engawa.2ch.net/test/read.cgi/mysv/1118420314/
438nobodyさん:2012/03/07(水) 22:33:47.20 ID:???
>>436
インスタンスつくってから呼ぶ。
439nobodyさん:2012/03/07(水) 22:57:43.83 ID:???
久しぶりに思い出した
まるでPHPusersMLのような質問だw
440nobodyさん:2012/03/07(水) 23:02:41.93 ID:???
>>438
本当に初心者で申し訳ありません
インスタンスを作成してから試した所
実際のメールアドレス、パスワードを入れてもログイン出来ません

このクラスが使えないのか自分の入力が間違っているのかわからないです。

<?php
require "Mixi.class.php";

$mixi = new PHP_Mixi();
$mixi->email = "[email protected]";
$mixi->password = "passwd";

if($mixi->is_logined()){
echo "ログインしてます";
}else{
echo "ログインできてないです";
}
?>

を表示するとログインできてないですと表示されます
441nobodyさん:2012/03/07(水) 23:07:31.16 ID:???
loginってメソッドあるやん
is_loginはログイン中かどうか確認するためのメソッドやろ
442nobodyさん:2012/03/07(水) 23:28:42.31 ID:???
>>440
質問の回答になってないけど、スレのルールは守ったほうがいいと思う
443nobodyさん:2012/03/08(木) 00:08:43.13 ID:???
よそのサーバからデータ取ってくるような質問ばっかりだな。
444nobodyさん:2012/03/08(木) 00:13:05.73 ID:???
>>440
初心者という自覚があるのなら、まずはコードを読めるようになるところからはじめるといいよ
445nobodyさん:2012/03/08(木) 00:19:32.14 ID:???
>>444
うっせーかす
446nobodyさん:2012/03/08(木) 01:12:20.49 ID:???
はい、終了
447nobodyさん:2012/03/08(木) 02:13:22.45 ID:???
( >д<)、;'.・ ファンクション
448nobodyさん:2012/03/08(木) 02:18:39.19 ID:???
42 :nobodyさん [↓] :2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
449nobodyさん:2012/03/08(木) 02:54:42.42 ID:???
>>445
お前誰?
450nobodyさん:2012/03/08(木) 02:55:09.82 ID:???
>>449
あ?なんや?
451nobodyさん:2012/03/08(木) 02:55:50.43 ID:???
質問者ならID出せよ
452nobodyさん:2012/03/08(木) 02:56:49.44 ID:???
いやだ
453nobodyさん:2012/03/08(木) 03:11:18.06 ID:???
PHPerは馬鹿ばっかり。
454nobodyさん:2012/03/08(木) 04:02:23.77 ID:???
自己紹介はいいから質問ないならお前ら黙ってな
455お願いします:2012/03/08(木) 15:59:21.51 ID:???
掲示板(PHP)とtwitterを連動させようと思ったのですが、書込後にデータをtwitterに吐き出した後、掲示板が止まってフッター部分が表示されません。なにか良い方法はないのでしょうか?


require_once("twitteroauth.php");
$consumer_key = "****";
$consumer_secret = "****";
$access_token = "****";
$access_token_secret = "****";

$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
$req = $to->OAuthRequest("http://api.twitter.com/1/statuses/update.xml","POST",array("status"=>"ツイート"));
header("Content-Type: application/xml");
456nobodyさん:2012/03/08(木) 16:14:34.11 ID:???
>>1
457455:2012/03/08(木) 16:21:04.81 ID:???
自己解決しました!
458455:2012/03/08(木) 16:49:07.46 ID:bF3prAQQ
解決しておりません

ナリスマシはご勘弁を。。。
459nobodyさん:2012/03/08(木) 17:16:48.70 ID:???
>>457
なんかID出さない奴はもうそれでいいような気がしてきた。
460455:2012/03/08(木) 17:20:26.47 ID:bF3prAQQ
御免なさい、別板の質問スレで「アゲるなカス」と罵倒されて以来、sageで質問する習慣が… Orz
461nobodyさん:2012/03/08(木) 17:47:20.49 ID:???
>>455

>>1を読まないような奴は質問の仕方もクズだな
twitteroauth.phpってなんだよ
どこから入手できるライブラリから書かないと相手には通じませんよ
人に伝える努力は惜しまずに
462nobodyさん:2012/03/08(木) 17:50:09.79 ID:???
ああ、気持ちはよくわかる。
よくわかるが、このスレでこの展開を迎えたとき、
>>455=>>457であり、ID:bF3prAQQが成りすましという疑いのレスが続くことがある。
簡単に言うとIDつきでもっかい質問書いたほうがいいよ。

>>455へのレスをするとすると、情報が少ないように思う。
463nobodyさん:2012/03/08(木) 17:52:32.78 ID:???
少なくともそのコードは関係ないだろ
htmlの途中にxml表示するとかミラクルなことやってるわけじゃないだろ?
464455:2012/03/08(木) 18:06:22.69 ID:bF3prAQQ
皆さん、ルールを理解せずに本当に申し訳ありませんでした

>>462
twitteroauth.phpはここからダウンロードしました。
ttps://github.com/abraham/twitteroauth/tree/master/twitteroauth


>>463
サンプルコードではheader("Content-Typ… の下に echo ($req); というのがありました。
表示は不要なのでecho部分は削除してアップロードしました。 これが原因…?

465nobodyさん:2012/03/08(木) 18:37:52.25 ID:???
>>464

ちゃんと掲示板のソースは最後まで出てる?
問題切り分けてちょ。
466nobodyさん:2012/03/08(木) 21:15:01.82 ID:???
出力htmlのソースを表示してヒントにしつつ
掲示板の止まってるとこの前後のソースを探ってみるしかない
なんかエラーがあったらexitとかdieとかの処理を挟んでるんじゃないか?
467nobodyさん:2012/03/08(木) 21:24:19.54 ID:???
サンプルはAPIで取得したxmlデータをそのままxmlファイル形式で出力するようにしてるんだろ
header()の行を削除すれば解決するはず
468455:2012/03/08(木) 23:02:26.36 ID:???
自己解決しました!
469nobodyさん:2012/03/08(木) 23:41:31.82 ID:???
42 :nobodyさん [↓] :2012/02/27(月) 00:59:20.23 ID:???
えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
470455:2012/03/09(金) 00:38:10.11 ID:???
してません
>>468さんは偽者です。
471nobodyさん:2012/03/09(金) 11:13:47.01 ID:???
>>470 も偽者なんだろうなぁ。

質問者消えたな。
472nobodyさん:2012/03/09(金) 16:31:48.56 ID:???
最初からIDだしとけばよかったのにね☆ミ
473nobodyさん:2012/03/09(金) 16:38:30.21 ID:???
日付超えること考えると鳥だけどな。
474nobodyさん:2012/03/10(土) 01:46:11.17 ID:YxaN43P5
facebookアプリを開発しているのですが、ご教授願います。
参照:http://socialmediaexperience.jp/2885
下記のサンプルプログラムに、facebookのウォールに投稿するための権限を取得したいのですが、
'scope' => 'publish_stream',
こちらをどこにどうのように記載すべきでしょうか。

<?php
$app_id = 'アプリケーションID';
$app_secret = 'アプリの秘訣';
$my_url = 'Webサーバ側のURL';
// ステップ1.ユーザーがログインしているか否かの確認
$code = $_REQUEST["code"];
if(empty($code)) {
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url);
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
// ステップ2.Facebook側からトークンを取得
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) . "&client_secret=" . $app_secret . "&code=" . $code;
$access_token = file_get_contents($token_url);
// ステップ3. トークンを使用して、graph APIから名前を取得
$graph_url = "https://graph.facebook.com/me?".$access_token;
$user = json_decode(file_get_contents($graph_url));
echo $user->name;
?>
475nobodyさん:2012/03/10(土) 02:09:39.27 ID:???
最近こんな質問ばっかだな
いくらSNSが流行ってるからって外部APIの質問ばっかでげんなりですよ
476nobodyさん:2012/03/10(土) 02:25:42.43 ID:dC1w2H2t
PHPで一番手軽に全文検索するにはどうしたらいいでしょうか?
477nobodyさん:2012/03/10(土) 02:33:43.75 ID:???
SQLiteでも使って下さい
478nobodyさん:2012/03/10(土) 02:33:50.09 ID:???
どういうデータ構造かわからんと答えようがない
479nobodyさん:2012/03/10(土) 02:34:43.14 ID:/aJUja8G
文字列の正規表現で
「数値と英語と . と / と hoge 以外にマッチ」
というのをやりたいのですがどうも失敗してしまいます。一発での解決方法とかあるのでしょうか?

\Dやったあとまた\Wでマッチング、その後ドットでマッチングと物凄く効率悪い方法しか思いつかなかったのですが
480nobodyさん:2012/03/10(土) 02:40:03.33 ID:???
481nobodyさん:2012/03/10(土) 02:41:39.54 ID:???
>>475
でっ答えれないの?
482nobodyさん:2012/03/10(土) 02:46:08.66 ID:???
別スレ作れよもう
483nobodyさん:2012/03/10(土) 02:47:00.16 ID:???
>>481
答えてあげなよ
484nobodyさん:2012/03/10(土) 02:49:52.61 ID:???
わざわざFacebookの仕様を調べて答えろと?
HTTPクライアント作成したくても自力で出来ないなら諦めろよ
485nobodyさん:2012/03/10(土) 02:52:04.29 ID:???
そこまでいくと
http://kohada.2ch.net/test/read.cgi/php/1314546533/
こっち向けだろ
486nobodyさん:2012/03/10(土) 04:01:38.89 ID:???
>>481=484なの?
何で煽ったんだろ。>>475の感想が気に入らなかったにしても、質問者じゃないならスルーすればおk
487nobodyさん:2012/03/10(土) 06:45:55.14 ID:Tk4y3EFU
今質問しても大丈夫でしょうか?
488nobodyさん:2012/03/10(土) 06:47:15.10 ID:???
今は荒れてるからあと6時間待て
489nobodyさん:2012/03/10(土) 06:48:57.30 ID:???
一言ですむ。
PHP用のAPI使え。devサイトで提供してるんだから。
490nobodyさん:2012/03/10(土) 06:50:48.31 ID:???
むしろ今質問しろ
491nobodyさん:2012/03/10(土) 06:57:05.40 ID:Tk4y3EFU
改行を含むtextを読み込み、そこの特定の行から〜最後までを取り出したいのですが
(例:50行あるtextから46行〜50行までの取り出し)
この場合fileだと無駄に全部取得してしまうのでfgets()やfopen()などのほかの関数を使ったほうが良いと気づきました
この動作を行う場合最適なtextファイル読み込み関数は何になるんでしょうか?
492nobodyさん:2012/03/10(土) 07:03:35.47 ID:???
その程度の処理ならfile関数でもほとんど変わらない。なんでもいいよ。
493nobodyさん:2012/03/10(土) 07:05:17.24 ID:???
>>491
最適って最速ってこと?CPU負荷が最少ってこと?メモリ使用量が最少ってこと?トラフィックが小さいってこと?保守性がいいってこと?
プログラムするならあいまいな言葉は使わないほうがいいよ
494nobodyさん:2012/03/10(土) 07:10:09.93 ID:Tk4y3EFU
>>493
CPU負荷です
次から気をつけます
495nobodyさん:2012/03/10(土) 07:11:07.57 ID:???
それで?
496nobodyさん:2012/03/10(土) 07:16:45.70 ID:???
>>494
DB使う
497nobodyさん:2012/03/10(土) 07:18:37.69 ID:???
たいして計算するような処理じゃないんだしCPU負荷なんてそんなかからんでしょ
気にする必要ナッシン
498nobodyさん:2012/03/10(土) 09:13:40.01 ID:NmPFatN8
php4 で、これって同じ?
$this->親クラスのコンストラクタ;
parent::親クラスのコンストラクタ;

※php4なので親クラスと子クラスではコンストラクタ名は異なります。
499nobodyさん:2012/03/10(土) 10:58:14.18 ID:???
APIなんてしっかり使い方が記された公式ドキュメントがあるじゃん
それもよまないで質問するなよ
500nobodyさん:2012/03/10(土) 10:59:00.75 ID:???
>>498
試せば分かることを聞くな
501nobodyさん:2012/03/10(土) 11:03:47.00 ID:???
>>498
全然違う
502nobodyさん:2012/03/10(土) 18:49:41.14 ID:ZtiXTycw
if($_POST){

}
なにかしらPOST が取得できたら TUREという理解でいいんですか
503nobodyさん:2012/03/10(土) 19:14:21.94 ID:???
そうだけど
if($_SERVER['REQUEST_METHOD'] === 'POST')
のほうがしっくりくる
504nobodyさん:2012/03/10(土) 19:36:21.87 ID:???
感覚論出たw
505nobodyさん:2012/03/10(土) 19:38:52.62 ID:Y036jPvy
アメブロ等の検索システムってどうやってphpで実装するのでしょうか?
なにか、有名なライブラリ等はあるのでしょうか?
506nobodyさん:2012/03/10(土) 19:40:57.57 ID:???
>>505
$sql = 'select * from table where content like %' . $word . '%';
507nobodyさん:2012/03/10(土) 19:50:14.78 ID:Y036jPvy
>>506
すいません、解説をお願いします。
508nobodyさん:2012/03/10(土) 20:20:55.37 ID:???
>>507
何が分からんの?
509nobodyさん:2012/03/10(土) 20:22:34.37 ID:???
たぶんデータベースを知らないんじゃないか?
510nobodyさん:2012/03/10(土) 21:20:05.94 ID:???
MySQLのお勉強をしてくださいね
511nobodyさん:2012/03/10(土) 21:21:30.41 ID:???
はいなー
512nobodyさん:2012/03/10(土) 22:25:29.60 ID:???
Tritonnを使いなさい
513nobodyさん:2012/03/10(土) 23:56:46.64 ID:???
>>475
さっさと答えてくれませんか?
514nobodyさん:2012/03/11(日) 00:06:39.40 ID:???
>>513
いいよ。何聞きたいの?
515nobodyさん:2012/03/11(日) 00:09:57.40 ID:???
>>475
さっさと答えてくれませんか?
516475:2012/03/11(日) 00:27:37.57 ID:???
分かりません。
ごめんなさい
これでいいんでしょ
517nobodyさん:2012/03/11(日) 00:29:37.74 ID:???
質問した奴はよっぽど悔しかったんだな
518nobodyさん:2012/03/11(日) 00:40:03.17 ID:???
だろうな。質問したらなんでも得れるとでも思ってるんでしょうな。
典型的なゆとりっすな
519nobodyさん:2012/03/11(日) 04:06:37.88 ID:???
いつものやつだろ
ほっとけ
520名無しさん:2012/03/11(日) 17:29:34.13 ID:pFTcjAB+
さっきちょっと検索の醍醐味が薄れてきた気分になった。
521505:2012/03/11(日) 20:03:10.11 ID:6FUbVztn
アメブロ等の検索システムは、記事のタイトルと本文を
データベースに記録してあり、それの検索をphpでlikeを
使い検索ということでしょうか?
522nobodyさん:2012/03/11(日) 20:05:06.17 ID:???
>>521
知るか。アメブロに聞け。
523nobodyさん:2012/03/11(日) 20:32:11.92 ID:Ul7q+mz0
>>505 >>521
「全文検索」で情報を漁ってください。

>>506
ごくごく小規模な用途限定のやり方ですね。
524nobodyさん:2012/03/11(日) 20:40:34.34 ID:???
>>523
小規模って具体的にどれくらい?
525nobodyさん:2012/03/11(日) 20:41:25.72 ID:Ul7q+mz0
>>500
想像がつく範囲で試しても、想定漏れがありそうで怖いので聞いてみました。

(A)「parent::method」という書き方は(B)「class::method」という書き方に似ていて、
(B)だとオブジェクト変数にアクセス出来ないので、それと同じ制限があるのかと
思いましたが、試したところ、その制限はありませんでした。

なので
「$this->親クラスのコンストラクタ」と「parent::親クラスのコンストラクタ」は
同じ動作なのかと思ったのですが、一応、識者に聞いてみたかったのです。

>>501
違うのですね。
どこが違うのかポインタ教えていただけるとありがたいです!
526nobodyさん:2012/03/11(日) 20:43:44.85 ID:???
>>524
大規模になるとこんなもの使う↓

http://www.atmarkit.co.jp/fjava/rensai4/hadoop_tm01/01.html
527nobodyさん:2012/03/11(日) 20:44:25.20 ID:???
>>524
小規模の定義を聞いてるんだが
528nobodyさん:2012/03/11(日) 20:44:35.81 ID:???
間違えた>>526
529nobodyさん:2012/03/11(日) 20:48:41.52 ID:???
>>528

>>523でも>>526でもないが

小規模とは>>521に書いてある「phpでlikeを使い検索」で間に合うレベル。
530498=523=525:2012/03/11(日) 20:49:14.66 ID:Ul7q+mz0
>>524

サーバー構成と応答の許容時間によります。

「like '%xxxx'」のように、検索文字列の前に「%」を付けると索引が使われない
ため、テーブルを全件見に行かないといけなくなり、件数やサーバーの能力に
応じた時間がかかってしまうためです。

索引に頼ることができないため、データベースのデータが確実にメモリーに
キャッシュされるチューニングをした上で、メモリー容量まではある程度高速に
検索ができますが、それを超えると極端に遅くなっていきます。
531498=523=525:2012/03/11(日) 20:57:36.15 ID:Ul7q+mz0
>>502
悪くは無いですが、if(isset($_POST)){} じゃないとinfoログが出ます。
532nobodyさん:2012/03/12(月) 00:31:59.22 ID:JEbP5xt5
for文を使いループで一つ2行あるテーブルを作るにはどうすればいいのでしょうか?

-------- -------- -------  --------
|     | |     | |     | |      |
|     | |     | |     | |      |
-------- ------- --------- ---------  

-------- -------- -------  --------
|     | |     | |     | |      |
|     | |     | |     | |      |
-------- ------- --------- --------- 

このように、4つめになったら改行をする、と言う風にしたくて、
一応それはできたのですが、

-------- 
|     | 
|     | 
|-------|
|     |
|-------|

こんな感じに一つ一つを二行にして、横に並べ4つ目で改行、とするにはどうすればいいのでしょうか?
下手で分かりにくいかも知れませんが、教えてください、お願いします。
533nobodyさん:2012/03/12(月) 00:39:13.52 ID:???
>>530
理由じゃなくて目安を聞いてるんだけど・・・。
コンピュータと話してるんじゃなくて人間と話してるんだぜ。
534nobodyさん:2012/03/12(月) 00:58:28.68 ID:???
またお前か
535498=523=525:2012/03/12(月) 01:08:28.65 ID:pwdc/TOi
>>533

目安を書いてますよ。
データベースサーバーがキャッシュ可能なメモリー容量までです。
レコード長でわり算してみてください。

あなたの環境のことは私にはわかりません。
メモリーが500GByteでレコード長が1byteなら500G行までです。
536498=523=525:2012/03/12(月) 01:14:20.88 ID:pwdc/TOi
>>532
テーブルというのはHTMLのテーブルですか?
良くわからないので、欲しい結果をHTMLで書いてみてはどうでしょうか。
537nobodyさん:2012/03/12(月) 01:18:06.28 ID:Ik+kB/Cp
PHPでオブジェクト指向プログラミングを行うとき、
標準関数群はどのクラスに属していると考えればよろしいのですか?
538nobodyさん:2012/03/12(月) 01:21:36.89 ID:???
>>530
中間一致でインデックスが使われないDBに限定した話ですかね。
539nobodyさん:2012/03/12(月) 01:26:33.43 ID:???
googleページを解析してたらphpエディタが固まった サクラエディタは何ともないのに
あいつらやっぱり変態だわ
540nobodyさん:2012/03/12(月) 01:27:44.82 ID:???
>>538
ほとんどのDBは
中間一致でインデックスは使われません。
だから特殊なDBが必要になる。
541498=523=525:2012/03/12(月) 01:30:42.38 ID:pwdc/TOi
>>538
標準的なRDBMSの場合で書きました。
「中間一致でインデックスが使われないDB」ではないDB、
つまり全文検索機能がある場合(使用する場合)は、
もちろんこの限りではありません。

という意味で、
>>523 で、「「全文検索」で情報を漁ってください。 」と書きました。
542nobodyさん:2012/03/12(月) 01:38:12.49 ID:???
>>536PHPで書いたソースは、めちゃくちゃかも知れませんがこんな感じです。

<?php
$data=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
echo "<table border>" . "<tr>";
for($i=0,$n=count($data);$i<$n;$i++){
if (($i % 5) == 4) {
echo "</tr>"."<tr>";
} else {
echo "<td width=\"160\">" . "あ" ."</td>";
}
}
?>

<html><body>
<table border>
<tr><td>タイトル1</td><td>タイトル2</td>
</tr><tr><td>あ1</td><td>あ2</td>
</tr></table>
</body></html>

欲しい結果は、画面表示だけみればこのように、上下セットでとなるものを作りたいです。
そしてループで横に並べ4つめで改行、と言う風にしたいです。
543nobodyさん:2012/03/12(月) 01:58:23.27 ID:???
>>542
<hr>で区切るか<br>で改行とか装飾は<span>でっていうのがシンプルで管理も楽かなーと思う
<tr><td><span class='title'>タイトル1</span><hr>あ1</td><td>タイトル2<hr>あ2</td>
544498=523=525:2012/03/12(月) 02:28:01.78 ID:pwdc/TOi
>>542
こんな感じ?
<?php
$data=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
$i = 0;
echo '<html><body><table>' . "\n";

foreach($data as $value)
{
  $i++;
  if(($i % 4)===1){
    $line1 = '<tr>';
    $line2 = '<tr>';
  }

  $line1 .= sprintf('<td>タイトル%s</td>', $value);
  $line2 .= sprintf('<td>あ%s</td>', $value);
  
  if(($i % 4)===0 or $i===count($data)){
    echo $line1 . '</tr>' . "\n";
    echo $line2 . '</tr>' . "\n";
  }
}
echo '</table></body></html>' . "\n";
?>
545nobodyさん:2012/03/12(月) 16:49:26.43 ID:???
今yum死んでる?アップデートもインストールもできない
546545:2012/03/12(月) 16:51:27.16 ID:???

すみません。誤解な上にスレチでした。
547nobodyさん:2012/03/12(月) 17:40:16.66 ID:???
はやてのようにあらわれて
548nobodyさん:2012/03/12(月) 18:01:36.44 ID:JEbP5xt5
>>543-544ありがとうございました。
549nobodyさん:2012/03/12(月) 18:39:29.58 ID:???
いいってことよ
550nobodyさん:2012/03/12(月) 20:15:15.33 ID:???
剰余の計算で===とかw
551nobodyさん:2012/03/12(月) 20:32:13.57 ID:???
いくつかの突っ込みどころの中でそれを選んだ>>550はすごいな
552nobodyさん:2012/03/12(月) 20:34:11.33 ID:???
比較演算子は、そっちで書ける限りそっちのほうが早いし間違いも無い。

笑うのはありえない。
553nobodyさん:2012/03/12(月) 20:37:48.54 ID:???
>>552
書ける限り早いってどういうこと?
554nobodyさん:2012/03/12(月) 20:46:32.39 ID:???
===ではなくて ==と書きたいこともあるだろう?
そうでなくて、厳密な比較でいい場合はってこと。
555nobodyさん:2012/03/12(月) 21:02:03.44 ID:???
==で書いてるコードって今時あんの?
556nobodyさん:2012/03/12(月) 21:08:10.22 ID:???
PHP以外というかコンパイラ言語なら==が普通だろ
PHPerルール押し付け(・A・)イクナイ!!
557nobodyさん:2012/03/12(月) 21:09:35.85 ID:???
誰も他の言語の話してないしよ
PHPの==と===の違いを理解してから言ってくれ
558nobodyさん:2012/03/12(月) 21:09:37.11 ID:???
>>554
いやだから何が早いのかさっぱり分からんが。
判断速度が?記述速度が?処理速度が?
559nobodyさん:2012/03/12(月) 21:14:00.61 ID:???
理解してなきゃコンパイラ言語と言わんわ
560nobodyさん:2012/03/12(月) 21:15:40.79 ID:???
for ($i=0;$i<count($array);$i++)
とかもそうだな
外に出せとかいうやついるよな
CやJava使いが簡単に使えるような仕様にしてんだから
そいつらにすれば余計なお世話だ
561nobodyさん:2012/03/12(月) 21:26:47.21 ID:???
>>558
あいまいな比較は、厳密な比較より遅いってだけの話だよ
562nobodyさん:2012/03/12(月) 21:35:52.24 ID:???
>>561
曖昧な方が遅いの?
563nobodyさん:2012/03/12(月) 21:39:49.55 ID:???
遅いっていっても100万回ループしてやっと差がつく程度のレベルだろ
564nobodyさん:2012/03/12(月) 23:05:06.52 ID:???
100万年ROMってやっと違いに気付くレベルの差か
565nobodyさん:2012/03/12(月) 23:21:31.89 ID:???
>>560
CやJavaと同じ仕様で考えるなら===を使うけど
566nobodyさん:2012/03/12(月) 23:26:32.46 ID:???
速度云々の問題では
567nobodyさん:2012/03/12(月) 23:33:17.93 ID:???
=== の方が速いし、何より型違いによるバグに気付きやすいなるでしょ
568nobodyさん:2012/03/12(月) 23:39:56.43 ID:???
勉強になったわ
569nobodyさん:2012/03/12(月) 23:40:39.28 ID:???
使うなリストに入れとけ
==は使うな
570nobodyさん:2012/03/13(火) 00:00:54.82 ID:???
別に遅くてもええわ
俺の糞だし
571nobodyさん:2012/03/13(火) 00:53:05.78 ID:qKbE02zH
パーミッション設定について、ローカルサーバを立てて自分の
パソコンでphpやcgiを動かしてるだけなら特に意識しませんでしたが、
レンタルサーバーはパーミッション設定により動かなかったりします。
phpは644で動いてますが、cgiは644では動かず700にする必要が
ありました。phpとcgiの正しいパーミッション設定を教えて下さい。
572nobodyさん:2012/03/13(火) 01:08:14.04 ID:???
PHPer、ダメポ。
573nobodyさん:2012/03/13(火) 01:28:49.79 ID:???
>>561
1回で何秒くらい?
574nobodyさん:2012/03/13(火) 02:05:59.80 ID:???
>>573
10万回くらいまわすテストしてみれば分かるかと。
1秒も変わらないと思うけど。

>>571
PHP関係ないよね
575nobodyさん:2012/03/13(火) 03:59:35.58 ID:???
===の話で終わりか。
576nobodyさん:2012/03/13(火) 04:17:31.31 ID:???
>>571
webサーバの設定次第だから
レンタルサーバの業者に聞けw
っていうか、普通はどっかに書いてある。
577nobodyさん:2012/03/13(火) 04:49:38.67 ID:???
>>571
CGIなら実行権限がいる。
mod_phpなら実行権限はいらない。
578nobodyさん:2012/03/13(火) 07:11:14.46 ID:???
>>565
うそつき

>>573-574
100万回まわして0.01秒
579578:2012/03/13(火) 07:12:42.52 ID:???
あ、嘘つき呼ばわりしてごめん
CやJavaで===使うっていってるのかとおもた

曖昧な比較ができるのがPHPのいいところ
ただし使う人はちゃんと仕様を理解しないとだめだね
580nobodyさん:2012/03/13(火) 07:21:37.09 ID:l22JItfE
他言語で
変数A.関数(変数B)
っていう書式で関数使うノあると思いますが
同じのをPHPで書く場合は
関数(変数A, 変数B)
になるんですよね?
581578:2012/03/13(火) 07:31:55.39 ID:???
性能悪いPCでまわしたら0.05秒差がついた
パフォーマンス云々いうほどのものではないのにはかわりないが・・・

$start = microtime(true);
$a = 1;
for ($i = 0; $i < 1000000; $i++) {
if ($a === $i) {}
}
echo microtime(true) - $start;
582nobodyさん:2012/03/13(火) 08:01:05.73 ID:???
>>580
オブジェクトでしょ?
>>581
1回あたり0.00000005秒の違いか
552の限界までパフォーマンスを追及する姿はかっこいいね!
583nobodyさん:2012/03/13(火) 08:22:23.41 ID:???
型の違う$a = '1'での比較はどうだったのかと一応突っ込んでおくか
584nobodyさん:2012/03/13(火) 08:33:01.85 ID:???
>>583
やるね
585nobodyさん:2012/03/13(火) 08:38:32.12 ID:???
2倍と言ったら聞こえはいい
586nobodyさん:2012/03/13(火) 09:38:54.23 ID:???
パフォーマンス云々の問題にすり替えるなよ
587nobodyさん:2012/03/13(火) 09:58:01.86 ID:???
>>571
ほれみろWindows+XAMPPしか使ってこなかったろ
今すぐ仮想マシンを用意してubuntuでもdebianでも何でもいいからいれろ
588nobodyさん:2012/03/13(火) 09:58:58.13 ID:???
>>578
速度のために===を使う奴はいねえよ
589nobodyさん:2012/03/13(火) 10:18:22.84 ID:???
そもそも === が必要になることがこの言語のいびつさを物語っている
590nobodyさん:2012/03/13(火) 10:22:22.43 ID:???
== 初心者向け
=== ベテラン向け
591nobodyさん:2012/03/13(火) 10:27:23.20 ID:???
== ベテラン向け
=== 初心者向け
592nobodyさん:2012/03/13(火) 10:36:53.94 ID:???
>>588
話の流れを見ろよ
593nobodyさん:2012/03/13(火) 10:38:07.99 ID:???
必要な場面で必要なもの使えばいいだけやん
議論することでもなんでもないが

ちなみに===演算子はJavaScriptにもある
594nobodyさん:2012/03/13(火) 10:43:18.63 ID:???
最初から===を使っておけば型の比較によるバグは起こらない
==を使うのは初心者だけにしておけ
595nobodyさん:2012/03/13(火) 10:57:32.85 ID:???
>ちなみに===演算子はJavaScriptにもある
インタプリタにはほとんどある
もしくはそれに類する関数とか(JavaやC#でいうString.equalsのようなもの)
596nobodyさん:2012/03/13(火) 11:15:38.43 ID:???
一歩上を目指したい人の為の使うなシリーズ

・外部サイトにアクセスするときfile_get_contentsは使うな
・比較に==は使うな
・エイリアスは使うな
・非推奨関数は使うな
・XAMPPは使うな
597nobodyさん:2012/03/13(火) 11:32:25.71 ID:???
記述速度もそうだし、便利だから使えばいいじゃん。
問題はパフォーマンスにもそんな差が出ないとわかったところで
使う上ではちゃんと仕様を把握すればいいじゃんって話じゃん。
PHPerがくそだくそだって言われる最たるところは、ちゃんと仕様や内容を
把握した上でスクリプトくまねーところだろ。

>>581
明示的に一度==のときにstringで放り込んでから比較するとどーなる?
598nobodyさん:2012/03/13(火) 11:44:39.05 ID:???
>>596
基礎からやりなおしてね
599nobodyさん:2012/03/13(火) 11:52:56.52 ID:???
>>598による初心者講座

・file_get_contents推進します。効率なんて気にしてはいけません。UAもクッキーも送信できるのでおすすめ。
・比較に==をジャンジャン使いましょう。型の比較、特に""とnullの比較なんて気にしてはいけません
・エイリアスの使用を広めてあげましょう。自分が好きな関数名で書くのがいいですよ!
・非推奨関数なんて気にせず使いましょう。皆が使えば怖くない!
・XAMPPを積極的に導入しましょう!開発環境に時間を費やしてはいけません。本番と同じものを用意するのはドMがやる作業です。
600nobodyさん:2012/03/13(火) 12:05:16.21 ID:???
必死
601nobodyさん:2012/03/13(火) 12:07:08.63 ID:???
さりげなくfile_get_contents追加すんな
602nobodyさん:2012/03/13(火) 12:44:20.12 ID:???
なんでfile_get_contentsいかんの?
603nobodyさん:2012/03/13(火) 12:58:23.04 ID:???
curlのほうがパフォーマンス良&高機能
604nobodyさん:2012/03/13(火) 12:59:03.22 ID:???
file_get_contntsは機能が弱いのにcurlより遅い
605nobodyさん:2012/03/13(火) 13:09:30.91 ID:???
strpos($s, $c) == false
こう書いちゃう人いそうだな!
606nobodyさん:2012/03/13(火) 13:11:07.15 ID:???
d、そうか。パスワードとかクッキー使って相手にログインして、って
時にはcurl使ってるけど、ただ単に公開のhtmlとか取ってくる時は
file_get_contents使ってるわ。
607nobodyさん:2012/03/13(火) 13:35:22.69 ID:???
ローカルのファイル丸ごと飲む以外にfile_get_contents使う人なんているんですか。
608nobodyさん:2012/03/13(火) 13:38:34.99 ID:???
phpでパフォーマンスうんぬんはナンセンス。
パフォーマンスなら別言語をどうぞ。
609nobodyさん:2012/03/13(火) 13:54:00.73 ID:???
http://net-beta.net/ubench/
みたいなのは、ほとんどただの自己満足に近い差しかないけどさ、
URLからの読込みのような部分は、大きな意味があるよ。遅いんだからさ。
610nobodyさん:2012/03/13(火) 14:12:03.48 ID:lpLFUoKU
windows7を使って以下のようにcmdからphpを起動しています
cmd.exe /k C:\php\php.exe "C:\phpファイル.php"
この状態で、コマンドプロンプトからテキスト入力を受け取るにはどうしたらよいのでしょうか。

"C:\phpファイル.php"のコードを実行させつつ、キーボードから入力された値をscanf的な関数で取得させたいので
php -aで使える対話シェルはちょっと違います。
611nobodyさん:2012/03/13(火) 14:21:46.66 ID:???
>>610
標準入力 PHPでググよろしね。
Linuxがどうとか出てくるかもせんけど、Winでも同じあるね。
612nobodyさん:2012/03/13(火) 14:30:50.20 ID:???
fgets(STDIN);
613498=523=525:2012/03/13(火) 15:24:54.81 ID:mq2kKsmo
>>550
>剰余の計算で===とかw
どのへんが面白いんですか。

>>551
>いくつかの突っ込みどころの中でそれを選んだ>>550はすごいな
ほかにどんな突っ込みどころがあります?

>>554
>===ではなくて ==と書きたいこともあるだろう?
ないですねぇ。

「==」って書いたら、後で見直した時に
何か理由があるのか単なる書き間違いなのか、考えなくてはいけないので面倒です。

同じ理由で、変数等の展開が不要な文字列のクォーテーションは必ずシングルで、
必要な場合だけダブルを使っています。

読みにくいので、文字列の中に変数を入れること自体あまりせずに sprintf を
使うことが多いですけどね。
614498=523=525:2012/03/13(火) 15:28:36.89 ID:mq2kKsmo
>>608
>phpでパフォーマンスうんぬんはナンセンス。

ですよね。
十分速いし、遅い原因は大抵、DBや外部要因やPHPとは関係のないプログラミング技術の問題ですから。
まぁ、大きなフレームワークはキャッシュを使わないと結構遅いですが。。
615nobodyさん:2012/03/13(火) 15:28:37.33 ID:???
>>613
そうですか。
616498=523=525:2012/03/13(火) 15:35:11.51 ID:mq2kKsmo
>>590 >>591
== 「===」の存在(またはデメリット)を知らない人向け、または「=」1文字を入力する時間を惜しむ超絶緊急事態
=== 上記以外の人向け
617nobodyさん:2012/03/13(火) 15:35:46.84 ID:???
サンデープログラマとか自営とかなら>>613みたいな考えでいいんじゃね?
618nobodyさん:2012/03/13(火) 15:36:43.78 ID:AVn4z6l2
データベースから画象を生成しているのですが、
生成できなかったときの事を考慮して

if(画象が存在していたら){
echo 画象;
}

という処理が妥当ですか?

他に何か良い方法はないでしょうか。
619nobodyさん:2012/03/13(火) 15:38:10.38 ID:???
デフォルトで遅いからパフォーマンスは気にしなくていいよ。
620nobodyさん:2012/03/13(火) 15:38:36.72 ID:???
>>617
え?
621nobodyさん:2012/03/13(火) 15:39:21.37 ID:???
うちのデータベースでは画像生成できないからなぁ
622nobodyさん:2012/03/13(火) 15:41:15.50 ID:???
>>618
こんな誤字初めて見た
623nobodyさん:2012/03/13(火) 15:42:18.26 ID:???
生成できなかったらダミーの別の画像出すだろ
624nobodyさん:2012/03/13(火) 15:43:20.56 ID:???
try{
// 画像生成
}catch (e Exception){
exec('shutdown -h now');
exit;
}
625nobodyさん:2012/03/13(火) 15:43:29.07 ID:???
遅いので、ちょっとの工夫で数倍早くなることもあります。

>>618
無いとき、どうしたいのですか?
あと、象さんは違うと思います。
626nobodyさん:2012/03/13(火) 15:49:44.78 ID:???
>>620
えっ?

可読性を高める為に
コーディングルールとかあるだろ?
627nobodyさん:2012/03/13(火) 15:51:10.74 ID:???
>>616
つまり498===523===525ということか
628nobodyさん:2012/03/13(火) 15:51:33.84 ID:???
なんかCスレのQZみたいな人がいるなぁ
629nobodyさん:2012/03/13(火) 15:55:20.92 ID:???
他の板の住人の事を堂々と言える人って…
630nobodyさん:2012/03/13(火) 15:58:20.53 ID:???
>>626
可読性のために、提供されている演算子を捨てろと
631(498===523===525)===(498=523=525):2012/03/13(火) 16:01:34.11 ID:mq2kKsmo
>>627
素敵。
632nobodyさん:2012/03/13(火) 16:04:19.92 ID:AVn4z6l2
>>625
無いときは非表示で。
象さんは、今初めて気が付きました。

今、開発中のソース見直してみたら
"画象をアップロードしてください"とか
"画象が挿入されていません!"とか
いたるところがパオーン

633(498===523===525)===(498=523=525):2012/03/13(火) 16:07:55.10 ID:mq2kKsmo
>>617 >>626
んー、コーディングルールがあるなら、「==」なんて使えないでしょうし、
クォーテーションの使い方まで定めてコーディングルールにすることあるかな。
634nobodyさん:2012/03/13(火) 16:07:56.08 ID:???
>>626
可読性を高めるなら==なんて使わない
635nobodyさん:2012/03/13(火) 16:08:58.93 ID:???
>>627
なげえw
636nobodyさん:2012/03/13(火) 16:11:15.23 ID:???
>>632
非表示って、呼びだしてる側は<IMG SRC="〜 使ってんじゃないの?
画像だけ表示してるならまあ間に合うか。
637(498===523===525)===(498=523=525):2012/03/13(火) 16:12:59.15 ID:mq2kKsmo
>>634
同意。
===は==よりも、パッと見で=と区別しやすいところ。意外と重要。
638nobodyさん:2012/03/13(火) 16:22:08.30 ID:???
>>630
は?だれが演算子を捨てろと書いた?

>>613の 「==」って書いたら、後で見直した時に 以降
自分が面倒とか自分が読みにくいとかのくっだらない理由を言える
サンデープログラマなら良いんじゃねーの?
639(498===523===525)===(498=523=525):2012/03/13(火) 16:35:49.76 ID:mq2kKsmo
>>638
「自分が面倒」ってことは、開発チームにとってコストだということですよ。

それ以前に、今どきPHPの「緩やかな比較」を使うエンジニアなんていませんが。
そんなんやってるやついたら、ビンタです。
640nobodyさん:2012/03/13(火) 16:41:24.85 ID:???
こんな話題で盛り上がれるって素敵やん
641nobodyさん:2012/03/13(火) 16:45:59.65 ID:???
>>638
えっと、サンデープログラマ()なら==でいいと思います
複数人で作業するなら===でやらないと型のチェックの緩さによるバグを生みます
642nobodyさん:2012/03/13(火) 16:51:31.53 ID:???
>>639
自分が面倒w
自分中心ですか?
643nobodyさん:2012/03/13(火) 16:51:44.58 ID:???
>>596
ショートタグは使うな
が抜けてる
644nobodyさん:2012/03/13(火) 17:00:03.04 ID:???
型のチェックを気にするくらいならphp使うな。
緩やかなのはそもそも言語仕様だろ。
645nobodyさん:2012/03/13(火) 17:03:59.38 ID:???
まあそこで意地になって==で使っててくれよ
本業じゃないなら別にそれでいいから
会社に入ってそんな緩いコード書いてたら肩身の狭い思いをすることになるし
646nobodyさん:2012/03/13(火) 17:04:35.84 ID:???
ところで
誰が==に拘っているの?
647nobodyさん:2012/03/13(火) 17:11:14.52 ID:???
お前はROMるか過去レス読んでろ
648nobodyさん:2012/03/13(火) 17:14:00.05 ID:???
>>645
なんでPHP?
はじめから型が厳しい言語の方が良いのでは?
649nobodyさん:2012/03/13(火) 17:18:56.91 ID:???
PHPだから緩い比較しか使っちゃいけないみたいだな
650nobodyさん:2012/03/13(火) 17:26:24.61 ID:???
==
二統一しとけ
651nobodyさん:2012/03/13(火) 17:40:20.42 ID:???
ニニ
652(498===523===525)===(498=523=525):2012/03/13(火) 17:49:43.69 ID:mq2kKsmo
Subversionのpost-commit hookでこんなのを設定しとけばいいかも。
exit (preg_match('/[^=]==[^=]/', $source)===0) ? 0 : 1;
653nobodyさん:2012/03/13(火) 18:39:37.39 ID:???
===使うのはstrposとか返り値に0やfalseが返ってくる関数使う時
あとは仕様を理解してれば緩やかな比較で問題になるケースはない
if ($a === null || $a === 0')
なんて書きたくないしこの条件の時はStringやbooleanは考慮しなくていいので
単に!$aでよい
654nobodyさん:2012/03/13(火) 18:58:16.50 ID:???
>>646
>>649
いや、どーも==でもいいじゃん。ちゃんと仕様理解してれば ってのと
===じゃなきゃダメだろ って別れ方っぽい。
別に==にこだわってるのっていないだろ。
655nobodyさん:2012/03/13(火) 19:12:54.29 ID:???
>>653
一人でやるなら自由
複数人で作業するなら統一しないとダメ
誰が読んでも分かるコードにしなければならない
656nobodyさん:2012/03/13(火) 19:18:15.96 ID:???
動的型付け言語で型を気にしなきゃいけないってのは本末転倒なのでは
657nobodyさん:2012/03/13(火) 19:34:21.75 ID:???
気にするってほどの労力じゃないやろwwwwwwwwww
658nobodyさん:2012/03/13(火) 19:43:48.04 ID:???
さっきから複数人、複数人って言ってる奴。
比較の仕様をコーダに覚えさせる気がないなら作業させんな。
バグの元だから。
659nobodyさん:2012/03/13(火) 19:54:03.67 ID:???
設計書にかいときゃいいんだよ
660nobodyさん:2012/03/13(火) 20:11:47.17 ID:???
このスレのコーディング規約つくろうぜ
661nobodyさん:2012/03/13(火) 20:32:27.22 ID:???
グローバル空間に関数や変数置くの禁止な
662nobodyさん:2012/03/13(火) 20:52:30.92 ID:???
>>638
可読性によって===と==を使い分けるルールができるんだよね。
必要な場面であっても、いずれかしか使えないって事態が起こるんじゃないの。可読性のために。
663(498===523===525)===(498=523=525):2012/03/13(火) 21:10:27.58 ID:mq2kKsmo
>>653
>if ($a === null || $a === 0')
>なんて書きたくないし

そういう比較が必要な設計が問題かもしれませんね。

>>658
>比較の仕様をコーダに覚えさせる気がないなら

緩い設計や実装のために「比較の仕様をコーダに覚えさせる」みたいなことが
必要になるんだと思います。

変数やメソッドが戻す値はソース(PHP自体や一般のライブラリなら仕様書)を
見ればすぐに分かるのだから、比較の仕様は覚える必要はないはずです。
逆に、ソースを見てもすぐにどんな値を戻すか分からない設計は問題があります。

とかマジレスをしてみる。
664nobodyさん:2012/03/13(火) 21:39:45.42 ID:???
このすれを見ていて思ったこと

=== null がスルーされていることw
is_nullを使うべきじゃないかなーってw
665(498===523===525)===(498=523=525):2012/03/13(火) 21:46:02.31 ID:mq2kKsmo
>>664
>is_nullを使うべきじゃないかなーってw

is_nullは緩いので使わないんです。
http://php.net/manual/ja/types.comparisons.php
666nobodyさん:2012/03/13(火) 21:47:03.15 ID:???
>>664
どうも==と===の話しか目に入らないみたい。
>>551は俺だけど、コード書いた本人と、俺以外からツッコミはいらないんだもの。
667nobodyさん:2012/03/13(火) 21:49:49.22 ID:???
使うべきじゃないしis_nullとかいらないし
668nobodyさん:2012/03/13(火) 21:52:41.25 ID:???
>>665
emptyと勘違いしてね
669nobodyさん:2012/03/13(火) 21:53:28.06 ID:???
>>665,667
$a === null と is_null($a) の違いを教えてもらえますか
670nobodyさん:2012/03/13(火) 22:42:52.45 ID:???
>>665
===よりis_nullが緩い?
671nobodyさん:2012/03/13(火) 23:32:33.43 ID:???
レスがぱたっと止まってしまったね
672nobodyさん:2012/03/13(火) 23:50:27.29 ID:???
型ゆるゆる言語で何語ってるの?
だったら固い言語に変えればいいのに。
そもそも名前空間貧弱、オブジェクト指向性も中途半端な言語で
複数人開発はやめといた方がいい。向いていない。
673nobodyさん:2012/03/13(火) 23:50:46.31 ID:???
そうだねw
is_nullが===より緩いとかいったら恥ずかしくて出てこれないと思うよw
674nobodyさん:2012/03/14(水) 00:02:27.34 ID:???
==、===

どっち使おうが遅い。
675nobodyさん:2012/03/14(水) 00:04:55.22 ID:???
is_nullとかマジでいらんことは確か
676nobodyさん:2012/03/14(水) 00:06:22.49 ID:???
>>675
その理由は?
677nobodyさん:2012/03/14(水) 00:09:57.82 ID:???
関数を通す必要がない
678nobodyさん:2012/03/14(水) 00:12:58.18 ID:???
>>676
多言語知っている人間にとって意味不明のPHP特有の乱立機能。
679nobodyさん:2012/03/14(水) 00:14:04.45 ID:???
>>676
あなたが他の言語使うときはis_null相当機能を探すわけだね。
680nobodyさん:2012/03/14(水) 00:21:47.70 ID:???
うーんw
いらない理由を聞いていたけど

実行速度やis_nullに弱い部分とかあるとかそんな理由があるのかと思えば
>>677-679…w
681nobodyさん:2012/03/14(水) 00:23:55.89 ID:???
自分の無知さを晒してないでベンチぐらいとれよ
関数より式のほうが早いに決まってんだろ
682nobodyさん:2012/03/14(水) 00:27:25.05 ID:???
is_nullごときだと、内部の処理が等価ってこともありえるがな。
683nobodyさん:2012/03/14(水) 00:35:03.14 ID:???
どっちにしてもphpは実行速度は遅いからどうでもいいよ。
実行速度にこだわるなら別の言語へどうぞ。
684nobodyさん:2012/03/14(水) 00:37:54.54 ID:???
違う言語での話だが
言語で持っている関数と同等の処理をインラインアセンブラで最速になる様に書いて
コンパイルした際バイナリエディタで比較したら一致したって事はあるらしいな

今はテストする環境は無いが仕事場に行ったら試してみるか
685nobodyさん:2012/03/14(水) 00:39:12.88 ID:???
PHPが遅いのは間違いないからどうであろうと大差ない。
686(498===523===525)===(498=523=525):2012/03/14(水) 00:43:24.46 ID:SRtAsTeP
間違っていました。
お詫びして訂正いたします。

PHPでは以下の3つの状態がNULLで、
  $a=NULL; // $a
  $a;   // $b
      // $c(未定義)

上記の状態でTRUEを戻し、それ以外でFALSEを戻すという点で、
「$var===NULL」と「is_null($var)」は同じです。
そして挙動が反対という点を除き、「isset($var)」も同じでした。

>>668 >>669 >>670
大変失礼いたしました。

ほとんどisset()も使いませんが、連想配列を動的に使う時だけ、
「notice Undefined variable」が出ないようにisset()を使います。

===を使うのでis_null()を長らく使っていなかったのですが、緩かったからだと
思い込んでおりましたが、単に必要が無かったからでした。てへっ!

でも===nullだとis_null()より2バイトお得なので、===nullの方がいいと思います!
687nobodyさん:2012/03/14(水) 00:47:20.33 ID:???
>>686
大差ないからどうでもOK。
688(498===523===525)===(498=523=525):2012/03/14(水) 00:48:56.98 ID:SRtAsTeP
>>686
ちょっと書き間違えてた(二行目 $a → $b)。

>PHPでは以下の3つの状態がNULL
  $a=NULL; // $a
  $b;   // $b
      // $c(未定義)
689nobodyさん:2012/03/14(水) 00:49:05.92 ID:???
空白明けるから同じじゃね
690nobodyさん:2012/03/14(水) 00:50:23.89 ID:???
パフォーマンスにこだわるなら別言語
691(498===523===525)===(498=523=525):2012/03/14(水) 00:51:15.44 ID:SRtAsTeP
>>689
ボケにマジレスされたら困ります。
692nobodyさん:2012/03/14(水) 00:57:52.94 ID:???
可読性のためにis_null使ってる
693(498===523===525)===(498=523=525):2012/03/14(水) 01:01:44.20 ID:SRtAsTeP
>>692
is_null($var) より $var===NULL の方が可読性は高いと思うなぁ。
694nobodyさん:2012/03/14(水) 01:04:17.86 ID:???
>>686
変数ににnullをセットissetしたら何が戻ってくるのかな〜?とw
真偽が反対だけど同じと言ってもいいのかな?w
あっ使わなければ問題ないのか?w
695nobodyさん:2012/03/14(水) 01:11:26.32 ID:???
このスレ恥ずかしい。
696nobodyさん:2012/03/14(水) 01:18:20.70 ID:???
>>680
C言語やJava言語の経験者にis_nullの効能を説明してくれない?
697(498===523===525)===(498=523=525):2012/03/14(水) 01:18:51.01 ID:SRtAsTeP
>>694
>変数ににnullをセットissetしたら何が戻ってくるのかな〜?とw

$x = null;
var_dump(isset($x)); // bool(false)

> 真偽が反対だけど同じと言ってもいいのかな?w

真偽が反対以外、同じですね。
698(498===523===525)===(498=523=525):2012/03/14(水) 01:27:40.70 ID:SRtAsTeP
WEBアプリにおけるPHPの遅さは、
DBやネットワークなどの外部要因、
アーキテクチャーやアルゴリズムなどの最適化余地と比べたら、
無視できるレベル。

よって無罪。
699nobodyさん:2012/03/14(水) 01:29:15.81 ID:???
>>698
単なるインクルードで遅さを感じるけど・・・。
700nobodyさん:2012/03/14(水) 01:30:53.89 ID:???
>>698
symfony使ったことある?
デフォルト状態でスゴイ遅さですが・・・。
701nobodyさん:2012/03/14(水) 01:31:14.75 ID:???
>>698
CakePHP使ったことある?
デフォルト状態でスゴイ遅さですが・・・。
702nobodyさん:2012/03/14(水) 01:33:16.47 ID:???
>>694
>>697を見たら違和感はあるね。
なんとなく理解しました。
703nobodyさん:2012/03/14(水) 01:36:02.78 ID:???
>>698
localhostでも遅いのですが・・・。
704nobodyさん:2012/03/14(水) 01:45:28.63 ID:???
痛々しいな
705nobodyさん:2012/03/14(水) 01:55:29.14 ID:???
そりゃコンパイラとおす言語に比べたら遅いのは認めるが
必要十分な速度だと思うけどな。
近くのコンビニまでフェラーリで行くより自転車のが便利みたいなもんで。

と、釣られてみた。
706nobodyさん:2012/03/14(水) 01:57:31.10 ID:???
むしろphpだから速度気にして === 使ってるよ
少しでも速いほうがいいからね
707(498===523===525)===(498=523=525):2012/03/14(水) 01:59:30.28 ID:SRtAsTeP
>>699
PHP以外の言語だと速いのですか?

>>700
symfonyは、3サイトくらい作りました。
symfonyは遅いですよ。
symfony規模のフレームワークをPHPなどのインタープリタで作ったら、他の言語でも遅いでしょう。
キャッシュを前提としたフレームワークですから、面倒ですがキャッシュの設定をしてください。
アクセラレータも必須です。

>>701
CakePHPは使ったことがないです。
アクセラレータを使い、メモリーに余裕があっても遅いのでしょうか。。

>>703
PHP以外の言語だと速いのですか?
708nobodyさん:2012/03/14(水) 02:06:06.88 ID:???
>>707
phpは遅いです。
facebookの失敗例が良い例です。
709nobodyさん:2012/03/14(水) 02:08:08.82 ID:???
>>701
CakePHPに限らず、
DBから取得したデータを簡単にキャッシュできないので遅いです。
710nobodyさん:2012/03/14(水) 02:17:55.05 ID:rNta1GYa
PHPExcelをLinux環境に入れてテストしたのですが、
開く時ファイルが破損している旨が表示されます。
原因は何が考えられますか?
711nobodyさん:2012/03/14(水) 02:43:02.71 ID:???
>>698
>>545みたいなコード書くクセがついてりゃPHPも本来の速度出せないよ。
無駄に遅く動くコードを書いて、PHPは遅い!って喧伝してもなぁ。
せめてちゃんと書いて、それでもやっぱりこれだけ遅いんだ!と主張してほしい。
結果として遅いというのは明白だけれど、あまりにも稚拙。
712nobodyさん:2012/03/14(水) 02:43:51.09 ID:???
安価ミスるとか恥ずかしい。
>>711>>545>>544
713nobodyさん:2012/03/14(水) 02:46:25.79 ID:???
>>710
Excelファイルを開くときに出るのだろうか。
Excelファイルの形式っていっぱいあるよ
714(498===523===525)===(498=523=525):2012/03/14(水) 02:51:00.77 ID:SRtAsTeP
>>708
facebookの規模を考えれば激速だと思いますが、どの辺が失敗例なのでしょう?

>>709
DBを使う限り遅いから、PHPが遅いわけではないという意味でしょうか?
715nobodyさん:2012/03/14(水) 02:53:21.88 ID:???
>>714
facebook hiphopでぐぐりなさいな。
716(498===523===525)===(498=523=525):2012/03/14(水) 03:01:55.83 ID:SRtAsTeP
>>711
マテ。
初心者向けに >>542 のコードを元にした分かりやすい動くコードを示したものに、その言い方はないだろ。

そして「遅い」なんて言ってなくて、「特に遅くない」と言っているだけ。

それに >>544 のコードは、WEBアプリとして見た場合、さして遅くなる要因はない。
717nobodyさん:2012/03/14(水) 03:04:44.92 ID:???
なんなんだよこのスレw
718(498===523===525)===(498=523=525):2012/03/14(水) 03:05:29.31 ID:SRtAsTeP
>>717
一緒に語ろう。
719(498===523===525)===(498=523=525):2012/03/14(水) 03:08:13.74 ID:SRtAsTeP
>>715
知ってるよ。
HipHop以前のfacebook使ったことある?
アクセス数は今ほどでは無かったにせよ、十分に大規模、かつ、十分に速かったよ。
720nobodyさん:2012/03/14(水) 03:20:44.67 ID:???
測定すると、is_nullは===nullに比べて4倍遅かった。ただし、検証環境がPHP5.1.6なので今はどうか不明
721nobodyさん:2012/03/14(水) 03:24:30.29 ID:???
ヌルヌル動きます
nullだけに
722nobodyさん:2012/03/14(水) 03:28:30.67 ID:???
PHP5.3.3にして試したら3倍くらいに解消されてた。
なにげに関数呼び出しのオーバーヘッドが減ってたのかな。
723(498===523===525)===(498=523=525):2012/03/14(水) 03:28:39.65 ID:SRtAsTeP
>>720
1ページあたり、どれ位遅くなるの?
724nobodyさん:2012/03/14(水) 03:37:25.95 ID:???
>>723
ごくわずか。
何で調べたかっていうと、内部的に同じ動作になるのかどうかがちょっと気になったので。
725nobodyさん:2012/03/14(水) 07:53:14.19 ID:rNta1GYa
>>713
レスありがとうございます。

Excel開くとき出ました。
ファイル形式はExcel5?指定。Excel2003で開きたいのです。

PHPExcel使うのにZipの設定がいるみたいで
PHPの設定見るとZipオプションが付いてなかったので
オプション付けて再インストールしたらファイル破損の
メッセージが出なくなりました。
726nobodyさん:2012/03/14(水) 08:16:57.12 ID:CYW9Bweb
phpで文字列が存在するかどうかの条件分岐で
'””のような空文字だったらfalse、'0'だったらtrueとやりたいのですが

if($hoge || $hog ==='0')
とやるしかないのでしょうか?
727nobodyさん:2012/03/14(水) 08:20:57.60 ID:???
>>726
nullだった場合や空の配列だった場合やtrueやfalseが入っている場合は?
728nobodyさん:2012/03/14(水) 08:24:00.21 ID:CYW9Bweb
>>727
null→false
他の空の場合もtrueもfalseはどっちでも大丈夫です
issetだと空文字も0もtrueになってしまうので空文字と0の差をどうしたものかと
729nobodyさん:2012/03/14(水) 08:32:07.71 ID:???
>>728
じゃ$x===0だけでいいんでは?
730nobodyさん:2012/03/14(水) 08:33:11.47 ID:???
> phpで文字列が存在するかどうかの条件分岐で
> '0'だったらtrueとやりたいのですが

考え方を変えるなら ”文字列に長さがあるならば” ってことかの?
731(498===523===525)===(498=523=525):2012/03/14(水) 08:34:46.36 ID:SRtAsTeP
>>726
if($hoge === ''){
  return false
}
else if($hoge === '0'){
  return true
}
else{
  // お好きなように
}
732nobodyさん:2012/03/14(水) 08:45:50.74 ID:???
へーstrlenってtrueは1でfalseは0を返すんだ
初めて知った
733nobodyさん:2012/03/14(水) 08:54:36.31 ID:???
734nobodyさん:2012/03/14(水) 09:10:22.39 ID:vFLnVtDq
いろいろとありがとうございます!
>>730のやり方だとうまくいったんでコレで試してみます
735nobodyさん:2012/03/14(水) 10:06:21.25 ID:???
>>711
手本になるコードはようp
736nobodyさん:2012/03/14(水) 10:07:07.87 ID:???
>>722
自分も計測してみた
VM ESXIの仮想環境
PHPバージョン:5.3.3
===が倍速い
100万回ループをそれぞれ5回計測して 

===  COMP:0.12185192
is_null COMP:0.24702406
=== COMP:0.11307788
is_null COMP:0.24555087
=== COMP:0.11323190
is_null COMP:0.24664307
=== COMP:0.11317492
is_null COMP:0.24571705
=== COMP:0.11359096
is_null COMP:0.24549198

100万回で0.1秒差だからごく普通にスクリプト書いたら誤差で収まるんだろうね
ESXI全体として見た場合の負荷が3%弱ってのも驚いた
737nobodyさん:2012/03/14(水) 10:13:04.39 ID:???
==と===兼用派と===一筋派
738nobodyさん:2012/03/14(水) 10:22:36.27 ID:???
あと === と == も比べてみたけど誤差で収まる
739nobodyさん:2012/03/14(水) 11:03:17.04 ID:???
GPLだのOSLだのライセンスの特徴がよく分からないので
何が許されて、何が禁止されるのか分かりやすい表か
なんかないですか? できれば
   GPL OSL MIT
hoge  ◯   ×   ◯
hoge  ×   ×   ◯ 

みたいになってるのがいいです。
740nobodyさん:2012/03/14(水) 11:09:01.77 ID:???
>>719
HadoopはPHPですか?
facebookの基幹は昔からPHPじゃないはずですよ。
741nobodyさん:2012/03/14(水) 11:09:13.26 ID:???
スレタイ読めないバカはスルー
742nobodyさん:2012/03/14(水) 11:12:53.18 ID:???
>facebookの基幹は昔からPHPじゃないはずですよ。
それはどうかな?
中の人に聞かないとわからないよ
youtubeも初期のころはPHPでやってた気がするが
743739:2012/03/14(水) 11:34:58.58 ID:???
良い表が見つかりました!
744nobodyさん:2012/03/14(水) 11:41:20.71 ID:???
ちょっと読めば、表なんぞ作れないことがわかると思うがな。
共通した項目なんぞほとんどなくて、○×で済むようなもんじゃないし。
745nobodyさん:2012/03/14(水) 11:53:14.55 ID:???
>>742
facebookはHiveをHadoopプロジェクトに寄贈したの知っている?
寄贈したのは2008年だからずいぶん前から基幹はPHPじゃないみたいよ。
746739:2012/03/14(水) 12:25:31.23 ID:???
>>743
見つかってません、なりすましはやめてください!

引き続き、良い表があれば教えてください。
メシ食ってきます。
747nobodyさん:2012/03/14(水) 12:26:40.58 ID:???
荒らしか
748739:2012/03/14(水) 12:27:23.18 ID:???
やっぱり見つかりましたのでもういいです。
749nobodyさん:2012/03/14(水) 12:31:24.49 ID:???
>>747
>>1読んでない奴への対処法が実践されてるだけじゃね?
なりすましされてまだ変わらんとは相当に低脳な質問者っぽいが。
750nobodyさん:2012/03/14(水) 12:59:12.31 ID:???
質問でも回答でもない荒らしが、IDが出てないとはいえスレ通り質問してるやつに文句とな。
751nobodyさん:2012/03/14(水) 13:02:53.40 ID:???
>>750
ライセンスの話がスレ通りとはいかに
752nobodyさん:2012/03/14(水) 13:04:34.75 ID:???
そんじゃここらで退場してもらいましょうかね
http://toro.2ch.net/test/read.cgi/tech/1266247461/
俺ってやさしいね
753(498===523===525)===(498=523=525):2012/03/14(水) 13:28:41.72 ID:suCVTKUm
>>740 >>742 >>745

facebookがPHPかどうかという流れで、HadoopとかHiveとか
データストアの話がでてくるのはなぜですか?
754nobodyさん:2012/03/14(水) 14:10:10.28 ID:???
>>753
システムの基幹だからですよ
755nobodyさん:2012/03/14(水) 14:36:59.38 ID:???
>>750
ID出てなきゃ、スレ通りじゃないだろ
勝手にルール変えんなハゲ
756nobodyさん:2012/03/14(水) 14:46:36.21 ID:???
スルーしないやつも荒らし
757nobodyさん:2012/03/14(水) 15:02:52.82 ID:MUSukvI8
一致の確認で === を使うのは、 == よりも正常値を限定するのに有用だと理解できます。
逆に不一致の確認では、 != を使う方が !== よりも正常値を限定できるように
思えるのですが、この考えは間違っていますか?
758(498===523===525)===(498=523=525):2012/03/14(水) 15:06:56.44 ID:suCVTKUm
>>754
そういう話だと、PHPで完結するものの方が少ないから、PHPが遅いという話は
意味がなくなりますね。

それこそ、MySQLの複数台構成とか、シャーディングとか、キャッシュサーバーとか、
そういうアプリとしてのアーキテクチャーの話になってくる。

まぁ実際、中規模以上のサイトで速い遅いというのは、その部分の話なわけで、
フロントエンド(PHPなど)の言語が速い遅いなんていうのはほとんど関係がない。

自分も中規模以上のサイトをある程度経験しているので、速い遅いという話だと
そういう観点しか無かったりします。
759nobodyさん:2012/03/14(水) 15:12:41.19 ID:???
中規模以上のサイトを経験していてあのコードとかあの知識かよ…終わってるだろ…
760nobodyさん:2012/03/14(水) 15:12:46.05 ID:???
>>757
それで合ってるけど、それを認めたくない一部の人間がここで騒いでるだけ
761(498===523===525)===(498=523=525):2012/03/14(水) 15:22:42.80 ID:suCVTKUm
>>757
そもそも、「緩い比較」が必要な「緩い値」となるコードが微妙です。

>>759
具体的にご指摘を!
762nobodyさん:2012/03/14(水) 15:28:02.53 ID:???
<?php ?>って最後の?>はつけなくてもいいの?
763nobodyさん:2012/03/14(水) 15:32:45.38 ID:???
>>762
ファイルの終わりなら突けなくていい
764(498===523===525)===(498=523=525):2012/03/14(水) 15:33:16.45 ID:suCVTKUm
>>762
付けなくても動く。
付けて、その後に無駄なスペースがあると、ヘッダー出力やセッション開始で
問題になったりするから付けるな、という人達もいる。

僕はつけてる。
765nobodyさん:2012/03/14(水) 15:42:54.45 ID:???
>>758
php以外の経験は?
766nobodyさん:2012/03/14(水) 15:49:06.84 ID:???
5人です
767(498===523===525)===(498=523=525):2012/03/14(水) 15:51:41.32 ID:suCVTKUm
言語は、C少し、COBOL、Java、ASP少し、Perl少し、PHP 少し
その他は、
Oracle、SQL Server、MySQL
ネットワーク
FreeBSD 少し、Linux
IIS少し、Apache
とか。
768nobodyさん:2012/03/14(水) 15:58:19.18 ID:r+zK7voT
>>766
その中にINSERTが可能な属性を持ったユーザはいましたか?
769nobodyさん:2012/03/14(水) 15:59:51.75 ID:88Viu4RY
今、WEBの求人みたら
WEBプログラマー募集!!
時給950円

とかあったんですが、技術職で時給950円て
そこまでWEBプログラマーは飽和してしまったんですか?
770(498===523===525)===(498=523=525):2012/03/14(水) 16:03:31.15 ID:suCVTKUm
>>769
逆転の発想で、初心者が時給950円貰って教えてもらいにいくといいのではないだろうか。。
771nobodyさん:2012/03/14(水) 16:31:09.06 ID:88Viu4RY
>>770
1年以上の経験がどうたらこうたらがほとんど
772(498===523===525)===(498=523=525):2012/03/14(水) 16:34:46.68 ID:suCVTKUm
「独学で1年やりました!こんなサイト作りました!がんばります!」みたいな感じで突破できないかな。
773757:2012/03/14(水) 16:41:02.67 ID:MUSukvI8
レスありがとうございます。
>>760
入門書も757のような記述が多かったもので。少し安心しました。
>>761
>「緩い値」となるコードが微妙
そうですね。型と値を出来るだけ明確に意識したいと思います。
774nobodyさん:2012/03/14(水) 16:45:12.57 ID:???
>>767
たとえば、
Javaとphpの違いを語ってください。
775nobodyさん:2012/03/14(水) 16:45:16.50 ID:???
>>773
別にスクリプトなんてパズルみたいなもんだよ。
完成形をよく意識して、適切にピースを当てはめて。
ただ、よくPHPerがシメジ扱いされる所以として
そのピースをちゃんと理解しようとしない
ドキュメントを読まないというのが多いので
入門書も必要だけど、同時に公式ドキュメントで
きっちり自分の使うものがどういった性質を持つのか確認したほうがいいよ。
776nobodyさん:2012/03/14(水) 16:46:48.40 ID:???
>>764
?>[EOF]
?>[LF][EOF]
のどっちにしてる?これまでの雰囲気から前者だと思うんだけど
777nobodyさん:2012/03/14(水) 16:52:59.07 ID:???
あれも少しこれも少しって、典型的な投げ出し人間だな。
長々とぐだぐだ言ってないでサイト作れよ。コード書けよ。
778(498===523===525)===(498=523=525):2012/03/14(水) 17:16:18.79 ID:suCVTKUm
>>774
JavaでOOPを覚えました。
Javaのオブジェクトツリーが美しくて明確で理解しやすくて好きです。
PHPは語るに値しない気がします。

違いのうちで一番イヤなのは、PHPのシンボルテーブルとJavaのオブジェクト参照です。
http://php.net/manual/ja/features.gc.refcounting-basics.php
779(498===523===525)===(498=523=525):2012/03/14(水) 17:26:28.21 ID:suCVTKUm
>>776
?>[LF][EOF] にしてる。
最後に改行を書かないのはなんか気持ち悪い。そんだけの理由。

>>777
そうですね。
でも仕事ってのは、そんなに自由に選べるもんでもない。
チームを纏めなくてはいけなかったり、他のメンバーができない部分を
やらざるを得なかったり(コードは書けるが、DBやインフラが弱いやつらが多かった)。
ここしばらくは結構自由にやってるけど。
780nobodyさん:2012/03/14(水) 17:29:08.22 ID:???
>>779
エディタで見たときに、最後に空行が1つある状態じゃないと気持ち悪いって事かな。
781(498===523===525)===(498=523=525):2012/03/14(水) 17:37:21.97 ID:suCVTKUm
>>780
Windowsのエディタなんかで扱うときに、最後に改行が無いと、
行範囲選択がしにくいってことからかも。
782nobodyさん:2012/03/14(水) 18:05:48.25 ID:???
出力開始タグだしな
不要な開始タグって気持ち悪くね
783nobodyさん:2012/03/14(水) 18:22:45.77 ID:???
PHPに終了タグは書くな!!!!!!!!!!!!!!!!!
784nobodyさん:2012/03/14(水) 21:13:17.09 ID:???
何の終了タグだよ
785nobodyさん:2012/03/15(木) 03:03:13.57 ID:???
?>だろ
常識
786nobodyさん:2012/03/15(木) 05:27:55.01 ID:potSg07V
データファイルってどうやって置いたらダウンロードされない?

ドキュメントルートより上に置く 以外で。
787nobodyさん:2012/03/15(木) 05:38:43.62 ID:???
アクセスさせなくする
788nobodyさん:2012/03/15(木) 06:18:18.99 ID:???
PHP関係なくね
789nobodyさん:2012/03/15(木) 06:27:57.09 ID:???
       ____
     /      \
   /  _ノ  ヽ、_  \
  /  o゚⌒   ⌒゚o  \  また今日も、自称優秀なPHPプログラマによる
  |     (__人__)    | 職場からの2chへの書き込みが始まるお
  \     ` ⌒´     /
790nobodyさん:2012/03/15(木) 06:49:29.42 ID:E3IxfR1a
群馬県高崎市に住む41歳AB型、製造業界で派遣プログラマーの仕事をしているhekenekoこと、黒飛健と申します。
新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。
とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。
新しいラダニアムの翼(new wing of radaniam part T) .mp4
http://www.youtube.com/watch?v=PRPJ69rVgbE

題名”ラダニアムの翼その1(A wing of radaniam_partT).mp4”
http://www.youtube.com/watch?v=WTde4RdA5LU
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
791nobodyさん:2012/03/15(木) 07:56:59.46 ID:???
>>786
拡張子を.cgiにする
792nobodyさん:2012/03/15(木) 07:58:58.27 ID:???
htaccessの設定次第で意味ないぞw
793nobodyさん:2012/03/15(木) 08:03:13.59 ID:???
データファイル名を推測できない名前にする
794nobodyさん:2012/03/15(木) 09:24:05.17 ID:???
>>786
WEB-INFでググるといいよ
795nobodyさん:2012/03/15(木) 09:45:49.68 ID:???
>>786
自分で鯖建ててるなら方法はある
796nobodyさん:2012/03/15(木) 09:51:57.52 ID:???
スレ違いだし、サーバーの種類もわかんないし、誘導もできない。
797nobodyさん:2012/03/15(木) 10:06:29.18 ID:???
ANHTTPd
798nobodyさん:2012/03/15(木) 12:05:30.28 ID:???
だからWEB-INF使えって。
言語仕様で決められているから使えるよ。
799nobodyさん:2012/03/15(木) 12:07:11.38 ID:???
PHPスレでそれはないわ
800nobodyさん:2012/03/15(木) 12:08:27.48 ID:???
>>798
スレを間違えましたか?
もしかして書きこみ先はこちらですか
◆JSP◆
http://kohada.2ch.net/test/read.cgi/php/984840356/
801nobodyさん:2012/03/15(木) 13:12:59.87 ID:???
>>798
あえて聞くけど、何の言語の仕様で決まってるの?
802nobodyさん:2012/03/15(木) 13:23:46.60 ID:???
英語かな
803nobodyさん:2012/03/15(木) 13:26:57.23 ID:???
英語の仕様でWEB-INFを使うとファイルをダウンロードされないように出来るらしい
誰か>>802の頭の中を翻訳してください
804(498===523===525)===(498=523=525):2012/03/15(木) 14:03:47.02 ID:r40AKqz2
>>801
Java Servletの仕様 JSR。PHPとは関係ないですね。
805nobodyさん:2012/03/15(木) 14:48:23.69 ID:???
ネタにマジレスするとJava版のPHPならWEB-INFが利用できる。
806nobodyさん:2012/03/15(木) 14:53:13.07 ID:???
805は何か勘違いしてるようだ
807nobodyさん:2012/03/15(木) 14:55:41.16 ID:???
>>804
言語仕様で決められてる言語があるらしいからあえて聞いたんだよ
808805:2012/03/15(木) 14:56:04.21 ID:???
>>806
どの点が?
809nobodyさん:2012/03/15(木) 15:16:25.75 ID:???
phponjavaか
810nobodyさん:2012/03/15(木) 15:18:42.36 ID:???
ほとんど同じソースの複数のPHPファイルを
後から1部分だけ修正したいのですが
手作業でやるとすごく時間がかかりそうです。
ループとかで修正する方法を
教えてください。
811nobodyさん:2012/03/15(木) 15:20:45.37 ID:???
sed使うとか
812nobodyさん:2012/03/15(木) 15:31:27.38 ID:???
>>808
それはあくまで移植した物であってPHPではない
813nobodyさん:2012/03/15(木) 15:38:57.17 ID:???
移植とも違うとおもうが、マジレスというより、ネタレスだな
814nobodyさん:2012/03/15(木) 15:44:03.66 ID:???
移植じゃないならなんだよwバカじゃないのw
815nobodyさん:2012/03/15(木) 15:48:56.56 ID:jMy7vPK6
ffmpegで動画のサムネイルを切り出したいんだが、
PHPで実行すると何にも出力されない。
関数変えたりスクリプトを読み込ませたりしてみたんだがうまくいかん。
PHPからエラーも出力されない。

シェル上では問題ないんだけどなあ。
似たような現象に心当たりがある人、ヒントください。
816nobodyさん:2012/03/15(木) 15:56:21.58 ID:???
>>811
ありがとうございます
調べてみます
817nobodyさん:2012/03/15(木) 16:27:22.41 ID:VUkqieq6
CSVファイルからfget_csvで1行ずつ配列に代入するとして、
その配列の文字コードを後から変更したいと思います。

一度に大量の文字列を配列に入れると
メモリエラーになるのですが、memory_limitの数値を増やす以外に
解決策はないのでしょうか?
818nobodyさん:2012/03/15(木) 16:50:38.81 ID:???
fget_csvは使うな!!!!!!!!!!
819nobodyさん:2012/03/15(木) 16:58:31.10 ID:???
>>812
どういう意味?
C言語による実装とJava言語による実装の違いでは?
820nobodyさん:2012/03/15(木) 17:22:26.75 ID:???
>>817
どんくらいの容量の食わせてるの?
821nobodyさん:2012/03/15(木) 17:34:31.07 ID:???
文字コード変更しなけりゃいいんじゃね
822nobodyさん:2012/03/15(木) 17:35:01.22 ID:VUkqieq6
>>820
memory_limitの上限値までです。
現在はパフォーマンス測定みたいなことをやってまして、
1行1000文字でどのくらいまで配列に代入出来るか?をテストしています。
出来るだけどのサーバでも使えるようなソースの書き方をしたいと思い、
memory_limitの設定に依存しないようなプログラミングを勉強しています。

とりあえず、条件としては>>817ですが、メモリ不足に陥らない方法が
あったら教えて欲しいと思い、質問しました。
823nobodyさん:2012/03/15(木) 17:35:46.00 ID:VUkqieq6
文字コードは変更するという前提でお願いします。
逆に文字コード変更するなら一旦、配列に代入しなければ行けない
と言う事なら、それで納得します。
824nobodyさん:2012/03/15(木) 17:40:52.25 ID:???
何で後出しなんですか?
825nobodyさん:2012/03/15(木) 17:45:51.27 ID:???
>>819
おまえと話してもかみ合わないからどうでもいい
826nobodyさん:2012/03/15(木) 17:54:15.76 ID:???
>>822
メモリの容量に依存せず大容量ななんらかのものをつかませておきたいなら
自分でPager組んでそっちに逃がすとか、強引だけど、一旦なんらかのDBに逃がしちゃうとか。
当然パフォーマンスはガタ落ちだけど、言ってしまえばメモリを無視するというわけだから
副記憶装置に押し付けるしかないっぺ。
827nobodyさん:2012/03/15(木) 17:56:40.71 ID:RuJGZOGk
session_start()やsession_regenerate_id()でPHPが自動生成してくれるセッションIDはどのような規則で作られていますか?
828nobodyさん:2012/03/15(木) 18:16:52.96 ID:???
session.c のphp_session_create_id
spprintf(&buf, 0, "%.15s%ld%ld%0.8F", remote_addr ? remote_addr : "", tv.tv_sec, (long int)tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10);
ハッシュ前のベースは、IPと時間と乱数で文字列つくってるだけだね。 
あとは、session.entropy_fileの設定があったら、それもいれてたり
829nobodyさん:2012/03/15(木) 18:19:29.81 ID:RuJGZOGk
すみません

http://d.hatena.ne.jp/do_aki/20100319/1269021432

ここに書いてありました
お騒がせしました
830nobodyさん:2012/03/15(木) 18:19:56.79 ID:RuJGZOGk
>>828
ありがとうございます!
831nobodyさん:2012/03/15(木) 18:42:10.70 ID:VUkqieq6
>>826
つまりテンポラリファイル的なものを作って
メモリ解放するやり方しかないって事ですね。
それなら納得しました。
832(498===523===525)===(498=523=525):2012/03/15(木) 18:54:35.96 ID:r40AKqz2
>>817
ファイルを全部配列に入れるのではなく、一定行数ごとに処理をすればいいだけではないですか。
833nobodyさん:2012/03/15(木) 20:19:25.13 ID:HppzpmUE
OSはWindowsです。
PHPでプロセスに駐留するようなプログラムって作成できますか?
出来るならどのへんの関数を使うかや言葉などヒントお願いします。
やりたいことは現状タスクスケジューラで30秒置きに実行しているスクリプトを、
タスクスケジューラを使用しないで行いたいです。
Windowsで自分のPCなのでプログラム実行権限(ルート)はあります。
834nobodyさん:2012/03/15(木) 20:26:04.03 ID:???
普通はsocket_系だと思うけど、
無限ループでsleepと処理を30秒おきに繰り返したほうが簡単
835nobodyさん:2012/03/15(木) 20:26:20.02 ID:???
>>833
while(true){

sleep(1);
}
とかすればいいんでね?
836833:2012/03/15(木) 20:34:33.55 ID:HppzpmUE
>>834-835
なるほど。
タイムアウトなしの設定にもできますしループという手もありますね。
socketを見て無理そうならループにしたいと思います。
どうもありがとうございました。
837nobodyさん:2012/03/15(木) 21:04:42.42 ID:???
>>835
こういうのやってても問題ないの?
cronみたいにいかないと思ってるけど。
838nobodyさん:2012/03/15(木) 21:05:09.50 ID:???
>>837
問題って何が?
839nobodyさん:2012/03/15(木) 21:16:06.46 ID:???
>>825
何か気に障りましたか?
840nobodyさん:2012/03/15(木) 21:46:48.36 ID:???
>>838
ソースは出せないんだが、プロセス起動したままだと問題あるとか無いとか・・・
841nobodyさん:2012/03/15(木) 21:49:13.40 ID:???
windowsならphp-cliを使ってmysql のテーブル自動更新スクリプトは作ったことがある
Win2K+apache それにcli常駐させて2年程無停止でトラブルは出なかった
842(498===523===525)===(498=523=525):2012/03/15(木) 21:58:19.58 ID:r40AKqz2
>>833
タスクスケジューラで済むなら、それが最適。
CLIをループさせるだけでいいなら、それも簡単。

こういうツールもある。
http://pear.php.net/package/System_Daemon
843(498===523===525)===(498=523=525):2012/03/15(木) 22:02:04.36 ID:r40AKqz2
>>840
いろいろ気をつかってプログラムを書かないと、使用メモリーがどんどん増えていく。
844nobodyさん:2012/03/15(木) 22:20:53.68 ID:???
中の処理によるでしょ
変数使わなきゃメモリリークしないし
845nobodyさん:2012/03/15(木) 23:06:25.09 ID:???
>>822
>>817だと、配列に入れる時点でメモリエラーになっていると読めるんだけど、それであってる?
846(498===523===525)===(498=523=525):2012/03/15(木) 23:49:05.12 ID:r40AKqz2
>>845
1000文字でメモリエラーになるはずは無いし、fgetcsvはファイルの
行単位にループして使うものだからそういうことでは無いよね。
http://php.net/manual/ja/function.fgetcsv.php

1行1000文字のファイル1行を配列1要素に入れて、それをループしたとき、
ある要素数でエラーになるってことでしょ。
847nobodyさん:2012/03/16(金) 00:00:29.18 ID:???
>>812
意味不明
848nobodyさん:2012/03/16(金) 05:27:53.41 ID:???
>>846
だから配列に入れる時点だろ?
849nobodyさん:2012/03/16(金) 10:22:22.04 ID:TYAnn7Fn
PHPの正規表現で社名から
株式会社、
有限会社、
合資会社、
(株)、
(有)
などの文字を除いた社名を表示したい場合、どのようなパターンにすればいいんですか?
除く文字は社名の先頭にある場合と最後にある場合があるんだけど・・・
850nobodyさん:2012/03/16(金) 10:41:43.97 ID:???
正規表現についてはスレ違い

ただ、そんなんだったら 株式会社を ""に置換してしまえ。
851nobodyさん:2012/03/16(金) 10:41:50.30 ID:???
>>849
文中から会社名を拾ってとかいうのじゃなくて、
会社名カラムから拾うようなものななら、
それを全部列挙して、消した残りを表示すればいい。
852nobodyさん:2012/03/16(金) 10:51:30.55 ID:???
Preg_replaceよりstr_replaceのほうが速い
853nobodyさん:2012/03/16(金) 10:54:30.45 ID:+dWmT1P1
質問ではなく相談なんですが、
PHPを知らなかった時代は、HTMLで同じコードをいくつも書くというような
ちょっとした手間のかかるような制作は特に気にならなかったですが
PHPを知ってから、
ちょっとしたコピペも苦痛に感じるようになり、
もっと楽できないものか、もっと楽できないものかと
泥沼にはまってます。

で、楽できてたらそれはそれでいいんですが、
結局コピペや、手動で変換したほうが早いという・・・。
一つのファイルや、設定変数を共有させ過ぎで
例外が入ると、いちいち例外を記述しないといけないという・・・。
854nobodyさん:2012/03/16(金) 11:05:51.60 ID:???
855nobodyさん:2012/03/16(金) 11:07:43.51 ID:???
Zendかcakeを使え
856nobodyさん:2012/03/16(金) 11:07:58.12 ID:???
じゃ静的htmlでいいんじゃね?
857nobodyさん:2012/03/16(金) 11:08:31.54 ID:???
あとオブジェクト指向勉強しろ
858nobodyさん:2012/03/16(金) 11:25:12.78 ID:???
>>853
手動コピペで手間足りる上にPHP組むより早いなら静的htmlでOK
859nobodyさん:2012/03/16(金) 11:33:27.19 ID:+dWmT1P1
回答ありがとうございます。

効率を高めようとしているのか横着しようとしてるのかを
見極めていきます。

ちなみに「回答ありがとうございます。」もよく使うので
「かいあり」で辞書登録してます。
860(498===523===525)===(498=523=525):2012/03/16(金) 12:26:26.19 ID:Ny7vUNEa
>>853 >>857
ポリモーフィズム。
861(498===523===525)===(498=523=525):2012/03/16(金) 12:31:20.84 ID:Ny7vUNEa
>>848
はい。配列に入れる以外の処理を書いてないですし。
要素数の問題ですよね。
862nobodyさん:2012/03/16(金) 12:38:53.40 ID:???
>>859
プログラムなんてタダのツールだし、学校の課題じゃないんだから、楽なほうでいいんだよ。
二度と触らんようなプログラムに、あとからあれこれ付け足すのを考慮するとかしないだろ?
効率上げるために横着するのが正しい。 効率の上がらない横着は横着じゃない。
できるだけ楽をしてすまそうとすることの方の意味でね。すべきことをしない横着はプログラムでは出来ないんだし。
863(498===523===525)===(498=523=525):2012/03/16(金) 13:09:18.10 ID:Ny7vUNEa
どちらで書いてますか。

switch($var){
  case 'aaa':
}

switch(true){
  case $var === 'aaa':
}

http://www.php.net/manual/ja/control-structures.switch.php#59991
864nobodyさん:2012/03/16(金) 13:12:27.56 ID:???
>>863
848じゃねーけど前者

たまに正規表現の一致などにより使う場合に後者
865nobodyさん:2012/03/16(金) 13:13:49.00 ID:???
どちらで書いてるって、状況によるだろ
常にどちらか一方で大丈夫だと思ってるなら甘い
866(498===523===525)===(498=523=525):2012/03/16(金) 13:40:37.20 ID:Ny7vUNEa
>>864
なるほどー。

>>865
緩い比較は使わないので、僕は後者しか使ってないです。
後者の書き方を知らなかった時は、switchを使うのがすごくイヤで、ifで書いていたりしました。
867nobodyさん:2012/03/16(金) 15:13:52.02 ID:???
caseに書かれた比較条件をswitchに書かれている値になるか緩い比較をしているだけだからなぁ
どちらかを使うって事は無いな
868867:2012/03/16(金) 15:14:48.41 ID:???
誤)どちらか
正)どちらかのみ
869nobodyさん:2012/03/16(金) 16:30:44.79 ID:???
>>861
文字コード変換時にバイト数が増えることがあるのは今考慮しなくていいんだよねっていう確認なんだよ
870(498===523===525)===(498=523=525):2012/03/16(金) 16:49:38.82 ID:Ny7vUNEa
>>869 なるほどー
871nobodyさん:2012/03/16(金) 16:56:26.98 ID:e6UkDkcE
>>850
>>851
ありがとうございます。
悩んでいた自分が馬鹿でした。
872nobodyさん:2012/03/16(金) 19:59:09.74 ID:???
株式会社アトカブ
マエカブ株式会社
ってネタを思い出した
873nobodyさん:2012/03/16(金) 22:25:23.76 ID:90NjddGX
あるライブラリで定義されているグローバル変数の読み込みのことで質問させてください。

// somelib.php
$global_variable = 'golobal variable';
class Somelib {...}

// myclass.php
class Parent {...}
class Child1 extends Parent {...}
class Child2 extends Parent {
 public function some_method() {
  require_once 'somelib.php';
  $somelib_obj = new Somelib();
 }
}

このようにひとつのファイルに複数のクラスを割り当てています。
Child1ではsomelib.phpは不要なので、Child2が使用された場合にのみ読み込もうと、上記のように書きました。
しかし、インスタンス生成は(当然)できるものの、グローバル変数$global_variableは読み込まれません。
somelib.php内に$GLOBALS['global_variable']として呼び出すコードがあるため、そこでエラーとなります。
この場合のルールってどうなってるんでしょうか。
※myclass.phpのグローバル領域にてrequireした場合には問題ありません。
874nobodyさん:2012/03/16(金) 22:39:56.44 ID:???
>>873
そりゃsome_methodのスコープになるんだから当たり前だべ
875nobodyさん:2012/03/16(金) 22:55:23.96 ID:90NjddGX
>>874
ありがとうです。そうか、ライブラリと同じ(グローバルの)スコープではないんですね。
動作の確認できました。ひとまずrequireの直後に以下のように追加して凌ごうと思います〜。
なんかえらい雑な感じもするけど・・・

$GLOBALS['global_variable'] = $global_variable;
876nobodyさん:2012/03/17(土) 04:06:15.48 ID:ErwHrG3p
ttp://9jp.info/archives/11154
↑のサイトのやり方で、ページングの機能をつくりたいのですが、
0からではなく、最初のページを1からにしたいんです。
どなたか教えてください。。。
877nobodyさん:2012/03/17(土) 04:22:39.51 ID:???
ループカウントを1からにすればいいだろ
878nobodyさん:2012/03/17(土) 04:38:51.34 ID:ErwHrG3p
>>877
ありがとう。でもわからんw

function getNaviLink() {
$naviLink = null;
for ($i = 0; $i < $this->maxPageNum; $i++) {

ここを1にしたら最初のページのリンクがなくなたです
879nobodyさん:2012/03/17(土) 05:07:37.45 ID:???
>>878
表示だけ+1すればいいよ
880nobodyさん:2012/03/17(土) 05:20:39.95 ID:ErwHrG3p
>>879
たぶんできた!!!ありがとう\(^o^)/
881nobodyさん:2012/03/17(土) 05:24:18.22 ID:???
まぁそんな単純な話じゃないんだけどね
全体的に変えないとだめだろう
+1とか-1とかつけたり消したり等号を<から<=に変えたり
つうか自分で作れない人は改造スレね
http://kohada.2ch.net/test/read.cgi/php/1314546533/
882nobodyさん:2012/03/17(土) 05:46:48.90 ID:???
ページネーションならプロはこういうふうに実装する
Awesome Pagination with ZF, Paginator, AjaxContext and the HTML5 History API
http://blog.philipbrown.id.au/2011/03/awesome-pagination-with-zf-paginator-ajaxcontext-and-the-html5-history-api/
883nobodyさん:2012/03/17(土) 05:57:56.87 ID:???
日本語で
884nobodyさん:2012/03/17(土) 06:18:27.10 ID:???
>>881
> 毎回ページング対象の全レコードを投げる必要があったりと、とても微妙な事をしているので、
> データ量が多い場合には微妙な気がするけれど、数千件程度のデータなら別にこれでも良いんじゃないかな〜と。

こんなこと書いてるところを信用するなでいいと思う。
885nobodyさん:2012/03/17(土) 06:27:58.81 ID:???
それどこの記述だ?
886nobodyさん:2012/03/17(土) 06:31:48.31 ID:???
887nobodyさん:2012/03/17(土) 06:32:20.08 ID:???
コンストラクの引数で$pageNum = ''
とか書いてるのに
$this->pageNum = intval($pageNum);
とか書いてるのがPHPの嫌なところだな
こういうのってしっかりやるときはやっぱり
InvalidArgumentException投げるんだろうか
888nobodyさん:2012/03/17(土) 06:34:31.66 ID:???
889nobodyさん:2012/03/17(土) 06:40:37.80 ID:???
質問じゃないから気にしないでいいよ
890nobodyさん:2012/03/17(土) 07:01:48.15 ID:???
わかった
891(498===523===525)===(498=523=525):2012/03/17(土) 07:48:34.40 ID:WDIEzOVg
>>876
>>884
Pear::Pagerも、同じく取得するデータを制限するのではなく、
全件取得して表示するデータを制限するだけという小規模仕様。
http://pear.php.net/manual/ja/package.html.pager.php

>数千件程度のデータなら

まぁ、非効率なことをやっているという意識があって、
実際の動きが遅くないならいいんじゃないかという気もする。
件数が増えればすぐに遅くなる。
892nobodyさん:2012/03/17(土) 07:59:08.54 ID:???
$data = "

<?php
print \"No\";
?>

";

$bbb = str_replace( "No", "Yes",$data );



/////////////////////

$dataの文字列が<?php ?>でくくって
あるとstr_replace できないようですが
置換する方法を教えて下さい。
893(498===523===525)===(498=523=525):2012/03/17(土) 08:06:22.87 ID:WDIEzOVg
>>887
それは言語とは関係のないコードの話ですよね。
「$this->pageNum = intval($pageNum); 」では、フォームから受け取った文字列型のページ値を
文字列から数値に「意図的に」変換しつつ、入力値の制限にもなるし、全く問題ない記述だと思う。

自分なら、フォームで受け取る処理でページは数値化しておくけど。
894(498===523===525)===(498=523=525):2012/03/17(土) 08:09:10.72 ID:WDIEzOVg
>>892
$data="" じゃなく $data='' に。
895nobodyさん:2012/03/17(土) 08:10:25.63 ID:???
いやいや
2dが2になるのが嫌なんです
896nobodyさん:2012/03/17(土) 08:16:19.10 ID:???
>>894
セミコロンを一つにですか?
897(498===523===525)===(498=523=525):2012/03/17(土) 08:18:37.82 ID:WDIEzOVg
>>895
ページャーの外で ctype_digit でもしとけばいい話。
って、やっぱりPHPと関係ない。
898nobodyさん:2012/03/17(土) 08:21:27.67 ID:???
最初から静的型付けならそんな問題もおこらないでしょうという話ですよ
899nobodyさん:2012/03/17(土) 08:24:34.84 ID:???
intvalとかよりキャストのほうが早いんじゃね
900nobodyさん:2012/03/17(土) 08:30:02.68 ID:???
しかしintvalで済ませるのは横着だと思う
/detail/1420596/
/detail/1420596jp/
が同じ結果ってのはな
後者はNotFoundにしないとだめだろ
901nobodyさん:2012/03/17(土) 09:27:30.59 ID:j6AXQeWw
QdSmtp error: No Responce SYSTEM TIME OUT line -> 603
QdSmtp error: getMessage error line -> 543
QdSmtp error: Error From setting line -> 488
QdSmtp error: Send Data Error or Auth Error line -> 415
Qdmail error: Qdmail Version 1.2.6b ,PHP Version 5.2.11
Qdmail error: OS WINNT ; PHP Version 5.2.11 ; Qdmail version 1.2.6b
php.ini status: mb_language = Japanese ; mb_internal_encoding = UTF-8 ; mb_detect_order = ASCII,JIS,UTF-8,EUC-JP,SJIS
Qdmail Status debug: 0, log: 3, errorlog: 0
Qdmail error: No send . Because SMTP mail method replied error line -> 2190
Qdmail error: Send Error line -> 2115
Qdmail error: Error happen, see upper line -> 2194
Qdmail error: Send Error line -> 2115

Qdmailでメールを送信すると上記のようなエラーが出て送信できない場合があるのですが、
これはどういったエラーなんでしょうか?
(このあとすぐにもう1度同じ処理を更新ボタンを押してすると成功する場合が多いです)
902901:2012/03/17(土) 09:28:09.71 ID:j6AXQeWw
ちなみにQdmailはCakePHPのコンポーネントとして利用しており、
メールサーバはさくらインターネットを利用しています。
903nobodyさん:2012/03/17(土) 10:26:37.10 ID:???
エラー行出てるならそこ見ればいい
904nobodyさん:2012/03/17(土) 11:47:59.61 ID:???
なんで標準ライブラリでもないものの質問をするかな
PEARでもスレ違いって言われるぐらいなのに
905nobodyさん:2012/03/17(土) 12:26:16.65 ID:???
サーバーサイドプログラムは世界中から攻撃される可能性があるのに 理解してないコードをよく使えるな
906892:2012/03/17(土) 15:25:57.69 ID:???
出来ました。
ありがとうございました。
907(498===523===525)===(498=523=525)@家:2012/03/17(土) 17:13:21.10 ID:m3CObGes
>>898
静的型付けならそうなるが、動的型付けであっても、自動変換しないでエラーにする関数が
用意されていたらいいんだと思う。

が、PHPは「自動変換しますよ!」的なポリシーで、用意していないって事なのかな。
まぁ、簡単に書けるので、そうしたければ自分で用意して使え、というポリシーなんだろう。

JavaだとInteger::Integer(String s)か。
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Integer.html#Integer(java.lang.String)


>>899
大して変わんねんじゃね?

>>900
確かに横着。
でも知っていて手を抜く場合もあるかも。
908nobodyさん:2012/03/17(土) 20:28:53.68 ID:???
phpファイルのエンコードはurf-8
windows7、php 5.4.0です。
ディレクトリをオープンする時、フォルダパスにダメ文字が入っていると開けないのですが、どうすれば解決できるでしょうか。
$path="C:\コッソリ噂";
opendir($path);

文字コードをsjis、sjis-winにするのかなと思ったのですが、変わりませんでした。
opendir(mb_convert_encoding($path,'SJIS','UTF-8'));
opendir(mb_convert_encoding($path,'SJIS-win','UTF-8'));
909nobodyさん:2012/03/17(土) 20:29:52.37 ID:???
910nobodyさん:2012/03/17(土) 20:39:47.36 ID:yzv5Q1Zj
失礼しました。再度質問し直させて頂きます。

【OS名】windows7
【PHPのバージョン】5.4
【連携ソフトウェア】無し
【質問内容】
phpファイルのエンコードはurf-8です。
ディレクトリをオープンする時、フォルダパスにダメ文字が入っていると開けないのですが、どうすれば解決できるでしょうか。
$path="C:\コッソリ噂";
opendir($path);

文字コードをsjis、sjis-winにするのかなと思ったのですが、変わりませんでした。
opendir(mb_convert_encoding($path,'SJIS','UTF-8'));
opendir(mb_convert_encoding($path,'SJIS-win','UTF-8'));
911nobodyさん:2012/03/17(土) 21:34:51.63 ID:???
これは地味に難しい質問がきたな
WindowsはShift_JISだから無理なのかもしれんな
http://toro.2ch.net/test/read.cgi/tech/1306595564/
こっちの人のほうが詳しいと思われ
912nobodyさん:2012/03/17(土) 21:37:20.90 ID:???
windows7ってそのままサーバ機能があるのか?スゲー明日買って来る
913(498===523===525)===(498=523=525)@家:2012/03/17(土) 21:58:14.67 ID:m3CObGes
914nobodyさん:2012/03/17(土) 21:58:18.95 ID:???
>>910
・・・数スレ毎にこの話題出るね。
簡単に言えば現在のPHPは対応できてないんでダメですね。
詳しく知りたければ過去スレに書いたのでも見てください。

>>909
スレの無駄なんで、今後は回答しながら指摘してくれるかなぁ。
915nobodyさん:2012/03/17(土) 22:07:01.70 ID:???
916nobodyさん:2012/03/17(土) 22:08:05.98 ID:???
スレの無駄?
917nobodyさん:2012/03/18(日) 01:11:04.96 ID:???
phpは言語レベルのバクが多い
918nobodyさん:2012/03/18(日) 01:43:24.75 ID:QddY4QUA
【OS名】centos
【PHPのバージョン】5.3
file_get_contentsやcurlで、あるサイトの内容を取得しているのですが、どちらでも最新の内容が取れません
bashからだとcurlを使うと最新の内容が、wgetだと上記と同じく古い内容が取得されます
趣味で作ってる物なのでラグがあっても問題はないのですが、これらにどのような違いがあるのか気になります
詳しい方いましたら教えていただきたいです
919nobodyさん:2012/03/18(日) 01:45:33.75 ID:???
>>918
古いというのは具体的に言うと?
920nobodyさん:2012/03/18(日) 01:52:38.48 ID:???
httpヘッダとかキャッシュ関連だと思うけど
どこのサイトか晒せばいろいろ試せるんだがな
921918:2012/03/18(日) 02:02:29.75 ID:???
箱○のプレイ履歴です
http://gamercard.xbox.com/ja-JP/[gamertag].card/
タグは伏せてます
プレイしたらここに掲載される情報が更新されるんですがwin7でブラウザから見て最新になっていても
centosからだと・・・って状況です
shell_exec("curl http://~")で試してみましたがこれでも古い情報になります
現時点で2時間ほどラグ出てるので向こう側の問題かも・・・?
というか箱○持ってないと検証できないですね
922nobodyさん:2012/03/18(日) 02:09:19.46 ID:???
923918:2012/03/18(日) 02:45:07.11 ID:QddY4QUA
>>921は私です
curlだと最新が〜と>>918で書きましたが間違いでこっちも古かったです
URLがen-USだとどの方法でも最新のが得られるようです
ブラウザのリクエストヘッダ使ってみたりしましたが相変わらずでした
やっぱり向こう側の問題な気がします
924nobodyさん:2012/03/18(日) 03:50:55.73 ID:???
データが伝播するまでのラグなんじゃないかなぁ、とおもうけれど
925918:2012/03/18(日) 09:35:25.48 ID:QddY4QUA
HTTP/Request、HTTP/Client、lynxなど試しましたがどれもダメでした
別のCentOS(こっちは6)で試したらどれでも最新版が取得できるので
IPで弾かれてる予感が・・・常用時はキャッシュ使ってるので負荷はかけてない筈でしたが
ブラウザからでも即時更新されることもあれば寝て起きるまで更新されないこともあるので
向こう側の問題ってことで決着します
926nobodyさん:2012/03/18(日) 10:01:26.49 ID:???
PHPに関係ないことをまだ言うか
927nobodyさん:2012/03/18(日) 20:11:59.01 ID:rlrUKc8I
while (税収が少ない){
  消費税率上げる
  消費が減る
  税収減る
}

税収が増えません
どうすればいいんでしょうか?
928nobodyさん:2012/03/18(日) 20:19:01.70 ID:???
while (税収が少ない){
  消費税率上げる
  消費が減る
  税収減る
  if(927が高額納税){
    while(true){
      税率が下がる
      消費が増える
      景気が良くなる
      税収が増える
    }
  }
}
929nobodyさん:2012/03/19(月) 00:19:43.05 ID:???
http://smallworld.west-tokyo.com/blog/2011/02/php-study-1.html
こちらを参考にログインフォームを作っているのですが、

Strict Standards: Non-static method DB::isConnection() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Auth\Container\DB.php on line 150

Strict Standards: Non-static method DB::parseDSN() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\DB.php on line 520
というようなエラーが沢山(末尾の数字が変わる)出てしまいます。

PEAR::DBがインストールされていないときに出るエラーのようなのですが、今はMDB2を使うようになっていると聞きます。
上記のURLのソースをMDB2で使うにはどの様に変えていけば良いのでしょうか
930nobodyさん:2012/03/19(月) 00:43:22.26 ID:???
931nobodyさん:2012/03/19(月) 00:46:47.84 ID:???
932nobodyさん:2012/03/19(月) 01:41:14.49 ID:cSahNEV1
まったくの初心者なんですが、
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1483756154
ここの質問にお答え願えないでしょうか。
ヒントだけでも結構です。

簡単に言うと、CGIの掲示板にスカイプボタンをつけたいんです。
どこをどういじればよいのやら・・・
933nobodyさん:2012/03/19(月) 01:41:44.97 ID:cSahNEV1
あちらで答えて頂いてもこちらに答えて頂いても結構です。
934nobodyさん:2012/03/19(月) 01:54:20.92 ID:???
>>932
それ、マルチポストっていうんだよ
935nobodyさん:2012/03/19(月) 01:57:32.49 ID:???
スカイプってなんか聞いたことあるね
936nobodyさん:2012/03/19(月) 03:11:25.15 ID:???
オブリビオンの続編だろ
937nobodyさん:2012/03/19(月) 03:20:07.54 ID:???
違うよ。うす〜いおならだよ。
938nobodyさん:2012/03/19(月) 04:14:36.21 ID:???
スカイダイビング中のおならじゃなかったのか…
939nobodyさん:2012/03/19(月) 10:49:45.16 ID:???
オナラプー
940nobodyさん:2012/03/19(月) 18:01:12.36 ID:/hyp6Xkg
【OS名】win7
【PHPのバージョン】5.4
【連携ソフトウェア】無し
【質問内容】

$a["b"]をfの中で$xに参照渡しをし、$a["b"](=$x)の値を書き換えたいのですが

$a["b"]="a";
f($a);
print $a["b"];
function f(&$a){
 if($a["b"]=="a"){
  $x=&$a["b"];
 }else{
  $x="";
 }
 $x="x";
}
こう書くと狙い通りにxと表示されるのですが、ifを(true?true:false)の一行の書き方で書こうとすると
$a["b"]="a";
f($a);
print $a["b"];
function f(&$a){
 $x=($a["b"]=="a"?&$a["b"]:"");
 $x="x";
}
文法エラーが発生してしまいます。
 $x=&($a["b"]=="a"?$a["b"]:"");
 $x=($a["b"]=="a"?(&$a["b"]):"");
この様に書いても同じでした。
一行の書き方で参照渡しするにはどうしたらよいのでしょうか
941nobodyさん:2012/03/19(月) 23:17:34.73 ID:???
>>940
参照代入演算子は&=
942nobodyさん:2012/03/19(月) 23:18:33.49 ID:???
すまん、=&の間違い
943nobodyさん:2012/03/19(月) 23:28:21.50 ID:???
>>940
出来てもよさそうなのにな。出来ないんだよ。
$a["b"]=="a"?$x=&$a["b"]:"";
まあ、ifで書きなよ
944nobodyさん:2012/03/20(火) 01:39:16.41 ID:???
strtrって、なんで配列だと違う長さでいいんだ?
945nobodyさん:2012/03/20(火) 01:50:23.05 ID:???
946910:2012/03/20(火) 02:41:57.55 ID:???
new ZipArchiveで安全な場所にzipファイルを作って、その中に自由な名前のファイルをaddFromStringする。
またはexec("mklink /H \"{$tempPath}\" \"{$path}\"");してファイルを持ってくる方法にしました。
やれば出来る。なんでも出来る。
947944:2012/03/20(火) 02:44:26.84 ID:???
なるほど。何気に理由があるもんなんですね。
948nobodyさん:2012/03/20(火) 08:27:38.77 ID:???
>>944
文字列の方は、一文字づつのfrom toの指定を文字列で行うもの(だから文字数同じ)
配列の方は from toが文字列
949nobodyさん:2012/03/20(火) 17:35:10.61 ID:5sAZwRmN
Smartyで
{html_options name=form[$i.num][enable][] options=$select selected=$i.sel}
このようにnameに配列を指定するとエラーになってしまうのですが、
これを回避する方法はないものでしょうか。

すみませんがご教示ください。
950nobodyさん:2012/03/20(火) 17:37:57.03 ID:???
>>1
951nobodyさん:2012/03/20(火) 17:39:45.04 ID:???
dat落ちしてるな
smartyスレ立てればよろし
952nobodyさん:2012/03/20(火) 20:19:21.63 ID:kQLmWU30
PHP+MySQLの型についての質問です。
MySQLのint型のカラム(例、id番号格納用)からPHPでidを取得する場合には、
int型、string型のどちらになるのが普通でしょうか?

同一コードなのに、動作がおかしいので、var_dump()で確認すると、
レンタルサーバー(PHP5.2.5)では、string型になっています。
逆に、ローカルのXAMPP(PHP5.3.5)では、int型になっています。
環境が違うと型も異なるのでしょうか?
953nobodyさん:2012/03/20(火) 22:34:30.30 ID:RhIqQwV3
すみません教えてください
http://smallworld.west-tokyo.com/blog/2011/02/php-study-6.html
このソースではどうやってPOSTされた物をセッション変数に入れているのですか?
954nobodyさん:2012/03/20(火) 22:59:01.27 ID:XuJ1KzYb
>>953
registCheck.php
でうけとったのをregistForm.phpに渡している。
>>952
レンサバの環境がわからんとなんともいえん

955953:2012/03/20(火) 23:05:30.24 ID:RhIqQwV3
>>954
それはregistForm.phpの2行目から3行目あたりで行われているということですよね?
$_SESSION['username']=$_POST['username']みたいなのが見当たらないのですが、なぜ渡せるのですか?
956nobodyさん:2012/03/20(火) 23:30:39.79 ID:???
>>952
5.3からmysql関連のドライバの扱いが変わってるんでその辺かなぁ。
いろいろ変わってるんだけどそーいうのが簡単に調べられねーんだよな。

>>955
get_magic_quotes_gpcだの、いつの時代のだよと思ったら去年の記事・・・
いろいろ変だし、そこ見るのはやめるのを俺はお勧めする。
957953:2012/03/20(火) 23:37:12.10 ID:RhIqQwV3
>>956
わかりました。他の所を参考してみます。
ありがとうございました・
958952:2012/03/21(水) 00:43:26.28 ID:pFyJJ5uV
>>954 >>956
レスありがとうございます。
やはりバージョンの違いが原因と考えた方がよさそうですね。
直感的には、MySQLのカラムがintなら、PHPで取得したデータも
intというのが、わかりやすいです。
また、これからは、5.3以上のサーバーが増えそうなので、
5.3でも動くように変更してみます。
959nobodyさん:2012/03/21(水) 04:15:32.77 ID:???
うちのWindows+PHP5.3でもなぜかintで返る
レンサバの5.3だと仕様通りstringが返るから、OSの問題なんかね
960nobodyさん:2012/03/21(水) 07:58:14.83 ID:NtYwhUXp
ブラウザで

Resource id #1

と表示されるんですが、これはどういう意味ですか?
961nobodyさん:2012/03/21(水) 09:08:59.69 ID:???
リソース型をechoしたってだけで
意味を聞かれても答えられるようなものではない
リソースの概念については
ttp://php.net/manual/ja/language.types.resource.php
962nobodyさん:2012/03/21(水) 09:13:44.19 ID:???
>>960
fopenの返り値あたりを表示してんじゃねーの?
http://jp.php.net/manual/ja/language.types.resource.php
963952:2012/03/21(水) 10:43:08.42 ID:Jp6FiHgK
>>959
coreseverでPHP5.2から5.3へのバージョンアップが可能だったので、
試したところ、5.3にしても、string型が返ってきました。
おっしゃるとおり、PHPのバージョンの問題でなく、OS、MySQL側などの問題のようです。

string型で返るのが仕様なら、string型で統一したいと思います。
WIN+XAMPPの組み合わせだと、int型が返るのかもしれませんね。
964(498===523===525)===(498=523=525):2012/03/21(水) 11:16:59.46 ID:4pswCVuc
>>952
DBに何を使ってアクセスしているか書きましょうよ。
値取るまでのコードを全部書いたらいい。
965nobodyさん:2012/03/21(水) 11:19:43.80 ID:???
基本的にDBとのやり取りは文字列のみになる
それ以外で取得できるのはクライアント側の
中間のライブラリとかで処理してる。
966952:2012/03/21(水) 11:52:52.10 ID:Jp6FiHgK
>>964
PDOを使ってアクセスしています。コードは、こんな感じです。

/**** DB接続PDO ****/
$dsn = 'mysql:host='. SERV .';dbname='. DBNM ;
try {
    $dbh = new PDO($dsn, USER, PASS) ;
    $dbh->query('SET NAMES utf8') ;
    $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE) ;
    $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ) ;
} catch (PDOException $e) {
    die('db error.');
}

$sql = 'SELECT * FROM users WHERE mail=:mail AND pass=:pass AND state=1' ;

$stmt = $dbh->prepare($sql);
$stmt->bindParam(':mail', $mail, PDO::PARAM_STR);
$stmt->bindParam(':pass', $pass, PDO::PARAM_STR);
$stmt->execute();
if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {         
    $_SESSION['id']  = $row['id'] ;
    $_SESSION['user'] = $row['user'] ;
967(498===523===525)===(498=523=525):2012/03/21(水) 12:41:11.44 ID:4pswCVuc
>>966
自動変換に任せず、第三引数($type)を指定して型変換すべき。
http://jp2.php.net/manual/ja/pdostatement.bindcolumn.php
968nobodyさん:2012/03/21(水) 12:52:19.15 ID:???
いつまでコテつけて恥をさらすのか
969nobodyさん:2012/03/21(水) 13:22:07.06 ID:???
>>967

>>966を全部見て理解してからレスしてるのか?
970952:2012/03/21(水) 14:10:30.65 ID:g60QnSuj
>>967
便利そうなメソッドありがとうございます。
データ取得時にも型を指定できるのですね。勉強になります。
ただ、これだと、(int)とか(string)して型キャストしてやる方が
書き換えが楽そうです。
$_SESSION['id']  = (int)$row['id'] ;
$_SESSION['id']  = (string)$row['id'] ;
971(498===523===525)===(498=523=525):2012/03/21(水) 14:10:42.72 ID:4pswCVuc
>>968
スレッドが終わるまで。

>>969
てきとーですいません。違うんですか。
972nobodyさん:2012/03/21(水) 15:16:43.78 ID:UYYnFQWA
たすけてください!
if文を実行するとerrorが出ます
訳が解らないです

[CODE]

if((498===523===525)===(498=523=525)){
    echo "うがああああ";
}

[ERROR]

Parse error: syntax error, unexpected T_IS_IDENTICAL in C:\xampp\htdocs\test\498.php on line 498
973nobodyさん:2012/03/21(水) 15:27:45.37 ID:???
Parse error: syntax error, unexpected T_IS_IDENTICAL in C:\498===523===525)===(498=523=525\xampp\htdocs\test\498===523===525)===(498=523=525.php on line 498
974nobodyさん:2012/03/21(水) 16:56:21.09 ID:I9Kl/ls/
ある配列一覧から、キー名ではなく、データ名でデータを取り除く関数を作りたいと思ってます。

//リスト
$list = array(
1 => 大阪
2 => 京都
3 => 栃木
)

//リストから削除したい項目
$delete = array(
栃木
)

array_delete($list , $delete)

//出力結果
array(
1 => 大阪
2 => 京都
)

キー名を元に削除するのなら
unset($list[3])
なんかでいけるとおもうのですが、
VALUE名を元に、データを取り除くにはどういう方法が考えられるでしょうか?
975nobodyさん:2012/03/21(水) 17:44:28.53 ID:???
array_diffでできそうだけどな
976nobodyさん:2012/03/21(水) 18:11:31.19 ID:???
>>974
foreach ($list as $key => $value)
if (in_array($value,$delete))
unset($list[$key]);
print_r ($list);
977nobodyさん:2012/03/21(水) 18:42:08.08 ID:???
>>972
初心者はxampp使うな
978nobodyさん:2012/03/21(水) 18:48:29.12 ID:???
979nobodyさん:2012/03/21(水) 18:49:41.16 ID:???
>>977
慣れるとそれこそxampp使う気が失せるんだが。
980nobodyさん:2012/03/21(水) 19:05:19.70 ID:???
>>979がマジレスにしか見えなくて困る
981nobodyさん:2012/03/21(水) 19:08:08.89 ID:???
>>978
言いたいことははっきり書けよwww
982nobodyさん:2012/03/21(水) 19:24:18.00 ID:???
array_diffで終わりの話なのに、なんでせっせとコード書いてるの?って書けばいいのかな…
983nobodyさん:2012/03/21(水) 19:27:30.32 ID:???
何でだと思ったのさw こいつバカだーとかそんなとこか?w
984nobodyさん:2012/03/21(水) 19:38:12.02 ID:???
array_diffだけ教えればいいんだから、ムダだもんね。
使うな君らしい、本人の為にはならないやさしさが素敵だよ。
985(498===523===525)===(498=523=525):2012/03/21(水) 20:08:32.15 ID:4pswCVuc
>>976
惜しい。

foreach ($list as $key => $value)
if (in_array($value,$delete,true))
unset($list[$key]);
print_r ($list);

>>975 >>978 >>982 >>984
array_diff じゃ不十分。
986nobodyさん:2012/03/21(水) 23:30:01.26 ID:???
987nobodyさん:2012/03/21(水) 23:49:32.82 ID:???
あーうざってー
988nobodyさん:2012/03/22(木) 01:12:46.34 ID:???
989nobodyさん:2012/03/22(木) 03:44:15.33 ID:???
990nobodyさん:2012/03/22(木) 09:22:15.13 ID:???
23. オブジェクト指向
→ 実装が中途半端なので使用しないこと。
本格的なオブジェクト指向言語に比較してパフォーマンスが劣ります。
24.パフォーマンスが悪いと感じられるとき
→ キャッシュを使用してください。
それでもだめならサーバーCPUのオーバークロックをお試しください。

なんでこれ入れたし
991nobodyさん:2012/03/22(木) 09:24:57.40 ID:???
そういう人に次スレ立てさせちゃった俺の責任だ。申し訳ない。
992nobodyさん:2012/03/22(木) 10:48:54.82 ID:???
スレ立て直してくれ
>>988は放置で
993nobodyさん:2012/03/22(木) 10:53:29.78 ID:???
立てた人の弁明次第
994nobodyさん:2012/03/22(木) 10:59:59.04 ID:???
簡易FAQ自体の質問例も回答例もクソだからリセットでいいぐらいだ
995nobodyさん:2012/03/22(木) 11:16:55.41 ID:???
>>990はサーバーのオーバークロック以外は
特に記述に誤りはないけどな。
996nobodyさん:2012/03/22(木) 11:28:01.64 ID:???
オブジェクト*指向* を使用するなって日本語がそもそもヘンテコすぎ
997nobodyさん:2012/03/22(木) 11:28:07.54 ID:???
マルチパラダイムを採用してる言語でOOPするなって主観すぎだろ
そんなのFAQに入れんな馬鹿野郎
998nobodyさん:2012/03/22(木) 11:57:44.62 ID:???
誤りではないからいいのでは?
999nobodyさん:2012/03/22(木) 11:59:06.66 ID:???
恥ずかしいからやめて
1000nobodyさん:2012/03/22(木) 12:00:09.27 ID:???
遅いからは誤りではないが、
遅いから使うなは、俺は誤りだと思うがどうか。
さて、弁明も駄目だったね。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。