【PHP】下らねぇ質問はID出して書き込みやがれ 106
質問者はまず
>>1 を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/ ◆質問用テンプレ
【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 >>2 >>7 >>9 >>10 でおしまい
後は荒らしなのでスルー推奨
---------------------------------
ああ、、FAQループしてんのか
なんか最近荒らしが定着しちゃったから、 そろそろテンプレ議論したほうがいいかもな。 過去ログは最近の10件までという但し書きと、 QA手直しと。 後誰かこいつ通報しといてくれ。
110番でいい?
こういうタイプは掲示板でバカにされたとかキレだして リアルに飛び出して犯罪を犯すから触らないのが吉
>>20 お前の仕業だろw
通報するって言われてビビってんじゃねよ
getやpostにURLエンコードされた値(%24みたいなの)が渡された時 自動的にデコードして扱うのが標準設定だと思いますが このデコードを無効化するにはどうしたらよいのでしょうか
テンプレに過去ログはいりませんね
どうでもいい
26 :
nobodyさん :2011/04/30(土) 04:40:23.52 ID:IqJNSG7U
動きません、何故ですか? <?php require_once('notelib.php'); $id = specialchars($_GET['id']); $title = specialchars($_GET['title']); $desc = specialchars($_GET['desc']); $action = $_GET['action']; if($action == "create"){ insertNote("新規メモ",""); }else if($action == "delete"){ deleteNote($id); }else if($action == "update"){ updateNote($id,$title,$desc); } header("Content-Type:application/json"); #Apacheなどで動作させる場合は以下の2行の処理が必要です。(理由はP117コラムを参照してください。) header("Cache-Control:no-cache, no-store"); header("Pragma:no-cache"); print json_encode(readNotes()); ?>
27 :
nobodyさん :2011/04/30(土) 04:42:04.78 ID:epnEFXsk
parse error を set_error_handler で取得して メールで送信できますか?
エラーの内容って何でしょうか
>>29 動きませんってエラーが出て動かないってことじゃないの
そもそも動きませんだけじゃ意味不明
◯◯したいんだけど動きませんって書け
32 :
nobodyさん :2011/04/30(土) 12:42:38.39 ID:RGQH9zD5
a.phpのフォームに文字列を入力してb.phpにPOST送信するとファイルに書き込むのですが 外部プログラムなどで直接b.phpにPOST送信された場合でも書き込めてしまいます 自分のサイトのa.phpからしか書き込めないようにする方法はございますでしょうか?
>>32 1.a.phpからのリファラかで判断する(手軽だがブラウザがリファラをごまかしてる場合信用できない)
2.Webサーバ側で制御する(Apacheの.htaccessでb.phpに直接アクセスしてきたら403を返すようルールを書く)
3.セッションを使用する
上からお手軽な順番
セッションの扱い方がわからないのであれば2が手軽でお勧め
<Files b.php>
Order allow,deny
Deny from all
</Files>
1も2も原理的には同じでは? =とりあえずのやっつけ対処
よく見てなかった その.htaccess の書き方じゃ誰もアクセスできないんじゃ?
36 :
nobodyさん :2011/04/30(土) 13:52:13.20 ID:2gWvBqG+
PHPだけの範囲じゃないのですが、携帯メールから写真投稿するサービスで、 投稿者の特定をしなきゃいけないとき(つまり会員ユーザ情報とそのメールのひも付けが必要なとき) どんな方法がありますか? mixiのメールで写真投稿機能をみると、送信先アドレスの@の左側がそのつどか会員ユーザごとにユニークになってるようです。 サーバでいちいち受信専用ユーザを生成してるんでしょうか? 他にプログラム的に簡単に解決できる方法ないでしょうか? 自分が考えたのはメール本文にツイッターのハッシュタグ#adgjmみたいなのを埋め込む方法ですが、 これだとユーザの文章に入力制限してしまうので良くないし… わかりにくかったらすみません、ご意見お願いします
>>35 >誰もアクセスできないんじゃ?
ダイレクトアクセスを禁止するのだからあたり前
内部(a.php)からはアクセス可能なんだから問題ないでしょ
どうやってアクセスするんだ? 32の言ってるのはそうじゃないと思うぞ? 自分で管理しているコンテンツのa.phpに有るフォームタグ以外からの POSTデータをb.phpではうけつたくないって事じゃないの? a.phpが内部的にアクセス?? どうやって処理するんだ??
>>36 - MTA側で仮想メールボックスを設定する
- メールヘッダの From で識別(ユーザーに登録しておいてもらう)
- メール受信後にログインURL(写真ID付き)を送り返してログインしたユーザーに紐付ける
>>36 僕はMTAをqmail + vpopmail でやっとりますが
.qamil-default ってデフォルトの転送設定のファイルでPHPへ渡すように
設定しています。
これだとメールアドレス作る必要ないっす。@より左側なにがきてもプログラム直行です。
多分他のMTAでも同様の事ができると思います。
もし、MTAの設定いじれない環境であれば、
受信アドレスは1つで題名か、本文にユニーク文字列いれるしか
なさげですねー
41 :
nobodyさん :2011/04/30(土) 15:06:09.64 ID:1KNACA+K
microtime(true)を年/月/日 時:分:秒:ミリに直す方法をご教示お願いします
44 :
nobodyさん :2011/04/30(土) 16:12:04.37 ID:1KNACA+K
そのサイトのは引数にtrueを使ってないのです。。。
46 :
nobodyさん :2011/04/30(土) 16:21:58.10 ID:VjUSuvQS
47 :
nobodyさん :2011/04/30(土) 19:19:59.61 ID:2gWvBqG+
>>39 なるほど、そういうやり方もありますね
それだと写真投稿の機能があるコーナーごとに受信用ユーザを一つ追加するわけですね
ありがとうございました
>>41 へ〜、スゴい!MTAにそういう機能があるんですか
いちいちPHPからLinuxのコマンド叩いてユーザの生成と削除を繰り返してるのかと思いました
ユーザが写真つきメールを送って反映されるまでのフローは以下の感じですか?
1)ページの生成
2)「写真つきでつぶやく」のリンクさきのメールアドレスの@の左側を生成、同時にユーザIDと一緒にDB登録
3)ユーザがリンクを踏んで写真つけて投稿
4)MTAが判別してPHPに転送
5)PHPで受信ユーザ名をキーにDBから投稿者と投稿先コーナーを判別
6)画像アップロードと判別したコーナー用のDBテーブルにメールの本文を登録
48 :
41 :2011/04/30(土) 20:46:37.49 ID:???
>>47 大体そんなのは有効期限もあるだろうし
いちいちDBたたくと重いので必要な情報をシリアライスしてファイルに保管
ファイル名をその@より左側の名前にして保管
メールが届いたときの処理でファイルの有効期限をみて古いのは削除
てなかんじでやっとる。
完全に個人レベルのことなのでセキュリティ上穴があれば逆におせーてください
もちろんシリアライズして保管したファイルはアパッチ経由では見えないようにしてマフ
>>50 ファイル名をその@より左側? ダブらない? /のあるアドレスは?
このメールで写真投稿のプログラムって、雛型というか定番的なやり方ってないのかね あちこちで見るアプリなのにPHP本のどれ見ても載ってない 一つだけあるフリーのプログラムは送信先アドレスが固定だし
送信先が固定だといやなの? 送信元偽装のことを懸念してるのかな
55 :
nobodyさん :2011/05/01(日) 10:09:11.05 ID:bPOt3NaS
送信先が固定ってことは登録するコーナー(ページ・記事)を指定や判別することができないのではと思って…
送信者なら会員制サービスなら管理情報中のメアドとひも付けて判別できるけど
でも
>>50 さんのやり方でクリアできそう、勉強になりました
56 :
nobodyさん :2011/05/01(日) 10:21:52.33 ID:NAUjlBwC
テキストファイルの更新日時を監視して、更新されてたら追記内容のみを取得する方法がわかりません ファイルが更新されたときはファイルサイズが増える時なので減ることはありません 一時間前の内容のテキストファイル aaa bbb ccc 最新の内容のテキストファイル aaa bbb ccc ddd eee としたらdddとeeeを取得したいのです
前回どこまで取得したかをどこかで記憶してなきゃ無理だろ 前回取得したとこを記憶しとけば そこにfseekして残りとればいいだけだ
logwatchをつかうとか。
回答の質 Rubyスレ>=Perlスレ>C#スレ>ちょっとだけど超えられない壁Python>超えられない壁ver2.0>PHP
質問者の質も検証して欲しいもんだ
反応しないでスルーしろよ
62 :
nobodyさん :2011/05/01(日) 19:02:06.70 ID:T9QxoKbD
>>62 PHPじゃ無理
セッションで紐付けしといてもセッションタイムアウトまで待たないと分からないし
JavaScriptでonunload時にリクエスト送れば可能だけど
JavaScript切ってたら意味ないし正確性に欠ける
そもそもHTTPはそういうもんなので他のプロトコル使うか
プッシュ型に対応してるWebサーバが必要
http://ja.wikipedia.org/wiki/Comet
64 :
nobodyさん :2011/05/02(月) 01:39:54.28 ID:3Vwa/PSh
PHP+javascriptでAjaxのサンプルが Apacheだと動かないのにAN HTTPDでは動く といったサンプルで出くわしましたなぜですか? そのphpにApache対策の記述が 書かれていたにもかかわらず動きません #Apacheなどで動作させる場合は以下の2行の処理が必要です。) header("Cache-Control:no-cache, no-store"); header("Pragma:no-cache"); この2行を書き加えることによって動くはずが なぜ動かないのですか?
65 :
nobodyさん :2011/05/02(月) 03:26:14.61 ID:XjPCJ7Jp
その2行はクライアントがキャッシュするかどうかでサーバーは関係ないです
66 :
nobodyさん :2011/05/02(月) 03:52:31.66 ID:3Vwa/PSh
ということはApacheとAN HTTPDのソフトの違いからですか。
現在の知識では全然分かりません。
ためしにPHPは使える無料HPスペース
ttp://www.pf-x.net/ でためしてもダメでした
現在動いたのはAN HTTPDだけです。
そのサンプルが書いてあるページ貼ったほうが早いと思う
68 :
nobodyさん :2011/05/02(月) 10:31:55.98 ID:FYx/qjGo
KIGENZEN 4 12 2011 NOW 文字列 日 月 年 文字列 これを年月日で表示させたいのですが動作しません echo date("Ymd", "KIGENZEN 4 12 2011 NOW");
>>68 何したいのかよくわからんけど、こういうこと?
echo "KIGENZEN ".date("d m Y")." NOW";
>>68 それともこういうことか?
$str = "KIGENZEN 4 12 2011 NOW";
list($s1, $d, $m, $y, $s2) = sscanf($str, "%s %d %d %d %s");
echo "$y$m$d";
変数にKIGENZEN 4 12 2011 NOWが入っているものとお考えください $str = "KIGENZEN 4 12 2011 NOW"; これを年月日で表示させたいのです 正規表現とかsscanfも考えてみたのですが、その日付の妥当性のチェックが行いたいので模索しております
72 :
64 :2011/05/02(月) 12:56:44.80 ID:3Vwa/PSh
73 :
64 :2011/05/02(月) 13:02:12.12 ID:3Vwa/PSh
74 :
nobodyさん :2011/05/02(月) 13:29:01.39 ID:oysXPfmu
PHP5.3.6 モジュールで運用 $rh = apache_request_headers() $rh["If-Modified-Since"] $rh["If-Modified-Since"]がnullなんですが何故こうなるのでしょうか? 取得するための方法・設定はございますでしょうか?
>>71 だから
>>70 でいいじゃないか
日付の妥当性をチェックしたいならcheckdate使えよ
>>76 そのサイトを参考にしているんですがapache_request_headers()にIf-Modified-Sinceの値が入らないのです
サイトで提示されているparse_http_dateにnullの値が渡るためエラーが出ます
この時間はレベル低い奴しかいないから夜までまて
nullの時はそのif文入らないと思う。 あと、リクエストヘッダはクライアントがつけてくるもんだから、疑うならクライアント んで、そのヘッダは何に使うかというと大抵キャッシュなんで、ブラウザのキャッシュ設定を見る どうしてもわからなくなったらパケットキャプチャでそのリクエストヘッダがちゃんと送信されてるか確認する
>>81 Firebug でHTTPリクエストは見られるよ
おー 情報ちんくす
失礼しました 環境Chromeです Firefoxは入れてないのでネットカフェに行ってバイナリをダウンロードしてきます
Chromeならデベロッパーツールがデフォで載ってる
87 :
nobodyさん :2011/05/02(月) 17:48:32.50 ID:fXedI5fS
文字列にNullが含まれてた場合はどうやって置換するのでしょうか?
文字列にnullが含まれるってどんな状態?
↑ wwwwwwwwwwwwwwwwwwwww
そんな攻撃ナイトメアシールドオブハデスでそのまま返してやるよ
null byte attack session highjack CSS 他に対策するものって何?
DoS IP spoofing SQL Injection Falsification CSRF ・・・いくらでもある
APTX4869 にも気をつけろ
DOSってなに?まさかDOSからwebページ見たらセキュリティやべえとかいうなよw まじうけるw
なんだF5アタックかよwwwwwwwwwwwwwwwwwww そんなのPHPで対策できねえだろwwwwww
無知な煽りほどさむいものはないな
>>94 CSSともいうんだなー。XSSだけ覚えてた。
どうせならXSRFもいえばいいのに
本来はCSSが正式な略語だがスタイルシートと間違われるからXSSという呼び方が生まれただけ
CSRFは誤解される心配がないからXSRFはあまり見ないな
105 :
nobodyさん :2011/05/02(月) 23:34:49.33 ID:EdnAdetc
>>105 %E1の問題のことを言っているのなら、動く。
107 :
nobodyさん :2011/05/03(火) 00:08:06.97 ID:DuddgCeG
chrome11とFirefox4でutf-8で確認しましたが動きませんでした ちなみにPHP5.3とサーバの文字コードはUTF-8オンリー、HTMLもutf-8 差し支えなければどのブラウザでどのようなhtmlを書いて動いたか教えてください <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>あ</title> </head> <body> <div> <form> text: <input type='text' name='text' value="<?php htmlspecialchars($_GET{'text'}) ?>"><br> text2: <input type='text' name='text2' value="<?php htmlspecialchars($_GET{'text2'}) ?>"><br> <input type=submit value="送信"> </form> </div> </body> </html> ?text=text%E1&text2=%20style%3dbackground:url(javascript:alert('xss'))%20%E1
108 :
nobodyさん :2011/05/03(火) 00:39:38.83 ID:uFdBi8mq
設定用の関数やクラスなど、ブラウザからアクセスさせたくない PHPファイル(フォルダ)があるとします。 .htaccessでそのフォルダにアクセスさせない方法と ブラウザからアクセスできない場所に設置する以外で 対策する方法はあるのでしょうか?
何それ読み込んでevalでもしてんの?
phpのcurlを使いたいのですが、phpinfo()でConfigure Commandを見たところ 「--without-curl」となっていました。 (phpinfoの下のほうのcurlではenableになっています) この場合、configure時のオプションを変えて再コンパイルしないとつかえないのでしょうか? centosのyumでphpをインストールしたのですが再コンパイル以外の方法はないのでしょうか?
112 :
nobodyさん :2011/05/03(火) 17:22:20.98 ID:roO8CXCR
暗号化コードを書いてみました %20leo.%20h%20PdHr%20%21ePlo%21Ilkwil これ解読できますでしょうか?
> DOSってなに?まさかDOSからwebページ見たらセキュリティやべえとかいうなよw > まじうけるw 笑った。
そんな面白いネタでもないと思うと即レスするとどうなるの
ネタが面白いわけじゃなく失笑や嘲笑の類だろう、とマジレス
116 :
nobodyさん :2011/05/03(火) 21:54:14.09 ID:eN7Aztlq
HTMLパーサーで、 多少タグの間違いがあっても気にせずパースして 最後中身の一部だけを取り出せるやつってないですかね simplexmlは読み取りできず DomDocumentはパースはできたんだけど 中身の一部を取り出そうとするとDOMElement::nodeValueからHTMLタグが消え失せてしまう xml_parser_createは使い方がややこしすぎて無理でした DOMElement::saveXML()的なものが何故無いんだ?
> 何故無いんだ? ここで聞かれても困る。
>>116 > 中身の一部を取り出そうとするとDOMElement::nodeValueからHTMLタグが消え失せてしまう
どうなって欲しかったのか、自分のやってみたコードを添えて具体的に
消えたんじゃなくて改行とか空白を取得したんじゃないのか?
120 :
112 :2011/05/03(火) 23:27:43.99 ID:???
誰も解読できませんか
>>120 暗号化の強度の話なら相応のスレッドで聞いたら?
アルゴリズムも目的もいわずにいきなりこれ解いてみてといわれても答えようがない。ここはPHPスレッドだから。
122 :
116 :2011/05/04(水) 02:08:46.46 ID:G6UjoBBn
>>118 今手元にないんだがこんな感じ
$dom = DOMDocument::loadHTML('
http://hoge.jp ');
$element = $dom->getElementById('hogehoge');
$html = $element->nodeValue;
元のソースは
<div id="hogehoge">
AAA<span>BBB</span>CCC
</div>
だが$htmlの中身は'AAABBBCCC'になってる
ここで
'AAA<span>BBB</span>CCC'
ってのを取り出したい
なんでそんな偉そうなの?
>>122 $element->childNodesをそれぞれsaveXMLで取得すりゃいいんじゃない
mysqlのバッチ処理をphpでゴンゴンさせてると、メモリ使用量が膨れて困る(プロセス終了させないと解放されない) プロセス終了を繰り返してさせるの面倒なので、 その必要のない(プロセス終了させなくてもメモリ解放できる) 言語とかありますか?
phpをうまく使えるようになる気がないのならJavaとかでいいんでない CとかC++とか書けないでしょ。
プログラム中で適切にメモリ開放すればいいんじゃ? 大方MySQLの接続を切ってないとかだろ?
配列に全部いれてるんでしょう 接続なんて切らないでループで処理したほうがいい
まぁ1やスレタイすら読まない人だしな
130 :
nobodyさん :2011/05/04(水) 11:00:43.16 ID:r9jRoyZN
echo 1; sleep(1); echo 2; sleep(1); echo 3; sleep(1); コンソールから起動すると文字が1秒ごとに順番に表示されますが、ブラウザから見ると一気に表示されます どうやればブラウザからでも1秒ごとに順番に表示できますか? ローカルで個人用のページなので外部に公開するページではないです
>>130 サーバーサイドスクリプトとユーザーサイドスクリプトの区別は付いてるの?
132 :
nobodyさん :2011/05/04(水) 11:09:05.77 ID:r9jRoyZN
自己解決しました cgi版で動かすときに工夫すると順番に表示されました
ぼくのつくったさいきょう暗号!は危ないって暗号技術の本で読んだな
ここの連中でMD5を自前で実装できる人は何人いるんだろう
136 :
nobodyさん :2011/05/04(水) 15:00:24.98 ID:JBlrOt9H
暗号化のキーに、ハードウェアの固有の情報を使いたいんだけど何がいいと思いますか? 目的としては、サーバーからデータを持ち去られたとしても、別のサーバーでは複合できなくしたいんです。
PHP関係あるのか?
>>136 秘密鍵を作成するのが合理的だと思うけど
139 :
nobodyさん :2011/05/04(水) 17:13:38.23 ID:FMxJNbsd
配列の要素が定義されてない場合がある時も含めて 0 か 1 かというチェックを関数に 纏めたいのですがどのようにしたらいいでしょうか? if (isset($ini['option_1']) && $ini['option_1'] === '1') { } 今はこのようにしています
「いい」の基準は?
141 :
nobodyさん :2011/05/04(水) 17:37:03.69 ID:JBlrOt9H
142 :
nobodyさん :2011/05/04(水) 17:47:03.10 ID:FMxJNbsd
>>140 $ini['option_1']を2回書かなくて済むような感じです。。
わかりにくくてすみません
>>141 ハードウェアが故障して情報が取得できなくなったらどうやって復帰する?
不測の事態に備えてハードウェア情報をメモしておいたら秘密鍵を使うのと変わらない。
あと、ハードウェア情報を鍵にしたらハードウェアに触れる人物は鍵を知ることになるよね。
144 :
nobodyさん :2011/05/04(水) 18:32:18.12 ID:hp3BZpDK
php 4.4.9 だとマッチするが、php 5.3.5 だとマッチしません。 原因をご教示ください。よろしくお願いいたします。 mb_language(?Japanese?); mb_internal_encoding(?UTF-8?); mb_regex_encoding(?UTF-8?); $body = ?<a href="htt?://host/path/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">? .?<img src="htt?://host/path/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"></a>? .?<a href="url"><img src="img/foo.gif" /></a>? preg_match(?{<a[\s/][^>]*?href\s*=\s*("[^"]*"|\?[^\?]*\?|`[^`]*`|[^\s>]+)(?:(?!</a>).)*?<img[\s/][^>]*?src\s*=\s*? .?(?:["\?`][^"\?`]*?|[^\s>]*?)(?:foo|bar)\.(?:gif|jpeg|jp[eg]|png|bmp|ico)(?:(?!</a>).)*?</a>}uis?, $body, $matches); print_r($matches);
147 :
nobodyさん :2011/05/04(水) 19:09:03.09 ID:KS68ggpj
これからPHPの勉強始めようと思うのですが、プログラミング自体未経験です。 1日1時間くらいこつこつやってどれくらいの期間でマスター出来ますでしょうか? 作りたいのは掲示板とアンケート付きメールフォームです。 おすすめのサイトや参考書等もしあれば教えてください
セキュリテイとか後回しにして簡単な掲示板なら半日も必要ないだろ
150 :
nobodyさん :2011/05/04(水) 19:39:43.37 ID:KS68ggpj
サンクス、取り敢えず公式マニュアルダウンロードして今読んでます。 はじめてプログラミングやるんでドキドキする とりあえずHello worldだけ表示できました。
151 :
112 :2011/05/04(水) 20:25:41.86 ID:???
暗号 fis%w9gcvb%w92L3g 秘密鍵 82fP ↓ こんにちは、PHP 大学の教授にも見せたけど破れなかった 暗号複号コードをGoogle codeに載せるんで使ってね^^
専門外の人に尋ねても答えられなくて当たり前 PHPを使える人は暗号化に詳しいと思ってるのかな
153 :
nobodyさん :2011/05/04(水) 20:59:45.89 ID:+1dQViqm
phpでmagpierssを使ってRSSを取り出してるのですが
http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS 時間に関する部分だけうまくいきません。
大体のRSSなら'dc']['date']とかで取り出せるのですが
↓みたいにたまにイレギュラーがあり取り出せないことがあります
書式があってないから?っと思ったけど
ドリコムとか我RSSとかだと取り出せてるみたいなのですが
なにかイレギュラーでも取得できる方法があるでしょうか?
周りに聞いてみたのですが解決しないので質問します。
よろしくお願いします。
http://asg.to/new_movie.rss 重要な部分のみ
$rss = fetch_rss( $xml );
foreach ($rss->items as $item) {
$link = mb_convert_encoding($item['link'],"UTF-8","auto");
$title = mb_convert_encoding($item['title'],"UTF-8","auto");
$time = mb_convert_encoding($item['dc']['date'],"UTF-8","auto");
/*
mb_convert_encoding($item['pubdate'],"UTF-8","auto");
mb_convert_encoding($item['pubDate'],"UTF-8","auto");
mb_convert_encoding($item['updated'],"UTF-8","auto");
*/}
154 :
nobodyさん :2011/05/04(水) 21:58:28.52 ID:JBlrOt9H
>>143 レスありがとうございます。
ハードウェアが故障したり、OSの再インストールした場合は、データを復帰できなくてもOKです。
結局、安全はリスクを取った方が確実なので、完璧な解決策でなくても問題ありません。
155 :
nobodyさん :2011/05/04(水) 22:00:33.19 ID:JBlrOt9H
>>143 (本文長すぎると言われたので続きです)
Webサービスで使うことを前提としているのですが、例えば、root権限を取られたりした場合は諦めます。
もうroot権限を取られる時点でアウトですから。
>>152 おい、落ち着け
誰も専門の人に聞いたのか専門外の人に聞いたのか書いてないみたいだよ
154 名前:nobodyさん[] 投稿日:2011/05/04(水) 21:58:28.52 ID:JBlrOt9H [3/4]
>>143 レスありがとうございます。
ハードウェアが故障したり、OSの再インストールした場合は、データを復帰できなくてもOKです。
結局、安全はリスクを取った方が確実なので、完璧な解決策でなくても問題ありません。
155 名前:nobodyさん[] 投稿日:2011/05/04(水) 22:00:33.19 ID:JBlrOt9H [4/4]
>>143 (本文長すぎると言われたので続きです)
Webサービスで使うことを前提としているのですが、例えば、root権限を取られたりした場合は諦めます。
もうroot権限を取られる時点でアウトですから。
長すぎないけど、どういう環境なの
暗号化はMD5が最強です。 これマメな
暗号じゃないし
>>159 ハッシュは、不可逆暗号といって、暗号の仲間。
ひとつお利口になったね。
161 :
nobodyさん :2011/05/05(木) 00:35:45.50 ID:IcgGgtMc
>>157 >長すぎないけど、どういう環境なの
なんか、2ちゃんにNinjaってのが導入されてません?
それの影響なんだと思います。
>>158-160 私の説明不足で混乱させて申し訳ありません。
可逆暗号の方法で模索しています。
>>112 がバイトシャッフル+URLエンコードを暗号化と言い張る
↓
>>112 の偽者がかまってちゃん
↓
>>112 を騙る事すらやめてかまってちゃん ←今ここ
>>112 は可逆暗号を期待している
MD5よりSHAの方が安全性が高いといわれている
>>1 > ◆質問後の注意
> ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
>>161 忍法帖って書き込み間隔以外にも影響あるんだなぁ
pdfファイルをUpしたいんですが、保存したソフト次第で0kbになったりするんですが、 これはなぜなんですかね? ファイルサイズはちゃんと設定サイズ以内なんですが。
168 :
nobodyさん :2011/05/05(木) 01:38:27.63 ID:q9/omljQ
ID出し忘れました。
169 :
可逆暗号について悩む :2011/05/05(木) 02:24:51.76 ID:IcgGgtMc
>>164 何度も混乱させてしまってすみません。名前を入力しました。
私は
>>112 ではありません。ちなみに
>>112 さんはどんな暗号ロジックを考えられたのでしょうか?
170 :
可逆暗号について悩む :2011/05/05(木) 02:28:52.55 ID:IcgGgtMc
>>166 2ちゃんブラウザで久しぶりに書き込んだので、最初は書き込めなくて分かりませんでした・・・
書込み後のメッセージを読むと、何度か書きこむと書き込める量が増えるようです。
171 :
nobodyさん :2011/05/05(木) 12:00:40.15 ID:GTW3BxXo
rename関数って正規表現使ってリネームできますか
匿名掲示板でこれとこれは同一人物か探るのは無駄な思考だな
回答する上で必要なスキルだと思うがね 質問者が明示するのが一番ではあるが
答え合わせできないのに「スキル」とか笑わせんなw
>>171 bool rename ( string $oldname , string $newname [, resource $context ] )
>>171 rename関数をリネームすることは出来ないと思うよ
177 :
nobodyさん :2011/05/05(木) 16:10:54.66 ID:GTW3BxXo
解決しました
>>176 わざわざ質問スレで揚げ足とってるんですね
暇そうでうらやましいです
そもそも何を質問したかったんだ?
rename関数の引数で正規表現を使えるかどうかを知りたかったんだと思うよ
rename関数をリネームしたかったんだと思うよ
>>179 それなら試せば済むことだし、違うんじゃね
183 :
nobodyさん :2011/05/06(金) 15:11:09.59 ID:UIYBv0HT
フォームから送信された値を暗号化(難読化)してファイルに保存したいのですが、 指定文字に対して暗号化データを生成するような関数ってあるのでしょうか? イメージとしては↓な感じです。 $angou_key = 'a12s5f'; $value = angou($_POST['text'], $angou_key); // $valueは「pw4usbue45dfd54we」みたいになっている
暗号文 f1s2a5 これを解読するためのキー 3x9a 一応できる
185 :
184 :2011/05/06(金) 15:16:55.35 ID:???
ここはあんまりアルゴリズムに詳しい人がいないから助言は期待しないほうがいいかもね ム板で聞けばいいよ
可逆暗号しらね 暗号のアルゴリズムだから別にPHPで聞くことでもないかも?
187 :
nobodyさん :2011/05/06(金) 15:46:56.71 ID:UIYBv0HT
そういう事です
mcrypt使えばいいじゃん
$angou_key = 'a12s5f'; $text = "PHP angou test"; $key = str_pad("",strlen($text),$angou_key); print $angou = $text ^ $key ; print $angou ^ $key; 表示できない文字になるとか、1バイトじゃない文字は知らね
192 :
nobodyさん :2011/05/06(金) 16:13:19.56 ID:UIYBv0HT
>>188-191 追加でありがとうございます。
mcryptはサーバによって使えない場合があるんですよ。
php-mcryptをインストールする必要があったりで。
個人情報などをCSVファイルに保存する時に暗号化(難読化)して
出力時に復元する可逆の方法を探してみました。
DB使えば良い事なんでしょうが、何でも実験したくて・・。
もう少し勉強してみます。
>>192 自分で暗号・復号関数を作れば?
目的が難読化で暗号強度がさほど高くなくて良いなら、
文字コードのビット演算や入れ替えなどを組み合わせれば難読化としては十分。
自分でアルゴリズムを考えるのも面白いよ
個人情報で実験しないでくれ・・・
>>192 くれぐれも公開ディレクトリに個人情報を置かないでくれ
実験なのにそこまで突っ込むのかw
>>192 素直にPEARのライブラリ使えよ。
鯖に入って無くても単体で使えるぞ
正規表現スレの方に行ってきます。
できるできないって無駄なレスいらね
あ
公開ディレクトリに置くことも、非公開ディレクトリの777なディレクトリに置くこともできるってことかと
204 :
196 :2011/05/07(土) 00:14:21.83 ID:???
できると知った上で「公開ディレクトリに個人情報を置かないでくれ」と忠告したわけだが できないことはいわない
僕は公開ディレクトリに個人情報を置くことができるよ!(えっへん!) ってことだろうきっと
そりゃあもちろん
210 :
nobodyさん :2011/05/07(土) 16:43:49.90 ID:ER7LbHop
質問です。 指定したキーでarrayからキーと値を抽出するような 関数(組み込み関数)ってありますか? 下記のようなイメージです。 $array = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); $keys = array('a', 'c', 'x'); $result = xxx($array, $keys); // $result == array('a' => 1, 'c' => 3, 'x' => null);
>>210 $array = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
$keys = array('a', 'c', 'x');
$result = array_intersect_key(array_merge(array_fill_keys($keys, null), $array), array_flip($keys));
var_dump($result);
array(3) {
["a"]=>
int(1)
["c"]=>
int(3)
["x"]=>
NULL
}
>>211 var_dump( array_map(function($v)use($array,$keys){return $array[$keys[$v]];},array_flip($keys)));
213 :
。 :2011/05/07(土) 23:49:12.97 ID:???
foreach($keys as $v)$result[$v]=$array[$v];
215 :
nobodyさん :2011/05/08(日) 14:53:19.37 ID:KpR/icVU
echo date('Y/m/d H:i:s', mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y'))); これをDateTimeクラスで書き直すとどのように書けるでしょうか?
217 :
nobodyさん :2011/05/08(日) 15:18:29.63 ID:Kdg15VS1
分かんないくせにw
>>217 お前のような生意気な奴には絶対に教えん
>>219 現在の日時の取得だけ手続き型のdate()を使わないとダメなのかと思ってましたがオブジェクト作成した時点で日時が入るんですね
勉強になりました
>>261 >>218 荒らさないで頂けますか 他の方に迷惑かかるので
ロングパスキター
222 :
210 :2011/05/08(日) 19:36:12.23 ID:nypXO16H
みなさんありがとうございます。
>>211 >>212 すごい
自分の頭では覚えておけないのが難点です…
>>213 やっぱりそういう形の方が簡単ですね。
>>214 Noticeは出ますねー
組み込み関数一発で、というのがあればなーと思っていたんですが
みなさんのコードを参考にユーザ関数を定義することにします。
ありがとうございました。
223 :
nobodyさん :2011/05/08(日) 22:02:25.91 ID:E4q6d9os
クッキーで配列の取り扱いについて相談です。 $array = array('aaa','bbb'); setcookie('Test[0]', $array, time()+600); print_r($_COOKIE['Test']); としたのですが、何も表示されません。 そして画面を更新したらクッキーに配列が入っています。 クッキーって画面を一度更新しないと値が入らないのでしょうか?
そうです
>>223 サーバ「おいしいクッキーが焼けたよ」
↓
俺のPC「ありがとう頂きます」
↓
サーバ「あれ?何味のクッキー送ったか忘れたから教えてくれない?」
↓
俺のPC「いいよ、じゃあF5押して送るよ」
その例えは微妙w
おじいさんとおばあさんで例えてください
>>227 おじいさん「くっきーけ」
おばあさん「く」
おじいさん「うめか?」
おばあさん「うめ」
ドラゴンボールで例えてください
230 :
nobodyさん :2011/05/09(月) 00:44:24.89 ID:9NI2nLcl
日記のアプリを作ってるんですが、mixiでやってるような 絵文字入力ツール(モジュール?)ってないでしょうか? 携帯3キャリアの絵文字対応していると嬉しいです 相互変換できることが最優先なので、絵文字の数はそんなに多くなくても良いです ググって調べていますがなかなか良いのがなくて… 何か知っているのがあれば、教えてください。お願いします
>>231 html emojiっての見つけました
スレ汚しすみませんでした
ググったとか嘘は書かないようにしようね
ググってはいると思うよ。ただググり方が悪いだけで。
グリとグラ
236 :
nobodyさん :2011/05/09(月) 11:42:41.56 ID:LKDBKV6E
ここの掲示板を設置したいのですが
http://www.sanadake.info/sch/bbs/ パーミッションが分からず困っています
サーバーはFC2レンタルサーバーライトを使っています
とりあえず設置は出来たのですが
パスワードの変更や掲示板の作成はエラーです
エラーは366とか367とかです
その時のパーミッションはフォルダ、phpファイル共に705にしてました
どなたか教えてください
707にして動くんならそういうことだよ。
phpファイルを705ってつりですか?w
239 :
nobodyさん :2011/05/09(月) 12:55:41.69 ID:LKDBKV6E
>237 707試しましたが掲示板作成できませんでした >238 全く釣りじゃないですよ パーミッションの設定に書いてあるんです
240 :
nobodyさん :2011/05/09(月) 13:05:29.79 ID:LKDBKV6E
フォルダ777、phpファイル666も試してみましたが 管理画面にはいくのですがパスワードの変更、掲示板作成はできません
嘘乙だろw phpファイルを755とか705にする事は絶対ねえよ
実行ファイルとして実行するならあり得るが、掲示板とかならないだろなw
243 :
nobodyさん :2011/05/09(月) 13:35:27.18 ID:LKDBKV6E
244 :
nobodyさん :2011/05/09(月) 16:11:02.84 ID:v5ubEZZH
"/(['\"])(.+)['\"]/" 最後の終端文字を最初の文字に合わせるにはどうすればいい? "aaaa' これでマッチしてしまう。
わざわざ正規表現スレ行くほどのもんか? "/(['\"])(.+)\\1/"
×正規表現スレ行け ○俺の知能を超えた質問だったから正規表現スレ行け
248 :
244 :2011/05/09(月) 17:33:32.96 ID:v5ubEZZH
>>246 どうもありがとうございます!
\\としないと駄目なんですね。。勉強になりました。
>>246-247 正規表現スレの存在意義を否定する発言は容認できない
お前らに正義の鉄槌が下るであろう
微妙
>>239 フォルダの707は設置フォルダとDBフォルダ両方。
366行にmkdirがある。
フォルダが作成されていて、707でなければ chmod追加。
252 :
nobodyさん :2011/05/10(火) 11:43:02.21 ID:arsXiqXK
動ナビが重いのでfile_get_contentsでhtmlだけ取得したいと思います リストで更新動画の画像へのurlと更新内容のテキストを並べていきたいのですが htmlを見てもどのように取得したらよいか悩んでます どなたかアドバイスお願いします
255 :
nobodyさん :2011/05/10(火) 12:10:59.02 ID:arsXiqXK
失礼しました パーサー事体はなんとか出来たのですが htmlが汚くてどのように取得したらよいかわからず。。。
256 :
nobodyさん :2011/05/10(火) 15:10:31.59 ID:vf7zGTim
$get = '<a href="test.txt">sample</a>'; preg_match_all('!<a href="(.+?)">(.+?)</a>!', $get, $match); print_r($match); 結果 Array ( [0] => Array([0] => <a href="test.txt">sample</a>) [1] => Array([0] => test.txt) [2] => Array([0] => sample) ) こうなるのですが$match[0]の部分を取らず、キャプチャしたところだけ取る方法ってございませんか Array ( [0] => Array([0] => test.txt) [1] => Array([0] => sample) ) が理想なんですが
257 :
nobodyさん :2011/05/10(火) 15:35:51.61 ID:lETsiVC1
preg_matchでいろいろマッチさせて後で利用したい場合、皆さんどうやってますか? preg_matchがマッチした回数しか返してくれないのが歯がゆいというかなんというか。 preg_match('|<title>(.*?)</title>|', $html, $title); preg_match('|<h1>(.*?)</h1>|', $html, $h1); user_function($title[1], $h1[1]); ↑新しい変数を作りすぎて、どこかでかぶる恐れがある preg_match('|<title>(.*?)</title>|', $html, $match['title']); preg_match('|<h1>(.*?)</h1>|', $html, $match['h1']); user_function($match['title'][1], $match['h1'][1]); ↑煩雑だけどこれがベスト?
>>257 変数を作りすぎたくないなら、連想配列に格納すればいいんじゃない?
260 :
nobodyさん :2011/05/10(火) 15:47:12.13 ID:IrqArrYA
$array = array(); $a = array("りんご","ごりら","らっぱ"); $b = array("食べ物","動物","楽器"); $aと$bを$array()に格納したいのですが $array[0]['a'] りんご $array[0]['b'] 食べ物 $array[1]['a'] ごりら $array[1]['b'] 動物 $array[2]['a'] らっぱ $array[2]['b'] 楽器 な感じにする方法をご教示お願いいたします
261 :
nobodyさん :2011/05/10(火) 15:48:19.57 ID:IrqArrYA
$arrayに$aと$bを入れるときに、その変数名をキーにしてマージしたいということです
array_combine
263 :
nobodyさん :2011/05/10(火) 15:59:59.70 ID:lETsiVC1
>>258-259 レスありがとうございます。質問者のボクが質問の趣旨を理解していませんでした。
1: preg_match('|<title>(.*?)</title>|', $html, $match['title']);
2: preg_match('|<h1>(.*?)</h1>|', $html, $match['h1']);
3: user_function($match['title'][1], $match['h1'][1]);
1:の瞬間、$match['title']の[0]は不要なのに、切り捨てる手段がないのがもどかしい。
なので3:の時点まで「$match['title']は[0]と[1]の配列だけど必要なのは[1]だ」ということを覚えておかなくちゃいけない。
仮にpreg_matchが$macthを返すような関数なら、こう書けてとてもスッキリするのに…。
1: $match['title'] = current(preg_match('|<title>(.*?)</title>|', $html));
2: $match['h1'] = current(preg_match('|<h1>(.*?)</h1>|', $html));
3: user_function($match['title'], $match['h1']);
Rubyならこうかな?
1: $match['title'] = preg_match('|<title>(.*?)</title>|', $html)[1];
みたいなことを思ったのです。
>>263 なるほどね。合点がいった。
ユーザ定義関数を作るのがいいんじゃないかな。
function getFirstChildTextContent ($tagName, $html) { return preg_match('|<'.$tagName.'>(.*?)</'.$tagName.'>|', $html, $match) ? $match[1] : ''; }
$html = '<title>test title</title><h1>heading</h1>';
echo getFirstChildTextContent('title', $html)."\r\n".getFirstChildTextContent('h1', $html);
265 :
252 :2011/05/10(火) 16:33:52.92 ID:???
すみません、解決できました これでエロサーフィン生活が快適になりました
>>260 foreach($a as $var=>$val) $array[$var]["a"] =$val;
foreach($b as $var=>$val) $array[$var]["b"] =$val;
>>263 > 1: $match['title'] = preg_match('|<title>(.*?)</title>|', $html)[1];
マッチしなかったときの例外処理ができてないんじゃない?
どっちにしろどのようにマッチしたかは把握しておく必要がある。
同系統の処理は関数でまとめればいくらか見通しは良くなると思うけど。
269 :
265 :2011/05/10(火) 17:17:46.17 ID:???
>>267 さすがにここに書くのもあれなので
アダルトサイトのスレのどこかなら公開しますが
>>263 0を切り捨てられればいいのに、とはいうが、まずは0に欲しいものだけが入る正規表現にすれば良いのでは。
1: preg_match('|(?<=<title>)(?:.*?)(?=</title>)|', $html, $match['title']);
2: preg_match('|(?<=<h1>)(?:.*?)(?=</h1>)|', $html, $match['h1']);
3: user_function($match['title'][0], $match['h1'][0]);
> 仮にpreg_matchが$macthを返すような関数なら、
ここについては解決しないけどね。
ID出さないスレでも似たようなことあったけど、最近は正規表現がブームなのかね。
両方含まれてる前提ならこうするのも手かな。 $pattern = '| <title>(?P<title>.*?)</title> .* <h1>(?P<h1>.*?)</h1> |x'; preg_match($pattern, $html, $match); print_r($match);
272 :
nobodyさん :2011/05/10(火) 21:33:26.43 ID:4eJoj+GD
ぐぐった?
PHPと関係ないです
275 :
nobodyさん :2011/05/10(火) 22:38:01.20 ID:svcmH2S5
【OS名】Red Hat Enterprise Linux ES release 4 (Nahant Update 9) 【PHPのバージョン】5.2.5 【連携ソフトウェア】なし(cronから実行) 【質問内容】 cronからPHPを実行しようと考えているのですが、PHP内にtry-catchを書くと下記のようなエラーになってしまいます。 PHP Parse error: parse error, unexpected '{' in /root/test.php on line 2 cronから実行する場合、try-catchは使えないのでしょうか? /root/test.phpの内容は下記の通りです。 <?php try { echo "先行処理\n"; $error = '例外メッセージ!!'; throw new Exception($error); echo "後続処理"; } catch (Exception $e) { echo "例外キャッチ:" . $e->getMessage() . "\n"; } ?> crontabの記述は下記の通りです。 * * * * * php /root/test.php 2>>/root/error.log cronからでなく、下記のように直接実行すると成功します。 php /root/test.php 先行処理 例外キャッチ:例外メッセージ!!
phpへのパスをちゃんと書いて見たらどうだろうか
>>273 どのキーワードでぐぐればよいでしょうか?
279 :
nobodyさん :2011/05/11(水) 01:05:43.02 ID:H6ab7D/M
>>278 ありがとうございます
php -v を実行したところ
PHP 5.2.5 (cli) (built: Dec 4 2007 16:18:39)
と表示されたのですが、これはphp5では無いのでしょうか
280 :
nobodyさん :2011/05/11(水) 01:06:05.74 ID:wPu1R1v8
282 :
nobodyさん :2011/05/11(水) 01:19:08.83 ID:OQDkRGmA
難しすぎるだろw
>>279 あるユーザのログイン状態での環境変数と、cron時の環境変数は必ずしも一致しないよ
なもんで
>>276 を書いたんだけど、php5以外は入ってないって事なのかな
>>283 which php で調べてcrontabの記述を
/usr/local/bin/php /root/test.php
に変えたら動きました!
勉強になりました、ありがとうございます
285 :
nobodyさん :2011/05/11(水) 12:00:09.47 ID:vivhp25D
function a($b=null){ echo $b; } メソッドaに引数がわたらなかった時、$bにnullが入るようにしたのですが、 このnullはセキュリティ的によくないですか?
俺の家のセキュリティには無関係だな
287 :
nobodyさん :2011/05/11(水) 21:00:49.84 ID:M2ZzYUME
参照渡しについての情報はマニュアルのどこに書いてありますか? chmで参照渡しで検索しても出てこなかったのですが
>>287 _______ __
// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
________________
|site:php.net 参照渡し .| |検索|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◎ウェブ全体 〇日本語のページ
質問です。 mysql_real_escape_string()ってただの置換関数ですよね? なんでDBに接続してないとこけるんでしょうか?
292 :
nobodyさん :2011/05/12(木) 10:21:40.68 ID:8ZuCsT9p
WEBをsafari以外のブラウザで閲覧している時、リンクが押されると、ジャンプ先のページをsafariで立ち上げさせる方法はありますか? 例えば、IEを立ち上げてる時に、リンクが押された時にsafariでジャンプするようにしたいのです。
VBScriptを使えば可能
>>291 mysql_real_escape_stringの中で呼び出してる mysqlのsql_real_escape_stringで接続要求してるから。
295 :
nobodyさん :2011/05/12(木) 11:07:02.48 ID:b+hLFK0C
$array = array("a"=>1, 2,3,"b"=4,5); のような配列でランダムで一つ出力する方法をお願いします
>>295 print $array[array_rand($array)];
297 :
nobodyさん :2011/05/12(木) 12:15:23.73 ID:MOJVyYcf
単語の複数形を単数形に治す方法もしくは関数もしくはライブラリってありませんか?
ソース見た感じstudy→studiesにできなさそうなんですが
>>299 お前の目は節穴だから安心して試してみろ
>>299 '/([^aeiouy]|qu)y$/i' => '\1ies',
302 :
nobodyさん :2011/05/12(木) 16:14:53.97 ID:VsAZmxLI
mb_convert_encodingで文字コードを変換しても文字化けするのは 元の文字コードが変換元で指定したのと違うって事でしょうか?
303 :
nobodyさん :2011/05/12(木) 16:16:33.46 ID:tGhpjtUt
内容: 【OS名】Windows XAMPP 【PHPのバージョン】5.3 【質問内容】 Parentキーワードについて教えて下さい。 ------ <?php class Apple { public function getTaste() { return "りんごの味"; }} class Tsugaru extends Apple { public function getTaste() { return parent::getTaste; }} $tsugaru = new Tsugaru(); echo $tsugaru->getTaste(); ------ を表示すると下のエラーが出ます。 Fatal error: Undefined class constant 'getTaste' in C:\xampp\htdocs\test.php on line 9 初歩的な質問で申し訳ないですが、 親クラスからの呼び出し方法で何が間違っているか教えて頂けませんでしょうか。 よろしくお願いします。
>>303 return parent::getTaste();
306 :
nobodyさん :2011/05/12(木) 17:54:57.64 ID:b6hPir1M
PHPの解説サイトなどで if ($_SERVER['REQUEST_METHOD'] == 'POST') { //フォームから送信された値の処理 } を書いてるケースをたまに見るのですが、これって if (isset($_POST)) { } とどう違うのでしょうか?後者でも別に問題ないですよね?
で、後者って常に真にならないかな。
$_SERVERは使ってはいけません 代わりにgetenvを使いましょう 理由ぐらいはgoogle先生でいくらでもヒットしますので自分で調べるクセを身に着けましょう
なんかちょいちょいそれと同じ文面を見かけるね。 代替手段になりえないものを提示してどうするんだろうとは思う。
310 :
nobodyさん :2011/05/12(木) 18:22:37.14 ID:hbRO2IoX
【OS名】RedHat6 【PHPのバージョン】5.3 【連携ソフトウェア】PostgreSQL 【質問内容】 特定範囲の文字列だけを置き換えしたいと思っています。 $a = "12345678901234567890"; str_replace("5", "a", $a); とすると「1234a678901234a67890」となってしまいますが、10文字目から20文字目にあるものを対象に限定して置き換えをしたいと思っています。 指定範囲の置き換えをするような関数は見当たりませんでしたが、こういったことをする上での手法をご教示いただけないでしょうか。
>>305 ありがとうございます。
助かりました!
312 :
nobodyさん :2011/05/12(木) 18:25:19.51 ID:RToCNvOT
正しい文字化けが怒らないmail関数の使い方を教えてください
元が正規表現を必要とするなら、そういう正規表現にすればいいと思うけど、 str_replaceで事足りる変換なら、substrで分割して、必要なとこだけ置換してあとでくっつけるのでいいんでない
>>310 ごめん、嘘ついた。substr_replaceで。
315 :
310 :2011/05/12(木) 19:17:08.57 ID:hbRO2IoX
質問1 $str = "2011/11/23 19:26:37"; ↑ 文字列からタイムスタンプに直す方法 質問2 タイムスタンプからY/m/d H:i:s形式で出力する方法
317 :
nobodyさん :2011/05/12(木) 20:28:47.98 ID:4j3DIpRo
セッションを使う利点は ユーザの行動を追跡できる(一定期間操作を行わなかったらログイン状態を解除できる) ぶっちゃけこれだけですか? JavaScriptのonload時にサーバにIPorCookie送信と サーバ側でデーモンが起動してれば(or cronで毎分チェック) セッション使うこともないような気がしますがこの認識は間違ってますか? ていうかこれは自前でセッション機構を構築してると言っていいのでしょうか?
まぁ、session変数使わずに延々hidden書いてもいいとおもうけど、改ざんチェックとかどうするの
>>318 例えばショッピングの確定前にチェックすればいいのではないでしょうか?
本当にこれでおk?と
商品情報であればサーバ側の情報と突き合わせれば明らかにおかしな改ざんは検出出来ると思います
そこで確定した場合はサーバに情報を保存しておきます
掲示板の書き込みとかは検出は無理ですが確認画面を挟めばいいと思います
(改ざんされてるとは思わず反射的にOK押しそうなのは置いといて)
個人情報に関しては最後の確定時にもう1回ログインと同じ工程をしてもらうことで
初めて参照できるようにすればいいのではないでしょうか?
>>319 勉強中ゆえご勘弁を
セッション難しい・・・
321 :
nobodyさん :2011/05/12(木) 20:54:54.01 ID:jUrbXhlA
質問1 $str = "2011/11/23 19:26:37"; ↑ 文字列からタイムスタンプに直す方法 質問2 タイムスタンプからY/m/d H:i:s形式で出力する方法
>>320 勉強中なら「ぶっちゃけこれだけですか」「〜と言っていいのでしょうか」なんて考え持つなよ
323 :
nobodyさん :2011/05/12(木) 20:57:33.80 ID:4j3DIpRo
>>322 そうであってほしいという願望から出た言葉です
俺ってスゲーわかってるんだぜ?と自己暗示しないとやる気でないタイプなの
それなら頼むから一人で自己暗示しててくれ 人に質問する態度じゃない
325 :
323 :2011/05/12(木) 21:03:47.56 ID:???
別にお前に質問してないから気に入らないなら黙っててよ ためにもならないksな一言レスしかしない上に煽りしかできないやつってなんなの?死ぬの?
326 :
nobodyさん :2011/05/12(木) 21:05:56.58 ID:4j3DIpRo
>>325 偽物(・A・)イクナイ!!
概念はよくわかりませんがとにかく使ってみてなんとなくでも把握してみたいと思います
使う前に考える癖はよくないですね・・・
荒れる前に撤退|彡サッ
>>320 hiddenでがんばるのを試してみたらいいとおもうよ
330 :
nobodyさん :2011/05/12(木) 21:23:52.64 ID:jUrbXhlA
ちゃんとしゃべれたんだなお前
332 :
nobodyさん :2011/05/12(木) 21:30:13.04 ID:ojhTF3xD
PHPに関してはズブの素人です。 WordPressなのですが、ページを取得後、画像と文章を分けて出力したいです。 文章の方はこれで出来ました。 $text = get_the_content(); $text = preg_replace("|(<img[^>]+>)|si","",$text); 画像がうまくいきません・・・。 駄目なら、cssで<p>をdisplay: none;しようと思いますが、できればphpの方で、と思っています。
WP専スレなかったっけ? get_the_content()なんて非標準関数言われて困るわ
33→337←336 こんな感じで3Pですか?
$down_file = "aaa"; header ("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header ("Content-Disposition: attachment; filename=" . $down_file); header ("Content-Description: File Transfer"); header("Content-Length: " . strlen(join("",$csv)) ); header("Content-Disposition: attachment; filename=".$down_file.".csv"); . . . データベースとのやりとり . . . foreach ($csv as $mval) { echo $mval = mb_convert_encoding($mval,"SJIS-win","utf-8"); flush(); ob_flush(); usleep(10000); } 上記はmysqlのデータベースをcsv形式でダウンロードするサンプルなんですが、これってcsvを作ってから ブラウザにダウンロードのウィンドがでるんじゃなくて、ダウンロードが選択されたらcsvを作りながら、クライアントに 送るのでしょうか?
340 :
nobodyさん :2011/05/13(金) 11:07:59.28 ID:4km3/S9q
ID出し忘れました。 $down_file = "aaa"; header ("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header ("Content-Disposition: attachment; filename=" . $down_file); header ("Content-Description: File Transfer"); header("Content-Length: " . strlen(join("",$csv)) ); header("Content-Disposition: attachment; filename=".$down_file.".csv"); . . . データベースとのやりとり . . . foreach ($csv as $mval) { echo $mval = mb_convert_encoding($mval,"SJIS-win","utf-8"); flush(); ob_flush(); usleep(10000); } 上記はmysqlのデータベースをcsv形式でダウンロードするサンプルなんですが、これってcsvを作ってから ブラウザにダウンロードのウィンドがでるんじゃなくて、ダウンロードが選択されたらcsvを作りながら、クライアントに 送るのでしょうか?
そりゃリクエストがこないと仕事できないからね
よく読んでなかった まぁリクエストがきたら作成して作成が完了したらレスポンスを返すので ブラウザにダウンロードウインドウが出るってことはもうリクエストが終わってるから その段階で作成は完了してる
次の質問をどうぞ! 質問するときにはID出すのを忘れずにね!
344 :
忍法帖【Lv=3,xxxP】 :2011/05/13(金) 14:33:49.92 ID:oAMg8XCw
(get_magic_quotes_gpc == 1)な環境で stripslashes('\"')の出力は「"」となります。OKです。 しかし stripslashes('\\')の出力は「」。何も表示されません。 バックスラッシュのクウォートが取れて「\」が表示されるはずなのですが どうしてでしょうか?
\\\
>>344 gpc ってのは Get,Post,Cookie のこと。stripslashesの動作は関係ない。
'\\'ってのは \ なので、 二つならんだ\\を stripslashesにかけたいのならば、
stripslashes('\\\\')
>>346 理解しました。ありがとうございます><
348 :
nobodyさん :2011/05/13(金) 15:51:38.57 ID:TvKhtBYV
EUC-JPの文字列で機種依存文字だけ削除しようとしたけど 思ったより難しすぎてワロタwwwwwwwwww ごめん質問しようと思ったら仕事入った後で質問します
350 :
。 :2011/05/13(金) 21:20:16.97 ID:???
それが難しいんだろうよ。 mb_substitute_character('none'); $str = mb_convert_encoding(mb_convert_encoding($str, 'utf8', 'EUC'),'EUC','utf8');
いや、機種依存文字だけを削除したいんじゃないの?
簡単。 delete 文字 from EUC文字コード表 where 文字 = 機種依存文字
文字コード表の文字を消してどうすんだよw
356 :
nobodyさん :2011/05/14(土) 17:34:51.53 ID:92HPTgqh
テスト@あいうえおかきくけこ
a5c6 a5b9 a5c8 ada1 a4a2 a4a4 a4a6 a4a8 a4aa a4ab a4ad a4af a4b1 a4b3
特殊文字の
@である「ada1」を空白に置き換えた場合、
「きく」のようにつながっている「a4ad a4af」の「a4 "ada4" af」も置き換わってしまいます。
この部分だけ対処しても恐らく他で同じような不具合が起きそうです。
なので、一度UTF-8に変換して置き換えようと思ったのですが、
mb_convert_encoding($text, "UTF-8", "EUC-JP"); にした場合
e38386 e382b9 e38388 3f e38182 e38184 e38186 e38188 e3818a e3818b e3818d e3818f e38191 e38193
と、@が3f(003fが「?」になる)になってしまって@の文字コードではなくなります。
EUC-JPの場合、機種依存文字を削除する術はあるのでしょうか
>>355 ごめんなさい、ちょっと色々仕事が・・・。
357 :
nobodyさん :2011/05/14(土) 17:43:44.20 ID:92HPTgqh
一度、sjis-winに変換する方法があるのか! 試してみる!
mb_convert_encoding($v, 'UTF-8', 'eucjp-win'); で大丈夫だったと思うが、好きな方法でやればいいよ。
359 :
nobodyさん :2011/05/14(土) 18:01:31.93 ID:ucsP9ViJ
Webサーバー複数台のシステムで、全鯖で同じPHP5.2.16使ってるんだけど 最近不具合を追っていたら、preg_replaceの結果が鯖毎に違うことが原因と判明。 最近追加した鯖のみ異なるようなんだが、preg_replace内部の動きは何に依存するの? 具体的には\p{Ll}\p{Lm}などUnicode系?を置換するとおかしくなる(もしくは以前おかしかった?)模様。
PHP5.2系はPHP5.2.17でサポート終了したのでPHP5.3に乗り換えましょう
362 :
nobodyさん :2011/05/14(土) 18:50:27.65 ID:ucsP9ViJ
>>360 phpinfoで確認した限りでは、同じでした。
どちらも
PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 6.6 06-Feb-2006
364 :
nobodyさん :2011/05/14(土) 19:48:44.79 ID:JKTyqoMu
とあるログインページにPHPでログインしたいのですが POST送信がうまくできません IDは送信できているのですが パスワードが送信できません IDのinputにはvalueがあるのですが パスワードのinputにvalueがなく JavaScriptのgetElementByIdで取得しているようなんです そこで JavaScriptの変数名.value=""; にパスワードを入力して送信したいのですがどうしたらいいでしょうか?
人様が用意してくれたページからログインしろクズ
>>364 PHPなのかJavaScriptなのか。後半の文章を読むとJavaScriptのようだけど、それなら無理だしスレ違い。
PHPでのPOSTなら、Socket使えばパスワードも送信できる。
そもそも、IDのinputにvalueがあって、 パスワードにない理由が分かってないので いらんことしてる気がするな
368 :
nobodyさん :2011/05/15(日) 01:59:57.56 ID:pSpByQ/a
はじめまして。 sessionでログインを実装しているのですが、ログインを継続したいです。 session.gc_maxlifetime等を変更したりしたりとか、 cookieのPHPSESSIDの有効期限を無理やり伸ばしてみたりとか、 いろいろ試してみたのですが、うまく実装が出来ません。。。 クッキーの有効期限が優先される等もみたのですが、実際そうでもないみたいですし。。。 どの様にしたら、ログイン継続を実装可能でしょうか?よろしくお願いします。
>>368 「うまく実装が出来ません」では何で困ってるのかわからん
>>368 ログイン後の各ページでsession_start();を忘れているだけ、とエスパーしてみる
まずはクッキーをONにすることですねハイ
372 :
364 :2011/05/15(日) 18:01:04.59 ID:???
>>366 無理ですか・・・分かりました 回答ありがとうございました
Socketについて調べてみることにします
373 :
368 :2011/05/15(日) 21:09:21.05 ID:p35+GTTU
>>369 「うまく実装が出来ません」では何で困ってるのかわからん
ログインの継続という言い方がまずかったですね。
ブラウザを閉じた後や一定時間が経った後でも、1〜2週間くらいログインを継続したいのですが、SESSIONでは実装方法がうまく行かずという感じです。
よろしくお願いします。
セッションの持続時間を2週間にすればいいのでは?
375 :
nobodyさん :2011/05/15(日) 21:18:07.23 ID:58gt7XbJ
session.cookie_lifetime
376 :
nobodyさん :2011/05/15(日) 22:10:07.55 ID:JT6jB8NJ
【OS名】CentOS 5.5 【PHPのバージョン】5.2.17 【連携ソフトウェア】MySQL 5.04 【質問内容】 PHPのMySQLに大量のレコードをINSERTしていく処理をしているのだけど、 5百万レコード辺りで勝手に止まります。 以下設定済み。 /etc/php.ini max_execution_time=86400 /etc/ssh/sshd_config ClientAliveInterval 60 (sshからPHP実行してるので切断防止) スクリプト内のテキスト出力を、ob_startして 最後にテキストファイルに書きだすようにしてるので、 メモリ溢れとかでしょうかね? phpのエラーログは出てなかったぽいのでよくわからず…。
insertの度に何か出てるんじゃね?
378 :
nobodyさん :2011/05/15(日) 23:42:40.15 ID:JT6jB8NJ
ですかねー。 ob_startでメモリ喰われてそうなので、この辺り直してみます。
379 :
nobodyさん :2011/05/16(月) 02:22:40.22 ID:XnN75Tph
>>376 こういうのたまに遭遇するんですけど、メモリ溢れ特定するうまい方法ありますか?
topコマンドでも叩けばいいんじゃね
382 :
368 :2011/05/16(月) 09:57:16.20 ID:0KSOaR/a
>>374 継続時間は2週間にしてるんですが、なぜか2週間もたないんですよね。
>>375 cookie_lifetimeでも、うまくいかなかったです。。。
ログイン継続ってブラウザを2週間ひらきっぱなしにして試したわけ?
384 :
368 :2011/05/16(月) 11:25:18.37 ID:0KSOaR/a
>>383 2週間どころか、1日もたないんですよ。
@ini_set('session.gc_maxlifetime','10368000');
@ini_set('session.gc_divisor','1000');
@ini_set('session.cookie_lifetime','10368000');
@session_start();
超伸ばしてみたりしてますw
ブラウザひらきっぱなしでスリープ状態から復帰すると、ログアウトしてるのが現状です。
session.gc_probabilityとsession.gc_divisorを1にして 切れた頃に他ブラウザからアクセスして サーバ側のセッションファイルが削除されてないようなら ブラウザ側で切っちゃってるのかもね
>>384 複数のブラウザや複数のPCでも同じ現象になるのならコードに問題がある
387 :
368 :2011/05/16(月) 16:26:42.69 ID:0KSOaR/a
>>385 あとで試してみます。結果報告しますね。
>>386 コード内で$_SESSIONは特にいじってないんですけどね^^;
上記sessionは、共通でincludeしてあるファイルの一番先頭に書いてます。
$_SESSIONはこの際関係ないだろ
389 :
368 :2011/05/16(月) 16:32:32.57 ID:0KSOaR/a
>>388 コード内でsessionに関係するのは、$_SESSIONだけかなと思ったんですが、
それ以外でsessionに影響することってあるんでしょうか?
当たり前のことだけど、再現する最小限のコードを作ろう。 それから、それを貼ろう。
こんなPHPスクリプト探してます、はここで良い?
>>384 スリープする時に通信が切断されているんじゃないの
>>392 通信が切断されてセッションがクリアされんのかよw
httpはリクエストの都度通信切断してるだろうが
ブラウザを再起動してもセッションを回復出来るんだっけ
396 :
368 :2011/05/16(月) 18:09:44.51 ID:0KSOaR/a
>>390 sessionに関する最小限のコードは
>>384 だけです。全ページ共通です。
ログインしたときは、$_SESSION['hoge']にユーザーIDを入れます。
ページ表示時に$_SESSION['hoge']の値でログイン判断してます。
とりあえず、説明だけでも。
>>396 その後半がないから最小限のコードになってないってことじゃね。
再現する最小限のコードを作ってみなよ。その過程で穴が見つかることってよくあるよ
>>396 サーバー側でいくらセッションを維持しようと、ブラウザがセッションIDをクリアしてしまえばどうしようもない
どのタイミング(ブラウザを閉じる、スリープになるetc)でIDをクリアするかはブラウザによって動作が微妙に違う
ログイン状態を長期間維持する仕組みは、例えばこうして実現する
1)ログイン時にチケット(uniqidとか色々組み合わせた予測されづらい数字)を発行する
2)サーバー側のDBでユーザーIDとチケットおよびログイン時間を関連付ける
3)チケットをクッキーで食わせる
4)次回ログインページを開いた際、クッキーにチケットがあればログイン時間と見比べてログイン認証を通過
※当然同じチケットを使い続けるのは危険なため、このとき再発行してクッキーを上書きする
399 :
368 :2011/05/16(月) 20:17:12.44 ID:0KSOaR/a
>>398 ありがとうございます。
セッションでやらずにクッキーとDB(or ファイル)でログイン状態を維持するように判断させたほうがいいってことですね。
セッションではログインの維持は出来ないって考えてもよろしいんでしょうか?
ログインの維持なんてセッション管理の目的と逆行するようなことやろうとしてるからな 出来ないというよりやるべきでないといったほうが正解か
いやもうアホは回答すんなってw
半分ニートのような生活をしつつweb制作に興味を持ち、HTML+CSS+XHTMLを学び、これじゃスタートラインにも立ってないなと分かりつつも面接に行きました 勿論採用されるはずもなく(というか採用されれば超ラッキーくらいで、なにか話を訊ければ良いくらいのつもりでした)、話を聞くに、PHPを覚えれば実務経験がなくても突破口にはなると言われました そこでPHPを勉強しようと思い、参考書、入門書を買おうと思うんですが、何かお勧めの本はありますか?自分のレベルは上記の通り何も知らないです amazonでは「よくわかるPHPの教科書」がやたら評判が良いのでそちらを検討しているんですが、他に良書があれば是非教えてください よろしくお願いします
突破口にはならんだろ・・・ どんだけ多いと思ってるんだPHP技術者()笑が
勉強の仕方も自分で決められない奴には無理
405 :
nobodyさん :2011/05/16(月) 22:19:13.42 ID:9d+tcru/
PHPでもPerlでもAndroidでもiPhoneでもなんでもいいからひとつでも動かせる程度できれば後はどうにかなる だがこんなとこで聞いてるようじゃな…
ニートで暮らせるなんて裕福だなおい
複数できても地方じゃ実務経験ない時点で確実に無理だけどな(´・ω・`)
一応東京住みです。何の目標、目的意識もなく働いているだけなので半分ニートみたいなもんかなと思っています こんな下らない質問なのでこのスレなら平気かなと思い質問しましたが、スレ違いだったようなので失礼します
>>402 どんなのでもいいから、Webサイト作って公開して、それ見てもらうのがいいかも。
Windows、Linuxの両方で構築していればなおよし。
ふーん、で終わるかもしれないけど、やってみないことにはわからん。
PHPメインのとこは弱小が多いから教育してやる余裕はない
25になってないなら未経験OKのところに突撃すればいい
JavaとかC#でやってるとこ
そのうちWebの案件もくるだろう
と楽観視できたのが3年ほど前までの話
ここ2・3年は新卒採用さえできない企業が多くなってきてる
PHPの本を探してるなら
>>1 読めばいいよ
俺はベンチャーに行って「今なんにも出来ないけど勉強します」っていったら採用された 勉強できるとこ証明すればおk
413 :
368 :2011/05/17(火) 01:24:57.53 ID:uHRzMhgS
>>412 やったねたえちゃんでしたw
セッションデータもCookieも大丈夫みたいですね。^^;
414 :
nobodyさん :2011/05/17(火) 01:50:08.87 ID:p7ZABAr6
PHPに限らない質問かもしれないけど DBのトランザクション処理って複数の更新処理がある場合のみにやればいいですか? それとも更新処理が一つでもあればやるものですか?
415 :
390 :2011/05/17(火) 01:58:30.02 ID:???
>>413 だから言ったのに
>>414 複数の時だけでいいよ。DBアクセスクラスで勝手にトランザクションはるかもしれないけど
DBによる
>>414 データベース板に質問スレがあるからそっちで教えてもらう方がいい
これだけじゃあれなんで、更新以外でも必要になる場合がある
検索結果リストのページングに必要な件数とデータを2回のクエリに分けて取得する場面で
それぞれの取得の合間に他のプロセスがデータを更新・削除すると
データと件数が一致しなくなる
またある一つの条件を基に二つのテーブルからデータを削除する場面で
一方の削除は完了しもう一方のはエラーが発生して中断された場合にも不整合が起き得る
418 :
398 :2011/05/17(火) 10:36:33.53 ID:???
>>399 セッションIDのクリアタイミングがブラウザ依存である以上、セッションのみで実現するのは不可能と考えていいよ
ブラウザのみに依存するわけでもないけどな
420 :
368 :2011/05/17(火) 11:20:39.08 ID:KShR6cC9
>>418 ブラウザのセッションに対する有効期限は、セッションのクッキーで判断してるんですよね。
ってことは、クッキーのみで実装しようが一緒ってことですか?
セッションはデフォルトでCookieを前提にしてるんだから
>>398 の俺俺セッションも無意味だしな
常識的に考えりゃセッションが意図した通りの寿命を持たない原因を突き止めるのが先だろ
>>398 の期待する動作は自動ログインに近いものじゃない?
セッションは求める動作とはほど遠いと思うんだけど。
全くもって実現可能なんだが、なぜこんなに話が噛み合わないのか
425 :
421 :2011/05/17(火) 12:18:03.71 ID:???
>>423 > ブラウザを閉じた後や一定時間が経った後でも
これか、見落としてた悪い
でPHPのセッションもお前も同じCookieを使っているんだが
なんで結果が変わると思う訳?
426 :
368 :2011/05/17(火) 12:21:23.06 ID:KShR6cC9
>>424 そうなんですよ。いろんなサイトを見ても、バラバラなんで^^;
自分もよくわからなくなってきたんで、ココで質問してみました。
>>424 ブラウザを閉じたらセッションIDをクリアするのが一般的なブラウザの動作
話がかみ合わないのは「ブラウザを閉じてもセッションを継続」の部分を見逃してるからじゃないの
一部のブラウザではウィンドウをすべて閉じてもセッションIDを維持するようなオプションだか
プラグインがあるけど、それは例外でしょ
428 :
nobodyさん :2011/05/17(火) 12:58:04.45 ID:3Z0Fp5Ls
429 :
368 :2011/05/17(火) 13:07:18.80 ID:KShR6cC9
>>427 オプションやプラグインとか関係なしに、
@ini_set('session.gc_maxlifetime','10368000');
@ini_set('session.gc_divisor','1000');
@ini_set('session.cookie_lifetime','10368000');
@session_start();
の設定で、ブラウザ閉じて、開いても、セッションは維持されています。
ただ、なんらかのタイミングでセッションが破棄されてしまうのも現状です。
その原因がよくわからないんですよね。
すいません。なんか話のポイントわかりづらいですよね。
・ログインの継続がしたい(ブラウザ再起動後も)
・上記設定でブラウザを再起動しても、ログインは維持される
・なんらかのタイミングでログインが維持されない(1日もたないことが多い)
・コード内でログアウト時以外、セッションをいじっていない
上記sessionの設定で、セッションが破棄される(ログアウトする)タイミングは、どんなケースが考えられるのでしょうか?
その部分が分かれば、セッションでも対応できるのかなと。
セッションと、セッションIDとクッキーがめちゃくちゃになってるな。 セッション事体破棄できるのはサーバーだけだから、消されてるだけ。PHPじゃない話。 たとえば、セッションIDをgetにつっこむクッキーレスにすれば、ブラウザの問題は分離できるよ。
>>427 もういい。この件については一切レスしなくていい。
>>430 そのやり方だとセッションハイジャックのリスクがあるんじゃない?
有効期限の長いセッションでURLに埋め込むのはお勧めできない
ジャックされてもいいようなどうでもいいページなら別だけど。
どう見てもそれ以前のトラブルシュート段階だろ だいたいブラウザ閉じてもセッション維持したいって言ってるのに 毎回ブックマークでもさせるのか? つーかサーバ側のセッションデータとブラウザ側のクッキーぐらい覗けるようにしとけよ どんだけこのネタ引っ張るつもりだ
>>434 ブラウザのことについては、俺もいらんこと書いたな。どっちかというと質問者じゃなくて、
分かってない人向けのいらん一言だったわ。
聞かれてないこと書くのは要らぬお世話になって良くないのが分かったよ。ありがとう。
>>429 もう一度言うよ。
再現させられるコードを作成して、それを貼って、何が問題なのかを伝えてください。
>>429 共有サーバーで session.save_path が共有されている場合は
他人のスクリプトによって消されている可能性がある
あとは他の人が言うようにセッションIDやCookieヘッダのログを取って
ログアウト状態になった時に確認したりね
session_start();
$log = implode("\t", array(gmdate(DATE_W3C), session_id(), @$_SERVER['HTTP_COOKIE'], var_export($_SESSION, true))) . PHP_EOL;
file_put_contents('ここにログファイル名', $log, FILE_APPEND | LOCK_EX);
439 :
368 :2011/05/17(火) 15:42:33.78 ID:qipHoIvY
>>437 再現されるコードを書くとしたら、、、
■ログイン時
<?php
@ini_set('session.gc_maxlifetime','10368000');
@ini_set('session.gc_divisor','1000');
@ini_set('session.cookie_lifetime','10368000');
@session_start();
@session_regenerate_id();
@session_register('ID');
$_SESSION['ID'] = "id";
echo "login ok";
?>
■ページ表示時
<?php
@ini_set('session.gc_maxlifetime','10368000');
@ini_set('session.gc_divisor','1000');
@ini_set('session.cookie_lifetime','10368000');
@session_start();
if(isset($_SESSION['ID']) && $_SESSION['ID'] != null ){
echo "login";
}else{
echo "not login";
}
?>
実際のコードと少し違いますが、コレで再現されるはずです。
>>438 専用のサーバーなんで、パスは大丈夫です。
ありがとうございます。ログを吐き出してみますね。
440 :
nobodyさん :2011/05/17(火) 16:32:03.90 ID:JyZBkyIg
【OS名】fedora13 【PHPのバージョン】5.2 【質問内容】 // セッション開始 session_start(); // セッションデータを保存 $temp = $_SESSION; // セッション変数を破棄 $_SESSION = array(); session_destroy(); // セッションを再作成 session_regenerate_id(TRUE); // セッションIDを作成 session_id($this->makeSessionId("sha1")); // セッションIDを再生成 session_start(); // セッションデータを元に戻す $_SESSION = $temp; 【やりたい事】 自前のセッションID作成関数でワンタイムセッションを発行し続けたい 【問題点】 毎回セッションファイルが3つ増えていきます。 SESSIONに保存されたデータが渡されていません。
>>440 ウチのDebianのPHP/5.2.6-1+lenny10では問題なし。
ちなみにブラウザはIE6/7/8、Fx4。
リクエスト毎にちゃんとセッションID変わってる。
ゴミセッションファイルも残らない。
セッション変数も受け渡されてる。
レスポンスヘッダのSet-Cookieも重複なし。
442 :
nobodyさん :2011/05/17(火) 18:13:15.25 ID:JyZBkyIg
>>441 framework使ってた所為でファビコンアクセスで、余計なセッションが1つ出来てた。
デバックツールで更に1個余計だった
ただ、
session_id($this->makeSessionId("sha1"));
これ抜くと問題無いけど、入れると上手く動かなくなる。。。
どうせsession_start()前に何か出力しちゃってるとかでしょ
445 :
nobodyさん :2011/05/17(火) 22:30:00.58 ID:n5tnk9Oo
素直にsession_set_save_handlerつかえば
446 :
368 :2011/05/17(火) 23:00:48.90 ID:KShR6cC9
>>368 です
ログを見てみたところ、なんとなく原因が分かりました。
/tmp/以下のセッションファイルが、あるはあるんですが、
空になってました。。。ブラウザのクッキーは生きてるみたいです。
なんか設定が足りないんですかね。。。
>>446 てことはログイン後の表示画面で常にnot loginが表示されるはずだよな
その時点で気づくだろ
448 :
368 :2011/05/17(火) 23:25:28.48 ID:KShR6cC9
>>447 最初はデータが入っていて、
-rw------- 1 hoge wheel 28 5 17 21:17 sess_de2115feb4047288c2d449474fe728de
と、loginになってるんですが、なんらかの原因で、
-rw------- 1 hoge wheel 0 5 17 21:17 sess_de2115feb4047288c2d449474fe728de
と、/tmp/以下のファイルの中身が空になるみたいです。
449 :
368 :2011/05/17(火) 23:26:46.95 ID:KShR6cC9
ちょおま!セッションIDを晒すなんて勇気あるな
451 :
368 :2011/05/18(水) 00:07:54.18 ID:yNJD7CyN
逆引きできた pingも通る
>>448 サーバーが再起動されてるということはないよね?
454 :
368 :2011/05/18(水) 00:37:54.54 ID:yNJD7CyN
>>453 お。。。まさかの再起動wwww確認してみますw
455 :
368 :2011/05/18(水) 00:44:09.95 ID:yNJD7CyN
>>455 logrotateにKILL -HUPされている予感
457 :
428 :2011/05/18(水) 04:02:13.97 ID:Byk8JbeP
分かる方いらっしゃらないようなので、他で聞いてみます。 失礼しました。
PHP関係ないし <div name="top">top</div> <br style="margin-top:2000px"> <div><a href="#top">top</a></div> と原理は一緒だろ
なんかhtmlおかしかった<br>いっぱいはさむべし
古典的な手法だな。どちらかといえばJSスレ向けのネタ 今のモダンブラウザならURLまるごとかえれるしな
HTTPヘッダ見ればわかるけど通信はいっさいしてない Flash側でふりわけてるんだろう URLで最初に表示するFlashのコマを決めてるだけにすぎない
他で聞きますので皆さんもう回答しなくていいです
スレチですしね
>>457 は他スレじゃなくて知恵袋に行ったそうです
知恵袋のどこだろ JavaScriptカテゴリにはいない
違いました。教えてgooでした。
教えてgooのどこだろ JavaScriptカテゴリにはいない
無限ループこわい
471 :
nobodyさん :2011/05/18(水) 21:59:54.46 ID:IYv8F7QD
配列のツリー構造がどうしても出来ません・・。 $array[] = array('id' =>1, 'pid' => 0); $array[] = array('id' =>2, 'pid' => 1); $array[] = array('id' =>3, 'pid' => 2); と言う配列を↓な感じのツリー構造にしたいのですが、 Array( [0] => array( 'id' => 1, 'parent' =>0, [1] => array( 'id' => 2, 'parent' => 1, [2] => array( 'id'=>3 'parent' => 2 ) ) ) ) 再帰しても上手くできません・・・。 function thread(&$array = array(), $pid = null){ if ($pid == $array[$pid]) { return $array; } else { $array[] = thread($array, $array["pid"]); } }
>>471 メリットが全く理解できないが
$array[0] = array('id'=>1, 'parent'=>0, '1'=>array('id'=>2, 'parent'=>1, '2'=>array('id'=>2, 'parent'=>1)));
var_dump($array);
>>473 わかってるよ、整理のために書いただけ
本題の件は pid を元に配列を作ってソートした後にforループで回して入れ子にすればいい
いや、pid を元に $array をソートするだけでいけるな 入れ子処理にforループ使うのは同じ
476 :
。 :2011/05/18(水) 23:09:46.63 ID:???
条件がよくわからんから適当 なんか構造が変なので、pidの重複は上書きになっちまうが・・・ print_r ( thread($array , 0) ); function thread($array , $pid) { $ret =array(); foreach( $array as $var => $val) { if($val["pid"]==$pid){ $ret = array("id"=>$val["id"],"parent"=>$pid); if($r = thread($array,$val["id"])){ $ret[$val["id"]]=$r; } } } if ($pid == 0) $ret = array(0=>$ret); return $ret; }
>>473 別に再帰関数で実現したいとは言ってませんよ
こうなるのか $array[0] = array('id'=>1, 'parent'=>0); $array[0][1] = array('id'=>2, 'parent'=>1); $array[0][1][2] = >array('id'=>2, 'parent'=>1)));
479 :
。 :2011/05/19(木) 00:20:21.07 ID:???
$arrayの添字って単に増えればよくて、idとか parentとまったく関係ないとか?
配列のツリー作りたいだけだろ? 子要素はchildかなにかにいれてく感じで・・・
481 :
。 :2011/05/19(木) 00:42:13.74 ID:???
じゃあ、これでいいのか・・・ $array[] = array('id' =>1, 'pid' => 0); $array[] = array('id' =>2, 'pid' => 1); $array[] = array('id' =>3, 'pid' => 2); $u = &$ret; foreach($array as $var => $val) { $u[$var] = $val; $u = &$u[$var]; }
どうでもいいけど質問した本人が消えてしまって周囲だけが盛り上がってる 最近こういうこと多いね
話題に乗り遅れたのに遅レスしちゃう人って一体・・・・
485 :
nobodyさん :2011/05/19(木) 03:48:14.86 ID:0muGXop6
>>417 データベース板、最近見に行ったが、過疎ってるぽいな。
変なレスばっかりだし、情報源として役に立つのかな…。
こういうの調べるとき2chが頼りだったんだけどな。
そんならせめてWebProgスレで聞けばいいだろ なんでPHPに限定するんだ あっちも質問があったらすぐレスつくぐらいの活発さはあるぞ
いやいやDBスレでも質問あれば普通にまともな答え返ってくるぞ 先入観もってないで聞いてみればいいのに スレあげれば目立たないスレでも目立つでしょう
ちっとは黙っとけよ低レベル
490 :
471 :2011/05/19(木) 11:46:33.75 ID:Wi9MRWQP
みなさん、ありがとうございます。悩んでる間に寝てしまいました・・。
>>476 さんのやり方で概ね出来そうです!
$arrayにpidが無い(0)の配列が複数ある場合、
なぜかその配列は消えてしまいますが、
ヒントをいただいたので自分で考えてみます。
色々と検証していただき、ありがとうございました。
>>489 まさか俺様に言ってるんじゃないだろうね?
俺様に喧嘩を売るとはいい度胸をしてますね?
ごめんなさい
俺様は心が広いので許してあげます?
うん
こ
496 :
忍法帖【Lv=5,xxxP】 :2011/05/20(金) 12:42:24.57 ID:lhmTdNY3
散乱したスクリプトをrequire_once()しまくってると いつかは変数が衝突すんじゃないかと、不安になる。 perlみたく局所化できないし コードの量が増えるとやっぱOOPでこれを回避するしかないんでしょうか?
OOP関係ないし 名前空間は必要になるかもしれんけど
オブジェクト化を進めていくと大方のコードがメソッド内に収まるから、OOPも関係あるんじゃね。
オブジェクト化しても命名規則をきちんと決めないと 後から衝突したり、変更しなければ行けない時があるからね。 特に間違った英名を使っていた時とか・・・
ネームスペースでいいだろ
普通そういうのえの対処はnamespaceだな
変数だから、グローバルに書いちゃってるのをやめろってレベルの話かもよ。 クラスや関数なら衝突分かるんだし。
$str = "[ABCDE]"; $str = "[A1]"; を eregi("^\[([a-zA-Z0-9]+)]",$str) でマッチさせようとしたら [ABCDE]だけマッチして[A1]がマッチしないんですがなぜでしょう?
訂正 ×eregi("^\[([a-zA-Z0-9]+)]",$str) ○eregi("^\[([a-zA-Z0-9]+)\]",$str) ちなみにPHP5.2.10(Win32)を使用してます。
505 :
503 :2011/05/20(金) 15:56:35.21 ID:???
すみません、自己解決しました。 正規表現云々以前の問題だったようで、上記でマッチしました。
507 :
nobodyさん :2011/05/20(金) 20:38:14.44 ID:bTEqIegR
test
508 :
nobodyさん :2011/05/20(金) 20:52:22.34 ID:bTEqIegR
>>508 単純に大文字か小文字かの差だけなら
lowercase使えばいい
phpだと正式な関数名わからないけど大文字を小文字にする関数
php lowercaseでぐぐればたぶん出てくるだろう
大文字小文字が何の関係あるんだろうw
>>509 いやrss取得してるんだけどたまに順番がずれて取得されてしまう。
データベースに登録してある分と比較して新着だけ登録したいんだけど
順番ずれるとほかの登録する情報までずれちゃう・・
513 :
nobodyさん :2011/05/20(金) 21:04:29.91 ID:bTEqIegR
>>510 大文字小文字は関係ない
俺の説明が悪かったかな
なんで急に偉そうな口調になってんの?
普通に配列のindexわかるとおもうけど foreach ($array as $key => $value)
516 :
nobodyさん :2011/05/20(金) 21:22:34.22 ID:bTEqIegR
まぁ1行でできるんだけどね
なんで急に偉そうな口調になってんの?
なんでその1行を駄レスに変えてしまったの?
520 :
nobodyさん :2011/05/20(金) 23:53:29.38 ID:qHY71X5w
データーベースにあるデータを配列にいれ 任意のデータを抽出したいです よろしくお願いします
そうですか頑張ってください
こちらこそ宜しくお願い致します
>>524 低脳で結構
ついでにお前の質問の低脳ぶりも見直せ
>>520 使用しているRDBMSが配列をサポートしているか調べる
サポートしている→マニュアル読む、または配列を入れようとせず、正規化する
サポートしてない→正規化する
配列ってPHPの配列じゃねーの?
Ajax使えば簡単なのに
ajaxアンチ乙
>>531 アンチとか言って切り捨てずにきちんと検証しろ
533 :
nobodyさん :2011/05/21(土) 14:43:53.71 ID:1aWgA8iu
よく分かりません もっと詳しく説明してくれませんか? よろしくお願いします
通信手段のajaxが何の関係あるんだタコが
Ajax使えば何でも実現できんのに配列とか意味わかんねww
536 :
527 :2011/05/21(土) 15:37:05.33 ID:???
537 :
nobodyさん :2011/05/21(土) 18:37:42.01 ID:GXwJOGRX
微妙な疑問なんですが、constはstatic同様 メモリ上で静的領域に確保されるんですか?
シラネ
Shirane
540 :
nobodyさん :2011/05/22(日) 00:18:52.31 ID:6xJvzXw/
Windows XAMPPでXSLTProcessorを使おうとしたのですが、 'XSLTProcessor' not found と言われます。 おそらくXSLTProcessorを使うための何らかのモジュールが足りないんじゃないかと 推測しましたが、そこから先、つまり何をどうやって足せばよいのかわかりません どうかご指導お願いします。
シラネ
初心者がxampp使うな
初心者はXAMPPを使うなっ!!!!!!!!!!!!!!!!!!!!! 一つずつapacheとphpを入れろ!!!!!!!!!!!!!!!!!!
上級者はXAMPPなど使わんぞ XAMPPを使うのは初心者に毛が生えた奴だろうな
546 :
nobodyさん :2011/05/22(日) 22:18:30.26 ID:U+yRiBZY
初歩的な質問ですみません。 Pearをgo-pear.phpを使用してインストールしたんですが セキュリティーの問題があるため、パスワードを設定して下さい 的なメッセージがpearの管理画面によく表示されているのですが Pearのインストールディレクトリのアクセス権限を 000 にしてしまえば問題無いでしょうか? ※パスワードを設定するのはメンドクサイのではなからアクセス制限をしてしまった方が 手っ取り早いと考えています。
シラネ
ペアのパッケージを選択してインストールできる画面です。 CUIじゃなくてGUIでインストールするやつ。
いや設定しろよ テスト鯖なら別にいいけど誰でもアクセスできるならね
アクセス権限を 000 にすればOKですよね?
>>550
なんで設定しないの?
誰でも管理画面を使うことはできるが、モジュールのインストール自体は行えないようにしたいってことか。 まぁ、000のモジュールを読み込めるならいいんでないの
rm -f go-pear.php これでいいだろ?残しておく必要あるの? もしくは別のところに移しておけ
>>551 そう思うならそうすりゃいいじゃねぇか
人に聞くなよ
556 :
nobodyさん :2011/05/23(月) 00:19:11.18 ID:ysMCJkiI
各値に文字列を入れて、 mb_language('japanese'); mb_internal_encoding('UTF-8'); $header = "From: ".$from; $sendmail_param = "-f".$from; mb_send_mail($to, $subject, $body, $header, $sendmail_param); とやって実行すると、ちゃんとtoにいれたアドレスに、件名、本文がはいったメールが送信されるんですが、なぜか二個送られます どういうことが考えられますでしょうか 二度処理するように書いてないのでわからなくて困ってます ご教授お願い致します
シラネ
>>556 みたいに「ご教授お願い致します」って書く奴多いな
→「ご教示お願い致します」
559 :
nobodyさん :2011/05/23(月) 00:27:28.01 ID:ysMCJkiI
556です ご教示いただければ幸いです 宜しくお願い致します
562 :
nobodyさん :2011/05/23(月) 00:44:20.89 ID:ysMCJkiI
>>561 これが全文です
受け取り側の設定かと思い違う宛先にもしましたがやはり二通行きます
<?php
$subject = "サブジェクト";
$body = "本文";
$to = "
[email protected] ";
$from = "
[email protected] ";
mb_language('japanese');
mb_internal_encoding('UTF-8');
$header = "From: ".$from;
$sendmail_param = "-f".$from;
mb_send_mail($to, $subject, $body, $header, $sendmail_param);
?>
>>562 sendmailのオプションを外してみる
mail関数を使ってみる
php.iniを変更してSMTPで送信してみる
ウィルスバスターのURLフィルターとか、余計なソフトが事前にURLへアクセスしてないか調べてみる
>>564 うん、お前は馬鹿だった。いや、今も馬鹿だ。世界一の馬鹿だ。
>>562 少なくともそのソースで2通送信されるわけないから
そのソース以外に原因がることは明らかだろ
568 :
nobodyさん :2011/05/23(月) 01:10:06.91 ID:ysMCJkiI
>>565 事前にアクセス、とあったのでブラウザをGoogle Chromeからfirefoxに変更したら二重送信にならなくていけました
クロムがそんな動作するとは・・・
ありがとうございました
他の回答者は無視か。市ね!
>>569 お前どの回答したんだ?
俺が代わりにお礼言ってやるから気を静めろよ
せっかく答えてやったのに。もう答えてやらん!
575 :
nobodyさん :2011/05/23(月) 03:26:20.62 ID:ysMCJkiI
>>574 VALIDATORみたいなの入れてました
レンダリングと走査で二回読んでるってことですね
理解できました
ありがとうございます
>>558 くだらない指摘ありがとうございます。どちらでもいいはずなんですけど、
>>558 さんがイライラしなくてすむように「教えてください」がベストですよね。
未だにmb_send_mail使う男の人って・・・
mb_send_mailって女性向けなんですか
>>577 なりすましw
ネタレスに食いつくとか…え、もしかして?
>>580 なりすましって言う奴がなりすまし
というのが2chのルール
>>579 mb_send_male
が男性向け。
mb_send_f
mb_send_shemale関数で送って欲しい
shemale?
ladyboy
ladyborden
ボーゲン パラレル ウェーデルン
588 :
nobodyさん :2011/05/23(月) 23:02:06.42 ID:d2ZK5Ldr
cronを使う代わりに、imgタグをPHPで作ってそこで実行させるやり方があります。 しかし、処理に時間がかかる場合は、ブラウザがずっと読み込み状態になります。 これは、バックエンドで実行できないので仕方ないのでしょうか? execを使ってバックエンドで実行する方法もあるようですが・・・
それでなんでだめなの?
>>588 JavaScriptのXMLHttpRequestでPHPを非同期実行すれば?
591 :
nobodyさん :2011/05/23(月) 23:28:31.02 ID:d2ZK5Ldr
>>589 開発はWindowsでやってまして・・・
>>590 Ajax使うとかですか?ちょっと試してみます
windowsとか関係ないだろ セーフモードっていう制限あるなら別だが・・・
windowsとか関係ないだろ
594 :
nobodyさん :2011/05/23(月) 23:42:26.78 ID:d2ZK5Ldr
>>590 jQueryのAjaxでやってみたのですが、10秒sleepかけたら
結果が表示されるまで10秒待たされますね・・・
595 :
nobodyさん :2011/05/23(月) 23:44:39.80 ID:d2ZK5Ldr
>>592-593 予約フォームでも作って配布しようと思ってるのですが、
execってサーバの仕様によりますよね?Windowsは関係ないにしても。
ですので、難しいかな?と思っております。
windows鯖ならタスク使えばいいだろ
>>594 それはJavaScript側のイベントタイミングが悪いだけでは
>>595 curl_multi_*系使えば?ソース切り分けるのが大変なら
あとは頑張れとしか言いようがないが・・・
599 :
nobodyさん :2011/05/24(火) 03:25:16.83 ID:jZjKrKf9
【OS名】Apache 【PHPのバージョン】5.2.5 【連携ソフトウェア】なし 【質問内容】 mb_convert_encodingでShift_JISの文章をUTF-8にすると Uが?に、〜が?に変わる等、もとの文字から変化してしまうんですが これを防ぐ方法はありますかね? SJIS→EUCだと無問題でしたが、UTF-8で組み上げてしまったので今更此処だけのために変えたくないのです。 元データはShift_JISから変更できないものとして下さい。 対策法ありましたら教えていただきたく思います。
600 :
599 :2011/05/24(火) 03:26:18.70 ID:jZjKrKf9
訂正。 Uが?に、〜が?に
601 :
599 :2011/05/24(火) 03:27:21.80 ID:jZjKrKf9
どうも表示出来ないようですので… 〜が「wikipediaで〜の代わりに利用されている記号」でお願いします。
>>601 mb_convert_encoding(mb_convert_encoding($str,"sjis-win","SJIS"),"UTF-8","sjis-win");
あー。 「〜」ってめんどくさいよ。波ダッシュ問題とかその辺で調べるとでてくると思う
>>601 間違えた。これでOK
$str = mb_convert_encoding($str,"UTF-8","sjis-win");
ちなみに「〜」の反対の波ダッシュはshiftJISには存在しないはずだよ
606 :
nobodyさん :2011/05/24(火) 10:35:42.44 ID:B17q1BJi
>>606 少しはググったら?「url取得 php 相対」
608 :
nobodyさん :2011/05/24(火) 11:47:09.98 ID:B17q1BJi
もちろんググりましたよ ただ標準関数があるかないかだけ知りたかったので ググった先の人は自作関数つくってましたが ドキュメント不足であまり知られてない関数も多数あるので 知ってる人いないかな?と思って聞きました
ドキュメント不足wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
610 :
nobodyさん :2011/05/24(火) 12:00:28.73 ID:B17q1BJi
>ただ標準関数があるかないかだけ知りたかったので そのような内部(ビルトイン)関数は無い
612 :
608 :2011/05/24(火) 12:23:32.00 ID:B17q1BJi
>>611 ありがとうございます
おとなしくPHPで実装しますか
それか諦める
どうせNet_URLあたりで一瞬でしょ
一方ロシアはdirnameを2回呼んだ
dirname関係ないでござる
617 :
nobodyさん :2011/05/24(火) 13:22:12.72 ID:4tHNdJ+f
ニコ生からコメントを取得したいのですがうまくとれません どなたかご教示お願いします $svr = "msg103.live.nicovideo.jp"; $port = "4桁の数字"; $thread = "数字"; $fp = @fsockopen ($svr, $port, $errno, $errstr); if (!$fp) { echo "Error:{$errno}, {$errstr}\n"; return false; } fputs($fp, "<thread thread=\"{$thread}\" res_from=\"-200\" version=\"20061206\" \/>\0"); while(true){ while(!$char = fgetc($fp)){ echo $char; } sleep(2); } socket_close($fp);
618 :
599 :2011/05/24(火) 13:40:24.73 ID:jZjKrKf9
>>602-604 ありがとうございます。
SJISと思い込んでおりましたがSJIS-winだったようですorz
PHP以前の問題に回答していただき有難う御座いました。
GZIPの展開処理でdataスキームを使うとエラーが出る環境があります。 エラーが出た場合、tempファイルを一旦作ってから処理しているのですが、 dataスキームが使える環境と使えない環境の違いがわかりません。 どなたかご教示ください。 // エラーが出ることがある部分 $zp = @gzopen('data:application/x-gzip;base64,'.base64_encode($gzbody), 'rb'); //$zp = @fopen('compress.zlib://data:application/x-gzip;base64,'.base64_encode($gzbody), 'rb'); // これも同じ
620 :
nobodyさん :2011/05/24(火) 16:54:31.46 ID:b9bCoq0a
ID忘れてました
621 :
619 :2011/05/24(火) 16:56:39.02 ID:???
【確認した環境】 × CentOS PHP5.1.6 ○ WindowsXP PHP5.3.5
623 :
619 :2011/05/24(火) 17:52:20.30 ID:???
ありがとうございます。 php -i | grep configure | sed -e 's/ /\n/g' | grep zlib で --with-zlib は確認できます。
dataは5.2からです
626 :
617 :2011/05/24(火) 20:37:24.93 ID:???
どなたかお願いします
うまくとれませんじゃ解りません もうちょっと原因の切り分けをすべきです ぱっと見で言えば、無限ループじゃね?という感じか Cとかみたいに随時出力とかはそれでは出来ないけど
>>626 ニコ生の規約に違反するので教えられません
バカばっかだなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
お前モナwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
さすがに
>>627 はコードを読んでないし
>>628 はapiも知らない無知
こいつらのせいでPHPスレの回答者はなめられていい迷惑だ
>>631 お前一人のせいで全員が迷惑していることを少しは自覚しろ
>>631 さすがの俺でもコードを読んだら無限ループだったわ
634 :
619 :2011/05/25(水) 00:15:43.20 ID:???
コメントを取得するのに失敗しているのは無限ループの所は関係ないと思うけどな バカの一つ覚えみたいに無限ループがなんて騒いでるのも己のスキルがバレるよ
636 :
nobodyさん :2011/05/25(水) 11:11:00.56 ID:5sX1Dxk4
$query="insert into myblog(title,abstract,context,uptime)"; $query .="values(\"" .$url. "\",\"".$data."\",\"".$data."\",CURDATE())"; こんな感じでinsertしてるのですがうまくいきません すいませんがどなたがご教示下さい
>>636 釣りじゃないならエラーメッセージとテンプレ
エスパーすると $data = mysql_escape_string($data); を実行
638 :
nobodyさん :2011/05/25(水) 11:25:03.75 ID:jb860Ok3
memory_limitの値を取得する方法ってないですか? php.iniでの設定が「512M」になっていると、 ini_get('memory_limit')とすると「512M」と文字列のまま返ってきます。 数値で返ってくるような関数は実装されておりますでしょうか。 (なければ、512Mの文字列を数値に変換する処理が挟むので・・・) やりたいこととしましては、 大量のデータを取り込む ↓ メモリ使用率判定で、80%ほど使われていれば途中でエラーと行番号を出す memory_get_usage()と比較して判定 宜しくお願いします
>>638 たぶんない
というか、$limit = (int)ini_get('memory_limit'); だけで済むでしょ
640 :
nobodyさん :2011/05/25(水) 11:35:57.00 ID:jb860Ok3
>>639 > というか、$limit = (int)ini_get('memory_limit'); だけで済むでしょ
いやそれはないだろwwwwwww
※ここはレベルの低い回答者も顔がデカイので粘着に注意しましょう 彼らは顔真っ赤になると自分を肯定するために荒らすので注意しましょう
>>635 >>617 のソースのみから考えられるのって無限ループと
fputsしてる部分で \/の\が不要って部分ぐらいだろ。
そしてどの段階でコメントが取得できていないと書いてないから不明
PHPを表示させて取得できないっていうなら無限ループだし
ループ無しの状態でfgetcしてもとれないのかも不明
質問者が手を抜きすぎなんだよ
\0も不要だな・・・。なぜnull文字を・・・。PHPとCは違うぞ。
と思ったら\0はAPIの仕様か・・・。
分かんない奴は黙っててくれよ。。。。スレが汚れるだけだから
分かんない奴はというならお前が答えてやれよw
650 :
nobodyさん :2011/05/25(水) 12:34:40.94 ID:JzX2/aKg
$str = "<text></text>"; preg_match("/<text>(.+?)<\/text>/", $str, $m); print_r($m); 結果はこうなりますが Array ( [0] => <text>abc</text> [1] => abc ) これをキャプチャするabcだけ取得した形にする方法はありませんか?
651 :
nobodyさん :2011/05/25(水) 12:51:11.80 ID:5sX1Dxk4
$query = "insert into myblog (title,abstract,context,uptime)"; $query .= " values (\"" . $url . "\",\"" . $url . "\",\"" . $url . "\",CURDATE())"; こんな形で解決しました 有難う御座いました
$m[1]
この質問定期的にくるね
無限ループ無限ループと馬鹿にするので質問と回答の無限ループを作ってみた
配列が空かどうか調べる方法を教えてください
657 :
nobodyさん :2011/05/25(水) 14:23:26.04 ID:vv7yAL0x
$a = array(array(),array(),array()); これが空と判定されて $a = array(array(1,2,3),array(),array()); が入っていると判定する方法はありませんか? 値は数字とは限りません
>>657 var_dump((bool)array_filter($a, 'count'));
659 :
617 :2011/05/25(水) 14:55:26.09 ID:???
解決できました fgetcを使ったのがいけないみたいです
>>655 回答しないとループしないぜ。
俺は今回回答しないことに。てか、過去ログ見ろって思うよね。
さすがに無限ループが原因と思ってる回答はねーわな
$a = array(1,2,3,4,5,6,7,8,13,24,100,54,23); 配列内の値を2で掛けた値に変更したいのですがどうやるのが一番よいですか?
664 :
nobodyさん :2011/05/25(水) 17:43:37.47 ID:jb860Ok3
どうやるのが一番良いって言われても・・・。 どういうやり方があって各メリットがあって、それに対して意見求めるならわかるんだが ただ単に「どうやるのが一番よいですか?」ってただの教えて君にしか見えないよ
無限ループを解凍したあだ名は無限ループ君が荒らしてるのか
>>663 array_walk($a,function(&$v){$v*=2;});
とか
foreach($a as $var=>$val)$a[$var] = $val*2;
foreach($a as &$v)$v*=2;
671 :
m ◆HtQ8Kj2zzc :2011/05/26(木) 09:19:06.10 ID:Hn9Exv6E
【OS名】CentOS release 5.4 【PHPのバージョン】5.1 【連携ソフトウェア】なし 【質問内容】 セッション管理での質問です。 session_start()の後にガベージコレクションが動くと思うのですが以下の状態になって困っています。 ガベージコレクションの実行確立は100%(session.gc_probability=100,session.gc_divisor = 100) session.gc_maxlifetimeを10秒に設定して1回目の処理でsession_start()時点でセッションファイルを作成。 同じ処理を15秒後に再度実行、session_start()直後に1回目で作成したセッションファイルが削除される。 session_start()の時点でセッションファイルの寿命が伸び、作成から0秒なのでガベージコレクションの 削除対象とはならないと思うのですがこの考え方は間違っていますか? また、この状態は正常ですか? 回避する方法はありますでしょうか?
>>671 > session_start()の時点でセッションファイルの寿命が伸び、作成から0秒なのでガベージコレクションの
> 削除対象とはならないと思うのですがこの考え方は間違っていますか?
間違っている。
session_start()内の処理順序は、セッションファイルの読み込み→GCの起動。
GCは単純にファイルの更新日時を見て削除する。
セッションファイルの読み込みだけではファイルは更新されないので寿命は延びない。
> また、この状態は正常ですか?
正常。
> 回避する方法はありますでしょうか?
session_start()直後にsession_regenerate_id()を呼べば、
新しいセッションファイルが作成されるのでセッションを継続できる。
他にもあるかもしれないけど知らない。
やったことないけど、間違ってるんのカナ 同じセッションIDでも 不要セッションファイル削除 ↓ 以前のセッションファイル読込み ↓ 新たにセッションファイルに書き込み てなっとるんかな?わしも知りたい
ほー 逆なのね
知りたいならsession_set_save_handlerあたりをつかって 自分でDBとかに保存するプログラムを書くのが一番理解しやすいと思うよ
676 :
671 ◆HtQ8Kj2zzc :2011/05/26(木) 12:51:53.70 ID:Hn9Exv6E
回答ありがとうございます。 session_start()内の細かい処理はわかりませんが、session_start()が終わった時点でファイルの更新日時は更新されるようです。 GCが別の更新日時を見てるのか…。 セッションファイルの読み込み→GCの起動→セッションファイルの更新という順番なのか…。 そもそも、session_regenerate_id(true)を行ったときに以下のエラーがでたのでこの問題に気づきました。 session_regenerate_id()では問題ないのですが、元session_regenerate_id(true)を利用したいのですよね。 [エラーメッセージ] Warning: session_regenerate_id() [function.session-regenerate-id]: Session object destruction failed in ファイル名 on line 42 session_set_save_handlerは試してみます。
677 :
nobodyさん :2011/05/26(木) 20:49:39.23 ID:OIghcQ22
$str1 = 'あああ'; echo mb_detect_encoding($str1, "UTF-8,sjis-win,eucjp-win");//UTF-8 $str2 = <strong>'あああ</strong>'; echo mb_detect_encoding($str2, "UTF-8,sjis-win,eucjp-win");//SJIS-win と言う結果になります。ページの文字コードはUTF-8です。 どうして後者のHTMLが入った場合はSJISになるのでしょうか?
mb_detect_encodingの正しい使い方をしましょう
それを質問してるんだろうが。くずが
氏ね
>>677 再現しない
下のコードでも本当にそんな結果になる?
<?php
$str1 = "\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82";
echo $str1, ':', mb_detect_encoding($str1, "UTF-8,sjis-win,eucjp-win"), PHP_EOL;
$str2 = "\x3c\x73\x74\x72\x6f\x6e\x67\x3e\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\x3c\x2f\x73\x74\x72\x6f\x6e\x67\x3e";
echo $str2, ':', mb_detect_encoding($str1, "UTF-8,sjis-win,eucjp-win"), PHP_EOL;
>>677 両方ともUTF-8になるよ。
syntax errorにならない最少コードをちゃんと書いて試して環境を添えて報告して。
684 :
nobodyさん :2011/05/26(木) 22:19:49.17 ID:OIghcQ22
>>682 そのコードであればUTF-8になります。
実際は、フォームから送信された値をチェックしてるんです。
それでPOST内にHTMLがあるとSJISになってしまうので調べていました。
>>677 のような最小のコードを書いてもHTMLがあるとSJISになるので
どうしたものかと悩んでいました。
特にHTMLが変数に入っているからmb_detect_encodingが効かないとか
そう言う事はないみたいですね。サーバ側の問題かもしれません。
もう少し調べてみます。ありがとうございました。
サーバの文字コードの設定ぐらい掛けや
文字コードの設定は掛かっていません
その文字の実際の文字コードは何?
ページの文字コードはUTF-8ですが、文字の文字コードはどうやって調べるのでしょうか。 というより、文字コードを調べるためにmb_detect_encodingを使ったわけですが。
まあ、何がどうなってるのか分からんので切り分けですよ。 フォームから送信された値を print_r( unpack("H*",$str)); で
formタグに accept-charset 属性を付けても同じ結果になる?
PHP_EOLって最近よくみるな
違った、PHP_ELOって最近よくみるな
◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
◆回答者への注意 ・ 回答者として、態度をわきまえること。
>>688 phpの文字コードだけ調べてform送信しているページの文字コードを調べてないに一票
formの文字コードが Shift_JIS で
>>677 も実際は $str1 = 'aaa'; $str2 = '<strong>あああ</strong>'; だから $str2 だけ SJIS-win になるんだろう
>>694 もっと上から目線で偉そうに挑発的に回答しないといけないのか?
俺小心者だから困っちゃうな・・・
>>696 語尾にニャを付けにゃさいと言ってるにゃ!
PHP初心者が多いのにプライド上級者だけは多いスレだからな
自己紹介か?
700 :
nobodyさん :2011/05/27(金) 14:25:35.98 ID:FAcyXKz2
すみません。 メンバーのプロフィールをMySQLで管理するシステムを作っているのですが 登録される画像は皆さんどう入れていますか? バイナリでMySQLに入れるようにすればいいんでしょうか? それとも画像用のフォルダを作ってそこに入れればいいのでしょうか? 自分で使う用ではなく、他人に使わせる用なので悩んでいます。 ちなみに、メンバーは総数で数十人というところです。
画像ファイルを総当たりで見られても良いならフォルダ 見られたら拙い物であればDBからPHPを通して持ってきている
22. 画像・音・動画はファイルで保存?DBに保存? → 好きにしてください
704 :
nobodyさん :2011/05/27(金) 14:55:55.60 ID:WQFzDbB3
>>700 フォルダは危険だな。
画像なんていらねーよ
諦めろ
705 :
700 :2011/05/27(金) 14:58:52.61 ID:FAcyXKz2
ありがとうございます。
DBでやってみることにします。
>>704 画像必須なサイトのようなので
ログインしないと見れないようにするならデータベースに入れとけ そうでないなら直リンだけふさぎたいだけならhtaccessで設定しろ
707 :
700 :2011/05/27(金) 14:59:34.26 ID:FAcyXKz2
ぶっちゃけ風俗サイトです
業務サイトなら自分でかんがえろ
>>700 public_html 配下になければフォルダでもいいと思うけどなあ
公開ディレクトリかつpublic_htmlじゃないところはどうなんですかね。
ばかだwwwwwwwwwwwwwwwwww public_html内に置かないと画像よめねえだろwwwwwwwwwwwwwww
知らないなら黙ってろ
俺も
>>709 を支持するなぁ、PHPが読み込めるのは何も公開フォルダだけじゃないし
DBにバイナリデータつっこむと色々とめんどいよ
自演w
別にpublic_html配下においても困る画像じゃないんでしょ 下半身でもうpするのか?
こうなるからテンプレに入ってるのに・・・
風俗なんてチャンコロ産業に手を貸すお前らアホス 北朝鮮にでもいけ
ドイツがいい
今時画像ってどうなのよ。動画でしょ動画。
>>722 質問するのは困るからとは限らないと思うよ
ID:FAcyXKz2は画像が必須と言ってるだけで困るとかはいってない お前らが勝手にpublic_htmlとか言い出してヴァカな議論してるだけだw
PHPが読める場所ならどこでも画像呼び出せるだろ。
お前らさ、質問するのはいいんだけどそのあと上級者ヅラしてスレに居座るのやめろ バレバレ
>>724 どんな方法が適切か、を聞いてるんだろ
public_html 配下におかないことが不適切な理由をいえ
>>711 は共有サーバのtmpにアップロードされた画像がまずきて
それをユーザディレクトリーにコピーして使うという
アップロード処理の基本も知らないかわいそうな子なんだからスルーしとけよ
結論。 /root ディレクトリに置くのがベスト。
別にそこで困ってそうには見えないよ
>>727 そりゃお前が勝手に誇大解釈してるだけだわw
理由を言えなんて言われてもそんな下らない議論に付き合う気はないし
答え
>>703 で出てますしー
だから置くなら画像じゃなくて動画にしろよ! 今時画像じゃ物足りないんだよ!
>>733 お前、ハタから見てると充分議論に付き合っているように見えますが
>>728 じゃあ俺は/tmp監視してアップロードされたファイル全部かっさらうわ
>>736 残念でした。アップロードされたファイルは/tmp以外に置くようにしてます〜
盛り上がってるなあ 「好きにしろ」なら他人の意見を否定できるはずないのにね
>>735 質問者のいないとこで盛り上がるなといってんだよヴァカめ
もうとっくにいないだろ
>>739 僕を議論に巻き込んでくれてありがとう。寂しかったの。
さすがPHPスレだなwwwwwwwwwwwwwww バカ同士の共食いが始まってるぜwwwwwwwwwwwwwwwwwwwwwwwwwwww
777にすればいい
>>741 どう見てもお前の書き込みが一番馬鹿っぽい
そういう画像って一人でコソーリ愉しむ物だろ わざわざ公開する意図がわからん
>>745 自分のプロフィール画像を一人でコソーリ愉しむの?サミシイノ?
747 :
709 :2011/05/27(金) 16:50:44.19 ID:IFfcoRNX
>>742 大変だね…
Twitterのように公開主体のシステムなら公開し、逆なら非公開にすればいいと思ったんだけど
>>705 で最終的に後者の選択をしたから
>>709 を勧めた
画像とはいえ会員情報の一つなんだから慎重に考えるべきだと思うよ
黙ってろよ在日
>>746 自分の画像でもいいですが、自分が蒐集した画像というべきですね
752 :
709 :2011/05/27(金) 17:10:34.02 ID:IFfcoRNX
>>752 そのなかのどこを拠り所としてんの?
全部に対して意見するのはめんどい。DBは遅くならない。ソケットを占有するのは的外れあとは何
DBの方がいいと思う
>>752 リンクを見たけど回答の理由としてパフォーマンス的理由っぽいが…
数十人で飽和するなら違う部分から考える必要があると思うけどな
もしかしてそれだけの理由なのか?
756 :
nobodyさん :2011/05/27(金) 17:29:10.32 ID:wjQlQrw4
はじめまして。PHPのPEARについての質問があります。 PHPで作ったアップローダーで文字コードがシフトJISのファイルが大量に入ったzipファイルをアップロードして、 そのzipファイルをPEARのFile_achiveを使用して展開しようとしています。 続く。
757 :
nobodyさん :2011/05/27(金) 17:31:21.20 ID:wjQlQrw4
続き。 zip内のほとんどのファイルはきちんと解凍されますが、ファイル名にSJISのいわゆる「ダメ文字」が含まれると 正常にファイルが作成されず、なぜかディレクトリが作成されます。 原因にこころあたりのある方はいらっしゃいますか? 使用OS : CentOS release 5.5 、pearバージョン : File_Archive 1.5.4 、phpバージョン : PHP 5.2.14 どなたかお願いします。
>>752 こんな古い情報に惑わされてんのかwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
いつの時代のデータベースバージョン使ってんだねwwwちみはwwwwwwwwwwwwwwwwww
759 :
709 :2011/05/27(金) 17:40:10.35 ID:IFfcoRNX
>>753-755 パフォーマンスが理由だったけど深くは理解してないよ
画像のためにDBを肥大化しない方が良さそうな気がするけど、関係ないのかな
後は(個人的に)画像は別にした方が管理しやすいから
ファイルのほうがいいと主張するなら根拠を定量的に示してくれ
761 :
709 :2011/05/27(金) 17:51:13.54 ID:IFfcoRNX
>>760 >>759 が全てで付け足すことはないし、「ファイルのほうがいい」とは初めから主張してない
「DBのほうがいい」理由も聞きたいところだね
肥大化しないほうが良いとか 管理しやすいとかの具体的な指標は?
>>759 画像と関係ない処理で画像データも抜くような、たとえばselect *なんてことをやってるならもちろん遅くなるけども。
かといってDBに入れろとはいってないよもちろん。
まだやってたのか 自分の主張ぶつけなくていいから淡々と質問に回答だけしてろ
自分の主張をぶつけてるレスってどこ
画像じゃなくて文字でOK ピー子ちゃんってな
767 :
709 :2011/05/27(金) 18:15:51.47 ID:IFfcoRNX
名前出したらなぜか質疑応答の流れになっただけ 尋問されているような気もするけど俺を責めても何にもならないんだよね 「ファイルにすべきでない理由」や「DBにすべき理由」を知っている人が示せばいいだけだと思う
ちなみにピー子ちゃんは俺の犬の名前な これ豆な
質問攻めで相手が疲弊するのを楽しんでいるスレッドはここですか?
議論の結果、
>>700 にとって有用な情報が寄せられればいいんだけどな
叩くことに熱心な奴が邪魔をする
自演だろお前 風俗サイトつくってるやつに有用な情報が寄せられればいいとかキモイんですけど
>>767 >>747 を見たら
DB格納だとセキュリティ的に問題有る様に見えるぞ
DB格納・ファイル格納
・両方ともスクリプト経由で読みださせる必要がある部分は同じ
・imgタグのsrcとファイル名を切り離せるのは同じ
・DBは画像が実物のファイル単体で存在しない
と思い浮かぶ事はDB有利なんだよなぁ
それで聞いてみたんだが…
パフォーマンスってレスがきたからなw
動画だとパフォーマンスに影響があるから面倒だしDB格納は勧めない
アップローダもDB格納は勧めない
>>757 File_ArchiveのReader.phpに、パス中の\を/へ正規化するロジックが入ってるからたぶんそれ。
ざっと見だとReader.php自体を修正しないと無理。
DBに入れればいいじゃん DBだけバックアップすればいいんだから便利じゃん 画像表示するたびにSQL発行するのがイヤならキャッシュしようぜ
775 :
nobodyさん :2011/05/27(金) 19:09:48.38 ID:wjQlQrw4
>>773 ありがとうございます。
解決の糸口が見えました。
Reader.phpのソースを見て修正してみようかと思います。
>>767 君の場合、他の主張に対する自分の主張の優位点を示せないばかりか、
自分の主張自体の理由も全く持って示せていない。
「○○のほうがいいと思う。理由はそう思うから。」では話にもならない。
778 :
nobodyさん :2011/05/27(金) 19:24:45.96 ID:Fja4OM3Q
#include <stdio.h> int insuu(int); int main(void) { int x,aiueo; printf("西暦年を入力してください:"); scanf("%d",&x); aiueo=insuu(x); if(aiueo==1){ printf("夏季五輪があります\n"); } else if(aiueo==2){ printf("冬季五輪があります\n"); } else{ printf("五輪はありません\n"); return 0; } int insuu(int x) { if(x%4==0){ return 1; } else if(x%4-2==0){ return 2; } else{ return 3; } } ふざけて作ってみたんだけどエラーが出て実行できん(´・ω・`)
まだやってたのかよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww やるならトコトンやってろよwwwwwwwwwwwwwwwwwwwwwwwwwwwwww なんならツイッターでやってろよwwwwwwwwwwwwwww
>>778 カッコの対応が合っていない。
main関数の閉じカッコが無い。
int insuuの前に閉じカッコ } を入れればOK
784 :
nobodyさん :2011/05/27(金) 20:11:50.75 ID:UFxlVlcj
>>776 あなたは何も主張しないのですか?
批判するだけで、何の生産性も無い方ですか?
そっくり返してやるよとかやめてくださいね。
自分のだめな点を指摘されて、なんで「あなたは何も主張しないのですか?」になるの? そんなんだからだめなんだよ。
自分のだめな点だったところはIDを出さなかったところだけかと思ってました。
787 :
786 :2011/05/27(金) 20:23:53.79 ID:UFxlVlcj
ID出し忘れました。ダメ人間ですね。すみません。
>>788 対案なき反論は「その事についての問題点は判るがそれに変わる案が無い」って事じゃないのか?
>>789 そう
否定するだけならただのダメ出しでしょ
否定した後に自分が最善と思う案と根拠を提示して初めて参考意見となる
第三者的に見てダメ出しほど参考にならないものはない
「で、結局どうすればいいんですか?」と呆れ顔で顧客に言われるんですね。
そういうときは「仕様です」と答えます。
仕事できないプログラマの典型だな
「プログラムにバグはつき物です。」 「この世に絶対はありません。」 「仮にプログラムが完璧でもコンピューター自体が誤作動する可能性があります。」 「あなたは素人なんですから黙って使えばいいんです。」
何この流れ
796 :
nobodyさん :2011/05/27(金) 23:01:31.36 ID:wOdgUEen
SQL文を書かずにSQLITE3を操作できる方法ってありますか? Cakeのfind_byのような感じで
自分で作るしかないでしょ cake使ったこと無いしfind_byも知らないけど おそらく関数名(関数だよね?)から察するに 内部でselectしてるんでしょ
SQL文を書かず人に書かす
799 :
nobodyさん :2011/05/27(金) 23:35:04.76 ID:wOdgUEen
>>797 結局そうなりますよね……
ありがとうございます
>>798 それも解決策のひとつかも知れませんね
あきらかに阿呆な答えってわかってるならスルーしとけ ていうかまだAjax厨っていたのか
>>796 要はO/Rマッパ?
PEARのDB_DataObjectとか。
調べれば腐るほどある。
>>804 Ajaxを馬鹿にする奴は今に痛い目に合うぞ
最近PHPの仕事が減ったのでAjaxを勉強しているのですが、仕事が一向に増えません。 どうしたらよいでしょうか。
営業活動をする
仕事がない時は技術デモ用のサイト作りするべし
むしろ、デモしたい
もうサイトつくりは万全なのか
仕事寄越せデモ
自分の力で取ってくるものだろ
仕事を取ってくると簡単に言いますが、まず何をすればいいのでしょうか。
営業活動をする
仕事なんて寝て待てば舞い込んでくるもんだろ
朝から大笑いしてしまった。 昨夜から、こんな楽しいことをしていたのか?
大笑いするポイントが見当たらない件
>>817 お前がそれだけ笑いのセンスの無いつまらん人間だってことだ。
819 :
nobodyさん :2011/05/28(土) 15:06:52.81 ID:rO4N9U9a
サイトトップにphpブログ設置したのですが、 システムファイルがトップディレクトリに わんさかあり、わずらわしく感じています。 なおブログトップがサイトの表紙にする予定です。 topindex.php blogHolder本体+ otherHolder+ +・・・
俺レベルになるとブログに公開してるメアドに仕事依頼がウザイほど来る。 そこから暇な時に選りすぐって貯金の足しにしてる感じかな。
821 :
nobodyさん :2011/05/28(土) 15:09:22.96 ID:rO4N9U9a
としてtopindex.phpからスクリプト呼び出しをしたくおもっています。 topindex.phpファイルを <?php //トップ以下にブログシステムを隠すための工作 include_once('blogHolder本体/index.php'); ?> としてみたのですが、おこられます。 よいご意見があればおしえてください。
822 :
nobodyさん :2011/05/28(土) 15:51:33.66 ID:rO4N9U9a
chdir('blogHolder本体'); include_once('index.php'); これもだめでした。 本体内のindexphpから呼び出されるファイル内でエラーでます。
>>820 ネタじゃなくて?そういうことあるんだ?
お前は何を言ってるんだ
>>823 結構あるよ。例えば、
・家の前のドブさらいをして欲しい
・廃家電を産廃置き場まで運ぶのを手伝って欲しい
・屋上のTVアンテナの方向を調整して欲しい
・アライグマが逃げたので捕まえるのを手伝って欲しい
などなど。ちょっとした小遣いにはなる感じかな?
お前は何を言ってるんだ
>>822 ホルダーwを動かすって事はURLが全部変わるって事だから、
ブログアプリ側で明示的に対応してない限り普通は無理。
mod_rewriteとかでURL書き換えるスレ違い話。
ブログとか時代遅れだろ
暇ならゴキブリにでも向かって喋ってろよ邪魔だから
あ?喧嘩売ってんの果?こら
気持ち悪いから喋りかけんな ゴキジェットぶっかけんぞ
ぶちかけろよ ミジンコ低脳
ゴキジェットよりホウ酸ダンゴにしてください。 おなかも膨れるし。
834 :
822 :2011/05/28(土) 18:06:28.12 ID:9fy6NAIm
blogフォルダを一階層下に埋め込み トップからアクセスしたいだけなんです。 フレームってのはつらいので。 できれば、blogファイルの書き換えはなしのほうこうで。
トップからブログにリダイレクトすれば?
NetBeans6.9にて、 ブレークポイントが無いところで何故かブレークし ブレークポイントのあるところで止まりません… ブレーク場所は何故かコメント行を指しています。 作業端末(192.168.1.2)→apacheサーバ(192.168.1.4)で開発していて、 /etc/php.d/xdebug.ini zend_extension=/usr/lib/php/modules/xdebug.so xdebug.remote_enable=on xdebug.remote_handler=dbgp xdebug.remote_port=9000 xdebug.remote_host=192.168.164.2 でデバッガセッションは開始できています。
ではハードの使い方を手取り足取り教えてくれ
$foo = "foo"; echo $foo["hogehoge"]; これが警告でなくなったのっていつから?
お前がスレタイを読まなくなってから
すまない、スレタイもテンプレも呼んでいるんだ 本当にすまないと思う
ホウ酸ダンゴよりコンバットのほうがきく これはマメな
本当にすまない 自分のしていることを正当化するつもりはない あとコンバットは日本のゴキブリにはあまり効かず費用対効果が悪いんだ
すまない、スレタイもテンプレも読んでないし読むつもりもない 本当にすまないと思うが断言しておく 無視するとかじゃなくてこれは俺のポリシーだから譲るつもりはないんだ
ゴキブリは醤油味噌で炒めるか、素揚げにして塩を付けて食うのが旨いよ。
>>844 ,848
テンプレを読んでるのか読んでないのかどっちなんだ
852 :
nobodyさん :2011/05/28(土) 22:30:48.44 ID:5GvKa1uY
Cookieの使えない携帯でセッションは使えないですよね? 先輩が大丈夫、使えるって言ってるんですが。
セッションはCookie以外の実装方法もある
854 :
nobodyさん :2011/05/28(土) 22:53:27.21 ID:5GvKa1uY
URLにセッションIDを埋め込むのはセキュリティ的に問題あるので、それ以外での方法となるとどんな感じのものがあるんでしょうか?
855 :
nobodyさん :2011/05/28(土) 23:12:31.53 ID:r1AENfqX
inputのhidden
携帯のUID
POST
858 :
nobodyさん :2011/05/28(土) 23:23:23.61 ID:5GvKa1uY
そういえばhiddenがありましたね。 UIDはスマホで無線LANのときとかに制限あったりするので、一意なものとして扱うのは厳しいですね。
ワンタイムトークン
テンプレ呼んでません どうも糞仕様に慣れません
php を VS.php を使って開発してる奴は日本では俺以外にはいないのか?
862 :
837 :2011/05/28(土) 23:44:14.41 ID:???
>>838 失礼しました。
J2EE開発等ではNetBeansは使用しているのですが、
PHPでの開発は初めてで不慣れな環境構築をしたばかりなので、
恐らく環境のミスによるものだろうと考えています。
また、
PHPのリモートデバッグに関するトラブルなので、
それ関係の知識や経験はこちらの皆様は豊富だろうと思い、
PHPの質問を広く受け付けているこちらで質問させていただきました。
php を Ajax を使って開発してる奴は日本では俺以外にはいないのか?
>>863 AjaxでPHPを書いてるってこと?
kwsk
かまってもらえないから自演しちゃった。てへっ
php.js?
ajax.php
868 :
nobodyさん :2011/05/29(日) 15:38:31.37 ID:cQ5ojxxZ
[PHP]: Use of undefined constant fales - assumed 'fales' in file これなんですかね?
falseに直せ
ajaxに直せ
Ajaxの人へ YOUコテハンにしちゃいなYO!
愉快犯なのにするわけないじゃん
俺は応援してるぞ 固定HNにしてくれたらもっと応援する
つうかajaxとか死語だろ 恥ずかしくないのか?
「ajaxアンチ」って良く聞くけど、ajaxが嫌いな人って意味?
なんだここ、くだらねぇ。。。
878 :
nobodyさん :2011/05/29(日) 23:52:57.21 ID:hYY0shxd
phpの画像をアップロードするプログラムで拡張子をjpgのみにする方法ってどんなモノがありますか?
MIMETYPEを見る
アップされた画像をjpgに変換したい・・・わけじゃないよな
imagemagick
>>878 > phpの画像をアップロードするプログラムで
phpの画像ってなんですか?
それをアップロードするプログラム?
もしかしてftpなどを言っていますか?
> 拡張子をjpgのみにする方法ってどんなモノがありますか?
アップロードするプログラムの仕様の話をしていますか?
>>882 > phpの画像をアップロードするプログラムで
常識的に考えて「phpのプログラム」で「画像をアップロードするプログラム」の意味だとわかる思うけど
>>882 こんな下らないツッコミというかイチャモンつけて喜ぶ神経ってどうなってんだろな
>>884 ツマラン奴に絡むと、あなたの人間性も問われますよ。
サイテイな人間だね!
そんな感じでねw
w?
>>878 余計なお世話だが画像のアップロードでjpgに限定するのは窮屈だよ
最低でもjpg gif pngぐらいはサポートしないと
888 :
nobodyさん :2011/05/30(月) 15:59:04.21 ID:YY0259xD
メールフォーム作ったんだけど、 特殊文字っていうか、HTMLのタグとか送信しようとしたら変な感じになるのってどうにかできるの?
自分の環境に依存する原因を さぞかもそれがスタンダードのように語らないでくれるかね
890 :
888 :2011/05/30(月) 16:28:38.98 ID:YY0259xD
>>889 マジか
つまりはやり方が悪いのであって、みんなも同じわけじゃないんだな…
実際にタグを送ったらどうなったのかを書けばわかるかもよ。 変な感じじゃ分からないわ。
確認画面に入力内容をそのまま表示しようとしてるんだろ
893 :
nobodyさん :2011/05/30(月) 16:37:09.59 ID:8EvHuYIh
ローカルでテストし、サーバーで直接アクセスしても動くのにCronだと上手く動かない事があるんですが これは何故でしょうか?パスの設定は間違っていないのにです。
894 :
888 :2011/05/30(月) 16:41:33.59 ID:YY0259xD
たとえば、メール本文のtextareaに <p><a href="/">トップページ</a></p> って入れたら、確認画面で「本文」の項目には何も表示されてなくて、 代わりにどっか関係ないとこに一部分だけ表示されてる <td width="100">本文</td> <td width="500"><p><a href="/">トップページ</a></p></td> タグは上の通りちゃんと「本文」の項目の中におさまってる なぜ…
>>894 出力するときにhtmlspecialchars($str, ENT_QUOTES)しろよ
896 :
888 :2011/05/30(月) 17:04:07.81 ID:YY0259xD
>>893 読み込んでるphp.iniとか
cronとhttpdの実行ユーザーの違いによる必要なパーミッションは確認した?
898 :
nobodyさん :2011/05/30(月) 19:15:51.10 ID:S1zXn6tt
環境 Windows Vista PHP 5.3.5(php.iniはphp_mbstring.dllを有効) Apache 2.2 MS Access 2007 PHPからODBC接続でAccessに接続すると、 旧字のみが?で表示されてしまいます。 具体的には ?、K、?、コ など・・・ 処理の流れはODBC関数を使った一般的な方法だと思います。 odbc_connect->odbc_exec->odbc_fetch_row->odbc_result mb_detect_encodingで調べてみると結果はSJISとなってました。 odbc_execで処理すると勝手にSJISになってしまうのでしょうか? UTF-8で取得するオプションはありますか? よろしくお願いします。
>>896 いろんな悪事の踏台にされるからきっちり対策しときなよ
900 :
898 :2011/05/30(月) 19:29:50.32 ID:S1zXn6tt
mb_convert_encoding
902 :
898 :2011/05/30(月) 19:48:29.88 ID:S1zXn6tt
>>901 一部の文字のみ?で表示されているので
mb_convert_encoding では解決できないようです。
bin2hexで見てみると?のコード3fが返っているので、
odbc_execで実行する時点でUTF-8のデータをSJISに変換しているようです。
SET NAMESでUTF-8を指定してみるとか、 ALTERでテーブルのキャラセットをUTF-8に変えてみるとか。 AccessもODBCも使ったことないけど。 そういうのってASP使うだろうし、このスレじゃ馴染みが薄いと思うわ・・・ 答えられる人いるのかしらん
PHPなんですが、fileという名前でアップされた画像を echo $_FILES['file']['name'] で表示できますか? エラーも出ず、表示されません
マニュアル読めないやつは
>>1 も読めないという典型
アップロード処理なんて詳細にマニュアルに書いてるのに
>>904 <form enctype="multipart/form-data"
907 :
nobodyさん :2011/05/30(月) 21:00:20.45 ID:qklGJSUi
>>906 <form enctype="multipart/form-data"
は入力しています
<form enctype="multipart/form-data" method = "POST" action="<?php echo $_SERVER['PHP_SELF']?>">
ファイル:
<input type="hidden" name="FILE_TYPE" value="jpg" />
<input type="file" name="userfile"/>
<input type="submit" value = "アップロード"/>
</form>
<?php echo $_FILES['userfile']['name']; ?>
formと表示のところはこんな感じです
>>907 俺の実行結果
array(1) {
["userfile"]=>
array(5) {
["name"]=>
string(8) "test.jpg"
["type"]=>
string(11) "image/pjpeg"
["tmp_name"]=>
string(25) "C:\WINDOWS\Temp\php51.tmp"
["error"]=>
int(0)
["size"]=>
int(117588)
}
}
909 :
nobodyさん :2011/05/30(月) 21:17:28.81 ID:qklGJSUi
>>908 あれ、エラー出ました?
<?php
if(!empty($_FILES['userfile']['tmp_name'])){
move_uploaded_file($_FILES['userfile']['tmp_name'],"upload.jpg");
}
echo $_FILES['userfile']['name'];
?>
<html>
<head>
<title>アップロード</title>
</head>
<body>
<form enctype="multipart/form-data" method = "POST" action="<?php echo $_SERVER['PHP_SELF']?>">
ファイル:
<input type="hidden" name="FILE_TYPE" value="jpg" />
<input type="file" name="userfile"/>
<input type="submit" value = "アップロード"/>
</form>
</body>
</html>
こんな感じです。
>>909 5行目に全角スペース
セミコロンが全角
>>910 あ、それはコピペの時に空白開けたんでソースは大丈夫です。
<?php
if(!empty($_FILES['userfile']['tmp_name'])){
move_uploaded_file($_FILES['userfile']['tmp_name'],"upload.jpg");
}
echo $_FILES['userfile']['name'];
?>
<html>
<head>
<title>アップロード</title>
</head>
<body>
//<img src="upload.jpg">
<form enctype="multipart/form-data" method = "POST" action="<?php echo $_SERVER['PHP_SELF']?>">
ファイル:
<input type="hidden" name="FILE_TYPE" value="jpg" />
<input type="file" name="userfile"/>
<input type="submit" value = "アップロード"/>
</form>
</body>
</html>
画像は表示されず、画像の元の名前****.jpgだけ出ますね
そりゃnameをechoしてるんだからそうだろうね
913 :
nobodyさん :2011/05/30(月) 22:08:21.82 ID:qklGJSUi
えっと、nameを何に変えればいいでしょうか?
>>913 header(”Content-type: image/jpeg”);
readfile($filename);
解決したら早々にシカトか
916 :
nobodyさん :2011/05/31(火) 00:30:19.36 ID:jt1ns54Z
いや、まだ表示されませんでした
そうですか
アドバイスは適切だけど理解できてないだけだと思うな
>>914 を
>>911 の echo のある行に入れてるんでしょ
919 :
nobodyさん :2011/05/31(火) 01:24:37.41 ID:9983d1O5
<title>アップロード</title> </head> <body> //<img src="upload.jpg"> ここのimgタグの事を言ってるんじゃないのか?
920 :
nobodyさん :2011/05/31(火) 01:28:23.90 ID:9983d1O5
921 :
nobodyさん :2011/05/31(火) 02:08:16.78 ID:jt1ns54Z
ちょっとやってみます
922 :
nobodyさん :2011/05/31(火) 02:10:38.12 ID:jt1ns54Z
>>920 あ、すみませんhtmlでは表示されてるんで
phpで表示させたかったんです。消し忘れてました。
あと
>>918 の言うとおりechoの所に入れてました。
どこに入れるべきなんでしょう?
923 :
nobodyさん :2011/05/31(火) 02:40:36.07 ID:jt1ns54Z
$img='upload.jpg'; header('Content-type: image/jpeg'); readfile(&img); こんな感じでしょうか
いい加減、Googleさんに聞かないか。
あ、&になってましたね、行けました、ありがとうございました。
>>924 Googleで聞いたところ、スレ違いだと言われ、こちらのスレッドに誘導されたのです。
>>926 BOSS SILKY BLACK吹いたw
じゃあアホーに聞けよ
Javascriptのifで phpの変数$hogeが存在した時に実行されるような条件式を作りたいのですがどうしたらいいのでしょうか? <script> if(<?=$hoge?>が存在したら){ } </script> こんな感じです
if(<?php echo isset($hoge) ? 1 : 0 ?>){ }
931 :
nobodyさん :2011/05/31(火) 08:14:58.37 ID:N2VcCTyd
ありがとうございます! javascript含んだ質問ですみませんでした! ID表示するのも忘れてたのに感謝ッス!
933 :
898 :2011/05/31(火) 13:09:06.24 ID:OBk+5yBV
>>932 どうもありがとうございました。
なるほど。回避策があったんですね!
ユーザノート見落としてました。
ODBC関数は実行環境のデフォ文字コードに”自動”変換してしまうということでしょうかね?
使っちゃだめな関数ですね。
>>911 危険なコードですね
935 :
nobodyさん :2011/05/31(火) 14:15:00.24 ID:vcvaWh5+
$str = "テスト"; $name = "str"; echo ${$name}; // 「テスト」と表示 これをSmartyでできないですかね {assign var='str' value='テスト'} {assign var='name' value='str'} {$$name} エラー:syntax error: unrecognized tag Smartyはこの辺できなくなっているんでしょうか
936 :
nobodyさん :2011/05/31(火) 14:20:30.83 ID:vcvaWh5+
ちなみにこのやり方、名称とかわからないので検索しようがなかったので それも教えていただけるとありがたいです
ここはsmartyスレではありません。 可変変数ならsmarty3から使えます。
938 :
nobodyさん :2011/05/31(火) 16:24:00.01 ID:i2pGe5zQ
$this->a->b;という形のとき bの部分を変数に入れて $h = "b"; $this->a->$bみたいにして利用したいのですが出来ませんでした 方法ございませんか?
できるけどな
$h と $b の間違いとか?
941 :
nobodyさん :2011/05/31(火) 16:49:18.72 ID:i2pGe5zQ
何故なのかわかりません
じゃあ再現できるコードを。
943 :
nobodyさん :2011/05/31(火) 18:10:21.59 ID:+hSOiYUT
945 :
nobodyさん :2011/05/31(火) 18:32:24.60 ID:+hSOiYUT
>>944 ありがとうございます
キーワード参考になりました
>>943 そのccc.php/dddddはPATH_INFO形式だから
汎用的な関数では無理
作るとしても一度サーバーに問い合わせnight無理
PHPのソケット関数って動作が遅いんですけどこれは実装ライブラリの問題ですか?
949 :
nobodyさん :2011/06/01(水) 15:07:09.03 ID:OyTL9zHY
関数の引数のチェックって自分しか使わないものでも行うべきですか? 変な引数入れたら当然PHPのエラーが出たり予期せぬ動作を引き起こしますが、 typoを考慮すべきか、速度面で引数チェックは省くか迷います。 typoでもテストの時点でエラーは訂正され本番では全く問題ないわけですが、 みなさんはどうしてます?
2ちゃんぐらいの大規模なサイトでも作ってるのか? そうでないなら速度を気にすることでもないと思うが 国内サービスのほとんどの企業サイトで速度なんて気にして作られてないよ
951 :
nobodyさん :2011/06/01(水) 15:18:20.38 ID:OyTL9zHY
速度を引き合いに出したのはまずかったですね。 そこはスルーでお願いします。
防御的プログラミングの方が品質が高くはなりやすいよ
953 :
951 :2011/06/01(水) 15:26:33.87 ID:OyTL9zHY
防御的プログラミング初めて聞きました。 ググッたところ面白そうなことが書いてますね。 どうもありがとうございます。 参考にして読んでみたいと思います。
>>-1
958 :
nobodyさん :2011/06/02(木) 12:44:53.11 ID:HV+Jv+Jt
PHPの本に「PHPの連想配列は要素を追加した順番を保持しています」と書いてあるんですが <?php $arr=array("zero"=>"0番目","one"=>"1番目","two"=>"2番目"); echo $arr[1]; ?> でNotice: Undefined offsetが出ます "要素を追加した順番を保持しています"は連想配列の添え乳には使えないのですか? 3行目がエラーになる主な理由を教えてください
HV+Jv+Jt=HVJvJt
添え乳だけ読んだ
あれほんとだ 添え乳になってる google日本語入力で「そえじ」を変換で一発目に出てきた 添え乳なんて過去一度も書いたこと無いのにw
過去一度も書いてなくても出てくる、google日本語入力とはそう言うものだw
んで、
>>958 要素を追加した順番を保持しているかどうかと、その番号でアクセスできるかはまた別問題でしょ
もしそんなんでアクセスできたら連想配列に 1 ってキーがあったらどう判断するさ?って話になる
foreachとかで回したときに、追加した順番で出てくるよって話
963 :
958 :2011/06/02(木) 13:39:43.12 ID:???
>>962 追加した順番が添え字になると思い違いしてました
知りたかった理由とその根拠を分かりやすくお答えいただきありがとうございます
>>962 間違えました
追加した順番が添え乳になると思い違いしてました
警告 PHP 4.3.0 以降、上記のような添字生成動作は変更されました。 現在では、配列に追加する際に、その配列の最大添字が負である場合は 次の添字はゼロ (0) となります。 以前は、正の添字の場合と同様に新しい添字は最大添字に +1 したものに セットされていました。
966 :
nobodyさん :2011/06/02(木) 22:31:40.22 ID:OrwoVF1C
interfaceで定義すべきメソッドを定義できますが、 同様に定義すべきクラス変数またはインスタンス変数を定義することはできますか? 継承またはimplementsで必ず定義しなければならないという縛りをつけたいのですが。 なんか方法があったら教えてください。
ないと思う
968 :
nobodyさん :2011/06/02(木) 23:00:06.17 ID:OrwoVF1C
>>967 ありがとうございます。
残念ですが設計がきっとおかしいので見直すことにします。
ないと思うけどあるかも知れない
970 :
熱血 :2011/06/03(金) 00:11:04.72 ID:???
今日からコテつける
トリつけないと偽者が出る
>>968 同じような気持ちになったときがあって、その時はコンストラクタのパラメータで要求した
それで済ませられるといいんだけど。
973 :
nobodyさん :2011/06/03(金) 17:30:31.57 ID:dkKVHIiL
$str = "Fri, 03 Jun 2011 22:05:28 +0900"; この変数に入っている文字列を 2011/06/03 22:05:28 に直す方法を教えてください
strtotime()で一旦UNIX秒に直してからの
正規表現の出番ですか
Unix秒から正規表現で・・・・・・?
date("Y/m/d H:i:s",strtotime( $str)) ただしタイムゾーンによる
正規表現とか言う前に strtotime でチョットは調べてみよう
正規表現君の伝説再来はまだか
preg_replace($pattern, $replacement, strtotime($str));
正規表現わからない中途半端物がレスするとつまらないな なんだよ関数だけ出すとか・・・中身書いてこいよ
お前が書けよ
これが正規表現でできる人のほうがある意味スキル高いな
Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec とかやらなきゃ行けない時点で無駄が多すぎる
長ければ無駄だと思ってる初心者ハケーン
ってか、UNIXTIMEを正規表現するって話だろ・・・
>>984 せっかくそこまで書いたんなら最期までやれよ
正規表現って何で正規表現っていうのでしょうか? どの辺が正規で、正規表現以外は非正規なのでしょうか。
(U)(i)*
ごめん下書き送信しちゃった これ使えないから無視して
>>974 ,977
ありがとうできました!
こう書けばいいのか・・・
こう書けばいいのか・・・ではなくこういう関数があるのか・・・と思った方がいいぞ
あ、これ関数だったんですか
・・・はい?
996 :
nobodyさん :2011/06/03(金) 23:12:24.69 ID:wuOOT+wp
http://redwarcueid.seesaa.net/article/140085587.html こちらを参照にPHPとmy sqlでトランザクションにチャレンジしているのですが、
mysql_query( $Query,insert 文);
mysql_query( $Query,update 文);
mysql_query( $Query,insert 文);
みたいな感じでいくつかのクエリーが正常に完了したら、
最後にコミット。
スクリプト終了。
の流れなら、ロールバックしなくても大丈夫という認識でよろしいでしょうか。
コミット文を実行しなければ、特にデータは格納されていない様なので、
このような認識になりました。
あ、いや、すみません 関数という単語の意味がよくわからなくて・・・ 授業で習った y=x+1 みたいなものでしょうか
コミットじゃなくてコミケットな
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。