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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2011/07/28(木) 06:54:27.75 ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 107
http://hibari.2ch.net/test/read.cgi/php/1307228162/
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
3nobodyさん:2011/07/28(木) 06:55:01.46 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さん:2011/07/28(木) 06:55:34.96 ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
5 忍法帖【Lv=22,xxxPT】 :2011/07/28(木) 06:56:05.91 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さん:2011/07/28(木) 12:51:15.75 ID:???
>>1
7nobodyさん:2011/07/28(木) 16:24:16.40 ID:NqRYRRZz
>>1乙です

クラスのメソッドを役割ごとにまとめたいんだが、いい方法ない?
たとえばリクエストを送信するメソッドが、sendRequest, createRequestURL,
parseResult みたいにいくつものメソッドにまたがってる。

普通はRequestクラスを作るんだろうけど、元のクラスのprivateメンバに沢山アクセスしないといけない。

めんどうだけど、Requestクラスに必要な情報を一つ一つ渡すしか無いのかな
8nobodyさん:2011/07/28(木) 16:31:27.77 ID:???
Requestクラスに元のクラスをそのまま持たせるとか
97:2011/07/28(木) 16:40:05.60 ID:NqRYRRZz
>>8
イメージとしてはそんな感じ。複数のクラスで一つのフィールドを共有したい。
でもprivateだとそうはいかないよね。。

とりあえず面倒だが普通に一つ一つ渡す方法で実装してみる。
誰かいい考えあったらアドバイス頂戴。
10nobodyさん:2011/07/28(木) 16:47:17.63 ID:???
どういった類のパラメータか知らんけども、
データ保持用のクラス別に持ってそれ受け渡すとか
11nobodyさん:2011/07/28(木) 19:27:30.74 ID:nM3VLmEc
質問です

レンタルサーバーでphp.iniとかイジれないのですが
セッションの有効期限を延ばすにはどうしたらいいでしょうか?
ブラウザを閉じなくても30分程でセッションが切れてしまいます

一応セッションスタートの前に
ini_set("session.gc_maxlifetime", "504000");
ini_set("session.cookie_lifetime", "504000");
session_start();
と記述してあるのですが
12nobodyさん:2011/07/28(木) 19:37:03.27 ID:???
とりあえず減らしてみるといい
13nobodyさん:2011/07/29(金) 00:43:50.44 ID:???
>>9
文化や芸術を理解するには知識ではなく知性が必要だからね
テストでいい点取って喜んでいるうちは所詮朝鮮人レベル
日本人としてはそれより一段高い知的水準になければ達しているとは認められないだろう
14nobodyさん:2011/07/29(金) 02:39:38.93 ID:???
韓国国営放送である犬HKを解約する方法
http://www.youtube.com/watch?v=YP5YoQbMx9g&feature=related
ただし一般郵便だと無視される可能性があります。
とぼけられないように一般書留+配達証明=770円で郵送したほうが確実です。。

私の場合、3日程で、地域担当者から電話がかかってきました。
相手の役職と氏名を確認して、『一応、トラブル防止のために録音しときますね』と告げました。
そのためか、一通り確認すると15分ほどで解約に応じました。
『家の中を確認しないと解約できない』とか、『未払い分があると解約に応じない』とかでゴネることはなかったです。
『NHK 解約』でネタを仕込み、いろいろと突っ込んでやろうと構えていたのですが、空振りでした。
本当はネチネチと遊びたかったのですが残念です。
と、まあ、割と簡単な作業ですので、テレビが視聴出来ない方w、ぜひお勧めします。
15nobodyさん:2011/07/29(金) 07:03:04.67 ID:jzqKsHF3
>>12
減らすというと
ini_set("session.gc_maxlifetime", "50400");
ini_set("session.cookie_lifetime", "50400");
session_start();
こんな感じでしょうか?
変わらずだったんですが、どうすれば・・・。
16nobodyさん:2011/07/29(金) 07:31:15.95 ID:???
1分にしてみろってことだろ
17nobodyさん:2011/07/29(金) 08:58:03.14 ID:???
>>15
即消えるようにしても駄目ならそもそも設定できてないんじゃないって事
セッション以外の設定も変えてみたりもしてみると原因がどこにあるか見えてくるはず
18nobodyさん:2011/07/29(金) 09:01:21.09 ID:jzqKsHF3
なるほど、ありがとうございます
確かに60に設定しても消えませんでした、何が悪いんだろう
やっぱレンタルサーバーだとこういう点があるのが難点ですな
19nobodyさん:2011/07/29(金) 09:13:01.67 ID:???
20nobodyさん:2011/07/29(金) 09:18:28.60 ID:???
>>18
レンタルサーバなら何処か情報出すといいよ
使ってる人が情報持ってる事だってある
21nobodyさん:2011/07/29(金) 11:26:04.67 ID:???
俺前にセッション使うならクッキーにしろって言われたが
クッキーだと情報保存したクッキー自体を抜き取られる危険性があるんだよなぁ
22nobodyさん:2011/07/29(金) 11:33:41.23 ID:???
そりゃセッションとは直接関係ないから
hiddenフィールドだってURL渡しだって抜き取られる危険性はある
23nobodyさん:2011/07/29(金) 11:36:38.09 ID:???
用途が違いすぎてなんとも
24nobodyさん:2011/07/29(金) 12:59:21.10 ID:???
セッション=IDとか保存
クッキー=セーブデータの保存

こんな感じに使い分けてる
25nobodyさん:2011/07/29(金) 13:01:00.68 ID:???
class A{
function do(){
fire(self);//←ここのselfでエラーが出る
}
function do2(){print("OK");}
}
function fire($argclass){
$argclass->do2();//ここで$tst=selfのdo2()が動いて欲しい
}
$tst=new A();
$tst->do();

上記のようなコードを書いたのですが、 fire(self);で「selfがねーよ」とエラーが出てしまいます
クラス内で自分自身のインスタンスを引数として渡すにはどうしたらよいのでしょうか
$tst->do();をfir($tst)とすればよいのですが、それは他の仕様上ちょっと出来ないのでそれ以外でお願いします。
function do(){}の中だけで解決する方法があればそれをお願いします
26nobodyさん:2011/07/29(金) 13:03:30.90 ID:???
$this
27nobodyさん:2011/07/29(金) 13:03:38.53 ID:???
使い分けるもんじゃないから
28nobodyさん:2011/07/29(金) 15:41:07.60 ID:???
URLに埋め込み=IDとか保存
hiddenタグに埋め込み=セーブデータの保存

こんな感じに使い分けてる
29nobodyさん:2011/07/29(金) 17:37:12.26 ID:???
>>25

staticにしてないから、じゃないかな?
selfて基本的にstaticな変数または関数しか呼び出せないけど
ちがうかな?

public static function do2(){print("OK");}
}
30nobodyさん:2011/07/29(金) 17:38:17.91 ID:???
自分自身のインスタンスなんだから$this以外の何があるというのか
31nobodyさん:2011/07/30(土) 02:57:30.30 ID:byWcuOWe
コマンドプロンプトでphpを実行させるにはどうするのですか?
32nobodyさん:2011/07/30(土) 03:07:08.76 ID:???
33nobodyさん:2011/07/30(土) 04:52:58.11 ID:???
>>32
そういうことではなく、phpをコマンドプロンプトで実行させたいのですが
34nobodyさん:2011/07/30(土) 05:03:46.10 ID:???
エスパーよろしく
35nobodyさん:2011/07/30(土) 05:14:24.65 ID:???
php filename.php
36nobodyさん:2011/07/30(土) 05:21:08.27 ID:???
php -r echo('HELLO WORLD');
37nobodyさん:2011/07/30(土) 05:21:43.78 ID:???
php -r "echo 'Hello':"
38nobodyさん:2011/07/30(土) 11:16:28.98 ID:???
えぇと、結局回答は無いわけですね
39nobodyさん:2011/07/30(土) 11:19:57.87 ID:???
コンソールアプリケーションが作りたいとか
PHPをコマンドラインから起動したいとか日本語で頼む
40nobodyさん:2011/07/30(土) 11:40:30.54 ID:IHHD7Huh
ereg系の関数が将来廃止される予定とのことなので、
ereg系(ereg,eregi,ereg_replace)をpreg系(preg_match,preg_replace)で処理するように過去に作成したスクリプトを書き換えることを検討してます。
しかし、あまりにも数が多い上、ereg系とpreg系で微妙に書き方が違うようで、パターン文字列を//で囲む、パターン文字に含まれる/は\/に置換してクォートしておかなければならないぐらいしか違いを認識してないので、どうしようか悩んでます。
単純にエディタの置換などでereg→preg_match, ereg_replace→preg_replaceと置き換えるだけでは動かないと思われるので、
たとえば、ereg→treg,eregi→tregi,ereg_replace→treg_replaceとエディタで全置換して
各treg,tregi,treg_replace内でpreg系の処理をしてくれるようにできると非常に楽なのですが、このような(treg,tregi,treg_replaceのような)、引数や書き方はereg系のままでpreg処理をしてくれるような関数はどこかにないものでしょうか?
41nobodyさん:2011/07/30(土) 12:01:34.76 ID:eO+Qjjae
preg_replace('/([0-9]+)/', $hoge['$1'], $str)
的なことをするとundefined index $1になってしまいます
どう書くのが正しいでしょうか?
42nobodyさん:2011/07/30(土) 12:28:21.49 ID:???
>>41
'$1'にするからじゃないの?
$hoge["$1"] か $hoge[$1] にしたらどうよ
4341:2011/07/30(土) 12:44:35.37 ID:eO+Qjjae
>>42
前者は同じundefined index $1
後者はsyntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$'が出ます
44nobodyさん:2011/07/30(土) 13:04:27.83 ID:kbXVhMdE
質問です
data: URLをjpgやpng画像に変換してサーバーに保存するにはどうしたらいいでしょうか?
45nobodyさん:2011/07/30(土) 13:13:54.56 ID:???
>>43
preg_replace('/([0-9]+)/e', "$hoge[\"$1\"]", $str)
にしたらどう?
46nobodyさん:2011/07/30(土) 13:14:04.68 ID:???
gd関数
4743:2011/07/30(土) 13:22:14.00 ID:eO+Qjjae
>>45
それもだめでした
マッチングしてから置き換えることで対処はできますので
replaceのみで難しいようならそうしたいと思います
48nobodyさん:2011/07/30(土) 13:29:29.86 ID:j7DYM4YF
dateフォーマットについて質問です。
自分の環境だとecho date("住吉");とやると
324004という謎の数値が出るのですが、
フォーマットに漢字は含めてはいけないのでしょうか?
echo date("m月d日")は平気なんですけど、
たまに漢字によっては変なものが出ます。
date("m住d吉")にする場合は、
date("m")."住".date("d")."吉"のようにしないといけないのでしょうか?
49nobodyさん:2011/07/30(土) 13:35:33.19 ID:???
>>47
e修飾子ちゃんと付けた?
50nobodyさん:2011/07/30(土) 13:43:42.95 ID:???
>>48
formatに2バイト文字が使えるかどうかマニュアルには無いけど、
おそらく止めておいたほうが無難だろうな
5148:2011/07/30(土) 14:02:15.02 ID:???
>>50
レスありがとうございます。

http://oshiete.goo.ne.jp/qa/5159383.html
http://okazu.air-nifty.com/blog/2010/08/php---date-9566.html

こんな感じのものは見つけたのですが、
情報源としてはちょっと乏しく・・・
52nobodyさん:2011/07/30(土) 14:06:36.09 ID:???
>>51
マルチバイト対応関数でないと、漢字の一部が英数字と解釈されてしまう可能性があり、
そのため324004とかになったのだろうと推察できるが、
いずれにしてもマニュアルにそれ以上の情報が無い以上、想像しかできない。
あきらめて date("m")."住".date("d")."吉" とするしかないのでは。
53nobodyさん:2011/07/30(土) 14:15:43.12 ID:???
>>51
上と同じでSJISでやってるとか、
内部エンコーディングの設定と合ってないとかなんじゃない?
5448:2011/07/30(土) 14:21:01.07 ID:???
>>52
そうですね。情報が少ないので最悪それでいくことにします。

