トップページphp
1001コメント286KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2011/07/28(木) 06:53:37.45ID:???
質問者はまず>>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等)・フレームワークは各該当スレへ
0002nobodyさん2011/07/28(木) 06:54:27.75ID:???
■過去ログ
【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/
0003nobodyさん2011/07/28(木) 06:55:01.46ID:???
関連リンク
■本家マニュアル   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/
0004nobodyさん2011/07/28(木) 06:55:34.96ID:???
【簡易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プログラムとして実行された結果になる。
0005 忍法帖【Lv=22,xxxPT】 2011/07/28(木) 06:56:05.91ID:???
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に保存?
 → 好きにしてください
0006nobodyさん2011/07/28(木) 12:51:15.75ID:???
>>1
0007nobodyさん2011/07/28(木) 16:24:16.40ID:NqRYRRZz
>>1乙です

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

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

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

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

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

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

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

こんな感じに使い分けてる
0025nobodyさん2011/07/29(金) 13:01:00.68ID:???
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(){}の中だけで解決する方法があればそれをお願いします
0026nobodyさん2011/07/29(金) 13:03:30.90ID:???
$this
0027nobodyさん2011/07/29(金) 13:03:38.53ID:???
使い分けるもんじゃないから
0028nobodyさん2011/07/29(金) 15:41:07.60ID:???
URLに埋め込み=IDとか保存
hiddenタグに埋め込み=セーブデータの保存

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

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

public static function do2(){print("OK");}
}
0030nobodyさん2011/07/29(金) 17:38:17.91ID:???
自分自身のインスタンスなんだから$this以外の何があるというのか
0031nobodyさん2011/07/30(土) 02:57:30.30ID:byWcuOWe
コマンドプロンプトでphpを実行させるにはどうするのですか?
0032nobodyさん2011/07/30(土) 03:07:08.76ID:???
>>31
http://php.net/manual/ja/features.commandline.php
0033nobodyさん2011/07/30(土) 04:52:58.11ID:???
>>32
そういうことではなく、phpをコマンドプロンプトで実行させたいのですが
0034nobodyさん2011/07/30(土) 05:03:46.10ID:???
エスパーよろしく
0035nobodyさん2011/07/30(土) 05:14:24.65ID:???
php filename.php
0036nobodyさん2011/07/30(土) 05:21:08.27ID:???
php -r echo('HELLO WORLD');
0037nobodyさん2011/07/30(土) 05:21:43.78ID:???
php -r "echo 'Hello':"
0038nobodyさん2011/07/30(土) 11:16:28.98ID:???
えぇと、結局回答は無いわけですね
0039nobodyさん2011/07/30(土) 11:19:57.87ID:???
コンソールアプリケーションが作りたいとか
PHPをコマンドラインから起動したいとか日本語で頼む
0040nobodyさん2011/07/30(土) 11:40:30.54ID: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処理をしてくれるような関数はどこかにないものでしょうか?
0041nobodyさん2011/07/30(土) 12:01:34.76ID:eO+Qjjae
preg_replace('/([0-9]+)/', $hoge['$1'], $str)
的なことをするとundefined index $1になってしまいます
どう書くのが正しいでしょうか?
0042nobodyさん2011/07/30(土) 12:28:21.49ID:???
>>41
'$1'にするからじゃないの?
$hoge["$1"] か $hoge[$1] にしたらどうよ
0043412011/07/30(土) 12:44:35.37ID:eO+Qjjae
>>42
前者は同じundefined index $1
後者はsyntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$'が出ます
0044nobodyさん2011/07/30(土) 13:04:27.83ID:kbXVhMdE
質問です
data: URLをjpgやpng画像に変換してサーバーに保存するにはどうしたらいいでしょうか?
0045nobodyさん2011/07/30(土) 13:13:54.56ID:???
>>43
preg_replace('/([0-9]+)/e', "$hoge[\"$1\"]", $str)
にしたらどう?
0046nobodyさん2011/07/30(土) 13:14:04.68ID:???
gd関数
0047432011/07/30(土) 13:22:14.00ID:eO+Qjjae
>>45
それもだめでした
マッチングしてから置き換えることで対処はできますので
replaceのみで難しいようならそうしたいと思います
0048nobodyさん2011/07/30(土) 13:29:29.86ID:j7DYM4YF
dateフォーマットについて質問です。
自分の環境だとecho date("住吉");とやると
324004という謎の数値が出るのですが、
フォーマットに漢字は含めてはいけないのでしょうか?
echo date("m月d日")は平気なんですけど、
たまに漢字によっては変なものが出ます。
date("m住d吉")にする場合は、
date("m")."住".date("d")."吉"のようにしないといけないのでしょうか?
0049nobodyさん2011/07/30(土) 13:35:33.19ID:???
>>47
e修飾子ちゃんと付けた?
0050nobodyさん2011/07/30(土) 13:43:42.95ID:???
>>48
formatに2バイト文字が使えるかどうかマニュアルには無いけど、
おそらく止めておいたほうが無難だろうな
0051482011/07/30(土) 14:02:15.02ID:???
>>50
レスありがとうございます。

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

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

>>53
SJISでやってます。内部エンコーディングはUTF-8でたしかに設定は合っていません。
しかしmb_convert_encodingで変換をしてからdate関数を使ってるのですが、
その辺は大丈夫なのかな?とは思うのですが、文字化けしてるところをみると大丈夫じゃないのかもしれません。
0055nobodyさん2011/07/30(土) 14:25:39.97ID:???
>>54
内部エンコーディングと文字のエンコーディングがUTF8なら大丈夫だと思うけどなー
一度そのmb_convert_encodingやった値をUTF8のまま出力してチェックしてみたら?
ひょっとしたら変更の書き方間違えてるかも知れない
0056nobodyさん2011/07/30(土) 14:31:36.39ID:???
>>55
だからそもそもdate関数がマルチバイト非対応なんじゃないの?
0057nobodyさん2011/07/30(土) 14:40:54.93ID:???
文字コードまわりはほんっとむつかしぃなー
0058nobodyさん2011/07/30(土) 15:00:08.11ID:???
>>56
内部ではASCIIを想定している
UTF-8はASCIIとして扱っても問題ない
0059nobodyさん2011/07/30(土) 15:15:04.00ID:???
>>58
そう言い切る根拠は?
関数内部でUTFすら想定していない可能性だってあるんじゃない?
0060582011/07/30(土) 15:19:26.33ID:???
>>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;
0061nobodyさん2011/07/30(土) 17:15:18.71ID:???
1バイトずつ見ていくからUTFが混じってても問題ないということか
0062482011/07/30(土) 17:27:51.25ID:???
色々やってみましたがなかなかうまくいきませんでした。
目が疲れたのでまた明日頑張ります。
色々情報ありがとうございました。
0063nobodyさん2011/07/30(土) 17:29:52.12ID:???
「色々やってみた」
「うまくいかない」
こんなこといってるからだめなんだよ
0064nobodyさん2011/07/30(土) 17:41:47.37ID:???
情報出してまたアドバイスさせるのに抵抗かんじてるだけだろ
あとは自力で頑張りますという意図をくめないようじゃだめなんだよ
0065nobodyさん2011/07/30(土) 18:18:59.20ID:kbXVhMdE
>>46
ありがとうございます!
これから試してみます
0066nobodyさん2011/07/30(土) 18:20:45.03ID:???
>>63
そんな思考の人が自力で頑張れるわけないだろアホか
0067nobodyさん2011/07/30(土) 18:29:06.25ID:???
他人が自力で頑張るかどうかなんてどうでもいいじゃないか
0068nobodyさん2011/07/30(土) 18:36:26.22ID:???
そりゃ学校の勉強も全部自力でやろうと思えば誰だってできるけど
人から教われば1分で終わることを10時間も調べてたら非効率的だし
0069nobodyさん2011/07/30(土) 18:36:40.26ID:???
だから?
0070nobodyさん2011/07/30(土) 18:39:20.09ID:???
ヤフー知恵袋も良心で成り立ってるしな
0071nobodyさん2011/07/30(土) 19:00:18.71ID:???
>>68
最初は非効率かもしれないけど、そうやって自分で調べて解決する力を養うのも必要かと
0072nobodyさん2011/07/30(土) 19:01:01.77ID:???
何事もケースバイケースやで
0073nobodyさん2011/07/30(土) 20:03:25.77ID:No0Awge7
DBから文字コードの違うデータをとってくるとき、
mbでconvertしてから表示しないと文字化けするので、
みなさんそうしてると思いますが、
alnumとか-_~$みたいな記号は変換しなくても特に問題ないですよね?
こういったものにも変換はしないとなんかまずかったりしますか?
0074nobodyさん2011/07/30(土) 20:31:39.09ID:???
例えば一度ページにログインして、ログインしっぱなしの状態で一旦ページを離れて
また戻ってきたとします。
その時に、ページのタイトルに「ログイン中」とかって表示したいんですが、
その場合titleタグを書き換える必要があると思います。

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

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


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

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

