【PHP】下らねぇ質問はID出して書き込みやがれ 104
質問者はまず
>>1 を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/ ◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
【簡易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プログラムとして実行された結果になる。
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に保存?
→ 好きにしてください
このスレは荒らしが立てました。もしこのまま使用するなら
>>1 の以下の部分を
読み替えて使用しましょう。
◆質問する時の注意
× ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・ スレを上げて自分の質問を目立たせることもできます。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・ 回答者は、回答に関して荒らしが矛盾する書込をする事を見分け易くする為に自分のIDを表示させる事も有効です。(メール欄に何も記述しない。専ブラのsageチェックを外す)
このスレは荒らしが立てました。もしこのまま使用するなら
>>1 の以下の部分を
読み替えて使用しましょう。
× ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・ 出来るだけスレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・IDを出さない場合、偽者や成りすましの出現を覚悟すること。
11 :
nobodyさん :2011/02/15(火) 12:49:56 ID:5P4gf0Js
このスレは荒らしが立てました。もしこのまま使用するなら
>>1 の以下の部分を
読み替えて使用しましょう。
◆質問する時の注意
× ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・ 出来るだけスレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・IDを出さない場合、偽者や成りすましの出現を覚悟すること。
このスレは前スレの980が立てたわけじゃないので認められない 本家スレは別に立てといてやる
じゃぁ次スレも今のうちに立てとくかな
16 :
nobodyさん :2011/02/15(火) 13:31:11 ID:Y8oJIAFr
【OS名】Redhat6 【PHPのバージョン】5.3 【連携ソフトウェア】MySQL ImageMagick 【質問内容】 sendmail使ってメール送信をしているんですが、エラーのハンドリングが出来ません。 送信できたかどうかといった事を行いたい場合はどういった関数を使えば良いのでしょうか?
17 :
。 :2011/02/15(火) 13:39:42 ID:???
送信できたかどうかはSMTPサーバーの中の人に聞いてください
それはPHPよりsendmail側の設定に原因があるかと
じゃぁqmailを使ってください
>荒らしの立てたスレは認めません ワロタ
スレ立ててテンプレ連投する奴って暇だよね、偽善者だし
>>1 乙
>>23 シーッ
おだてておけば何度でも次スレ立ててくれるから
そう思ってても誰も言及しないんだよ
考えてみれば質問したい奴が勝手にスレ立てて質問すればいいんじゃね?
考えてみればお前だけが勝手にスレ立てて質問すればいいんじゃね?
27 :
16 :2011/02/15(火) 14:21:02 ID:Y8oJIAFr
みなさんありがとうございます。 mail()は実際にはsendmailを使って送信しているというのでsendmailと書きました。 mail()ではエラーは見れないと考えてもよいのでしょうか。
>>27 sendmailなんて関数あったか?
mail関数の返り値は確認したのか?
>>29 sendmailがPHPの関数だとは
>>16 も
>>27 も書いてないだろ
その上
>>27 には
>mail()は実際にはsendmailを使って送信しているというのでsendmailと書きました。
とも書いてある。お前理解力なさすぎ
PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう? 誰が歯ブラシの本なんて読みたがります?
>>27 >mail()ではエラーは見れないと考えてもよいのでしょうか。
はい、よいです
mail()の実装は知らないけど本当にsendmailで送ってるなら
sendmailのログを解析すればよいです、はい
>>30 sendmailも知らないカスは放置したまえ
僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。 ホンモノのプログラマは、「動いてるように見えるけど、メモリリーク だらけじゃないか。直す必要があるかもね」なんて言うでしょう?僕なら、 10リクエストごとにApacheを再起動しますね。
僕はホンモノのアナニストではありませんから、やっつけアナルですよ。 ホンモノのアナニストは、「挿してるように見えるけど、綿棒ばかり じゃないか。きゅうりにする必要があるかもね」なんて言うでしょう? 僕なら、10本まとめて綿棒を挿入しますね。
>>30 sendmailがPHPの関数だとは誰も言っていない 俺も言ってない 聞いただけ
お前こそ読解力が無いのではないか
あぁ 中学生ですか では仕方がありませんね
>>33 自分のカス加減を棚にあげて 他人を卑下するなんて
PHPer社会人の風上には置けませんね
【レンタル鯖】CORESERVER 【PHPのバージョン】5.2.5 【Mysqlのバージョン】5.1.22 【テーブルのタイプ】InnoDB MDB2でDBへアクセスしています。 トランザクションを開始して、ロールバック・コミットの操作をしたいのですが 接続・SQLの実行はできますがロールバックがうまくできません。 原因がわかる方がいましたらご教授ください。 以下、テストとして作動させているソースです。 //dsnの生成 $dsn = 'mysql://*** : *** @ *** / ***"; $option = array('use_transactions' => true); // MySQLへ接続 $mdb2 = MDB2::connect($dsn, $option); $mdb2->beginTransaction(); $mdb2->loadModule('Extended'); //クエリの実行 $res = $mdb2->extended->autoExecute("USER_TBL", array('USER_REGIST_FLG' => 1), MDB2_AUTOQUERY_UPDATE, "USER_NO = 1", array('integer')); $res = $mdb2->extended->autoExecute("USER_TBL", array('USER_ADMIN_FLG' => 1), MDB2_AUTOQUERY_UPDATE, "USER_NO = 1", array('integer')); $res = $mdb2->extended->autoExecute("USER_TBL", array('USER_DELETE_FLG' => 1), MDB2_AUTOQUERY_UPDATE, "USER_NO = 1", array('integer')); $mdb2->rollback(); echo("終了");
38 :
37 :2011/02/15(火) 15:42:32 ID:Ta3hU+9t
すいません、37です。 ID出すのを忘れていました。
>sendmailなんて関数あったか? >sendmailなんて関数あったか? >sendmailなんて関数あったか? >sendmailなんて関数あったか? >sendmailなんて関数あったか? 誰が読んでもsendmailを関数だと勘違いしてるのは明らかなわけだが
中学生でもお前よりは読解力あるよね 誰へのレスかは明記しないけど
> 誰が読んでもsendmailを関数だと勘違いしてるのは明らかなわけだが 決め付けはよくないと 思います学校でならわなかったか? 私がいつ誤解しましたか 何時何分何秒ですか 出るところに出てもいいぞ > 中学生でもお前よりは読解力あるよね あんたが中学生?厨房ということは よくわかった だからもう引っ込め カス
たった今、残念ながら
>>36 が消防であることが判明しました
>>37 うまくできないのは、どうやって分かったの?
アップデートされてしまうってこと?
>>44 それがどうあkしましたか せいしんてきにはあなたより大人ですが何か
>>43 日本語には句読点というものがあるんだよ。今通ってる小学校で
習ったでしょう?
大切なことだからちゃんと覚えておこおうね
48 :
nobodyさん :2011/02/15(火) 16:38:13 ID:Ta3hU+9t
>>45 はい、その通りです。
更新されてしまいます。
49 :
nobodyさん :2011/02/15(火) 16:41:10 ID:hHfehwNI
>>44 あと池沼ね
>それがどうあkしましたか
日本語でおk
本当おもしれぇスレだなwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
>決め付けはよくないと 思います学校でならわなかったか? この区切り方w ガチの池沼に遭遇したのは久しぶりだわ
52 :
。 :2011/02/15(火) 16:46:02 ID:???
池沼ってなんですか 池?沼? 沼に行けということですか 意味がわかりません、句読点くらいしっています、バカですか
>それがどうあkしましたか せいしんてきにはあなたより大人ですが何か はいはい。興奮しないようにね。入力が遅いことは全然恥ずかしいことじゃないからね 今度は「せいしんてき」を漢字で書けるように頑張ろうな 先生も応援してるからな
「
>>53 は あたらしく くとうてん を おぼえた!」
なぜ私が興奮しないといけないのですか 9いやらしいですね 変体ですかあなたは
私は 中卒ですが知的障害者ではありません そういう 根拠のないこと を描くなら 本当に 出るところに出てもいいんだぞ0
>>57 なんかすごくバカっぽいのですが
私を馬鹿にしているのですか
59 :
37 :2011/02/15(火) 16:57:18 ID:Ta3hU+9t
>>52 ありがとうございます。
参考のURLを見ました。
URL先の方はMDB2のソースを直接編集していらっしゃいますが
レンタル鯖でありますので、おそらく直接編集ができないと思い
トランザクションの開始と、ロールバック、コミットについては
MDB2のメソッドを使わずに、SQLを直接実行させてみました。
//$mdb2->beginTransaction();
$mdb2->query("START TRANSACTION;");
//$mdb2->rollback();
$mdb2->query("ROLLBACK;");
のように、それぞれを修正しました。
結果、思った通りの動作をしてくれました。
本当にありがとうございました。
心より感謝致します。
めんどくさい池沼に粘着されたようだな このスレでは定期的にあることだから気にしないけどなw
せっかくPHPを覚えたので わたしのちしきをみんなに、役に立ててあげようと思ってここにきたのに こんなにレベルの低い人達しかいないなんて がっかりです、 37の答えだって本当は教えてあげてもよかったんだが こういうあつかいを、されるなら考え直します
池沼という言葉についてしらべました なんか差別語みたいですが そういうのって使っちゃいけないと教わったんですが あんたらほんとうに大人?
せっかく楽しんでたのに大根役者がなりすましたから冷めた
>>65 うん、お前は本人だな。つまりガチの池沼だ
大根役者が成りましたんじゃなくて 最初から全部大根役者だったんじゃね?
>>67 よくわかったな。前スレの終盤からここまで俺が
PC+スマホ+αを駆使して暇人を釣ってたんだよw
ちなみに+αは、俺の部屋で世紀末リーダー伝たけし!を読みながら
参戦した友人のK君ね
「お前が一番暇だろwww」っていうレスは受け付けないのであしからず
ネットも早く実名制にならないかな
71 :
70 :2011/02/15(火) 19:49:31 ID:???
もっとも、実名制になったらオレみたいなクズ が恥をかくことになっちゃうけど
実名制になったら書き込まないよ
中国にでもいっとけ
何で?
75 :
nobodyさん :2011/02/15(火) 23:19:58 ID:Z0gRK6Gz
pdoに手を出し始めたところです $sth = $pdo->prepare("SELECT col_1,col_2 FROM hoge"); $sth->execute(); $result_1 = $sth->fetchALL(PDO::FETCH_COLUMN, 0); $result_2 = $sth->fetchALL(PDO::FETCH_COLUMN, 1); とやると $result_1はちゃんと配列が取れますが $result_2は何もありません カーソルが最後まで行ったからかと思うのですが どうすれば$result_2にも配列を取れるでしょうか
>>12 > 必ずIDを出すこと
これを書き足して新スレを立ててくださいね。
> どうすれば$result_2にも配列を取れるでしょうか $result_2にも配列を欲しがる理由を教えてください。
>>75 PDOにはmysql_data_seekみたいな機能は無さそうだから無理っぽいね
普通に考えると、そういうときは
$result = $sth->fetchALL();
として、
$result_1に相当する部分は$result[n][0]で、
$result_2に相当する部分は$result[n][1]でアクセスするべきだと思う
>>75 > $result_1はちゃんと配列が取れますが
申し訳ないが、$sth->fetchALL直後の$result_1と$result_2をvar_dumpした結果を教えてくれないか?
>>79 KY
もうこの質問は終わってるんだよ
質問した奴が反応してないだろ
釣りなんだよ
81 :
。 :2011/02/16(水) 12:24:32 ID:???
>>75 $result_2 = $sth->fetchALL(PDO::FETCH_COLUMN, 1);
の前でもう一回
$sth->execute();
を実行して下さい。
82 :
75 :2011/02/16(水) 12:47:11 ID:???
遅くなったのは申し訳ないけど 釣りって言葉はありえなくね ということで var_dumpすると$result_2は空でした 再度executeするよりは二次元配列から取り出す方がいいかな それでやってみます ありがとうございました
83 :
nobodyさん :2011/02/16(水) 13:12:31 ID:bzYdcF36
サイトにRSSを表示したいのですが $int = $_REQUEST[int]; $caption = $value->item[$int]->title; では表示されず、 $int = "0"; $caption = $value->item[$int]->title; でなら表示されるという不具合に悩まされています。 $int = $_REQUEST[int]; echo $int; とすると数字が 1 などと表示されるのですが $caption = $value->item[$int]->title; では表示されません。 何故でしょうか?
$_REQUEST[int];
$_REQUEST[int] が原因だろ
87 :
。 :2011/02/16(水) 13:34:59 ID:???
俺ウザいですか?
89 :
。 :2011/02/16(水) 13:42:50 ID:???
>>83 Notice: はでるけど $_REQUEST[int]; でも ?int=1 で 1が取れるんだよな。
まず、 var_dump( $value->item ) を確認してください。
itemに 0はあるけど 1ないとかそういう単純な話かも。
>>89 KY
もうこの質問は終わってるんだよ
質問した奴が反応してないだろ
釣りなんだよ
/ ̄ ̄ ̄ ̄ ̄ ミ / ,――――-ミ / / / \ | | / ,(・) (・) | (6 つ | | ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | /__/ / < なわけねぇだろ! /| /\ \__________
92 :
83 :2011/02/16(水) 17:10:14 ID:bzYdcF36
var_dumpでは確認済です。 item[1]などはちゃんとあるのですが $_REQUEST[int]からだと表示されません。 GETで値を渡しているのですがもっといい方法があるんでしょうか。
$_REQUEST[int]
94 :
nobodyさん :2011/02/16(水) 17:32:22 ID:0JcE1KEJ
【OS名】CentOS 【PHPのバージョン】5.1 【連携ソフトウェア】無し 【質問内容】 正規表現でマッチした(<title>〜</title>)以外の所の置き換えをしたいのですが判定方法をどうすればいいか考えてます。 $text = "hogehoge<title>title</title>mogemoge"; このhogehogeやmogemogeにあたる部分のみを置き換えしたいのですが方策が思いつかず困ってます。 流れとしてどうすればいいかアドバイスもらえないでしょうか。
95 :
83 :2011/02/16(水) 17:33:32 ID:bzYdcF36
warakaneeeeeeyo
>>94 explodeとかで分割するんじゃダメなの?
97 :
83 :2011/02/16(水) 17:46:35 ID:bzYdcF36
$_REQUEST[int]を$_GET[int]にしても駄目でした。 しかし、試しに $int = $_GET[int]; $int = $int+1; こうしてみると$caption = $value->item[$int]->title;が表示されます。 これはどういう事でしょうか。
98 :
83 :2011/02/16(水) 17:49:13 ID:bzYdcF36
$int = $_GET[int]; $int = $int+1; $int = $int-1; これで表示されるのでとりあえずこれで行ってみます。 しかし激しく格好わるいですね。
99 :
94 :2011/02/16(水) 17:59:12 ID:0JcE1KEJ
>>96 ありがとうございます。
preg_split("/\<title\>(.*?)\<\/title\>/", $text)
としてhogehogemogemogeを取り出す事は出来たんですが、置き換え後にどう元に戻せばいいのかと考えてます。
作業前:hogehoge<title>title</title>mogemoge
を置き換えて
作業後:example<title>title</title>example
としたいわけです。
preg_splitで取り出してpreg_replaceで置き換えたあとにどうすれば作業後の結果に戻せるのか方策が思いつかないです・・・。
100 :
nobodyさん :2011/02/16(水) 18:01:48 ID:vtmLK1PS
$sql = "SELECT acc1+acc2 AS access FROM acclog"; $query = mysql_query($sql); このようなSQL文のクエリからmysql_fetch_name($query,0)のようにして フィールド名を取得しようとしたのですが、ASで変換している箇所は取得できません。 どうやって変更したフィールド名を取得すればいいのでしょうか?
↑これを撤回します、普通に取得できました・・。 コードがミスっていました。スレ汚しすみません。
102 :
。 :2011/02/16(水) 18:37:04 ID:???
>>94 $text = preg_replace( "/.*(?=<title>)/", "前",$text,1);
$text = preg_replace( "/(?<=<\/title>).*/", "後",$text,1);
>>98 原因はわからんが、それをするなら
$int = $_GET[int] + 0;
104 :
nobodyさん :2011/02/16(水) 19:11:33 ID:xv6q7uMH
【OS名】CentOS 【PHPのバージョン】5.1.6 ob_get_level()でレベルを取得すると2となります。 クライアントに即座にデータをおくりたいのですが、 ob_get_level()で1がかえってくるようにするには どのようにすればよろしいでようか?
>>99 試してないけど
preg_replace("/\<title\>(.*?)\<\/title\>/", "example<title>$1</title>example" , $text)
107 :
104 :2011/02/16(水) 19:17:48 ID:???
>>106 すみません。
ネストから抜けるとは具体的にどの様にすれば良いのでしょうか?
>>107 ob_get_levelの意味はわかってるよね
ob_startを2回したからネストレベルが2になったんだろ
ob_end_flushやob_end_cleanでバッファリングを1段終了できるよね
ていうか何のためにob_startしてるか理解してるの?
112 :
107 :2011/02/16(水) 19:34:13 ID:???
>>109 ありがとう
>>110 すみません。意味がやっとわかりました。
おかげで期待通りの動きになりました。
ありがとうございました。
113 :
94 :2011/02/16(水) 19:44:25 ID:0JcE1KEJ
>>102 4つ目の引数に1って指定できるの知りませんでした。
正規表現も勉強になります。
実際のデータにはエンティティ化された文字がはいっててtitileタグ内はそのままで
エンティティ化された部分だけを置き換え出来るようにしたいと考えてます。
<""><title>title</title><"//">
を
<""><title>title</title><"//">
としたいので<title>の前の部分の内容によって置き換え条件を変更したいわけです。
explodeみたいなので配列に分割できればラクそうだったんですが。
[0]=> <""> [1]=> <title>title</title> [2]=> <"//">
こんな風に出来れば指定部分だけそのままで配列0と2だけ置き換えしてimplodeでもすれば出来るんじゃないかと。
こういうことが出来るのかどうか、代替手法があるのかどうかちょっとまだ見えてないんですが。
へ〜
PHPのバッチをhttpdのプロセス上で実行するのと コマンドプロンプトからPHPを実行した場合、 後者のほうがパフォーマンスはいいのですかね?
そりゃHTTPリクエストやら何やらでApacheが動く分、前者のほうが不利だろうなぁ
$text = '<""><title>title</title><"//">'; if (preg_match('#(.*?)(<title>.*?</title>)(.*)#i', $text, $match)) { $text = str_replace('"', '"', $match[1]) . $match[2] . str_replace('"', '"', $match[3]); } echo $text;
その話題はもう終わった
120 :
nobodyさん :2011/02/16(水) 20:56:51 ID:DO+wFNoc
PHP5のファイルの文字コードと改行コードって どうするのがスタンダードですかね?
122 :
nobodyさん :2011/02/16(水) 22:47:21 ID:DO+wFNoc
>121 EUC-JPかUTF-8ってのは分かってるんですけど それでもどっちがスタンダードかなと思いまして。 あと、改行コードはCRLFとLFどっちですかね?
全部UTF8で統一しろ そうすりゃ文字コードで悩む事は無くなる
>>122 改行コードは好きにしろ
リモートならFTPでアップするときにアスキーモードで勝手に変換されるだろ
125 :
nobodyさん :2011/02/17(木) 10:29:53 ID:T4c0Fhk0
多次元配列のデータをファイルに保存、復帰させて使いたいと思ってます。 json_encode json_decode を使えば簡単なんですがメモリ消費が激しく 今はしのげるものの、今後増え続ける変換処理でメモリ不足になります。 もっと動作的にもメモリ的にも軽く使う方法があれば教えてください。
多次元配列をそのまま保存・復帰とか そんな手抜きするやつはビンタだな
>>125 serializeとかvar_exportでも同じだろうから、
配列読みながらファイルに書き込むのを作るしか。
129 :
nobodyさん :2011/02/17(木) 12:12:10 ID:DXaPju3P
デザインパターンはマニュアルのクラスのところを全部覚えてから勉強したほうがいいものですか?
130 :
nobodyさん :2011/02/17(木) 12:40:14 ID:fkwoRsvL
某フリーのアプリケーションをDLして使ってみたら正常に動かず、 require "config.php"; として呼び出されているconfig.phpの中身が丸ごと画面に出力されていました で、よくみるとconfig.phpには <?php と ?> の、頭とお尻のphp宣言がない状態でした。 ?>を書かないというのは聞いたことありますが、<?phpを省略するなんて可能なんですか? 結局両方とも書き足したら動くようになったんですが、「<?phpを書かなくても動くようにする」には どうしたら良いんでしょうか?
無理ですしphpファイルだからってPHPコードを含めないといけない訳ではないでしょ
eval( file_get_contents("config.php")); ってのは思いついたけどなんか違うよね。
133 :
nobodyさん :2011/02/17(木) 13:12:17 ID:guOwmBH1
ApacheとPHPを普通にインストールして関連付けた段階なんだけど、 require "config.php"; って書いただけで、それが書かれたファイルがある場所とは別の ライブラリ専用フォルダの中から探してきてくれるようにするにはどうすればいい?
>>131 ,132
どうもです。アプリケーションの書き間違いだったんですかね。
不具合のレポートとか調べてみることにします。ありがとう
136 :
nobodyさん :2011/02/17(木) 14:37:52 ID:hXN9jln4
【OS名】CentOS 【PHPのバージョン】5.1.6 【連携ソフトウェア】 【質問内容】 実行されているPHPのプログラムが CLIモードで動いているかどうかを 取得する方法はありますか?
print PHP_SAPI;
138 :
nobodyさん :2011/02/17(木) 14:53:27 ID:uc0VVbVb
$a = '123123123123'; echo strpos($a, '3'); この場合の結果は2となりますが$aに含まれる3の場所全部を探したい場合はどうすればいいですか?
139 :
136 :2011/02/17(木) 14:59:04 ID:???
>>138 $b = array();
for($i = 0; $j = strpos($a, '3', $i); $b[] = $j, $i = $j + 1);
var_dump($b);
142 :
nobodyさん :2011/02/17(木) 20:01:49 ID:srZURUor
preg_matchで修飾子にuをつけたんですが、 preg_match(): Compilation failed: range out of order in character class っていうエラーが消えません。 原因は他にあるんでしょうか?
ぐぐりましたか?
>>124 どっちでもいいとか言われると困る〜
どっちがいいんですか〜
>>145 PHPのソース中の改行コードは空白文字と一緒だから本当にどっちでもいい。
でもまぁWindowsならCRLFにしとけ。
>>36 他人を卑下するって言い回しは正しくないと思います
ひ‐げ【卑下】 [名・形動](スル) 1 自分を劣ったものとしていやしめること。へりくだること。「そんなに―する必要はない」 2 いやしめて見下すこと。また、そのさま。 「自修の事を甚だ―なる田地に落ち沈ましむるなり」〈中村訳・西国立志編〉
>>147 お前の頭の中では「Linux=商用鯖」かよwww
151 :
nobodyさん :2011/02/17(木) 21:25:59 ID:fkwoRsvL
linux板で質問したらこちらに誘導されたので来ました。以下の質問、お願いします ------ apacheのバーチャルホストでwww_example1_comとwww_example2_comの2つを運用していて、 phpのinclude_pathを以下のように定義しようとしました 1)両方のサイトで共通して使うパスは、php.iniのinclude_pathで設定 例:PearやFrameworkのライブラリへのパス 2)それぞれのサイトで使う固有のパスは、httpd.confの<Virtualhost>部分で設定。 例:利用DBのテーブル名などconfigファイルへのパス php_admin_value include_path "/var/www/example1/application:/var/www/example1/php_libs/config" でも、実際に動かしてみたらうまくいかず、こんなエラーが出ます。 PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required 'Zend/Controller/Front.php' (include_path='/var/www/example1/application:/var/www/example1/php_libs/config') 固有のinclude_pathは認識してるものの、共通のパスの方は認識してないってことでしょうか? phpinfo();で表示されるinclude_pathは共通の方(php.ini)で指定してある方なんですが… どうしたら良いのか、ご意見お願いします ----- linux板では、1)のphp.iniの内容を2)のhttpd.confが上書きしてるからだと言われたんですが、 この2つは共存できないものなんですか? そうだとすると、両方のサイトそれぞれの<virtualhost>宣言部分に全部まとめて書くしかないんでしょうか?
3行にまとめてくれ
>>151 > phpinfo();で表示されるinclude_pathは共通の方(php.ini)で指定してある方なんですが…
www_example1_com
www_example2_com
それぞれでの phpinfo() で表示された値を教えてください。
まとめたり、略したりせずにお願いします。
154 :
nobodyさん :2011/02/17(木) 22:22:34 ID:fkwoRsvL
>>153 ありがとうございます
www_example1_comでのphpinfo()は
include_path /var/www/example1/application:/var/www/example1/php_libs/config
www_example2_comでのphpinfo()は
include_path .:/usr/lib/php/PEAR:/usr/lib/php:/usr/lib/php/Smarty:/usr/lib/php/ZendFramework/library
httpd.confでは以下のようになっています
<VirtualHost *:80>
ServerName www.example1.com
DocumentRoot /var/www/example/html
php_admin_value include_path "/var/www/example1/application:/var/www/example1/php_libs/config"
</VirtualHost>
<VirtualHost *:80>
ServerName www.example2.com
DocumentRoot /var/www/example2/html
#php_value include_path ""
</VirtualHost>
php.iniは
include_path=".:/usr/lib/php/PEAR:/usr/lib/php:/usr/lib/php/Smarty:/usr/lib/php/ZendFramework/library"
<VirtualHost>ディレクティブでinclude_pathを指定してないexample2はphp.iniの通りに返してるようです
155 :
nobodyさん :2011/02/17(木) 22:46:16 ID:qWpUfC6V
上書きする仕様どおりですね。ちゃんと動作してるじゃないですか。 (上書きできなきゃ困るでしょう?) あきらめてサイト別に全部書いてさい。
>>154 ありがとう!
申し訳ないが確認させてください。
www.example1.com では、
include_path /var/www/example1/application:/var/www/example1/php_libs/config
を望んでいますか?
www.example2.com では、
include_path .:/usr/lib/php/PEAR:/usr/lib/php:/usr/lib/php/Smarty:/usr/lib/php/ZendFramework/library
を望んでいますか?
もしも、www.example1.com、www.example2.com それぞれで望んでいない include_path ならば、
それぞれで、何を望んでいるかを具体的に教えてもらえますか?
>>155 やっぱり上書きなんですね。諦めて全部書くことにします
どうもありがとう
>>156 えーと、教えてもらう側なのにそんなにへりくだられても妙な気分なんですが…
両方とも望んでますよ。
要するに、共通して使うシステムのinclude_pathをphp.iniにまとめて書いて、
個別に専用で使うinclude_pathを<virtualhost>ディレクティブに書きたいという
希望だったので。。
諦めて<virtualhost>ディレクティブに、専用・共通全てのinclude_pathを指定することにします
どうもありがとうございました
>>157 ありがとうございます。
質問の意図を私が理解し切れなかったので、いろいと質問してしまいました。
解決の糸口が見つかって自分で試せる状況まで進めたことは幸あることです。
良い結果に感謝です!
>>157 差し出がましいようで心苦しいのですが、
実行するphpファイルに直接書き込むのが最も単純だと
私のような下々のものは考えるのですが、いかがでしょうか。
set_include_path()
お前らいい加減にしろ!
exit();
164 :
nobodyさん :2011/02/18(金) 16:03:50 ID:Mrnk7oLN
【OS名】Windows7 【PHPのバージョン】5.1 【連携ソフトウェア】Eclipse Zendデバッガー XAMPP 【質問内容】 スレ違いだったらごめんなさい。 EclipseとXAMPPをつかって開発をしているんですが、 PHPをCLIで実行したときにXAMPPのPHPフォルダの php.iniの設定を読み込んでくれません。 Zendデバッガーのtmp領域に作成される php.iniを見ても、XAMPPのPHPフォルダのphp.iniの 内容とは異なるものができ上がっています。 CLIで動かしたときには元はどこのiniファイルを見ているのでしょうか。 わかる方がいらっしゃいましたら よろしくお願いいたします。
166 :
nobodyさん :2011/02/18(金) 16:23:59 ID:ZHHwRd0X
【OS名】CentOS 【PHPのバージョン】5.1.6 【連携ソフトウェア】 【質問内容】 APIへのPOSTリクエストで手詰っています。 OAuthを利用した認証からGETでのデータ取得まではHTTP_OAuthを利用してできました。 しかし「Content-Typeをapplication/jsonでjsonデータをPOSTする」部分がどうしてもわかりません。 最終的には$consumer(HTTP_OAuth_consumer で作成)->sendRequest([API URL],$params,"POST"); という形で送ると考えているのですが、headerをどこに記述したらいいのか・・HTTP_REQUESTのsetHeader?いや$paramsの中に直接記述?などと様々な試行錯誤を繰り返したものの、結果は「400 Bad Request」のみです・・ 1週間ほど格闘してもうお手上げなので、どなたかアイデアをお願いします。
167 :
164 :2011/02/18(金) 17:11:37 ID:Mrnk7oLN
>>165 レスありがとうございます。
XAMPPのフォルダを見たのですが
php-cli.iniはありませんでした。
試しにC:\windowsの中に
php-cli.iniをつくってみたのですが、
これでも動きませんでした。
どこか他に見ているところがあるのでしょうか。。。。
168 :
nobodyさん :2011/02/18(金) 17:19:54 ID:NY+ifgVH
【OS名】WindowsXP Home SP3 【PHPのバージョン】5.2.14 【質問内容】 PHP + SFTPでファイルを送信したいと考えています。 pecl ssh2のコンパイルが難しそうなので、PuTTY付属のplinkで何とかしたいのですが、 exec('plink -P ポート -l user -pw pass 11.11.11.11') でログインした状態のplinkにメッセージを送る方法が分かりません。 何かよい方法があればご教示ください。よろしくお願いします。
>>167 phpinfo()見てって言えばよかったのか。
>>168 expect_expectl かなぁ。
171 :
nobodyさん :2011/02/18(金) 18:42:58 ID:TKcD2AZD
すみません。 携帯からPOSTされる文章の改行コードって"\n"でしょうか? それとも"\n\r"(?)でしたでしょうか? 機種によって違うのでしょうか? 携帯ややこしいです。
172 :
nobodyさん :2011/02/18(金) 18:55:08 ID:fb4Kr5zE
【OS名】Windows 7
【PHPのバージョン】5.3.5 (VC6 X86 32bit) + PEAR
【連携ソフトウェア】
pdo_mysql / mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
MySQL 5.5.8 (Community Server) / Apache 2.2.17 / XAMPP (Basispaket) 1.7.4
【質問内容】
$stmt = $dbh->prepare('SELECT 2011');
$stmt->execute();
var_dump($stmt->fetchColumn());
以上のコードを実行すると int(2011) と表示されます
PHP Manual によると string 型で返るはずですが、int 型で返ってしまいます
仕様通り string 型で返すにはどうすれば良いでしょうか
http://www.php.net/manual/ja/pdostatement.fetchcolumn.php
>>168 > exec('plink -P ポート -l user -pw pass 11.11.11.11')
> でログインした状態のplinkにメッセージを送る方法が分かりません。
誰が何にログインした状態を想定しているのかを教えてください。
>>172 $stmt = $dbh->prepare('SELECT 2011');
$stmt->execute();
//
$result = $stmt->fetchColumn();
//
var_dump( $result );
//
if ( is_integer( $result ) ) {
:
:
var_dump の仕様についての問い合わせですか?
何の仕様についての問い合わせですか?
質問の対象がぼやけ始めています。
>>172 うちは
string(4) "2011" だよ。
176 :
168 :2011/02/18(金) 19:05:29 ID:???
>>170 ありがとうございます。
それもpeclなので、コンパイルできずちょっと難しそうです。
WSHでも出来ないようで困りました…
>>173 SFTPを使用するためにuserがサーバにSSHでログインした状態です。
>>176 続くコマンドをファイルに書いて -m file ではいけますか?
179 :
168 :2011/02/18(金) 19:58:52 ID:???
>>178 ありがとうございます。それでいけました!
>>171 全機種調べる気力もなければ、今後の機種もどうなるか分からないので、
どっちでもいいようにプログラム組めってことですよね。
POSTの改行コードなんて全置換かnl2brtの時くらいしか意識しなくていいと思うが
<?php
if (PHP_SAPI != 'cli') {
die("Please run this test from CLI!\n");
}
ini_set('display_errors', 1);
ini_set('output_buffering', 0);
error_reporting(-1);
if (!ini_get('safe_mode')) {
set_time_limit(1);
}
echo "Testing float behaviour. If this script hangs or terminates with an error ".
"message due to maximum execution time limit being reached, you should ".
"update your PHP installation asap!\n";
echo "For more information refer to <
http://bugs.php.net/53632 >.\n";
$d = (double)"2.2250738585072011e-308";
echo "Your system seems to be safe.\n";
noobにはピッタリだな
メディーーック
186 :
nobodyさん :2011/02/19(土) 09:10:39 ID:Gww6mUql
$hoge = 'hoge'; $fuga = 'fuga'; みたいなのがあって何度も「$hoge . $fuga」を使いたいときは $piyo = $hoge . $fuga; としてから「$piyo」を使うほうがいいんですよね? スーパーグローバル変数はこんなふうに別の変数に入れなおさなくてもいいんですか? 本当にくだらないかもしれませんがよろしくおねがいします
188 :
nobodyさん :2011/02/19(土) 09:35:43 ID:Gww6mUql
>>187 186の例だと短い文字列の連結だけなのでたいした違いはないと思いますが
「$hoge . $fuga」じゃなくもっと複雑な処理をしたあとの結果を何度も使う場合は
その結果を変数に入れておけば毎回複雑な処理をしなくて済むんですよね?
無駄な処理をしなくて済んで効率的だという意味の「よい」です
スーパーグローバル変数は、処理がされた結果が入っているのか、
たとえば$_SERVER['REMOTE_ADDR']と書くたびにREMOTE_ADDRを取得しに行くのか、
後者なら変数に入れなおす必要があるのかな、と思いました
関数じゃなくて変数だから結果が入っているのかな・・・?
変数に入れることによるメモリ消費量の増加と 処理をすることによるCPU負荷を天秤にかければいいさ
>>189 知りたいのは、スーパーグローバル変数はすでに結果が入っているのかどうかということです
188の最後の行で正解ですか?
>>188 スーパーグローバル変数は、変数であるのであなたの杞憂するような
余計な処理というのは入っていない。単純に配列から取り出しているだけ。
見かけ上配列と同じArrayAccessインターフェイスのがあるが、こちらは
配列的アクセスしたとしても関数を呼び出すので、多少なりとも配列から
呼び出すのより遅くはなる。
それとグローバルの$hogeは$GLOBALS['hoge']と同じことなのだから、
たぶんほとんど差がない。
ぴゅっ
グローバル変数使ってるうちは素人だってじっちゃが言ってた
PHPファイルのインデントは タブと半角スペースどっちが推奨ですか?
エディターは何使ってる?
ノートパッド
peggy
ノートパッド
peggy
ここまでPHP Editorなし、と
俺は秀丸(フリー版)つこうてる
えくりすぷ
エディタスレ池
>>207 まぁなーでも同じ処理を何度も行うわけではないのに関数化する意味はないよな
ネストが深いといってもこの程度の話だから
for(){
;
if(){
;
for(){
;
if(){
;
}
}
}
}
くだらん。お前の話はくだらん
一つ減った(`・ω・´) for(){ ; if(){ ; continue; } for(){ ; if(){ ; } } }
せめて
タブにして表示をスペース2つ分にすればいいじゃん
>>212 > タブ使うと環境によって見え方が変わるから嫌い
forのネストはたいてい解消できるんだけどな for ($i=0, $j=1, $k=0, $fib=0; $i<50; $i++, $fib=$j+$k, $j=$k, $k=$fib) { echo $fib."<br>\n"; }
>>215 そのfor文、1行に収まってるからいいけど、
50行くらいなったらどうすんの?
はコピペするとそれも含まれるのが不便だな
>>213 おまえさん、HTML書くときもwidth=800とかで固定するタイプだろ
width=100%で相手の環境に合わせようとは考えないタイプだ
俺もだよ
>>219 HTMLは書いたこと無いですよ。
というより、いまどきHTMLを書く必要ってあります?
>>220 PHPから何を書き出してるの?
漢はtext一択?
>>221 何を書き出してる?
質問の意図がよくわかりませんが、標準出力のことでしょうか。
ファイルやデータベース出力も利用しますが、画面表示なら標準出力を使っています。
>>222 ああ、ほんとにHTML使わないんだ。
HTML書き出さないなら、pythonとかの方が便利じゃね?
224 :
nobodyさん :2011/02/20(日) 01:14:48.73 ID:s/fCDBml
Mixi等のログインしないと中身が見れないサイトに関してですが ああいうサイトはどこにアクセスしてもCookieにログイン情報がない場合はログイン画面にリダイレクトされると思います。 あれは、各ページ全ての先頭でログインチェックをやっているということですか? それとも、.htaccessかなんかで一括で前処理が出来るのでしょうか?
普通はセッションチェックする処理をインクルードファイルにして全ページに組み込むと思う
>>224 質問の意図が見えない。
何かをしたいから mixi だうんぬんを質問しているんだろ?
背景…自分が何をしたいかを正直に書いてはどうだろうか?
何らかの答えを求めるならば質問する理由を明確にしないと自分が欲しい回答が得られないのは当たり前のことです。
新参な俺に教えてください
>>226 はおバカさんなのかしら?
228 :
nobodyさん :2011/02/20(日) 02:45:28.82 ID:s/fCDBml
>>225 ありがとうございます
それでやってみます
>>227 ちょっとなに生きてるのかよくわからないです
回答者にID出せ厨かつAjax厨だからな 自作自演でしか盛り上げられないかわいそうなやつなんだよ 残念な脳の持ち主であることは前々から言動を見ればわかっていたことなんだから 今更小突き回しても面白くないし華麗にスルーするのがよい 俺も含めてかまったら負け
231 :
nobodyさん :2011/02/20(日) 08:38:16.10 ID:gro3cDqj
引き続き、土は生ぶ 明あき弘ひろをさがしています。
三十歳 programmer 日藝出身 最寄り駅はさぎのみや駅もしくは阿佐ヶ谷駅
福岡県出身との情報があります。
連絡先・
[email protected]
233 :
nobodyさん :2011/02/20(日) 11:22:18.24 ID:6qTRErru
設定ファイルconfig.phpの中に書かれた変数をfunction内で呼び出すのにいい方法ありますか? functionは10個ほどあり、function外にincludeを置くと変数を読み込んでくれないので、function内で同じincludeを計10個書いています。 global 変数 とすれば読み込んでくれますが、設定項目が増えるとglobalも増やさなくてはいけないので面倒で。。
Configクラスを用意する。 staticでアクセスする
235 :
nobodyさん :2011/02/20(日) 14:14:04.00 ID:TBXYZPd+
MySQL関連の質問で恐縮なんですが、 一般的に処理が重くなるのは、 saveなどの書き込み系で、 findなどはそこまで気にしなくて良いと考えていいでしょうか? 最近、ループの中でsave を何回も繰り返していたので、 一気にまとめて save Allとするようにしました。
標準関数でsaveなんてあったっけ?
>>234 classをfunction内で読み込むのにstaticというのを使うのですか?
238 :
nobodyさん :2011/02/20(日) 14:25:08.80 ID:TBXYZPd+
>>236 すいません。 cakePHPを使っているので、データベース関連の関数はsave とかで覚えてしまっていて。
更新系が重くなるのは勿論だけど参照系だって多少は重いよ
240 :
nobodyさん :2011/02/20(日) 15:36:51.57 ID:TBXYZPd+
>>239 レスありがとうございます。
やはり、80000ぐらいのデータから findとかを繰り返すと重くなりますよね。
saveは重いだろうけど、 findは軽いだろうから大丈夫だと勘違いしてた気がします。
241 :
nobodyさん :2011/02/20(日) 21:34:15.34 ID:xXHeI12p
「a()[0]」という感じにa()の結果のarrayを変数に入れずにすぐに使いたいのですが どう書けばいいですか? <?php echo a()[0]; //エラーが出ます function a() { return array('b', 'c'); } ?>
無理です
>>241 基本的にには無理だし、a()[0]、a()[1] と別々に呼び出すと
a()関数を2回コールすることになるので無駄
どうしても1行で収めたいのなら別の関数を作ってそこからa()を呼び出すとか
function b($func, $var){$ret = $func(); return $ret[$var];}
echo b("a", 0);
それも2回コールするけどな
Nowdoc って何て読むんだろ。ナウドック?
>>241 こんなんでどうでしょうか
class hoge {
public $result;
public function foo() {
$this->result = array('aaa', 'bbb');
return $this;
}
}
$obj = new hoge();
echo $obj->foo()->result[0];
newの分多いじゃんw
247じゃないけど、本質はそこじゃないだろ
>>248
どこなの?
>>251 250じゃないけど、お前みたいなヤツ、嫌いじゃないぜ///
>>247 それするなら
class hoge {
public $result;
function __construct(){
$this->result = array('aaa', 'bbb');
}
}
$obj = new hoge();
echo $obj->result[0];
1行で済ませたいんだろ
1行 class hoge{public $result;function __construct(){$this->result = array('aaa', 'bbb');}}$obj = new hoge();echo $obj->result[0];
関数名受け取って実行のほうがいいじゃん
>>255 の言うとおり、1行で済ます方法なんていくらでもあるんだから、きっと深い理由があるんだよ
他社の巨大なWebシステムをカスタマイズしなきゃいけなくて、触れるコードがそこだけだとか、
なにか社内規約等の特別な理由で一時変数を用意できないだとか、
さあ、
>>241 さん、はりきって質問の趣旨をどうぞ!
なんでもかんでもクラスにいれればいいってもんじゃねえだろ オブジェクト脳が見たらどうみても不思議なコードだ
>>241 じゃないけど、
$ret=a();
func($ret[0], ...);
みたいに2行になるのが嫌なんだろ。a()[0]という書き方が許容されるなら
func(a()[0], ...);
だけで済むってことだと思うけど
単純に、正規の方法はない、やるとしても
>>247 のような形になるよってことでおわりのような。
>>258 オブジェクト脳からみて、func()[0]というコード片自体には違和感ないでしょ。それをどう実装するかって話で。
function g(&$a, $n) { return $a[$n]; } func(g(a(), 0));
263 :
nobodyさん :2011/02/21(月) 02:37:33.89 ID:ryPTOETx
$strgin = "<p> </p> <p> 東京メトロ各線 「赤坂見附駅」ベルビー赤坂口より徒歩約2分<br /> 東京メトロ千代田線 「赤坂駅」1番出口より徒歩約3分</p>"; 上記のような文字列の改行をのぞいて、すべて横一行にしたいです。 (こんな感じに) 東京メトロ各線 「赤坂見附駅」ベルビー赤坂口より徒歩約2分 東京メトロ千代田線 「赤坂駅」1番出口より徒歩約3分 $string = strip_tags($string); $string = preg_replace('/ /', '', $string); こんな感じでいろいろ試したのですが、2行目が上手くいかず。。 やり方をどなたか教えてもらえないでしょうか?
phpもperlみたいに正規表現を関数無しで使えるようにすべき 5.4ではなってるだろうな
265 :
nobodyさん :2011/02/21(月) 02:52:00.47 ID:ryPTOETx
>>263 では & n b s p ; が消えてました。
実際には上記の記号が空白の / / の間に入っております。
>>263 改行コードを取ろうとする気配が見えないんだけど、改行コードを空文字列に置換すればいいんでないの
[\r\n]
268 :
nobodyさん :2011/02/21(月) 03:29:30.53 ID:ryPTOETx
>>266-267 ありがとうございます!
$shopNearStation = strip_tags($item['shop_near_station']);
$shopNearStation = preg_replace('/[\r\n]/', '', $shopNearStation);
$shopNearStation = trim($shopNearStation);
結局こんな感じで上手くいきました!
本当は一発で出来るのかもしれませんが、正規表現がよくわからず三行に。
改行コードを置換するために正規表現使う必要なくないか?str_replaceでおk
スパムや詐欺、犯罪などのサイトに使われることが最も多い言語で、書き手の質も他の言語に比べて総じて低い
いろいろな実装を手軽に行えることができ、それゆえ間口も広く、ユーザが多い
273 :
nobodyさん :2011/02/21(月) 15:30:35.85 ID:OHQAldZA
変な事聞きますけど、mb_send_mailとかmail関数でメールを送信する時、 サーバにpostfixやらqmailなどのソフトがインストールされていないと メールが送られないのでしょうか?
>>273 基本的にはそうだね。他のSMTPサーバーに接続して送信したいなら、fsockかPEARのMail使えばいいと思うよ。
275 :
nobodyさん :2011/02/21(月) 16:20:49.39 ID:OHQAldZA
理解しようとするな。感じるんだ。
で?結局nowdocの読み方はナウドックでいいのかよ
脳毒
281 :
nobodyさん :2011/02/22(火) 01:49:10.22 ID:6ISDoM5D
携帯からメール送信して貰った画像でFLASH時計を作成するサービスってどう作りますか? ActionscriptでFLASH時計は作れますが、サーバーサイドでのやり方がわかりません。
画像とXMLをちょっと編集するだけで使いまわせるように拡張すればいいだけでは?
283 :
nobodyさん :2011/02/22(火) 02:40:14.82 ID:6ISDoM5D
すみません。 それはコンパイラをサーバーにあげてPHPから使えるようにすると いう事でいいのでしょうか?
PHP関係あるの?
285 :
nobodyさん :2011/02/22(火) 02:46:31.47 ID:6ISDoM5D
PHPと連携させたいと考えていまして。
どこまでをPHPでどこからをFLASHで?
287 :
nobodyさん :2011/02/22(火) 03:18:45.07 ID:6ISDoM5D
すみません。 そう聞かれてしまうと良く考えていませんでした。 ローカルだと単純なasファイルをコンパイルするだけですがサーバーサイドだとどのようにするのかわかりません。
Actionscriptでサーバーにupされた画像を読み込んで表示するとか?やりかたは知らんが メールで画像を送られるならPHPでメールを受信して添付ファイルを保存するようにする
PHPでメールを受信って斬新に思える。 あんのかね。 メールのフィルタにPHP仕込むってことならわかる。簡単。
>>289 SMTP,IMAP,POPあたりに対応してるから、
送受信共にPHPでやるグループウェアとか普通。
ん?受信してってそういうこと? てっきりSMTP鯖にするのかと
>>291 ああ、PHP単体で?
それは、ちょっと無理じゃないのかな。
自作してcliをxinetdとかで待ってれば
やってやれないことも無いんだろうけど、
smtpなんて、使えるやつがいっぱいあるんだから、
ありもの使うのが現実的。
でも今回の流れで、「PHPでメールを受信して」のところを、 PHPをSMTP鯖として機能させると読むのが間違いだとすると、 PHPでPOPするってことだよね。 と、ここまで書いて、SMTP鯖とWeb鯖が別なら十分ありえる出来事だった。お騒がせしました。 んで、共存してるなら、aliasesに当該アカウントに対するフィルタを書いて、 送信元によって添付画像を振り分けて保存して、Flashはユーザに対応したファイルを 読み込むつくりにしておけばいいんでないかな。 PHPを使うところは受信フィルタだけかな。
ユーザインタフェースの雛形をいくつか用意してそれを選択させるのがPHP
受信したメール(画像ファイル)をPHPに渡すようにして画像をPHPで取得する
(もっともHTTPのみを使うアップローダー式のほうが簡単だと思うが・・・)
あとはPHPでFlashで使う形式に変換する
(PHPから受信したものを元にASを吐くのは難しいと思うので
>>282 のような仕組みを予め作っておく)
295 :
nobodyさん :2011/02/22(火) 16:51:26.36 ID:xabu6f+m
∩___∩ | | ノ\ ヽ | / ●゛ ● | | URIは何をさして言ってるんだろ? | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
>>295 見た。
HTMLテンプレートファイルmailbbs_pc.htmlの<a>タグに書かれてる{$main/url}を<img>タグの後ろに書けばいいんじゃない?
試してないけどね
298 :
nobodyさん :2011/02/22(火) 17:35:39.79 ID:xabu6f+m
>>297 さん、レスありがとうございます。
えーと、これをどーすればいいんですか?
[if main/noimg]<br>添付:<a href='{$main/url}'>{$main/filename}</a>({$main/size}KB)[/if]
299 :
nobodyさん :2011/02/22(火) 17:38:00.53 ID:xabu6f+m
それともこちらですか? [if main/img]<img src='{$main/url}' border=0 align=right vspace=5 alt="({$main/size}KB)">[/if] {$main/body} 連カキコすいません。
その上 [if main/sam]<a href='{$main/url}'><img src='{$main/sam_url}' border=1 align=right vspace=5 alt="({$main/size}KB)"></a>[/if] ↓ [if main/sam]<a href='{$main/url}'><img src='{$main/sam_url}' border=1 align=right vspace=5 alt="({$main/size}KB)"><br>{$main/url}</a>[/if]
サムネイル版じゃないほうなら [if main/img]<img src='{$main/url}' border=0 align=right vspace=5 alt="({$main/size}KB)"><br>{$main/url}[/if] {$main/body}
これって何のテンプレートエンジン?
ごめん中見たら書いてた。 初めて見たのでなんかとおもた。
305 :
nobodyさん :2011/02/22(火) 18:03:25.17 ID:xabu6f+m
>>300-301 さん、ありがとうございます。
やって見ましたが画像のURLは表示されませんでしたorz
>>305 じゃぁ何が表示されたの?
テンプレートの解説ならconfig.phpの末尾に書かれてるから自分で色々試してみ
携帯から見てるとか
試してみたがちゃんと表示された(当たり前だが) 但し相対URLだけど
俺の予想では、出すことのできないURLを求めていて、それは無理って結論になると思う。
だって表示してる画像のURLだろ?何とでもなるじゃん 変数に相対URLしか入ってなくても環境変数使えば絶対URLも導けるし
311 :
nobodyさん :2011/02/22(火) 18:37:22.31 ID:xabu6f+m
[if main/sam]<a href='{$main/url}'><img src='{$main/sam_url}' border=1 align=right vspace=5 alt="({$main/size}KB)"></a>[/if] 時のソース↓ <img src='./data/%83t%83%40%83C%83%8B0001.jpg' border=0 align=right vspace=5 alt="(17KB)"><br clear="right"><br><div align="right">11/02/22 18:15</div> 書き換え [if main/sam]<a href='{$main/url}'><img src='{$main/sam_url}' border=1 align=right vspace=5 alt="({$main/size}KB)"><br>{$main/url}</a>[/if] 時のソース↓で画像が表示されず日付と時間が表示されました。 <br clear="right"><br><div align="right">11/02/22 18:15</div> 何度もすいません。画像の下に画像のアドレス(URL)を表示したいんです。 ホントすいません。
>>311 いやあんた、テンプレートとHTMLソースの場所明らかに違うからソレwww
>>311 もしかして、ふざけてる?・・・わけじゃないよね。
日付と時間は最初から表示されてるじゃないか。
直すテンプレートファイルが違うんじゃないの?
mailbbs_pc.html直して編集画面を見てるとか。
編集画面ならmailbbs_admin.htmlも直さなくちゃ駄目だろうし
mailbbs_i.htmlとか関係しそうなテンプレ確認しなよ
315 :
nobodyさん :2011/02/22(火) 18:50:48.33 ID:xabu6f+m
全くふざけてないです。 ここじゃないんですか?初心者なのですいません。 [loop main] <table border=0 cellpadding=0 cellspacing=0 bgcolor="#99cc99"> <tr><td> <table border=0 cellpadding=3 cellspacing=1 width=390> <tr><td><font size=2 color="#ffffff">No.{$main/id} {$main/subject}</font></td> </tr> <tr><td bgcolor="#ffffff"><font size=2> [if main/img]<img src='{$main/url}' border=0 align=right vspace=5 alt="({$main/size}KB)">[/if] {$main/body} [if main/noimg]<br>添付:<a href='{$main/url}'>{$main/filename}</a>({$main/size}KB)[/if] <br clear="right"><br><div align="right">{$main/date}</div> </font></td></tr></table> </td></tr></table> [/loop]
「初心者なので」ってわざわざ言わなくてもわかるし、それを言い訳にされると腹立つから止めろ 全部のテンプレファイル確認した? とりあえずmailbbs_pc.htmlはこれをコピペしな。 [loop main] <table border=0 cellpadding=0 cellspacing=0 bgcolor="#99cc99"> <tr><td> <table border=0 cellpadding=3 cellspacing=1 width=390> <tr><td><font size=2 color="#ffffff">No.{$main/id} {$main/subject}</font></td> </tr> <tr><td bgcolor="#ffffff"><font size=2> [if main/sam]<a href='{$main/url}'><img src='{$main/sam_url}' border=1 align=right vspace=5 alt="({$main/size}KB)">{$main/url}<br></a>[/if] [if main/img]<img src='{$main/url}' border=0 align=right vspace=5 alt="({$main/size}KB)">{$main/url}<br>[/if] {$main/body} [if main/noimg]<br>添付:<a href='{$main/url}'>{$main/filename}</a>({$main/size}KB)[/if] <br clear="right"><br><div align="right">{$main/date}</div> </font></td></tr></table> </td></tr></table> [/loop]
317 :
nobodyさん :2011/02/22(火) 19:06:54.46 ID:xabu6f+m
ありがとうございます。 画像の左に表示されました。 絶対パスで表示させるには別なところを直さないといけないんですよね。 pop.phpだとは思うのですが、どうかヒントください。
320 :
nobodyさん :2011/02/22(火) 19:23:30.07 ID:xabu6f+m
>>318 さん、ありがとうございます。
お騒がせしました。
>>320 その方法駄目だから。新しい投稿画像がアップされない
それしたら保存できなくならない? スーパーグローバルの$_SERVERとにらめっこするといい。
323 :
nobodyさん :2011/02/22(火) 19:33:14.52 ID:xabu6f+m
>>322 さん、ありがとうございます。
ただ、$HTTP_SERVER_VARS [非推奨]と書かれているのですが・・・
>>322 それ結構面倒。
テンプレに新しい変数を登録して絶対URLを設定したほうが早い。
>>323 config.php
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "
http://ime.nu/example.com/hogehoge/data/ "; //←新しく追加
-----
mailbbs.php
-----
$arg['imgdir'] = $imgdir; // 27行目付近に追加
-----
mailbbs_pc.html
-----
さっき{$main/url}を追加した部分を{$imgdir}に変える
-----
326 :
nobodyさん :2011/02/22(火) 19:39:11.04 ID:xabu6f+m
>>324 さん、新しい変数を登録するとのことですが
それはどのファイルにどのような感じにすればいいのか?
ヒントだけでも教えtください。
面倒ですいません。
ほら、お前らが甘やかすから・・・ コイツPHP以前の問題じゃねーかw
>>326 >>325 は間違い。
config.php
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "
http://ime.nu/example.com/hogehoge/data/ "; //←新しく追加
-----
mailbbs.php
-----
$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
-----
mailbbs_pc.html
-----
[loop main]
<table border=0 cellpadding=0 cellspacing=0 bgcolor="#99cc99">
<tr><td>
<table border=0 cellpadding=3 cellspacing=1 width=390>
<tr><td><font size=2 color="#ffffff">No.{$main/id} {$main/subject}</font></td>
</tr>
<tr><td bgcolor="#ffffff"><font size=2>
[if main/sam]<div align="right"><a href='{$main/url}'><img src='{$main/sam_url}' border=1 vspace=5 alt="({$main/size}KB)"><br>{$main/url2}</a></div>[/if]
[if main/img]<div align="right"><img src='{$main/url}' border=0 vspace=5 alt="({$main/size}KB)"><br>{$main/url2}</div>[/if]
{$main/body}
[if main/noimg]<br>添付:<a href='{$main/url}'>{$main/filename}</a>({$main/size}KB)[/if]
<br clear="right"><br><div align="right">{$main/date}</div>
</font></td></tr></table>
</td></tr></table>
[/loop]
-----
329 :
nobodyさん :2011/02/22(火) 19:46:05.08 ID:xabu6f+m
>>325 さん、かしこまりました。
本当にありがとうございました。
>>329 書き込む前にリロードして最新のレスを確認しろよwww
>>323 そうだね。非推奨だね。
だから$_SERVERを見ろって書いたんだよ。
釣りおつかれさん。
333 :
nobodyさん :2011/02/22(火) 20:24:06.95 ID:xabu6f+m
タイミング悪くてすいません。
>>325 を試していました。
最終確認すいません。
お騒がせしています。
config.php
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "
http://ime.nu/example.com/hogehoge/data/ "; //←新しく追加
-----
$tmpdir = "./data/"; //←元に戻す
$imgdir = "
http://ここは私のドメインでいいのですか ?/data/"; //←新しく追加
mailbbs.php
-----
$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
-----
// 画像がある時$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
こんな感じでいいですか?
>>333 > $imgdir = "
http://ここは私のドメインでいいのですか ?/data/"; //←新しく追加
ドメインなのかサブドメインなのか、ドメイン+ディレクトリーなのか
あなたがそのスクリプトをアップしたURLということです。
> // 画像がある時$row['url2'] = $imgdir.rawurlencode($att); // 185行目に追加
> こんな感じでいいですか?
質問の意味がわからんが、
画像がある時かどうかはテンプレートの中で[if main/img]〜[/if]で判断されるから
mailbbs.php のほうは気にせずそのまま書いておけばいい。
ちなみに185行目というのは
$row['url'] = $tmpdir.rawurlencode($att);
の辺りということです。
>>296 の段階で気付くべきだったな
コイツ、PHPの以前にHTML程度しか知しらねーんじゃねーの?
別にいいんじゃない?
HTMLを知らないってことじゃないの?
だから何を知らなくたって関係ないじゃないか
大丈夫だ、問題ない
340 :
nobodyさん :2011/02/22(火) 21:41:19.03 ID:A5qsUgfA
ただ残念ながら
>>328 には極めて深刻なミスがありアドレスが表示されることはなかったわけだが
>>340 アドレスが表示されることを確認してから
>>328 を書いたんだけど。
ちなみに align=right の処理は間違ってた。
つーかfontの中にdiv入れんなよw
まぁ細かいことは言いっこなしってことでww
345 :
nobodyさん :2011/02/22(火) 23:14:33.38 ID:eUe+o2lt
mb_convert_encodingは外部から受け取った文字列にのみ有効なんですか? スクリプト中の文字列に対して行なったところ変わる気配がありません <?php mb_language("Japanese"); $a = "ほげほげ"; mb_convert_encoding($a, "UTF-8", "auto"); echo mb_detect_encoding($a, "auto"); //SJISのまま echo mb_strlen($a, "UTF-8"); //6とおかしな値が出る echo strlen($a); //8 PHPはSJISで保存しています
$a = mb_convert_encoding($a, "UTF-8", "auto"); ぢゃないか?
参照渡ししてるわけでもないのに$aが変わったら怖いねw
共有サーバなどでaliases使えない環境の場合、メールをPHPで受けてPOPで処理するにはcronで数分おきにメールチェックさせるしかない? cronすら対応してないサーバの場合は手動でPHP実行するしかないのかな。
>>345 <?php
mb_language("Japanese");
$a = "ほげほげ";
//
var_dump( strlen( $a ), $a );
for ( $i = 0; $i < strlen( $a ); $i++ ) printf( "%s\n", bin2hex( $a[ $i ] ) );
printf( "<br/>\n");
//
$b = mb_convert_encoding($a, "UTF-8", "auto");
var_dump( strlen( $b ), $b );
for ( $i = 0; $i < strlen( $b ); $i++ ) printf( "%s\n", bin2hex( $b[ $i ] ) );
printf( "<br/>\n");
?>
350 :
345 :2011/02/22(火) 23:29:09.48 ID:eUe+o2lt
>>346-347 ナイスつっこみです
エラーも出ないので全然気づきませんでした
どうもありがとうございました
>>348 画面表示とかのリクエストがあったときにPOP処理を起動すればいいんじゃない
目的とメールの量にもよるけど
>>295 のスクリプトがまさにそういうタイミングでPOP受信してる
またコテハンの
>>349 がおかしなレスしてるぞwww
webcronとか
>>349 1.var_dumpの後に<br />が無いので続く出力がくっついて醜いです。
2.bin2hexの出力が全て繋がってしまいます。16バイトとかで区切らないと醜いです。
3.やり方しだいですがprintfには書式に%Xがあります。コードが醜いです。
4.エンコードを変換する前後の文字列をvar_dumpしていますが、文字化けして醜いです。
5.brと/の間にはスペースを入れましょう。醜いです。
総合得点100点中5点
コーディングには作成者の性格が現れるといいます。もうすこしがんばりましょう。
そこまでいじめてやんなよ
(つд⊂)エーン
>>351 メール受信がネックになるようだったら受信するかどうかを乱数で決めればよく。
十分なPVがあることが前提だけどね
359 :
nobodyさん :2011/02/23(水) 02:39:20.51 ID:aCifZZvQ
GDライブラリで画像にテキストを合成しようと考えています。 テキストやフォントサイズはGETから(<img src=gd.php?text=テスト&size=20のように>)操作できるのですが 画像上に表示したテキストをwidthやheightを指定して移動させたいと思いGETで渡しても反映されません。 どのようにすれば出来ますか?
GETで渡された情報をコードに反映する
画像上に表示したテキストって何? 何をしたいのかよくわからんけど、「どのようにすれば出来ますか」じゃなくて 自分が書いてうまくいかなかったソースを提示して疑問点を明確にするように
362 :
nobodyさん :2011/02/23(水) 02:55:04.91 ID:aCifZZvQ
>>360 それをやっていますが反映されません。
理由がわからないので質問させて頂きました。
363 :
nobodyさん :2011/02/23(水) 02:57:15.59 ID:aCifZZvQ
まだ粗すぎるコードですが… <?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize].">"; ?> <br><br> <form action="" method="get"> <input type="hidden" name="q" value="<?php echo $_REQUEST[q]; ?>"> <input type="text" name="text" value="<?php echo $_REQUEST[text]; ?>"><br> 【文字サイズ】<br> <SELECT NAME="fontsize"> <OPTION VALUE="40">普通 <OPTION VALUE="25">小さめ <OPTION VALUE="60">大きめ </SELECT><br> 【文字の移動】<br> 縦に<input type="text" name="h" value="<?php echo $_REQUEST[height]; ?>" size="10">移動する<br> 横に<input type="text" name="w" value="<?php echo $_REQUEST[width]; ?>" size="10">移動する<br><br> <input type="submit" value="加工する">
364 :
nobodyさん :2011/02/23(水) 02:59:29.81 ID:aCifZZvQ
こちらがgd.phpの中身です。 $width = 100-$_REQUEST[width]等、色々いじってみましたがフォントの位置のパラメータは渡せませんでした。 <?php $font_size = $_REQUEST[fontsize]; $red = 100; $green = 100; $blue = 200; $text = mb_convert_encoding($_REQUEST[text], 'utf-8', 'auto'); $path = "./img/".$_REQUEST[q].".jpg"; $width = $_REQUEST[width]; $height = $_REQUEST[height]; $font = "./APJapanesefontF.ttf"; $image = @imagecreatefromjpeg($path); $col = ImageColorAllocate($image, $red, $green, $blue); ImageTTFText($image, $font_size, 0, $width, $height , $col, $font, $text); // jpeg出力 header("Content-type: image/jpeg"); Imagejpeg($image); imagedestroy($image); ?>
365 :
nobodyさん :2011/02/23(水) 03:01:23.89 ID:aCifZZvQ
value="w"となっていますが、これをwidthに合わせても駄目でした。
366 :
nobodyさん :2011/02/23(水) 03:02:04.54 ID:aCifZZvQ
×value="w" ×name="w"
まず質問。 $_REQUEST[q] って何?
まずは_REQUESTの中身を見ろ。そうすりゃわかるだろ
369 :
nobodyさん :2011/02/23(水) 03:12:00.55 ID:aCifZZvQ
ユーザーに登録して貰った画像に付けるユニークなキーのつもりです。 良い案が思い付かなかったのでこんな感じにしました。
あと、配列のキーはシングルクォートで囲むクセをつけるといい。ダブルではなく、シングル。パーサに優しくな。
そもそもの問題は、gd.phpにパラメータを渡していないこと。
372 :
nobodyさん :2011/02/23(水) 03:17:50.61 ID:aCifZZvQ
いや…他のパラメータは渡っていますし $_REQUEST[width]にも値が入っていて gd.phpの側でも受け取れているはずなのに反映されないからおかしいなぁと思いましてですね。 GD固有の癖でもあるのかと思って質問させて頂いたのですが。
373 :
nobodyさん :2011/02/23(水) 03:21:46.06 ID:aCifZZvQ
あ、すみません。出来ました。 ×<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize].">"; ?> ○<?php echo "<img src=./gd.php?q=".$_REQUEST[q]."&text=".$_REQUEST[text]."&fontsize=".$_REQUEST[fontsize]."&width=".$_REQUEST[width]."&height=".$_REQUEST[height].">" ; ?> こうでした。 お手数掛けて申し訳ありません。
そのとおりだね。よかったね
>>373 実際に使うときは$_REQUESTの値を直接吐き出さずにちゃんとエスケープ処理してね
gd.phpに対してsubmitするフォームなの? そうでないなら$_REQUEST[width]には入ってないと思うんだけど。。。
>>377 その意味でエスケープということもある
HTML Entity のことを英語でも HTML Escape Character や HTML Escape Symbol などとも呼ぶ
>>378 じゃあ
> $_REQUEST[width]にも値が入っていて
が的外れなことにもつっこんでやれよ
>>380 その直後の
>>373 で出来たって言ってるんだからつっこむ暇無いだろうが
つーか終わったネタにいつまでグジグジ言ってんの?
こんなんだからPHP使うのはクズっていわれるんだろうな。。。phpspotが悪か。
384 :
nobodyさん :2011/02/23(水) 13:45:18.97 ID:6OM3cecQ
PHPかLinuxなのか迷ったがこっちで聞かせて。 wordpress使おうと思って、色々と必要なものをインストールした。 が、mysql.soとpdo_mysql.soがロードされない。 OSはCentOS5.5。 PHPは5.2.17。 /etc/php.d/mysql.iniにはextension=mysql.soは書かれている。 phpinfo()で確認しても、ちゃんとmysql.iniは読み込まている。 extension_dir(だっけ?)もちゃんと正しく表示されていて、 そのディレクトリの存在も確認したし、その下にmysql.soもあった。 apacheのログを見ても特にエラーはなし。 の、状態でphpinfo()で表示される諸々の情報で、 pdo_mysqlやmysqlが出て来ないのはなぜでしょう? スレチだったら、Linux板行ってきます。
php.iniに直書きしてみる、もしくは、/etc/php.d/*をincludeするようになってるか確認
追加、Apacheの再起動してみる
387 :
nobodyさん :2011/02/23(水) 14:01:23.50 ID:6OM3cecQ
>>385 おけ。ありがとう。
でも、phpinfoで読まれてるっと表示があるのに
読まれないってこともあるんですかね。
仕事終わって帰ったら試してみます。
ぐぬぬ。
388 :
nobodyさん :2011/02/23(水) 14:06:08.45 ID:bwOUGcGJ
>>384 個別でインストールしたの?
それともyumで?
389 :
nobodyさん :2011/02/23(水) 14:09:41.62 ID:6OM3cecQ
yumでインスコしましたよん。 ちなみに依存関係とかってありますかね? 同じ設定方法で、mbstringとか、pdo_sqlite とかは読めてるんですよね。
n
391 :
nobodyさん :2011/02/23(水) 15:00:25.47 ID:Ql2fJWu6
ZendFrameworkの方でも質問しているのですが、 こちらでも投稿させていただきました。 【OS名】CentOS 【PHPのバージョン】5.1.6 【連携ソフトウェア】MySQL ZendFramework 【質問内容】 MySQLにレコードを登録するプログラムを組んでいます。 ブラウザからアクセスしてプログラムを実行すると ちゃんとDBに登録されるプログラムを コマンドラインで実行するとエラーが出てしまいます。 エラーには SQLSTATE[HY000]: General error: 2053 と表示されます。 ほかにはスタックに Zend_Db_Statement_Pdo->fetchAll() でエラーが発生しているかのように出ておりました。 エラーを解消するにはどの様にすればよろしいでしょうか。 よろしくお願い致します。
>>389 yum install php-mysql
393 :
nobodyさん :2011/02/23(水) 15:17:28.66 ID:6OM3cecQ
>>392 んー。それは済ませてあります。
現に、mysql.soは存在してるので...。
帰ったらもう一度試してみますです。
395 :
385 :2011/02/23(水) 16:38:29.70 ID:???
>>387 > phpinfo()で確認しても、ちゃんとmysql.iniは読み込まている。
ごめん。みおとしてた。
phpinfoはWeb経由で?それともCLIで?
extension行がコメントアウトされてるってことは、、、ないか。
396 :
nobodyさん :2011/02/23(水) 16:50:57.68 ID:3aR5DZo1
会員登録系のパスワードの保存ってどうしてますか? md5でハッシュにして保存、ログインの時もidとハッシュにしたパスワードでDBをcountして1であればokにしています。
397 :
nobodyさん :2011/02/23(水) 16:52:16.20 ID:6OM3cecQ
>>395 両方とも試してみましたですよ。
mysql絡みだけ表示されませんでした。
今コソーリ社内の環境と、昨晩の記憶を思い返して比較したけど、mcript なんて入ってたかな?と。
それがmysql.soをロード出来ない理由かは?ですが。
社内にPHPerやlinux使いがいなくて聞けない(涙)
仕事中にコソーリ2chに書き込むのは問題ないのかw
>>396 だいたいそんな感じだけど、それだけだと怖いので、
$salt = "tekitou";
$row['password'] = sha1($salt.$password);
な感じでDBに格納してるかな。$saltはこっちが決めた適当な文字列。
登録のときもログインのときも、SQLインジェクション対策忘れずにね。
mysqlが起動していないとかいうオチではないだろうな。
>>399 ユーザーごとにsaltを別々にしなきゃ駄目
402 :
nobodyさん :2011/02/23(水) 17:57:37.72 ID:3aR5DZo1
>>399 , 401
ありがとうございます。
書き忘れましたが、keyを付けてハッシュにしています。
keyはユーザーごとにランダムに生成した物で、idとkeyのレコードがあるテーブルを作って、
idからkeyをgetしてそれで判定するって感じでしょうか?
403 :
391 :2011/02/23(水) 18:03:44.99 ID:Ql2fJWu6
その後調べたら PDOからエラーコード:HY093 というのが返ってきているのがわかりました。 色々とサイトを見ると無効なパラメータ番号という意味だと書いてありました。 ブラウザから動かすとちゃんと動くのに バッチからだとHY093と出る理由がまだ分かっていないのと HY093に対する対策も未だわかっておりません。 どなたかわかる方がいらっしゃいましたら アドバイスをお願いいたします。
>>402 いいんじゃない
もっともハッシュには完全な一意性は無いので別のパスワードが偶然一致する可能性も皆無ではないけど
>>403 とりあえずquery前後のソースを書いてみたら?
材料が無いので答えようが無い
>>403 ブラウザ経由とCLIで異なるバージョンのPHPやMySQLが実行されてる可能性は?
HY093が無効なパラメータならプリペアードステートメント周辺が何か間違ってるんじゃないの?
407 :
403 :2011/02/23(水) 18:45:09.73 ID:???
>>405 >>406 ありがとうございます。
すみません。自己解決しました。
ブラウザ経由の場合は
phpMyAdmin使ってのクエリー実行だったんですが
CLIの場合はバインドを使ってまして、
プレースホルダの設定をしている配列を渡さなければならないところで
nullを渡しているのが原因のようでした。
ここで報告するのも恥ずかしいくらいのポカミスです。
ほんとお騒がせいたしました。
ミスなんて大抵そんなもん
よくありすぎるw
>>410 そりゃそうだろう
PHP等のプログラム内で文字をHTMLエンティティに変換することをエスケープと呼ぶ場合があるわけだから
ISO規格に規定される概念ではない
誤用が定着すると、正しい用法が廃れてくれて、 元の意味も忘れ去られてくれるまで、会話が 不便なんだよな。 下手すると、リアルで罵り合いになるw
ヒント:「日本語の乱れ」
>>411-412 それは始めに誰かがHTMLエンティティ化とは何かを正しく理解しないまま
イメージだけで勝手にそう呼び始め、更にそれを見た初心者が鵜呑みにして
呼ぶようになったから広まっただけで、誤りは誤り。
広く使われているからそれでいいという思考停止的考えは良くない。
>>415 誤用厨に正論は無力。
HPがHPをHPと略すのはやめろ。むしろ、HPはWPと略すべきっていう
意見広告まで出してたけど、HPはHPの略として定着してしまい、HP
がHPのことであったことなど忘れ去られている。
>>415 じゃぁあんたは「エスケープ」という言葉をどう厳密に定義して使ってるの?
そもそも「HTMLエンティティ化」って単語はどうなのよ
>>410 の文書に「HTML Entity」って熟語が1回でも登場してるか?
それこそ造語じゃないのか?
418 :
384 :2011/02/23(水) 23:54:43.33 ID:???
やっとこさ家に帰ってきてマシン立ち上げた・・・。 「動 い て る じ ゃ ね ー か !!」 確かに、昨晩はapacheの再起動はやりまくったが・・・ マシンの再起動はしていませんがなorz=3。 レスくれたみんなありがとう。お騒がせいたしますたm(__)m
画像掲示板でアップされたファイルをfileに入れてるんだけど +-- file [777] ←ここのファイルの拡張子を全部変えたい たとえばjpg→pngに全部変更するのにどうやって変更するんですか?
リネームでいいのかい
422 :
419 :2011/02/24(木) 01:56:26.84 ID:???
じゃあ保存するときに別の名前で保存する。 既存のファイルはシェルでやるといいよ。
【OS名】WindowsXP 【PHPのバージョン】5.2.9 【連携ソフトウェア】Ajaxplorer 3.2.1 Ajaxplorer 3.2.1のコードを解析しているのですけど分からなくなったので質問があります ファイルの一覧を表示している画面で、ファイル名にシフトJISコード表の点46行目(死・斧など)の文字が含まれていると、ファイルがディレクトリとして判定されてしまいます コードを解析してみると/plugins/access.fs/class.fsAccessDriver.phpの544行の is_file($path."/".$nodeName) で誤判定が出ているようです ここを !is_dir($path."/".$nodeName) に変更すると誤判定はなくなりますが、その後の処理で上手く行きません これが何故発生するのか原因が分かる人いますか? AjaXplorer 2.6までは大丈夫なので設定は問題ないと思います
スレタイ
426 :
424 :2011/02/24(木) 04:07:25.49 ID:s60KqhRT
すれ違いかIDを出せば良いのか分からないけど とりあえずIDの出し方テスト
なにそれふざけてるの?
428 :
nobodyさん :2011/02/24(木) 05:34:34.30 ID:AKmJ91ZX
定数って何のために使うんですか? 変数じゃ駄目なんですか? ハッタリで定数を使っていると中級者っぽいですか?
変わらない値を入れるのが定数 変わる値を入れるのが変数
>>422 > jpg→pngに全部変更
リネームでいいんだwww
>>428 定数はヒアドキュメントに直接展開できないからちょっと面倒
クッキーの勉強をしているのですが、下のPHPの実行の段階でsetecookieで毎回エラーを吐かれてしまいます。 <?php $myId = $_POST['my_id']; $password = $_POST['password']; $save = $_POST['save']; //Cookieに保存 if($save == 'on'){ setcookie('my_id', $myId, time() + 60 * 60 * 24 * 14);//2週間クッキーを保存する $message = 'ログイン情報を記録しました'; }else{ setcookie('my_id'); $message = '記録しませんでした'; } ?> 教科書には「setcookieはheaderファンクションのように先頭にプログラムを記述しましょう」と書いてあるのですが、いまひとつ理解できません… エスパースレではないのは承知なんですが…よろしくお願いします…
エラーを書いてよ。
434 :
nobodyさん :2011/02/24(木) 10:27:57.24 ID:LwPaJ6B6
すみません、久々にWindows使って、PHP5.3にて
c:\php\go-pear.bat
を実行するとエラーになるのですが・・・
ここ(
http://iwbc.info/archives/820 )を参考にしてみたのですが、
例えばHtml_Menuをインストールしようとすると、何か今までのPHP5.2と違って変なErrorやWarningが出ます
解決方法は無いのでしょうか?
上記のサイトのようにするしか無いのでしょうか?
435 :
>>432 :2011/02/24(木) 10:32:39.89 ID:???
>>433 レスありがとうございます。下記がエラーです。
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sample17.php:1) in C:\xampp\htdocs\sample17.php on line 8
と出ていました。line 8というのは、
>>432 の時間の設定をしてあるほうのsetcookieです。
>>435 PHPコードの前に<html>だとか空白だとか改行だとか出力してんじゃないの
439 :
>>432 :2011/02/24(木) 11:18:38.22 ID:???
PHPコードにあったTabを消したら正常に処理されました! お騒がせしてすみませんでした!
440 :
nobodyさん :2011/02/24(木) 15:42:44.76 ID:d+AsvlaB
PHPのログインシステムを開発することになったのですが、一般的に どういった手法がとられているのかお伺いしたくこちらに書き込ませて いただきました。 私が現在実装しているものは、下記となります。 ■ログインフォームからの入力値と照合させ、通った場合、下記の ようにsession_idをセッションに保存 $_SESSION['authentication'] = sha1(session_id()); ■ログイン後はDBとの通信はせず、上記で保存されたセッション 情報を照合させることにより、認証させる。 if($_SESSION['authentication'] == sha1(session_id())){ 認証成功処理 } else{ 認証エラー処理 } なにか足りない点や、セキュリティ等の考え方から根本的に誤りが ある場合は、ご指摘いただけますと幸いです。 よろしくお願いいたします。
>>440 セッション変数はセッションIDと一対一なので不要
# ログイン処理
if (認証が成功した?) { $_SESSION['authenticated'] = true; }
# 認証が必要なページ
if (empty($_SESSION['authenticated'])) { 認証されていないアクセス }
>>441 >セッション変数はセッションIDと一対一なので不要
言われて気づきました。
たしかにおっしゃるとおりですね。
ありがとうございます。
if (empty($_SESSION['authenticated']))
これだけで認証を通すことは特に問題ないでしょうか。
セッション自体をのっとられることがない限り、ということだと思いますが、
いままでPerlでやっていたときは、ページアクセスごとにわざわざパラメータ
にもたせているID、暗号化パスワードをDBと照合させていたので。。
初歩的で申し訳ないです。
444 :
nobodyさん :2011/02/24(木) 20:07:59.39 ID:xAv2QTQ5
ファイル構造を勉強できるサイトってないですかね? 何作ってもMVCにしたくなって、手間がかかって仕方ないんです・・・ 特にclassとか使わないのに。
1行目と2行目と3行目の関連性が分からん とりあえず言えることは、君に必要なのは自己制御能力ではないか
フレームワーク使って開発すればいい 意識しないでもMVCになるだろ
447 :
nobodyさん :2011/02/24(木) 20:53:19.77 ID:xAv2QTQ5
普段はCakePHPを使ってるのですが、 Cakeを使わないようにしようと思っても、 いつの間にかそう言う書き方になるんです・・。 小規模なサイトやお問い合わせフォーム程度のものでも わざわざMVCにする必要ないとは思うので、 どういう構成が適切なのかと思い、質問しました。
>>443 専用サーバを使用してますが、session_save_pathは自前で作った
ディレクトリに設定してます。ありがとうございます。
とりあえずログインしたあとのセッションに認証通過のフラグを
いれ、それのみの管理で認証管理ができるということがわかりま
したので、大変助かりました。
ありがとうございました。
CakePHPは小規模開発得意やろ 何に悩んでんだ一体
お問い合わせフォーム(例えば フォーム画面→確認画面→完了仮面) 程度のものにフレームワーク使うってどうなの? 駄目じゃないけど大げさな気がする ・・・ってことでしょ
フレームワークやってて小規模開発の構成が分からないようじゃ まだ理解して使えてないレベルだね バリデーションも自力で書けないだろうし素直にCakePHP使っとけ
いや、オレオレ→Cake行ってるんで、バリデーションも自作できます。
質問したいのはフレームワークがわからないじゃなくて、
>>452 なんです。
なんでもMVC形式にしているので、MVC形式じゃない構成は
他の人ならどうしてるんだろう?と思って質問した次第です。
ちなみに今は↓してます /system(非公開・システム用) └/models └/views /webroot(公開用) └/contact(お問い合わせフォームと仮定) └index.php ルーティングしていないので、controllerを公開ディレクトリに配置してますが、 配置しないようにすると、systemの中に入れるわけで、 classのややこしい処理が入り、無駄な気がしています。
なんでID出さないの?
>>455 googleが1秒以内に検索結果を出してくるネット上で「そんなの知ってた」の後出しか…
ここまでの馬鹿は初めて見た
初体験おめでとう
classって言葉を出すやつはたいていMVC理解していない
460 :
nobodyさん :2011/02/25(金) 18:59:14.50 ID:m74L8+JI
int引数の関数に文字列の数字を渡す際に mt_rand('5', '10') mt_rand(intval('5'), intval('10')) mt_rand((int) '5', (int) '10')) どれが一番でしょうか? 5, 10は実際には変数です
一番↓
>>460 変数に数字が入ってれば結果はどれも変わらんけど、
一番上が一番早い
463 :
nobodyさん :2011/02/25(金) 19:44:53.90 ID:m74L8+JI
Stringで渡してもエラーでない場合は 内部でintに多分キャストしてるから わざわざPHP側で指定しなくてもいいと思うけどね まぁコード的には正しいんだけど
465 :
nobodyさん :2011/02/26(土) 00:28:28.06 ID:1ge9s2EY
勉強のために簡易なRSSリーダーを作ってるんですが、 XMLをパースするときに、RSSとAtomの処理を分けるには どの部分で判別すればいいのでしょうか?
467 :
nobodyさん :2011/02/26(土) 17:00:22.91 ID:f0IHKLDg
Cookieを使用するスクリプト(有効期限はブラウザを閉じるまで)を 試験していたところ、Firefox 3では、ブラウザを閉じても次回 ブラウザ標準でついているセッションの復元機能で開くと、Cookie まで保持されてしまうようで、困ってます。 Chromeでは同様の機能を使用してもCookieは消去されているよう です。 ブラウザ固有の問題だとは思いますが、もし何か対策等ありまし たら教えていただけますと幸いです。 よろしくお願いいたします。
469 :
467 :2011/02/26(土) 18:13:25.34 ID:???
>>468 具体的なURLを挙げていただきありがとうございます。
読ませていただきましたが、結論としては、Firefoxの場合は
回避不能ということになるのでしょうか・・
困りました。。
470 :
nobodyさん :2011/02/26(土) 19:17:03.74 ID:Yo6180zy
タイトル:【xdebugとEclipseに関して質問です】 OS:Windows Vista Sever:Xampp 1.7.3 のあぱっち PHPver:5.3.1 Eclipse:ガリレオ デバッグ中ウォッチ式に登録していると途中で落っこちてしまいますよね。 しかし、どうしても変数が見たい時、クラスメソッド処理なら $this->_______debug____hogehoge = $見たい変数 として、見ているんですが、、、、めんどくさいのです。 他にいい方法はありませんか?
IDEスレで
IMEスレで
VJEスレで
474 :
nobodyさん :2011/02/26(土) 21:09:42.08 ID:pPMF/zUB
DBに格納する時暗号、出すとき複合したいんですけど 一般的にはどのやり方でやるんでしょうか? mcrypt?, openssl?暗号アルゴリズムは? dbはmysql
何と何を複合するの?
一般的なやり方が存在するとすれば、それはぐぐれば見つかるだろう
一般的なやり方が存在しないとすれば、それはぐぐっても見つからないだろう
478 :
nobodyさん :2011/02/26(土) 22:54:34.79 ID:elyw+sgh
最近php始めだした初心者です。 datファイルに複数のデータを保存するにはどうしたらいいでしょうか? 具体的にはアクセス数を計りたいページが50個以上あって、それぞのページのアクセス数をdatファイルに保存したいと言うことです。 初歩的な質問で申し訳ないけど教えてください
479 :
nobodyさん :2011/02/26(土) 23:16:05.07 ID:1ge9s2EY
$new = '新しいデータ'; $log = file_get_contents('log.dat'); file_put_contents('log.dat', $log . "\n" . $new);
480 :
nobodyさん :2011/02/26(土) 23:47:29.63 ID:+KU0rJGo
ここってモバイル関連でも大丈夫? auの携帯で、gps情報取得と同時に任意のパラメータを渡したい。 っていう質問をしようかと思ってるんですが・・
>>480 それは使用しているAPIのサイト見た方が良いと思うよ
PHP単独で回答できる問題じゃない
>>482 スレ立ててそっちでやってくれ
興味はあるが内容知る為だけにアカウントは作りたくない
。。とか使ってる人に協力したくないな。。
ひろゆきディスんなよ
486 :
nobodyさん :2011/02/27(日) 07:03:02.16 ID:GexZY7hJ
1. preg_match('/[\(]{2}?(.*?)\:(.*?)[\)]{2}?/', $text, $match) この変換を変数展開で実行したいのですが、 正規表現で使える記号の変数展開のやりかたを教えてください。 2.$exprString = '/[\(]{2}?(.*?)\:(.*?)[\)]{2}?/'; preg_match("/$exprString/", $text, $match); これだとうまく行きません。
>>486 preg_match("$exprString", $text, $match);
こうじゃないの?
って向こうで解決してた。 正規表現の問題でもないのに誘導して、誘導されてたのか。
このスレって土日になると暇なのね。
xamppから拝借する
Ming関数を使って携帯のユーザーから投稿された画像にFlashで時計を合成しようと思っています。 画像+普通のムービー(swf)を合成した場合は普通にムービーとして生成されるのですが 単体のswfで動いている時計を合成すると時計の数字の部分が消えてしまいます。 これはMingがfscommand2関数をサポートしていない事に関係があるかもしれませんが 何か解決策はありますでしょうか? ちなみに、現在借りているサーバーではroot権限がないためswfmillは使用できません。
スレタイ
496 :
494 :2011/02/28(月) 03:17:07.47 ID:lVV3cCbc
IDを出し忘れました
画像に時計の背景を合成すればいいだけでは GDなり使って
498 :
494 :2011/02/28(月) 09:10:24.51 ID:lVV3cCbc
ありがとうございます。 時計の画像ではなく、携帯の時間を取得して動くデジタル時計の予定だったのですが 普通のムービーエフェクトの合成でよしとすることにしました。
誰もいないでしょうが 500ゲットでしょうが
どうぞどうぞ
502 :
nobodyさん :2011/02/28(月) 18:43:40.30 ID:ovWEbgyh
shift-jisのファイルなのにEucなって出力されてるんですがなぜでしょうか? その中でDBから読み込んだ(Euc-jp)データをShift-jisに変換して出力してる文字だけなぜか文字化けしてないんですが
>>502 もちつけ
自分の書いたレスを読み返して、もっとわかりやすい質問文にしましょう。
>>502 ひどいwww 質問の意味わからんwwww 面白いwwww
505 :
nobodyさん :2011/02/28(月) 23:48:57.43 ID:Kw+he6/G
他人のソース参考にしていたらプロパティの定義で var が使われてますが public とかを使ったほうがいいんでしょうか? それから var は public とはどう違うのか教えてもらえないでしょうか。
507 :
505 :2011/03/01(火) 00:18:04.45 ID:???
同等なんですね。ありがとうございました。
ちげーよ
509 :
505 :2011/03/01(火) 00:22:59.20 ID:sy3U+KRz
>public や protected、 private のかわりに var を使ってプロパティを宣言した場合、PHP 5 はそれを public と同等とみなします。 とありますが違うんでしょうか?非推奨なので使いはしませんが
同等とみなしますということはすなわち同等ではないということじゃないか
511 :
505 :2011/03/01(火) 01:06:30.07 ID:sy3U+KRz
まあそうですね。わかりました。
>>502 全てUTF-8に統一しなよ。文字コードまわりはめんどくさいよ。
統一できないなら、my.cnf php.ini(mbstring, output buffering)とか確認。とにかくいろいろ試しておぼえるしかないよ。
>>502 サーバーにアップするときにFTPソフトが文字コードをEUCに変えちゃってるのかも
例えばFFFTPだったら「EUC」ボタンが押されてる状態
めんどくさくても内部コードはUTF-8にしといて入出力時に変換しといたほうが無難だとは思う。
PHP5で非推奨になったんだと思ってたけど、今は非推奨じゃなくなってんのか
518 :
nobodyさん :2011/03/01(火) 23:52:09.75 ID:9ObeODx+
PHPスクリプトからsuPHPやsuExecされていることを知るにはどうすればいいでしょうか。
>>517 名前: nobodyさん [sage] 投稿日: 2011/03/01(火) 13:19:50.95 ID:???
>>1 >>518 名前: nobodyさん 投稿日: 2011/03/01(火) 23:52:09.75 ID:9ObeODx+
自分の書き込んだレスを声に出して読み返してごらん。
この質問において環境ってそんな大事かね
環境って、大気汚染とか自然破壊とかそういうこと?
522 :
nobodyさん :2011/03/02(水) 02:59:39.31 ID:fPtfIzHv
質問失礼します
メールフォームの作成をしているのですが
入力フォームに入力後、確認画面に飛んだら画面が真っ白になってエラーすら表示されなくなりました。
↓の辺が怪しく感じるのですが何が原因なんでしょうか?
//エラーがある場合は、入力フォームに戻します。
$dirname = dirname($_SERVER['SCRIPT_NAME']);
$dirname = $dirname == DIRECTORY_SEPARATOR ? '' : $dirname;
$uri = '
http:// ' . $_SERVER['SERVER_NAME'] .
$dirname . '/contact.php';
header('HTTP/1.1 303 See Other');
header('Lacation: ' . $uri);
レンタルサーバはlolipopでエラー表示はonにしています。
×Lacation ○Location
524 :
522 :2011/03/02(水) 04:22:53.93 ID:fPtfIzHv
>>523 ありがとうございます。
真っ白ではなくなりました!
ただ今度はきちんとフォームに入力しても送信失敗と表示されてしまいます。。
原因は何の可能性が高いでしょうか?
メール送信部も書かずにエスパーしろと。 メールサーバの設定ができてないとかは?
526 :
522 :2011/03/02(水) 04:30:23.91 ID:fPtfIzHv
>>525 送信部とはここですか?
if(isset($_POST['ticket']) && isset($_SESSION['ticket'])) {
$ticket = $_POST['ticket'];
if (!in_array($ticket, $_SESSION['ticket'])) {
die('不正アクセスの疑いがあります。');
<form action="thanks.php" method="post">
<input type="hidden" name="ticket" value="<?php print h($ticket);?>" />
<input type="submit" name="submit" value="送信する" />
</form>
527 :
522 :2011/03/02(水) 04:33:37.22 ID:fPtfIzHv
ちなみにSENDMAILの設定はロリポップのサーバ側で設定済みらしく メールを送信するだけのプログラムを設置するだけOKなようです。
528 :
522 :2011/03/02(水) 04:45:51.25 ID:fPtfIzHv
マルチポストになったのでアホー池沼袋での回答をご期待ください
530 :
522 :2011/03/02(水) 13:44:10.35 ID:fPtfIzHv
>>529 ごめんなさい
全部書ききれなかったので…
PHPでWeb::Scraperみたいなのありますか?
>>530 そうですか。
でもまだエスパーしなければ無理ですよね。
533 :
522 :2011/03/02(水) 16:51:44.69 ID:fPtfIzHv
>>nobodyさんありがとうございます。 エラーを表示できるように記述したら Notice: Undefined variable: mailto in …xxx.php on line 60と表示されました。 どこが原因でしょうか? //メールの送信と結果の判定をします。セーフモードがOnの場合は第5引数が使えません。 if(ini_get('safe_mode')) { $result = mb_send_mail($mailto,$subject,$comment,$header); }else{ $result = mb_send_mail($mailto,$subject,$comment,$header, '-f' . $returnMail); }
mailtoに$ついてる?
↓ここと
$mailTo = '
[email protected] ';
↓ここ
$result = mb_send_mail($mailto,$subject,$comment,$header);
よく見ろ
536 :
522 :2011/03/02(水) 17:23:41.29 ID:fPtfIzHv
>>nobodyさん 送信できました>< 神様です。ありがとうございます
いいってことよ
>>nobodyさんって誰?俺のこと呼んだ?
nobadyさんフイタwwwwwwww
いいってことよ
>>539 なんだよnobadyって
英語も出来ない池沼かよwwwプ
お前にはPHPじゃなくて他に勉強すべき言語がありそうだなwwwwwww
そこに突っ込むやつこそ池沼だわ
かわいそうな方々ですね
nobodiならともかく nobadyはわざとか発音しながらそのまま書いちゃったってのが分かる むしろ英語できるやつじゃないとこの間違え方は無理ですね
nobaby
546 :
nobodyさん :2011/03/04(金) 16:04:30.70 ID:Qj3ipoDB
【OS名】Ubuntu 【PHPのバージョン】5.2.4 【連携ソフトウェア】 【質問内容】 PHP5.2.4ではFatal ErrorやParse Error、例外をキャッチしない場合 などのPHPエラーの際、通常のエラーメッセージ表示ではなく、 HTTP 500 Internal Server Errorを表示するような仕様のようですが、 何らかの方法で通常のエラーメッセージを出力、またはログファイルとして 出力するような仕組み、方法はありますでしょうか。 今まで5.2.4以前のバージョンで開発をしていましたが、 今回開発サーバの都合上5.2.4で開発することとなり エラーメッセージが表示されず500エラーでプログラムが 停止することで戸惑っています。 php.iniなどサーバ側の設定を変更することはできる立場ですが、 できる限り設定は変えない形で対応できれば助かります。
548 :
nobodyさん :2011/03/04(金) 16:20:19.48 ID:Qj3ipoDB
>>547 thx
Fatal Errorはset_error_handlerでは拾えないと思ってましたが
いってきます
SQL文について質問です。Sqlite3です。 以下の二つは正常に通るんですが、 'SELECT * FROM users ORDER BY id DESC'; 'SELECT * FROM users WHERE type="show"''; これが通りません。 'SELECT * FROM users ORDER BY id DESC WHERE type="show"'; どこに問題があるのでしょうか?
550 :
nobodyさん :2011/03/04(金) 18:34:21.69 ID:sBd7McPx
すいません、ID出し忘れました
SQLの構文に関することはSQLスレでききましょうね SELECT * FROM users WHERE type="show" ORDER BY id DESC
そもそもこの程度の物はそのSQL文が載ってるテキストだかなんだかを見れば済む話
>>552 何が言いたいの? nobady さん!
554 :
nobodyさん :2011/03/05(土) 02:12:03.22 ID:Xqpg5tCZ
>>nopopyさんって誰?俺のこと呼んだ?
もうnobajaxの話はそのへんで
557 :
nobodyさん :2011/03/05(土) 11:16:04.08 ID:OCDkynbh
PHP Cake 食べれるのかな?
558 :
nobodyさん :2011/03/05(土) 12:39:24.75 ID:APBkW1/M
スパゲティのデザートだな。
559 :
nobodyさん :2011/03/05(土) 12:44:23.65 ID:gZQzEiVH
なんで、みんなCakePHPばかり使うんですか? 自分ZendFrameWorkしか使えないので、応募できる企業が少ないです;; なぜZendFrameWorkはハブられてるんですか?
知らんがな(´・ω・`)
>>559 ZF使えるなら布教活動してよ
おれも使えるようになりたいから本スレで講座開いてよ
CakePHPの勉強すれば良いだけでは…。
564 :
nobodyさん :2011/03/05(土) 16:20:51.30 ID:Rt5/I4WD
【OS名】CentOS 【PHPのバージョン】5.1.6 【連携ソフトウェア】MySQL 【質問内容】 全角文字を含むSJISのCSV(セパレータは,)をUTF8に変換して mb_splitを使ってカラムとごに分割したのですが、 サーバの環境に寄って,で分割できない場合があります。 現象としては1行に15個の,があったときに 16個のデータに分割したいのですが、 15個のデータにしか分割できません。 全角文字を含むカラムの時に,で分割できないように みられます。 どちらもPHPは5.1.6ですが、サーバのOSだけが CentOSの5.3と5.6で異なります。 おかしな現象がでるのは5.3で出てます。 ソースは以下のような感じで分割しています。 mb_split(',',$data);//$dataにはCSV1行分のデータが入っています。 全角文字を含むCSVを分割するときは mb_splitでなく、他の関数を利用したほうが良いのでしょうか? アドバイスをお願いいたします。
str_getcsv()使えば?
566 :
564 :2011/03/05(土) 16:38:45.25 ID:???
>>565 str_getcsv
(PHP 5 >= 5.3.0)
と書いてあるので5.1.6では使用できないと思うのですが。
使ってみたら、動きませんでした。
変換が正しくないんじゃ
>>564 php.iniのmb_internal_encodingあたりが違うんだろ
569 :
566 :2011/03/05(土) 17:09:52.27 ID:???
>>567 変換はちゃんとできておりました。
日本語を含むカラムもちゃんと分割できているところもあれば、
出来ていないところもあったりします。
一貫性が無いので気持ち悪いところです。。。
>>568 php.ini確認してみました。
mb_internal_encodingを確認したところ、
どちらもデフォルト(未設定)でしたが、
mbstring.languageが
5.3はJapanese
5.6はデフォルト(未設定)でした。
このあたりを少し整理したいと思います。
文字コードはサーバ側は基本utf8で行きたいので、
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
で統一してテストしてみます。
ID出せ
出来てない行を晒せよ エスパーじゃないんだからわかるわけ無いだろ
572 :
nobodyさん :2011/03/05(土) 17:36:41.53 ID:kv11pV2Y
PHPで掲示板を作ったのですが、NGワードでの規制に限界を感じてきました。 現在、書き込みがあったら管理人にメールという仕様になっていますが 下記のようなシステムに変更したいと思います。 閲覧者が掲示板に書き込み ↓ 管理人の携帯電話に内容をメール ↓ 管理人が承認すれば掲示板に反映 (メール内のURLをクリック等) fromへのPOSTをURLクリックで実現できるしょうか? お願いします。
573 :
572 :2011/03/05(土) 17:44:54.47 ID:kv11pV2Y
今はmail() 関数を使って、書込日時、内容、IP、ユーザーAGENTなどの 情報を管理人のメールへ送信させています。 次の一歩が行き詰っています。
>>572 内容の再POSTなんて面倒なことやらず、実データに表示可否のフラグ持たせれば良いんじゃないの?
575 :
566 :2011/03/05(土) 17:48:21.49 ID:???
>>568 ご指摘の通りphp.iniのmb_internal_encodingあたりの設定を見直したら
どちらのサーバでも全データがちゃんと「,」で分割できました。
とても助かりました。
どうもありがとうございました。
>>571 >>568 さんのおかげで解決したので
とりあえず行を晒すのは控えさせていただきたいと思います。
また問題が発生したときにはさっさと晒すようにしますね。
576 :
572 :2011/03/05(土) 17:50:29.82 ID:kv11pV2Y
返信ありがとうございます。 書き込みデータに、そのフラグを追加したとしてどうやってメールから フラグ変更すればよろしいでしょうか? 今は、iモードから管理ページを開いてパスワード入力して 問題のある書き込みを削除って手続きをしていますが この作業に1分近くかかりってしまい、とても面倒なので メールのワンクリックで済むシステムに変更したいと考えていました
フラグを変更するPHPを実行すればいいのでは?
あるメソッドや関数の必須の引数の数を知りたいのですが何か方法はありますか? call_user_func_arrayでパラメータを指定してメソッドを呼び出す前に Warning: Missing argumentのエラーが出るか出ないかを知りたいです
580 :
nobodyさん :2011/03/05(土) 21:48:40.21 ID:Ir6pR7Ev
失礼しました
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】無し
【質問内容】
>>578
>>576 〜〜.php?postid=〜〜
というリンクを管理者の携帯から踏んだときだけ許可するようにするとか。
ここは質問者より回答者のほうがレベルが低いのか。 Ajaxも知らないような奴らに質問するんじゃなかった。 質問して損した。
俺巨乳の女だけど 全く初歩的な質問いい?
>>578-582 最初の質問の段階でIDを出さない奴に応えるなよ。
IDを出す必要が無いと考えて、最初から sage なんだから
確信犯
なんだよ。
そろそろ釣りを理解しましょう。
585 :
nobodyさん :2011/03/06(日) 07:26:55.22 ID:Mp6bgfAZ
かなり無理難題な質問かもしれませんが
例えば、自分のサイトのあるページに、外部リンク、
http://abc1.jpg http://abc2.jpg http://abc3.jpg ・
・
・
http://abc10000.jpg へのリンクが貼ってあります。
当然ですがクリックすると直接上記のjpg画像に飛びます。
そこで質問なんですが、
クリックすると直接jpgの画像に飛ばずに、
自動で作成される自分のサイトのページ(abc1〜abc10000ページ分)を1ページ挟んで、
そこにリンク先のjpg画像が表示されるようにするにはどうすればいいでしょうか。
説明が下手なので、、同じことを少し変えて言います。
<a href="$url"><img src="$thumb_url" width="$80px" height="$80px" border="0"></a>
という感じになっていて、80×80の画像をクリックすると、直接画像URLに飛びます。
それをもうひとつの作った自分のサイトのページの中に画像を直接表示したいのです・・・
ページャーを使うだとかセッション??とか考えましたが混乱してうまくできずに
朝を迎えてしまいました・・・・・
セッションっぽい気がしますけどできません;;
>>585 >それをもうひとつの作った自分のサイトのページの中に画像を直接表示したいのです・・
インラインフレームにすれば?
ありがとうございます。 ごめんなさい。 モバイルサイトなのでインラインフレームは使えないのです。。
588 :
nobodyさん :2011/03/06(日) 07:44:31.77 ID:Mp6bgfAZ
id出すのわすれちゃいました。すみません。
>>587 じゃHTML中のimgタグを置換してクッションページを挟むようにする
590 :
nobodyさん :2011/03/06(日) 07:54:39.54 ID:Mp6bgfAZ
>>589 さん
それって、img画像の数だけクッションページを作らなきゃ無理ですよね。。?
それならちょっと厳しいです。
>>590 >それって、img画像の数だけクッションページを作らなきゃ無理ですよね。。?
動的にやればいいと思います。
>>590 link.php?url=画像アドレス
自サイトなんだからidでいいだろ
594 :
nobodyさん :2011/03/06(日) 09:50:51.01 ID:Mp6bgfAZ
セッションとか必要ない クッションページにURLを送ってリダイレクトするだけ
# サムネイルの表示部分 <a href="./link.php?url=画像のURL1"><img src="サムネイルのURL1" /></a> <a href="./link.php?url=画像のURL2"><img src="サムネイルのURL2" /></a> <a href="./link.php?url=画像のURL3"><img src="サムネイルのURL3" /></a> # link.phpの内容 <?php $url = htmlspecialchars($_GET[?url?], ENT_QUOTES, ?UTF-8?); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="5; url=<?php echo $url; ?>" /> </head> <body> 5秒後に自動的に移動します。<br> 移動しない場合は<a href="<?php echo $url; ?>">ここをクリック</a> </body> </html>
>$_GET[?url?] >?UTF-8? ここの「?」は文字化けです。「'」に直してください。
598 :
nobodyさん :2011/03/06(日) 10:28:07.69 ID:JMplRI2k
テキストエリアに入力された文を改行処理したいんだが 入力元 <form action="output.php" method="POST"> <textarea input type="text" name="name" cols="30" rows="5"></textarea> <input type="submit" value="入力"> </form> output.php <?php $name = $_POST['name'] nl2br($name); print ("$name<br />"); ?> どうしてもできない。教えてチョモランマ
その前の段階の画像への直リンがクリックされた時に リライトでサムネイルへのリンクページ返すのがむずいって言ってるのかと思ったが
>>598 $name = nl2br($_POST['name']);
print ("$name<br />");
>>584 どこで答えてるの?
盛り付いてるね
嫌なことでもあった?
>>601 どこで答えてるの?
盛り付いてるね
嫌なことでもあった?
Yahoo知恵袋は質問者も回答者もレベル低いがここも似たようなものだな
604 :
nobodyさん :2011/03/06(日) 10:43:58.10 ID:S94yEs2h
>>602 悔しいからってコピペするって恥ずかしいことだよ
小学生と同じ
605 :
598 :2011/03/06(日) 10:44:09.84 ID:JMplRI2k
>>604 悔しいからってコピペするって恥ずかしいことだよ
小学生と同じ
小学生と同じ? いえ、私小学生なんですけど。
>>585 ゲットメソッドで画像のURLを渡して、受け取った画像を表示するphpをかきゃよくね?
大量の画像へのリンクを作るならふつうそうすると思うが
>>603 下らないって言葉の意味を知らないのかね
今日からこのスレは俺が仕切ることにした!
611 :
nobodyさん :2011/03/06(日) 17:05:43.42 ID:??? BE:4212173489-PLT(21468)
専門板はどうしてこうも知恵遅れが湧くのだろうか
◆Vax/d3xCF/mv ★ beポイント:21468 登録日:2010-01-15 紹介文 朝鮮人は殺略されるべき そして悶え苦しむが良い ↑ こいつ超知恵遅れ
きめえ
いくら嫌いだからって殺略はないよな
615 :
nobodyさん :2011/03/06(日) 18:43:45.25 ID:JBTCMSAE
IMGタグを含む投稿フォームの確認画面ほ表示を行いたいのですが、 実際の画像表示画面と、確認画面では階層が違うため、どちらか一方しか表示出来ません。 IMGタグ内に相対パスではなく、絶対パスやURLを書けばいけるのですが、相対パスで行う方法はありますか? 確認画面だけが別画面なので、この画面上だけパスが通ればいいのですが。 試した方法ですが、IMGタグの中の画像ファイル名だけを配列に抜き出し、../をファイル名にstr_replaceで追加、 srcにURLを含むIMGタグだけは../を追加しない、という処理を行なっていますが、スマートでは無いので、、
616 :
nobodyさん :2011/03/06(日) 18:48:56.73 ID:Mp6bgfAZ
おはようございます。昨日は寝てしまいすみませんでした。
>>596 さん、その他の方々ありがとうございました。
しかしエラーとなり表示できなかったです。。
自分のやりたいことをできるだけわかりやすく伝える為に、
絵に書いてアップローダーにアップしました。
http://www.dotup.org/uploda/www.dotup.org1401610.gif.html 下半分のようにしたいです。
★サムネイル表示ページ(samuneiru.html)のサムネイル表示部分
<a href="$url"><img src="$thumb_url" width="$80px" height="$auto" border="0"></a>
★クッションページ(cushion.html)
ここが全くわかりません。。(以下は半分独り言です)
サムネイル表示ページの"$url"もリンク先が違うので、
596さんがおっしゃるように、
<a href="./link.php?url=画像のURL1"><img src="サムネイルのURL1" /></a>
このようにサムネイルのURL情報を引き継いで自動でリンクが必要かな。。。
なのでセッションidが必要になるのかな・・・
とおもいました。。
>>616 ちょっと突っ込みどころが多くて回答に困る
そもそも他人の画像を直リンで使用するのは迷惑行為だからこれ以上勧められない
>>615 自己回答ですが、
$imgdir = "img/";
$str = $imgdir;
$str2 = "../".$imgdir;
$body = str_replace($str,$str2,$body);
これでもまだスマートじゃ無い気がしてきています。
619 :
nobodyさん :2011/03/06(日) 19:54:06.73 ID:Mp6bgfAZ
>>617 そうですよね・・・
Yahoo!デベロッパーネットワークの api 画像検索ってのに登録したら、
直リンクで表示しちゃうんです。。。
620 :
nobodyさん :2011/03/06(日) 20:38:13.46 ID:Mp6bgfAZ
みなさま、こんな自分につき合って下さいまして 本当にありがとうございました。 いろいろと出直してきますm(_ _)m
>>619 XMLの中にサムネイルURLというものがありますよね?
検索結果にまずそれを表示させて
echo "<a href=表示させたい小ページのURL?q=画像の本アドレス><img src=サムネイルURL></a>";
それで表示させたい小ページで
$img = $_GET['q'];
<img src={$img}>
で出来ませんか?
>>618 $bodyを後からstr_replaceするんではなくて
$bodyを作成する段階で必要な箇所に$str2を埋め込むべき
>>624 $bodyはユーザが入力するフォームと、表示するフォームを兼用しているので、ユーザ入力側に仕込むのは難しいです。
>>625 ドキュメントルートにimgがあるとして(たとえば /home/user/htdocs がルートで /home/user/htdocs/imgに画像)
src="/img/hoge.jpg"
と最初に/つければ、どこの階層からでもだいじょうぶだけど、それじゃだめな理由があるの?
627 :
nobodyさん :2011/03/07(月) 11:54:52.41 ID:3E6woW5/
フォームから送信した文字列(改行含む)をファイルに1行1データで書き込む 書き込んだ文字列を読み込んでhtmlに出力する このときエスケープはいつ行えばいいんですか? 出力するときにエスケープしろと言われるのをみますが書き込むときに改行を<br>に変換しないと1行1データにならないので書きこむときにエスケープと変換作業を行います そうすると自然に出力前は何も出来ない。エスケープしたら<br>が無効されるのです 出力するときにエスケープしろというのはたぶんデータベースを利用したときの事ですよね ファイルベースのときは書き込むときにエスケープして出力前は何もしなくても大丈夫ですよね? もしXSSになるとしたら何故なるのかその理由の教えてください
>>626 理由はわからんが
> 相対パスではなく、絶対パスやURLを書けばいけるのですが、相対パスで行う方法はありますか?
>>627 <br>以外に変換とか、変換されちゃった<br>元にもどすとかいろいろあるけどね。
出力前にってのは、その例でいうと、ファイルから読んで出力する前に
変換してるとあとでいろいろ足したりするのがやりにくい、処理追加してその分の処理を忘れがちとか
そんな話。 データベースの話はまた別。
>>618 シンボリックリンクを作ればいい。ソースに手を加えないのだから、一番スマートだ。
>>626 ,628
理由は
>>625 だろうな。ユーザの負担がかかるとかじゃないかな。
ユーザ入力が絡むなら、スマートさより確実性を重視すべきだと思うんだが。
>>627 出力フォーマットに依存するとしか。
CSVなら改行をエスケープしなくても良くなる。
>>630 シンボリックリンクはどのレンタルサーバでも動くんでしょうか?
とりあえずもう少し考えてみます。
FollowSymLink的なのが有効になってないと使えない
634 :
nobodyさん :2011/03/07(月) 20:27:02.42 ID:W5zBM93k
【PHPのバージョン】5.2.4 【連携ソフトウェア】 MySQL 【質問内容】 二行二列の配列に各々年齢とポイントが入っている配列があり、 年齢ごとに合計値を出したいと考えているのですが 何をどうすればいいのやらという感じでお手上げです 同じ年齢を抜き出す部分が特にわかりません 何卒ご教授ください 二次元配列テーブル $[0][0] = 1; $[0][1] = 10; $[1][0] = 2; $[1][1] = 10; $[2][0] = 1; $[2][1] = 5; $[3][0] = 1; $[3][1] = 1000; $[4][0] = 4; $[4][1] = 30; 結果(欲しい完成形のデータ) 1歳 1015 2歳 10 4歳 30
sum[$a[$n]]+=$a[$i][$j] みたにループで回すだけ
どこをどう取ったら1歳が1015になるのか分からん
$result = array(); foreach($arr as $item) { $result[$item[0]] += $item[1]; }
foreach($result as $age => $point) { echo "{$age}歳 $point\n"; }
639 :
nobodyさん :2011/03/08(火) 02:19:35.87 ID:vGghQykN
>>627 単に1行で書き込みたいんだったらserialize()でもしとけ
640 :
nobodyさん :2011/03/08(火) 02:32:56.42 ID:5ZtbGR1H
mysqlにある商品データをカテゴリ別に表示させるようにしたいです ですが調べてみてもさっぱりわかりません カテゴリ分けするにはどうしたらいいんでしょうか?
$array[$row['category_id']] = $row;
642 :
640 :2011/03/08(火) 02:40:27.05 ID:5ZtbGR1H
>>641 ありがとうございます、ねばってみます
あとひとつ聞きたいのです
データベースで商品のカテゴリ分けする場合、商品のテーブルのほかにカテゴリのテーブルも作成するんですか?
643 :
640 :2011/03/08(火) 02:43:06.87 ID:5ZtbGR1H
×あとひとつ聞きたいのです ○あとひとつ聞きたいです
644 :
忍法帖【Lv=5,xxxPT】 :2011/03/08(火) 02:53:11.85 ID:mHC9A3l4
PHPからMySQLにSSHトンネルを通って接続するための ライブラリまたはデバイスとか実装されていないですか?
645 :
640 :2011/03/08(火) 02:53:25.79 ID:5ZtbGR1H
すみません、
>>642 は取り消します
商品用のテーブルとカテゴリ用のテーブル
どうやってリンクさせるのですか?
さっぱりわからない…
>>645 例とかないの?
具体的にどういうテーブル構造のものをどのようにフロントで表示させたいの?
これ明確にしてくれないと答えようがない
エスパー的には
商品テーブルとカテゴリテーブルをJOIN
647 :
640 :2011/03/08(火) 03:12:02.45 ID:5ZtbGR1H
>>646 すみません
商品用のテーブルには商品のデータ(商品名、値段など)が登録してあって、
その商品のデータをカテゴリべつに分けて表示したいと思っています
商品用テーブル items
id (商品番号)
title (商品名)
category_id (カテゴリー番号または名前)
カテゴリ用テーブル category
category_id (カテゴリー番号または名前)
category_name (カテゴリー名)
これでわかるでしょうか…
>>647 いやそのテーブル構成はわかってるんだ
> カテゴリべつに分けて表示したい
これをどのように表示させるんだ?
例えば、GETでカテゴリIDを指定してそれを表示させるのか
1画面でカテゴリごとにブロック作って表示するのか
書き出したあとのイメージ書いてみろ
649 :
640 :2011/03/08(火) 03:27:50.50 ID:5ZtbGR1H
>>648 カテゴリURLをクリックしたら、
そのカテゴリに登録されている商品をずらーっと並べたいです
入れ子はないです
すみません、わかりませんよね…
phpは初めてで、ゼロから作っているのでおっしゃっている意味もイマイチわからないです
ごめんなさい
>>649 商品一覧出したい気持ちはわかる
その前に手順踏もうぜ!
まず、データベースでSELECT文は分かる?
GET、POSTは分かる?
651 :
640 :2011/03/08(火) 03:36:19.34 ID:5ZtbGR1H
>>650 すみません
SELECTはわかります
GET、POSTはいまいちです
↓今はここまで書けました
$url = "localhost";
$user = "root";
$pass = "";
$db = "";
// MySQLへ接続する
$link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。");
$result = mysql_query( 'set character set utf8' );
// データベースを選択する
$sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。");
// クエリを送信する
$sql = "SELECT * FROM category";
$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$category_id = $row['category_id'];
$category_name = $row['category_name'];
}
>>651 データベース使うより先にGET/POST優先すべきかな
URLで例えば
http://localhost/index.php?c=test こんな?c=testみたいなの見たことない?
チャットじゃないんで手短にいうけど
?c=testとパラメータついてる時、
$_GET['c']という変数に「test」が入る
URLで?c=1みたいに、カテゴリIDを渡したらどうなる?
それをクエリ内での検索で使ってみたらどうかな?
学校の課題?
654 :
640 :2011/03/08(火) 03:44:08.71 ID:mJwrvUdm
>>652 すみません、なんとなくわかりました
ほんとに失礼で申し訳ないですが、迷惑になっているなら
キーワードとかヒントになりそうなことを教えていただけたら
あとは自分で検索して頑張ります…joinとかarrayとかだけでもとてもヒントになりました
ありがとうございます
655 :
640 :2011/03/08(火) 03:47:04.82 ID:5ZtbGR1H
>>653 いいえ、
本を読んだこと以外はphpは触ったこともないのですが、
とりあえず実践すれば見につくかと思いまして、
無謀だとわかってて何回かあきらめたんですけど、だんだんいいところまではできてきたので…
ほんとすみません
>mysqlにある商品データをカテゴリ別に表示させるようにしたいです
>>647 を元にこれをするためのSQLは書けるの?
657 :
640 :2011/03/08(火) 04:05:30.60 ID:5ZtbGR1H
大変勝手で本当にすみません
>>656 さんのSQLは書けるので、joinとかarrayで調べてたどってるうちにできちゃいました…
たくさん迷惑かけてしまってすみませんでした…
またあきらめるところでした
優しすぎて涙が出そうです
迷惑をおかけしてすみませんでした
本当にありがとうございます
できたならいいんだよ。 一歩進めてよかったね
ひとりで解決する能力があるやつは進歩するよ WebProgスレに変なの湧いてるがああいうのは末期
660 :
nobodyさん :2011/03/08(火) 05:56:27.44 ID:Iy+AtfWH
質問です。 各々のブラウザ設定などではなく、 phpでサイト自体にリファラーの無効をできないでしょうか。 リファラーを偽装だとかクッションページを挟んで隠すだとかはできますが、 完全に無効にするにはどうすればいいでしょうか。
無効の意味がわからん ブラウザでリファラ情報持っててPHPがそれ拾うだけだから 拾わなければ無効と一緒じゃね?
ブラウザが勝手に送るから無理
663 :
nobodyさん :2011/03/08(火) 06:19:03.43 ID:Iy+AtfWH
なるほど。考えてみればそりゃそうですね。 マヌケな質問してしまいました。 ってことは、リファラを隠したり、偽装したりする プログラムもそれを表示するブラウザも様々なので、 結果が違う可能性があるってことですよね?
> ってことは、リファラを隠したり、偽装したりする > プログラムもそれを表示するブラウザも様々なので、 > 結果が違う可能性があるってことですよね? HTTPヘッダーについて勉強しておいで ブラウザがサーバにリクエストするときにリファラ情報を一緒に送出してるわけ なので設定やアドオンなんかでリファラ情報を送らないように制御できるブラウザもあ 受け取った結果が違うというのは当たり前のこと リンクからきたかブラウザのお気に入りからきたかによってすでに違うわけだから
665 :
nobodyさん :2011/03/08(火) 07:16:56.77 ID:Iy+AtfWH
ありがとうございます。 感謝いたします。 色々と調べてまたきます。
いいってことよ
667 :
nobodyさん :2011/03/08(火) 11:20:46.31 ID:XI937334
管理者専用画面へリダイレクトしたいんだが
ログインできてもページが表示されない
$login_url = "
http://{$_SERVER[ 'HTTP_HOST']}/aaa/aaa.php";
header("Location:$login_url");
exit;
教えてくだしあ
何が間違ってるか当然自分で調べたんだろ? その経過くらい書けよ なんで丸投げなんだよ そんな質問方法、入試カンニングと同じじゃねーかよ
670 :
nobodyさん :2011/03/08(火) 12:01:36.03 ID:XI937334
>>668 丸投げしてすまない
調べても記述が同じで混乱してた
自分でもっと調べてみる。
IDの数だけスクワットしたら許してやる
\n\nがないからじゃない?
673 :
nobodyさん :2011/03/08(火) 17:29:37.39 ID:XI937334
674 :
nobodyさん :2011/03/08(火) 19:40:03.48 ID:wdecqthy
echo ("0801" == 801)を実行すると1が表示されますが、 文字列を整数にキャストすると、0で始まっていても10進で返ってくると思っていいんですか?
当たり前だろ
16進数は先頭に0x "0x12"==18
8進数の話だろj/k
当たり前だろなんて切り捨てるのは phpのキャストに関する挙動は基礎の基礎と考えているか、 8進数の可能性を考えなかったかのどちらかかなぁ。 ともあれ、内部で使用しているstrtodは8進数を理解しないので、0から始まる文字列は10進数とみなされるよ
679 :
674 :2011/03/08(火) 21:19:30.25 ID:???
680 :
nobodyさん :2011/03/09(水) 00:27:55.83 ID:D42Z/9Qb
xammp+php でphpWebサイト作ったのですが これを一時的xsammpでWeb公開するにはどうすればいいのですか? またphpをweb公開するにはどうすればいいのですか?
サーバをたてる。 ネットの仕組みが分からないうちは、手を出さないほうがいいよ
xamppのスペルうろ覚えすぎワロタ
>>680 Apacheを起動して
ルータから80番ポートを外に開放してできあがり
これであなたのPCもハッキングされ放題
ひゃっはー
>>683 デフォの設定でハッキングし放題とな。
おしえてくれ。そしてそのパッチをジャカルタに送って名を挙げるよ
685 :
nobodyさん :2011/03/09(水) 06:39:53.49 ID:2uu1lCib
URLに組み込むための規則に沿って“%91%8B%82……”みたく 「$url」の値をURLエンコードするにはどのように記述すればいいですか? urlencode($url)と記述しても上のような文字列にならずに そのまま表示されてしまいました・・・
>>685 urlencodeでOKだよ
どんな文字列を変換しようとしたの?
多分、urlencode($url)の戻り値を使わずに$urlを、もう一度使ったんだろ。
688 :
nobodyさん :2011/03/09(水) 07:09:57.49 ID:2uu1lCib
さすが下質だ、PHPのコーディングの仕方全くを知らずに質問するのが流行ってるみたいだな。
基礎がわからないのに関数使えるってそれはそれですげえわ
688じゃないけど、俺も688に教えてあげた方がいいと思う
693 :
nobodyさん :2011/03/09(水) 07:50:53.31 ID:2uu1lCib
ちょっとなんかとんでもない質問しちゃったみたいですみません! まったくの初心者でいろんなサンプルのプログラムを勘でちょっと いじったりして遊んでました。 <?php $str="$URL"; $encdata = urlencode($str); echo $encdata; ?> こうゆうことじゃないですよね・・・ ちゃんと動かなかったから違うんでしょうね・・・
勘でいじるなボケ マニュアル読め
文字列中に変数書く癖はやめたほうがいいよ PHPの場合はダブルクオーテーション文字列中にそのまま変数かけるけど それはプログラム言語全体としては一般的ではないから
でもついついやっちゃうよね echo "こんな{$var}感じで・・・。";
おっぱい括弧で囲むのはありだろう。
いらん構文解析増えるから微妙
的外れだな
おっぱい括弧で囲むのがありならそのままもありだな ようはPHPだから問題ない コンパイラ言語ならおっぱい括弧だって文字列扱いだしな
おっぱい括弧のほうが早いから場合によってはむしろ推奨する
想像で言ってるでしょ? 早くねーよ
703 :
nobodyさん :2011/03/09(水) 10:00:21.65 ID:SspKnoAi
$fp = fopen($path, "w"); fwrite($fp, $php_data); fclose($fp); この場合、新しく作成されたファイルのパーミッションが666なのは仕様でしょうか? 鯖の仕様上、666で*.phpを作成するとInternal Server Errorが出る
>>702 ごめん、「場合によっては早い」というべきだった
測った上で言ってる
囲いの中にある変数の数が多いほど、おっぱい括弧のほうが早くなる
変数の数が少ないときはシングルのほうが早い
705 :
nobodyさん :2011/03/09(水) 10:14:05.47 ID:SspKnoAi
実行ファイル(.php)を0666で書き出す糞OSS VS. 0666のファイルに直接アクセスするとInternal Server Errorを出す糞鯖 悪いのはどっちだ?
悪いのは無知なオマエだ
だな
容赦無いなお前らwwww
709 :
nobodyさん :2011/03/09(水) 14:05:22.33 ID:GqBXYpF1
毎回管理ページを開いてパスワード(例:”0000”)を入力するのが 面倒なのでログイン済みのURLを作りたいのですが可能でしょうか? 例えば、↓のような感じを想像しています aaa.com/admin.php?admin=0000 よろしくお願いします。 <form method="POST" action="admin.php"> <input type="password" name="admin" size="10"><input type="submit" value=" ログイン "> </form>
>>709 自分のサイト?他人のサイト?
自分のサイトならパスワードかけなきゃいいじゃん
711 :
nobodyさん :2011/03/09(水) 14:24:27.17 ID:GqBXYpF1
>>710 自分のサイトです。
今後、会員向けページをつくり、会員登録完了メールに
「貴方の会員ページはこちら(aaa.com/member.php?mmb=0000 )です」
みたいな感じで流用しようとも思っていますので、教えて頂けませんか?
ページ振り分けだけで、個人情報が無ければいいんじゃね?
それ可能な不可能かって可能だろうけど 俺なら絶対しないな URLさえ知っておけば誰でもログインした状態に ログインしたページにバナーや掲示板でもあって、例えば僕のサイトにリンク張ってあったら どのURLから飛んできたかわかるから、リンクはられたサイトの管理者もログインし放題 まあ それでもやりたけりゃどうぞ
よくみたらpostで渡すフォームなんだな 試験だけgetでいいだろ
CSRFやり放題!
>>711 その知識レベルで、パスワード制のシステムを作るのはやばい
個人の趣味でやってるサイトだとしても、他人に使わせてはいけない
717 :
nobodyさん :2011/03/09(水) 14:48:37.13 ID:GqBXYpF1
>>714 パスワードの受け側をPOSTからGETに変えたら
↓でログインが成功しました。ありがとうございます。
aaa.com/admin.php?admin=0000
もう一度、POSTとGETの違いを勉強してきます☆
というか利用者もパスワード無いと不安で使わないんじゃね? せめて初回のみパスワードログイン出来るようにして、クッキー発行。次からはクッキー読みに行ってログインされていればダイレクトにログイン後画面にリンク。 どうしてもパスワード無しでやるならURLのクエリを30文字くらいで暗号化して渡すかな
>>717 そんなレベルだったのかよw
とりあえず、パスワードを実装する前に
getでもpostでもページに表示させるとこ練習しろ
パスワード付きURIがグーグル先生に捕獲されるw って事件があったなw
初歩的な質問かと思いますが宜しくお願いします。 $valueに値を代入するとして、 @ $_POST['value'] がtrueなら $value = で代入 A @がfalseで$_COOKIE["$value"]がtrueなら $value = で代入 B @もAもfalseなら $value = "〜"; で代入 というのをスマートに書くアイディアがないでしょうか。 順番にnullかチェックしていくのはスマートじゃない気がしてモヤモヤしてます。 nullなら代入っていう演算子はPHPにはないのでしょうか・・(Perlでの ||=)
>>720 グーグル先生が綺麗にサイトのデータ消したとかもあったよな
<a href="index.php?id=300&mode=delete">削除</a>
こんなことしてるやつ稀によく見かけるから注意な
$value= $_POST['value']?:$_COOKIE["$value"]?:"〜"; 普通にチェックして入れるの書こうよ…
>>721 PHP5.3から3項演算子の2番目が省略できるから、たぶんこれで出来ると思う。
けれども、ユーザ入力の部分なのに未定義チェックを含めたチェックがまったく
出来なくなるから、あまり薦められない。
こないだから来ているスマート君だと思うんだけど、ユーザ入力が絡む場合は
特にスマートさよりも堅牢性や確実性をとったほうがいいよ。スマートさを追求
してセキュリティホールを開けてしまっては目も当てられない。
>PHP5.3から
てか、コード省略するな 可読性重視しろ っていっても個々の好き好きだよな・・・。 ただ、 <? ?> とか <?=$value?> は許せない
>>729 その略し方はshort_open_tagsがoffだったり、HTMLの頭にxml宣言があると面倒だよな。
731 :
721 :2011/03/09(水) 19:29:38.08 ID:???
>>723-724 レスありがとうございます。
うーん、やっぱり例外が発生しないようにきっちり制御していったほうがいいみたいですね
3項演算子も試してみたけど、パターンが2種でなく3種になるとスマートとは程遠くorz
> こないだから来ているスマート君だと思うんだけど
おうふ、違いますん
>>721 質問するならIDだせ
出さずに質問する奴は確信犯
733 :
nobodyさん :2011/03/09(水) 20:04:33.69 ID:2uu1lCib
>>685 です。
ご迷惑をおかけしております。
あれから更に色々と調べたのですがうまくできなくて困っています。
<?php
$str="$URL";
$encdata = urlencode($str);
?>
とやって、
<a href="
http://google/test.php?url=$url ">
の「$url」の部分がエンコードされるって考えは全く間違ってますでしょうか?
全く間違っている
$str="$URL"; これは何のつもりなんだ
736 :
nobodyさん :2011/03/09(水) 20:22:58.71 ID:2uu1lCib
$str="$URL"; $strには$URLをエンコードした結果が入るつもりです。
その$URLはどこからやってくるんだ
何度も質問することは恥じることではない IDを出す潔さが回答を生むのだ
$URLがまず未定義なわけだが
<?php
$url = "
http://www.google.co.jp/search?q= ";
$searchStr = "おっぱい";
echo '<a href="' . $url . urlencode($searchStr) . '">Googleで' . $searchStr . 'を検索</a>';
740 :
nobodyさん :2011/03/09(水) 20:44:06.93 ID:TtEEwLYN
【OS名】Windows7
【PHPのバージョン】5.2
【連携ソフトウェア】MySQL
【質問内容】
PHPを使って、twitter検索で特定の文字を検索して(フォロワーだけじゃなく全体)
リアルタイムで流れてくるように表示したいんですが、
twitter APIは使用制限があるみたいで、更新しまくるとだめみたいなんです。
何か回避方法ありませんか?
ttp://twitterkensaku.com/ このサイトのような感じをベースに、検索した後はチャットのように見てるだけで勝手に流れるような仕組みにしたいです。
743 :
nobodyさん :2011/03/09(水) 20:50:37.94 ID:TtEEwLYN
>>742 ぐぐったらなんとまぁw
事件に発展してるんですねw
MySQLを仲介に、一定時間ごとに一定数のつぶやきを確保して
PHPからMySQLに接続して疑似リアルタイムを実現するとかならいけますかね・・・?
744 :
nobodyさん :2011/03/09(水) 20:53:39.30 ID:2uu1lCib
みなさま、貴重なご意見、ソースありがとうございます。 わかる方ならすぐ試してレスできるのでしょうが・・・ 勝手で申し訳ないのですが、これらを色々と試す時間をください。 返事は必ずしますm(_ _)m
745 :
nobodyさん :2011/03/09(水) 21:02:32.21 ID:2uu1lCib
$URLはどこからくるか自分も思ったのですが、 それでも「ぐーぐる」にマウスを置くと、URLは表示されるのです。 以下がソース全部ですがそれらしき箇所が見当たらないのです・・・ <?php class DataObject { function set($key,$value){ $valname = "_".$key; $this->$valname = $value; } function get($key){ $valname = "_".$key; return $this->$valname; } function output() { if (isset($this->_filesize)) { $this->imageOut(); } else { $this->webOut(); } } function webOut() { $url = $this->_url; $title = $this->_title; $summary = $this->_summary; echo <<<EOM <a href="$url">$title</a><br /> (続き以下)
747 :
nobodyさん :2011/03/09(水) 21:03:43.51 ID:2uu1lCib
<hr>
EOM;
}
function imageOut() {
$url = $this->_url;
$title = $this->_title;
$thumb_url = $this->_thumb_url;
$thumb_width = $this->_thumb_width;
$thumb_height = $this->_thumb_height;
echo <<<EOM
<a href="
http://google/test.php?url=$url ">ぐーぐる</a>
EOM;
}
}
?>
それ初心者がイジクリまわるようなソースじゃないぞ もっと基本からやらないと
大文字と小文字が違うって気づかない時点でダメダメだ。 マヌアル最低でも3回くらい読むべし。 ヒアドキュメントも出てくるし
>>741 仕様書見たけど、制限が60分に100回なら一分一回でも大丈夫じゃん
どの程度の頻度で新着があるのかわからないけど、
きちんとキャッシュ取って使えば問題ない
752 :
nobodyさん :2011/03/09(水) 21:23:32.65 ID:2uu1lCib
みなさま本当にありがとうございます。 相当な難題だったんですね・・・ でも、まだ諦めたくないので調べながら がんばってみたいと思いますm(_ _)m
何で初心者以下の知識しかないのに自分で理解できないコードをいじろうとするんだ? そこに書いてあるコードを理解することは今は無理だろうし、 やろうとしてることはもっと簡単にできるはずだよ。 試行錯誤する前に、基礎を勉強しなよ。
急がば回れって言葉しってるかね
html感覚でやってるでしょ? htmlと違ってプログラムは適当にいじっても動かないよ
全然難題じゃない。 urlencodeの結果を使えばいいだけ。
いろいろ遊んでみればいいんじゃないの? $url = $this->_url; を $url = urlencode( $this->_url ); どうやろうが個人の自由だしな
他の人も言ってるが、「0から9がランダムで出るサンプルプログラムを改造して0から99が出るようにする」
みたいなのなら別だが、一般的に言って、プログラミングは勘でやってどうにかなるもんじゃない。
もしたまたまうまく動いても、あなたは多分ID:GqBXYpF1みたいなことをやらかすよ?
個々の関数の使い方がわからないんなら聞けば教えてくれるから、まず変数とかfor文とか、
PHP以前の「プログラミングの基礎」からやるべし。
あと、悪いが
>>744 もう「返事」しないでくれ・・・
くだ質でなに張り切ってんだよ落ち着けよ
釘が打てるからって大工の真似事しても家は建たんよ('A`)
いい例えだな ひさびさに感心した例えだ
釘すら打てないんじゃないか?と思ったのは内緒だw
物理的な製造業にたとえることは出来ないと思うんだが。 それでも感心する人がいるんだから不思議なもんだ。
今どきのPHPプログラマー様は組み込みを知らんのか
PHPでROM焼きとかLSI焼きとかやってるとこあるの
>>763 「たとえ話」というものの全てを否定してないか?
767 :
nobodyさん :2011/03/09(水) 22:21:16.44 ID:TtEEwLYN
>>746 >>750 新着は数秒置きにあるみたいですが、MySQLを仲介してAjaxも組み込めば
疑似リアルタイムが作れそうです。
回答ありがとうございました!
>>766 プログラミングと大工を比べるのは無理があるよ。
もしかしたらいまどきの大工は家を建てたあとで大黒柱を変えることが出来るのかもしれないけど。
プログラマ96乙
プログラムと大工ってのはかなり概念としては近いぞ 犬をニャーと鳴かせるよりは全然喩え話として自然
プログラマ96嫁
97だろw
プラモデル組み立てるのに似てると思ってたお
釘が打てるだけの人間に建築させるのがブラック会社 そしてそれは決して少なくないのがホラーだよね
IT業界なんて免許のない時代の車社会みたいなもんだろ。 レーサー級のやつもいれば「アクセルどれ〜?」みたいなやつもいて玉石混交。 怖くて道歩けないw ・・・ということにもクライアントは気付かずry
$_SERVER[REMOTE_ADDR] $_SERVER['REMOTE_ADDR'] $_SERVER["REMOTE_ADDR"] どれが正しいんだろう 激しく今更なんだが、一度気になったら眠れなかった俺のために頼む
>>776 なんか答えたくなったので
> $_SERVER[REMOTE_ADDR]
これ使ってる人たまに見るけどまずアウト!
""や''で囲ってないと定数として扱われる
定数として宣言されていない場合はそのまま文字列になるから問題ないんだけど
どこかで定数宣言define('REMORT_ADDR', 'test')とかされてるとAUT!
どこかでdefine('REMORT_ADDR', 'REMORT_ADDR')
> $_SERVER['REMOTE_ADDR']
一番ベターな方法かな
> $_SERVER["REMOTE_ADDR"]
""は中で変数展開ができるから
$addr = 'REMORT_ADDR';
$_SERVER["{$addr}"]とかするなら使ってもいいんじゃね?
使えればいいだろ
$_SERVER使うバカは情弱 getenvを使うべき
781 :
nobodyさん :2011/03/10(木) 12:36:11.94 ID:voVG8He8
【OS名】CentOS 【PHPのバージョン】5.2.4 【連携ソフトウェア】 【質問内容】 DBからレコードを取得して、値を変換して テキストファイルに落としこむバッチを書いているんですが、 大小合わせて15MBほどのテキストをファイルをつくるのに メモリを1200MBくらい消費してしまいます。 php.iniのmemory_limitが8MBやら512MBとかだと 当然バッチはメモリ不足でおっこってしまいます。 memory_limitを-1にするのは、 ちょっと怖い気もします。 色んなサイトを見るとPHPをバッチで動かすと メモリの開放がされるのはバッチが終了してからとのことだったのですが、 たしかにunsetなどを使用してもメモリの使用量は減りませんでした。 memory_limitを-1にすることの是非と、 なにかメモリの解放をする方法があれば教えて頂けないでしょうか。
ファイル追記でlinux toolたたけばいいじゃん。
>>781 根本的にメモリの使い方がおかしいだけだと思うが、ソース公開できないの?
1ギガも使うような処理じゃなさそう
785 :
781 :2011/03/10(木) 14:22:03.76 ID:voVG8He8
>>783 すみません。ソースの公開はちょっと厳しいです。
(一部抜粋できないかちょっと試してみます。)
memory_get_usageを使ってどのタイミングでメモリの使用量が増えているか
調べているのですが、
データベースからレコードを取得して
連想配列に値を入れ込むところで
消費量が増えてました。
10万件のレコードを連想配列に入れる処理で
500MB程使用量が増えました。
>>784 ですよね。1ギガは行き過ぎですよね。
ちなみに
memory_get_usageで取得できるメモリの使用量は
topコマンドで表示されるメモリの使用率と異なるようなのですが、
見かたがまちがってますか?
サーバにはメモリを8GB積んでいるんですが、
topでみるとPHPが15%弱使っているようなんです。
でもmemory_get_usageで得られる数値は700MB弱なので、
何の差なのかちょっと気味悪いです。
>>785 そのバッチって頻繁にデータ書き換わったりすんの?
しなければ、COUNTで件数取得して分割して試してみたら?
書き出してるのがテキストというだけであって DBから引いてくるときに不必要なバイナリデータとかも 引いてきてイッパイイッパイになってるとか?
10万件も連想配列に入れたら500メガ増えてもおかしくない気がするな
あああああ わしもそう思う
1ギガってことは1,000メガバイトで1,000メガバイトってことは 1,000,000キロバイトで1,000,000キロバイトは 1,000,000,000バイトでこれを10万で割ると 10,000バイトか。 500メガいくかな?いかなそうだな。
>>790 そんなとこで算数得意アピールしなくていいからまじで
792 :
nobodyさん :2011/03/10(木) 14:45:09.90 ID:voVG8He8
>>786 はい。頻繁に変わるものになります。
頻繁に値が変わるのでテキストに書き込む対象を一気に持ってきてます。。。
>>787 不必要なバイナリですか。
たとえばどういったものが考えられますか?
SQLのなかでは、必要な分のカラムのみ
指定していますが、それとは別の話しでしょうか?
>>788 >>789 >>790 連想配列から通常の配列に入れるようにしたら
60MBほど使用量が減りました。
それでもまだ相当な消費量ですが・・・・。
10万件もオンメモリするなら60MBくらい普通じゃね? オンメモリが必要かどうか考えるべきでは?
テストしてみました 10万件配列に入れても そんなにメモリ食わない感じですた。 for($i=1;$i<100000;$i++){ $hoge[] = "ああああああああああああああああああああああああああああああ ああああああああああああああああああああああああああああああああああああああああ ああああああああああああああああああああああああああああああああああああああああ ああああああああああああああああああああああああああああああああああああああああ あああああああああああああああああ"; }
ああ 60メガ減ったのか
それにしたって全レコードをメモリに入れる必要ないだろ 1レコードずつ処理すれば使うメモリは1レコード分で済むはずだけどな
// $i=0; ←エラーがうざいならコメントを消せ for (;$i++<10;)echo str_repeat("あ", 100);
<?php // $i=0; ←エラーがうざいならコメントを消せ for(;$i++<10;)$hoge[]=str_repeat("あ",100);
<?php // $i=0; ←エラーがうざいならコメントを消せ for(;$i++<100000;)$hoge[]=str_repeat("あ",100);
800 :
nobodyさん :2011/03/10(木) 15:08:43.54 ID:voVG8He8
>>796 ですよね。
今から作りを変えて1行ずつ書き込む処理にしてみます。
801 :
nobodyさん :2011/03/10(木) 19:13:27.55 ID:1kHolUfg
ロダみたいなPHPプログラムにアフィリエイト埋め込んでユーザーの利用先で 踏んでもらう仕組みって法的に問題ある?
803 :
nobodyさん :2011/03/10(木) 19:45:11.27 ID:Z6kki2tA
mail();をつかったメール送信での処理時間について質問させてください。 いま、PHPとmysqlでウェブアプリを作ってて、フォーム送信からデータベースへの登録処理が失敗した時に mail();(正確にはフレームワークのメソッドを通じてですが)で管理者向けに警告メールを送るようにしています。 流れとしては以下のような単純なものです $rt = $dbObj->query("クエリ文"); if($rtを使ったエラー判別){//成功 //成功画面へ }else{//失敗 //管理者向けmail送信処理&エラー画面へ } //このあと画面出力へ これで、気になるのが、失敗時に画面の出力(正確にはフォームの送信前画面から失敗画面への遷移)に ずいぶん時間がかかるんです。体感で1秒はかかっているような… そこで質問させてください。 1)普通、phpでのメール送信ってこんなに時間かかるものなんでしょうか? ※ちなみにcentOSとPostfixとzendFWを利用しています 2)この時間の間にメール送信処理をしてるんでしょうが、この時間を少なくする方法はないでしょうか? ※メモリやCPUの強化でなく、プログラムのテクニックやアイディアで改善したいです。 単純なのは、エラー発生時のリアルタイムのメール送信をやめて、専用のログ出力をして、 利用者のUIと関係ないところで定期的にエラーログの確認&送信することでしょうが、 それだと速報性がなくなるので避けたいんです… ご意見・アドバイス、よろしくお願いします
804 :
781 :2011/03/10(木) 20:22:59.45 ID:voVG8He8
あれからレコード1件ずつ処理するように変更したところ、 メモリの使用率がマックスでも32MBになりました。 おかげでメモリ不足で落っこちることもなくなりました。 どうもありがとうございました。
805 :
nobodyさん :2011/03/10(木) 21:25:15.97 ID:kXpKnSNr
if (!mb_ereg_match("[あ-ん]", $_POST['body'])) { } スパム対策で紹介されてたコードなのですが これをやると mbregex compile err: empty range in char class とエラーがでてしまいます。 どうしたらいいでしょうか
紹介されてたとこ行って見直してこい なんか使い方違わないか?
ereg系は使うな!!!!!!!!!!!!!!!!!!!!
808 :
805 :2011/03/10(木) 21:50:43.07 ID:kXpKnSNr
mbregex compile err: empty range in char classはファイルのエンコードが問題
だったみたいです。すみません
>>806 サイト見たところコメ欄に
"[あ-ん]"だと"aあ"にマッチしない。
".*[あ-ん]"が良いかと。
これでいけそうです
>>807 この場合何を使ったらいいのでしょうか?
ereg が erogeに見えた……
>>808 preg_match("/[あ-ん]/u",$_POST['body'])
811 :
805 :2011/03/10(木) 21:58:10.60 ID:kXpKnSNr
>>803 1)メール送信に1秒くらいかかるのは普通だと思う
2)お好きなのをどうぞ
・失敗画面にIFRAME等を入れて、そこからメール送信用のPHPをキックする
・失敗時にsystem関数等で、メール送信用PHPをキックする(コマンドの最後に & を付ける等)
予期しない事態が発生してエラーメールが1万通とか送信されると、そのせいで
更に別のエラーを併発したりするから、ちゃんとエラーログも取って、
前回メール送信日時も記録して、連続メール送信しちゃわない仕組みも作ったほうがいいよ
エロゲ とか あ〜ん とか おまいらときたらwww
mb_ereg系 と ereg は別だろ mb_ereg系は鬼車エンジン使ってるから日本語には特に強いよ
>>812 おおお、詳しい説明ありがとうございます。
後半部分の不測の事態への対処は全く思いつきませんでした
>>814 さんの教えてくれたマルチスレッドという言葉で深く調べてみます
ありがとうございました
817 :
nobodyさん :2011/03/11(金) 02:36:54.34 ID:OVVBlA4o
UTF-8で動く、クエリで検索するようなスクリプトを携帯サイトで使いたかったから 文字コードをshift_jisに変えたら検索結果が表示されなくなったんだけどなんで??!!!! だれか・・・・ たすけ・・て・・・
shift_jisってことはmetaタグを修正しただけ?
819 :
nobodyさん :2011/03/11(金) 03:06:49.81 ID:OVVBlA4o
Shift_JISにしたところは ・header("Content-type:text/html;charset=UTF-8"); と ・<META http-equiv="content-type" content="text/html; charset=UTF-8"> と ・メモ帳の保存の時にやるやつの3つでございます。 なんだかハマる予感・・・・・・
820 :
nobodyさん :2011/03/11(金) 03:37:54.53 ID:6MwNb/os
php.iniはどうしているの?
822 :
nobodyさん :2011/03/11(金) 03:54:12.57 ID:IlAlNUuL
ID出し忘れました申し訳ありません。 よろしくお願いします
先頭でUTF-8といえばそりゃBOMだわ
参考までに言っとくが、Unicode使うときはメモ帳はやめとけよ
>>815 mb_eregは信用するな!!!!!!!!!!!!!!!!!!!
preg_matchを使え!!!!!!!!!!!!!!!!!!!!!!!!!!!!
mb_eregはphp5以後でmb_regex_encoding()必須 preg_matchはphp4.3以後でutf8のみで u必須
827 :
nobodyさん :2011/03/11(金) 17:46:23.58 ID:jrS3dCkh
そんなこと質問してる場合じゃないだろ 大地震起きてんだぞ 東北関東の人大丈夫か???
cryptって一方向でしょ
>>827 "mcrypt パディング"
が有名処だな
地震?あぁTVで何かやってたけど俺には関係ないし 外国の出来事と一緒だな
━━ お知らせ ━━ 質問への回答を暫し中止します。 ━━━━━━━━━━ 東日本太平洋沖地震で多数の被災者が出ています。 また福島原発では放射能漏れの話も出ています。 つきましては事態の状況を静観することを優先し、しばらくの間は質問への回答を中止します。 スレに個人の考えを書き込む『個』よりは『公』を優先します。 現在の状況では『個』人の考え優先せず、被災者を救うと共に被災者を増やさない、『公』を優先する考えです。 ご理解願います。 ━━━━━━━━━━
荒らしは無視するように
>>832 みたいに自分に関係ないのに善人面してる奴見ると吐き気がする
『個』よりは『公』を優先ってのは個人の人権より国家体制を優先するっていう 中国共産党の考え方と同じだな そんなものに理解も賛同もできねぇっつーの
無視するんじゃなかったのかw どっかのサイトのコピペだろ
まぁこのスレ見てる連中は暖かい部屋でヌクヌクしてる奴だろうからな。 TV見て大変だ〜とか言ってるだけ。 所詮は他人事。
お好きにどうぞ IDが出ないからと安心していると足元をすくわれるよ
福島原発は爆発しました
ID出たって一緒。 海外で災害が起こっても自分に関係無ければ知らん顔だろ。 国内だって同じこと。
日本の原発で建屋爆発とかあり得ないんですけど
日本の国鉄で車輌が行方不明とかあり得ないんですけど
く、国鉄?!
843 :
nobodyさん :2011/03/12(土) 19:54:21.62 ID:rS8Ui3A/
まあそのサーバーに負荷がかからないようにするためじゃないの? ニュース板落ちたという話もきいたし、ここの板結構荒れるからな。 ID出す出さないで。
ここの板がID出す出さないで荒れるの?
AjaxかPHPかで荒れることはあるがIDで荒れるのは聞いたことないよ ID出すかどうかは自由だっていうルールだったはず
>>1 ◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
>>1 ◆質問する時の注意
・ 出来るだけスレを上げて自分のIDを表示させること。
>>848 いまさら
>>1 見てきたとか素人かよ
前スレ・前々スレ等でさんざん議論されたこと。
>>1 のテンプレは荒らしが勝手に書いたことなので気にしなくていい
もういいよ 地震のニュースばっかり もう飽きた うんざりする バリエティ番組 が見たい
>>849 必死過ぎて笑える
リアルでも空気が読めないと言われないか?
そんな性格だから、嫌われるんだよ。
いいえ必須ではなく努力事項です 仮に必須とされていたとしても、出さない場合の制約や罰則が存在しない以上 拘束力に乏しく実効性の無いルールです
断る。 自分が気に入らないからといって他のスレへ誘導して排除しようとするのは差別である。 気に入らないのなら自分が別のスレへ行けばいい。
まあ荒れる原因のひとつは856みたいな煽りだよな
859 :
nobodyさん :2011/03/13(日) 16:38:55.61 ID:sfbM1J+z
お前らどっちも 節電のためPC落とすんだ
PCの電源を落とすよりもUPSの電源を落とした方が効果的です。 携帯の電源も切れば完璧ですね。
UPSの電源を落とす。 PCの電源を落とす。 冷蔵庫の電源を落とす。 家中の電源を落とす。 携帯の電源を切る。 これで完璧!
>>857-858 はじめから、ID云々についてなにも咎めていなければ
スレが分裂することも無かったと思うんだが・・・・
正確にいつからかは覚えてないけど、昔から質問者の成りすましなどのトラブルを回避するために
このスレはそういうルールでやってきたと記憶してる('A`)
新参や古参を区別するんじゃなくて、質問者にきちんと伝わったかが不安になるだけ
時代に迎合して、時代の価値観に合わせて流動的に対応するべきかもしれないが
ID無用でやってしまうと、場合によっては無知なばか者に「悪さ」や「実力に見合わないスクリプト」を教えてしまう危険性がある
おまいらは、その恐ろしさを知らない連中じゃないだろ?
※PCやOSが変わって俺の手元には過去スレは無いがgoogle先生に頼んでみるといいと思う
ttp://www2.atpages.jp/mirror/2ch/php/php/read.php/1149710968/ の
>>321 あたりから読んでみるといい
そういえば、、、PHP「本スレいけ」とか「くだすれいけ」とかいってたなぁ('A`)(しんみり
だから当時みたいに、「ID出して」とか「IDださず」のどっちでもいいけどそんな感じの住み分けでいいんじゃねーの
865 :
nobodyさん :2011/03/13(日) 17:03:57.81 ID:sfbM1J+z
どこのスレもこんな話題でもめてるのか?
>>865 質問する奴がID出すってルールだったろ
何でお前がID出してんだよ
それに
>>863 は質問じゃねぇんだからID出す必要ねぇだろうが
俺はID出さない派なんでそこんとこよろしく
荒れるとID出す出さないでもめたりはするけど、最初からID出す出さないでもめてるってのは珍しいかもだね。
869 :
nobodyさん :2011/03/13(日) 18:20:34.08 ID:sfbM1J+z
870 :
nobodyさん :2011/03/13(日) 18:23:32.47 ID:Jtim/Mf0
なにか揉めてますが 質問させてください DBから取ってきた文字列の先頭にBOMがはいってるようで 一文字目が文字化けしてしまいます この対策ってどうすればいいですか?
本当にそれはBOMなのか? はいっているようで、ではなくはっきりさせてくれ
872 :
nobodyさん :2011/03/13(日) 18:28:22.59 ID:Jtim/Mf0
>>871 はっきりさせるにはどうすればいいですか?orz
表示されている文字は化けているのですが
ソースコードを読んだり、コピペすると化けていません
バイト列を調べる
echo bin2hex(substr($string, 0, 10)); こんなことやれ
>>869 > ここでは平等・公平に満遍なく全員がIDを出す事によって
勝手なルール作ってんじゃねぇよwww
ID出したきゃ一人でやってろ
他人に押し付けるんじゃねぇ
876 :
。 :2011/03/13(日) 18:49:15.48 ID:???
3文字消せ $str = pack ("C*", 0xEF,0xBB,0xBF) . "test"; if (ord($str{0}) == 0xef && ord($str{1}) == 0xbb && ord($str{2}) == 0xbf) { $str = substr($str, 3); } print $str;
BOMは何種類もある
そうだね。50種類くらいはあるよね。
で、どうなったんだ?
>>869 よお!久しぶりだな回答者にID出せ厨
お前のせいでそのスレできたんだから責任とってそっち盛り上げてろ
881 :
nobodyさん :2011/03/14(月) 07:38:12.10 ID:7ifkiLcC
>このスレに書き込むならIDを出せと言っているのです このスレは俺の物(キリッ
いまそれどころじゃねえよ!!!!!!!!!!
関東民なら近くのスーパー行って来い アイスと洗剤と電球以外マジで何ひとつ棚に残ってねーから んなときにくだらん争いしてんじゃねーよ
関東民じゃないんだろ まぁ関東民首都圏内なら心配するに値しない 臨界事故ではないんだから
関東民ってなんだよ(爆) 関東人って言えよ(笑) 関西人なら言うけど関西民なんていわねえだろ(笑)(笑)(笑)
どうでもいいけど、関東民も関東人も大して変わらないんじゃないの
なにスレかもうわかんねーなここ
>>886 そりゃ関西人は日本人とは別の人種だからさ
だから関東は民で正しい
いやいや関西が人なんだから関東もそれに対抗しないとw
停電するなら当初の予定通りやれよ やるやる詐欺かよ
はげしくスレ間違ってるぞ
これまで沢山の質問を書き込みし、自分の質問に対して回答を書き込んできました。 このスレに入ってからも既に約50個の質問を行いました。 また、IDを表示する、しない、で自分同士で争ったことも数知れません。 勢いで隔離スレまで立ち上げてしまいましたが、そちらのメンテはもう行っていません。 スレの勢いが落ちるとAjax厨という新しい人格を創造したりもしました。 これらのことは、全てこのスレを盛り上げるために行ってきたことですが、 次第に自分の行ってきたことを空しく感じるようになってきました。 苦労してこのスレを盛り上げても、誰かの役に立っているという実感があまり得られないからです。 そのようなわけで、本日より当面の間、お休みをいただくことにします。 特に名乗ることはいたしませんが、このスレが寂しくなったときは 私のことを思い出していただければ幸甚です。 皆様、今までお付き合い頂きまして誠にありがとうございました。 またどこかでお会いできる日を楽しみにしております。
echo echo って書いたらさぁ。。 ((((;゚Д゚))))ガクガクブルブル
実行してみた Parse error: syntax error, unexpected T_ECHO in Command line code on line 1
1日目 ・・・ __ __ __ __ .| l::::l│ | l l│ | l l│ | l l│ .┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷ 1号機 2号機 3号機 4号機 2日目 . /| ・・・ |/.__煤Q_ __ 煤Q_ ハーイ>ヽ| l l│ |l l ;│ .| l;;;;l│ ..|l l ;│ .┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷ 1号機 2号機 3号機 4号機 3日目 \ ハーイ / . /| ・・・ /| |/__ __ |/__ 煤Q_ .ヽ| l l│ .| l::::l│ヽ| l l│ ..|l l ;│ .┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷ 1号機 2号機 3号機 4号機 4日目 (;;⌒ ;;⌒) . /| ;;;; (⌒;; ;; |/__ ;;_ |(:: ) ,;;) __ ハーイ>ヽ| l l│ | l l│(;| 0 0 :;) | l l│ . . . ┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷ 1号機 2号機 3号機 4号機
いやそこはヌコ注意だろ
>>900 それは現地で許可をとってから垂れ流してる
住民は個人情報を垂れ流してでも連絡とりたいと思ってるから
問題はエロサイトとかスパマーが悪用することだね
こいつらは人間じゃない
今も迷惑メール送り続けてるし
国家反逆罪で死刑にしてほしいレベル
早く迷惑メール業者を厳罰にする(罰金億単位&懲役10年以上)法整備が必要だ
>>901 Googleのスタンスとしては現地管理者の許可を取って、という形にしてるが、
本当に許可を得てるかどうかは検証できないし、そもそも名簿の掲載されてる人達
一人ひとりの許可を得てるとは考えられない
今は災害時だから許されるかもしれないが、一度ネットに流出した情報は消えないから
将来悪用されないことを願うしかない
> 問題はエロサイトとかスパマーが悪用すること
事実そのとおりなんだが、その考え方では危機管理が無さ過ぎる
個人情報を悪用する人はもちろん責められるべきだが、
個人情報を流出させた側が責められるのはそういった危機管理の欠如によるもの
>>902 それは「ゆとり」がるからこその考え方だと思う
緊急を要する時にその価値観が専攻するということは当事者じゃないということは分かるが・・・
「パーソナルデータ」に固執するあまり「パーソナル」を失っては元も子もない
と思う。
被災された方々には不謹慎なたとえかもしれないが
公表されてしまったのデータはあくまで「現状 or それ以前」のパーソナルを特定する指標でしかなく
以降・未来については、TVで現状を鑑みる限り「区画や資産整備・整理」などで多少、変わってくると予想できる
ただし、それらを保守する役割を負うのは俺たちだと自負し誇りとして今後活動したい
と思った('A`)
>>903 緊急性を鑑みて情報を公開するとしてもそのレベルを考慮すべきだと言ってるのです。
公開された写真を見ればわかりますが、氏名・年齢・住所の詳細が公開されている人が多数います。
(家が無くなった方もいるでしょうが、それはそれとして)
せめて住所は大字・町名までの公開とし、番地は伏せるなどの配慮が欲しいものです。
これは写真をアップする人が写真を撮る際に番地が写らないように配慮するか、
番地部分を削除するなど事前に写真を加工してアップするのが望ましいのですが、
現地にいる方は被災者である可能性もたかく、そこまで求めるのは現実的ではないでしょうから、
サイトの管理者であるGoogleが配慮して加工を行うなどの仕組みを作るべきです。
現状のGoogleの姿勢は、仕方が無い面もあるとはいえ、無責任かと思います。(まぁGoogleですから)
被災者ではなく「ゆとり」があるからこそ、現地の方の及ばない、そういった配慮をするべきでしょう。
自転車に住所氏名電話番号をデカデカと書くような地域で何言ってんだ どうでもいいけど、いいかげんスレ違い
> 自転車に住所氏名電話番号をデカデカと書くような地域 自ら公開するのと他者に公開されるのとでは事情が全くことなるでしょう
さぁて関東民はそろそろ覚悟していいレベルの情報が入りつつあるわけだが PHPで原発を修正するプログラムを提供してください
おーいここ何スレだよ
>>907 俺は東京民だが明日から実家九州に逃げるわ
>>907 丸投げはご遠慮ください
まずは自分でプログラムを組んでみて、わからないところを質問するようにしてください
910 :
nobodyさん :2011/03/15(火) 14:15:44.22 ID:q8Z0suNm
$doc = new DomDocument;
$doc->validateOnParse = true;
$doc->loadXML('<?xml version="1.0" encoding="UTF-8"?><root><h1 id="title">bug</h1></root>');
$ele = $doc->getElementById('clear');
var_dump($ele); // NULL になる
CentOS + PHP 5.1.6, Windows XP Home SP3 + PHP 5.3.5 どちらでも同じ結果になります。
納得できないのですが、これはバグなのでしょうか?
一応、
http://hextomino.tsukuba.ch/e19635.html の関数で対応できては居ますが…
getElementById('clear'); ではなく、 getElementById('title'); の間違いです。
>この関数を動作させるには、何らかの ID 属性を DOMElement::setIdAttribute で設定するか、 >あるいは DTD で ID 型の属性を定義する必要があります。 >後者の場合は、 DOMDocument::validate あるいは >DOMDocument->validateOnParse を使用してドキュメントを検証する必要があります。
ありがとうございます。見落としていました。。
914 :
nobodyさん :2011/03/15(火) 18:44:15.32 ID:y1Yb6LvE
初歩的な質問ですみません マッチ文のとき $abc = "abc"; preg_match("/$abc[^xyz]*/iU", $str) という形式で書きたいのですが、$abc[ が変数の配列と認識されエラーが出ます 要は $変数[文字クラス] と並べて書きたいのですが… どうすればエラー避けられるでしょうか。
おっぱいカッコってテンプレに書いてあったような
916 :
nobodyさん :2011/03/15(火) 18:55:19.98 ID:y1Yb6LvE
おおう
>>4 にありましたねorz
迅速なレスありがとうございました!
避難所ってあれか。ニートの俺が行けばただで飯を食えるのか。
動きません、どこが間違ってますか? <?php header('Content-type: text/html; charset=UTF-8'); ?> <?php $img_name = $_FILES["img_path"]["name"]; $img_size = $_FILES["img_path"]["size"]; $img_type = $_FILES["img_path"]["type"]; $img_tmp = $_FILES["img_path"]["tmp_name"]; if($_REQUEST["up"] != ""){ if($img_tmp != "" and $img_size <= 30000){ $img_message = "名前は: $img_name <br>サイズは: $img_size <br>MIMEタイプは: $img_type <br>一時的に保存されているパスは: $img_tmp <br>"; }else{ $size_error = "サイズが大きすぎます。ファイルサイズは30キロバイト以下です。";}} ?><html><head> <title>画像アップロード</title></head><body><h1>画像アップロード</h1>(サイズは30キロバイト以下) <form name="form" action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST" ENCTYPE="MULTIPART/FORM-DATA"><input name="img_path" type="file" size="40"><input name="up" type="submit" value="アップロード"><hr> <font color="#FF0000"><strong><?= $size_error ?></font></strong><?= $img_message ?></form></body></html>
920 :
nobodyさん :2011/03/15(火) 22:59:58.95 ID:3Mzf6LpV
動きません、どこが間違ってますか? <?php header('Content-type: text/html; charset=UTF-8'); ?> <?php $img_name = $_FILES["img_path"]["name"]; $img_size = $_FILES["img_path"]["size"]; $img_type = $_FILES["img_path"]["type"]; $img_tmp = $_FILES["img_path"]["tmp_name"]; if($_REQUEST["up"] != ""){ if($img_tmp != "" and $img_size <= 30000){ $img_message = "名前は: $img_name <br>サイズは: $img_size <br>MIMEタイプは: $img_type <br>一時的に保存されているパスは: $img_tmp <br>"; }else{ $size_error = "サイズが大きすぎます。ファイルサイズは30キロバイト以下です。";}} ?><html><head> <title>画像アップロード</title></head><body><h1>画像アップロード</h1>(サイズは30キロバイト以下) <form name="form" action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST" ENCTYPE="MULTIPART/FORM-DATA"><input name="img_path" type="file" size="40"><input name="up" type="submit" value="アップロード"><hr> <font color="#FF0000"><strong><?= $size_error ?></font></strong><?= $img_message ?></form></body></html>
short_tagが有効になってないんじゃないの?
922 :
nobodyさん :2011/03/15(火) 23:20:48.26 ID:3Mzf6LpV
少しはググれ
>>922 ゆう‐こう〔イウカウ〕【有効】[名・形動] 1 ききめのあること。効力をもっていること。また、そのさま。
ちょっとはググれ
925 :
nobodyさん :2011/03/15(火) 23:26:17.29 ID:3Mzf6LpV
<font color="#FF0000"><strong><?php echo $size_error ?></font></strong><?php echo $img_message ?> に書き直すと動きました。ありがとうございました。
いいってことよ。
タグの順序を見直しました。 <strong><font color="#FF0000"><?php echo $size_error ?></font><?php echo $img_message ?></strong>
間違えました。 <font color="#FF0000"><?php echo $size_error ?><strong></font><?php echo $img_message ?></strong>
間違えました。 <strong><font color="#FF0000"><?php echo $size_error ?></strong><?php echo $img_message ?></font>
福島の原発だっけ?あれ何が危険なのかさっぱりわからん。 放射能って電子レンジの原理と一緒だから触れると熱いわけだろ? 原発は基本的に安全なわけだから、気を付けて対処すれば簡単に解決できるはず。
釣りなのか狂気なのか判別しがたい
↑は間違えました。
>>928-930 だから、あれほどIDだせと(ry
これが、本人ひとりだけならもう少し勉強した方がいい
936 :
nobodyさん :2011/03/16(水) 10:59:40.35 ID:VyqSqQO8
937 :
nobodyさん :2011/03/16(水) 14:04:44.13 ID:sVp7L7y7
実行結果を これはグローバル変数。$a=>1これはローカル変数。10 という感じにしたくて、 $a = 1; $glob = <<< Stop これはグローバル変数。 Stop; print($glob); print_r($a); $local = <<< Stop これはローカル変数。 Stop; function loc(){ print($a+10); } print($local); loc(); と、書いたところ、 Parse error: syntax error, unexpected $end in /export/sd201/www/jp/r/e/gmoserver/4/3/sd0180843/伏せさせてください.com/php/globlocal.php on line 28 と、エラーが出てしまいます。 どう云うエラーなのか調べ、最後の数の列を見ればいいと云う事で見てみましたが、 28行目はPHPの終わりで、?>と書いているので間違えないです。 なにがおかしいのでしょうか? 改行が多すぎますと出てしまうので、プログラムの改行は全部消しています。 見にくいでしょうが、どうか教えていただきたいです。
どっちもグローバル変数やん 変なスクリプトかかんでくだし まぁ単純な構文ミスでしょう なんか閉じてなかったり line28って書いてても28に原因があるとは限らない 直前の27に原因があるときもある
939 :
nobodyさん :2011/03/16(水) 14:17:24.64 ID:sVp7L7y7
>>938 お早い回答ありがとうございます。
どちらもグローバルですか
自分の理解では、ユーザー定義関数の中にある$aがローカル変数で、その外にある$aがグローバル関数と思っていましたが、どうやら違うようですね。
もう一回見直してみます。
line28とかいてあっても28行目にミスがあるとは限らないのですね。
覚えておきます。
940 :
nobodyさん :2011/03/16(水) 14:18:21.52 ID:sVp7L7y7
>>939 グローバル関数はミスです。
グローバル変数でした、すいません。
>自分の理解では、ユーザー定義関数の中にある$aがローカル変数で、その外にある$aがグローバル関数と思っていましたが、どうやら違うようですね。 ・ユーザ定義関数の中にある$aはローカル変数 ・ユーザ定義関数の外にあるグローバル領域にある$aはグローバル変数 <?php $a = "GLOBAL"; function hoge() { $a = "LOCAL"; }
942 :
nobodyさん :2011/03/16(水) 14:44:09.64 ID:sVp7L7y7
>>941 どうやら理解していたものすべてが間違えではなかったようですね。
ユーザー定義関数のなかで$aを宣言してませんでした。
こんな簡単な事で質問してしまって恥ずかしいです。
Stop;の前にスペースとかタブがあるんだろう。
944 :
nobodyさん :2011/03/16(水) 14:56:23.80 ID:sVp7L7y7
>>943 確かにスペースが入ってしまっていました。
よくわかりましたねー
あの文面だけでエラーの原因が分かるくらいに、早く書けるようになってみたいです。
凄いです。
946 :
nobodyさん :2011/03/16(水) 15:06:34.62 ID:sVp7L7y7
>>945 PHPでもIDEって使えるんですね
初めて知りました。
EclipseさんはJavaで遊んでた時にお世話になりました。
ただ重すぎたので若干使いにくかったですが。
紹介ありがとうございました
なんで誰も「関数の中でグローバル宣言しろ」って言わないの? 的外れな回答が多すぎじゃね?
そんな的外れな回答は誰もしない
949 :
nobodyさん :2011/03/16(水) 19:41:11.26 ID:+YmrU8Io
AB-1234 という文字列があります。 ereg('^[0-9a-zA-Z\-_]+$', $var) preg_match('/^[0-9a-zA-Z\-_]$/', $var) eregならfalseなのにpreg_matchならint(1)でした なんでeregではマッチしないのでしょうか
eregを使うな!eregを!
^[0-9a-zA-Z_-]+$ ならいける \ が無視されてるっぽいが、\ の数を増やしても駄目だ 文字クラス内の \ は無視されるのかも
952 :
nobodyさん :2011/03/16(水) 19:57:05.72 ID:+YmrU8Io
eregは非推奨なのはわかっているんだが 既存システムの改修でeregばっかりなんだよな・・・。 eregの返りはbooleanだけど、preg_matchはintだよね preg_matchのbooleanで返すような関数はなかったはず・・・。 このままpreg_matchに置き換えていいのだろうか・・・。
返り値だけじゃなくて挙動がちがうだろ
954 :
951 :2011/03/16(水) 20:02:02.41 ID:???
かと思ったが、 0\-9 にするとマッチしないな
ブランチ切ってリファクタ その後単体テストしてチェック これだけの作業だろ 10分とかからん
956 :
nobodyさん :2011/03/16(水) 20:04:30.78 ID:+YmrU8Io
ぶっちゃけereg使ったことないから戸惑ってるwwww
957 :
nobodyさん :2011/03/16(水) 20:06:39.40 ID:+YmrU8Io
ごめん、ハイフンが途中に入ると前後のつながりと認識するのか なので、ハイフンは最後に持っていかないといけない・・・。 糞すぎだろwwwwww
そんなに自分のことを卑下するな
eregの仕様。 文字クラス[]の中で\をエスケープに使えない。
960 :
nobodyさん :2011/03/16(水) 20:34:20.91 ID:m4Ly9hX8
strip_tags() は HTML の検証を行わないため、 不完全または壊れたタグにより予想以上に多くのテキスト/データが削除される可能性があります。 とマニュアルに書いてありました 信頼できる削除方法はどのようにおこなうのでしょうか?
substr
962 :
nobodyさん :2011/03/16(水) 21:41:08.19 ID:D9lf6w/e
$a = array(1,2); $a = 3; print_r($a); $aが配列ではなく変数になるのは何故ですか?
配列も変数だけど 配列型から数値型になることを言ってんの?
965 :
nobodyさん :2011/03/16(水) 21:45:04.69 ID:D9lf6w/e
pythonだと配列(1,2,3)ってなりますがphpだと配列じゃなくて3ってなります
pythonってそれで3になんの? 何の関数も無しに? phpだと $a = array(1,2); $a[] = 3; だな $a = 3; だと単純に$aが3に上書きされるだけだ
pythonのタプルは変更できないはずですが
python詳しく学んだ事ないけど、一旦配列になっちまうと、=がpushにオーバーライドされちまうって事かねぇ?
>>968 今度はphpがこわいw
970 :
nobodyさん :2011/03/16(水) 22:51:04.68 ID:adcE4q5D
$ary = array("aci","aiwr","bdfwg","iwde","aofir"); 配列をaから始まる値のみにしぼりたいのですがかっこいい方法ありますでしょうか?
>>970 面白そうな課題だ。かっこよくないのしか思いつかないな。
あっらy_ふぃlてr
<?php $ary = array("aci","aiwr","bdfwg","iwde","aofir"); $ary = array_filter($ary, function($v){return $v[0]=="a";}); var_dump($ary);
わずか9分で分かるとかどんだけお前らすごいんだよw
975 :
nobodyさん :2011/03/16(水) 23:09:20.70 ID:adcE4q5D
ありがとうございます
976 :
nobodyさん :2011/03/17(木) 00:17:20.38 ID:QD+4v//O
SimpleXMLElement Object
(
[@attributes] => Array
(
[href] =>
http://example.com/foo.htm [title] => あしたの予定
)
)
こんな構造の'href'にアクセスしたいんですが、
$obj->@attributes['href']としてもコケます。
どすればいいでしょう?
$obj->attributes['href']
978 :
。 :2011/03/17(木) 00:23:53.39 ID:???
$obj->attributes()->href じゃなかったっけ
979 :
976 :2011/03/17(木) 00:33:12.49 ID:QD+4v//O
>>978 なんで()なんか使うんだ・・・と思ってやってみたら
ほんとにアクセスできました(笑)
ありがとございます!
スーパーに行っても何も無いんだけど・・・ 何かあった???
新ヌレ建てる
>>980 $zaiko = 10;
$nyuka = 0;
$kaidame = 10;
echo $zaiko + $nyuka - $kaidame;
0
>>980 $zaiko = 200;
$nyuka = 10;
$kaidame = 30;
while(1) {
$zaiko -= $nyuka;
$zaiko -= $kaidame;
echo $zaiko . "<br />\n";
$zaiko>0 OR die('game over');
}
間違い探し
ださ
事実だろ
放水、届かなくて中止wwww
<?php $v = 50; $theta = 60; $genshiroh = 100; $a = 9.8; $vy = $v*sin(deg2rad($theta)); $t = $vy/$a; $maxh = 1/2*$t*$vy; //$vy*$t - 1/2*$a*$t*$t; echo ($maxh >= $genshiroh) ? '届きました。' : '届きませんでした。'; echo "<br>\n最高到達点は".round($maxh, 2).'mです。'; ?>
日本語おk
北京語おk
日本人的PHP程序編制員只有白痴
乙
雌
梅
997
998
999
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。