>>53
SJISでやってます。内部エンコーディングはUTF-8でたしかに設定は合っていません。
しかしmb_convert_encodingで変換をしてからdate関数を使ってるのですが、
その辺は大丈夫なのかな?とは思うのですが、文字化けしてるところをみると大丈夫じゃないのかもしれません。
55nobodyさん:2011/07/30(土) 14:25:39.97 ID:???
>>54
内部エンコーディングと文字のエンコーディングがUTF8なら大丈夫だと思うけどなー
一度そのmb_convert_encodingやった値をUTF8のまま出力してチェックしてみたら?
ひょっとしたら変更の書き方間違えてるかも知れない
56nobodyさん:2011/07/30(土) 14:31:36.39 ID:???
>>55
だからそもそもdate関数がマルチバイト非対応なんじゃないの?
57nobodyさん:2011/07/30(土) 14:40:54.93 ID:???
文字コードまわりはほんっとむつかしぃなー
58nobodyさん:2011/07/30(土) 15:00:08.11 ID:???
>>56
内部ではASCIIを想定している
UTF-8はASCIIとして扱っても問題ない
59nobodyさん:2011/07/30(土) 15:15:04.00 ID:???
>>58
そう言い切る根拠は?
関数内部でUTFすら想定していない可能性だってあるんじゃない?
6058:2011/07/30(土) 15:19:26.33 ID:???
>>59
https://svn.php.net/repository/php/php-src/branches/PHP_5_3/ext/date/php_date.c
> static char *date_format(char *format, int format_len, timelib_time *t, int localtime)
> {

> for (i = 0; i < format_len; i++) {
> rfc_colon = 0;
> switch (format[i]) {
> /* day */
> case 'd': length = slprintf(buffer, 32, "%02d", (int) t->d); break;
61nobodyさん:2011/07/30(土) 17:15:18.71 ID:???
1バイトずつ見ていくからUTFが混じってても問題ないということか
6248:2011/07/30(土) 17:27:51.25 ID:???
色々やってみましたがなかなかうまくいきませんでした。
目が疲れたのでまた明日頑張ります。
色々情報ありがとうございました。
63nobodyさん:2011/07/30(土) 17:29:52.12 ID:???
「色々やってみた」
「うまくいかない」
こんなこといってるからだめなんだよ
64nobodyさん:2011/07/30(土) 17:41:47.37 ID:???
情報出してまたアドバイスさせるのに抵抗かんじてるだけだろ
あとは自力で頑張りますという意図をくめないようじゃだめなんだよ
65nobodyさん:2011/07/30(土) 18:18:59.20 ID:kbXVhMdE
>>46
ありがとうございます!
これから試してみます
66nobodyさん:2011/07/30(土) 18:20:45.03 ID:???
>>63
そんな思考の人が自力で頑張れるわけないだろアホか
67nobodyさん:2011/07/30(土) 18:29:06.25 ID:???
他人が自力で頑張るかどうかなんてどうでもいいじゃないか
68nobodyさん:2011/07/30(土) 18:36:26.22 ID:???
そりゃ学校の勉強も全部自力でやろうと思えば誰だってできるけど
人から教われば1分で終わることを10時間も調べてたら非効率的だし
69nobodyさん:2011/07/30(土) 18:36:40.26 ID:???
だから?
70nobodyさん:2011/07/30(土) 18:39:20.09 ID:???
ヤフー知恵袋も良心で成り立ってるしな
71nobodyさん:2011/07/30(土) 19:00:18.71 ID:???
>>68
最初は非効率かもしれないけど、そうやって自分で調べて解決する力を養うのも必要かと
72nobodyさん:2011/07/30(土) 19:01:01.77 ID:???
何事もケースバイケースやで
73nobodyさん:2011/07/30(土) 20:03:25.77 ID:No0Awge7
DBから文字コードの違うデータをとってくるとき、
mbでconvertしてから表示しないと文字化けするので、
みなさんそうしてると思いますが、
alnumとか-_~$みたいな記号は変換しなくても特に問題ないですよね?
こういったものにも変換はしないとなんかまずかったりしますか?
74nobodyさん:2011/07/30(土) 20:31:39.09 ID:???
例えば一度ページにログインして、ログインしっぱなしの状態で一旦ページを離れて
また戻ってきたとします。
その時に、ページのタイトルに「ログイン中」とかって表示したいんですが、
その場合titleタグを書き換える必要があると思います。

ってことは、
ログイン中かどうかを判定した後に、
そのページのタグ全てをPHPで書き出さないといけないんですか?

タイトルタグだけ書き換える方法ってありますか?
75nobodyさん:2011/07/30(土) 20:33:00.03 ID:???
>>73
違うエンコーディング同士なら必ず変換する事


それ以前にまずここを見直すべき
> mbでconvertしてから表示しないと文字化けするので、
使っているライブラリ、クライアントでエンコーディングを指定できないかどうか調べよう
76nobodyさん:2011/07/30(土) 20:36:56.76 ID:???
74ですがやっぱりスルーしてください
77nobodyさん:2011/07/30(土) 20:38:59.47 ID:???
>>74
普通はログインやその他の処理をした後にHTMLを出力するわけだから
タイトルタグ部分を変数にしておけば自由に変えられるだろ
78nobodyさん:2011/07/30(土) 20:39:17.78 ID:???
スルーできなかった
79nobodyさん:2011/07/30(土) 20:45:51.63 ID:???
スルーされなかったので、追加で質問を。

ってことは、PHPでそのページのHTML全てを出力することって普通にやってるんですか?

例えば、

if(ログインチェック){
//ログインあり
OutPut();//ログイン時の全HTML書き出し処理
}else{
//ログインなし
OutPut2();//非ログイン時の全HTML書き出し処理
}

↑こんな処理だけ書いて、最初からファイルにそのまま書いてあるHTMLは一切なしにするってことって
普通にすることなんですか?
8073:2011/07/30(土) 20:55:11.07 ID:No0Awge7
>>75
レスありがとうございます。
5個のデータを100レコード分とってくるので、
変換ありとなしじゃ0.1秒と0.01秒ぐらい差が出ます。
たいしたことないといったらたいしたことないんですが、
文字化けしないし1バイト文字にはできればやりたくないんですよね。
なんかセキュリティー的な理由とかあったりするんでしょうか?

>使っているライブラリ、クライアントでエンコーディングを指定できないかどうか調べよう
エンコーディングを統一しろということですか?
そうしたいのは山々なんですが、Shift_JISで作ってくれと言われてるので・・・
ちなみにデータベースはUTF-16です。
81nobodyさん:2011/07/30(土) 21:12:41.08 ID:???
前スレの奴か
たかが知れてるから全部やれっつーの
82nobodyさん:2011/07/30(土) 21:14:30.61 ID:???
はーい
ありがとうございました
ちなみにこのスレは初めてきたんで前スレのことなんか何も知りません
83nobodyさん:2011/07/30(土) 21:18:00.74 ID:???
一丁前に速度なんか気にする前にShift_JISでphpコーディングさせられる事に疑問持てよw
84nobodyさん:2011/07/30(土) 22:10:30.67 ID:???
>>80
1. サーバーが文字列格納に使用するエンコーディング
2. クライアントがSQLステートメントの送信に使用するエンコーディング
3. サーバーが結果セットの送信に使用するエンコーディング
の3つがあり、Shift_JISの結果が欲しければ3にShift_JISを指定するのが妥当
例えばMySQLなら SET character_set_results = sjis; を発行したりね
本当なら出力する場面に変換をかますのがお勧めなんだが

> 文字化けしないし1バイト文字にはできればやりたくないんですよね。
絶対に1バイト文字以外混入しません、混入しても問題ありません、
何かあったら責任取りますと上司を説得できればやらずに済むよ
85nobodyさん:2011/07/31(日) 01:36:09.92 ID:???
>>41
\1 じゃなかったっけ?
もしくは\\1
86nobodyさん:2011/07/31(日) 03:49:23.25 ID:YYk2Yc0d

foreach ($xml->items->item as $item) {

 $result[$i] = array(
  'id' => (string) $item->id, // Original URL (sent by the user)
  'status' => (string) $item->status, // status (IN_QUEUE, DOWNLOADING, WAITING_STORAGE, COMPLETED, ERROR)
 );

 if ($item->status == 'ERROR') { // ERRORの時のみ detailが追加される
  $result[$i]['detail'] = (string) $item->detail;
 }

}

XMLのデータを配列に入れてるのですが、このif ($item->status == 'ERROR') なしで
detailがあれば勝手に入れるようにってできますか? 無いときは空になっても構わないのです
87nobodyさん:2011/07/31(日) 03:59:48.63 ID:???
ifブロック外せば?
88nobodyさん:2011/07/31(日) 04:07:17.22 ID:YYk2Yc0d
$result[$i]['detail'] = isset($item->detail) ? (string) $item->detail : '';
こうですね
ありがとうこざいます
89nobodyさん:2011/07/31(日) 04:23:17.23 ID:???
>>79
FWとかテンプレ使うのが普通だろうけど、自力でガリガリやるのも構わない。
ログインの有無で完全に異なる内容を表示するならそれもアリだけど、
通常はヘッダーとかフッターとか共通する部分があるからそれは別にしておく。
titleタグだけを変更する程度ならそこだけを変えればすむ。

<?php
if(ログインチェック){
//ログインあり
$title="ログインあり";
}else{
//ログインなし
$title="ログインなし";
}
?>
<html>
<head>
<title><?php echo $title?></title>
</head>
<body>
・・・
9073:2011/07/31(日) 04:40:43.00 ID:i4SK/hK9
返信遅れてすみません。

>>81
>>82ではありませんが、だいたい代弁としてはあってます。

>>83
本当困ってます。色々面倒だし大変ですよね。

>>84
詳細ありがとうございます。
1はそのままだとShift_JISなので変換してから格納しています。
2は特に意識していませんが、updateやinsert時は変換していると思います。
(ロジック書いたのはだいぶ前なので見てみないとわかりません。現物は今ないです。)
3はそのまま出力するとマルチバイト文字だと文字化けするので変換してます。
1バイト文字は変換しなくても文字化けはしないようです。

>絶対に1バイト文字以外混入しません、混入しても問題ありません、
>何かあったら責任取りますと上司を説得できればやらずに済むよ
何かあるんですかね?何かあるのか知りたいです。
とりあえずint型カラムは混入されないのを保証されてるので大丈夫そうですかね?
char型は今は全部やってます。
timestamp型も今はやってますが、これはどうなんでしょうね。

文字コード関連に詳しそうなスレ探してそっちで文字コードに関すること聞いてみます。
9173:2011/07/31(日) 04:45:19.99 ID:???
マルチになるので質問閉じます。
ありがとうございました。
92nobodyさん:2011/07/31(日) 14:12:55.42 ID:???
>2は特に意識していませんが、updateやinsert時は変換していると思います。
>(ロジック書いたのはだいぶ前なので見てみないとわかりません。現物は今ないです。)
確実に前スレのアホだろ
93nobodyさん:2011/07/31(日) 14:15:14.43 ID:???
見えない敵とは過疎スレで戦ってね
94nobodyさん:2011/07/31(日) 14:16:40.86 ID:???
過疎スレのココにそんな頻繁に別のアホが来るかよw
95nobodyさん:2011/07/31(日) 14:39:39.15 ID:???
別に何度きて何度聞いてもいいじゃないか
くだらんわ
96nobodyさん:2011/07/31(日) 14:52:47.16 ID:???
普通の人ならな
97nobodyさん:2011/07/31(日) 19:47:30.57 ID:???
まったりまったり
温泉に浸ってる気分でのーんびりと
98nobodyさん:2011/07/31(日) 21:00:22.96 ID:???
温泉なんて何時間も入ってられルカぼけw
99nobodyさん:2011/07/31(日) 21:09:09.71 ID:???
お前はこのスレに何時間もいるのかよw
100nobodyさん:2011/07/31(日) 21:13:46.51 ID:???
俺風呂はシャワー10分、入浴5分ぐらい
温泉行ったらぬるーい露天風呂に友人と30分ぐらい使ってる
101nobodyさん:2011/07/31(日) 21:43:52.43 ID:???
昔親から隠れてゲームするために、何時間も風呂に入ってたことあったな〜
102nobodyさん:2011/07/31(日) 21:55:42.22 ID:???
お風呂入ると気持ちよくなってオシッコ出ちゃうよね
103nobodyさん:2011/07/31(日) 23:31:59.71 ID:WZb+hQkO
【OS名】Mac OS X 10.4
【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】配列の中の最小値はmin()で取得できると思うのですが、
配列の中の最小値の添字番号を取得する方法はありますか?
104nobodyさん:2011/07/31(日) 23:32:28.94 ID:???
>>103
min(array_keys($array));
105nobodyさん:2011/07/31(日) 23:43:36.46 ID:+1qkyEQe
>>104
それは「配列の添字番号の最小値」じゃないか?
106nobodyさん:2011/08/01(月) 00:56:51.80 ID:???
>>103
<?php
$array = range(0, 10);
shuffle($array);
echo var_export($array, true), PHP_EOL;

echo array_search(min($array), $array), PHP_EOL; // 非破壊的
asort($array); echo key($array), PHP_EOL; // 破壊的
107nobodyさん:2011/08/01(月) 01:30:20.39 ID:???
お風呂入ると気持ちよくなってオ○ニーしちゃうよね
108nobodyさん:2011/08/01(月) 01:57:25.84 ID:r8kgX+8j
curl_multi_*のURL登録等の準備が完了し通信開始〜全ハンドル通信終了までの流れについてです
今まではcurl_multi_add_handleでハンドルをマルチハンドルに追加した後
do{curl_multi_exec($mh,$running);}while($running);で待っていればいいと思っていたのですが
公式見るとまるで違う処理をしていました
http://php.net/manual/ja/function.curl-multi-exec.php の例の// ハンドルを実行します〜// ハンドルを閉じますまで

curl_multi_execの戻り値のCURLM_CALL_MULTI_PERFORMや
何故一度目のwhileが終わった後二重のwhileをしているのか
どのタイミングでどこに処理が行っているのかがまるで読めません

定義済み定数のページを見ても(英語版にも)CURLM_CALL_MULTI_PERFORMやCURLM_OKが
具体的にどのような状態を表すのかが読み取れませんでした。というか書いてありませんでした
http://www.php.net/manual/ja/curl.constants.php

そして検索しても、このサンプルを丸コピしているサンプルサイトしか引っかかりませんでした。

// ハンドルを実行します
01:do{
02: $mrc = curl_multi_exec($mh, $active);
03:}while($mrc == CURLM_CALL_MULTI_PERFORM);
04:while($active && $mrc == CURLM_OK) {
05: if(curl_multi_select($mh) != -1) {
06:  do{
07:   $mrc = curl_multi_exec($mh, $active);
08:  } while ($mrc == CURLM_CALL_MULTI_PERFORM);
09: }
10:}
この各行がどのような流れで処理されるのかの解説をお願いできますでしょうか
特に3行目、4行目、8行目のループが何を待っているのか、5行目のifは何を分岐しているのか・・・
109nobodyさん:2011/08/01(月) 02:08:55.98 ID:???
110nobodyさん:2011/08/01(月) 03:51:04.53 ID:2XW3ucDq
curlでpostした場合、自分でContent-lengthを付けなくても勝手に付きますよね?
111nobodyさん:2011/08/01(月) 03:55:43.58 ID:???
>>110
試せばわかるだろ
112nobodyさん:2011/08/01(月) 04:15:13.94 ID:???
>>110
付かないとHTTP通信が成り立たないから付く
113nobodyさん:2011/08/01(月) 05:13:48.22 ID:???
>>108
PHPのソースとcURLのAPIを読んだ方がいい
ざっと読んだがこんな感じじゃないだろうか

1-3: 通信準備
4: 前回の curl_multi_exec() の結果が正常、かつ実行中のハンドル数が1以上なら
5: 読み込みの準備が完了まで無限ループ
6-8: 読み込み実行、終わったら4に戻る
114nobodyさん:2011/08/01(月) 09:29:12.01 ID:Nj6qDJQl
アップロードされた画像を
$binary = fread(fopen($_FILES['upfile']['tmp_name'], "r"), filesize($_FILES['upfile']['tmp_name']));
$file = base64_encode($binary)
とエンコードをしてMySQLに保存するコードを作りました

この画像を今まで表示させるのに
<?php
header("Content-type: image/png");
echo = base64_decode("mysql出力");
?>
とやってたのですが訳あって"./img/img_user/".$user_name."png"
という風にMySQLとは別にサーバーに保存しようと思ってるのですが
move_uploaded_fileなどを使って「デコードされた文字列をpngとして名前を付けて保存する」やり方に悩まされています
もし解決方法があったらお願いします
115nobodyさん:2011/08/01(月) 09:36:17.53 ID:???
$fileを保存すればいいんじゃねーの
デコードする意味が俺には分からんけど。
116nobodyさん:2011/08/01(月) 09:52:02.44 ID:???
> 訳あって
ってあるから訳があるんじゃねーの?
画像うpろだみたいに引き出す時だけ一定時間保存するとか
117nobodyさん:2011/08/01(月) 10:37:51.60 ID:???
そりゃ訳があるなら訳がある訳で
118nobodyさん:2011/08/01(月) 10:50:47.70 ID:???
何で悩んでるのかがわからん
こうしたいけど、こうなってしまう、とか事例無いかね
119114:2011/08/01(月) 11:16:15.45 ID:Nj6qDJQl
すみません、自分なりに
$hoge = base64_decode("mysql出力(例:R0lGODlhAQAAAAAALAAABAAEAAAICRAEAOw==)");
$user_name = "hoge122";
if(move_uploaded_file($hoge, "./img/img_user/".$user_name.".png")) {
echo "画像を復帰させました。";
}
とやってみたりしたんですがどうもうまくいかず
デコードされた文字列をpngとして名前を付けて保存するやり方はどの本に載ってなかったので
120nobodyさん:2011/08/01(月) 11:32:50.99 ID:???
fread使ってるみたいだし、普通にfwrite()じゃだめかね?
121nobodyさん:2011/08/01(月) 12:32:10.24 ID:???
質問です
$str = "あ";
$str = mb_convert_encoding($str, 'HTML-ENTITIES', 'UTF-8');

としても期待通りの結果を得る事ができません。
期待は$amp;#12354;ですが「あ」が得られます。

おそらくphp.iniのを見直す必要があると思うのですが、それを含めどうすれば期待通り得れる様になるのでしょうか?

PHP5.3.6です。
122nobodyさん:2011/08/01(月) 12:32:51.00 ID:???
誤)期待は$amp;#12354;ですが「あ」が得られます。
正)期待は?ですが「あ」が得られます。
123nobodyさん:2011/08/01(月) 12:34:36.65 ID:???
アンドが出ないようで。
124nobodyさん:2011/08/01(月) 12:38:31.95 ID:???
IDも出ないようで
125nobodyさん:2011/08/01(月) 12:54:57.17 ID:???
&
126nobodyさん:2011/08/01(月) 13:04:00.34 ID:???
>>119
move_uploaded_fileでファイルを移そうとするからだめなんじゃ?
127114:2011/08/01(月) 13:13:31.94 ID:Nj6qDJQl
>>120>>126
出来ました!ありがとうございます!!
何日間も悩んでたんですが、こんな簡単なことだったとは
ここに来て正解でした。本当にありがとうございます!!
128nobodyさん:2011/08/01(月) 22:17:14.90 ID:7/D+jIWO
くだらねえ、というか変な質問なんですが、PHPで作られてるゲームを教えてもらえませんか。
ちょっと仕事でそう言うのに関わりそうなんでどうゆうのがあるのかイメージだけでも掴んでおきたいんですわ
個人でも企業でも構わないです
129103:2011/08/01(月) 22:22:55.11 ID:WocIZ6af
>>106
ありがとうございました!
130nobodyさん:2011/08/01(月) 22:24:10.13 ID:WocIZ6af
最小値はmin関数で取り出せますが、
2番目に小さい値を取り出すにはどうしたらいいでしょうか?
131nobodyさん:2011/08/01(月) 22:53:39.03 ID:???
PHPでゲームとな?
グーって送信したら「負けました」って返ってくるようなのとかしか思いつかん
132nobodyさん:2011/08/01(月) 23:08:24.46 ID:???
結局はそれの応用だろ
133nobodyさん:2011/08/01(月) 23:08:39.50 ID:???
ブラウザ三国志ってPHPじゃなかったかな
134nobodyさん:2011/08/01(月) 23:11:25.13 ID:???
ブラウザゲーム PHPでぐぐれ
135nobodyさん:2011/08/01(月) 23:12:54.63 ID:???
>>130
ソートすれば何番目でも取り出し放題
136nobodyさん:2011/08/01(月) 23:14:11.90 ID:???
>>130
<?php
$array = range(0, 10);
shuffle($array);
echo var_export($array, true), PHP_EOL;

$values = array_values($array);
$keys = array_keys($array);
array_multisort($values, SORT_DESC, SORT_NUMERIC, $keys);
echo implode(' > ', $keys), PHP_EOL;
137nobodyさん:2011/08/01(月) 23:17:21.62 ID:???
PHPでゲーム作ったとしてもゲームってよべる代物じゃないんじゃね?
送信→結果返ってくる→送信って物凄い退屈になりそうだ
ドラクエの動作する度に読み込みしなきゃならんという
138nobodyさん:2011/08/01(月) 23:19:07.16 ID:???
>>137
いつの時代のゲームだよ。
PHP+JavaScriptで結構いい感じのができるよ。
139nobodyさん:2011/08/02(火) 00:38:18.62 ID:HmxmiA4/
クラス内の関数をcall_user_funcで呼ぶにはどう指定したらいいでしょうか?
call_user_func($this->'hoge'); // ?

private function hoge()
{

}
140nobodyさん:2011/08/02(火) 00:39:56.79 ID:???
PHP+AJAXを利用してチャットの仕組みを応用すれば、
それほど難しくないでしょ。
141nobodyさん:2011/08/02(火) 00:42:42.94 ID:???
>>139
http://php.net/manual/ja/function.call-user-func.php
>さらに、オブジェクトのインスタンスのクラスメソッドをコールするには、 array($objectinstance, $methodname) をこのパラメータに渡します。
書いてあるまんま

privateを呼ぶならリフレクション使わないと無理だと思うよ
142nobodyさん:2011/08/02(火) 00:45:02.22 ID:???
143nobodyさん:2011/08/02(火) 00:50:29.97 ID:HmxmiA4/
>>141-142
ありがとうこざいますm(__)m
144nobodyさん:2011/08/02(火) 01:15:53.15 ID:???
call_user_funcを使うのは設計が悪い証拠
145nobodyさん:2011/08/02(火) 01:21:48.12 ID:???
>>144
禿同
146nobodyさん:2011/08/02(火) 04:13:18.97 ID:???

$matches = array();
preg_match($regex, $url, $matches);

最初の初期化って必要?
147nobodyさん:2011/08/02(火) 04:20:20.72 ID:???
上書きされるので必要ない
148nobodyさん:2011/08/02(火) 05:57:50.94 ID:pX4Rbkp4
前スレでSMTP認証ができずメール送れないって書き込んんだのですが、
mb_send_mailをsendmailまねーるでSMTP認証すると送れました。
質問します。画像やpdfを添付ってどうやってやるのですか?
149nobodyさん:2011/08/02(火) 09:08:19.40 ID:???
sendmailまねーるって何だよ
PHPに関係あんのかそれ
150nobodyさん:2011/08/02(火) 09:12:30.68 ID:???
>>148
その時にされたレスにあるクラス使えば出来るよ
151nobodyさん:2011/08/02(火) 18:18:20.03 ID:pX4Rbkp4
>>149
sendまね〜る(sendmane.exe)の使い方
http://homepage1.nifty.com/yito/anhttpd/faq/sendmane.html
>>150
やってみます

152nobodyさん:2011/08/02(火) 21:10:35.32 ID:???
てst
153nobodyさん:2011/08/02(火) 21:11:39.21 ID:???
sendmailまねーるは使うな
どうしてもWindowsでやりたいならxmailにしろ
154nobodyさん:2011/08/02(火) 23:07:29.75 ID:pX4Rbkp4
>>153
sendまね〜るを非推奨は何か理由があるのですか?
155nobodyさん:2011/08/02(火) 23:47:13.83 ID:???
sendmailまねーるって何だよ
PHPに関係あんのかそれ
156nobodyさん:2011/08/02(火) 23:48:59.76 ID:???
またいつものどっかの記事を鵜呑みにしちゃった使うな厨か
157nobodyさん:2011/08/03(水) 00:51:46.47 ID:???
そんなに使いたいなら使えばいい
158nobodyさん:2011/08/03(水) 01:59:01.60 ID:???
PHPは使うな
どうしてもWindowsでやりたいならAjaxにしろ
159nobodyさん:2011/08/03(水) 10:48:11.05 ID:???
PEAR入れりゃ済むことをわざわざ別の何かを入れるのは
どうなんだ。それが本当に必要ならともかく、
よくわかってないから入れてみました、じゃあなあ
160nobodyさん:2011/08/03(水) 10:51:49.49 ID:???
解決方法は別になんでも良いだろ
回答もらっておきながら結果なりを報告せずに別の質問しに来るあたりクズだと思うけど
161nobodyさん:2011/08/03(水) 12:15:08.13 ID:???
なんでこんなスレにいちいち報告に来なきゃならないんだ
お前はお礼を言ってもらいたくて回答してんのか
162nobodyさん:2011/08/03(水) 12:16:18.34 ID:???
「〜は使うな
どうしても〜で使いたいなら〜にしろ」
はコピペか
163nobodyさん:2011/08/03(水) 12:19:36.66 ID:???
なんでこんなスレにいちいち回答しなくちゃならないんだ
おまえは回答が欲しくて質問してんのか
164nobodyさん:2011/08/03(水) 12:26:57.45 ID:???
>>161
そんな風だからお前はこのスレでしか質問させてもらえないんだよ?
165nobodyさん:2011/08/03(水) 12:47:56.43 ID:???
まあどうせパスが通って無くてインストールできなかったんだろうけど
その程度の事もわからなくて見当違いの方向に進んで
見当違いの質問をするやつもどうかと
166nobodyさん:2011/08/03(水) 17:21:28.04 ID:???
>>164
このスレだけで質問できれば充分なんだけど?
167nobodyさん:2011/08/03(水) 17:23:13.01 ID:???
PEARの使い方わからないからってそんなイライラすんなよ
168nobodyさん:2011/08/03(水) 17:33:34.82 ID:???
>>160
同意
169nobodyさん:2011/08/03(水) 18:55:00.77 ID:???
>>161
同意
170nobodyさん:2011/08/03(水) 21:30:38.04 ID:???
>>168
不同意
171nobodyさん:2011/08/03(水) 23:48:52.38 ID:???
不同意ね…
172nobodyさん:2011/08/04(木) 05:35:26.09 ID:lnwKvGgA
なんかまともに機能してないのかこのスレ
173nobodyさん:2011/08/04(木) 08:51:10.70 ID:???
粘着君が荒らしてるようだな
174nobodyさん:2011/08/04(木) 09:03:04.88 ID:???
まともな質問者にはまともな回答がついてるじゃない
175nobodyさん:2011/08/04(木) 10:24:57.92 ID:x+2SSW45
配列の初期化について教えて下さい。

error_reporting(E_ALL);
$a = array();
for($i=0;$i<=10;$i++) {
print "a($i) = $a[$i]\n";
}

上記のようなスクリプトを書くと、
Notice: Undefined offset: 0 in /home/name/tmp/a.php on line 5
a(0) =

Notice: Undefined offset: 10 in /home/name/tmp/a.php on line 5
a(10) =
という警告が出ます。

$配列=array(); で、空の配列で初期化できるとググって調べたサイトには
書かれてるのですが、これは正しいのでしょうか?
ちなみに $a = array(); を$a = NULL; で置き換えると警告が出ず、意図した通り動作します。
どちらが正しいのでしょうか?
176nobodyさん:2011/08/04(木) 10:44:12.39 ID:???
>>175
$a[0] や $a[10] は初期化されてないでしょ?
177nobodyさん:2011/08/04(木) 10:48:58.81 ID:???
>>175
> $a = NULL; で置き換えると警告が出ず、意図した通り動作します

意図したとおりに動作するならそれでいいじゃん
178nobodyさん:2011/08/04(木) 10:53:32.66 ID:???
揚げ足取りはスルーしてね
179nobodyさん:2011/08/04(木) 10:59:25.37 ID:???
空の配列へ初期化ですから Notice: Undefined offsetが出るのが正しいですよね?。
nullの場合は nullへの配列アクセスがnull返してるだけですので、意味が違います。
どちらが正しいということではありません。

180175:2011/08/04(木) 11:21:24.21 ID:???
>>176
>>178-179

回答ありがとうございます。
array()で「未定義の状態に」初期化されるということだったんですね。

借りてるサーバーでphp.iniの設定が変わったのか、やたらこの警告が
出るようになったので、error_reporting等でエラー制御してもいいんですが、
放置しておくのも気持ち悪いので、配列を空白または0として認識するよう初期化する
方法を検証してたんですよね。
配列のサイズは可変なので、array_fill等を使わずに検証してますが、
>>179さんの説明見る限りでは、= NULL; では意図した初期化になってない気がしますね。
181nobodyさん:2011/08/04(木) 11:31:18.07 ID:???
気持ち悪いのなら、その部分を直すべき。
print "a($i) = ". (isset($a[$i])?:"") ."\n"; とか
182nobodyさん:2011/08/04(木) 11:34:10.08 ID:???
クラスにしちゃうのも良いかもね
183nobodyさん:2011/08/04(木) 11:35:39.13 ID:???
なんでもかんでもクラスといえばいいと思ってんの?
184nobodyさん:2011/08/04(木) 11:38:25.15 ID:???
そうだねAjaxだね
185nobodyさん:2011/08/04(木) 12:42:21.82 ID:???
自分も日曜鯖管・プログラマーで、Noticeエラーで悩まされて
error_reportingでとりあえず対処してる。
PHPで食べてるプロの方々は、どう対処してるんでしょ?
鯖の設定もクライアントによって様々だろうし・・・
error_reporting(1)にしてるけど、問題ないのか自分としても自信がないし
186nobodyさん:2011/08/04(木) 12:44:08.88 ID:???
Noticeの対処するだけ。
とりあえずって自分で言ってるから、分かってるんだとは思うけど。
187175:2011/08/04(木) 13:20:29.10 ID:???
>>181

うーん。サイズが可変である以上は、やはりスクリプト中で毎回
変数をチェックするしかないですかね。

>>182
クラスでできるもんなんですか?

>>185
私も同じです。
error_reportingでの対処で問題ないか自信がないので初期化を検討してます。
188nobodyさん:2011/08/04(木) 13:28:13.82 ID:???
少なくとも今からコード書くんであればerror_reportingで対処するのはどうかと思う
189nobodyさん:2011/08/04(木) 13:28:17.87 ID:???
Noticeなら別にerror_reportingでも問題はない
190nobodyさん:2011/08/04(木) 13:39:30.10 ID:???
>>187
http://php.net/manual/ja/class.arrayaccess.php
この辺使えばできるんじゃない?使った事ないけど
191nobodyさん:2011/08/04(木) 13:41:46.56 ID:???
結局「Notice: Undefined offset」が出るようなプログラムに問題があるのは明らかだけど、
既存のプログラムを手直ししてられないならerror_reportingしかないんじゃない?
Noticeが出る場所が少ないんなら手直しすべきだなぁ
192nobodyさん:2011/08/04(木) 13:49:13.03 ID:???
開発以外でエラー表示してんの?
てか定数で指定しろよ
E_ERROR=1ってWARNINGまで抑制してるんじゃないの
193nobodyさん:2011/08/04(木) 13:54:00.62 ID:???
http://midilin.sakura.ne.jp/midilin/php/ppblog/?UID=1170059219
「また、PHPなどで、実行する場合は、SETと、本SQLの2本を同時実行できないっぽい・・」
とありますが出来る方法をご存知の方いらっしゃいましたら教えてください・・・
194nobodyさん:2011/08/04(木) 13:57:16.06 ID:???
195nobodyさん:2011/08/04(木) 14:11:49.21 ID:???
Noticeエラーについてググると、確かに出ないようにプログラムを組むべきとあるのですが、
方法論というか考え方がわかっていなくて・・・
>>175はエラーがでるのは明らかでわかるのですが、
たとえば条件分岐していて、値が入っている時と入っていない時がある場合に
issetで判定しようとするときにもでてたような記憶があるのですが、
そうした場合の初期化はあらかじめ全て0などの値をいれて初期化しておくべきなのでしょうか?
196nobodyさん:2011/08/04(木) 14:13:43.33 ID:???
試してから言えよ
197nobodyさん:2011/08/04(木) 14:18:13.81 ID:???
isset、is_null、array_key_exists辺りをよく読みなおした方が良い気がする
198175:2011/08/04(木) 15:05:45.99 ID:???
>>188-189,>>191

ありがとうございます。
一応、地道に警告出ないように書きなおします。

>>190

ありがとうございます。
こちらも試してみます。

>>195-197

試してみたところ、issetでは警告でないようですね。
is_nullでは警告が出ました。
199nobodyさん:2011/08/04(木) 19:14:55.20 ID:???
preg_replace ()の $pattern句は普通の正規表現は受付ないのか?
バカヤロー
200nobodyさん:2011/08/04(木) 19:21:22.05 ID:???
>>199
「普通の」の定義は何?
201nobodyさん:2011/08/04(木) 19:29:17.08 ID:???
>>199
POSIXじゃないってことか?これでも読め
http://www.php.net/manual/ja/pcre.pattern.php
202nobodyさん:2011/08/04(木) 21:09:11.26 ID:???
POSIXが通常だとでも思ってたんだろうか?w
203nobodyさん:2011/08/04(木) 23:49:49.51 ID:???
PHPをWindowsでやるメリットってなんかあるかな。
204nobodyさん:2011/08/04(木) 23:59:19.75 ID:???
>>203
・Windows PCしか持っていない
・Linuxを知らない、覚える気が無い
こういう人でもPHPを利用できるということだろう
そもそもOSに依存しないのが理想的とも言える
205nobodyさん:2011/08/05(金) 00:05:56.98 ID:???
逆にPHPをLinuxでやるメリットってあるのかな?
206nobodyさん:2011/08/05(金) 00:30:42.60 ID:???
>>205
・Linux PCしか持っていない
・Windowsを知らない、覚える気が無い
・複数台のPCに入れるWindowsの金がない > 俺
こういう人でもPHPを利用できるということだろう
207nobodyさん:2011/08/05(金) 01:10:24.19 ID:???
ちょっとアレなんだがPCの仮想化ってのはみんなしないもんなの?
208nobodyさん:2011/08/05(金) 01:52:58.08 ID:i/Iug6bT
WinXp、PHP5.2、Operaで
echo preg_replace("/([も])/","$1あ","まみむめも");
とすると「?あ???あ???あ?あ??あ?あ??あ?あ?あ」と出ました。

「まみむめもあ」に置き換えるつもりですが、どうしてこうなるのでしょう?
簡単なことかもしれませんが調べても分かりません。
209nobodyさん:2011/08/05(金) 01:53:37.67 ID:???
ここのみなさん優秀そうだけど、元々他の言語とかでプログラミングしてたの?
phpを最初に勉強するとき参考にしたサイトとか
あれば教えて下さい。公式マニュアルサイト以外で
210nobodyさん:2011/08/05(金) 01:55:06.64 ID:???
>>209
「PHP 入門」でぐぐれ
プログラムが初めてならプログラムでぐぐれ
あとはPHPの絵本やCの絵本読め
211nobodyさん:2011/08/05(金) 02:09:31.47 ID:???
>>210
ググッてきました、リファレンス本買わなくてもいいくらい
解説サイトありますね。自分がわかりやすいところ使います

PHPの絵本はわかるけど、何故にCの絵本まで
読む必要があるのでしょうか?
参考書は最低1冊は必要なのかな
212nobodyさん:2011/08/05(金) 02:46:50.50 ID:???
うん、初心者ということで大目に見ていたけど、まずはスレタイと>>1を読もうな
213nobodyさん:2011/08/05(金) 03:37:14.74 ID:???
>>211
「PHPマニュアル」という本家の解説本がネット上にあるぞ。

多くのスクリプト言語(perl,PHP,ruby,Python等)の書式や制御式はCをルーツとしているから言ってるのじゃないか。
しかし、英語のルーツがラテン語だからといって、ラテン語を知る必要はないわな。
214nobodyさん:2011/08/05(金) 04:03:35.52 ID:???
>>211
超初歩の段階を最も丁寧に教えているのは、C関連の書籍に多い。
他の言語は、超初歩の段階は知ってて当然だろw ばーかw だったり、
酷いものになると、Cの基礎を知っている前提で書かれていたりする。
215nobodyさん:2011/08/05(金) 05:33:01.90 ID:???
PHPからシェルスクリプトを実行したいのですが
想定通りの動作をしません。

PHPスクリプトindex.phpとシェルスクリプトtest.shは同じディレクトリ内
に配置しており、
index.phpには以下のように記述してあります。
<?php
$cmd = "./test.sh";
$ret = shell_exec( escapeshellcmd($cmd) );
print $ret;
?>

test.shには以下のように記述してあり、アクセス権限は711になっています。
#!/bin/bash
echo "AAA"


上記がうまく行かなかったので
C++で生成した以下のようなプログラムをindex.htmlと同じディレクトリに配置し、
test.shと同じ方法でPHPから実行したら、想定通りにBBBが出力されました。
#include <iostream>
using namespace std;

int main( )
{
cout << "BBB" << endl;
}


問題点はどこでしょうか?
よろしくお願いいたします。
PHPのバージョンは 5.1.6 です。
216215:2011/08/05(金) 05:50:50.80 ID:???
>>215
肝心なことを書き忘れていました。
「index.phpからtest.shを実行しても、AAAが表示されない」
というのが現在の問題点です。

シェルスクリプトもC++も同じように標準出力に出力しているのに
違いが出てしまうので困惑しています。
217nobodyさん:2011/08/05(金) 07:32:46.91 ID:bQIZhMIz
http://blogs.yahoo.co.jp/nonpipo/3382183.html
↑のように、設定して
DB側の構造はutf8_general_ciにしてるんですが、
phpファイルで呼んだときに
一部日本語の文字が化けてしまいます。
おおまかな原因がありそうだったら教えてもらえますか?
文字化けも
ほむらちゃ→ほ(読み込めない文字)?らち
みたく、一部が見れるんですよね... こういう文字化けの仕方は経験が
無かったので、質問させていただきました
218nobodyさん:2011/08/05(金) 07:40:59.16 ID:???
219nobodyさん:2011/08/05(金) 09:06:24.32 ID:???
>>217
原因絞り込む為にとりあえずhttp_outputをpassとかにしてみたらば?
220nobodyさん:2011/08/05(金) 09:52:41.07 ID:bQIZhMIz
>>219さんレスありがとう
モバイル対応にスクリプトを弄っていて
絵文字対策の部分でSJISコードがあったのを見落としていました。
解決です
221nobodyさん:2011/08/05(金) 15:02:26.75 ID:???
????●
222nobodyさん:2011/08/05(金) 18:02:05.75 ID:kOt9+/Uj
WindowsXP PHP5.3 SQLiteをPDOを使って操作しています。
コーディングミスで、
トランザクション中に無限ループしてしまいました。
それ以降select文以外のいかなる動作も受け付けなくなってしまったのですが、
どうしたらいいでしょうか?
updateやinsertを行うとmax_execution_timeの60秒まで砂時計が回っています。
223nobodyさん:2011/08/05(金) 18:22:24.61 ID:???
>>222
砂時計を止める
224222:2011/08/05(金) 18:57:24.85 ID:kOt9+/Uj
Apacheを再起動したら解放されました。
そしてもう1度実行してみたら正常に実行されました。
無限ループにはなっていなかったようです。
一体なんだったんでしょう・・・
225222:2011/08/05(金) 19:04:32.45 ID:kOt9+/Uj
すみません。原因はコード戻していったところわかりました。
PDOStatement::executeメソッドをexecとしてトランザクション中に実行してそんなメソッドないとFetal Errorが出てました。
どっちみちエラーでトランザクションを正常終了できなかったために起きた現象のようですが、
Apache再起動以外に何か解決方法はあるのでしょうか?
詳しい方教えてください。
226nobodyさん:2011/08/05(金) 19:13:46.02 ID:???
なんか書き込めない
227nobodyさん:2011/08/05(金) 19:16:05.07 ID:???
***.php?url=
g4z5s4m453w2p22636r4r2n4x5j4u5e5l5k4l414l4r5f4r5m274s5v5w2o5q
5i4d43466r5q3t4t483y224v3e484r47404q4d4h4f406

http://とあるサイトのドメイン.com/ から始まるURLなんですけど
何形式の暗号かわかりますか?
今までbase64だったんですが変えたみたいで・・
228nobodyさん:2011/08/05(金) 19:16:32.52 ID:hKMJhK9s
ID忘れました
すみません。。
229nobodyさん:2011/08/05(金) 19:52:35.53 ID:???
>>225
デッドロックは書いたコードに原因がある可能性が高いので
それを出さなきゃ誰も答えられない

> PDOStatement::executeメソッドをexecとしてトランザクション中に実行してそんなメソッドないとFetal Errorが出てました。
PDO#query辺りでfalseが返ってきてるんだろうが
そこは自分でチェックしなさいよって話
http://www.php.net/manual/ja/pdo.error-handling.php

>>228
スレ違い
230222:2011/08/05(金) 20:24:33.75 ID:kOt9+/Uj
>>229
try {
$db = new PDO('sqlite:test.db');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare('insert into hoge (foo, bar) values (?, ?)');
$stmt->exec(array('aaa', 'bbb'));
$db->commit();
} catch (PDOException $e) {
$db->rollBack();
}

$stmt->execute();と書くべきところを、
$stmt->exec();という存在しないメソッドを呼び出すことにより、fetal errorが出ます。
ちなみにsetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
を指定してるにもかかわらず例外ブロックには行きませんでした。
これによりロールバックが出来ないため正常な終了ができないということだと思います。
231nobodyさん:2011/08/05(金) 20:31:48.81 ID:???
>>225
try catchしなよ。
DB操作に失敗したときの処理を入れとかないと、アクセス過多な時サーバー道連れになっちゃうよ!
232nobodyさん:2011/08/05(金) 20:32:30.87 ID:???
してるじゃん
233222:2011/08/05(金) 20:44:04.36 ID:kOt9+/Uj
すみません。
stmt(文)にも設定しないとだめなんですね。
$stmt->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
としたところ$stmtでの例外も投げてくれるようになりました。
冗長な気がしますが、これからは文にも指定したいと思います。
234222:2011/08/05(金) 20:51:54.40 ID:kOt9+/Uj
すみません。ウソつきました。
$stmt->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
この文がだめで例外が出ていました。
ほんとすみません。
やっぱコーディングミスがないように気をつけなければならないようですね。
SQLiteのデッドロック情報少なくてどうしたらいいのか・・・
235nobodyさん:2011/08/05(金) 21:58:34.95 ID:???
確かに初歩の本はCが・・というか、基本情報とか大学の授業とかで最初の言語のお勉強はたぶんCなんだろな。
俺はBasicだったけどな!

86C試食版?とか言うのはやったことがある。
つか、Cが一番概念がわかりやすいというか、とりあえず何にもわからなくても何とか動いちゃうPHPよりは
後々のことを考えたらよいんじゃないかなあと。
236nobodyさん:2011/08/05(金) 22:24:12.31 ID:???
↓こんな感じでinclude_pathをプログラム中で追加しようとしているんですができません。

$include_path = ini_get('include_path');
$include_path .= PATH_SEPARATOR . realpath('../lib');
echo $include_path;
echo '<hr>';
ini_set($include_path);
echo ini_get('include_path');

ちなみに環境はPHP5.3.6のPHP-FPMです。
動的に追加しようとしているのは、php.iniで変更しても反映されないからです。
PHP-FPMに何か設定がありますか?
237nobodyさん:2011/08/05(金) 22:26:21.15 ID:???
あ、すいません。
ソースを間違えてました。

ini_set('include_path',$include_path);
238nobodyさん:2011/08/05(金) 22:26:43.00 ID:???
しかもID出してなかったっす。すいません。
239nobodyさん:2011/08/05(金) 22:29:01.75 ID:???
>>236
realpathを使わずにフルパスを自分で書いてみる
それで思い通りに動いたならrealpathのマニュアルを熟読
240nobodyさん:2011/08/05(金) 22:33:20.85 ID:???
オブジェクト指向で書けないPGはゴミですか?
何でもincludeしてるんですが
241nobodyさん:2011/08/05(金) 22:33:56.92 ID:???
ID出さない質問者はクズだけど?
242nobodyさん:2011/08/05(金) 22:34:54.27 ID:???
顔を真っ赤にしての即レスお疲れ様です
243240:2011/08/05(金) 22:37:14.39 ID:???
自己解決したのでもういいです
244241:2011/08/05(金) 22:38:43.86 ID:???
ごめんなさい、俺が悪かったです
245242:2011/08/05(金) 22:40:16.29 ID:???
はぁ?くそが氏ねよ
246nobodyさん:2011/08/05(金) 22:40:28.43 ID:???
includeとオブジェクト指向が関係あると思ってるバカはGを名乗る資格のないゴミ野郎なのは確かですね
247nobodyさん:2011/08/05(金) 22:42:42.38 ID:???
はあ?フレームワーク使ったことないだろお前
248nobodyさん:2011/08/05(金) 22:42:46.90 ID:???
オブジェクト指向しかないと思ってる点もクズとしてふさわしい点だね
249nobodyさん:2011/08/05(金) 22:45:14.40 ID:???
PHPでオブジェクト指向笑(
250nobodyさん:2011/08/05(金) 22:46:28.42 ID:???
Javaのimportを否定するようなもんだな
251nobodyさん:2011/08/05(金) 22:50:58.20 ID:???
テンプレート言語なのにSmarty使ってるバカみたいなもんだな
252nobodyさん:2011/08/05(金) 22:53:42.60 ID:???
MVCモデルとか恥ずかしいよな
253nobodyさん:2011/08/05(金) 22:56:07.24 ID:???
230をくだらん話で流すなよ
254nobodyさん:2011/08/05(金) 22:56:12.88 ID:???
テンプレート言語じゃねぇしw
255nobodyさん:2011/08/05(金) 22:59:19.86 ID:+OkG+2Fo
画像のアップロードの処理を作ってるんですがうまくいきません
move_uploaded_file($_FILES['eventPic1']['tmp_name'], $eventPic_keep1); に対して
failed to open stream: No such file or directory といわれるわけですが、

var_dump($_FILES['eventPic1']);すると以下のようになり、tmp_nameはあるのではと思います
array(5) { ["name"]=> string(12) "kangaroo.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpplztTz"
["error"]=> int(0) ["size"]=> int(65553) }

でも、実際にサーバで ls -la /tmpをすると以下のようなファイルは見つかります。
-rw------- 1 apache apache 11312 8月 5 22:48 sess_c9qn85ga588h2s0la6u04vl2d0
※処理の時間のタイムスタンプをもつファイルはこれだけです

どういうことなんでしょうか?
本来なら ls -la /tmp で /tmp/phpplztTzが見つからないといけないんですよね?
256nobodyさん:2011/08/05(金) 23:00:21.33 ID:???
PHPはプログラム言語ではなく、HTMLテンプレート言語である。
そしてそのテンプレート言語に思いつく限りの魅力的な機能を盛りに盛った言語であるということ。
これはPHPの出自を思い返せば納得のいく話。

にもかかわらず、PHPは5になってオブジェクト指向のための構文まで備えちゃったそうですね。
そして、もはやPHPはプログラム言語らしさを持ってしまった。
他の言語でできることの多くもPHPでできちゃうようになっちゃいました。

結構なことです。僕もたまに電子レンジで洗濯もできればいいのになんて考えることがあります。
ついでにこたつ代わりにもなってくれればそれに越したことはない。

でもきっと電子レンジで洗濯ができないのには理由があると思います。僕は高校で物理学が得意
じゃなかったのでよくわからないですが、きっと水道をつなぐ穴がないからとか、そういう理由だと
思います。

それでもいろんな機能を盛り込んだ電子レンジ、じゃなくてPHPは、ここにきて本来の目的を見失
っている気がします。それもPHP自身さえも自分が何者であるかわからなくなるほどに。
257nobodyさん:2011/08/05(金) 23:03:24.36 ID:???
258nobodyさん:2011/08/06(土) 00:11:36.41 ID:???
>>230
例外やFATALエラーも関係ない
PDOオブジェクトが破棄される時点で
sqlite3_close()が呼び出されるのでデッドロックになりようがないと思うんだけどな
http://www.sqlite.org/c3ref/close.html
> If sqlite3_close() is invoked while a transaction is open, the transaction is automatically rolled back.
今度デッドロックが発生したら *.sqlite-journal ファイルが残ってないか、
残っていたらどのプロセスが開いているか確認してみたら?

>>255
$eventPic_keep1 のディレクトリは存在する?ファイルは書き込める?
259255:2011/08/06(土) 00:45:35.45 ID:???
>>258
アドバイスありがとうございます
ウッカリしてました、パーミッションが書き込み禁止になってました
ファイルでなくてディレクトリ側の問題とは… 以後注意します。ありがとうございました
260227:2011/08/06(土) 02:42:32.61 ID:???
誰か分かりませんか?
phpで使える可逆暗号だと思えんですが
261nobodyさん:2011/08/06(土) 03:15:41.34 ID:???
スレタイが読めませんか?
262nobodyさん:2011/08/06(土) 08:48:42.39 ID:???
↑の書込みを見て欲しい。
なんとつまらない書込みだろうか。
義務教育を終えていない小学生であったとしても
多少のヒネリを加えて書き込む事は容易いはずである。
しかしこの書込み内容からはその形跡は微塵も感じられない。

彼の脳に重大な障害が発生している事は誰の目にも明らかだろう。
恐らく彼は経済的な事情で十分な治療を受ける事が困難な状況に陥っているに違いない。
この一見無意味としか思えない彼の書込みは、
現在の医療システムの見直しを訴えたメッセージなのではなかろうか。
263nobodyさん:2011/08/06(土) 09:13:45.97 ID:???
>260
いままでbase64でデコードした事もあるんなら、その暗号の元が何だったかわかるんでね?
暗号について少しでも学んだ事があるんなら分かるはずだが、元と暗号化された後のサンプルが無い事には特定できない。
264222:2011/08/06(土) 10:02:22.66 ID:JkSTeXHr
>>258
返信ありがとうございます。
再現してやってみたところやはりデッドロックっぽいことになっています。
デッドロックではないのかもしれませんが、select以外のクエリは受け付けません。

>>230でfatal errorを出した直後では*.sqlite-journalは存在しませんが、
同じデータベースで問題のないスクリプトからinsertやupdateをしようとすると、
*.sqlite-journalが作成され、max_execution_timeになったところで削除されます。
削除されたところで、insertやupdateを再び行うと同様の現象になります。
タイムアウトまで次の操作を受け付けず、次の操作を受け付けたところで、
タイムアウトまで何もしないためデッドロックっぽいことになっています。
Apacheを再起動したところで、ようやくinsertやupdateを受け付けてくれます。
265255:2011/08/06(土) 14:46:21.36 ID:Oz13PhNe
すみません、255なんですが、画像のアップローダを作っててまた問題が発生しました
処理はありきたりで、 アップロードフォーム>確認画面>登録・完了画面 という流れなんですが
確認画面でプレビューするとき元の画像が90度回転して表示されてしまいます

正確に流れを書くと
・確認画面で、画像がアップされたらtempディレクトリから保存用ディレクトリに移動(>>255で書いた処理:move_uploaded_file)
・その後、保存用ディレクトリに移動したファイルを引数にして 出力用.phpで出力
 <img src="imgoutput.php?file=*********.jpg" />という形
・出力用.phpは以下
<?php
$file= $_GET['file'];
header("Content-type: image/jpeg");
readfile($file);
?>

これをやったところ、元は縦長だった画像が横回転して横長画像として表示されてしまいます
何が原因でしょうか? 何度も質問してすみません
266255:2011/08/06(土) 14:51:45.80 ID:Oz13PhNe
すみません、書き忘れてました
<img>タグの中に入れずに、ブラウザで直接 http://******/imgoutput.php?file=******.jpg をURLとして開くと
正常に、縦長画像のまま表示されます
267nobodyさん:2011/08/06(土) 17:56:47.57 ID:???
>>265
長い。3行にまとめてくれ
268nobodyさん:2011/08/06(土) 18:14:44.06 ID:???
>>267
確認画面でプレビューするとき元の画像が90度回転して表示されてしまいます
元は縦長だった画像が横回転して横長画像として表示されてしまいます
何が原因でしょうか? 何度も質問してすみません
269nobodyさん:2011/08/06(土) 18:20:04.43 ID:???
>>264
*.sqlite-journal が削除されるのなら
リクエスト終了時にトランザクションも終了している訳だ
その問題のないスクリプトとやらも晒して貰えないだろうか
できれば再現する最小のコードで
270222:2011/08/06(土) 19:23:37.84 ID:DEQATyEe
>>269
返信ありがとうございます。
そしてすみませんでした。>>230は簡素化しすぎでした。
>>230の例だと問題ないことを確認しています。
実際のスクリプトは以下のようになっています。

1.まずDBを作ります a.php
<?php
$db = new PDO('sqlite:test.db');
$db->query('create table if not exists hoge (id integer not null primary key, foo text not null)');
?>

2.とりあえず中身を入れます b.php
<?php
$db = new PDO('sqlite:test.db');
for ($i = 0; $i < 100; $i++) {
$db->query('insert into hoge (foo) values ("aaa")');
}
?>

続く
271222:2011/08/06(土) 19:30:52.48 ID:DEQATyEe
3.fooカラムの前後に/を入れたものに更新するスクリプトでわざとエラーを起こさせます c.php
<?php
try {
$db = new PDO('sqlite:test.db');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$length = $db->query('select count(*) from hoge')->fetch(); //登録されてる件数を取得します
$offset = 0;
$db->beginTransaction(); //トランザクション開始
while ($length[0] > $offset) {
$sql = 'select id, foo from hoge limit 10 offset ' . $offset; //メモリを考慮して10件ずつ更新します
$stmt = $db->prepare('update hoge set foo = ? where id = ?');
foreach ($db->query($sql) as $row) {
$stmt->exec(array('/'.$row['foo'].'/', $row['id'])); //ここでわざとエラーしてます executeなら問題なく更新できます
}
$stmt = null;
$offset += 10;
}
$db->commit();
} catch (PDOException $e) {
try {
$db->rollBack();
} catch (PDOException $e) {
}
}
?>

4.2のb.phpを実行するとデッドロックっぽいことになってるのが確認できます。

こんな感じになります。最後のコードが長くなりすみません。
272nobodyさん:2011/08/06(土) 19:46:23.95 ID:???
>>268
ID
273nobodyさん:2011/08/06(土) 19:51:40.68 ID:???
>>271
primary重複してると思うが
274222:2011/08/06(土) 19:59:42.67 ID:DEQATyEe
>>273
primary keyのことですか?

>>270の一番最初のスクリプトを見てもらえばわかりますが、

create table if not exists hoge (
id integer not null primary key,
foo text not null
)

としてるので重複はしてないです。
他のことを言ってるのならすみません。
275nobodyさん:2011/08/06(土) 20:00:28.97 ID:???
>>265
Exif情報を消してみ
276222:2011/08/06(土) 20:00:56.10 ID:???
>>273
あ、すみません。意味がわかりました。
SQLiteではinteger型で主キーカラムはオートインクリメントになります。
277222:2011/08/06(土) 20:35:12.85 ID:DEQATyEe
>>271はややこしいので、さらに簡素化させて再現できました。
hello()は存在しない関数です。

try {
$db = new PDO('sqlite:test.db');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
foreach ($db->query('select * from hoge') as $row) {
hello();
}
$db->commit();
} catch (PDOException $e) {
try {
$db->rollBack();
} catch (PDOException $e) {
}
}

どうやら、foreachで取るところの中でエラーが起きるとまずいようです。
PDO::queryの例として紹介されてるやり方なんですが、なぜこんなことに・・・
http://www.php.net/manual/ja/pdo.query.php
278nobodyさん:2011/08/06(土) 20:43:13.64 ID:???
sqliteなんか使うな
279nobodyさん:2011/08/06(土) 20:52:04.75 ID:???
>>268
アップする画像を直接ブラウザで表示してみ
280269:2011/08/06(土) 21:29:46.39 ID:???
>>277
確かに PDOStatement を foreach でイテレートした時だけロックが開放されてないな
https://bugs.php.net/report.php から報告した方がいい

$con = new PDO('sqlite:test.db');
if (!$con->query("SELECT 1 FROM sqlite_master WHERE type='table' AND name='t'")->fetch()) {
    $con->query('CREATE TABLE t (c INT)');
}

$con->query('INSERT INTO t VALUES (1)');

foreach ($con->query('SELECT * FROM t LIMIT 1') as $row) {
    trigger_error('abort', E_USER_ERROR); # test.db not unlocking
}


バフフィックスされるまでの回避策は
foreach($result as $row) {
を止めて
foreach ($result->fetchAll() as $row) {
または
while ($row = $result->fetch()) {
スタイルを利用するぐらいか
281222:2011/08/06(土) 21:35:53.60 ID:DEQATyEe
>>280
ありがとうございます。
PHPのバグなんですかね?
英語苦手ですが頑張って報告してみます。

回避策も載せていただきありがとうございます。
早速適用したいと思います。
282nobodyさん:2011/08/06(土) 22:11:32.78 ID:???
存在しない関数は
catch (PDOException $e) {

}

でキャッチできますか?

283215:2011/08/06(土) 22:15:48.14 ID:1n84Kf7N
すみません215です。ID出し忘れていました。
よろしくお願いいたします。

PHPからシェルスクリプトを実行したいのですが
想定通りの動作をしません。

PHPスクリプトindex.phpとシェルスクリプトtest.shは同じディレクトリ内
に配置しており、index.phpには以下のように記述してあります。
<?php
$cmd = "./test.sh";
$ret = shell_exec( escapeshellcmd($cmd) );
print $ret;
?>

test.shには以下のように記述してあり、アクセス権限は711になっています。
#!/bin/bash
echo "AAA"

上記で、PHPでAAAと出力して欲しいのですが、出力されません。
検証のため、C++で生成した以下のようなプログラムをindex.phpと同じディレクトリに配置し、
test.shと同じ方法でPHPから実行したら、想定通りにBBBが出力されました。
#include <iostream>
using namespace std;

int main( )
{
cout << "BBB" << endl;
}


問題点はどこでしょうか?
PHPのバージョンは 5.1.6 です。
284nobodyさん:2011/08/06(土) 22:24:21.91 ID:???
>>283
test.shを直接実行した結果は?
アクセス権限を777にした場合は?
285nobodyさん:2011/08/06(土) 23:10:44.53 ID:saM8zRUn
簡易rssリーダーみたいなのつくりたくてsimplexmlでブログのrssとか取得したいんだけどさ
複数サイトの記事を更新順にソートしたかったからitemを全部配列にしてから表示するようにしたんだよ
で、個別記事の横に取得元サイトも表示しようと思ったんだけど
item以下から元サイトの名前とかトップページのURLとか持ってこれるところがないんだよ
考えられたのは個別記事URLのドメインから判別して表示とかしかなかったんだけど無駄に長くなりそうだし
なんかいい方法ないかな?

初心者過ぎてわからん
286nobodyさん:2011/08/06(土) 23:16:05.21 ID:???
>>285
お前は>>1を読み直すかこっちで聞け
http://hibari.2ch.net/test/read.cgi/php/1271172618/
287nobodyさん:2011/08/06(土) 23:24:05.81 ID:???
>>285
あるわけないだろ。
必要なのに長くなるのは無駄とは言わない。
そのままがんばれ。
288nobodyさん:2011/08/06(土) 23:24:47.79 ID:saM8zRUn
>>286
ありがとうそうする
289nobodyさん:2011/08/06(土) 23:25:20.21 ID:saM8zRUn
>>287
ありがとうそうする
290nobodyさん:2011/08/07(日) 04:02:21.87 ID:cdDi892z
やはりオブジェクト指向で書いてないコードを見ると心の中で馬鹿にしますか?
291nobodyさん:2011/08/07(日) 04:10:41.25 ID:???
それは馬鹿にしないけどお前のような考えを持ってる奴は馬鹿にするな
292nobodyさん:2011/08/07(日) 04:14:09.81 ID:???
でも、馬鹿にしなくても暗黙の了解で

オブジェクト指向>>>>>>越えられない壁>>>>>>>猿>>>手続き型

ですよね?
293nobodyさん:2011/08/07(日) 05:37:33.18 ID:???
夏休みだな。
オブジェクト指向カッコイイとか思っていいのは中二までですよ。
294nobodyさん:2011/08/07(日) 05:41:04.80 ID:???
295 忍法帖【Lv=34,xxxPT】 【東電 50.3 %】 :2011/08/07(日) 07:31:16.86 ID:???
⊂二二二( ^ω^)二⊃ブーン
296nobodyさん:2011/08/07(日) 09:03:45.79 ID:???
for($priority=1;$priority>=5;$priority++){
$this->m_instance[$priority] = array();
}
var_dump(array_keys($this->m_instance));
array(0) { }

これって凄く寂しい!
297nobodyさん:2011/08/07(日) 09:12:23.34 ID:???
ここはぼくの犯したポカミスを報告するスレではありません
298nobodyさん:2011/08/07(日) 09:22:50.30 ID:???
$this->m_instance[$priority][] = "data";を考えるとそうでもないと思うんだが
299nobodyさん:2011/08/07(日) 09:26:21.42 ID:???
array(0) { }これ何?
300nobodyさん:2011/08/07(日) 09:32:04.06 ID:???
>>299
俺が悪かった、忘れてくれ
あれを見てそこに突っ込まれたら何も言う気がしなくなった
301nobodyさん:2011/08/07(日) 09:35:42.91 ID:FuUx9FA/
a.phpでクッキーを
$limit = time() * 60 * 60 * 24;
setcookie("hoge","hoge",$limit);
で普通に発行するとa.phpでは確認できるのですが
同じ階層や下の階層のb.phpやc.phpでは取得できません

同一サーバー内で上の階層でもない限り有効パスやドメインを指定しなくていいと思うのですが、なんででしょう
302nobodyさん:2011/08/07(日) 10:10:40.21 ID:???
>>301
> $limit = time() * 60 * 60 * 24;
これ何?
303nobodyさん:2011/08/07(日) 10:38:51.89 ID:???
時間じゃね?
スゲー桁になってるけどw
304nobodyさん:2011/08/07(日) 10:39:31.59 ID:FuUx9FA/
>>302
あああああああああ!!!!
305nobodyさん:2011/08/07(日) 11:42:36.56 ID:???
西暦350万年か
2000年問題が小さい事よ
306nobodyさん:2011/08/07(日) 11:49:17.10 ID:???
答えは42だな
307nobodyさん:2011/08/07(日) 11:49:55.89 ID:???
>>305
いちいち計算してんじゃねぇよ クソが
308nobodyさん:2011/08/07(日) 11:50:22.79 ID:???
>>306
いちいち計算してんじゃねぇよ クソが
309nobodyさん:2011/08/07(日) 11:59:19.32 ID:???
>>306
まさかphpスレで銀河ヒッチハイクガイドネタ出てくる奴を見れるとは
310nobodyさん:2011/08/07(日) 12:09:48.53 ID:???
>>309
こっち見んじゃねぇよ クソが
311nobodyさん:2011/08/07(日) 12:10:47.97 ID:???
>>307>>308>>310
お前最高にうんこ
312nobodyさん:2011/08/07(日) 12:15:11.87 ID:???
>>311
俺はクソとしか言ってないのに、うんこだなんて、ひどすぎ。
しかも最高のうんこ。
313nobodyさん:2011/08/07(日) 13:06:16.12 ID:???
>>312
最高の褒め言葉だと思うんだが
もしかして最低のうんこの方がよかったのか?
314nobodyさん:2011/08/07(日) 13:17:40.38 ID:???
>>313
最低のクソの方がいいです。うんこはなんだか生っぽいので。
315nobodyさん:2011/08/07(日) 15:06:51.68 ID:???
316nobodyさん:2011/08/07(日) 16:36:40.07 ID:???
>>315
ウィルス注意
317nobodyさん:2011/08/07(日) 17:26:35.32 ID:???
う○ことかち○こで喜ぶのは小学生までってじっちゃがいってた
318nobodyさん:2011/08/07(日) 18:09:04.88 ID:???
そのじっちゃは嘘つきだな
319nobodyさん:2011/08/07(日) 18:14:28.43 ID:???
大人はま○こで喜ぶってばっちゃがいってた
320nobodyさん:2011/08/07(日) 18:29:45.47 ID:???
そのばっちゃは正直だな
321nobodyさん:2011/08/07(日) 18:32:43.69 ID:???
子供の戯れ言に耳を貸すなってかあちゃがいってた
322nobodyさん:2011/08/07(日) 18:35:25.19 ID:???
そのかあちゃは賢明だな
323nobodyさん:2011/08/07(日) 21:07:53.36 ID:???
子供はま○こなんて知らないってねえちゃがいってた
324nobodyさん:2011/08/07(日) 23:32:41.12 ID:???
精神年齢的な意味だろ>子供
325nobodyさん:2011/08/07(日) 23:33:52.83 ID:???
おま、空気読めよ・・・
326nobodyさん:2011/08/07(日) 23:41:19.64 ID:???
子供のおま○こなんて興味ないってにいちゃがいってた
327nobodyさん:2011/08/07(日) 23:51:57.43 ID:???
キモイ
328nobodyさん:2011/08/07(日) 23:54:49.59 ID:???
こういう流れは下らん
329nobodyさん:2011/08/08(月) 00:42:16.32 ID:???
これだからコミュ障は・・・
330nobodyさん:2011/08/08(月) 01:15:47.57 ID:???
ホントはキモくないくせに
331nobodyさん:2011/08/08(月) 02:20:33.57 ID:???
XYZ 明日の夜7時新宿公園で待つ KN
332nobodyさん:2011/08/08(月) 03:11:13.54 ID:z33upbGp
phpが自由自在に扱える漢になったらニートのオレでも
就職できますか?
333nobodyさん:2011/08/08(月) 03:30:34.84 ID:???
無理
334nobodyさん:2011/08/08(月) 03:56:03.84 ID:???
>>332
そういう輩は仕事の需要があるから自分で社長でやればいい。
335nobodyさん:2011/08/08(月) 06:27:40.45 ID:z33upbGp
>>334
毎日C言語、C++、Javascript、PHPのプログラムの
本を読んでプログラム作りまくって勉強しています。
なんせニートなんで時間はたっぷりあります。
今、23歳なんで30までには起業してみます。
だいたいどのプログラムも同じような感じですが、
htmlとネットワークの知識のいるphpに苦戦してます。
とりあえずブログサービスやSNSサービスをやってみたいです。
336nobodyさん:2011/08/08(月) 06:57:53.72 ID:???
>>335
他の同業者に対する優位性は?
337nobodyさん:2011/08/08(月) 07:22:55.16 ID:z33upbGp
>>336
日本の20代の若者ですら、パソコンにデジカメの写真を取り込めない人から
ゲーム作って売ってる人まで幅広い層がいます。しかし、初心者ともいえず、
上級者ともいえない中間層がネット上には居場所がないような気がします。
プログラムの解説サイトでも超初心者向けと理解不能な上級者向けの
両極端で中間層がない気がします。なのでそのプログラムなどの勉強してる
中間層を日本全国から集めたようなコミュニティーを作りたいです。
アメブロやmixiよりも匿名性を重視して情報の真偽を明確にする
コミュニティーを作ろうと予定してます。
友達同士で馴れ合いをするようなコミュニティーでなく主に情報の交換
が目的ですかね。
338nobodyさん:2011/08/08(月) 07:33:12.50 ID:???
>>337
SEになりたいのかコミュニティ主催者になりたいのかどっちなんだ?
>>336は前者の意味で聞いたんだが。
339nobodyさん:2011/08/08(月) 07:58:35.86 ID:z33upbGp
>>338
SEかな、コミュニティー主催者とかは全部大学生バイトとかに試験的
にやらせてみようかなと思ってます。
340nobodyさん:2011/08/08(月) 08:06:38.30 ID:???
通常業務のニーズをこなすテクと地図との連携など独自のテクの2本立てで行くのがイイ
341nobodyさん:2011/08/08(月) 09:38:24.91 ID:???
スレチだからよそでやれ
http://hibari.2ch.net/test/read.cgi/hp/1311593778/
342nobodyさん:2011/08/08(月) 14:20:21.46 ID:ZpEfNsVt
print_r(glob('[example].txt'));

glob 関数において、角括弧が含まれるファイルが返りません
角括弧が含まれるファイル名に一致させるにはどうすれば良いでしょうか
343nobodyさん:2011/08/08(月) 14:30:40.65 ID:???
>>342
やった事無いけどエスケープすりゃなんとかなるんでないの
344nobodyさん:2011/08/08(月) 14:34:23.42 ID:4ZN6sWYK
数百行のコードがあるとします
その処理の先頭から末尾まででいろんなPHP関数が使われてて、
どこかでエラーが発生したとき(falseが返って、以降のコードの実行が不可能になったとき)に
そのエラーを捕まえたいと思います
地道にやれば関数の返り値をいっこいっこチェックしていくべきなんでしょうが
そうではない方法で効率的にエラーを捕まえる方法はないでしょうか?
apacheのエラーログをチェックする以外の方法で、よろしくお願いします
345nobodyさん:2011/08/08(月) 14:40:29.02 ID:???
>>344
エスパーレスするとset_error_handler
346342:2011/08/08(月) 14:51:54.71 ID:ZpEfNsVt
>>343
ありがとうございます
以下のようにエスケープしてみましたが、一致しません

print_r(glob('\\[example.txt\\]'));
347nobodyさん:2011/08/08(月) 14:55:31.65 ID:???
>>346
print_r(glob('\[example.txt\]'));
348nobodyさん:2011/08/08(月) 15:14:34.35 ID:???
>>346
お前何やってんだよ
[example].txt がなんで [example.txt] になるんだよ
349nobodyさん:2011/08/08(月) 15:44:19.78 ID:???
うるさい ママのおっぱいでもしゃぶってろ
350342:2011/08/08(月) 15:52:29.26 ID:ZpEfNsVt
>>347
それは>>346と同じではないでしょうか

>>348
申し訳御座いません。間違えました
結果は同様に、[example].txt が返りません

print_r(glob('\\[example\\].txt'));
351nobodyさん:2011/08/08(月) 16:03:55.44 ID:???
>>350
いいからやれ
352nobodyさん:2011/08/08(月) 16:07:26.25 ID:???
>>351
自分でやれよ
353nobodyさん:2011/08/08(月) 16:09:12.40 ID:???
何を?
354nobodyさん:2011/08/08(月) 16:12:28.03 ID:???
>>350
\\[ と \[ は全然違う
355nobodyさん:2011/08/08(月) 16:17:36.90 ID:???
>>354
文字列リテラルとワイルドカードの話がごっちゃになってね?
356nobodyさん:2011/08/08(月) 16:21:35.10 ID:???
ちょっと試したけど
print_r(glob('[example].txt'));
print_r(glob('\[example\].txt'));
print_r(glob('\\[example\\].txt'));

結果
Array
(
)
Array
(
[0] => [example].txt
)
Array
(
[0] => [example].txt
)
357nobodyさん:2011/08/08(月) 17:05:43.95 ID:???
' で囲んでエスケープされるの?
echo 'これで改行される??\n';
358nobodyさん:2011/08/08(月) 17:11:16.66 ID:???
globに渡してるんだよ。
globそのものは[]や{}はメタ文字の一種だろ
359342:2011/08/08(月) 17:30:03.81 ID:ZpEfNsVt
>>356
こちらのファイルシステムの方に問題があるようですね
角括弧の部分は ? で代用することにします
有り難う御座いました
360344:2011/08/08(月) 18:53:58.47 ID:4ZN6sWYK
>>345
ありがとうございます、そういう機能があるのかと調べてみました。
が、公式のPHPマニュアルの例を見たら、結局該当箇所にtrigger_error()でエラーハンドラ呼び出してますよね
http://www.php.net/manual/ja/function.set-error-handler.php
これだと結局>>344で書いた「エラーが起こりそうな処理の返り値をチェックする」のと
労力的に変わらないですね(自分の理解が間違ってるのかもですが)
コードの任意の範囲内で起きたエラーを自動的に捕まえて、任意の処理を実行するみたいなのは
無理でしょうか?

try{}catch(){}も見たんですが、結局これも処理の途中でこまごまと
チェックしてthrow new Exception(); しなきゃいけないし。
SQLのトランザクションの場合は、try{.....}catch() の間でクエリエラーが発生したら
自動でロールバック処理してくれますが、これはDBがそこまで機能を実装してくれてるからってことかな…
361nobodyさん:2011/08/08(月) 19:00:20.03 ID:3C9WKAJH
PHP + MySQLのページングについて質問です。
現在このようにしていますが、$tcnt(総件数)をユーザーが変更できるようにするには
どこをどう変えたら良いでしょうか?

$PAGESIZE = 10; #1ページに表示する件数

$page = $_GET["page"]; # 現在のページ
$tcnt = $_GET["tcnt"]; # 総件数
if (!isset($page)) {
$sql = "select count(*) as cnt from ○○";
$rst = mysql_query($sql, $con);
$col = mysql_fetch_array($rst);
mysql_free_result($rst);
$tcnt = $col["cnt"];
$page = 1;
}
$totalpage = ceil($tcnt / $PAGESIZE); #総ページ数

$sql = "select * from ○○ limit " . $PAGESIZE * ($page - 1) . ", $PAGESIZE";
362nobodyさん:2011/08/08(月) 19:01:51.76 ID:???
>>360
trigger_errorで任意にエラー起こしてるだけだよ
363nobodyさん:2011/08/08(月) 19:03:25.88 ID:???
>>361
総件数をユーザが変更するってどういうこと?
364nobodyさん:2011/08/08(月) 19:20:09.90 ID:???
1ページに表示する件数じゃないかな
limit
365nobodyさん:2011/08/08(月) 19:20:24.76 ID:???
それは1行目に書いてある
366nobodyさん:2011/08/08(月) 19:40:32.88 ID:???
画面表示件数を選択できるようにする。
10,20,100から選べる。
367nobodyさん:2011/08/08(月) 19:49:30.31 ID:???
それは1行目に書いてある
368nobodyさん:2011/08/08(月) 19:54:40.20 ID:???
これは難題だ・・・
countでレコード総数をとってきているのにそれを変更したいとは、
ユーザーは自分でレコードを追加したいって事なのかな?

夏休みだから助けてあげたいけど意味わかんねー
369nobodyさん:2011/08/08(月) 19:55:17.88 ID:3C9WKAJH
>>364>>366
違います

>>363
たとえば100件のデータがDBに格納されていて
その中の10件だけを取り出したいユーザーもいれば
その中の50件だけを取り出したいユーザーもいるので
そこをユーザーが自由に変えられるようにしたい
370nobodyさん:2011/08/08(月) 20:05:48.50 ID:???
>>369
その10件や50件というのはトップページの場合はデータベースの先頭からの件数?
それだと普通にLIMITを使う。
LIMITというのは例えば「LIMIT 0,10」だとレコード0番目から10件のデータを読み出す
50件なら「LIMIT 0,50」になります。

読み出したいデータを検索や指定するならWHEREを使う。
371nobodyさん:2011/08/08(月) 20:06:24.65 ID:???
総件数っていったらだいたい取り出したいデータの全データ数だろ。
言いたいのは表示件数って事なのかな。
372nobodyさん:2011/08/08(月) 20:10:09.57 ID:???
組み込み関数の戻り値でfalseが返るのは別にエラーじゃないし、
中の人が例外やエラーを投げん限り捕捉できんだろ
373nobodyさん:2011/08/08(月) 20:13:57.43 ID:3C9WKAJH
>>370
$PAGESIZE(1ページに表示する件数)は固定したいです。

>>371
表示する総件数ですね。すみません。

「格納されてる総件数」ではなく「ユーザーが表示したい総件数」です。
374nobodyさん:2011/08/08(月) 20:20:11.51 ID:???
>>373
$page = $_GET["page"];
$PAGESIZE = $_GET["size"];

if ($page == 1){
$PAGESIZE = 10;
}

目的を果たすだけならこれで済むけど$__GETの内容や
SQLへのクエリーの渡し方がかなり危ないので、
そのあたりも検索して勉強する事をおすすめします。
375nobodyさん:2011/08/08(月) 20:46:55.27 ID:3C9WKAJH
>>374
ありがとうございます。
えーと、sizeって何ですか?それと
$sql = "select * from ○○ limit " . $PAGESIZE * ($page - 1) . ", $PAGESIZE"; この部分はこのままでいいんですか?

SQLへのクエリーの渡し方、了解です。
376nobodyさん:2011/08/08(月) 20:54:45.05 ID:???
まずSQLのLIMITについて理解してんの?
理解してないならそれを理解するべき
377nobodyさん:2011/08/08(月) 21:03:39.04 ID:3C9WKAJH
>>376
してます。ちょっと上のレスにも書いてあります。
378nobodyさん:2011/08/08(月) 21:04:19.30 ID:???
それは1行目に書いてある
379nobodyさん:2011/08/08(月) 21:06:24.46 ID:???
>>377
$tcnt(総件数)をユーザーが変更できるようにしたいってことだけど、
$tcnt = $_GET["tcnt"]; # 総件数
だからそもそもユーザーが変更できるようになってんじゃないの?
380nobodyさん:2011/08/08(月) 21:23:56.99 ID:???
こういうことか?
tcnt設定する意味が微塵にもわからんけど

$PAGESIZE = 10; #1ページに表示する件数

$tcnt = $_GET["tcnt"]; # 総件数
$sql = "select count(*) as cnt from ○○";
$rst = mysql_query($sql, $con);
$col = mysql_fetch_array($rst);
if ($col["cnt"] < $tcnt) {
$tcnt = $col["cnt"];
}
mysql_free_result($rst);
$totalpage = ceil($tcnt / $PAGESIZE); #総ページ数

$page = $_GET["page"]; # 現在のページ
if (!isset($page)) {
$page = 1;
}
else if ($page > $totalpage) {
$page = $totalpage;
}

$sql = "select * from ○○ limit " . $PAGESIZE * ($page - 1) . ", $PAGESIZE";
381nobodyさん:2011/08/08(月) 21:36:42.32 ID:3C9WKAJH
>>379>>380
いえ、なってないです。
例えば
PAGESIZE = 2;
tcnt = 1;
とした固定した場合

limit 0,2 つまり0から2件表示することになります。

tcnt = 3とした場合2ページ目でLIMIT 2, 2となり
表示したい総件数が3件にもかかわらず4件目が表示されてしまいます。
382nobodyさん:2011/08/08(月) 21:43:36.92 ID:???
余数引くなりなんなり好きにしろよ
383nobodyさん:2011/08/08(月) 21:49:35.68 ID:???
>>381
$totalpage = ceil($tcnt / $PAGESIZE); #総ページ数

$totalpageってどこで使われてんだよ。
説明不足だし何がしたいのかよくわからん。
情報を小出しにしないで整理してから質問しろ。
384nobodyさん:2011/08/08(月) 21:54:02.53 ID:???
情報の整理というかそもそもPHPもSQLも理解していない。
コピペしてきてどうにかして利用できないのか、初心者が改造からはじめる典型的なパターン。

$_GET["size"]が何のかは以下を読みなさい。
http://php.net/manual/ja/reserved.variables.get.php
385nobodyさん:2011/08/08(月) 21:58:39.48 ID:???
$offset = $PAGESIZE * ($page - 1);
if ($offset < 0) {
$offset = 0;
}

$limit = $PAGESIZE;
if ($offset + $PAGESIZE > $tcnt) {
$limit = $tcnt % $PAGESIZE;
}
386nobodyさん:2011/08/08(月) 23:31:58.51 ID:3C9WKAJH
>>385
あ、ありがとうございます!
おかげさまでできました。
387nobodyさん:2011/08/09(火) 00:00:56.70 ID:???
>>386
つまり・・・どういうことだってばよ?
388nobodyさん:2011/08/09(火) 00:02:21.26 ID:???
日本語はさっぱりだけどソースは読めるだろボケ
389nobodyさん:2011/08/09(火) 00:17:38.43 ID:???
>>386
他に回答してくれた人にもお礼言おう、な
390nobodyさん:2011/08/09(火) 00:52:15.33 ID:???
>>389
あなたの回答は全くの役に立たなかったのでお礼するのが勿体無いです、残念ながら。
391nobodyさん:2011/08/09(火) 01:17:35.57 ID:???
くだらねぇこと言ってるんじゃねぇよ。
ID無いのに誰が誰だかわからんだろうが。
392nobodyさん:2011/08/09(火) 01:34:50.20 ID:1MO2qAMJ
みなさんに質問なのですが、insertでwhere指定をする時にphp側で定義した変数$sampleの値を持つidをselectするというコードを書きたいのですが、
$result = mysql_query('SELECT id,name FROM sample where id = $sample');
とするとエラーが出てしまいます。どのようにすればよいのでしょうか? 文法的に間違っているのでしょうか?お願いします
393nobodyさん:2011/08/09(火) 01:36:49.50 ID:???
>>392
'(シングルクオーテーション)なので$sampleが展開されない。
"(ダブルクオーテーション)で囲むか、下記のように変える
$result = mysql_query('SELECT id,name FROM sample where id = '.$sample);
394nobodyさん:2011/08/09(火) 01:37:06.06 ID:???
>>392
"
395nobodyさん:2011/08/09(火) 01:38:08.81 ID:???
つーかMYSQLスレで答えてやったけどな
396nobodyさん:2011/08/09(火) 01:47:33.72 ID:???
マルチだったのか
397nobodyさん:2011/08/09(火) 10:49:11.51 ID:fWpfSW6p
【OS名】TurboLinux
【PHPのバージョン】4.3
【連携ソフトウェア】
【質問内容】
スレ違いでしたら、誘導いただけると助かります。

POSTで送信する際の、最大バイト数はどれくらいなのでしょうか?
検索してみたのですが、明確な答えが得られませんでした。
やりたいことは、テキストエリアをいくつか設置して送信です。
文字数の上限がどれくらいか、知りたいのです。
全角文字で1万文字くらいはありそうなのですが、可能なので
しょうか。
どなたかアドバイスお願いします。
398nobodyさん:2011/08/09(火) 11:53:34.73 ID:1MO2qAMJ
>>393
>>394ありがとうございます。そのようにしたら解決しました!ありがとうございます。

mysqlスレで質問したところphpで聞けといわれこっちで質問したのですが、向こうでも答えていただき結果マルチのようになってしまいました。すいません。
399nobodyさん:2011/08/09(火) 11:54:21.81 ID:???
>>398
そういう場合はどこそこから誘導された〜って言っとけば良いよ
400nobodyさん:2011/08/09(火) 12:10:57.63 ID:???
結構みんな同じとこ見てんだなw
401nobodyさん:2011/08/09(火) 13:30:57.74 ID:???
>>397
http://php.net/manual/ja/ini.core.php
post_max_size

あとは使っているhttpサーバの制限にも依存するが
テキスト程度なら気にする必要はない
402nobodyさん:2011/08/09(火) 13:31:03.67 ID:???
俺はここしか見てないよ
403397:2011/08/09(火) 18:07:10.89 ID:fWpfSW6p
>>401
ありがとうございます。
デフォルトで8Mということは、
全角1万文字=20Kbyte程度ということで、他の環境変数とか
あったとしても全然大丈夫ということですね。
ありがとうございました。
404nobodyさん:2011/08/09(火) 18:30:29.93 ID:???
具体例を出せなくて申し訳ないのですが
一つ質問させて下さい。

【OS名】Windows 7
【PHPのバージョン】5.3.1

例えば「test.php」から「test2.php」に遷移する時
ある値をスーパーグローバル変数に乗せて「test2.php」に渡したとします。
この時に起こっている現象は

 「test.php」を立ち上げる(「test.php」のスクリプトが動いている)
            ↓
 「test2.php」に遷移する(「test2.php」のスクリプトが動いている)

となりますが、この時、「test2.php」からブラウザの「戻る」で「test.php」に戻り
次いでブラウザの「進む」で「test2.php」に進んだ場合
phpのスクリプトは動いている、と言えるのでしょうか?

私なりに調べてみた限り、単にブラウザのキャッシュを読みに言っているだけのようなのですが
そのキャッシュに格納されているデータはヘッダー情報を含んだもろもろのデータらしく
それが結果として、コーディングした主の想定と画面出力結果との差異を産んでしまっているようなのです。

現在、擬似的なカートシステムを作成中なのですが
どうやらphpのみならず、もっと根本的な理解が足りないのではないのか?と思い
質問させてもらいました。

405nobodyさん:2011/08/09(火) 18:53:11.45 ID:???
406nobodyさん:2011/08/09(火) 21:41:56.96 ID:???
>>404
戻るってのはそういうもんで、みんな苦労してる。
407nobodyさん:2011/08/09(火) 21:50:59.45 ID:ebfQniZc
simplexml_load_fileでrssを読み込むとエラーが出るサイトがあります
parser error : Start tag expected, '<' not found これ
fc2ブログで出るようです。ライブドアやアメーバブログでは出ません
しばらくするときちんと読み込みますが、ファイルを更新するとまたエラーが出ます
不足してるタグなども見あたりません。
これは何なのでしょうか
408nobodyさん:2011/08/09(火) 21:55:05.37 ID:???
>>407
広告の自動挿入でもしてるんじゃないの?
409nobodyさん:2011/08/09(火) 21:56:33.66 ID:ebfQniZc
>>408
どういうことかちょっとよく分かりませんがどうやったら解決しますかね?
410nobodyさん:2011/08/09(火) 21:58:09.73 ID:???
>>409
まずそれを確認する
411nobodyさん:2011/08/09(火) 21:59:04.02 ID:???
とりあえず普通に取得して何が着てるのか確認
412nobodyさん:2011/08/09(火) 22:02:07.77 ID:ebfQniZc
普通に取得って既存のrssリーダーとかでですか?
見たところ普通に個別記事しかありません
413nobodyさん:2011/08/09(火) 22:04:06.19 ID:???
プレーンテキストで見る
414nobodyさん:2011/08/09(火) 22:05:21.66 ID:ebfQniZc
あと書き忘れてましたが例の

Warning: simplexml_load_file() [function.simplexml-load-file]: http://apochirinco.blog103.fc2.com/?xml:1: parser error : Start tag expected, '<' not found

の下にも

Warning: simplexml_load_file() [function.simplexml-load-file]: ?
Warning: simplexml_load_file() [function.simplexml-load-file]: ^

があります
415nobodyさん:2011/08/09(火) 22:12:17.49 ID:ebfQniZc
>>413
プレーンテキストでも見ましたがいまいちどこに注目すればいいのか分かりません
何を見ればいいのでしょうか
見た感じエラーの出ないサイトとの違いが分かりません
416nobodyさん:2011/08/09(火) 22:17:03.42 ID:???
RSSだと結構あちこちでその手のエラーがでるからエラーが出る前提で対応した方が
良いと思います。
417nobodyさん:2011/08/09(火) 22:19:32.66 ID:ebfQniZc
>>416
なるほど
むずかしそうですね
418nobodyさん:2011/08/11(木) 14:01:10.80 ID:ODzT8gp8
<input type="checkbox">でvalue属性を省略したときはどんな値が送信されるんでしょうか?
419nobodyさん:2011/08/11(木) 14:02:59.28 ID:???
>>418
var_dump
420nobodyさん:2011/08/11(木) 15:54:44.49 ID:???
onが来るかとおもいきやauでは
421nobodyさん:2011/08/11(木) 16:35:43.47 ID:yxU6Xdto
mcrypt_decryptで使うIVを好きな文字数にする事はできないのでしょうか?
422421:2011/08/11(木) 16:48:02.02 ID:???
あ、埋めればいいのか
423nobodyさん:2011/08/11(木) 18:05:55.11 ID:MB61yGVG
とあるサイトのPHP自動リンク集で
以下のようなphpタグの次の行に$gfg = true;
を記述すると静的URLで表示できるというのですが
<?php
$gfg = true;
$gch='utf8';
$gkey='userid-xxxxxx';
include('search.inc');
?>
上記は間違っているでしょうか?
静的URL表示にはならなかったので。
424nobodyさん:2011/08/11(木) 18:16:55.31 ID:???
http://www.tooland.net/
これか?
よくわからんがテンプレダウンロードしてindex.php、search.php開いて最初に書けばいいんじゃねーの
駄目ならソース貼るか管理者に問い合わせるしかねー
425nobodyさん:2011/08/11(木) 21:29:34.47 ID:MB61yGVG
>424
ありがとうございます。
管理者に問い合わせても返答がないのでここで訊いてみました。
<?php
$gch='utf8';
$gkey='userid-xxxxxx';
include('search.inc');
?>
<?php
$gfg = true;?>
としても無理でした。
426nobodyさん:2011/08/11(木) 21:31:39.54 ID:???
>>425
そのコードはsearch.phpとindex.phpの最初の部分なの?
427nobodyさん:2011/08/11(木) 21:54:44.07 ID:???
どこかのサイトで配布されてるスクリプトなら配布元で聞け
428nobodyさん:2011/08/11(木) 22:22:47.50 ID:???
>>427
> 管理者に問い合わせても返答がないのでここで訊いてみました。
429nobodyさん:2011/08/11(木) 22:46:01.65 ID:???
>>428
>駄目ならソース貼るか管理者に問い合わせるしかねー
430nobodyさん:2011/08/12(金) 01:21:09.40 ID:???
>>429
> 管理者に問い合わせても返答がないのでここで訊いてみました。
431nobodyさん:2011/08/12(金) 13:10:42.78 ID:???
>>430
> どこかのサイトで配布されてるスクリプトなら配布元で聞け
432nobodyさん:2011/08/12(金) 19:11:25.98 ID:???
phpで転送するときにpostの値をつけて転送したいときなにを使えば簡単ですか

いろいろさがしたんですが結局出来なかったりで

サーバーはロリポとさくらです
433nobodyさん:2011/08/12(金) 19:19:11.14 ID:???
転送ってなんだよ
434nobodyさん:2011/08/12(金) 19:22:26.71 ID:???
>433

header("location:URL");

とかのやつです
435nobodyさん:2011/08/12(金) 19:24:52.74 ID:???
GETじゃないと送れねえわ
436nobodyさん:2011/08/12(金) 19:48:50.32 ID:???
>>432
>>1を5000万回読み直して来い
437nobodyさん:2011/08/12(金) 19:50:50.28 ID:???
curlでpost送信出来んじゃねーの
438nobodyさん:2011/08/12(金) 19:55:49.65 ID:???
post送信と転送は別だろ
439nobodyさん:2011/08/12(金) 20:00:32.30 ID:???
素人が質問してるんだから細かいことにこだわんなよ
要するにPHPでpost送信したいって質問だろ
440nobodyさん:2011/08/12(金) 20:07:09.52 ID:???
>>439
お前が答えてやれw
簡単な話だろ
441432:2011/08/12(金) 20:13:24.84 ID:CLRlFtSn
>>436

そんなによんでないですが読みました
442nobodyさん:2011/08/12(金) 20:27:48.17 ID:???
POSTしながら転送したいって事だろ?
443nobodyさん:2011/08/12(金) 20:31:39.56 ID:???
$_POST['キー'] = '値';
file_get_contents('http://www/', $_POST);

これでおk
444432:2011/08/12(金) 20:34:21.64 ID:5glGU4ZH
>>442

そういうことです

検索上位はできないばかりでさらに検索していくとfile_get_contentsがでてくるんですが移動したいんです
445432:2011/08/12(金) 20:38:21.43 ID:MSI8KsLa
>>443

postデータを保持しながら移動したいんです

formタグのpost送信みたいなのをformタグ使わずにしたいんです
446nobodyさん:2011/08/12(金) 20:38:49.81 ID:???
無理だっちゅうの
HTTPの仕組み的に
447nobodyさん:2011/08/12(金) 20:52:10.21 ID:???
>>445
転送は無理
他人のページのformを自分のサイトに設置してるってことか?
448432:2011/08/12(金) 21:07:07.62 ID:MSI8KsLa
>>447

formでもダメってことはないですがYahoo!知恵袋でリンク踏むだけで投稿したのをみたのでできるかなと
449nobodyさん:2011/08/12(金) 21:12:13.86 ID:???
>>445
送信元はPHPでいいの?
クライアントPCから送信したいのではなくて?
450nobodyさん:2011/08/12(金) 21:13:34.18 ID:???
>>448
知恵袋はGET受け付けるでしょ
POSTしてるならURL出してほしいね
451432:2011/08/12(金) 21:19:30.44 ID:MSI8KsLa
>>449

どっちでもいいですが転送後のページがpostをおくったあとの表示がされればいいです

>>450

それがわかっていればYahoo!知恵袋で聞いています
452nobodyさん:2011/08/12(金) 21:24:09.66 ID:???
>>451
知恵袋で見たならURLだせると思ったんだけど…
453nobodyさん:2011/08/12(金) 21:28:13.57 ID:???
というかスパムにしか見えないんだが
454nobodyさん:2011/08/12(金) 21:28:43.89 ID:???
1つの方法としてPHPでブラウザの挙動をエミュレートすれば良いよ
455432:2011/08/12(金) 21:37:42.31 ID:MSI8KsLa
>>452

1年以上前でphpなんて興味なかった頃なんでコピーとかブクマとかもしてないです

URL自体は短かったです

>>453

スパムならpostはformでもできることなのでわざわざphp使う必要なくないですか?


>>454

挙動までわかるエミュレータあるんですか?
456nobodyさん:2011/08/12(金) 21:48:08.36 ID:???
>>455
http://ml.php.gr.jp/pipermail/php-users/2007-May/032610.html
レスも含めて全部読めばどれか納得行く回答あるんじゃない
457nobodyさん:2011/08/12(金) 21:53:41.31 ID:???
>>455
だからcurl使えよ
PHP POST curl あたりでググれ
458nobodyさん:2011/08/12(金) 21:55:34.07 ID:???
HTTPの仕組み的に無理とか言ってんの誰だよ
POSTぐらい余裕でできるだろうが
459nobodyさん:2011/08/12(金) 21:55:46.79 ID:???
>>457
見当違いなレスしてんなよ
あほか
460nobodyさん:2011/08/12(金) 22:00:30.46 ID:???
リンクを踏むだけでPOSTってjavascript使ってsubmitすりゃええだけちゃうん
461nobodyさん:2011/08/12(金) 22:00:56.24 ID:???
>>459
お前がアホなだけじゃ
POSTしたいんだろ?cURLで一発
462432:2011/08/12(金) 22:01:57.96 ID:MSI8KsLa
>>456

関連を全部見ましたが出来ないんですね

Yahoo!知恵袋でできたのはなんでかが疑問ですが今の自分には出来ないことがわかりました
463nobodyさん:2011/08/12(金) 22:03:30.64 ID:???
>>462
ここでも参考にしてみたら
http://nakawake.net/?p=637
464nobodyさん:2011/08/12(金) 22:06:13.92 ID:5NDwQCjj
$dbh = null;

これをやらないとどうなりますか?
465432:2011/08/12(金) 22:12:03.51 ID:MSI8KsLa
>>463

ケータイサイトで使いたいのでJavaScriptはつかえません
466nobodyさん:2011/08/12(金) 22:14:21.37 ID:???
>>465
header('Location: http://www.yyy.co.jp/ccc.php', true, 307);
これは?
467432:2011/08/12(金) 22:19:24.31 ID:MSI8KsLa
>>466

formからのデータにデータを追加して転送したいのでそれは無理です
468nobodyさん:2011/08/12(金) 22:20:25.44 ID:???
>>458
お前はレスを始めからよめ
469nobodyさん:2011/08/12(金) 22:22:46.16 ID:???
XML-RPCでググレカス
470432:2011/08/12(金) 22:33:01.05 ID:MSI8KsLa
>>469

これって転送?移動?できなくないですか?
471nobodyさん:2011/08/12(金) 22:33:33.83 ID:???
PHPは転送じゃなくて自身に転送結果を表示するんだよ
472432:2011/08/12(金) 22:42:32.75 ID:pWabPo1P
>>471

てことはphpでブラウザにpostデータを仕込むことは出来ないんですよね

phpでブラウザに仕込めるのはリファラとセッションとクッキー以外であるんですか?
473nobodyさん:2011/08/12(金) 22:43:43.79 ID:???
何がしたいんだ
具体的にやりたいこといってみ
変な言葉使わなくていいから
転送とか移動とか意味不明だよ
474432:2011/08/12(金) 22:53:28.53 ID:pWabPo1P
サイトAとBがあって

サイトAからサイトBにpostでデータを送りたくて
サイトAからしか送れないようにするためにformでサイトAの転送用URLにデータを送り認証用postをつけてサイトBにデータを送るってのが目的でしたが

postが無理なので困っています
475nobodyさん:2011/08/12(金) 22:58:15.73 ID:???
>postデータを保持しながら移動したいんです

ポストにこだわるんじゃなくてセッション
$_SESSION使えばいいんじゃないの?

476432:2011/08/12(金) 23:00:48.89 ID:pWabPo1P
>>475

docomoってクッキーつかえないですがセッションはつかえるんですか?

それとURL違うのにいけるんですか?
477nobodyさん:2011/08/12(金) 23:09:13.41 ID:???
Bで受付窓口を作ればいい
それがXML-RPC
そんでこいつにPOSTデータ投げつければいい
478432:2011/08/12(金) 23:11:07.21 ID:pWabPo1P
>>477

やってみます
479432:2011/08/12(金) 23:12:00.30 ID:7cJdIcKC
ありがとうございました
480nobodyさん:2011/08/12(金) 23:12:11.13 ID:jbrusB/O




人権擁護法案(人権侵害救済法案)が成立すると、言論の自由や表現の自由≠ェ規制され、

日本は北朝鮮≠竍中国≠フように自由に物が言えない国になりますよ。

危ない!!危ない!!危ない!!危ない!!危ない!!危ない!!危ない!!危ない!!危ない!!危ない!!危ない!!

こんな天下の悪法≠ェ、成立して喜ぶのは、

◎誰も頼んでいないのに戦後も日本に居座って、文句ばかりを主張し、しかも税金も真面目に払わない在日外国人。

◎人権を口実に人を恫喝して金儲けをし、しかも税金も真面目に払わない同和団体。

◎祖国である日本よりも、北朝鮮や中国そしてスウェーデンなどの共産主義や社会主義の国を愛する日本嫌いの反日的日本人。

天下の悪法≠ナある人権擁護法案(人権侵害救済法案)を即刻廃案にして、日本の言論の自由と表現の自由≠断固守れ!!!



481nobodyさん:2011/08/12(金) 23:12:35.47 ID:???
>>476
475は無視してくれ。475は同一サイトの場合の話。

>サイトAからしか送れないようにするために

A→Bサイトでポストデータ送りたいなら、送れば良いと思う。
この目的ならリファラーチェックをするのがいいんじゃないの。
リファラーは偽装される可能性もあるが。
482nobodyさん:2011/08/12(金) 23:18:37.07 ID:???
サーバからサーバにデータ送るのにリファラもくそもないでしょう
483nobodyさん:2011/08/13(土) 02:32:35.98 ID:TdRiDr6Y
phpで画像からexifを削除するってどうしたらいいの?
ググったらimageMagickを使う方法が見つかったけど、それ以外のやり方はないですか?
484nobodyさん:2011/08/13(土) 02:39:59.26 ID:???
imageMagickでなんでだめなの?
485nobodyさん:2011/08/13(土) 02:50:47.12 ID:TdRiDr6Y
>>484
ダメってわけじゃないんですが、よくわからないんですがあれは
peclていう機能追加なんですよね? プレーンな方法で出来ないのかなって思いまして…
486nobodyさん:2011/08/13(土) 02:53:21.25 ID:???
できることはできるよ。
exifの仕様を調べてPHPのバイナリ操作で削除すればいい
487nobodyさん:2011/08/13(土) 02:55:20.34 ID:???
>>486
やっぱりそんな面倒な手順になるんですか…
peclの勉強と思ってimagemagickにチャレンジしてみます!
というかまずpeclがなんなのか、そこから調べてみますね
ありがとうございました
488nobodyさん:2011/08/13(土) 02:59:32.90 ID:???
ぐぐったらpelってのがあったわ
http://lsolesen.github.com/pel/
あとid出してね
489nobodyさん:2011/08/13(土) 03:15:10.17 ID:TdRiDr6Y
>>488
こんな時間にありがとうございました
とりあえずimageMagickのインストールをはじめてしまったんですが、
そちらのやり方もあるんですね
ありがとうございました
490nobodyさん:2011/08/13(土) 13:56:48.57 ID:R4f4VSoL
AサーバーにアカウントのDBを保存して
BサーバーでAサーバーのDBを取り出したり、変更したりする
という事をやりたいのですがこの場合、Bサーバーでは

mysql_connect('ホスト名', 'ユーザー名', 'パス');
のホスト名をAサーバー用に hoge とするだけでいいのでしょうか?
どうも上手くいかず
491nobodyさん:2011/08/13(土) 14:10:53.00 ID:???
そのAがBとどういう関係にあるのか知らないけどそれでだめなら無理。
492nobodyさん:2011/08/13(土) 14:16:35.08 ID:R4f4VSoL
全くの別なんですが、すみません、サーバーはいつも人任せなのでよく知りませんでした
何か特別な関係にさせるとかるんですかね
493nobodyさん:2011/08/13(土) 14:24:39.71 ID:???
DBが動いているサーバーが外部からアクセスし放題だったら気持ち悪いと思いませんか?
494nobodyさん:2011/08/13(土) 14:29:08.20 ID:???
まー出来ると言えば出来るけど
SONYのとか
495nobodyさん:2011/08/13(土) 15:05:24.97 ID:???
DBとアプリサーバを同じマシン上に構築すればDBサーバへの無意味な外部アクセスは防げるし
ポートもふさぐことができるので一石二鳥・・・?
496nobodyさん:2011/08/13(土) 15:07:52.88 ID:???
grant all privileges on A.* to [email protected] identified by 'password';
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html#doc1_id340
497nobodyさん:2011/08/13(土) 15:22:33.40 ID:???
どっちみちルート権限ないと無理
どうせルート権限のないその辺の共有サーバだろうし無理だろう
498nobodyさん:2011/08/13(土) 15:29:35.35 ID:???
ルート権限ないと無理とか本当にわかって言ってるのか疑問だわ
最適解は環境によって違うからなんとも言えないけどな

DBとAPPサーバを分離してDBサーバには
外部から見えないところに置くという構成もありうるのに
DBとAPPサーバが両方共WANに繋がってる前提でしかないのかw

>>490はもうちょっとネットワーク構成等の環境をちゃんと書くべき
499nobodyさん:2011/08/13(土) 15:46:23.68 ID:???
>DBとAPPサーバを分離してDBサーバには
>外部から見えないところに置くという構成もありうるのに
そんな構成にするやつは
こんなとこで質問しませんよ
500nobodyさん:2011/08/13(土) 15:47:55.63 ID:???
>もうちょっとネットワーク構成等の環境をちゃんと書くべき
そんな構成を書けるやつは
こんなとこで質問しませんよ
501nobodyさん:2011/08/13(土) 15:56:36.54 ID:???
というか、PHP側でエラーログとれないんだっけ?
502nobodyさん:2011/08/13(土) 16:44:35.89 ID:???
Ajax側で可能
503nobodyさん:2011/08/13(土) 20:42:33.10 ID:e//DbYP0
http://www.pixiv.net/tags.php?tag=PHP%E5%B8%9D%E5%9B%BD%E3%81%AE%E9%80%86%E8%A5%B2&order=date

PHP講座をちょっとはじめてみたんだけど、
とりあえず、ここまでの説明で、
致命的に、説明や理解が間違ってるところとか、
ないよね?
504nobodyさん:2011/08/13(土) 20:44:11.27 ID:???
ある
505nobodyさん:2011/08/13(土) 20:52:58.05 ID:e//DbYP0
>>504
いやいやいやwww

ロボットじゃないんだから、「ある」
だけじゃなくて、具体的にどうなのか、
ってところまで含めて言ってもらわないとwww
506nobodyさん:2011/08/13(土) 21:04:33.39 ID:???
>>505
そのレスはいろいろ問題がある
507nobodyさん:2011/08/13(土) 21:08:39.93 ID:???
勇気は認めるがPHP講座とか恥ずかしいな
508nobodyさん:2011/08/13(土) 21:35:22.69 ID:???
1時間目がいきなりつづくなんだが何でだ
509nobodyさん:2011/08/13(土) 21:37:04.76 ID:???
永遠に終わらない初心者講座か
510nobodyさん:2011/08/13(土) 21:37:51.14 ID:???
初心者がなぜ初心者講座?
511nobodyさん:2011/08/13(土) 21:39:44.65 ID:???
テニスしろみたいなネタかい?
512nobodyさん:2011/08/13(土) 22:08:47.83 ID:e//DbYP0
とりあえず、おまいらが一読した限りでは、
致命的な理解ミスはなかったみたいだね。

そこだけ確認できれば、とりあえずはそれでいいです。
513nobodyさん:2011/08/13(土) 22:13:34.17 ID:???
ワロス
514nobodyさん:2011/08/13(土) 22:28:33.96 ID:???
夏だねぇ
515nobodyさん:2011/08/13(土) 22:39:30.25 ID:???
>>503
ヲチはヲチ板で
516nobodyさん:2011/08/13(土) 22:50:05.01 ID:???
>>512
セッションハイヂヤック対策がされていないのでセキュリチイに重大な瑕疵がある
517nobodyさん:2011/08/13(土) 22:55:42.46 ID:???
まだPHPの話しが1度もでてない件
518nobodyさん:2011/08/13(土) 23:16:11.74 ID:???
>>503
第一話 つづく
第二話 ルータはステルスモードにしよう
第三話 プライベートIPとは

これでどうアドバイスしろと…
初歩的すぎる、無駄に長い、用語が曖昧すぎる
少なくとも初心者向けではないと思うね
用語の使い方からしてよくわかってない人が一生懸命説明しようとして空回りしてる感じ
519nobodyさん:2011/08/13(土) 23:53:21.79 ID:???
新手の売名行為か
宣伝乙
520nobodyさん:2011/08/14(日) 02:10:25.66 ID:???
なりすましの晒しだろ
521nobodyさん:2011/08/14(日) 03:25:22.00 ID:???
広告だらけで見てるだけで気分が悪くなる
522nobodyさん:2011/08/14(日) 03:26:22.01 ID:???
つまり単なるアフィサイトを2chで宣伝しただけか。
523nobodyさん:2011/08/14(日) 03:30:04.85 ID:???
ひらがなとカタカナだらけの文章でいかにも頭悪そう
アパッチとか書かれると戦闘ヘリを連想しちゃう
524nobodyさん:2011/08/14(日) 09:47:57.40 ID:???
サイト自体がpixivだから宣伝って訳では無いだろうけど
確認してもらうっていう段階でも無いわな
自己知識への整理としてこういった試みをするのは問題ないとは思うがw
525nobodyさん:2011/08/14(日) 11:33:52.85 ID:???
>>523
俺たちゃ裸がユニフォーム
526nobodyさん:2011/08/14(日) 11:37:10.71 ID:???
漫画で、と言いながらほとんど文字だけなのはどうなんだろw
よくわかってないけど、こんな感じでぼんやり覚えましたって内容だな
527nobodyさん:2011/08/14(日) 17:18:42.02 ID:???
PHPのピの字もわからないものですが質問させてください。
はてなブックマークのホットエントリを取得し、1ページ目に何件、2ページ目に何件という風に表示しようと思っているのですが、
RSSの表示を
<?php
$rss = simplexml_load_file('http://b.hatena.ne.jp/hotentry?mode=rss');
echo "<ul>\n";
foreach ($rss ->item as $item) {
echo "<li><a href='$item->link'>$item->title</a></li>\n";
}
echo "</ul>";
?>
として、
ページ送りについては http://q.hatena.ne.jp/1287372348 を参考にしてやりました。が、
2ページ目に行っても3ページ目に行っても同じ内容しか出ません。どうしてでしょうか?
どうすればページごとで表示にできますか?
528nobodyさん:2011/08/14(日) 17:27:38.02 ID:???
なんかのネタ?
ちゃんと下記のURLを読んでから出直しておい
529nobodyさん:2011/08/14(日) 17:41:07.44 ID:???
530nobodyさん:2011/08/14(日) 17:42:53.44 ID:cY2pTan9
失礼しました。sageでIDが出るのかと・・・
531nobodyさん:2011/08/14(日) 17:51:07.89 ID:???
>>530
変数の状態を追ってデバッグしてみるといいよ
532nobodyさん:2011/08/14(日) 18:04:22.71 ID:cY2pTan9
>>531
ありがとうございます。まずデバックからググッてみることにします
533nobodyさん:2011/08/14(日) 18:17:16.45 ID:???
クじゃなくてグ
534nobodyさん:2011/08/14(日) 19:15:34.63 ID:???
>>532
まずは変数の状態を追ったほうがいいと思うよ
535nobodyさん:2011/08/14(日) 19:48:38.29 ID:cY2pTan9
>>534
わかりました。変数の状態を追ってみます。
536nobodyさん:2011/08/14(日) 20:08:18.82 ID:RD798Zt3
スレチかもですがamebaとかGREEって何という言語でできてるのですか。掲示板
やchatの応用な気がして勉強しようかと思ってます
537nobodyさん:2011/08/14(日) 20:18:55.32 ID:???
GREEはPHP
amebaは知らん
538nobodyさん:2011/08/14(日) 20:38:03.71 ID:RD798Zt3
なるほどありがとうございます
539nobodyさん:2011/08/14(日) 20:57:30.09 ID:RD798Zt3
JAVAは関係ないでしょうか?WebアプリはJAVAですよね
540nobodyさん:2011/08/14(日) 22:07:43.75 ID:???
WebアプリはAjaxだべ
541nobodyさん:2011/08/14(日) 22:39:36.40 ID:V03zcRVE
おまえらその質問マルチだぞ
http://hibari.2ch.net/php/#3
542nobodyさん:2011/08/14(日) 22:45:08.35 ID:???
いやそんなリンクはられても困ります
せめてスレのリンクを
543nobodyさん:2011/08/15(月) 05:32:35.30 ID:???

 おはよぉ〜

 PHPプログラマ〜の、おねぇさんだよぉ〜ん

 今は夏休みで、実家に帰ってます。
 スレが気になって見に来ました。
 今日は暇だから、どんな質問でも答えるね。

 さて、どんな質問が残ってるのかな?

544nobodyさん:2011/08/15(月) 05:37:27.09 ID:???
>>543
だから下着の色を教えろっての
545nobodyさん:2011/08/15(月) 08:38:19.40 ID:tC4WNcNT
「わぷー」とかWPおわったなw
546nobodyさん:2011/08/15(月) 10:35:38.29 ID:???
>>544 ID出さないから答えない
547nobodyさん:2011/08/15(月) 15:39:52.05 ID:/VGmfG1h
すみませんがどなたかご教授お願いいたします。以下の文を
実行するとFatal error: Call to undefined function query()というエラーが出てしまいます 。
smartyを使っている文を参考にしてsmartyを使っていないPHPファイルを書いたものです。
どこを直せばよいのでしょうか?

$counterpart = $result->fetch_array(MYSQLI_ASSOC);
$_query =query("UPDATE tbShop SET showing_order = ".$counterpart["showing_order"].", active = 0 WHERE showing_order = $order");
$mysqlw->query($_query);
$_query =query("UPDATE tbShop SET showing_order = $order WHERE showing_order = ".$counterpart["showing_order"]." AND active = 1");
$mysqlw->query($_query);
$_query =query("UPDATE tbShop SET active = 1 WHERE showing_order = ".$counterpart["showing_order"]);
$mysqlw->query($_query);
548nobodyさん:2011/08/15(月) 15:41:55.00 ID:???
これだけじゃわからん
とりあえずqueryが定義されて無い
549nobodyさん:2011/08/15(月) 15:51:30.80 ID:???
すみません。情報不足ですか。
以下二つはtbShopのDBのカラム名です。(mysql)。

| showing_order | int(10) unsigned | YES | | 0 | |
| active | tinyint(3) unsigned | YES | | 0 |


また、該当部分を先ほどのレスで足りない部分から抜き出しました。
orderはgetでうけとっています。よろしくお願いいたします。


$order = NULL;
if (isset($_GET["order"])) {

$order = mysql_real_escape_string($_GET["order"]);
}


$result = $mysqli->query("SELECT showing_order FROM tbShop WHERE showing_order > $order ORDER BY showing_order LIMIT 1");
$counterpart = $result->fetch_array(MYSQLI_ASSOC);




$_query =query("UPDATE tbShop SET showing_order = 2, active = 0 WHERE showing_order = 1");
$mysqlw->query($_query);
$_query =query("UPDATE tbShop SET showing_order = $order WHERE showing_order = ".$counterpart["showing_order"]." AND active = 1");
$mysqlw->query($_query);
$_query =query("UPDATE tbShop SET active = 1 WHERE showing_order = ".$counterpart["showing_order"]);
$mysqlw->query($_query);
exit;
550547:2011/08/15(月) 15:52:29.89 ID:/VGmfG1h
失礼致しました。。>>549も自分です。
551nobodyさん:2011/08/15(月) 15:53:06.31 ID:???
smartyを使わないから知らないけどqueryしたものを更にqueryするって違和感ある
552nobodyさん:2011/08/15(月) 15:56:30.00 ID:???
>>549
queryじゃなくてmysql_queryなんじゃ?
queryはちゃんと定義してるの?
553nobodyさん:2011/08/15(月) 15:59:57.13 ID:/VGmfG1h
レスありがとうございます。
初心者で見よう見まねで作っているので。大変助かります。
queryの定義のご指摘ありがとうございます。
実はキチンと理解できていませんのでさっそく調べてみます。
554nobodyさん:2011/08/15(月) 16:10:58.94 ID:???
>>553
とりあえず
$counterpart = $result->fetch_array(MYSQLI_ASSOC);
var_dump($counterpart);
die();
でちゃんと取得できてるか見た方が良いんじゃないか
555nobodyさん:2011/08/15(月) 16:13:45.50 ID:???
$_query =query("UPDATE tbShop SET showing_order = $order WHERE showing_order = ".$counterpart["showing_order"]." AND active = 1");
このquery関数が無いつってんだろ。
query()外すだけで動きそうな
556nobodyさん:2011/08/15(月) 16:51:18.36 ID:/VGmfG1h
>>554
ありがとうございます。見てみたらちゃんと取得できていました。

>>555 $_query =$mysqli->queryに直したら動きました。
他人のソースを参考に手さぐりで進めているもので皆さんの助言がありがたくなんとか進めそうです。
もうちょっと頑張って完成させます。
557nobodyさん:2011/08/15(月) 20:34:02.63 ID:???
基礎をちゃんと勉強しなよ・・・
558nobodyさん:2011/08/15(月) 20:34:46.25 ID:???
>>557
うるさいよ。俺のかってだろ。
559nobodyさん:2011/08/15(月) 21:55:13.02 ID:???
小学生の頃、先生に頼まれ近所の障害児の家に遊びに行った。
するとそいつはドラクエをやってたので「へー、こいつでもドラクエ出来るんだー」と思ったが、
よくみればレベルはかなり上がってるのに話が全然進んでない。
スライムやドラキーをバサバサ切り捨てるだけ。
ストーリーを進めてやろうとコントローラーをちょっと借りようとすると奇声あげ怒り出す。
母「ごめんなさいね、○○ちゃんドラクエが大好きなのよ」

おそらく永久に助けだされないのに永久に勇者を待ち続けるローラ姫や
永久に倒されることのないゾーマ。
この世界には永久に平和は訪れずいつまでも闇の世界なんだとおもうとせつなかった。
560nobodyさん:2011/08/16(火) 01:55:21.62 ID:???
>>559
その人のことはよく知っています。
彼は一度クリアした後に、最初からやり直していたみたいです。
ずっと家でゲームばかりしていたので、普通に進めると簡単にクリアしてしまうので、
話を進めずに雑魚ばかり倒してレベルをどこまで上げられるかをやっていたのです。
自分なりの楽しみ方を見つけていたのですね。
561nobodyさん:2011/08/16(火) 02:51:22.21 ID:K2+kbzKe
mysqlのレプリケーションってPHP側でなんか設定する事とかあるんですかね?
変更するDBと参照するDBとで設定分けないと駄目だとか
562nobodyさん:2011/08/16(火) 03:13:58.38 ID:???
>>561
PHP側で変更するDBの設定とは?
563nobodyさん:2011/08/16(火) 03:29:13.40 ID:???
>>562
それを聞いているのですが・・・
564nobodyさん:2011/08/16(火) 04:02:40.72 ID:???
IDは?
565nobodyさん:2011/08/16(火) 06:42:48.00 ID:???
何のIDですか?DBには設定してあります。
566561:2011/08/16(火) 07:46:01.63 ID:???
自己解決しました
567nobodyさん:2011/08/16(火) 10:56:51.64 ID:jcHZicfg
すみません、初心者スレがないのでここで質問させてください
PHPを使ってヤマトとか佐川とかJPの配送料金計算が出来るapiって
ないでしょうか?
568nobodyさん:2011/08/16(火) 11:13:11.77 ID:???
http://www.shipping.jp/api/
ググったけどこんなやつ?
569nobodyさん:2011/08/16(火) 12:51:35.24 ID:jcHZicfg
>>568
おお、ありがとうございます。自分じゃ見つけられませんでした
こういうの、思いついて作る側にならなきゃダメですね
料金改定の手間もあるのに、すごいなー作れる人…
570nobodyさん:2011/08/16(火) 13:49:28.94 ID:K2+kbzKe
>>562
アクセスするホストが違うんで、2つコネクタが必要なのかなと思いまして。
571nobodyさん:2011/08/16(火) 15:03:22.18 ID:???
stringのstarts_withとかends_with、
よく使いそうな関数を集めた便利ライブラリで有名所ってあるのかな?
PEARやgithub漁ったけど見つからないです・・・
572nobodyさん:2011/08/16(火) 15:15:10.14 ID:???
「よく使いそうな」が人によって違うから無いと思うよ
573nobodyさん:2011/08/16(火) 16:01:34.50 ID:???
自分が使いやすいように作ったらいい。
どうせ他人が見たら見慣れないソースになるんだからさw

strpos() === 0ならわざわざ呼ばない、後方一致なら呼ぶかも。
後方一致を使う場面はファイルの拡張子あたりだろうけど
それなら別の手を使う。それ以外のケースは考え直した方が
お得かもしれない。
574nobodyさん:2011/08/16(火) 16:55:22.90 ID:GFCfiWJ6
質問です
html上のテキストフォームに直接関数を入力してPOSTしたその関数をそのまま実行する事ってできますか?
575nobodyさん:2011/08/16(火) 17:02:04.70 ID:???
意味がよくわからん、eval 使うとか?
まあ危険だから一般公開はしないほうがいいけど
576nobodyさん:2011/08/16(火) 17:07:13.67 ID:???
おおできました、ありがとうございます
できるのかなっていう興味本位とローカルで試したかったんです
分からないんでphpに書き出してそれを読み込もうとしてました・・・
577nobodyさん:2011/08/16(火) 18:41:55.30 ID:???
$chk1 となっている変数の数字部分を変数で表したいのですが、

$a=1;
$chk$aなどと書くとエラーになります。
どのように記述すればよろしいでしょうか?
578nobodyさん:2011/08/16(火) 18:48:09.76 ID:???
なんだっけ・・・
$chk{$a}
こんな事できなかったっけ?
579nobodyさん:2011/08/16(火) 18:49:01.64 ID:???
580nobodyさん:2011/08/16(火) 18:50:19.41 ID:3xMYGdVH
ありがとうございます。
さっそくやってみます!
581nobodyさん:2011/08/16(火) 19:06:17.66 ID:???
きもい言語だな
582nobodyさん:2011/08/16(火) 19:22:52.99 ID:3xMYGdVH
>>578できなかったみたいです。
実際に使いたいのは以下で、
上のwhile文でチェックボックス用のcheckedを作り
下の文でそれを利用したいです。

while ($row = $result->fetch_array(MYSQLI_ASSOC)) {

if($value == $row['seq']){
$chk{$row['seq']} = 'checked'; }
}





<?php
$result = $mysqli->query("SELECT * FROM tbShopmenuCategory ORDER BY seq ");
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
?>
<input type="checkbox" name="category_seq[]" value="<?php echo $row[seq] ?>" <?= $chk{$row['seq']} ?>> <?php echo $row[category]; ?>

<?php
}
?>
583nobodyさん:2011/08/16(火) 19:24:12.07 ID:???
$name = $chk.$a:

$$name
584nobodyさん:2011/08/16(火) 19:25:56.38 ID:???
>>579見落としていました。
やってみます!
585nobodyさん:2011/08/16(火) 19:33:36.02 ID:3xMYGdVH
できませんでした。。
>>583さん、$name = $chk.$a:
$$name

の$$nameはどうなっているのでしょうか?
使い方がよくわかりません。すみません
586571:2011/08/16(火) 20:04:00.62 ID:???
>>572 >>573
結局、みんなそういうスタンスだから、スタンダードなものがないんだなw
CakePHP向けとかはあるんだけどなあ。
まあ、自分がなにか作って公開するかな。
587nobodyさん:2011/08/16(火) 20:14:40.68 ID:???
神が光臨したぞ〜
ライブラリまだー????
588nobodyさん:2011/08/16(火) 20:23:56.46 ID:???
589nobodyさん:2011/08/16(火) 20:54:23.98 ID:???
あー、そういう事か
{ }を[ ]に変えるだけでおk
590nobodyさん:2011/08/16(火) 20:56:45.32 ID:???
$chk = 'label';
$a = '1ban';
$chk1ban = 'これが表示されます。';

$name = $chk.$a:
echo $$name;
591nobodyさん:2011/08/16(火) 21:00:04.15 ID:???
つか、そういう時は配列を使え
592nobodyさん:2011/08/16(火) 21:14:33.18 ID:???
あら、間違えてる

$chk1ban = 'これが表示されます。';

$label1ban = 'これが表示されます。';
593nobodyさん:2011/08/16(火) 22:04:37.30 ID:IjmFjSTm
画像をアップロードするだけのphpを組んだのですが、
281220100908001.jpgをアップロードすると281220100908001.jpg
が画像の名前が変更されるアップロードされます。
同じ名前の画像だと上書きされていきます。
アップロードした画像の名前を変えるにはどうするのですか?
以下の変更点を教えて下さい
<?php
//ファイルの取り出し
$file_name=$_FILES['filename']['name'];
//ファイルMIME)タイプの取り出し
$file_type=$_FILES['filename']['type'];
//一時ファイル名の取り出し
$temp_name=$_FILES['filename']['tmp_name'];

// 保存先のディレクトリ
$dir = 'uploads/';
// 保存先のファイル名
$upload_name = $dir.$file_name;

// JPEG形式、GIF形式のファイルをアップロードする
if(($file_type =='image/jpeg') || ($file_type =='image/pjpeg')){
// アップロード(移動)
$result = move_uploaded_file($temp_name, $upload_name);//これがないと失敗
echo ($result)?'■アップロード成功':'■アップロード失敗';
} else {
// JPEG形式、GIF形式以外のファイルはアップロードしない
echo '■JPEG形式またはGIF形式の画像をアップロードしてください。';
}
?>
<br>
<img src="<?php echo $upload_name; ?>">
594nobodyさん:2011/08/16(火) 22:13:00.18 ID:???
>>593
if (file_exists($upd_name))
595nobodyさん:2011/08/16(火) 22:15:06.71 ID:???
file_nameを拡張子とファイル名に分割して
ファイル名_連番?_拡張子みたいな形にすりゃいいんじゃない?
596nobodyさん:2011/08/16(火) 22:23:30.59 ID:???
DBに登録とかしとかないと元のファイル名が復元できなくなるけどな
597nobodyさん:2011/08/16(火) 22:56:08.13 ID:IjmFjSTm
やってみます。
598nobodyさん:2011/08/16(火) 23:16:46.04 ID:???
謝意は・・・?
599nobodyさん:2011/08/17(水) 00:22:46.32 ID:RjW3mnLQ
関数のスコープでローカルとグローバルの中間はありますか。具体的に言うと
$data=array();$data["1"]="あ";$data["2"]="い";$data["3"]="う";
$matches=array();
preg_replace_callback('/([0-9]+)/',function($str){$matches[]=$str;return $data[$str];},"1-2-3");
という、値から数値を取り出してコールバック関数に渡しているのですが
このコールバック関数に
・マッチした文字列以外の値(この例では$data)を渡したい
・return以外の値を返したい($matchesに入れたい)のです
グローバル関数にすればいいのですが、出来ればグローバル関数は汚したくないです。
600nobodyさん:2011/08/17(水) 00:27:50.86 ID:???
名前空間とかクラスとか
601nobodyさん:2011/08/17(水) 00:33:33.03 ID:???
はしょりすぎだろ
602nobodyさん:2011/08/17(水) 00:34:35.47 ID:???
じゃあ補完すりゃ良いだろ
603nobodyさん:2011/08/17(水) 00:40:25.40 ID:RjW3mnLQ
>>601
えーと、もっと細かく書くと
function syori($hoge){
 $data=array();$data["1"]="あ";$data["2"]="い";$data["3"]="う";
 $matches=array();
 $kekka["k"]=preg_replace_callback('/([0-9]+)/',function($str){$matches[]=$str;return $data[$str];},"1-2-3");
 $kekka["r"]=$matches;
 return $kekka;
}
$result=syori("1-2-3");

こんな感じです。
この状態だとグローバルにはdataもmatchesもkekkaも出てないですよね
でもdataとmatchesは機能してくれません。多分kekka[k]は"--"、matchesは空白になるのかな。
dataとmatchesをグローバルにすれば出来るけどグローバルにはしたくない という事です。
604nobodyさん:2011/08/17(水) 00:54:48.13 ID:???
・・・。
レベルたけえな

とりあえずどういう値を入れたらどういう結果が欲しいのかね
605nobodyさん:2011/08/17(水) 01:11:26.91 ID:RjW3mnLQ
ごめんなさい説明力低くて。
function syori($hoge){
 $data=array();$data["1"]="あ";$data["2"]="い";$data["3"]="う";
 $matches=array();
 $kekka["k"]=preg_replace_callback('/([0-9]+)/',function($str){$matches[]=$str;return $data[$str];},"1-2-3");
 $kekka["r"]=$matches;
 return $kekka;
}
$result=syori("1-2-3");

において、$dataと$matchesがグローバルだった場合は
$resultが
$result["k"]="あ-い-う";
$result["r"]=array("1","2","3");
となって欲しいです。

つまり
function($str){$matches[]=$str;return $data[$str];}
の中の$matchesと$dataをどうにかしてこの無名関数の外に出し入れしたい。という事です
606nobodyさん:2011/08/17(水) 01:13:49.89 ID:???
>>605
もう一回arrayで纏めれば?
607:2011/08/17(水) 01:19:36.59 ID:???
function syori($hoge){
$data=array();$data["1"]="あ";$data["2"]="い";$data["3"]="う";
$matches=array();
$kekka["k"]=preg_replace_callback('/([0-9]+)/',function($str) use (&$matches,&$data){$matches=$str;return $data[$str[1]];},"1-2-3");
$kekka["r"]=$matches;
return $kekka;
}
$result=syori("1-2-3");
print_r( $result );
608nobodyさん:2011/08/17(水) 01:21:49.80 ID:???
コールバック関数使わない処理のほうがシンプルなんじゃないか
609:2011/08/17(水) 01:22:17.01 ID:???
ていせい
$kekka["k"]=preg_replace_callback('/([0-9]+)/',function($str) use (&$matches,&$data){$matches[]=$str[1];return $data[$str[1]];},"1-2-3");
610nobodyさん:2011/08/17(水) 01:52:08.64 ID:RjW3mnLQ
>>607,609
use、そういうのもあるのか!
いやマジで感謝です。phpの仕様だから無理だろうなあーとあきらめ半分でしたけどマジで出来るとは
611nobodyさん:2011/08/17(水) 03:13:27.87 ID:???
謝意は・・・?
612nobodyさん:2011/08/17(水) 03:26:03.60 ID:???
シャイなので・・・
613nobodyさん:2011/08/17(水) 05:59:18.51 ID:???
>>610
クロージャの所にはちゃんと載ってる
http://www.php.net/manual/ja/functions.anonymous.php
614nobodyさん:2011/08/17(水) 08:27:01.61 ID:???
PHPでもクロージャ扱えるようになってたのか。
615nobodyさん:2011/08/17(水) 08:46:37.07 ID:???
サンプルを見て思ったのだがあれは便利になったと言えるのか?
616nobodyさん:2011/08/17(水) 19:18:23.17 ID:QGqYmGAb
質問です
http://www.example.com/
とかあった場合、最後のスラッシュだけを取り除くにはどうしたら良いでしょうか?
617nobodyさん:2011/08/17(水) 19:43:11.94 ID:???
Javascriptと違って、クロージャにしてもその時点での変数の値が封される訳じゃないからぜんぜん便利な気しないな。
まぁ、だからといって、外の変数にクロージャからアクセス出来たらこれまた変な事になるんだが。

>>616
substr($url, -1, 1)とか、rtrim($url, '/')とか?
dirnameでもできそうな気もする
618nobodyさん:2011/08/17(水) 19:55:27.38 ID:???
$str[strlen($str) - 1] = "";
こう言った方法もある
619nobodyさん:2011/08/17(水) 20:04:26.82 ID:QGqYmGAb
>>617-618
あ、できれば正規表現でお願いします
620nobodyさん:2011/08/17(水) 20:10:47.06 ID:???
ほんとこのスレ素人ばっかだなw

プロならpurse_url
621nobodyさん:2011/08/17(水) 20:16:11.14 ID:???
>>619
最後のスラッシュだけ省きたいのであれば
preg_replace('#/$#',''"http~略")
でいいけどこんなことの為だけに正規表現使うの?

>>620
purse_urlは要件満たしてないだろw
そして無駄な処理が入るわけだからそれを選択する理由は無い
622nobodyさん:2011/08/17(水) 20:16:38.63 ID:???
purse_urlなんて使うプロの人って、ひとりも知らんかったわ。
ほんと>>620は尊敬に値するぜ!

>>619
正規表現って、使い方分かって言っておるん?
^(.+)/$
623nobodyさん:2011/08/17(水) 20:20:37.91 ID:QGqYmGAb
自己解決しました
$url = preg_replace("/\/$/","",$url);
答えてくれた人ありがとうございます。

>>621
ちなみにその#って何ですか?
正規表現を使う理由は、やっぱこういうのって正規表現を使ったほうが良いと思うんですよ。
PHP独自の関数なんていつ使えなくなるかわかりませんし。4から5になって使えなくなった関数もたくさんありますし。
624nobodyさん:2011/08/17(水) 20:21:19.68 ID:???
でも正規表現関数は使うんだw
625nobodyさん:2011/08/17(水) 20:23:01.64 ID:QGqYmGAb
あ、/のかわりか。
正規表現は使いまわしできますし。
626nobodyさん:2011/08/17(水) 20:28:37.05 ID:???
「PHP独自の関数」の意味が分からんが、PHP独自のネーミングセンスって意味なら、substrもrtrimもphpだけじゃなくてPerlでもCでも確かあった・・・と思うが。

まぁ、正規表現に慣れる為に、なんでもかんでも正規表現、って道は無くもないとは思う。
普通に文字列処理の関数で出来るんならそっちでやった方がコスト的にもいいが。
627nobodyさん:2011/08/17(水) 20:30:49.73 ID:???
まぁ、本人がそれでいいならいいだろう
628nobodyさん:2011/08/17(水) 20:34:37.36 ID:???
>>623
そう/の替りに使ってる
PHPの正規表現はセパレータが変えれるから
正規表現を読みやすくする為に変えてる

629nobodyさん:2011/08/17(水) 22:13:23.78 ID:???
これで独立できる

売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィスで収入を得ながらそこで開発する
http://tinyurl. com/43xmk7m
http://tinyurl. com/3mopkfy
630nobodyさん:2011/08/17(水) 22:37:42.79 ID:XqGbAqdG
CGIゲームとかで、
「1日、1回、100ゴールドの給料をやる」
ってアルゴリズムにした場合、
サーバーをずーっと起動しっぱなしで運用するなら、
毎日、夜中の00:00に、そのプログラムを走らせるように
cronとか、タスクスケジューラを組んでおけばそれで済む話だが、
お出かけするときはサーバーの電源も落とす。

てな感じの運営ポリシーだと、サーバーの電源を落としたまま
3日たってしまって、給料の支払いが3日分、たまってしまう。


この場合はどう処理すればいいのか。
なんかのキューに入れておいて、サーバーを起動しで、
最後に給料を振り込んだ日時をテキストファイルに記録しておいて、
今の日時をみて、24時間以上経っていたら、3回分を一度にまとめてふりこむ。

こんな感じの実装でいいのか。
631nobodyさん:2011/08/17(水) 22:40:41.39 ID:???
シリアライズしてしまえば?
632nobodyさん:2011/08/17(水) 22:54:47.04 ID:???
>>630
好きにしろ。PHPと関係ない
633nobodyさん:2011/08/17(水) 22:57:54.41 ID:XqGbAqdG
>>631
もっとくわしく。
634nobodyさん:2011/08/17(水) 23:05:56.64 ID:???
>>630
> 最後に給料を振り込んだ日時をテキストファイルに記録しておいて、
> 今の日時をみて、24時間以上経っていたら、3回分を一度にまとめてふりこむ。

この処理を毎日0時に実行すればいいじゃん。3回分じゃなくて経過日数分だけどな。
あとそういう情報の記録はDB使え
635nobodyさん:2011/08/17(水) 23:17:26.83 ID:???
単に経過時間だけなら、最後の日から計算すればいいだけじゃん
636nobodyさん:2011/08/17(水) 23:28:02.22 ID:???
やべ話題にのりおくれた
一言いわせてくれ
ぷーすURLってなんだよばーか
637nobodyさん:2011/08/17(水) 23:57:09.67 ID:???
>>636
乗り遅れたと自覚してるなら口を慎め
638nobodyさん:2011/08/18(木) 00:45:24.05 ID:???
(´・д・`)ヤダ
639nobodyさん:2011/08/18(木) 00:50:57.62 ID:???
振り込むなんて処理すらいらね。
基礎給与  =  (今日の日付 -  開始の日付 ) * 日給額 で都度計算。
使った額だけ記録しとけ
640nobodyさん:2011/08/18(木) 01:27:28.35 ID:E4ylRXF2
質問
暗号化できて不可逆なパスワードのハッシュ化をしたいと思っています。
何がいいでしょうか?
今までcryptを使っていましたが危険らしいので他の方法を考えています。
641nobodyさん:2011/08/18(木) 01:37:20.81 ID:???
好きにしろ
642nobodyさん:2011/08/18(木) 01:45:22.12 ID:???
暗号スレとか暗号板とかそんなのなかったっけ
643nobodyさん:2011/08/18(木) 02:23:31.86 ID:???
復号できないものを暗号化と言うのか?
644nobodyさん:2011/08/18(木) 02:46:28.50 ID:???
暗号学的には不可逆でも暗号化って言うよ

ただ>>640はハッシュ化したものを
さらに復号化可能なアルゴリズムで暗号化したいと聞こえる
やりたいことがいまいち謎
645nobodyさん:2011/08/18(木) 03:43:47.67 ID:???
>>644
意地悪なことを言わないで教えて下さい。
暗号化できて不可逆なパスワードのハッシュ化をしたいだけです。
646nobodyさん:2011/08/18(木) 03:57:20.28 ID:???
評価の観点は?
647nobodyさん:2011/08/18(木) 04:23:15.02 ID:???
648nobodyさん:2011/08/18(木) 05:25:25.87 ID:wM+XEC3J
しつもんです
アクセスしてきたユーザのIPアドレスから居住地を判定するライブラリみたいなものって
ありますか?
649nobodyさん:2011/08/18(木) 05:27:56.97 ID:???
ある
650nobodyさん:2011/08/18(木) 05:32:42.76 ID:???
俺が使ってるライブラリなら番地まで特定できる
たまに誤差が発生するけど町名までは確実に取れる
651nobodyさん:2011/08/18(木) 07:58:08.14 ID:wM+XEC3J
>>649-650
おお、すみませんが教えてください
グーグルの奴を使ってみたんですが、なんか上手く動いてくれません
652nobodyさん:2011/08/18(木) 08:16:29.03 ID:???
タダで教えられるか
こっちだって元手が掛かってるんだ
653nobodyさん:2011/08/18(木) 08:53:20.61 ID:???
「暗号化できて不可逆なパスワードのハッシュ化」というのが、3重くらいの重言になっているから意味がわからんのだよ。
素直に解釈すると>>644の言うとおり「やりたい事が謎」としか言えん。

もう少し、それぞれの言葉の意味をよく理解してから質問しなおすのがいいんじゃね?
654nobodyさん:2011/08/18(木) 09:22:14.68 ID:???
cryptより安全なハッシュおしえてってだけのことだろ。

>>650
IPの仕組的に、町名まで確実にとれるというのはありえない。
自分の使ってるIPだと都道府県すら違って出る。
655nobodyさん:2011/08/18(木) 09:33:15.94 ID:???
関東と関西にわかれているプロバイダもあるけどそれでもある程度はIPの配置が決まっているから
判別できないわけではないかも?プロバイダ側も個人情報をわざわざ開示しないだろうから非公開
になっているだけでそれで地域が特定できないとは言い切れない。

ハッシュはユニークでは無いからそのキーでしか一致しない代物ではないので絶対に安全かって
言うとそうでもない。少なくともユニークな暗号よりも総当たりされた場合のリスクは高い。
内部犯行を嫌うハッシュか、外部犯行を嫌うユニークかだから好きな方を選べば良い。
656nobodyさん:2011/08/18(木) 09:38:21.52 ID:???
もちろん、取れることもある。 が *確実*はないってだけ。
あるお客さんで全国の拠点どこでも同じとこになるって文句があった。
インターネットには本社からしかつながってなかったという・・・

パスワードならハッシュがユニークでなくとも別にいいのでは。 使い方の問題。
同じパスワードを使ってる人は、DBに保管されてる暗号化されたパスワードってのは同じなわけで。
657nobodyさん:2011/08/18(木) 09:39:41.10 ID:???
どこを、というより全体を略さないと「cryptより安全なハッシュおしえてってだけのことだろ。」なんてならんがまぁ、
そういう事ならMD5とかsha1だろな。
どっちも脆弱性が報告されてるが。

意味も分からんのに心配してるだけなら、とりあえずストレッチしときゃぁいいだろ
658nobodyさん:2011/08/18(木) 09:40:14.87 ID:???
そういう場合はIDとパスワードでハッシュ化すんじゃねーの
659nobodyさん:2011/08/18(木) 09:46:34.92 ID:???
他の情報を加えてハッシュを算出すれば確かに内部犯行によるリスクは軽減されるね
660nobodyさん:2011/08/18(木) 09:47:47.60 ID:???
MD5とか sha1はそろそろ卒業
661nobodyさん:2011/08/18(木) 10:00:56.07 ID:???
パスワードに英単語をそのまま使っている人が多いからなー
662nobodyさん:2011/08/18(木) 10:12:54.19 ID:???
crypt使えcrypt
で、アルゴリズムをsha256かsha512にしろ
663nobodyさん:2011/08/18(木) 10:26:22.37 ID:???
json_encode() で json を生成するときに、下記のようにやると

$val = array("Body" => array("BooksBookSearch" =>
  array("Items" =>
    array( "Item" =>
      array( "aaa" => "bbb"),array( "ccc" => "ddd"),array( "eee" => "fff")
)));

json_encode()でJSONは

{"Body":{"Title":{"Items":{"Item":{"aaa":"bbb"},"0":{"ccc":"ddd"},"1":{"eee":"fff"}}}}}

このように生成されます。

実際は、

{"Body":{"Title":{"Items":{"Item":[{"aaa":"bbb"},{"ccc":"ddd"},{"eee":"fff"}]}}}}

の形式で生成したいのですが、どう配列を組めばよいのでしょうか。
664663:2011/08/18(木) 10:28:26.52 ID:5rc0bZA4
× $val = array("Body" => array("BooksBookSearch" =>
○ $val = array("Body" => array("Title" =>

でした。
665nobodyさん:2011/08/18(木) 10:36:06.36 ID:???
む?なぜ"0"とか入るのかわからんが、理想の形があるってのなら、逆変換して調べてみると分かるんでね?
つまり、やりたい形をjson_decode()にでも突っ込んでみる
666nobodyさん:2011/08/18(木) 10:42:43.24 ID:???
そしてvar_dumpすれば一目瞭然

おそらくデータファイルを外部から叩いてページに表示するJSあたりがあるのではないかと

667nobodyさん:2011/08/18(木) 10:48:29.99 ID:???
>>663
) が一つ足りないのでは?
668nobodyさん:2011/08/18(木) 10:50:20.95 ID:???
array() が抜けてるような
669nobodyさん:2011/08/18(木) 10:51:06.69 ID:???
>>663
再現しない
意図する結果になってるよ
670nobodyさん:2011/08/18(木) 10:51:40.10 ID:???
PHPのマニュアルにはBlowfishが推奨でソルトを加えろって書いてあるね
MD5はもちろん、SHA256もやめとけって書いてある
671nobodyさん:2011/08/18(木) 10:52:32.96 ID:???
あ、ごめん
コピペじゃなくて入力してたから違った
Item => array(
  array("aa"=>"bbb")
とせずに
Item => array("aa"=>"bbb")
としてるから違う結果になる
672663:2011/08/18(木) 10:52:36.63 ID:???
自分の狭窄さ加減に嫌気がするわw
json_decode() と var_dump を試してきます。
673663:2011/08/18(木) 10:56:27.62 ID:???
>>671
>>668さんのarray() が抜けてるというのはそういうことか。
array()の構造がもう一個要るのか・・・難しい。

みなさんありがとう
674nobodyさん:2011/08/18(木) 11:09:36.40 ID:8kZPbcbM
すみません。一昨日投稿した>>582です。
まだ>>582の問題が解決できません。
どのようにすればいいでしょうか?
できれば書き換えて示していただけると助かります。

while ($row = $result->fetch_array(MYSQLI_ASSOC)) {

if($value == $row['seq']){
$chk{$row['seq']} = 'checked'; }
}





<?php
$result = $mysqli->query("SELECT * FROM tbShopmenuCategory ORDER BY seq ");
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
?>
<input type="checkbox" name="category_seq[]" value="<?php echo $row[seq] ?>" <?= $chk{$row['seq']} ?>> <?php echo $row[category]; ?>

<?php
}
?>
675663:2011/08/18(木) 11:14:57.69 ID:???
>>674
<?php
$chk1 = "aaa";
$chk2 = "bbb";

echo "${'chk' . '1'}";
echo "${'chk' . '2'}";
?>

こういうこと?
676nobodyさん:2011/08/18(木) 11:24:43.73 ID:???
だから {} → []では?
677nobodyさん:2011/08/18(木) 11:35:10.47 ID:8kZPbcbM
>>676さん

while ($row = $result->fetch_array(MYSQLI_ASSOC)) {


if($value == $row[seq]){

$chk[$row[seq]] = 'checked'
}
}

<?php
$result = $mysqli->query("SELECT * FROM tbShopmenuCategory ORDER BY seq ");
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
?>
<input type="checkbox" name="category_seq[]" value="<?php echo $row[seq] ?>" <?= $chk[$row[seq]] ?>>


<?php
}
$result->close();

?>

このように{ }を[ ]に変えてやったりもしたのですが駄目でした。
678nobodyさん:2011/08/18(木) 11:41:06.96 ID:???
679nobodyさん:2011/08/18(木) 11:46:12.79 ID:???
var_dump( $chk)で中身見てみ、もともと空なのでは?
680nobodyさん:2011/08/18(木) 11:47:23.10 ID:???
可変変数なんて使おうとするなよ
それに質問きたら別の方法教えてやれよw

>>677
どうだめなのか書け
エラーが出てダメならエラーも書け
ショートオープンタグが使えても使うな
<?= → <?php
681nobodyさん:2011/08/18(木) 12:03:47.97 ID:???
echoしないと表示されないぜ
682nobodyさん:2011/08/18(木) 12:06:10.48 ID:???
>>675 で解決だろ。原因が可変変数ならば。
683nobodyさん:2011/08/18(木) 12:06:48.79 ID:???
<?=
684nobodyさん:2011/08/18(木) 12:15:02.93 ID:8kZPbcbM
返信ありがとうございます。
>>675なども試してやってみます。
できなかったらエラー内容やわかる範囲の原因なども書きます。
また後で報告させていただきます。
685nobodyさん:2011/08/18(木) 12:17:02.35 ID:???
回答じゃないが
$chk なんていらない。 二回もまわしてて変だし。
<?= $row['seq'] == $value ? '"checked"' : '' ?> でいいだろ。

そもそも
if($value == $row[seq]){
$chk[$row[seq]] = 'checked'
}
も ループの中にいらないし
$chk[$value] = 'checked' でしかない。
686nobodyさん:2011/08/18(木) 12:29:21.79 ID:8kZPbcbM
>>685さん
<input type="checkbox" name="category_seq[]" value="<?php echo $row[seq] ?>" <?= $row['seq'] == $value ? '"checked"' : '' ?>>
でよいということでしょうか?

<?= $row['seq'] == $value ? '"checked"' : '' ?>
のvalueから右がどうなっているかがわかりません。
?より左がtrueの時'checked'、falseのとき' 'を出力という意味でしょうか?
なんという文法でしょうか?
687nobodyさん:2011/08/18(木) 12:43:18.37 ID:???
>>686
三項演算子
688nobodyさん:2011/08/18(木) 12:43:55.84 ID:???
三項演算子

でも勉強段階なら、先の方法でも出来るようにしたほうがいいと思う。 
こんなの憶えるよりよっぽどいい。
ただ、どう出来ないのかがさっぱり分からんので何にも指摘出来ません。
689nobodyさん:2011/08/18(木) 15:13:21.82 ID:8kZPbcbM
>>685さんのアドバイスを受けて
$chk[$value] = 'checked'を使ってできました。

他の方にも色々アドバイスをいただけて本当に助かりました。
基礎的なところがまだまだなのでほかの方が上げてくださった
やり方なども試して勉強してみます。
690nobodyさん:2011/08/18(木) 18:58:27.07 ID:???
基礎的なところがまだまだな状態でプログラムやるよりまずマニュアルを一読したほうがいいと思うが
691nobodyさん:2011/08/18(木) 20:11:14.23 ID:???
的を得ているレスがあった

68:以下、名無しにかわりましてVIPがお送りします:2011/07/07(木) 09:45:21.81ID:xv2pzvIpO
わからない→調べる→解決、という流れで人間学習するもの
わからない→調べる→やっぱりわからない→人に聞く、の流れはまともな人間同士ならコミュニケーションにもなり得る
わからない→人に聞く、の流れはただの馬鹿
わからない→なにもしない、無能
692nobodyさん:2011/08/18(木) 20:21:27.04 ID:???
自分の過去レスですねわかります
693nobodyさん:2011/08/18(木) 20:38:38.21 ID:???
>>691
>的を得ている

つまりお前は無能ってことなんだな
694nobodyさん:2011/08/18(木) 21:35:49.34 ID:???
>>640
hash関数使うといい
695nobodyさん:2011/08/19(金) 04:49:56.96 ID:???
的は射る
得るのは当だwwww
的なツッコミ?
696nobodyさん:2011/08/19(金) 04:58:21.28 ID:???
「射る」のほうが誤用だよ
http://biff1902.way-nifty.com/biff/2010/04/post-63d8.html
697nobodyさん:2011/08/19(金) 05:30:25.18 ID:???
>>696
それはあくまでそいつの自説
お前もネットの情報を鵜呑みにするなよ
698nobodyさん:2011/08/19(金) 07:44:48.81 ID:???
じゃ何を元に判断すればいいの?
699nobodyさん:2011/08/19(金) 09:28:04.83 ID:???
PHPやセキュリティの解説サイトでも嘘とか古い技術が書かれてることがよくあるな
素人に毛が生えた程度の奴が書いてたりするし
700nobodyさん:2011/08/19(金) 09:29:49.82 ID:???
だからあちこちのサイトでデータを抜かれてるんでしょw
701nobodyさん:2011/08/19(金) 09:52:19.43 ID:???
702nobodyさん:2011/08/19(金) 13:18:56.02 ID:???
>>701
その辞書は100%信用できるのですか。
辞書だって人が書いた物。間違いだって有り得る。
703nobodyさん:2011/08/19(金) 13:30:31.23 ID:???
得るは歴史的に妥当な可能性があるだけで
現在一般的にはやっぱり射るが正しいって>>696にも書いてあるね
さすがに「『射る』が誤用」はない。
704nobodyさん:2011/08/19(金) 13:37:05.03 ID:???
PHPのスレでそんなことを書いてる方が間違い
705nobodyさん:2011/08/19(金) 14:03:12.89 ID:???
>>702
そんなこといってたら100%信用できるものなんてないでしょ
個人サイトより信頼性が高いのは確かだし、複数の辞書で確かめればある程度の信頼性は得られる
あなたが何かを100%信じるに足る根拠って何なの?
706nobodyさん:2011/08/19(金) 14:10:13.37 ID:???
>>705
質問はID晒しで
707nobodyさん:2011/08/19(金) 14:11:15.60 ID:???
>>705
俺は誰も信じないし誰からも信じられない。
708nobodyさん:2011/08/19(金) 14:17:32.59 ID:???
>>707
誰も信じないなら質問する意味がない
外界の情報をシャットアウトして引きこもってればいいんじゃない?
709nobodyさん:2011/08/19(金) 14:46:18.09 ID:???
辞書によっても様々だったりするような事を論じても意味がない
710nobodyさん:2011/08/19(金) 15:15:45.07 ID:???
>>709
根拠のない妄言
711nobodyさん:2011/08/19(金) 15:19:59.28 ID:???
人を信じないのに質問するのは自己矛盾だな
712nobodyさん:2011/08/19(金) 16:16:05.71 ID:???
はぁ? 参考にするだけだろw
回答を自分で確かめたら信じられる
713nobodyさん:2011/08/19(金) 16:29:54.17 ID:???
ガキどもそろそろ自由研究やれよ
714nobodyさん:2011/08/19(金) 19:36:41.89 ID:gexz26pY
foreachとsimpleXMLでXMLのデータを順繰りに見ていっているときに
以下のような書き方をして無限ループを発生させてしまいました。

foreach($versiondate as $version){

$date = $versiondate->date

}

上記のような書き方をした場合に、$versionの中の値が全然変わらずに
foreachによるループが一向に終了しないという現象でした。

記述が正しくなく、本来は
$version->date
と書くべきで、正しい記載に変更したらループも正常に回るようになったのですが
原因がわかりません。

なにが原因で上記のような現象が発生するのか、分かる方はいらっしゃらないでしょうか?
715nobodyさん:2011/08/19(金) 20:14:19.73 ID:???
あれ、値はコピーされるはずだから影響を受けないと思うんだけど本当にそれだけ?
716nobodyさん:2011/08/20(土) 03:17:49.78 ID:???
>>708
俺は回答はするけど質問したことは一度もないですよ。
717nobodyさん:2011/08/20(土) 03:30:39.52 ID:???
俺は質問はするけど回答したことは一度もないですよ。
718nobodyさん:2011/08/20(土) 05:41:47.74 ID:???
>>717
質問ならIDを出せ
719nobodyさん:2011/08/20(土) 10:22:28.52 ID:???
>>716
それなら他人の回答に「100&信用できるか」なんてケチつけずに黙って見てるか「100%信用できる証拠」をつきつけなよ
「あなたのいうことは100%信用できますか?」とそっくりそのまま返せるような水掛け論がお望み?
720nobodyさん:2011/08/20(土) 10:36:05.90 ID:???
>>714
全体像を出したら判るだろうが
再現もできないコードの一部分だけ出されてもな
721nobodyさん:2011/08/20(土) 10:40:25.11 ID:???
お二人とも場をわきまえない常識無しだってことだな。
722nobodyさん:2011/08/20(土) 13:41:32.05 ID:lT3E7dXT
imagedestroyの質問
echo $image;echo '<br>';
imagedestroy($image);
echo $image;echo '<br>';
として実行すると
Resource id #4
Resource id #4
となるのですが、imagedestroy関数は動いてるのですか?
723nobodyさん:2011/08/20(土) 14:07:36.64 ID:???
気になるならヘッダーでイメージを吐いてみれば目で確認できるよ
724nobodyさん:2011/08/20(土) 14:51:08.00 ID:???
でかい画像作って、
破棄する前後でメモリの様子見てみたらいいんじゃね?
725nobodyさん:2011/08/20(土) 16:53:40.28 ID:lT3E7dXT
>>723
>>724
メモリーはさっぱり分かりません。
どうなふうにするのですか?
726nobodyさん:2011/08/20(土) 17:18:48.56 ID:???
>>725
メモリ使用量を返す関数がある
727nobodyさん:2011/08/20(土) 17:21:00.82 ID:???
ちゃんと関数も教えてやれよ

http://jp.php.net/manual/ja/function.memory-get-usage.php
728nobodyさん:2011/08/20(土) 17:23:48.53 ID:???
それくらいの関数を見つける能力をつけずにこの先どうやってやっていけるんだ
729nobodyさん:2011/08/20(土) 17:33:49.83 ID:???
お前みたいな面倒なやつはいらんから黙ってるか消えろ
730nobodyさん:2011/08/20(土) 17:38:31.90 ID:???
>>719
何を言ってるのかさっぱりわかりません。
3行で要約しなさい。
731nobodyさん:2011/08/20(土) 18:14:04.32 ID:???
>>729
お前みたいな馬鹿なやつはいらんから黙ってるか消えろ
732nobodyさん:2011/08/20(土) 18:17:19.38 ID:???
>>731
スレチだから消えろ屑
733nobodyさん:2011/08/20(土) 18:19:23.47 ID:???
>>732
スレチだから消えろ屑
734nobodyさん:2011/08/20(土) 18:39:07.17 ID:???
なんだオウム返ししか出来ない無能か
735nobodyさん:2011/08/20(土) 18:48:29.10 ID:???
>>734
なんだオウム返ししか出来ない無能か
736nobodyさん:2011/08/20(土) 19:01:30.52 ID:???
面白いとでも思ってるんだろ
737nobodyさん:2011/08/20(土) 19:59:59.40 ID:???
せめてID出してやれ。NGにするから
738nobodyさん:2011/08/20(土) 20:38:58.43 ID:VO4DRW5D
【OS名】FreeBSD 7.1
【PHPのバージョン】5.2.17
【連携ソフトウェア】
【質問内容】
PHPファイルを文字コードUTF-8で作成。
テキストを2個とボタンを1個表示し、ボタンを押すと同じPHPファイルにPOSTでテキストの内容を
送って再度表示します。
再度呼ばれたときに、テキストの内容がどちらも文字化けしてしまいます。

<meta ... content="text/html; charset=UTF-8">
mb_internal_encoding("UTF-8");
formにaccept-charset="UTF-8"を設定
は実行していますが、POSTされるデータはUTF-8ではなくなっているのでしょうか?

どなたかアドバイス頂けないでしょうかm(__)m
739nobodyさん:2011/08/20(土) 21:48:57.78 ID:???
mb_convert_encodingを毎回必要な変数にちゃんと使いましょう
740nobodyさん:2011/08/20(土) 21:56:39.19 ID:???
default_charset="UTF-8"
magic_quotes_gpc=off
mbstring.input_encoding="pass"
mbstring.internal_encoding="UTF-8"
mbstring.output_encoding="pass"
mbstring.language="japanese"
mbstring.substitute_charactor=""
741nobodyさん:2011/08/20(土) 22:17:19.04 ID:VO4DRW5D
ID:VO4DRW5Dです。
739様、740様ありがとうございます。
自己解決いたしましたので記述しておきます。
サーバーのphp.iniを以下のようにしたところ、解決できました。

default_charset = UTF-8←ここがShift-JISだった
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8←ここがShift-JISだった
mbstring.http_input = auto
mbstring.http_output = UTF-8←ここがShift-JISだった。POSTの文字コードに関わるのはこれか?
mbstring.encoding_translation = Off←ここがOnだった
742nobodyさん:2011/08/20(土) 22:58:35.13 ID:???
論破成功^^
743nobodyさん:2011/08/20(土) 23:13:13.45 ID:sf8M978d
memcachedとphpの連携について質問させてください

centOS6にPHP5.3.7をソースよりインストールしました
殆どの情報でPECLからのダウンロードと書かれていますが、
http://pecl.php.net/package/memcached
を見ると、stableバージョンが1.0.2しかありません
memcachedサイトは1.4.7なのでだいぶ古いように思います

連携させるにはPECLしか方法はないのでしょうか?
./configure時とかphpizeとかでコンパイル出来ないのでしょうか?
744nobodyさん:2011/08/21(日) 01:53:40.11 ID:???
>>743
PHPエクステンションのバージョンと
Memcachedサーバーのバージョンを同一視しちゃいかん
745nobodyさん:2011/08/21(日) 05:58:15.30 ID:???
論破成功^^
746nobodyさん:2011/08/21(日) 06:20:41.84 ID:???
論破成功^^
747743:2011/08/21(日) 12:51:43.67 ID:J6eOgBv6
>>744
PECLでの連携はmemcachedではなく、memcacheでした、ごめんなさい
しかし自分の場合、mod_svnの時と同じようにPECLバージョンが古いのか、認識してくれません
ソースからでなくyumでのphpでならいけるのかもしれませんが、
php.iniのextension設定を正しく行ってextension=memcache.soを記述してもmemcache.soを読み込みません
memcachedは1.4.7をソースからインストール済みです
何か対策はありませんでしょうか?
748725:2011/08/21(日) 12:59:08.20 ID:hRktlKv4
ありがとうございます。やってみました。
// 画像の破棄
echo '<br>メモリーの量(imagedestroy前)';echo memory_get_usage();echo '(バイト)<br>';
imagedestroy($image);
imagedestroy($image_s);
echo 'メモリーの量(imagedestroy後)';echo memory_get_usage();echo '(バイト)<br>';
とすると、
メモリーの量(imagedestroy前)1767856(バイト)
メモリーの量(imagedestroy後)336080(バイト)
と表示され、メモリー量が減っていました。
imagedestroyが使用しないとPHP スクリプトに割り当てられたメモリの量
増え続けるということですか?
749nobodyさん:2011/08/21(日) 14:14:54.32 ID:???
>>747
display_startup_errors = on してなんとエラーが出てるか確認を

>>748
リソースがどこからも参照されなくなった時に開放される
例えば $image = imagecreate(); unset($image); などでデストラクタが働く
750725:2011/08/21(日) 21:12:55.15 ID:hRktlKv4
>>749
ありがとうございます。

質問
$dir = 'uploads/';としたとき'uploads/'の中身を知る方法はありますか?
コマンドプロンプトでdirして中身が表示されるよな感じです。

751nobodyさん:2011/08/21(日) 21:14:43.25 ID:???
>>750
マニュアルは読んだ?
752nobodyさん:2011/08/22(月) 01:54:14.79 ID:3f8RP/Ml
簡単な質問になってしまいますが、
phpで用意した配列
ID(12,45,771,32)
をselect文に掛けたいのですが、どういうやり方がスマートでしょうか?
ひとつずつ検索していくのではパフォーマンスが悪いですよね?
753nobodyさん:2011/08/22(月) 02:12:29.42 ID:???
DB何使ってるかはしらないけどそのDBのスレで聞け
多分IN句を使えというレスになるとは思うが
754nobodyさん:2011/08/22(月) 02:33:33.69 ID:???
Ajaxはそんなにいいか
755nobodyさん:2011/08/22(月) 02:47:46.98 ID:???
>>752
OR文作れば?
756nobodyさん:2011/08/22(月) 02:53:04.78 ID:???
>>752
俺の勉強不足だがどういう質問の意味?
757nobodyさん:2011/08/22(月) 03:08:26.43 ID:3f8RP/Ml
>>756
arrayの配列の中身でsql文 select where をかけたいんです。
配列の中身がヒットするごとにフェッチさせて一覧をリクエストしたいんですが
なかなか調べてもいい方法が書いて無くて悩んでます。
758nobodyさん:2011/08/22(月) 03:14:28.14 ID:???
ヒットしてるか判定させるためにはフェッチさせないといけないのでは?
759nobodyさん:2011/08/22(月) 03:15:24.95 ID:???
>>757
誤解してるかも知れんが、
arrayに(12,45,771,32)が入ってて、
これに一致するIDを選ぶってこと?

もしそれならforeach($array as $id){...}になるのではないの?
取り違えていたらスマンが。
760nobodyさん:2011/08/22(月) 03:17:10.57 ID:???
>>757
俺の理解力がないので申し訳ないが、
「配列の中身がヒットするごとにフェッチさせて一覧をリクエストしたいんです」
すまん、この部分をもう一度説明してくれ
761nobodyさん:2011/08/22(月) 03:20:33.87 ID:3f8RP/Ml
すまない 書き方が悪かった
要するに>>759の状態であってまする。
for文を使わずにできる方法が無いかな? とこう聞いておけばよかったですね。失礼しました
762nobodyさん:2011/08/22(月) 03:21:48.73 ID:???
>>761
スルーされてるけど
OR句やIN句作るのでもだめなの?
763nobodyさん:2011/08/22(月) 03:23:02.24 ID:???
>>761
こんな感じでは違うの?
$arr = array(12,45,771,32);
$sql = "select * from table where fld in (".implode(",",$arr).")";
$res = sql_query($sql);
while($v = sql_fetch($res)){
//処理
}
764nobodyさん:2011/08/22(月) 03:28:40.70 ID:3f8RP/Ml
>>762
調べてみました 行けそうですね ありがとうございます!
>>763
ちょっと調べてみましたができそうですね! やってみます
765nobodyさん:2011/08/22(月) 03:34:13.74 ID:???
内部関数内ではループ使ってるけどなw
766nobodyさん:2011/08/22(月) 04:58:42.38 ID:dWqTKqvr
素人なのですが
class A の中だけで有効なclass Bを宣言するには↓このような難しい書き方しかありませんか?
http://d.hatena.ne.jp/Kappuccino/20080811/1218431631
767nobodyさん:2011/08/22(月) 05:07:19.41 ID:???
>>766
Aの中だけで有効なBを宣言するのに多重継承は関係ないと思うけど。
近いのはクラス内クラスか、PHP5.4から使えるトレイトかな。
768nobodyさん:2011/08/22(月) 05:08:06.98 ID:dWqTKqvr
なんか凄いアホな事言った気がしました。
とりあえず重複しそうにないクラス名にしときます。。
769nobodyさん:2011/08/22(月) 05:09:06.24 ID:dWqTKqvr
>>767
ありゃ入れ違いorz
クラス内クラスで調べてみます
ありがとうございました!
770nobodyさん:2011/08/22(月) 05:09:07.00 ID:???
>>768
更にエスパーすると、君に必要なのはネームスペースかな
771nobodyさん:2011/08/22(月) 05:28:23.88 ID:dWqTKqvr
>>770
こんな機能もあるのですかΣ(´∀`;)
ありがとうこざいます
772nobodyさん:2011/08/22(月) 08:55:04.83 ID:ruc/IWcE
現在様々な業務で実用されているような複雑化したプログラムを機械語で書くことのできる人間は俺だけか。
773nobodyさん:2011/08/22(月) 09:18:18.24 ID:???
建材を使わずに砂だけで家を建ててるようなもんだな
尊敬するよ
774nobodyさん:2011/08/22(月) 09:26:03.81 ID:ruc/IWcE
プログラミング言語とか語ってる暇かよ(爆笑) 機械語を学ぼうぜ?
まあ人間で俺しか理解できないけどな。
ソースコードとか5秒で10行書けるから!
775nobodyさん:2011/08/22(月) 09:53:37.90 ID:???
俺、エスパー魔美
776nobodyさん:2011/08/22(月) 09:54:45.26 ID:???
俺の母国語は機械語
日本語も多少できるよ
777nobodyさん:2011/08/22(月) 09:55:35.05 ID:???
>>774
ソースコードって機械語じゃないとおもうけどw
778nobodyさん:2011/08/22(月) 11:31:24.20 ID:KWybgwSC
だからプログラミング言語での
ソースコードってこと
779nobodyさん:2011/08/22(月) 12:18:50.91 ID:???
日本語でおk
780nobodyさん:2011/08/22(月) 12:47:46.25 ID:KWybgwSC
機械語でおk
781nobodyさん:2011/08/22(月) 18:49:08.29 ID:???
デザイナーメインのウェブ屋の現場の話が聞きたいのですが、
共同開発の環境はDreamweaverのロック機能がデフォな感じですかね。
782nobodyさん:2011/08/22(月) 18:53:21.50 ID:???
svnを覚えさせたけど今はgitかもしれん

783781:2011/08/22(月) 19:09:37.51 ID:???
>>782
デザイナーとかHTMLコーダーとかにバージョン管理させるのは厳しいなあと思ってるんだけど・・・
PHPでプログラム書く人だけ、ローカルマシンでgitでバージョン管理が落としどころかなあとか。
784nobodyさん:2011/08/22(月) 19:12:29.88 ID:???
うちではロック使う機会がないので使ってない。
そのかわり、全員にgit使わせるようにしたよ。
785781:2011/08/22(月) 19:17:27.85 ID:???
>>784
具体的にどういう環境かな?
自分の理想は
* ローカルマシンにApache立ててローカルで確認できる環境を作る
** もしくはVMWareを入れてローカルで確認できる環境を作る
* gitでローカルで作業したものをcommit
* まとまった修正単位でgitでサーバーのbareリポジトリへpush
とかなんだけど、そこまでやってるかな?
786nobodyさん:2011/08/22(月) 19:21:00.22 ID:???
gitもsvnもコマンドだけでは無いし
手順さえちゃんと作ってあげれば
馬鹿じゃなければどうとでもなるでしょ・・・
787nobodyさん:2011/08/22(月) 19:44:37.30 ID:???
>>785

うちはまさにそんな感じでやってる。
鯖といってもリンクステーションの一部をbareかけて使ってるよ。

OSはMacなので、人気の高いクライアントいれてあげて、それを使わせてる。
コンフリクトの解消とかも最初は大変だったけど、今ではこなれてきたっぽい。

参考になるかわからないけど、参考までに。
788nobodyさん:2011/08/22(月) 20:22:00.61 ID:???
世界はgitなのか……。
まだsvnのうちって……
789781:2011/08/22(月) 20:24:55.11 ID:???
>>787
おお〜。プログラマ集団なら迷いなくそれでいけるんですけどね。
なかなか新しい環境への移行って大変で。
あと全てのローカルマシンで環境入れるのも手間。
DBのスキーマ変わったら、各自のマシンでDB作りなおしさせないといけないし。
動作環境がサーバー1台だとその辺楽なんですよね。
現場で面倒な手間が増えたとだけ思われるようだと・・・

ちなみにMacではTowerってクライアント使ってます。結構お気に入り。
790781:2011/08/22(月) 20:26:32.32 ID:???
>>788
フォルダの移動は普通にエクスプローラでドラッグ&ドロップで良いのが楽。
あとignoreするファイルパターンも、ファイルに書いてそれ自身コミットできる。
フォルダごとに.svnできるあの環境には戻れない・・・
意外と初心者にもgitのが楽なんですよ。
791nobodyさん:2011/08/23(火) 18:11:32.54 ID:???
gitってどうやって使うのだ?
792nobodyさん:2011/08/23(火) 18:16:28.88 ID:???
svnと基本変わらない
ローカルリポジトリにコミット→まとめて共有リポジトリにコミット
ができるから便利
793nobodyさん:2011/08/23(火) 18:41:37.26 ID:???
gitとかsvnって何だよ
教えろ
794nobodyさん:2011/08/23(火) 18:46:21.92 ID:???
trac lightningでも使ってみればいいんじゃね
795nobodyさん:2011/08/23(火) 19:33:54.15 ID:???
だからgitとかsvnって何なんだよ
いいから教えろ
796nobodyさん:2011/08/23(火) 19:57:25.21 ID:???
ID
797nobodyさん:2011/08/23(火) 19:57:34.28 ID:???
gitってなんかバージョン管理ができるらしいぞ。
あのリーナス・トーバルズさんが作ったそうだ。
svnは知らない。
798nobodyさん:2011/08/23(火) 21:44:17.55 ID:???
PHP5.3に重大な脆弱性が発見される
http://o0ye3aec.blog51.fc2.com/blog-entry-66.html

799nobodyさん:2011/08/23(火) 22:27:06.28 ID:???
5.3.7って書けよ
ついでに言えばcrypt関数でとも書けよ
800nobodyさん:2011/08/23(火) 22:53:44.08 ID:???
PHPではよくある話
801nobodyさん:2011/08/24(水) 01:31:41.61 ID:???
gitとかsvnって何なのか教えろ
言っとくけどこれは質問じゃなくて命令だからIDは出さなくていい
802nobodyさん:2011/08/24(水) 01:40:33.08 ID:???
>>798
記事上がってからレス早いね!
803nobodyさん:2011/08/24(水) 02:15:23.75 ID:???
>>801
馬鹿には必要のないものだから安心しろ
気にしなくていい
804nobodyさん:2011/08/24(水) 03:14:56.89 ID:???
>>801
cvsから始めろ。
これは命令だw
初心者はまずcvsで技術を学び、svnで磨きをかけた後で
gitにたどり着くべきだ。
初めからgitとか生意気だぞw
805nobodyさん:2011/08/24(水) 05:11:57.57 ID:???
>>804
一人でやる分でcvsとかgitとか使うメリットはあるのかい?
806nobodyさん:2011/08/24(水) 05:36:57.23 ID:E2tHb41H
localhostでmysql接続してたスクリプトがどれも突然2002エラーに。(windows/5.3.3)
http://dev.mysql.com/doc/refman/4.1/ja/can-not-connect-to-server.html

接続のhost指定をIPアドレス(127.0.0.1)に変更して解消したんですが
・php以外の言語ではlocalhostで接続できる
・pdo,mysqlなどいくつかの接続方法でも同じ(2002エラー)
・php及びmysqlを再インストールしてもlocalhostで接続できるように戻らない
なぜにphpだけ変わったのか見当つく人いますか?
(OSの方で何か変更されたのかも・・・?
807nobodyさん:2011/08/24(水) 06:51:38.66 ID:???
>>805
http://hibari.2ch.net/test/read.cgi/tech/1295493964/

>>806
%windir%\system32\drivers\etc\hosts
の localhost が書き換えられたとか
808nobodyさん:2011/08/24(水) 10:55:55.28 ID:???
gitやらsvnは一人で使う場合でも十分意味がある
809nobodyさん:2011/08/24(水) 11:05:57.08 ID:???
.bkとか作る位なら何かしら使った方が良いな
810nobodyさん:2011/08/24(水) 11:13:52.21 ID:???
1人でも、、、
バックアップが楽
複数のPCから編集するのにも同期が楽
ソース書き換えが楽、古いコードバッサリ消せる
機能追加にブランチ切っていろいろ試せる
811nobodyさん:2011/08/24(水) 11:34:31.26 ID:???
つーか、gitなりsvnなり使わないでどうやってコードを管理してるのか逆に聞いてみたい。
812nobodyさん:2011/08/24(水) 12:15:29.23 ID:???
>>811
1.どしどし上書きする
2.foo1.pl → foo2.pl →foo3.pl .....と番号を増やす
3.foo.pl → foo.pl.old →foo.org.....と名前を変えていく
813nobodyさん:2011/08/24(水) 12:19:00.15 ID:???
まず、sudo apt-get/yum install git の次に何をどうするのだ?
814nobodyさん:2011/08/24(水) 12:21:28.67 ID:???
ID
815nobodyさん:2011/08/24(水) 15:39:10.62 ID:???
>>813
なにか作ります。
816nobodyさん:2011/08/24(水) 15:40:05.27 ID:???
>>813
スレ違いの話を続けて済みませんでしたと謝って出て行く
817nobodyさん:2011/08/24(水) 16:46:46.75 ID:???
馬鹿には必要ないから諦めろ
818nobodyさん:2011/08/24(水) 19:51:17.26 ID:ojPB3m7U
PHPのバージョン違いで使えない定数があった場合、
defineで定数指定したら、その定数は使えるようになるのでしょうか?
819nobodyさん:2011/08/24(水) 20:03:53.94 ID:???
自分で指定した値としてなら使える
definedあたりで調べてなければ定義にしておけば良い
820nobodyさん:2011/08/24(水) 20:35:41.20 ID:ojPB3m7U
ありがとうございます。そうします。
821nobodyさん:2011/08/24(水) 20:58:27.30 ID:BnI6tJPl
海外CMSをインストールしようとすると、大体cURLを有効にしろと要求されますがこのcURLとは一体何なのでしょうか?
マニュアルの「このライブラリにより、多くの異なったプロトコルで様々なサーバと接続し、 通信することが可能になります」だけではいまいち良く分かりません

具体的にどういう時に使うのでしょうか?
また、皆さんは利用していらっしゃいますか?
822nobodyさん:2011/08/24(水) 21:06:26.82 ID:???
823nobodyさん:2011/08/24(水) 21:13:47.58 ID:BnI6tJPl
>>822
ありがとうございます
見た感じ、APIに使われるやり方がメインなのかなと思いました
自分には必要あるのかな?と

一般的にはあまり使用されませんよね?
824nobodyさん:2011/08/24(水) 21:28:58.74 ID:???
よく使うよ
825nobodyさん:2011/08/24(水) 21:55:15.57 ID:???
TPC/IPクライアント作成に使う
別にいらない人にはいらない
826806:2011/08/24(水) 21:55:52.84 ID:E2tHb41H
>>807
ありがとうございます。たしかにhostsファイルを編集しました

現在のhostsファイル↓(2行目を追記した※記述ミスはないはず)
127.0.0.1 localhost
XXX.XXX.XXX.XXX mytest.com

ですが、元に戻してシステムを再起動するなどしても戻らず・・・
IPアドレス指定で不都合はないので今は掘らずに様子を見るつもりですがどうも不思議です
827nobodyさん:2011/08/24(水) 23:12:45.31 ID:???
nttkyo389176.tkyo.nt.ftth.ppp.infoweb.ne.jp
こんなようなリモートホスト名をドメインだけの形にするのってどーやるの
サブドメインいらんす
教えてエロい人
828nobodyさん:2011/08/24(水) 23:17:53.94 ID:???
ん?
829nobodyさん:2011/08/24(水) 23:18:20.17 ID:???
え?
830nobodyさん:2011/08/24(水) 23:22:03.78 ID:???
言い方がわるかったか
nttkyo389176.tkyo.nt.ftth.ppp.infoweb.ne.jp

infoweb.ne.jp だけにしたいす
KD182249022142.au-net.ne.jp

au-net.ne.jp
にしたいす
831nobodyさん:2011/08/24(水) 23:31:07.25 ID:???
は?
832nobodyさん:2011/08/24(水) 23:46:27.33 ID:???
>>827
>>830
専用関数があったような気がする

それかPEARだったか?
忘れた(確証率5%)
833nobodyさん:2011/08/25(木) 00:21:38.29 ID:???
>>830
自分で作れ
834nobodyさん:2011/08/25(木) 00:32:53.21 ID:KfTuoz9b
「PHP帝国の逆襲」
5時間目、描いてみたけど、
読んで意味わかる?
http://www.pixiv.net/member_illust.php?mode=manga&illust_id=21289086
835nobodyさん:2011/08/25(木) 00:44:53.18 ID:???
1.まずは以前のレスを見なおせ
2.2枚目のコレがページを進めるまで何を指してるのか解らない
3.いきなりアルゴリズムの説明されても困る
4.あの程度の内容ならif文要らない
836nobodyさん:2011/08/25(木) 00:46:13.36 ID:???
>>833
実は難しいんだぞ
837nobodyさん:2011/08/25(木) 00:50:19.24 ID:KfTuoz9b
>>835
if文はいるだろボケエエエエエエエ

どーやって1と2と3を
識別するんだああああああ

あだち充のマンガみたいに
全員同じ顔で、しぐさで見分けるのかあああ?!
838nobodyさん:2011/08/25(木) 01:02:27.59 ID:???
$ary = array(
      "それはできない",
      "忙しすぎる",
      "体調悪い"
     );
echo $ary[rand()%count($ary)],"\n";
echo $ary[rand(0,2)],"\n";
echo $ary[array_rand($ary)],"\n";

こんなんでもいいいし
1-3をそのままにしたいなら
$ary = array(
     1=>"それはできない",
      "忙しすぎる",
      "体調悪い"
     );
にして
echo $ary[rand(1,3)],"\n";
とすれば出来る
839nobodyさん:2011/08/25(木) 01:03:38.48 ID:???
すっげお前まじ天才じゃね?
840nobodyさん:2011/08/25(木) 01:40:47.62 ID:???
>>836
すべてのトップレベルドメインとセカンドレベルドメインを羅列するだけなら
面倒だけど別に難しくはないだろ?
841nobodyさん:2011/08/25(木) 02:21:48.35 ID:Qb73wGwG
defined('Hoge') or define('Hoge', true);
これはどういう意味ですか?なぜ「defined('Hoge') or」をつけているのかわかりません
842nobodyさん:2011/08/25(木) 03:37:09.47 ID:???
>>841
演算子orは左側を最初に評価し、falseだった場合は右側を評価します。
つまりdefined('Hoge')の評価結果がfalseであればdefine('Hoge', true)を評価します。
結果、定数'Hoge'が定義されていなければdefine('Hoge', true)が実行されることになります。
843nobodyさん:2011/08/25(木) 09:26:21.92 ID:???
>>840
ccSLDならサードレベルまで欲しいって感じじゃない
844nobodyさん:2011/08/25(木) 11:17:02.67 ID:L9PzJ4Hs
定数に数字を入れてるのですが、条件によって変更したいと思います。

if ($id == 1) {
 define('ENTRY_LIMIT', 100);
}

みたいな事がしたいのですが、上書きできません。
一度定義した定数って上書きできないのでしょうか?
845nobodyさん:2011/08/25(木) 11:31:40.94 ID:???
それはもはや定数ではないのでは?
846nobodyさん:2011/08/25(木) 12:26:38.16 ID:???
>>844
一応 PECL runkit を使えば再定義することはできる

define('ENTRY_LIMIT', 300);
echo ENTRY_LIMIT;
runkit_constant_redefine('ENTRY_LIMIT', 100);
echo ENTRY_LIMIT;
847nobodyさん:2011/08/25(木) 13:02:41.18 ID:???
何のための「変数」だ
848nobodyさん:2011/08/25(木) 13:50:02.32 ID:D2w26RWA
ちょっと無茶な質問かも知れないですが、クラスの中のメソッドが実行されたとき
どこから実行されたのか判定する方法ありますか?
そのメソッド(もしくはクラス)の中に何かを記述することで対応できるのが理想です
エラー処理のメソッドがどこから呼び出されてるのかわからなくて困っている状況です
849nobodyさん:2011/08/25(木) 14:18:30.39 ID:???
XDebugでスタックトレースの表示とか?
850nobodyさん:2011/08/25(木) 14:33:05.48 ID:Qb73wGwG
>>842
すみません。読解力がないせいか、まだよくわかりませんので、方向を変えて
「defined('HOGE')」を「defined('HOGE') or define('HOGE', true)」にする目的はなんでしょうか?
851nobodyさん:2011/08/25(木) 14:42:51.06 ID:???
>>850
defined('HOGE') or define ('HOGE', true) の一行は、以下と等価


if (defined('HOGE'))
{
define('HOGE', true)
}
852nobodyさん:2011/08/25(木) 14:43:33.95 ID:???
>>850
それを書き換えると
if (!defined('HOGE')) {
 define('HOGE',true);
}
と同じになる
853nobodyさん:2011/08/25(木) 14:43:36.19 ID:???
セミコロン付けるの忘れた
854nobodyさん:2011/08/25(木) 14:46:46.15 ID:???
セミコロンもそうだけどor判定だから!もしくは=== falseが必要
855851:2011/08/25(木) 14:47:18.45 ID:???
>>852が正しい。
スマン、半年romる・・・。
856nobodyさん:2011/08/25(木) 15:38:50.34 ID:Qb73wGwG
if (!defined('HOGE')) define('HOGE', true); と等価ということですね。ありがとうございます
ただ、「define('HOGE', true)」だけではいけないのは何故でしょうか?あえて 「defined('HOGE') or ...」 をつけている理由が知りたいんです
857nobodyさん:2011/08/25(木) 15:50:12.81 ID:???
defined ってけつに
dがついてるのを見落としてるとかないよな?
858nobodyさん:2011/08/25(木) 15:56:58.21 ID:???
>>856
定数の定義が重複するとNoticeエラーを吐くから、事前にチェックしてるだけ
859nobodyさん:2011/08/25(木) 16:21:44.19 ID:Qb73wGwG
>>858
なるほど!すっきりしました。ありがとうございます。
860 忍法帖【Lv=1,xxxP】 :2011/08/25(木) 20:42:25.54 ID:ULkE4QS+
test
861nobodyさん:2011/08/25(木) 21:22:57.08 ID:???
test禁止
862nobodyさん:2011/08/25(木) 21:40:26.76 ID:???
へー
863nobodyさん:2011/08/25(木) 23:05:33.08 ID:WrUw1RTI
つまり
if (!defined('HOGE')) {
 define('HOGE',true);
}は一番ハッキングしやすいし、
Javaのコントローラーにも
適応しやすいってことか。
C言語でも使いやすいよね
864nobodyさん:2011/08/25(木) 23:24:05.94 ID:???
結局PHPみたいな前時代の遺物よりAjaxの方がよほど優秀というわけか。
865nobodyさん:2011/08/25(木) 23:43:07.91 ID:4cMPPRv2
Ajaxは言語じゃないし
866nobodyさん:2011/08/25(木) 23:45:11.60 ID:???
>>864
キリッ を忘れてるぞ
867nobodyさん:2011/08/25(木) 23:52:53.53 ID:???
(キリッ
868nobodyさん:2011/08/26(金) 10:43:49.15 ID:???
( ゚,_・・゚)ブブブッ
869nobodyさん:2011/08/26(金) 10:46:19.68 ID:???
>>865
そういうデマ流して何が楽しいの?
Ajaxの優位性を認めたくないからって陰険なことすんな
870nobodyさん:2011/08/26(金) 10:57:44.68 ID:???
871 忍法帖【Lv=27,xxxPT】 :2011/08/26(金) 17:45:11.32 ID:???
test
872nobodyさん:2011/08/26(金) 22:33:41.79 ID:lASdrs1R
foreach ($_POST['key'] as $key => $val) {

if ($key === 0) $sql.= $val . "='1'";
else $sql.= " and " . $val . "='1'";

上記の文の$sqlの後の.=の意味が分かりません。
基本的な書き方のルールだと思うのですが
検索してもでてこなくて困っています。よろしくお願いいたします。
873nobodyさん:2011/08/26(金) 22:37:33.03 ID:???
test禁止
874nobodyさん:2011/08/26(金) 22:40:30.56 ID:???
875nobodyさん:2011/08/26(金) 22:41:04.65 ID:???
>>872
.= は =(代入) と .(結合)が合体した演算子。
$a .= $b は $a = $a . $b と同じ。
http://www.php.net/manual/ja/language.operators.string.php
876nobodyさん:2011/08/26(金) 22:42:09.75 ID:???
>>872
文字列演算子でググれ
877nobodyさん:2011/08/26(金) 22:42:25.34 ID:???
>>872
結合代入演算子
878nobodyさん:2011/08/26(金) 22:44:44.20 ID:???
879nobodyさん:2011/08/26(金) 22:46:59.30 ID:???
さっそくの返信
ありがとうございます!
じっくり読んでみます。
880nobodyさん:2011/08/26(金) 23:10:51.64 ID:FNxQRvbX
何このログイン画面??

https://www.fout.jp/
881nobodyさん:2011/08/26(金) 23:23:52.68 ID:JWsNDBFU
Wikipediaの
http://ja.wikipedia.org/wiki/○○○○○
の○○○○○には日本語をエンコードした文字列が入っています。
例.[てすと]をエンコードすると%5B%E3%81%A6%E3%81%99%E3%81%A8%5D

PHPでこのようなURLはどうやったら作れますか?

882nobodyさん:2011/08/26(金) 23:30:00.28 ID:???
>>881
専用関数がたしかあった。
「PHP逆引き大辞典」
みたいな本を開いて、
「日本語処理」
とか、そういう章をあさっていけば
たぶん見つかる。

それか、グーグルで、
「PHP 日本語 文字列 エンコード 関数」
と入れて検索すると、たぶん見つかる。
883nobodyさん:2011/08/26(金) 23:34:29.94 ID:???
rawurlencodeやらurlencode
884nobodyさん:2011/08/26(金) 23:45:55.40 ID:JWsNDBFU
>>882 ありがとうございます
実はurlencode()関数は知っていますが上手くいかなかったんです...

Wikipediaの wiki/○○○○○とかニコニコ動画の tag/○○○○○
○○○○○の部分のコーディングについて経験者の方が
おられましたらご教授頂ければ幸いです
(特に作る際のmkdir($dir_name)のやり方等ですかね)
885nobodyさん:2011/08/26(金) 23:57:35.56 ID:???
経験者? エスパーの間違いじゃね
886nobodyさん:2011/08/27(土) 00:06:25.73 ID:???
文字列をエンコードしたいと言うわけではなく
URLに含めた文字列を取得したいという事?
887nobodyさん:2011/08/27(土) 00:16:29.36 ID:lpaF2D26
えーとですね 要するに

ttp://unko.com/unko/うんこ/index.phpではなくて
ttp://unko.com/unko/%E3%81%86%E3%82%93%E3%81%93/index.php 
というディレクトリを作って、
index.phpを普通に表示させるだけなんですが
私の知識ではやり方がわからなくて。。。
888nobodyさん:2011/08/27(土) 00:20:00.88 ID:???
うんことかま○ことか下品な言葉を使わないでください
889nobodyさん:2011/08/27(土) 00:24:25.54 ID:???
>>887
ディレクトリを作りたいのかURLを作りたいのかどっちなんだ
URLならurlencodeで出来る
何がどう上手くいかなかったんだ
890nobodyさん:2011/08/27(土) 00:29:32.21 ID:???
mkdir("うんこ");
っていうディレクトリを作っといてurlencodeしたURLでアクセスすれば見れるよ
891nobodyさん:2011/08/27(土) 00:31:05.87 ID:???
wikipediaのようなURLでの表示の仕方が解らないという事だな
最近はどうしてるかしらないけど
環境変数のPATH_INFO取得したりmod_rewrite使えば実現できるよ

wikipediaの場合うんkとかのディレクトリが有るわけではない
892nobodyさん:2011/08/27(土) 00:35:24.97 ID:???
>>887
いっとくけど「%E3%81%86%E3%82%93%E3%81%93」という文字列をブラウザが送信しても
ウェブサーバーが%xxをURLエンコード文字列と解釈して「うんこ」に変換しちゃうよ
だから「%E3%81%86%E3%82%93%E3%81%93」というディレクトリを作ってもそこにはアクセスできないよ
893nobodyさん:2011/08/27(土) 00:36:26.78 ID:???
だからうんことかま○ことか下品な言葉を使わないでください
894nobodyさん:2011/08/27(土) 00:38:32.82 ID:???
ち○こは可。
895nobodyさん:2011/08/27(土) 00:48:11.83 ID:???
例文で予約されてる単語はhageだろ。
日本語の時はハゲ。漢字の時は禿。かなははげ。
うんこちんこまんこじゃなくて、はげ。わかった?
896nobodyさん:2011/08/27(土) 00:57:56.08 ID:???
hageなんて予約されてねーよボケ
897nobodyさん:2011/08/27(土) 01:11:47.60 ID:lpaF2D26
>>890-892
ありがとうございます!全ての疑問が解決しました!!
最初から%E3%81%86%E3%82%93%E3%81%93ってディレクトリがあるんだと
勘違いしていました(笑)
898nobodyさん:2011/08/27(土) 02:34:53.56 ID:???
>>894
それは女専用語か?
899nobodyさん:2011/08/27(土) 12:26:30.58 ID:???
>>893
定期的にその用語を使う質問が出てくるけど全部同一人物だと思ってる。
多分、皆の食いつきがいいからあえてその用語を使ってる故意犯。回答しないでスルーすればいいのに。
900nobodyさん:2011/08/27(土) 12:39:47.70 ID:16DOerPq
てst
901nobodyさん:2011/08/27(土) 16:09:20.17 ID:???
てst禁止
902nobodyさん:2011/08/27(土) 16:11:05.65 ID:???
>>899
うんことかま○こを持ってるのはお前だけじゃないよ
何言ってるの?
903nobodyさん:2011/08/27(土) 17:27:34.50 ID:???
>>902
ま○こ持ってるのか?
904nobodyさん:2011/08/27(土) 17:41:01.49 ID:???
普通持ってるでしょ
905nobodyさん:2011/08/27(土) 19:06:00.60 ID:???
メタ構文変数を使えばいいのに
906nobodyさん:2011/08/27(土) 21:51:51.97 ID:???
一連の荒らしは同一人物による自演。
907nobodyさん:2011/08/27(土) 21:53:24.81 ID:He/A7o7q
スーパーサンプルの2-3/rcvarray.phpからの抜粋です。
<?php
$array = array("menu"=>"\≪\i!?", "price"=>"380", "date"=>"2005/01/01");

echo "配列の内容(エンコードした場合)";
print_r(unserialize(base64_decode($_POST["ar_enc"])));
echo "<p>配列の内容(そのまま渡すと失敗)";
print_r($_POST["ar"]);
?>
<form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>">
<input type="submit" value="A÷?R" name="sub1">
<input type="hidden" name="ar" value="<?php echo $array ?>">
<input type="hidden" name="ar_enc"
value="<?php echo base64_encode(serialize($array)) ?>">
</form>
を実行すると、
配列の内容(エンコードした場合):
Notice: Undefined index: ar_enc in /UNIONFS/opt/lampp/htdocs/samples/chapter2/2-3/rcvarray.php on line 14
配列の内容(そのまま渡すと失敗):
Notice: Undefined index: ar in /UNIONFS/opt/lampp/htdocs/samples/chapter2/2-3/rcvarray.php on line 16
というエラーが出るんですが、どうやって直せばいいのですか? $arrayの直後に
    $ar_enc = $array;
    $ar = $array;
と挿入してみましたがダメでした。
908nobodyさん:2011/08/27(土) 22:05:49.54 ID:???
909907:2011/08/27(土) 22:17:12.87 ID:He/A7o7q
>>908
まだ、うまくいきません。
まず、

$ar_enc = "";
$ar = "";

にしてみましたが、同じエラーでした。
それで@でエラーを抑制すれば抑制されましたが、結果が何も表示されませんでした。
それで

//$ar_enc = "";
//$ar = "";

とコメントアウトしても結果が何も表示されませんでした。
ずばりの答えをお願いします。

しかし、スーパーサンプル第2版は10万部も売っているんでしょう?
なぜ、こんなバグ入りで売っているんですか???
11刷目ですよ?
910nobodyさん:2011/08/27(土) 22:21:39.72 ID:???
そんなエサで
その手のエラーはそこに至るまで何度も経験してるだろ
911907:2011/08/27(土) 22:23:44.19 ID:He/A7o7q
>>910
いやいや、そういうやりとりするためにここに訊きに来たんじゃないんです
サンプルを実行する、まずはそこから始めてるということです
答えないなら黙っててください
912nobodyさん:2011/08/27(土) 22:25:32.23 ID:???
釣り下手すぎw
913nobodyさん:2011/08/27(土) 22:26:31.04 ID:???
初心者はLAMPP使うな
914nobodyさん:2011/08/27(土) 22:33:21.73 ID:???
HTTP_requestで画像データだけをそのままPOSTしたいのですが
addFileやPostDataでは 名前=画像データ になってしまいます
どうすればいいでしょうか
915914:2011/08/27(土) 22:34:27.90 ID:re5o6H/V
すみませんID出し忘れました
916nobodyさん:2011/08/27(土) 22:43:56.05 ID:???
>>914
>>915
md5に突っ込んで、最初の8文字だけを取り出して使うとか?
917914:2011/08/27(土) 22:57:47.37 ID:re5o6H/V
>>916
勘違いかも知れませんが

用途でしたら↓こちらになります
http://www.ibm.com/developerworks/jp/xml/library/x-tipatom3/index.html
リスト 3. 画像を追加する
918nobodyさん:2011/08/28(日) 02:16:11.69 ID:???
名前=画像データって何?
919nobodyさん:2011/08/28(日) 03:12:30.04 ID:???
key=valueだろ
920nobodyさん:2011/08/28(日) 08:09:59.10 ID:Lhrseqw0
配列に
id、値(日付データ)
[1001][1229247923473]
[1002][6439473927397]
[1003][4836883]
のような値が入っており、新しく値を追加する際、同時に日付データの値が一番値が少ないものを
破棄してから追加したいのですが、
スマートなやり方ってありますか?
921nobodyさん:2011/08/28(日) 08:37:01.79 ID:???
配列をソートして一番小さい値を入れ替えるとする。

array_multisort($array,SORT_ASE);
$array[][]=($a,$b);

結果は保障できないが。
922907:2011/08/28(日) 16:15:19.42 ID:???
>>912-913
釣りじゃねぇーっ!
初心者だからこそのLAMPPだろが!
ただな、「送信」ボタン押すのを忘れてただけだ、この野郎!
タンポポ載せる仕事に応募してくるわ!
923nobodyさん:2011/08/28(日) 20:31:08.25 ID:i1UEPL4O
$text = "あいうえおabcかきくこけ,...()==−";
こんな感じに変数があったとしてマルチバイト文字(記号も含めて)のみ残して半角(記号も含めて)のみ残す方法ってどうやれば良いのでしょうか?
924nobodyさん:2011/08/28(日) 20:37:58.28 ID:???
>>923
[^\x01-\x7E]
925nobodyさん:2011/08/28(日) 20:48:13.13 ID:???
>>923
マルチバイト文字を残したいのか半角文字を残したいのかどっちなんだ
926nobodyさん:2011/08/28(日) 20:52:38.03 ID:i1UEPL4O
>>924
できました。ありがとうございます。
文字コードで指定すればよかったんですね。
927nobodyさん:2011/08/28(日) 20:53:46.18 ID:i1UEPL4O
>>925
文書変でしたね。すみません。
全角を削除して半角を残したかったです。
>>924の方法でそれができました。
928nobodyさん:2011/08/28(日) 21:08:41.79 ID:???
>>924が理解できて思いつかないっておかしいだろw
929nobodyさん:2011/08/28(日) 21:22:39.05 ID:???
>>928
>>924の回答すらできないおまえは>>923より馬鹿。
930nobodyさん:2011/08/28(日) 21:25:18.32 ID:???
質問は慇懃でも、ちょっと煽られるとその口調かw
931nobodyさん:2011/08/28(日) 21:26:46.64 ID:???
なんか見えない敵と戦っているあほが一人いる。
妄想癖が強い>>930は病院へ行くべき。
932nobodyさん:2011/08/28(日) 21:37:23.66 ID:???
なんでそんなに必死なの?w
933nobodyさん:2011/08/28(日) 21:41:12.45 ID:???
なんでそんなに必死なの?w
934nobodyさん:2011/08/28(日) 21:59:37.53 ID:i1UEPL4O
なんか荒れていますね。自分と違う誰かと見えない敵(?)と戦っている精神やんでいる人がいるようですが
>>930以外の回答してくれた皆さんありがとうございます。
935nobodyさん:2011/08/28(日) 23:42:07.72 ID:???
質問は慇懃でも、ちょっと煽られるとその口調かw
936nobodyさん:2011/08/29(月) 03:45:33.47 ID:???
なんか見えない敵と戦っているあほが一人いる。
937nobodyさん:2011/08/29(月) 06:39:23.26 ID:???
しょうがないな
whileって役立たずのゴミだよな
使うやつはただの生ゴミ生産機
938nobodyさん:2011/08/29(月) 14:06:11.29 ID:WkIuqk4e
うpローダーってオレでも作れんじゃねー?って思って作成してるのですが、
パス付きで、画像を見れるようにしたり、
削除したりってphpだけでできるのですか?
やっぱmysqlを使うのですか?
939nobodyさん:2011/08/29(月) 14:11:03.77 ID:???
>>938

phpだけでできるけどDB使った方がいい
940nobodyさん:2011/08/29(月) 14:11:43.42 ID:???
PHPだけで可能だけど
うpされた情報(観覧パスやら画像の情報やら削除パスやら)を
どう保持するかだな
まぁそれで一般的にはDB使ったほうが楽だし安全だしでDBが使われる
941nobodyさん:2011/08/29(月) 14:28:29.07 ID:WkIuqk4e
ありがとうございます。今のとこ、画像をアップロードして
一覧表示ができるようにしただけです。
Ajaxで画面遷移なしでアップロードできるようにしようと
思ってこのサイトを参考にしてますが、まだまだかかりそうです。
http://www.phpletter.com/Demo/AjaxFileUpload-Demo/
942nobodyさん:2011/08/29(月) 14:28:44.10 ID:???
だからといってDB必須と考えないほうがいいよ
943nobodyさん:2011/08/29(月) 14:33:49.80 ID:???
MySQLの敷居が高いんならSQLiteで充分だろ。その用途なら
944nobodyさん:2011/08/29(月) 16:02:07.25 ID:???
たかがMySQLに敷居の高さもクソもない

世の中にはもっと敷居の高いものがたくさんある
945nobodyさん:2011/08/29(月) 16:03:46.03 ID:???
初心者に富士登山は厳しいから高尾山辺りにしとけといったらエベレストK2の話をされたでござる
946nobodyさん:2011/08/29(月) 16:08:10.01 ID:???
MySQLで敷居が高いとか言ってたら何も作れんよ
947nobodyさん:2011/08/29(月) 16:18:59.62 ID:???
MySQLは敷居高いですよね
948nobodyさん:2011/08/29(月) 16:22:42.63 ID:???
>>945
MySQLと比べたらSqlliteの方が敷居高いんじゃねーの?情報少ないし

お前の言ってるのは富士山は危ないから錫杖岳にしとけって言ってるようなもん
949nobodyさん:2011/08/29(月) 16:24:00.68 ID:???
アスペ多すぎだろ
950nobodyさん:2011/08/29(月) 18:50:47.94 ID:kI+Eeky5
PHPで円グラフを1ページに複数表示させたいんだけど、いい方法ないかな?
今、「pChart」使ってやろうかと思ったんだけど、これじゃ複数表示は無理?
詳しい人教えて!
951nobodyさん:2011/08/29(月) 18:56:35.46 ID:WkIuqk4e
PHPその他プログラム言語で、value=値という使い方をよくしてますが、
valueは価値、価値観と英語の辞書に載ってますが、何でvalue=値
という使われ方なんですか?
952nobodyさん:2011/08/29(月) 19:01:54.49 ID:???
>>951
ほんとに辞書引いたの?WEBの辞書だけ見てもvalueに大きいくくりだけで12個の意味あったよ
953nobodyさん:2011/08/29(月) 19:06:17.07 ID:???
>>951
http://ejje.weblio.jp/content/value

7番目に「数値」って書いてます。
954nobodyさん:2011/08/29(月) 19:07:26.63 ID:WkIuqk4e
すいません。紙の辞書しか引いてませんでした。
valueで数値なんですね。わかりました。
955nobodyさん:2011/08/29(月) 19:15:44.69 ID:???
価値と価値観しか書いてないって、その辞書簡易版すぎるだろw
956nobodyさん:2011/08/29(月) 19:23:20.96 ID:???
そんな細けぇこと気にしてたらきりがないぞ
explodeなんて爆発するだしw
957nobodyさん:2011/08/29(月) 19:32:56.35 ID:???
初カキコ…ども…
俺みたいな中3でグロ見てる腐れ野郎、他に、いますかっていねーか、はは

今日のクラスの会話
あの流行りの曲かっこいい とか あの服ほしい とか
ま、それが普通ですわな

かたや俺は電子の砂漠で死体を見て、呟くんすわ
it'a true wolrd.狂ってる?それ、誉め言葉ね。

好きな音楽 eminem
尊敬する人間 アドルフ・ヒトラー(虐殺行為はNO)

なんつってる間に19時っすよ(笑) あ?あ、義務教育の辛いとこね、これ
958nobodyさん:2011/08/29(月) 19:36:56.26 ID:???
>>950
携帯サイトじゃないなら、jqueryで書くとか。
pChartで複数も出来る。 一個しか出せないなら ファイル複数にして  <img src="image.php" /> <img src="image2.php" />
959nobodyさん:2011/08/29(月) 21:13:49.24 ID:???
どうしてphpのサイトにはWindowsの64bit版phpバイナリがないの?32版だけだよね.
何か理由でもあるの?
960nobodyさん:2011/08/29(月) 21:59:01.98 ID:???
>>959
俺に聞くなよ
961nobodyさん:2011/08/29(月) 22:57:30.73 ID:???
よく本のサンプルコードとかで
結合演算子使ったり、何回もecho書いたりしてるけどさ
{
echo"$hoge"."<br/>"
echo"<br/>";
echo"$hoge2";
}
とかって分けて書いてるけどこれ普通に
{
echo"$hoge<br/><br/>$hoge2";
} って書いても動いちゃうじゃん
なんでわざわざ面倒な書き方してるの?
こっちの書き方の方が直感的で楽なのに
962nobodyさん:2011/08/29(月) 23:01:32.41 ID:???
>>961
改行した方が読みやすい人はそうするんだろう
配列を利用するとスマートに書けるが、好みとしか言いようがない
963nobodyさん:2011/08/29(月) 23:23:44.20 ID:???
>>961
速度面で言えば、それらよりも

echo $hoge, '<br/><br/>', $hoge2;

という具合に、カンマ区切り、変数は引用符の外に出す、引用符はシングルクォートを使う
とした方がよい
964 忍法帖【Lv=40,xxxPT】 :2011/08/29(月) 23:25:59.95 ID:???
>>963
第三者の俺が勉強になった
965nobodyさん:2011/08/29(月) 23:48:23.86 ID:???
↑騙されやすい馬鹿発見
966nobodyさん:2011/08/30(火) 00:51:25.59 ID:BmWDrZ5P
echo"$html"; にはhtmlのソースが入ってます
ソースの中にダブルクオーテーョンが含まれるからか
Parse error: syntax error, unexpected T_STRING, expecting ']'
とエラーになってしまいます。

この変数をどうやって表示すればよいでしょうか?
967nobodyさん:2011/08/30(火) 01:06:48.88 ID:???
] が原因だボケ
付近を捜してみろ
968nobodyさん:2011/08/30(火) 01:07:54.11 ID:???
>>966
]

↑が無い、って言われてるんだから、

[

だけ書いて、閉じるのを忘れてるんじゃないの?
969nobodyさん:2011/08/30(火) 01:20:16.12 ID:BmWDrZ5P
[]を使ったのはmysql_fetch_assocで取り出した
連想配列で$html[カラム名]で使ってますね でも閉じ忘れはないです
他のカラム名では大丈夫です
変数にhtmlソースが入ってる時だけエラーになっちゃうんですよね〜
970nobodyさん:2011/08/30(火) 01:23:18.45 ID:???
たぶん1ヶ所だけ全角で書いてる
971nobodyさん:2011/08/30(火) 01:34:04.81 ID:???
>>969
変数内に何があろうとエラーはでない
972nobodyさん:2011/08/30(火) 01:40:36.50 ID:BmWDrZ5P
読めた!完全に読めました

おそらくecho"$html[カラム名]";で
$htmlの中のhtmlソースにダブルクォートが含まれるせいで、
途中で変数が終わったとみなされてるんです
だから最後の]が表示されないまま、不本意なダブルクォートで、
勝手に閉じられちゃってます
973nobodyさん:2011/08/30(火) 01:44:51.11 ID:???
そしたらシングルクオートに変えてみたら?
974966:2011/08/30(火) 01:46:59.81 ID:???
>>973
シングルクォートは変数を展開できないでは?
ただの$htmlって文字列そのものが出力されてしまうと思うんですが
975nobodyさん:2011/08/30(火) 01:54:17.28 ID:???
>>972
最初とソース違うじゃねーかw
カラム名は実際なんなの?カラム名はクォーテーションでくくってるの?
あとecho 変数のみなら外のクォーテーション要らないよ
976 忍法帖【Lv=4,xxxP】 :2011/08/30(火) 02:10:59.76 ID:???
test

>>972
馬鹿は死ねよ
977966:2011/08/30(火) 02:12:57.80 ID:BmWDrZ5P
なぜか解決しました
カラム名[2_tag]→[tag]に変えたら解決

>>976
死ねやブサメン低学歴 非リア充
978nobodyさん:2011/08/30(火) 02:14:06.91 ID:???
>>976は超絶ブサメン
979 忍法帖【Lv=4,xxxP】 :2011/08/30(火) 02:17:23.69 ID:???
>>966>>972
思い込みの馬鹿
久々にワロタわw
980nobodyさん:2011/08/30(火) 02:18:32.64 ID:BmWDrZ5P
>>979 低学歴ブサメンはクソして寝ろや
981nobodyさん:2011/08/30(火) 02:19:19.48 ID:???
なぜか解決じゃねーよバカw
初めからソース正確に出せバカw
982nobodyさん:2011/08/30(火) 02:23:23.30 ID:BmWDrZ5P
忍法帖【Lv=4,xxxP】 とかなんだよwwwww
2chのくだらないサービスに金払ってんのかよwww

おまえ下流臭いな?
983nobodyさん:2011/08/30(火) 02:43:18.70 ID:???
忍法帖すら知らない馬鹿発見
984nobodyさん:2011/08/30(火) 04:36:18.99 ID:???
情弱にはPHPはおろか2chを使うのも難しい
985nobodyさん:2011/08/30(火) 12:34:32.74 ID:???
↓こんな質問してるヤツが下流臭いとかw

>966 名前:nobodyさん[] 投稿日:2011/08/30(火) 00:51:25.59 ID:BmWDrZ5P [1/6]
>echo"$html"; にはhtmlのソースが入ってます
>ソースの中にダブルクオーテーョンが含まれるからか
>Parse error: syntax error, unexpected T_STRING, expecting ']'
>とエラーになってしまいます。

>この変数をどうやって表示すればよいでしょうか?
986nobodyさん:2011/08/30(火) 12:53:23.92 ID:???
↑そんなお前も充分下流だから
987nobodyさん:2011/08/30(火) 12:56:54.92 ID:???
ID消し忘れちゃったんだろ
可愛そうだからそっとしといてやれよ
988nobodyさん:2011/08/30(火) 16:38:56.50 ID:???
レンタルサーバーのCGIモードとモジュールモードの大まかな違いは何でしょうか??
989nobodyさん:2011/08/30(火) 16:49:45.48 ID:???
990nobodyさん:2011/08/30(火) 17:00:21.58 ID:???
下記はどんな動作になるのでしょうか?
perlしか使ったことが無いのでわかりません。
"<<" は記号なのでググってもでてきませんでした。


$aaa=15
$bbb=-100

($bbb << (20-$aaa))


できればperlで書くとどんなコードになるか教えていただけるとイメージがわきます。
991nobodyさん:2011/08/30(火) 17:02:51.49 ID:???
bitシフトperlも同じ
992nobodyさん:2011/08/30(火) 17:11:33.03 ID:???
スレタイも読んでくれな
993nobodyさん:2011/08/30(火) 17:17:26.11 ID:???
誰か次スレよろしく
994nobodyさん:2011/08/30(火) 17:22:17.02 ID:???
ほーい
995nobodyさん:2011/08/30(火) 17:24:53.17 ID:???
996nobodyさん:2011/08/30(火) 17:26:31.74 ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 110
http://hibari.2ch.net/test/read.cgi/php/1314692611/
997nobodyさん:2011/08/30(火) 18:06:52.82 ID:???
998nobodyさん:2011/08/30(火) 18:07:06.91 ID:???
999nobodyさん:2011/08/30(火) 19:53:06.99 ID:???
埋め
1000nobodyさん:2011/08/30(火) 19:53:32.85 ID:???
     ____
   /__.))ノヽ
   .|ミ.l _  ._ i.)
  (^'ミ/.´・ .〈・ リ  次はわし、仙一(1001)
  .しi   r、_) |
    |  `ニニ' /
   ノ `ー―i
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。