例えば、

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

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

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

> 文字化けしないし1バイト文字にはできればやりたくないんですよね。
絶対に1バイト文字以外混入しません、混入しても問題ありません、
何かあったら責任取りますと上司を説得できればやらずに済むよ
0085nobodyさん2011/07/31(日) 01:36:09.92ID:???
>>41
\1 じゃなかったっけ?
もしくは\\1
0086nobodyさん2011/07/31(日) 03:49:23.25ID: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があれば勝手に入れるようにってできますか? 無いときは空になっても構わないのです
0087nobodyさん2011/07/31(日) 03:59:48.63ID:???
ifブロック外せば?
0088nobodyさん2011/07/31(日) 04:07:17.22ID:YYk2Yc0d
$result[$i]['detail'] = isset($item->detail) ? (string) $item->detail : '';
こうですね
ありがとうこざいます
0089nobodyさん2011/07/31(日) 04:23:17.23ID:???
>>79
FWとかテンプレ使うのが普通だろうけど、自力でガリガリやるのも構わない。
ログインの有無で完全に異なる内容を表示するならそれもアリだけど、
通常はヘッダーとかフッターとか共通する部分があるからそれは別にしておく。
titleタグだけを変更する程度ならそこだけを変えればすむ。

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

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

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

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

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

文字コード関連に詳しそうなスレ探してそっちで文字コードに関すること聞いてみます。
0091732011/07/31(日) 04:45:19.99ID:???
マルチになるので質問閉じます。
ありがとうございました。
0092nobodyさん2011/07/31(日) 14:12:55.42ID:???
>2は特に意識していませんが、updateやinsert時は変換していると思います。
>(ロジック書いたのはだいぶ前なので見てみないとわかりません。現物は今ないです。)
確実に前スレのアホだろ
0093nobodyさん2011/07/31(日) 14:15:14.43ID:???
見えない敵とは過疎スレで戦ってね
0094nobodyさん2011/07/31(日) 14:16:40.86ID:???
過疎スレのココにそんな頻繁に別のアホが来るかよw
0095nobodyさん2011/07/31(日) 14:39:39.15ID:???
別に何度きて何度聞いてもいいじゃないか
くだらんわ
0096nobodyさん2011/07/31(日) 14:52:47.16ID:???
普通の人ならな
0097nobodyさん2011/07/31(日) 19:47:30.57ID:???
まったりまったり
温泉に浸ってる気分でのーんびりと
0098nobodyさん2011/07/31(日) 21:00:22.96ID:???
温泉なんて何時間も入ってられルカぼけw
0099nobodyさん2011/07/31(日) 21:09:09.71ID:???
お前はこのスレに何時間もいるのかよw
0100nobodyさん2011/07/31(日) 21:13:46.51ID:???
俺風呂はシャワー10分、入浴5分ぐらい
温泉行ったらぬるーい露天風呂に友人と30分ぐらい使ってる
0101nobodyさん2011/07/31(日) 21:43:52.43ID:???
昔親から隠れてゲームするために、何時間も風呂に入ってたことあったな〜
0102nobodyさん2011/07/31(日) 21:55:42.22ID:???
お風呂入ると気持ちよくなってオシッコ出ちゃうよね
0103nobodyさん2011/07/31(日) 23:31:59.71ID:WZb+hQkO
【OS名】Mac OS X 10.4
【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】配列の中の最小値はmin()で取得できると思うのですが、
配列の中の最小値の添字番号を取得する方法はありますか?
0104nobodyさん2011/07/31(日) 23:32:28.94ID:???
>>103
min(array_keys($array));
0105nobodyさん2011/07/31(日) 23:43:36.46ID:+1qkyEQe
>>104
それは「配列の添字番号の最小値」じゃないか?
0106nobodyさん2011/08/01(月) 00:56:51.80ID:???
>>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; // 破壊的
0107nobodyさん2011/08/01(月) 01:30:20.39ID:???
お風呂入ると気持ちよくなってオ○ニーしちゃうよね
0108nobodyさん2011/08/01(月) 01:57:25.84ID: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は何を分岐しているのか・・・
0109nobodyさん2011/08/01(月) 02:08:55.98ID:???
>>108
ぐぐったら海外サイトにいくつかあったよ
http://net.tutsplus.com/tutorials/php/techniques-and-resources-for-mastering-curl/
http://curl.haxx.se/mail/lib-2008-06/0001.html
0110nobodyさん2011/08/01(月) 03:51:04.53ID:2XW3ucDq
curlでpostした場合、自分でContent-lengthを付けなくても勝手に付きますよね?
0111nobodyさん2011/08/01(月) 03:55:43.58ID:???
>>110
試せばわかるだろ
0112nobodyさん2011/08/01(月) 04:15:13.94ID:???
>>110
付かないとHTTP通信が成り立たないから付く
0113nobodyさん2011/08/01(月) 05:13:48.22ID:???
>>108
PHPのソースとcURLのAPIを読んだ方がいい
ざっと読んだがこんな感じじゃないだろうか

1-3: 通信準備
4: 前回の curl_multi_exec() の結果が正常、かつ実行中のハンドル数が1以上なら
5: 読み込みの準備が完了まで無限ループ
6-8: 読み込み実行、終わったら4に戻る
0114nobodyさん2011/08/01(月) 09:29:12.01ID: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として名前を付けて保存する」やり方に悩まされています
もし解決方法があったらお願いします
0115nobodyさん2011/08/01(月) 09:36:17.53ID:???
$fileを保存すればいいんじゃねーの
デコードする意味が俺には分からんけど。
0116nobodyさん2011/08/01(月) 09:52:02.44ID:???
> 訳あって
ってあるから訳があるんじゃねーの?
画像うpろだみたいに引き出す時だけ一定時間保存するとか
0117nobodyさん2011/08/01(月) 10:37:51.60ID:???
そりゃ訳があるなら訳がある訳で
0118nobodyさん2011/08/01(月) 10:50:47.70ID:???
何で悩んでるのかがわからん
こうしたいけど、こうなってしまう、とか事例無いかね
01191142011/08/01(月) 11:16:15.45ID:Nj6qDJQl
すみません、自分なりに
$hoge = base64_decode("mysql出力(例:R0lGODlhAQAAAAAALAAABAAEAAAICRAEAOw==)");
$user_name = "hoge122";
if(move_uploaded_file($hoge, "./img/img_user/".$user_name.".png")) {
echo "画像を復帰させました。";
}
とやってみたりしたんですがどうもうまくいかず
デコードされた文字列をpngとして名前を付けて保存するやり方はどの本に載ってなかったので
0120nobodyさん2011/08/01(月) 11:32:50.99ID:???
fread使ってるみたいだし、普通にfwrite()じゃだめかね?
0121nobodyさん2011/08/01(月) 12:32:10.24ID:???
質問です
$str = "あ";
$str = mb_convert_encoding($str, 'HTML-ENTITIES', 'UTF-8');

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

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

PHP5.3.6です。
0122nobodyさん2011/08/01(月) 12:32:51.00ID:???
誤)期待は$amp;#12354;ですが「あ」が得られます。
正)期待は?ですが「あ」が得られます。
0123nobodyさん2011/08/01(月) 12:34:36.65ID:???
アンドが出ないようで。
0124nobodyさん2011/08/01(月) 12:38:31.95ID:???
IDも出ないようで
0125nobodyさん2011/08/01(月) 12:54:57.17ID:???
&
0126nobodyさん2011/08/01(月) 13:04:00.34ID:???
>>119
move_uploaded_fileでファイルを移そうとするからだめなんじゃ?
01271142011/08/01(月) 13:13:31.94ID:Nj6qDJQl
>>120>>126
出来ました!ありがとうございます!!
何日間も悩んでたんですが、こんな簡単なことだったとは
ここに来て正解でした。本当にありがとうございます!!
0128nobodyさん2011/08/01(月) 22:17:14.90ID:7/D+jIWO
くだらねえ、というか変な質問なんですが、PHPで作られてるゲームを教えてもらえませんか。
ちょっと仕事でそう言うのに関わりそうなんでどうゆうのがあるのかイメージだけでも掴んでおきたいんですわ
個人でも企業でも構わないです
01291032011/08/01(月) 22:22:55.11ID:WocIZ6af
>>106
ありがとうございました!
0130nobodyさん2011/08/01(月) 22:24:10.13ID:WocIZ6af
最小値はmin関数で取り出せますが、
2番目に小さい値を取り出すにはどうしたらいいでしょうか?
0131nobodyさん2011/08/01(月) 22:53:39.03ID:???
PHPでゲームとな?
グーって送信したら「負けました」って返ってくるようなのとかしか思いつかん
0132nobodyさん2011/08/01(月) 23:08:24.46ID:???
結局はそれの応用だろ
0133nobodyさん2011/08/01(月) 23:08:39.50ID:???
ブラウザ三国志ってPHPじゃなかったかな
0134nobodyさん2011/08/01(月) 23:11:25.13ID:???
ブラウザゲーム PHPでぐぐれ
0135nobodyさん2011/08/01(月) 23:12:54.63ID:???
>>130
ソートすれば何番目でも取り出し放題
0136nobodyさん2011/08/01(月) 23:14:11.90ID:???
>>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;
0137nobodyさん2011/08/01(月) 23:17:21.62ID:???
PHPでゲーム作ったとしてもゲームってよべる代物じゃないんじゃね?
送信→結果返ってくる→送信って物凄い退屈になりそうだ
ドラクエの動作する度に読み込みしなきゃならんという
0138nobodyさん2011/08/01(月) 23:19:07.16ID:???
>>137
いつの時代のゲームだよ。
PHP+JavaScriptで結構いい感じのができるよ。
0139nobodyさん2011/08/02(火) 00:38:18.62ID:HmxmiA4/
クラス内の関数をcall_user_funcで呼ぶにはどう指定したらいいでしょうか?
call_user_func($this->'hoge'); // ?

private function hoge()
{

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

privateを呼ぶならリフレクション使わないと無理だと思うよ
0142nobodyさん2011/08/02(火) 00:45:02.22ID:???
>>139
ttp://php.net/manual/en/function.call-user-func.php#example-4339
0143nobodyさん2011/08/02(火) 00:50:29.97ID:HmxmiA4/
>>141-142
ありがとうこざいますm(__)m
0144nobodyさん2011/08/02(火) 01:15:53.15ID:???
call_user_funcを使うのは設計が悪い証拠
0145nobodyさん2011/08/02(火) 01:21:48.12ID:???
>>144
禿同
0146nobodyさん2011/08/02(火) 04:13:18.97ID:???

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

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

0152nobodyさん2011/08/02(火) 21:10:35.32ID:???
てst
0153nobodyさん2011/08/02(火) 21:11:39.21ID:???
sendmailまねーるは使うな
どうしてもWindowsでやりたいならxmailにしろ
0154nobodyさん2011/08/02(火) 23:07:29.75ID:pX4Rbkp4
>>153
sendまね〜るを非推奨は何か理由があるのですか?
0155nobodyさん2011/08/02(火) 23:47:13.83ID:???
sendmailまねーるって何だよ
PHPに関係あんのかそれ
0156nobodyさん2011/08/02(火) 23:48:59.76ID:???
またいつものどっかの記事を鵜呑みにしちゃった使うな厨か
0157nobodyさん2011/08/03(水) 00:51:46.47ID:???
そんなに使いたいなら使えばいい
0158nobodyさん2011/08/03(水) 01:59:01.60ID:???
PHPは使うな
どうしてもWindowsでやりたいならAjaxにしろ
0159nobodyさん2011/08/03(水) 10:48:11.05ID:???
PEAR入れりゃ済むことをわざわざ別の何かを入れるのは
どうなんだ。それが本当に必要ならともかく、
よくわかってないから入れてみました、じゃあなあ
0160nobodyさん2011/08/03(水) 10:51:49.49ID:???
解決方法は別になんでも良いだろ
回答もらっておきながら結果なりを報告せずに別の質問しに来るあたりクズだと思うけど
0161nobodyさん2011/08/03(水) 12:15:08.13ID:???
なんでこんなスレにいちいち報告に来なきゃならないんだ
お前はお礼を言ってもらいたくて回答してんのか
0162nobodyさん2011/08/03(水) 12:16:18.34ID:???
「〜は使うな
どうしても〜で使いたいなら〜にしろ」
はコピペか
0163nobodyさん2011/08/03(水) 12:19:36.66ID:???
なんでこんなスレにいちいち回答しなくちゃならないんだ
おまえは回答が欲しくて質問してんのか
0164nobodyさん2011/08/03(水) 12:26:57.45ID:???
>>161
そんな風だからお前はこのスレでしか質問させてもらえないんだよ?
0165nobodyさん2011/08/03(水) 12:47:56.43ID:???
まあどうせパスが通って無くてインストールできなかったんだろうけど
その程度の事もわからなくて見当違いの方向に進んで
見当違いの質問をするやつもどうかと
0166nobodyさん2011/08/03(水) 17:21:28.04ID:???
>>164
このスレだけで質問できれば充分なんだけど?
0167nobodyさん2011/08/03(水) 17:23:13.01ID:???
PEARの使い方わからないからってそんなイライラすんなよ
0168nobodyさん2011/08/03(水) 17:33:34.82ID:???
>>160
同意
0169nobodyさん2011/08/03(水) 18:55:00.77ID:???
>>161
同意
0170nobodyさん2011/08/03(水) 21:30:38.04ID:???
>>168
不同意
0171nobodyさん2011/08/03(水) 23:48:52.38ID:???
不同意ね…
0172nobodyさん2011/08/04(木) 05:35:26.09ID:lnwKvGgA
なんかまともに機能してないのかこのスレ
0173nobodyさん2011/08/04(木) 08:51:10.70ID:???
粘着君が荒らしてるようだな
0174nobodyさん2011/08/04(木) 09:03:04.88ID:???
まともな質問者にはまともな回答がついてるじゃない
0175nobodyさん2011/08/04(木) 10:24:57.92ID: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; で置き換えると警告が出ず、意図した通り動作します。
どちらが正しいのでしょうか?
0176nobodyさん2011/08/04(木) 10:44:12.39ID:???
>>175
$a[0] や $a[10] は初期化されてないでしょ?
0177nobodyさん2011/08/04(木) 10:48:58.81ID:???
>>175
> $a = NULL; で置き換えると警告が出ず、意図した通り動作します

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

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

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

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

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

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

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

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

>>190

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

>>195-197

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

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

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

多くのスクリプト言語(perl,PHP,ruby,Python等)の書式や制御式はCをルーツとしているから言ってるのじゃないか。
しかし、英語のルーツがラテン語だからといって、ラテン語を知る必要はないわな。
0214nobodyさん2011/08/05(金) 04:03:35.52ID:???
>>211
超初歩の段階を最も丁寧に教えているのは、C関連の書籍に多い。
他の言語は、超初歩の段階は知ってて当然だろw ばーかw だったり、
酷いものになると、Cの基礎を知っている前提で書かれていたりする。
0215nobodyさん2011/08/05(金) 05:33:01.90ID:???
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 です。
02162152011/08/05(金) 05:50:50.80ID:???
>>215
肝心なことを書き忘れていました。
「index.phpからtest.shを実行しても、AAAが表示されない」
というのが現在の問題点です。

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

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

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

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

86C試食版?とか言うのはやったことがある。
つか、Cが一番概念がわかりやすいというか、とりあえず何にもわからなくても何とか動いちゃうPHPよりは
後々のことを考えたらよいんじゃないかなあと。
0236nobodyさん2011/08/05(金) 22:24:12.31ID:???
↓こんな感じで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に何か設定がありますか?
0237nobodyさん2011/08/05(金) 22:26:21.15ID:???
あ、すいません。
ソースを間違えてました。

ini_set('include_path',$include_path);
0238nobodyさん2011/08/05(金) 22:26:43.00ID:???
しかもID出してなかったっす。すいません。
0239nobodyさん2011/08/05(金) 22:29:01.75ID:???
>>236
realpathを使わずにフルパスを自分で書いてみる
それで思い通りに動いたならrealpathのマニュアルを熟読
0240nobodyさん2011/08/05(金) 22:33:20.85ID:???
オブジェクト指向で書けないPGはゴミですか?
何でもincludeしてるんですが
0241nobodyさん2011/08/05(金) 22:33:56.92ID:???
ID出さない質問者はクズだけど?
0242nobodyさん2011/08/05(金) 22:34:54.27ID:???
顔を真っ赤にしての即レスお疲れ様です
02432402011/08/05(金) 22:37:14.39ID:???
自己解決したのでもういいです
02442412011/08/05(金) 22:38:43.86ID:???
ごめんなさい、俺が悪かったです
02452422011/08/05(金) 22:40:16.29ID:???
はぁ?くそが氏ねよ
0246nobodyさん2011/08/05(金) 22:40:28.43ID:???
includeとオブジェクト指向が関係あると思ってるバカはGを名乗る資格のないゴミ野郎なのは確かですね
0247nobodyさん2011/08/05(金) 22:42:42.38ID:???
はあ?フレームワーク使ったことないだろお前
0248nobodyさん2011/08/05(金) 22:42:46.90ID:???
オブジェクト指向しかないと思ってる点もクズとしてふさわしい点だね
0249nobodyさん2011/08/05(金) 22:45:14.40ID:???
PHPでオブジェクト指向笑(
0250nobodyさん2011/08/05(金) 22:46:28.42ID:???
Javaのimportを否定するようなもんだな
0251nobodyさん2011/08/05(金) 22:50:58.20ID:???
テンプレート言語なのにSmarty使ってるバカみたいなもんだな
0252nobodyさん2011/08/05(金) 22:53:42.60ID:???
MVCモデルとか恥ずかしいよな
0253nobodyさん2011/08/05(金) 22:56:07.24ID:???
230をくだらん話で流すなよ
0254nobodyさん2011/08/05(金) 22:56:12.88ID:???
テンプレート言語じゃねぇしw
0255nobodyさん2011/08/05(金) 22:59:19.86ID:+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が見つからないといけないんですよね?
0256nobodyさん2011/08/05(金) 23:00:21.33ID:???
PHPはプログラム言語ではなく、HTMLテンプレート言語である。
そしてそのテンプレート言語に思いつく限りの魅力的な機能を盛りに盛った言語であるということ。
これはPHPの出自を思い返せば納得のいく話。

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

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

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

それでもいろんな機能を盛り込んだ電子レンジ、じゃなくてPHPは、ここにきて本来の目的を見失
っている気がします。それもPHP自身さえも自分が何者であるかわからなくなるほどに。
0257nobodyさん2011/08/05(金) 23:03:24.36ID:???
>>256
http://yuukiremix.s33.xrea.com/chirashi/
0258nobodyさん2011/08/06(土) 00:11:36.41ID:???
>>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 のディレクトリは存在する?ファイルは書き込める?
02592552011/08/06(土) 00:45:35.45ID:???
>>258
アドバイスありがとうございます
ウッカリしてました、パーミッションが書き込み禁止になってました
ファイルでなくてディレクトリ側の問題とは… 以後注意します。ありがとうございました
02602272011/08/06(土) 02:42:32.61ID:???
誰か分かりませんか?
phpで使える可逆暗号だと思えんですが
0261nobodyさん2011/08/06(土) 03:15:41.34ID:???
スレタイが読めませんか?
0262nobodyさん2011/08/06(土) 08:48:42.39ID:???
↑の書込みを見て欲しい。
なんとつまらない書込みだろうか。
義務教育を終えていない小学生であったとしても
多少のヒネリを加えて書き込む事は容易いはずである。
しかしこの書込み内容からはその形跡は微塵も感じられない。

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

>>230でfatal errorを出した直後では*.sqlite-journalは存在しませんが、
同じデータベースで問題のないスクリプトからinsertやupdateをしようとすると、
*.sqlite-journalが作成され、max_execution_timeになったところで削除されます。
削除されたところで、insertやupdateを再び行うと同様の現象になります。
タイムアウトまで次の操作を受け付けず、次の操作を受け付けたところで、
タイムアウトまで何もしないためデッドロックっぽいことになっています。
Apacheを再起動したところで、ようやくinsertやupdateを受け付けてくれます。
02652552011/08/06(土) 14:46:21.36ID: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);
?>

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

続く
02712222011/08/06(土) 19:30:52.48ID: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を実行するとデッドロックっぽいことになってるのが確認できます。

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

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

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

としてるので重複はしてないです。
他のことを言ってるのならすみません。
0275nobodyさん2011/08/06(土) 20:00:28.97ID:???
>>265
Exif情報を消してみ
02762222011/08/06(土) 20:00:56.10ID:???
>>273
あ、すみません。意味がわかりました。
SQLiteではinteger型で主キーカラムはオートインクリメントになります。
02772222011/08/06(土) 20:35:12.85ID: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
0278nobodyさん2011/08/06(土) 20:43:13.64ID:???
sqliteなんか使うな
0279nobodyさん2011/08/06(土) 20:52:04.75ID:???
>>268
アップする画像を直接ブラウザで表示してみ
02802692011/08/06(土) 21:29:46.39ID:???
>>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()) {
スタイルを利用するぐらいか
02812222011/08/06(土) 21:35:53.60ID:DEQATyEe
>>280
ありがとうございます。
PHPのバグなんですかね?
英語苦手ですが頑張って報告してみます。

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

}

でキャッチできますか?

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

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

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

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

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

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

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

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

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

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

結果
Array
(
)
Array
(
[0] => [example].txt
)
Array
(
[0] => [example].txt
)
0357nobodyさん2011/08/08(月) 17:05:43.95ID:???
' で囲んでエスケープされるの?
echo 'これで改行される??\n';
0358nobodyさん2011/08/08(月) 17:11:16.66ID:???
globに渡してるんだよ。
globそのものは[]や{}はメタ文字の一種だろ
03593422011/08/08(月) 17:30:03.81ID:ZpEfNsVt
>>356
こちらのファイルシステムの方に問題があるようですね
角括弧の部分は ? で代用することにします
有り難う御座いました
03603442011/08/08(月) 18:53:58.47ID: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がそこまで機能を実装してくれてるからってことかな…
0361nobodyさん2011/08/08(月) 19:00:20.03ID: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";
0362nobodyさん2011/08/08(月) 19:01:51.76ID:???
>>360
trigger_errorで任意にエラー起こしてるだけだよ
0363nobodyさん2011/08/08(月) 19:03:25.88ID:???
>>361
総件数をユーザが変更するってどういうこと?
0364nobodyさん2011/08/08(月) 19:20:09.90ID:???
1ページに表示する件数じゃないかな
limit
0365nobodyさん2011/08/08(月) 19:20:24.76ID:???
それは1行目に書いてある
0366nobodyさん2011/08/08(月) 19:40:32.88ID:???
画面表示件数を選択できるようにする。
10,20,100から選べる。
0367nobodyさん2011/08/08(月) 19:49:30.31ID:???
それは1行目に書いてある
0368nobodyさん2011/08/08(月) 19:54:40.20ID:???
これは難題だ・・・
countでレコード総数をとってきているのにそれを変更したいとは、
ユーザーは自分でレコードを追加したいって事なのかな?

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

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

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

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

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

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

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

SQLへのクエリーの渡し方、了解です。
0376nobodyさん2011/08/08(月) 20:54:45.05ID:???
まずSQLのLIMITについて理解してんの?
理解してないならそれを理解するべき
0377nobodyさん2011/08/08(月) 21:03:39.04ID:3C9WKAJH
>>376
してます。ちょっと上のレスにも書いてあります。
0378nobodyさん2011/08/08(月) 21:04:19.30ID:???
それは1行目に書いてある
0379nobodyさん2011/08/08(月) 21:06:24.46ID:???
>>377
$tcnt(総件数)をユーザーが変更できるようにしたいってことだけど、
$tcnt = $_GET["tcnt"]; # 総件数
だからそもそもユーザーが変更できるようになってんじゃないの?
0380nobodyさん2011/08/08(月) 21:23:56.99ID:???
こういうことか?
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";
0381nobodyさん2011/08/08(月) 21:36:42.32ID:3C9WKAJH
>>379>>380
いえ、なってないです。
例えば
PAGESIZE = 2;
tcnt = 1;
とした固定した場合

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

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

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

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

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

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

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

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

【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のみならず、もっと根本的な理解が足りないのではないのか?と思い
質問させてもらいました。

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

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

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

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

header("location:URL");

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

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

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

そういうことです

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

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

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

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

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

>>450

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

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

URL自体は短かったです

>>453

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


>>454

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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

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

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

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

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

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

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

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



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

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

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

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

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

>>490はもうちょっとネットワーク構成等の環境をちゃんと書くべき
0499nobodyさん2011/08/13(土) 15:46:23.68ID:???
>DBとAPPサーバを分離してDBサーバには
>外部から見えないところに置くという構成もありうるのに
そんな構成にするやつは
こんなとこで質問しませんよ
0500nobodyさん2011/08/13(土) 15:47:55.63ID:???
>もうちょっとネットワーク構成等の環境をちゃんと書くべき
そんな構成を書けるやつは
こんなとこで質問しませんよ
0501nobodyさん2011/08/13(土) 15:56:36.54ID:???
というか、PHP側でエラーログとれないんだっけ?
0502nobodyさん2011/08/13(土) 16:44:35.89ID:???
Ajax側で可能
0503nobodyさん2011/08/13(土) 20:42:33.10ID: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講座をちょっとはじめてみたんだけど、
とりあえず、ここまでの説明で、
致命的に、説明や理解が間違ってるところとか、
ないよね?
0504nobodyさん2011/08/13(土) 20:44:11.27ID:???
ある
0505nobodyさん2011/08/13(土) 20:52:58.05ID:e//DbYP0
>>504
いやいやいやwww

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

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

これでどうアドバイスしろと…
初歩的すぎる、無駄に長い、用語が曖昧すぎる
少なくとも初心者向けではないと思うね
用語の使い方からしてよくわかってない人が一生懸命説明しようとして空回りしてる感じ
0519nobodyさん2011/08/13(土) 23:53:21.79ID:???
新手の売名行為か
宣伝乙
0520nobodyさん2011/08/14(日) 02:10:25.66ID:???
なりすましの晒しだろ
0521nobodyさん2011/08/14(日) 03:25:22.00ID:???
広告だらけで見てるだけで気分が悪くなる
0522nobodyさん2011/08/14(日) 03:26:22.01ID:???
つまり単なるアフィサイトを2chで宣伝しただけか。
0523nobodyさん2011/08/14(日) 03:30:04.85ID:???
ひらがなとカタカナだらけの文章でいかにも頭悪そう
アパッチとか書かれると戦闘ヘリを連想しちゃう
0524nobodyさん2011/08/14(日) 09:47:57.40ID:???
サイト自体がpixivだから宣伝って訳では無いだろうけど
確認してもらうっていう段階でも無いわな
自己知識への整理としてこういった試みをするのは問題ないとは思うがw
0525nobodyさん2011/08/14(日) 11:33:52.85ID:???
>>523
俺たちゃ裸がユニフォーム
0526nobodyさん2011/08/14(日) 11:37:10.71ID:???
漫画で、と言いながらほとんど文字だけなのはどうなんだろw
よくわかってないけど、こんな感じでぼんやり覚えましたって内容だな
0527nobodyさん2011/08/14(日) 17:18:42.02ID:???
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ページ目に行っても同じ内容しか出ません。どうしてでしょうか?
どうすればページごとで表示にできますか?
0528nobodyさん2011/08/14(日) 17:27:38.02ID:???
なんかのネタ?
ちゃんと下記のURLを読んでから出直しておい
0529nobodyさん2011/08/14(日) 17:41:07.44ID:???
>>527
>>1
0530nobodyさん2011/08/14(日) 17:42:53.44ID:cY2pTan9
失礼しました。sageでIDが出るのかと・・・
0531nobodyさん2011/08/14(日) 17:51:07.89ID:???
>>530
変数の状態を追ってデバッグしてみるといいよ
0532nobodyさん2011/08/14(日) 18:04:22.71ID:cY2pTan9
>>531
ありがとうございます。まずデバックからググッてみることにします
0533nobodyさん2011/08/14(日) 18:17:16.45ID:???
クじゃなくてグ
0534nobodyさん2011/08/14(日) 19:15:34.63ID:???
>>532
まずは変数の状態を追ったほうがいいと思うよ
0535nobodyさん2011/08/14(日) 19:48:38.29ID:cY2pTan9
>>534
わかりました。変数の状態を追ってみます。
0536nobodyさん2011/08/14(日) 20:08:18.82ID:RD798Zt3
スレチかもですがamebaとかGREEって何という言語でできてるのですか。掲示板
やchatの応用な気がして勉強しようかと思ってます
0537nobodyさん2011/08/14(日) 20:18:55.32ID:???
GREEはPHP
amebaは知らん
0538nobodyさん2011/08/14(日) 20:38:03.71ID:RD798Zt3
なるほどありがとうございます
0539nobodyさん2011/08/14(日) 20:57:30.09ID:RD798Zt3
JAVAは関係ないでしょうか?WebアプリはJAVAですよね
0540nobodyさん2011/08/14(日) 22:07:43.75ID:???
WebアプリはAjaxだべ
0541nobodyさん2011/08/14(日) 22:39:36.40ID:V03zcRVE
おまえらその質問マルチだぞ
http://hibari.2ch.net/php/#3
0542nobodyさん2011/08/14(日) 22:45:08.35ID:???
いやそんなリンクはられても困ります
せめてスレのリンクを
0543nobodyさん2011/08/15(月) 05:32:35.30ID:???

 おはよぉ〜

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

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

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

0544nobodyさん2011/08/15(月) 05:37:27.09ID:???
>>543
だから下着の色を教えろっての
0545nobodyさん2011/08/15(月) 08:38:19.40ID:tC4WNcNT
「わぷー」とかWPおわったなw
0546nobodyさん2011/08/15(月) 10:35:38.29ID:???
>>544 ID出さないから答えない
0547nobodyさん2011/08/15(月) 15:39:52.05ID:/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);
0548nobodyさん2011/08/15(月) 15:41:55.00ID:???
これだけじゃわからん
とりあえずqueryが定義されて無い
0549nobodyさん2011/08/15(月) 15:51:30.80ID:???
すみません。情報不足ですか。
以下二つは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;
05505472011/08/15(月) 15:52:29.89ID:/VGmfG1h
失礼致しました。。>>549も自分です。
0551nobodyさん2011/08/15(月) 15:53:06.31ID:???
smartyを使わないから知らないけどqueryしたものを更にqueryするって違和感ある
0552nobodyさん2011/08/15(月) 15:56:30.00ID:???
>>549
queryじゃなくてmysql_queryなんじゃ?
queryはちゃんと定義してるの?
0553nobodyさん2011/08/15(月) 15:59:57.13ID:/VGmfG1h
レスありがとうございます。
初心者で見よう見まねで作っているので。大変助かります。
queryの定義のご指摘ありがとうございます。
実はキチンと理解できていませんのでさっそく調べてみます。
0554nobodyさん2011/08/15(月) 16:10:58.94ID:???
>>553
とりあえず
$counterpart = $result->fetch_array(MYSQLI_ASSOC);
var_dump($counterpart);
die();
でちゃんと取得できてるか見た方が良いんじゃないか
0555nobodyさん2011/08/15(月) 16:13:45.50ID:???
$_query =query("UPDATE tbShop SET showing_order = $order WHERE showing_order = ".$counterpart["showing_order"]." AND active = 1");
このquery関数が無いつってんだろ。
query()外すだけで動きそうな
0556nobodyさん2011/08/15(月) 16:51:18.36ID:/VGmfG1h
>>554
ありがとうございます。見てみたらちゃんと取得できていました。

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

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

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

$a=1;
$chk$aなどと書くとエラーになります。
どのように記述すればよろしいでしょうか?
0578nobodyさん2011/08/16(火) 18:48:09.76ID:???
なんだっけ・・・
$chk{$a}
こんな事できなかったっけ?
0579nobodyさん2011/08/16(火) 18:49:01.64ID:???
http://jp.php.net/manual/ja/language.variables.variable.php
0580nobodyさん2011/08/16(火) 18:50:19.41ID:3xMYGdVH
ありがとうございます。
さっそくやってみます!
0581nobodyさん2011/08/16(火) 19:06:17.66ID:???
きもい言語だな
0582nobodyさん2011/08/16(火) 19:22:52.99ID: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
}
?>
0583nobodyさん2011/08/16(火) 19:24:12.07ID:???
$name = $chk.$a:

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

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

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

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

$label1ban = 'これが表示されます。';
0593nobodyさん2011/08/16(火) 22:04:37.30ID: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; ?>">
0594nobodyさん2011/08/16(火) 22:13:00.18ID:???
>>593
if (file_exists($upd_name))
0595nobodyさん2011/08/16(火) 22:15:06.71ID:???
file_nameを拡張子とファイル名に分割して
ファイル名_連番?_拡張子みたいな形にすりゃいいんじゃない?
0596nobodyさん2011/08/16(火) 22:23:30.59ID:???
DBに登録とかしとかないと元のファイル名が復元できなくなるけどな
0597nobodyさん2011/08/16(火) 22:56:08.13ID:IjmFjSTm
やってみます。
0598nobodyさん2011/08/16(火) 23:16:46.04ID:???
謝意は・・・?
0599nobodyさん2011/08/17(水) 00:22:46.32ID: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に入れたい)のです
グローバル関数にすればいいのですが、出来ればグローバル関数は汚したくないです。
0600nobodyさん2011/08/17(水) 00:27:50.86ID:???
名前空間とかクラスとか
0601nobodyさん2011/08/17(水) 00:33:33.03ID:???
はしょりすぎだろ
0602nobodyさん2011/08/17(水) 00:34:35.47ID:???
じゃあ補完すりゃ良いだろ
0603nobodyさん2011/08/17(水) 00:40:25.40ID: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をグローバルにすれば出来るけどグローバルにはしたくない という事です。
0604nobodyさん2011/08/17(水) 00:54:48.13ID:???
・・・。
レベルたけえな

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

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

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

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

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

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

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

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

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

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


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

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

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

ただ>>640はハッシュ化したものを
さらに復号化可能なアルゴリズムで暗号化したいと聞こえる
やりたいことがいまいち謎
0645nobodyさん2011/08/18(木) 03:43:47.67ID:???
>>644
意地悪なことを言わないで教えて下さい。
暗号化できて不可逆なパスワードのハッシュ化をしたいだけです。
0646nobodyさん2011/08/18(木) 03:57:20.28ID:???
評価の観点は?
0647nobodyさん2011/08/18(木) 04:23:15.02ID:???
意地悪?スレチなんだよカス

http://stackoverflow.com/questions/4291862/what-is-the-most-secure-hashing-method-php
http://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords
0648nobodyさん2011/08/18(木) 05:25:25.87ID:wM+XEC3J
しつもんです
アクセスしてきたユーザのIPアドレスから居住地を判定するライブラリみたいなものって
ありますか?
0649nobodyさん2011/08/18(木) 05:27:56.97ID:???
ある
0650nobodyさん2011/08/18(木) 05:32:42.76ID:???
俺が使ってるライブラリなら番地まで特定できる
たまに誤差が発生するけど町名までは確実に取れる
0651nobodyさん2011/08/18(木) 07:58:08.14ID:wM+XEC3J
>>649-650
おお、すみませんが教えてください
グーグルの奴を使ってみたんですが、なんか上手く動いてくれません
0652nobodyさん2011/08/18(木) 08:16:29.03ID:???
タダで教えられるか
こっちだって元手が掛かってるんだ
0653nobodyさん2011/08/18(木) 08:53:20.61ID:???
「暗号化できて不可逆なパスワードのハッシュ化」というのが、3重くらいの重言になっているから意味がわからんのだよ。
素直に解釈すると>>644の言うとおり「やりたい事が謎」としか言えん。

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

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

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

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

意味も分からんのに心配してるだけなら、とりあえずストレッチしときゃぁいいだろ
0658nobodyさん2011/08/18(木) 09:40:14.87ID:???
そういう場合はIDとパスワードでハッシュ化すんじゃねーの
0659nobodyさん2011/08/18(木) 09:46:34.92ID:???
他の情報を加えてハッシュを算出すれば確かに内部犯行によるリスクは軽減されるね
0660nobodyさん2011/08/18(木) 09:47:47.60ID:???
MD5とか sha1はそろそろ卒業
0661nobodyさん2011/08/18(木) 10:00:56.07ID:???
パスワードに英単語をそのまま使っている人が多いからなー
0662nobodyさん2011/08/18(木) 10:12:54.19ID:???
crypt使えcrypt
で、アルゴリズムをsha256かsha512にしろ
0663nobodyさん2011/08/18(木) 10:26:22.37ID:???
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"}]}}}}

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

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

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

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

みなさんありがとう
0674nobodyさん2011/08/18(木) 11:09:36.40ID: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
}
?>
06756632011/08/18(木) 11:14:57.69ID:???
>>674
<?php
$chk1 = "aaa";
$chk2 = "bbb";

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

こういうこと?
0676nobodyさん2011/08/18(木) 11:24:43.73ID:???
だから {} → []では?
0677nobodyさん2011/08/18(木) 11:35:10.47ID: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();

?>

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

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

そもそも
if($value == $row[seq]){
$chk[$row[seq]] = 'checked'
}
も ループの中にいらないし
$chk[$value] = 'checked' でしかない。
0686nobodyさん2011/08/18(木) 12:29:21.79ID: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のとき' 'を出力という意味でしょうか?
なんという文法でしょうか?
0687nobodyさん2011/08/18(木) 12:43:18.37ID:???
>>686
三項演算子
0688nobodyさん2011/08/18(木) 12:43:55.84ID:???
三項演算子

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

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

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

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

foreach($versiondate as $version){

$date = $versiondate->date

}

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

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

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

http://jp.php.net/manual/ja/function.memory-get-usage.php
0728nobodyさん2011/08/20(土) 17:23:48.53ID:???
それくらいの関数を見つける能力をつけずにこの先どうやってやっていけるんだ
0729nobodyさん2011/08/20(土) 17:33:49.83ID:???
お前みたいな面倒なやつはいらんから黙ってるか消えろ
0730nobodyさん2011/08/20(土) 17:38:31.90ID:???
>>719
何を言ってるのかさっぱりわかりません。
3行で要約しなさい。
0731nobodyさん2011/08/20(土) 18:14:04.32ID:???
>>729
お前みたいな馬鹿なやつはいらんから黙ってるか消えろ
0732nobodyさん2011/08/20(土) 18:17:19.38ID:???
>>731
スレチだから消えろ屑
0733nobodyさん2011/08/20(土) 18:19:23.47ID:???
>>732
スレチだから消えろ屑
0734nobodyさん2011/08/20(土) 18:39:07.17ID:???
なんだオウム返ししか出来ない無能か
0735nobodyさん2011/08/20(土) 18:48:29.10ID:???
>>734
なんだオウム返ししか出来ない無能か
0736nobodyさん2011/08/20(土) 19:01:30.52ID:???
面白いとでも思ってるんだろ
0737nobodyさん2011/08/20(土) 19:59:59.40ID:???
せめてID出してやれ。NGにするから
0738nobodyさん2011/08/20(土) 20:38:58.43ID: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
0739nobodyさん2011/08/20(土) 21:48:57.78ID:???
mb_convert_encodingを毎回必要な変数にちゃんと使いましょう
0740nobodyさん2011/08/20(土) 21:56:39.19ID:???
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=""
0741nobodyさん2011/08/20(土) 22:17:19.04ID: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だった
0742nobodyさん2011/08/20(土) 22:58:35.13ID:???
論破成功^^
0743nobodyさん2011/08/20(土) 23:13:13.45ID: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とかでコンパイル出来ないのでしょうか?
0744nobodyさん2011/08/21(日) 01:53:40.11ID:???
>>743
PHPエクステンションのバージョンと
Memcachedサーバーのバージョンを同一視しちゃいかん
0745nobodyさん2011/08/21(日) 05:58:15.30ID:???
論破成功^^
0746nobodyさん2011/08/21(日) 06:20:41.84ID:???
論破成功^^
07477432011/08/21(日) 12:51:43.67ID:J6eOgBv6
>>744
PECLでの連携はmemcachedではなく、memcacheでした、ごめんなさい
しかし自分の場合、mod_svnの時と同じようにPECLバージョンが古いのか、認識してくれません
ソースからでなくyumでのphpでならいけるのかもしれませんが、
php.iniのextension設定を正しく行ってextension=memcache.soを記述してもmemcache.soを読み込みません
memcachedは1.4.7をソースからインストール済みです
何か対策はありませんでしょうか?
07487252011/08/21(日) 12:59:08.20ID: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 スクリプトに割り当てられたメモリの量
増え続けるということですか?
0749nobodyさん2011/08/21(日) 14:14:54.32ID:???
>>747
display_startup_errors = on してなんとエラーが出てるか確認を

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

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

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

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

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

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

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

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

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

0799nobodyさん2011/08/23(火) 22:27:06.28ID:???
5.3.7って書けよ
ついでに言えばcrypt関数でとも書けよ
0800nobodyさん2011/08/23(火) 22:53:44.08ID:???
PHPではよくある話
0801nobodyさん2011/08/24(水) 01:31:41.61ID:???
gitとかsvnって何なのか教えろ
言っとくけどこれは質問じゃなくて命令だからIDは出さなくていい
0802nobodyさん2011/08/24(水) 01:40:33.08ID:???
>>798
記事上がってからレス早いね!
0803nobodyさん2011/08/24(水) 02:15:23.75ID:???
>>801
馬鹿には必要のないものだから安心しろ
気にしなくていい
0804nobodyさん2011/08/24(水) 03:14:56.89ID:???
>>801
cvsから始めろ。
これは命令だw
初心者はまずcvsで技術を学び、svnで磨きをかけた後で
gitにたどり着くべきだ。
初めからgitとか生意気だぞw
0805nobodyさん2011/08/24(水) 05:11:57.57ID:???
>>804
一人でやる分でcvsとかgitとか使うメリットはあるのかい?
0806nobodyさん2011/08/24(水) 05:36:57.23ID: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の方で何か変更されたのかも・・・?
0807nobodyさん2011/08/24(水) 06:51:38.66ID:???
>>805
http://hibari.2ch.net/test/read.cgi/tech/1295493964/

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

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

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

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

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

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

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

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

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

あだち充のマンガみたいに
全員同じ顔で、しぐさで見分けるのかあああ?!
0838nobodyさん2011/08/25(木) 01:02:27.59ID:???
$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";
とすれば出来る
0839nobodyさん2011/08/25(木) 01:03:38.48ID:???
すっげお前まじ天才じゃね?
0840nobodyさん2011/08/25(木) 01:40:47.62ID:???
>>836
すべてのトップレベルドメインとセカンドレベルドメインを羅列するだけなら
面倒だけど別に難しくはないだろ?
0841nobodyさん2011/08/25(木) 02:21:48.35ID:Qb73wGwG
defined('Hoge') or define('Hoge', true);
これはどういう意味ですか?なぜ「defined('Hoge') or」をつけているのかわかりません
0842nobodyさん2011/08/25(木) 03:37:09.47ID:???
>>841
演算子orは左側を最初に評価し、falseだった場合は右側を評価します。
つまりdefined('Hoge')の評価結果がfalseであればdefine('Hoge', true)を評価します。
結果、定数'Hoge'が定義されていなければdefine('Hoge', true)が実行されることになります。
0843nobodyさん2011/08/25(木) 09:26:21.92ID:???
>>840
ccSLDならサードレベルまで欲しいって感じじゃない
0844nobodyさん2011/08/25(木) 11:17:02.67ID:L9PzJ4Hs
定数に数字を入れてるのですが、条件によって変更したいと思います。

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

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

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


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

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

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

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

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

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

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

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

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

wikipediaの場合うんkとかのディレクトリが有るわけではない
0892nobodyさん2011/08/27(土) 00:35:24.97ID:???
>>887
いっとくけど「%E3%81%86%E3%82%93%E3%81%93」という文字列をブラウザが送信しても
ウェブサーバーが%xxをURLエンコード文字列と解釈して「うんこ」に変換しちゃうよ
だから「%E3%81%86%E3%82%93%E3%81%93」というディレクトリを作ってもそこにはアクセスできないよ
0893nobodyさん2011/08/27(土) 00:36:26.78ID:???
だからうんことかま○ことか下品な言葉を使わないでください
0894nobodyさん2011/08/27(土) 00:38:32.82ID:???
ち○こは可。
0895nobodyさん2011/08/27(土) 00:48:11.83ID:???
例文で予約されてる単語はhageだろ。
日本語の時はハゲ。漢字の時は禿。かなははげ。
うんこちんこまんこじゃなくて、はげ。わかった?
0896nobodyさん2011/08/27(土) 00:57:56.08ID:???
hageなんて予約されてねーよボケ
0897nobodyさん2011/08/27(土) 01:11:47.60ID:lpaF2D26
>>890-892
ありがとうございます!全ての疑問が解決しました!!
最初から%E3%81%86%E3%82%93%E3%81%93ってディレクトリがあるんだと
勘違いしていました(笑)
0898nobodyさん2011/08/27(土) 02:34:53.56ID:???
>>894
それは女専用語か?
0899nobodyさん2011/08/27(土) 12:26:30.58ID:???
>>893
定期的にその用語を使う質問が出てくるけど全部同一人物だと思ってる。
多分、皆の食いつきがいいからあえてその用語を使ってる故意犯。回答しないでスルーすればいいのに。
0900nobodyさん2011/08/27(土) 12:39:47.70ID:16DOerPq
てst
0901nobodyさん2011/08/27(土) 16:09:20.17ID:???
てst禁止
0902nobodyさん2011/08/27(土) 16:11:05.65ID:???
>>899
うんことかま○こを持ってるのはお前だけじゃないよ
何言ってるの?
0903nobodyさん2011/08/27(土) 17:27:34.50ID:???
>>902
ま○こ持ってるのか?
0904nobodyさん2011/08/27(土) 17:41:01.49ID:???
普通持ってるでしょ
0905nobodyさん2011/08/27(土) 19:06:00.60ID:???
メタ構文変数を使えばいいのに
0906nobodyさん2011/08/27(土) 21:51:51.97ID:???
一連の荒らしは同一人物による自演。
0907nobodyさん2011/08/27(土) 21:53:24.81ID: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;
と挿入してみましたがダメでした。
0908nobodyさん2011/08/27(土) 22:05:49.54ID:???
>>907
http://fa3-064.dokidoki.ne.jp/note9.html
09099072011/08/27(土) 22:17:12.87ID:He/A7o7q
>>908
まだ、うまくいきません。
まず、

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[

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

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

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

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

おまえ下流臭いな?
0983nobodyさん2011/08/30(火) 02:43:18.70ID:???
忍法帖すら知らない馬鹿発見
0984nobodyさん2011/08/30(火) 04:36:18.99ID:???
情弱にはPHPはおろか2chを使うのも難しい
0985nobodyさん2011/08/30(火) 12:34:32.74ID:???
↓こんな質問してるヤツが下流臭いとか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 ']'
>とエラーになってしまいます。

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


$aaa=15
$bbb=-100

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


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