【PHP】下らねぇ質問はID出して書き込みやがれ 112
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2011/10/31(月) 05:11:09.81ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 111
http://hibari.2ch.net/test/read.cgi/php/1317232566/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん
2011/10/31(月) 05:13:10.53ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 111
http://hibari.2ch.net/test/read.cgi/php/1317232566/
【PHP】下らねぇ質問はID出して書き込みやがれ 110
http://hibari.2ch.net/test/read.cgi/php/1314692611/
【PHP】下らねぇ質問はID出して書き込みやがれ 109
http://hibari.2ch.net/test/read.cgi/php/1311803617/
【PHP】下らねぇ質問はID出して書き込みやがれ 108
http://hibari.2ch.net/test/read.cgi/php/1309599473/
【PHP】下らねぇ質問はID出して書き込みやがれ 107
http://hibari.2ch.net/test/read.cgi/php/1307228162/
【PHP】下らねぇ質問はID出して書き込みやがれ 106
http://hibari.2ch.net/test/read.cgi/php/1304064660/
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
0003nobodyさん
2011/10/31(月) 05:13:56.08ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
■Smartyマニュアル http://www.smarty.net/manual/ja/
(以下英語)
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smarty http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2011/10/31(月) 05:14:37.83ID:???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プログラムとして実行された結果になる。
0005nobodyさん
2011/10/31(月) 05:15:19.06ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006nobodyさん
2011/10/31(月) 10:17:32.86ID:Y0Qjkr6Hアップロードした画像の名前を連番かタイムスタンプかに
自動的にファイル名を変更して保存したいのですがどうしたらよいですか?
ググっても良く分かりませんでした
0009nobodyさん
2011/10/31(月) 17:47:31.52ID:kJZWPuOB【PHPのバージョン】5.3.5
【連携ソフトウェア】pgsql
【質問内容】
先日PHPを再インストールしたのですが(yumの5.3.5からソースの5.3.5に変更)、
今まで使用していたpgsql関連の関数がいくつか使用できなくなってしまいました。
現在確認している関数はpg_affected_rows()とpg_escape_string()です。
Fatal error: Call to undefined function pg_affected_rows()
Fatal error: Call to undefined function pg_escape_string()
ググってみても全く原因が掴めず困っています。
よろしくおねがいします
いくつかインストール後に気になった点です。
・phpinfoのpgsql欄の以下の項目がdisabledとなっている(再インストール前はenabled)
Multibyte character support disabled
・同じくpgsql欄のlibpqのVersionが8.1.22から9.0.0に上がったこと
PostgreSQL(libpq) Version 9.0.0
0010nobodyさん
2011/10/31(月) 18:06:36.61ID:???./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pgsql --enable-mbstring
0012nobodyさん
2011/10/31(月) 18:22:41.06ID:AI0ae1hjfrom hoge import *
みたいな書き方はできないんでしょうか?
use hoge\*
ではダメでした・・・
0013nobodyさん
2011/10/31(月) 18:23:01.76ID:Z5/PdDI9--with-mysql=/usr/local/mysql \
00159
2011/10/31(月) 18:35:43.71ID:kJZWPuOB>>10
configureオプションは以下のようになっています
一応全て指定しているつもりなのですが、何か不自然な所があったら指摘をお願いします
--with-apxs2=/usr/sbin/apxs \
--with-pgsql=/usr/pgsql-9.0 \
--enable-mbstring \
>>11
オブジェクトを扱ってdbconnectができるのですね。知りませんでした。
ですが、何が使用不可となっているのか把握できていないので、
根本から解決したいと思っています。
0016nobodyさん
2011/10/31(月) 19:24:32.06ID:Z5/PdDI9--with-pgsql=/usr/local/pgsql
これ入れた?
0017nobodyさん
2011/10/31(月) 19:27:23.69ID:Z5/PdDI9参照
0019nobodyさん
2011/10/31(月) 19:31:34.17ID:Z5/PdDI90020nobodyさん
2011/10/31(月) 19:35:16.40ID:DDhIm8wJ向こう過疎ってるんでお時間ある方お願いします。
★三 【 スクリプト改造工房 PART 9 】 ★三
http://hibari.2ch.net/test/read.cgi/php/1143834740/
0023nobodyさん
2011/10/31(月) 19:45:48.73ID:DDhIm8wJじゃあ質問する場所間違えたみたいですね。こちらで質問させて頂きます。
【ファイル】http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=pwdwin&no=4770 パス:p
http://q.hatena.ne.jp/1287372348を参考にwebサイト上に、あるサイトのxmlをsimplexml_load_fileで読み込み、表示しています。
今のところ、一つしかサイトを取得できてないんですけど、2つ以上のサイトのxmlを読み込むにはどうすればいいでしょうか。$rssにarrayを指定してみてもできなかったです。
ついでに日時順(取得したの全部ごちゃまぜで)に並べる方法も教えて下さい。よろしくお願いいたします。
0024nobodyさん
2011/10/31(月) 19:52:15.67ID:???0027nobodyさん
2011/10/31(月) 21:11:27.68ID:DDhIm8wJありがとうございます。
あまり知識が及ばないので調べさせていただきます。
できましたら報告しますね。
0028nobodyさん
2011/10/31(月) 21:28:23.35ID:???A画面とB画面があって、その両方の画面から呼ばれているユーザー選択画面があったとします。
A画面から、リンクを押下するとユーザー選択画面に遷移し、
ユーザーを選択するとA画面に戻ります。
B画面も同様の動きをします。
このような場合、ユーザー選択画面を実装するphpファイルを、
A画面にもB画面にも依存しないように作るのは一般的ですか?
それとも、依存するのが当たり前でしょうか。
よろしくご教示お願いいたします。
002928
2011/10/31(月) 21:34:32.19ID:znaCeG130034nobodyさん
2011/10/31(月) 22:47:18.57ID:???依存しないで作ることなんか出来るの?
A画面で何か入力して、ユーザー選択画面に遷移した後、A画面に戻ったら入力内容を復帰する場合を考慮すると、
依存しないで作ることは出来ない思う。
0035本物の28
2011/10/31(月) 22:48:44.21ID:???0036nobodyさん
2011/10/31(月) 23:15:41.76ID:???元の画面の情報を復帰するのは、元の画面が考えればいいだけ。
0037nobodyさん
2011/10/31(月) 23:36:43.33ID:V0LerLdh検索機能は必要なのですけど、
登録機能は付ける必要がないので、
そういうツールがあると楽なんですけど
0038nobodyさん
2011/11/01(火) 00:14:05.29ID:???0039nobodyさん
2011/11/01(火) 00:53:31.07ID:???| hid | name | hid | sid | lid | skillname | skilleffect |
+-----+---------+------+------+------+--------------+---------------+
| 2 | slither | 2 | 0 | 1 | poison spray | 70damage |
| 2 | slither | 2 | 0 | 2 | poison spray | 80damage |
| 2 | slither | 2 | 1 | 1 | toxicity | 4000e |
| 2 | slither | 2 | 1 | 2 | toxicity | 3000secdamage |
+-----+---------+------+------+------+--------------+---------------+
これを
mysql_fetch_array($res)で取得すると
array(13) { [0]=> string(1) "2" ["hid"]=> string(1) "2"
[1]=> string(7) "slither" ["name"]=> string(7) "slither"
[2]=> string(1) "2" [3]=> string(1) "0" ["sid"]=> string(1)
"0" [4]=> string(1) "1" ["lid"]=> string(1) "1" [5]=> string(12)
"poison spray" ["skillname"]=> string(12) "poison spray"
[6]=> string(8) "70damage" ["skilleffect"]=> string(8) "70damage" }
2
ってなる
重複されちゃって 1個しかとれない
4こ配列にとる方法おしえて
0043nobodyさん
2011/11/01(火) 02:23:23.79ID:???IDなんて出すかボケ
0044nobodyさん
2011/11/01(火) 02:48:24.50ID:i3fruPo70045nobodyさん
2011/11/01(火) 03:19:12.73ID:???特に使う機会もないしよくわからないなら使わないほうがいい
004639
2011/11/01(火) 09:10:38.89ID:???【PHPのバージョン】5.3.2
【連携ソフトウェア】MySQL
【質問内容】
+-----+---------+------+------+------+--------------+---------------+
| hid | name | hid | sid | lid | skillname | skilleffect |
+-----+---------+------+------+------+--------------+---------------+
| 2 | slither | 2 | 0 | 1 | poison spray | 70damage |
| 2 | slither | 2 | 0 | 2 | poison spray | 80damage |
| 2 | slither | 2 | 1 | 1 | toxicity | 4000e |
| 2 | slither | 2 | 1 | 2 | toxicity | 3000secdamage |
+-----+---------+------+------+------+--------------+---------------+
これを
mysql_fetch_array($res)で取得すると
array(13) { [0]=> string(1) "2" ["hid"]=> string(1) "2"
[1]=> string(7) "slither" ["name"]=> string(7) "slither"
[2]=> string(1) "2" [3]=> string(1) "0" ["sid"]=> string(1)
"0" [4]=> string(1) "1" ["lid"]=> string(1) "1" [5]=> string(12)
"poison spray" ["skillname"]=> string(12) "poison spray"
[6]=> string(8) "70damage" ["skilleffect"]=> string(8) "70damage" }
2
ってなる
重複されちゃって 1個しかとれない
4こ配列にとる方法おしえてください
004739
2011/11/01(火) 09:21:13.02ID:???whileを使って
mysql_fetch_arrayの内部ポインタを回してなかったのが問題でした
0048nobodyさん
2011/11/01(火) 09:44:33.99ID:???00499
2011/11/01(火) 10:34:28.61ID:et/TRmhs結果から申しますと直りました。
prefixに自分の作成したディレクトリを設定していたのですが、
以下のようにしたら直りました。
--prefix=/usr \
たぶんこれが原因ですが、他にも少々いじっていたので釈然としません・・・
0050nobodyさん
2011/11/01(火) 12:34:31.21ID:H8SNTTudPCメールは以下のコードで送信ができました。
mb_language("japanese");
mb_internal_encoding("UTF-8");
$to = "example@example.com";
$subject = "test";
$body = "test";
$from = mb_encode_mimeheader(mb_convert_encoding("テスト","JIS","UTF-8"))."<test@example.com>";
mb_sendmail($to,$subject,$body,"FROM:".$from);
文字コードをUTF-8からISO-2022-JPに変えればいいんでしょうか?
色々ググったんですが、具体的にどうすればいいのかわかりません。
携帯がiPhoneなので実機の確認が出来ないのですいませんが教えてください。
0051nobodyさん
2011/11/01(火) 12:38:51.23ID:H8SNTTud絵文字も半角カタカナも使いません。
ふつうの日本語とURLの送信だけです。
0052nobodyさん
2011/11/01(火) 12:48:23.03ID:???サーバの設定を正しくきちんとやってれば文字化けなんておきないんだよ
あのブログの内容は古すぎる
0053nobodyさん
2011/11/01(火) 12:52:59.88ID:iiYJx3ec普通の文章なら
$text = 'あいうえおかきくけこさしすせそ';
$text = mb_strimwidth($text, 0, 10, "...", 'UTF-8');
print ($text);
「あいう...」 となるのですが
RSSだとどこに $*** = mb_strimwidth($***, 0, 10, "...", 'UTF-8');の記述を挿入しても上手くいきませんでした
RSSの取得には ttp://php-web.net/faq/rss.html このサイトの記述を使用しています。
$rssurl = "RSSのURL";
$rssdata = simplexml_load_file($rssurl);
$num_of_data = 5;
$outdata = "";
for ($i=0; $i<$num_of_data; $i++){
$outdata .= "<li>";
$outdata .= "<a href=\"";
$outdata .= $rssdata->item[$i]->link;
$outdata .= "\">";
$outdata .= $rssdata->item[$i]->title;
$outdata .= "</a>\n";
$outdata .= $rssdata->item[$i]->description;
$outdata .= "</li>";
}
print($outdata);
初心者のウンコです。宜しくお願いします。
0054nobodyさん
2011/11/01(火) 15:01:44.10ID:???正しくきちんと説明すんのが面倒だからそう言ってるのが分からんのはバカじゃねーのか?
>>50
つーわけでめんどくさいんで、初心者にはPEAR使ってねっていうのが楽な回答。
>>53
RSSの生データをブラウザじゃなくてソースで見てみるといいかも。 数値文字参照になってるかも。
0055nobodyさん
2011/11/01(火) 15:19:57.61ID:???0056nobodyさん
2011/11/01(火) 15:27:49.33ID:H8SNTTudPEAR::Mailですか?
require_once("Mail.php");で呼び出して使えばいいんですか?
とりあえず、これでもう一回調べます。
ありがとうございます。
0057nobodyさん
2011/11/01(火) 15:36:39.79ID:???0058nobodyさん
2011/11/01(火) 16:01:31.69ID:ILjwbPAY今、某フレームワークを使ってて、各ページで発生する例外を
フロントコントローラでキャッチしてエラーページに転送する処理を行っています
で、今回あるアプリというかライブラリ的なものを導入したところ
そのライブラリ中のmethodを実行すると場合によって内部で例外処理を実行するため
エラーページに転送されてしまいます
しかし、自分としてはそのmethodの実行はmustの機能でなくオプション的なもので
いちいちエラーページに転送せんでも…と考えています
if($libraly->doit()){
error_log("doitの実行中に例外が発生したみたいです<__FILE__:__LINE__>";);
}
という形でエラーの記録をつける程度にしたいんですが、
この場合、
1)フロントコントローラやエラーページのコントローラで
throwされた例外を判別してエラーページに転送させない
2)そもそも例外処理をしてるライブラリの中身を弄って例外でなくエラーコードを返させるなど改造する
の二通りしかないんでしょうか? 1がおすすめというか普通の処置ですか?
0059nobodyさん
2011/11/01(火) 16:33:25.03ID:???まともな思考の持ち主なら、bool値を返すのか例外を出すのか仕様を決めて
エラーだろうが例外だろうが必要な方へ変換する
006053
2011/11/01(火) 17:01:34.11ID:iiYJx3ecブラウザのソースみて組みなおしたら出来ました
ありがとうです!
0061nobodyさん
2011/11/02(水) 13:53:37.39ID:???PHPプログラマーの、お姉さんだよぉ〜
今日はどんな質問が残ってるのかな?
お姉さん納品も終わって暇だから、
どんな質問にも答えちゃうよぉ〜
0062nobodyさん
2011/11/02(水) 14:30:44.37ID:l39L84sYメッセージをウォール投稿する際に改行を入れたいのですがどうやればいいのでしょうか?
0063nobodyさん
2011/11/02(水) 14:40:44.80ID:???0064nobodyさん
2011/11/02(水) 15:58:38.10ID:3p0wfnnGたまに迷惑メールフォルダに入っているんですが、これどうすればいいんですか?
第五引数に-fを入れたら届いたというのを見てやってみたんですが、届きません。
一日はまっていて正直お手上げです。どなたか教えください。
0065nobodyさん
2011/11/02(水) 16:02:20.35ID:44zn7mAuSWFTextFieldで表示した文字列を透明化したいと思います。
以下のようなコードでは駄目でした。
$textField = new SWFTextField(SWFTEXTFIELD_MULTILINE|SWFTEXTFIELD_NOEDIT|SWFTEXTFIELD_NOSELECT);
$textField->setFont(new SWFFont(""));
$textField->addString("aaaaaaaaaaaaaa");
$obj = $swf->add($textField);
$obj->setName("tfobj");
$action = new SWFAction("tfobj.alpha=20;");
$swf->add($action);
$swf->nextFrame();
そもそもこのような事は可能なのでしょうか?
0066nobodyさん
2011/11/02(水) 17:05:29.00ID:???神かよ!!
0067nobodyさん
2011/11/02(水) 22:04:29.02ID:lxwCRKmVvar object = {
value: "",
getValue: function() { return this.value },
setValue: function(value) { this.value = value }
};
と書いてnewせずに使いますがPHPではこういう場合どうするんでしょうか
ひとつの場合でもクラスを作ってnewするんでしょうか
0068nobodyさん
2011/11/02(水) 22:18:59.02ID:???無名クラスなら残念ながらない
動的オブジェクトなら new stdClass() がある、がメソッドは定義できない
0069nobodyさん
2011/11/02(水) 22:20:24.99ID:???setter/getterメソッドは普通はインスタンスを作る
class Hoge {
? private $value = "";
? public function getValue() { return $this->value; }
? public function setValue($value) { $this->value = $value; }
}
$hoge = new Hoge();
$hoge->setValue("foo");
echo $hoge->getValue();
0070nobodyさん
2011/11/02(水) 22:21:17.55ID:????のとこはインデントに置き換えてね
0071nobodyさん
2011/11/02(水) 22:27:40.24ID:???static $value = "";
static function getValue() { return Object::$value; }
static function setValue($value) { return Object::$value = $value; }
}
Object::setValue("foo");
echo Object::getValue();
staticにすればこんなこともできるが・・・いいやり方とは思わない。
0075nobodyさん
2011/11/03(木) 00:49:04.09ID:gDPf6EbN携帯だと$_SERVER[HTTP_REFERER]が使えないようなので。
0076nobodyさん
2011/11/03(木) 01:19:04.01ID:???クライアントが送出する情報だし
サーバ側でどうこうする問題じゃない
0077nobodyさん
2011/11/03(木) 01:23:25.50ID:gDPf6EbNありがとうございます。
根本的にコードを書き直さないといけないっぽいです。
007862
2011/11/03(木) 01:37:42.96ID:b9zARhas0079nobodyさん
2011/11/03(木) 02:39:20.91ID:???フェイスブックに問い合わせろや
0080nobodyさん
2011/11/03(木) 02:44:53.01ID:5engvLs9<form action="add.php" method="post">
<input type="text" key="k1" value="v1"/>
<input type="submit" value="send" />
</form>
ファイル名add.phpにて、このコードをそのまま実行して、サブミットすれば、
var_dumpでPOSTのデータが取れると思ったんですけど、出てきませんでした。
これってどこがおかしいのでしょうか?
008180
2011/11/03(木) 02:51:04.34ID:???ってかformはkeyじゃなくてnameだったな。
なんか、違う言語のキーワードか何かとごっちゃになってた
0082nobodyさん
2011/11/03(木) 10:18:48.53ID:???いわゆる各種ブログへのメール投稿をするプログラムを作成しました。
流れとしては・・・
1.レンタルサーバにその人の各種ブログ用の携帯投稿アドレスを登録しておく。
2.特定のアドレスにその人がデコメを送信する
3.メールをトリガにしたPHPを起動させ、TOを設定して各種ブログへ送信する
と言う物を作ってあります。
先日顧客の要望でアメブロを対応させてくれという話があったんですが、
アメブロは単純にアドレスを打つだけではダメなんでしょうかね?
他のブログはFromが指定アドレスになっていれば特にチェックしてないみたいでブログに反映しているのですが、
アメブロは携帯アドレスを細かくチェックしてるのか投稿が無視されます。
どのサーバから送られてきたとか、そういうのをチェックしているのかな?と考えました。
(偽装的な物のチェックだと考えて良いのですかね?)
少し調べましたがAtom?とかのAPIをPHPでプログラムして投稿するような事をしないとダメなんでしょうか?
それしか方法が無いなら顧客に日数ももらわないといけませんし・・・
あれこれ調べて見ましたが、API使用しか方法が無いのか確信が持てなかったので・・
もし何かヒントでもわかる方お見えでしたらよろしくおねがいいたします。
0086nobodyさん
2011/11/03(木) 11:39:25.06ID:gDPf6EbN前のページで$_SESSIONに自分のファイル名をいれておくことであっさり解決しました。
ありがとうございます。
0087nobodyさん
2011/11/03(木) 13:28:22.55ID:5qwbDYAW【PHPのバージョン】5.3.8
【連携ソフトウェア】Apache 2.2.15
urlルーティングしてくれるスクリプトを自分で作ろうと思ってます。
http://www.example.com/ を自サイトURLとして、http://www.example.com/page/param1/param2/というurlにアクセスすると
http://www.example.com/index.php にリダイレクトするようapacheのmod_rewriteで設定済みです。
index.phpの中にルーティングのロジックを書いているのですが、うまくいきません。
$request_uri = explode('/', $_SERVER['REQUEST_URI']);
$script_name = explode('/', $_SERVER['SCRIPT_NAME']);
$uri_info = array_diff_assoc($request_uri, $script_name);
$uri_info = array_values($uri_info);
上記のコードで実際にリクエストされたurl(www.example.com/page/param1/param2)と
実際にルーティングのロジックが動いているスクリプト(www.example.com/index.php)との
差分をとって、 /page/param1/param2 を取得しようと思ったのですが、
$request_uri と $script_name をvar_dumpすると、以下のような全く一緒の値がでてきてしまいました。
array(4) { [0]=> string(0) "" [1]=> string(4) "page" [2]=> string(6) "param1" [3]=> string(6) "param2" }
script_nameがうまく取得できないのですが、どうやったらうまく取得できるでしょうか?
0088nobodyさん
2011/11/03(木) 21:04:18.73ID:???0089nobodyさん
2011/11/03(木) 21:40:48.05ID:RHXIeUwE0090nobodyさん
2011/11/03(木) 21:54:04.74ID:???クライアントが要求してくるURLを取得するのだからrequest uriだけ使えばいいんだよ
その用途にscript nameを使う意味がわからない
0091nobodyさん
2011/11/03(木) 22:21:13.75ID:???009287
2011/11/04(金) 02:04:59.05ID:tFL/lOhGhttp://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/
を参考に勉強のために作っています。
>>90
よくよく考えてみれば、確かにscript name必要ないかも・・・
定数でindex.phpの配置パスを定義しておけば問題ありませんね
>>91
array_diff_assocって使わないほうがいいのでしょうか?
どうしてなんでしょう?
0093nobodyさん
2011/11/04(金) 11:39:06.39ID:hpR+oaep【質問内容】 どうにもこうにもNoticeがとまらない
if(count($limitid) > 0) {
foreach($limitid as $include) {
for($i=0; $i<count($obj); $i++) {
if($obj[$i]->term_id == $include) {
array_push($cat, $obj[$i]);
break;
}
}
}
$obj = $cat;
}
Notice: Trying to get property of non-object in (四行目)
ここの板の人はアホかと思うような質問ですまません
何をやってもさっぱりでNoticeは消えず
php4->5のルール変更がクモの巣のようですorz
0095nobodyさん
2011/11/04(金) 12:10:28.76ID:???何もやってもというが、何もやって無いだろ。
0096nobodyさん
2011/11/04(金) 13:07:04.52ID:???俺もarray_diff_assocはだめだと思う。
そうしようと思った発想は柔軟でうらやましくはあるけれど。
0098nobodyさん
2011/11/04(金) 13:53:03.66ID:3DwnANG1どうなんでしょうか
0099nobodyさん
2011/11/04(金) 14:28:45.24ID:???○○していいよっていう意見よりも○○はするなという意見を信じてしまう典型的な例
0100nobodyさん
2011/11/04(金) 15:23:02.83ID:???ナニソレ
0101nobodyさん
2011/11/04(金) 16:02:57.33ID:???「いつも私はこのように書いています。」ってのも、かなりの安心感をもたらす魔法の言葉。
なので、さっぱり良いとも悪いとも、そもそも話を理解できていない俺が
>>98
簡単なアプリならフォームタグ出力関数みたいなのを作るのが楽でいいよ。
フォームベタ書きでもいいけど、あんまりオススメしない。
将来もっと複雑になってきたときにフレームワークに切り替えればおk。
と、レスをするわけです。
0102nobodyさん
2011/11/04(金) 17:05:52.19ID:???それにしてもPHPのDOMは貧弱だよな
0103nobodyさん
2011/11/04(金) 17:59:53.68ID:???関数とhtmlが分かりにくく混ざることを危惧した言葉だと思う。
関数を使うことで(書きやすさではなく)見通しが良くなるというのであれば作ればいい
ちなみに私はsmartyを組み合わせた自作簡易フレームワークの為にhtmlをはきだすクラスを作った
<div>{{ht->inpur name='hoge' value='hogevalue'}}</div>
このhogeはPOSTの値と繋がっているから、
POST['hoge']に何かが入っていたら、自動的にその内容が表示されるとか、
selectだと自動的に選んだものにselectedが入るとか、
そういう使い方はしてる
0105nobodyさん
2011/11/04(金) 20:26:13.02ID:1sQ24kpba.php
<?php
exec('/usr/lib/php /var/www/test.php 100 50 >dev/null 2>&1 &' ,$rec);
var_dump($rec);
?>
test.php
<?php
return $argv[1]+$argv[2];
exit();
?>
a.phpのvar_dump()の結果で150が返ってくることを期待してるんですが
実際は array(0) { } です
どこがおかしいんでしょうか?
0107nobodyさん
2011/11/04(金) 20:46:36.43ID:1sQ24kpbバックグラウンド処理というのをしたいんです
それで調べたらexec()と書いてありました
php.iniのsafe_modeもoffになってるんですが…
0109nobodyさん
2011/11/04(金) 21:57:38.17ID:1sQ24kpbtest.php
<?php
$val= $argv[1]+$argv[2];
echo $val; //ダメでした
echo "test_val";//こっちもダメでした
?>
そもそもtest.phpをちゃんと実行できてるんでしょうか?
どうやったら確認できますか?
0110nobodyさん
2011/11/04(金) 22:04:22.41ID:???0112nobodyさん
2011/11/04(金) 22:15:25.20ID:1sQ24kpbphpinfo()とは違うものですか?
とりあえずtest.phpをその内容に書き換えましたが何も起きません
0113nobodyさん
2011/11/04(金) 22:26:01.42ID:???>>109
test.php
exec('php test2.php 100 200', $o, $r);
var_dump($o);
test2.php
unset($argv[0]);
echo implode(",", $argv);
0114nobodyさん
2011/11/04(金) 22:49:46.91ID:???( & だけだと 終わるの待つので)
結果 /dev/nullに捨ててんだから、 取得できんわな。
ファイルにでも出力すれば、処理が終わった頃にファイルに出力されるけど、
バックグラウンドで処理したいってんだから、その結果を
exex()抜けた段階で結果取得できるわけが無いでしょうに。
0115nobodyさん
2011/11/04(金) 22:50:03.75ID:1sQ24kpbありがとうございます、しかしダメです
array(0){} が表示されるだけです
test2.phpの実行権限は755,775,777で試しましたが全部ダメでした
実行ユーザはftpuser(ftp権限ユーザ):apacheになってるんですが問題ありますか?
PHPそのものの問題とずれてきてすみません
0117nobodyさん
2011/11/04(金) 22:54:31.81ID:1sQ24kpbありがとうございます
「/dev/null 2>&1 &」の部分は今は削除して以下のようにしていますがダメです
//test.php///////////////////
exec('/usr/lib/php /var/www/html/test2.php 100 50', $o, $r);
var_dump($o);
//test2.php//////////////////
unset($argv[0]);
echo implode(",", $argv);
そもそも、/usr/lib/phpはディレクトリなんですがこれは問題ないんでしょうか
0119nobodyさん
2011/11/04(金) 23:35:58.32ID:???$rを見たら126が返ってきました
実行権限の問題らしいですが777で問題あるのかなぁ
>当然ディレクトリじゃ駄目だし。
…と思って、実行プログラムの方を /usr/bin/phpに変えたら上手く行きました!
長らくありがとうございました! 他の皆さんも感謝します、ありがとう
0120nobodyさん
2011/11/05(土) 17:12:07.15ID:i9WzEjTE掲示板などで特定のタグだけ許可するにはどうしたらいいでしょうか?
0121nobodyさん
2011/11/05(土) 17:54:33.07ID:???0122nobodyさん
2011/11/05(土) 19:43:18.54ID:rsIAWbThこのような場合とのように記述すればいいでしょうか
0125nobodyさん
2011/11/05(土) 22:29:46.48ID:bVUvResi以下のように書いてみたのですが、もっとスマートな方法はないでしょうか?
foreach($str as $val) {
foreach($str2 as $check) {
if($val != $check) {
$sql = "INSERT INTO test(test) VALUES('" . $val . "')";
mysql_query($sql);
}
}
}
0126nobodyさん
2011/11/05(土) 22:36:53.03ID:???strip_tags($text, '<p><a>');
>>125
$str = array( 1,2,3,4 );
$str2 = array ( 2,3,4,5);
のとき、
insertされるのは 1,1,1,1,2,2,2,3,3,3,4,4,4 だけどいいのか?
0127nobodyさん
2011/11/05(土) 22:56:55.77ID:???http://www.php.net/manual/ja/function.array-diff.php
0128nobodyさん
2011/11/05(土) 23:00:00.64ID:???$a = array("a","b","c");
$b = array("d","c","e");
$c = array_count_values(array_merge($a,$b));
foreach ($c as $k => $v)
{
if (1 === $v)
{
echo $k, PHP_EOL;
}
}
0130nobodyさん
2011/11/06(日) 00:07:04.37ID:???http://www.php.net/manual/ja/function.array-unique.php
0131nobodyさん
2011/11/06(日) 00:09:02.64ID:???0132nobodyさん
2011/11/06(日) 00:10:50.58ID:???http://www.php.net/manual/ja/function.array-intersect.php
0133125
2011/11/06(日) 01:51:22.75ID:/DBL4K4E>>129さんの言うように!=じゃなくて!==としなくちゃいけないんですね。
勉強になりました。ありがとうございます。
>>127 >>130 >>132
おお!こんな便利な関数があったとは!
この3つを試してみます。ありがとうございます。
0134nobodyさん
2011/11/06(日) 10:02:16.82ID:???0135nobodyさん
2011/11/06(日) 10:08:19.85ID:GxhRdhG7DBの中に保存した日本語部分が、「 ¥u30ab」 となっているはずなんですが、
「u30ab」 と 「¥」が抜けてしまいます。
原因が分からず・・・よろしくお願いします。
0136nobodyさん
2011/11/06(日) 10:12:22.02ID:???mysql_real_escape_string のようなのにかけるとか。
\\uにしなきゃ。
0137nobodyさん
2011/11/06(日) 10:20:05.33ID:GxhRdhG7あ!そっか!エスケープされてたのか・・・ケアレスミスでした
ありがとうございます!
0140nobodyさん
2011/11/06(日) 12:31:41.62ID:yw0oOdZMとするとhoge.phpの内容がすべて表示されてしまいます。
これを個別のdiv単位で引用表示させる方法を教えてください。
【例】
<div class="a" id="b">
<p>ほげほげ</p>
</div>
<div class="c" id="d">
<p>ほげほげほげほげ</p>
</div>
とhoge.phpの中に上記のHTML文があるとして
この中から
<div class="a" id="b">
<p>ほげほげ</p>
</div>
だけを引用して表示する方法を教えてください。
0141nobodyさん
2011/11/06(日) 12:55:25.01ID:???<p>ほげほげ</p>
</div>
だけのファイルを作ってincludeする
ていうかまともにやると今の君のスキルじゃたぶん無理だ
DOMでできるけど
http://jp.php.net/manual/ja/book.dom.php
後は俺ならfile_get_contentsと正規表現でさくっとやるけど
0142140
2011/11/06(日) 13:12:54.56ID:yw0oOdZM他人のサイトからの引用なのでそれはできないです。
ソースを教えてください。
0144140
2011/11/06(日) 13:31:27.29ID:yw0oOdZMそのやり方を尋ねているんです><
0145nobodyさん
2011/11/06(日) 13:38:48.91ID:???俺の言ってること分かってる?
だから、勝手に引用することが法的にまずい場合もあるから、
そーゆーサイトを作ること自体をやめておけって、親切で言ってんの
0146nobodyさん
2011/11/06(日) 13:39:06.14ID:???丸投げスレではないので作る能力がない人はお帰りください
0149140
2011/11/06(日) 14:04:46.56ID:yw0oOdZMググれじゃなくて、その方法を詳細に教えてください><
教えてくれるまでこのスレに居座ります><
0150nobodyさん
2011/11/06(日) 14:18:30.43ID:???http://php.net/manual/ja/book.dom.php
0152nobodyさん
2011/11/06(日) 14:49:19.91ID:???質問者はそういうのも考えないと答えてくれる人を減らすばかりだぞ。
0153140
2011/11/06(日) 14:50:18.42ID:yw0oOdZM>>141と同じリンクじゃないですか><
せめてそのページのどこに解説が載ってるのか教えてください!
>>151
分かりません><
0154151
2011/11/06(日) 14:54:35.38ID:???分りました
まずこれ見てください
http://goo.gl/3uGjU
0155nobodyさん
2011/11/06(日) 14:54:59.53ID:???0156140
2011/11/06(日) 15:14:44.61ID:yw0oOdZM死ね!
0157nobodyさん
2011/11/06(日) 16:13:07.86ID:???そんなに自分でやるように促しても、もったいないよ。
<html>
<head>
<style type="text/css">
#d {display: none;}
</style>
</head>
<body>
<?php include("./hoge.php");?>
</body>
</head>
0158nobodyさん
2011/11/06(日) 16:50:54.65ID:???0160nobodyさん
2011/11/06(日) 20:43:01.49ID:???これは久々にすごいのがきたなwww
丸投げを丸投げではないと仰る
0161nobodyさん
2011/11/06(日) 20:59:02.31ID:???0162nobodyさん
2011/11/06(日) 21:11:09.35ID:???じゃあ、これでいいか?
$text = file_get_contents("hoge.php");
preg_match("|<div[^>]*id=\"b\"[^>]*>(.*?)</div>|su",$text,$matches);
print $matches[0];
0163nobodyさん
2011/11/06(日) 22:17:23.59ID:???0164nobodyさん
2011/11/07(月) 01:03:58.74ID:???ガキか
0165nobodyさん
2011/11/07(月) 01:08:17.64ID:???それの例文見つつ組み立てられるやつじゃないと
このスレは難しい
初心者が自分のスキル以上の成果物を求めるのは
勉強してこいと門前払いされて当然
0166nobodyさん
2011/11/07(月) 01:12:18.40ID:???0167nobodyさん
2011/11/07(月) 08:44:04.60ID:1lB9fRg6root権限以外で実行すると
Lost connection to MySQL server during query
みたいな変なエラーがでます
どんな原因が考えられますか?
0168nobodyさん
2011/11/07(月) 08:51:59.43ID:???そのエラーで検索すればいくつか原因がありそうだから、
1個1個確認してくしか。
せめて、検索してXXと○○試したけどダメでした、他の原因知ってる方いませんか、でしょ。
0169nobodyさん
2011/11/07(月) 08:54:34.52ID:???0170nobodyさん
2011/11/07(月) 12:06:17.73ID:???0171140
2011/11/07(月) 14:00:16.85ID:hVnG4+j00173nobodyさん
2011/11/07(月) 14:29:59.52ID:???0174140
2011/11/07(月) 14:33:51.26ID:hVnG4+j0意地悪しないでお願いします><
0176nobodyさん
2011/11/07(月) 14:40:17.49ID:???何個か書いてもらった、>>157 とか >>162 とか試した?
質問するなら、それじゃだめだったってことだろ?
試してからどこがダメだったか書かないと、誰も教えてくれねぇよ
試してないとしたら、せっかく書いてくれたのにやらない奴は最低だ
0178nobodyさん
2011/11/07(月) 14:50:59.65ID:???0179nobodyさん
2011/11/07(月) 14:55:24.82ID:???0180nobodyさん
2011/11/07(月) 14:55:26.68ID:???表示だけならそれでも問題ないはずだぞ。
ぶっちゃけ、その方がサーバー負荷は軽減する。
レスポンスタイムはPHPでやろうがCSSでやろうが一緒。
だから、CSSでやる場合のダメな点を挙げてから質問しなって。
0181nobodyさん
2011/11/07(月) 14:59:41.08ID:???0182140
2011/11/07(月) 15:00:07.62ID:hVnG4+j0試す価値もないということが分らんのか負け犬めが
0184nobodyさん
2011/11/07(月) 15:04:23.38ID:???0185nobodyさん
2011/11/07(月) 15:17:26.67ID:skZKPuIx同じドメインでUAを見て、モバイル(スマホ)サイトとPCサイトを出し分けてます。
PC版サイト内にiframeでモバイルサイトを表示したいんですが、
URL固定にして、いい方法ないでしょうか・・・
iframeだけUA偽装とかは無理ですかね?
URLに引数つけてUAの判断が妥当でしょうか?
よろしくお願いします。
0186140
2011/11/07(月) 15:17:27.68ID:hVnG4+j00190nobodyさん
2011/11/07(月) 15:28:08.43ID:???なんでまたがる前にトリップつけるとかやんなかったの?と、成りすましに言ってもしょうがないが。
0191nobodyさん
2011/11/07(月) 15:28:38.90ID:???0192nobodyさん
2011/11/07(月) 15:31:43.54ID:skZKPuIxすいません。説明不足でした・・・
同じURLでPC/MobileをPHPで出しわけしてるんで
コレが実現できるいい方法がないかなと。。。
.htaccessだとUAがPCだと判断されてしまいます。
http://example.com/ にアクセスすると
<html>
<body>
<div>hoge</div>
<iframe src="http://example.com" />
<!-- このiframe内がモバイルサイト -->
</body>
</html>
0193nobodyさん
2011/11/07(月) 15:32:57.81ID:???やっぱ、iframeのurlに引数を一つ追加して、それをモバイルのフラグに割り当てるべきだとおもう
擬似的なiframeを使うって手段も思い付いたが、
ページ遷移への対応を考えると絶望的に手間がかかるっぽいし。
0194nobodyさん
2011/11/07(月) 15:37:02.16ID:???もうむり?
0195nobodyさん
2011/11/07(月) 15:38:10.27ID:ViAJy6jaexec("/usr/bin/php /var/test.php {$params} ", $o, $r);
echo "レスポンス:".var_dump($r);
echo "出力:".var_dump($o);
のようにしてる時
引数$paramsには配列やserialize()した配列を指定できないんでしょうか?
引数$paramsが $params = array("dog", "cat");
test.phpが以下の内容の時、
<?php echo $argv[1][0]; ?>
1)配列を引数にした場合
なぜかAが出力されます
レスポンス:int(0)
出力:array(1) { [0]=> string(1) "A" }
2)serialize()した配列を引数にした場合
レスポンス:int(2)
出力:array(0) {}
配列はそのままでもserialize()してもダメなんでしょうか?
また、1)のケースのときの、返り値Aはどこから来たんでしょうか?
配列を渡す方法があったら教えてもらえると助かります、よろしくお願いします
0196nobodyさん
2011/11/07(月) 15:41:18.73ID:skZKPuIxやっぱそうですかねw
output_add_rewrite_varで値を引き継げるようにすればいいか。
どもっす!
>>194
Mobile/SmartPhoneに特化してるんで、
PC版には、使い方やら広告やら載せようかってしてたんですが、
どうせだったら、Mobile版見れるようにのっけちゃえって判断になりましたw
0197nobodyさん
2011/11/07(月) 15:46:06.61ID:???配列を文字列化した結果の先頭一文字がAだから。
シリアライズしたならデシリアライズすること。
あとはコマンドラインについて勉強しなされ。
0198nobodyさん
2011/11/07(月) 15:48:42.82ID:???seializeしたのをつけたコマンドを一度echoして、それをコマンドラインで打って試した?
なんか記号がいろいろ邪魔してそうだけど
0199nobodyさん
2011/11/07(月) 16:08:26.98ID:???テーブルのカラムが30を越えるような感じになっていて、
新規作成するときのsqlもインサートのチェックもかなり長くてややこしいことになってしまうので、
テーブルの作成やデータチェックが分かりやすく書ける
そんなライブラリってないでしょうか?
0200nobodyさん
2011/11/07(月) 17:11:06.60ID:???SQLite 9
http://hibari.2ch.net/test/read.cgi/db/1298737360/
ここで聞いたほうがいいかもだけど、若干荒れ気味w
0201nobodyさん
2011/11/07(月) 17:40:27.00ID:???ってか、あっちに書くくらいなら知恵袋の方がまだいい答え貰えそうなw
0203nobodyさん
2011/11/07(月) 17:53:48.42ID:???入力フォームのチェックがややこしいならsqlite関係ないし、そうじゃないならなんのチェックするのか分からないし
0205nobodyさん
2011/11/07(月) 18:02:20.53ID:pflxypT1imgタグを許可したいのですが
$text = preg_replace("/<img ([a-zA-Z0-9;\-\s]+)>/","<img $1>",$text);
これで置換できないのはなぜでしょうか?
0206nobodyさん
2011/11/07(月) 18:03:33.50ID:pflxypT1imgタグを許可したいのですが
$text = preg_replace("/&lt;img ([a-zA-Z0-9;\-\s]+)&gt;/","<img $1>",$text);
これで置換できないのはなぜでしょうか?
0207nobodyさん
2011/11/07(月) 18:05:11.09ID:???0208nobodyさん
2011/11/07(月) 18:12:33.28ID:pflxypT1ありがとうございます
しかしながら
$text = preg_replace("/&lt;img ([a-zA-Z0-9:;\/\"\'\-\s]+)&gt;/","<img $1>",$text);
これでもダメでした
こういうときって()の中はどう書けばいいのかな
0210nobodyさん
2011/11/07(月) 18:22:15.38ID:???どうせならそれにあわせて、自動的にcreate tableをやってくれるものとかないかなと。
0211195
2011/11/07(月) 18:23:46.55ID:ViAJy6jaありがとうございます
言われた通り、コマンドラインから似たような配列で試してみたら以下になりました(上手く行ってます)
[root@localhost ~]# ary=("dog" "cat")
[root@localhost ~]# php -q /var/test.php ${ary}
string(3) "dog"
(↑ test.phpのecho var_dump($argv[1])の結果です)
同様に.php中のexec()で配列の引数を渡す時点で配列は
ary=("dog" "cat")の形にしなきゃダメなんでしょうか
ためしに
$params= '$("dog" "cat")';
exec("/usr/bin/php /var/test.php {$params}", $o, $r);
としてみましたが出力として何も表示されません
0213nobodyさん
2011/11/07(月) 18:39:24.63ID:???$text = preg_replace("/<img .+?>", "<img $1>", $text);
要素の中に>と<は絶対にこないはずなのでこれでいい
0215nobodyさん
2011/11/07(月) 18:43:43.10ID:???いやいやいや、PHPは文字列送るだけなんで配列なんてモンはコマンドラインに送れないっすよ。
"/usr/bin/php /var/test.php {$params}" はただの文字列で
{$params}は、 "Array" って変換されるだけの文字列なので、
"/usr/bin/php /var/test.php Array" なわけで・・・ ってだれか上で書いてたでしょう?
そこの部分を join使うなりしてスペースで区切った文字列にでもするしかないのでは。
0216199
2011/11/07(月) 18:45:51.49ID:???dbのテーブル作成、入力値チェック、取得
このようなことをできるだけ短いソースで記述できるライブラリはないでしょうか?
半コピヘなソースを大量に書くの大嫌い
0218195
2011/11/07(月) 18:52:12.08ID:ViAJy6jaあー、やっぱり文字列か数値しか引数に持てないんですか…
phpマニュアルのexec()の説明にそう書いてて欲しいよ
配列をシリアライズして引数にしたときにresponseに2が返ってきたのも
引数に使えない文字が出てきてたからかな
はぁー、どっと疲れる結果だ…
ありがとうございました
0219195
2011/11/07(月) 18:54:14.64ID:ViAJy6ja218を書いた直後にいま思いついたんですが
serializeしたものにaddslashes()したら渡せるでしょうか?
試してみます
0222215
2011/11/07(月) 19:01:32.88ID:???シリアライズしたパラメータをひとつ渡せってことね。
>>219
シェルに渡す文字列のパラメータの部分を 配列をシリアライズした文字列にして、 escapeshellarg通せばいいかと。
受け側のPHPで 元にもどすんだよ。
0223nobodyさん
2011/11/07(月) 19:23:11.80ID:pflxypT1ありがとうございます
しかしながら&がうまくいきません
$text = "&";
$text = preg_replace("/([a-zA-Z0-9:;.=\&\"\'\/\-\s]+)>/","hoge",$text);
echo $text;
出力結果:& ←なぜhogeにならない?
0224nobodyさん
2011/11/07(月) 19:26:27.71ID:pflxypT1変な>が入ってました
しかしこれでいいのかなぁ
0225nobodyさん
2011/11/07(月) 19:26:39.80ID:ciMO8Qf+$b = '/a/b/t/f/';
という二つのパスがあり、$bのパスを基準に$aへの相対パスを求める方法を教えてください
この組み合わせ例なら結果としては../../c/dを得たいのです
0228215
2011/11/07(月) 19:50:03.36ID:NMeIBL32後ろにいらない > がついてる
0229nobodyさん
2011/11/07(月) 20:17:49.33ID:???どっと疲れたのはあなたのやり方が拙いためなので、ここで言われても。
何を実行しようとしているのか確かめればいい。ちなみに、execで使用されるシェルおよび環境変数についても調べておいたほうがいいよ。
0230215
2011/11/07(月) 20:39:58.70ID:NMeIBL32$a = '/a/b/c/d/';
$b = '/a/b/t/f/';
print getrPath($b,$a);
function getrPath( $base , $target) {
$base = explode("/",$base);
$target = explode("/",$target);
$ret = array();
for($i=0;$i<count($base)-1;$i++)
if($base[$i]!=$target[$i])$ret[]="..";
for($i=count($base)-1-count($ret);$i<count($target);$i++)
$ret[]=$target[$i];
return implode("/",$ret);
}
行稼ぎで気持ち悪いのは勘弁な。
0232nobodyさん
2011/11/07(月) 20:58:54.70ID:???配列をimplode(" " , $hoge); ってして、スペース区切りでtest.php に渡したら?
test.php内で、foreach( $argv as $hoge )ってしたら、解決じゃね?w
0233nobodyさん
2011/11/07(月) 21:00:38.53ID:???空白はいるなら、””で囲むやらaddslashesやらしないとね
0234nobodyさん
2011/11/07(月) 21:23:15.59ID:???おもいつきで作るもんじゃねーな。訂正。
function getrPath( $base , $target) {
$base = explode("/",$base);
$target = explode("/",$target);
$ret = array();
$flg=false;
for($i=0;$i<count($base)-1;$i++)
if($base[$i]!=$target[$i]||$flg){$ret[]="..";$flg=true;}
for($i=count($base)-1-count($ret);$i<count($target);$i++)
$ret[]=$target[$i];
return implode("/",$ret);
}
0236nobodyさん
2011/11/07(月) 21:50:10.70ID:kLp4+73LPHP5.3.8にてDOMDocumentにてHTMLファイルを取得し、<body>内のテキストだけを抽出したいです。
タグ部は正規表現で除去出来ますが、問題になるのは<script>でJavaScriptの中身が表示される、<!--などのコメントが表示される事です。
で、<script>とコメントを含む部分を先に除去したいと思います。
/<script[^>]*?>.*?</script>/si
とかやってみたのですが良く分かりません。
アドバイスまたは似たような事を書かれているサイトなどを教えて頂けないでしょうか?
すると、正規表現使わずに出きるので、PHPスレにて聞けといわれました
どのようにすればいいのでしょうか?
0239nobodyさん
2011/11/07(月) 22:02:24.67ID:???ん? http://jp.php.net/manual/ja/book.dom.php の
一番上のコメントのやり方でも、無理ってこと?
ちょうどbodyって例だw
0240nobodyさん
2011/11/07(月) 22:20:23.00ID:???$doc->loadHtmlFile("hoge.php");
$element = $doc->getElementsByTagName("script");
$element->item(0)->parentNode->removeChild($element->item(0));
print $doc->saveHtml();
除去ならこっちじゃねーの?
0241nobodyさん
2011/11/07(月) 22:44:18.22ID:???$doc = new DOMDocument();
$doc->loadHTML(file_get_contents('http://www.nicovideo.jp/'));
$xpathObj = new DOMXPath($doc);
$textNodes = $xpathObj->evaluate('//body//*[name(.)!="script"][normalize-space(child::text()) != ""]/text()');
foreach ($textNodes as $key => $textNode) {
var_dump($textNode->wholeText);
}
0242nobodyさん
2011/11/07(月) 22:48:31.16ID:???C++の場合は、メソッドをstaticにするとプログラムがメモリに乗るから早くなるって聞いたことがあるんですが、
phpの場合はどうなんでしょうか?
みなさんは、phpでメソッドをstaticにする、しないをどのようにきりわけているでしょうか?
0243nobodyさん
2011/11/07(月) 23:01:03.48ID:???>>241
>除去っていうよりスクリプトタグ省いたTextが欲しいって事じゃないの?
そうです
テキスト部のみが欲しいのですが、
pre_replace()とかでタグとかを除去するための正規表現を考えていました
>>242
メモリはどうか分かりませんが、確かPHPもstaticの方が早いはずですよ
いい加減な事は言えませんが、オライリー本か何かに書いてましたよ
インスタンスを作成しないぶんとかなんとか
自分は意識してstaticで出来ることはstaticにしています
0244nobodyさん
2011/11/08(火) 00:16:56.83ID:???じゃあもうちょっと気持ち悪いのを。
function getrPath( $base , $target) {
$base = explode("/", $base);
$target = explode("/", $target);
while (($b = array_shift($base)) === ($t = array_shift($target)) && !is_null($b));
return implode("/", array_merge(array_fill(0, count($base), '..'), array($t), $target));
}
0245nobodyさん
2011/11/08(火) 00:18:23.69ID:???staticにするという事はメモリを使うということだ
staticを唱えた数だけメモリを使うことを頭に入れて使えばいいんだよ
staticをつけないといけないほど速度を気にしないといけないことってそうそうない
オープンソースでもstaticなんてメジャーどころはみない
0246nobodyさん
2011/11/08(火) 00:20:44.84ID:???0247nobodyさん
2011/11/08(火) 00:21:34.86ID:???phpに限らないけどね
0248nobodyさん
2011/11/08(火) 00:22:37.80ID:???0249nobodyさん
2011/11/08(火) 00:26:14.40ID:???0250nobodyさん
2011/11/08(火) 00:31:16.84ID:???0251nobodyさん
2011/11/08(火) 00:45:22.59ID:???まぬあるのあの文面どうなのって思うわ
0252nobodyさん
2011/11/08(火) 02:21:04.05ID:???プログラム板で聞いたほうがいい
http://hibari.2ch.net/tech/
PHPはこまけーこと気にしないでいいような
オヴァカさん向け設計なので
ご覧のようにまともな回答は返ってきません
そういうメモリやらなんやらの基礎知識は
基本情報あたりに手を出して初めて知るのがPHPer
0253nobodyさん
2011/11/08(火) 02:27:58.13ID:???大抵の人は「ああー、あの文面ね」って理解できるぐらいメジャーな話なんだろうけど、分からないorz
0256nobodyさん
2011/11/08(火) 02:50:14.75ID:???0257nobodyさん
2011/11/08(火) 03:01:35.87ID:???Prepared statementsを先ほど知ったのですが、
これって、毎回決まったようなクエリだったら
PDO::queryの変わりにPDO::prepareで実行すると
2回目から早いよって認識で大丈夫ですか?
ちょっと認識ずれてます?
0258257
2011/11/08(火) 03:02:31.41ID:6HzOoKMdID出し忘れのため、最投稿
0259nobodyさん
2011/11/08(火) 03:17:02.17ID:???だいたいそんな感じでいいよ
パラメータだけ変えて複数実行する時に有用
insert文やupdate文でまとめて複数行うときなんかによく使う
0260nobodyさん
2011/11/08(火) 09:21:39.20ID:hZ5KEzHU関数Aの中でまとまった処理がしたくて、
function A(){
function 纏まった処理(){};
纏まった処理();
纏まった処理();
}
としているのですが、この書き方でA()を実行すると纏まった処理()が
A()の中だけでなくグローバルになってしまいます。
A()の中だけで有効な関数の作り方はどうすればよいのでしょうか。
function A(){
$纏まった処理=function (){};
$纏まった処理();
$纏まった処理();
}
しか無いのでしょうか。
0261nobodyさん
2011/11/08(火) 09:30:32.81ID:???0262nobodyさん
2011/11/08(火) 09:33:12.26ID:???その関数内でしか使われない関数って定義はできないし、
ラムダ関数みたいな機能もないので
クラスで書いてもいい処理ならprivateで外からアクセスさせないようにするってくらいかな
0263257
2011/11/08(火) 09:35:34.95ID:6HzOoKMdなるほど、ちょっと試してみます。
ありがとうございます
0264nobodyさん
2011/11/08(火) 09:39:28.14ID:???記述が見易くならない可能性の方が高いんで、使えるかは微妙だけど
0266nobodyさん
2011/11/08(火) 09:56:54.62ID:???0267nobodyさん
2011/11/08(火) 10:30:09.32ID:Olz6L6I6class Test {
private $con;
private $hoge;
public function Test($hoge) {
$this->con = DB::get()->connect();
$this->hoge = $hoge;
}
public function a() {
$this->con->query("sql");
//$this->hogeを使う
}
public static function b() {
$con = DB::get()->connect();
$con->query("sql");
}
}
ポイントは
b()はインスタンス変数を必要としないのでstaticとしても呼び出せるようにしたい
$this->conが使えないのでstaticメソッドは毎回DB::get()->connect();をコールしないといけない
こういうのっておかしいですか?
0268nobodyさん
2011/11/08(火) 13:03:03.23ID:???ActiveRecordみたいなパターンがあるのでおかしくはない
そもそもそのTestが何を表してるのかが大事
クラスは箱や入れ物じゃないからな、型だぞ
$user = new User();
$user->name = 'hoge';
$user->save();
$user = User::findByName('hoge');
0269nobodyさん
2011/11/08(火) 14:36:04.18ID:lQaQJdzPclass内の先頭部でprivate $_dbなどメンバ変数(クラスのプロパティ)を定義しますが、
これと、メンバ関数function()内での変数$popとの違いは、
・$_dbはクラス全体で使える(あるメソッド内で値を代入されたらそれが他のメソッドでもその値が使用される)
・$popはその関数の中でのみ有効
という理解で宜しいのでしょうか?
0270nobodyさん
2011/11/08(火) 14:45:16.78ID:???スコープもわからんとは不思議なやつめ
staticを考慮しなければそういう理解でよろしいです
0271nobodyさん
2011/11/08(火) 16:16:16.06ID:???いい方法ないだろうか?
0273nobodyさん
2011/11/08(火) 16:23:44.63ID:92k+xz2Urequireは出来るのですが
file_get_contentsは403が返ってきてアクセスできません。
上記条件下でlocalhost内のファイルを文字列に読み込むにはどうしたらいいでしょうか?
0274nobodyさん
2011/11/08(火) 16:26:49.92ID:???requireしたファイルから文字を返すように書き直す
file_get_contentsで403が返るのは理由はHTTPの勉強をすれば出来ない理由が分かる
0275nobodyさん
2011/11/08(火) 16:30:50.05ID:???0276nobodyさん
2011/11/08(火) 16:40:15.24ID:???ttp://www.php.net/manual/ja/reflectionclass.getproperties.php
ここらあたりで出来たはず
>>273
file_get_contentsはファイルパスも受け付けるのでファイルパスを記述すりゃいい
file_get_contents('../../../hogehoge')
file_get_contents('/var/www/etc/hogehoge')
みたいな感じで
0277273
2011/11/08(火) 16:46:18.38ID:92k+xz2UURL形式ではなく>>276さんのおっしゃる方法でうまくいきました。
お三方ありがとうございました。
0278271
2011/11/08(火) 17:10:24.27ID:???どうやら、そのリフレクションでは、
クラスのデフォルト値しかとれないようです
コンストラクタとかで値を再定義しても、そっちは取得できない。
で、調べてみたらクラスをforeachにかけると取れるのがわかったので、
今回はそっちを使うことにしました
0279nobodyさん
2011/11/08(火) 18:28:41.45ID:++VodBMCHTTP_USER_AGENTに対する正規表現はどのように書くのがベストだと思いますか?
0280nobodyさん
2011/11/08(火) 18:33:52.57ID:???偽装できちゃうんで、それが出来る限りでしょう。
期待した答えじゃないなら、それ書いてね。
0281nobodyさん
2011/11/08(火) 18:37:55.45ID:++VodBMCそう言われてみればそうですね。
HTTP_USER_AGENTを使う方法以外に、
例えばクッキーみたいなブラウザにはついてる機能の有無を確認して
ブラウザからのアクセスかどうかを判定することはできそうですか?
0282nobodyさん
2011/11/08(火) 18:42:37.21ID:???やりたいことは何でしょうか。
0283nobodyさん
2011/11/08(火) 18:42:50.35ID:???そういうのは現実的ではないと思うなぁ
0284nobodyさん
2011/11/08(火) 18:49:56.34ID:++VodBMCそれではクッキーが有効かどうかで判定してみることにします。
アクセス解析みたいなプログラムで不要・不正なアクセスを除外したいです。
ありがとうございました。
0285nobodyさん
2011/11/08(火) 18:50:05.65ID:???諦めてください
0286nobodyさん
2011/11/08(火) 18:51:53.54ID:++VodBMC0287nobodyさん
2011/11/08(火) 18:54:58.54ID:???0288nobodyさん
2011/11/08(火) 18:57:11.31ID:++VodBMC0290nobodyさん
2011/11/08(火) 19:04:38.69ID:???Webブラウザが行う事はWebブラウザでしかできない訳ではないから素人の子供だましだけどさ
0292nobodyさん
2011/11/08(火) 19:13:52.74ID:lDLMrbx7loader.php
<?php
function flush(){
require_once("test.php");
}
flush();
?>
test.php
<html>
<head>
<link rel="stylesheet" href="test.css" type="text/css">
<script src="test.js" type="text/javascript">
</head>
<body>
<?php echo "hello,world" ?>
</body>
</html>
上のような2ファイルを使い、loader.phpを実行してブラウザに表示させると、test.php内で呼び出しているcssとjavascriptが読み込まれません。
生のhttpレスポンスを見たところ、test.cssとtest.jsではcontent-typeが
Content-Type: text/html;
となっていたため、htmlとして読み込まれていたために動作していなかったと分かりました。
これらcssとjavascriptファイルを適当なcontent-typeで読み込ませるにはどうしたらいいでしょうか?
0293nobodyさん
2011/11/08(火) 19:24:39.52ID:???0294nobodyさん
2011/11/08(火) 19:26:25.57ID:???0296nobodyさん
2011/11/08(火) 20:02:56.28ID:???0297292
2011/11/08(火) 20:09:12.54ID:lDLMrbx7パスをあわせると普通に読み込めました・・・
>>295
自分で>>87のようなルーティングスクリプトを作っています。
あるurlにアクセスしたら条件にマッチするクラスを実行し、
そのクラスの中でtest.phpのようなテンプレートを呼び出す、という形にしているため
こういう感じになりました。
どう変なのか教えてもらえるとうれしいです。
0300292
2011/11/08(火) 21:01:23.04ID:lDLMrbx7結局それもパスを正しいものにしたところで直っていました・・・・
0301nobodyさん
2011/11/08(火) 23:00:38.35ID:lQaQJdzPconfigure: error: readline library not found
と出ます
しかし、yumでreadline-develは入れていますし、32bit版ではこれで上手くいっていました
rpm -ql readlineで
/lib64/libreadline.so.6
/lib64/libreadline.so.6.0
/usr/lib64/libhistory.so.6
/usr/lib64/libhistory.so.6.0
が出てきたので--with-readline=/usr/lib64とかしましたがダメでした
どのようにすればいいのでしょうか?
0302nobodyさん
2011/11/08(火) 23:06:06.38ID:lQaQJdzP0303nobodyさん
2011/11/08(火) 23:41:21.56ID:UTCFCr2RbindValueでINT指定でOKみたいなのですが、こうするしかないのでしょうか
0304nobodyさん
2011/11/08(火) 23:51:46.78ID:???一度yumでreadlineをremoveしてソースからビルドしてみたらどうですかね?
phpもソースからなんだし。
0307301
2011/11/09(水) 00:58:44.47ID:???32bit版では全く問題が無かったのです
パスを指定する必要もありませんでした
なので64bit版でも出きるだろうと思っていたのですが・・・
>>305
今--with-libdir=lib64を./configureに追記して実行してみました
しかし、やはりconfigure: error: readline library not found
が出てしまいました
自分、コマンドラインからも結構PHP使うもので、出来ればreadline入れたいなと思っております
0308nobodyさん
2011/11/09(水) 01:16:29.04ID:???0310nobodyさん
2011/11/09(水) 03:11:24.10ID:???/lib64 を指定しないと LD_LIBRARY_PATH に lib64を付加したところが探されるんじゃないのかな
0311nobodyさん
2011/11/09(水) 13:16:45.24ID:???マルチ乙
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1075068565
0312nobodyさん
2011/11/09(水) 13:25:51.50ID:???楽な方法ってどんな方法?
0313312
2011/11/09(水) 13:27:57.32ID:ICnxPKAlあと、毎回じゃなくて一定回数ごとに変化する方法も知りたい。
通信エラーのたびに最初のページからってのはさすがにうざいからな。
0314nobodyさん
2011/11/09(水) 13:35:23.73ID:???マニュアルにそのままやりたい事が関数に用意されてるだろ
0315nobodyさん
2011/11/09(水) 13:45:45.09ID:???0317nobodyさん
2011/11/09(水) 13:58:08.00ID:???自分の無知さをセッションのせいにするなよw
0318nobodyさん
2011/11/09(水) 14:55:21.12ID:Ubneb9ND表示されるのは元の文字列の「Hello」です
翻訳文字列を表示させたいのですがzipで一式あげましたのでご助言お願いします
ttp://www1.axfc.net/uploader/File/so/71394.zip
コードはgettext.php、翻訳ファイルのバイナリはdefault.moです
default.poも一応載せておきます(poeditで作りました)
0319nobodyさん
2011/11/09(水) 15:16:56.26ID:???0320nobodyさん
2011/11/09(水) 15:28:05.29ID:Ubneb9ND修正して再度アップロードしました
ttp://www1.axfc.net/uploader/File/so/71395.zip
現在も表示させる事はできません
0321nobodyさん
2011/11/09(水) 15:39:41.35ID:Ubneb9ND翻訳ファイルは指定された位置を置くルールがあるようで翻訳ファイルをルールに沿って指定した場所に置くと事で表示させることができました
0322nobodyさん
2011/11/09(水) 17:39:45.51ID:???>>240-241の指定の仕方だと
大量のWarningが出てダメだよね
loadHTML()系はJavaScriptとか入ってるだけで大量にエラーでるから
・・・って俺だけなのかな?
0323nobodyさん
2011/11/09(水) 17:45:22.41ID:???そこだけエラー抑制しとけば
0324nobodyさん
2011/11/09(水) 18:05:29.22ID:???@でもつけとけ。
0325nobodyさん
2011/11/09(水) 18:08:41.19ID:???と言うことは>>241のニコ動も・・・
・・・というかそこだけエラー抑制ってどういうこと?
$doc->@loadHTML()ってこと?
これじゃそこだけじゃなく、全体を抑制するからね
0326nobodyさん
2011/11/09(水) 18:14:48.53ID:???0327nobodyさん
2011/11/09(水) 18:22:05.56ID:???error_reporting(E_ALL ^ E_WARNING);
$doc->loadHTML($source);
error_reporting(E_ALL);
0329nobodyさん
2011/11/10(木) 11:39:56.26ID:9jcxfb/Whoge.com/?page=info
を、
hoge.com/info/
と置換されるようにして
静的URLにみせてるのですが
その影響でアクセス解析等を導入したとき
実際に
hoge.com/acc/
にアクセス解析があるのに、
hoge.com/?page=acc
と置換されて、表示できなくなります。
何かうまい解決策はないでしょうか。
0330nobodyさん
2011/11/10(木) 11:45:38.90ID:???MVCをなぜ書いたのかと、なぜPHPなのかはおいといて
アクセスログを見るツールだったら、そのまま表示されるはずだが?
もしかして、リライトじゃなくリダイレクトしてないよな
ま、どう出るかは解析ツール次第だろうな
0331nobodyさん
2011/11/10(木) 12:26:25.73ID:???を、
hoge.com/info/
と置換されるようにして
静的URLにみせてるのですが
逆じゃね?
0332nobodyさん
2011/11/10(木) 13:06:05.70ID:???MVCとか関係ねーよ
0333nobodyさん
2011/11/10(木) 13:18:25.64ID:???0334nobodyさん
2011/11/10(木) 17:37:41.31ID:MAuKgtyHデータベースにprepareでインサートするときはprepareを使うとエスケープがいらないって聞いたのですが
インサートしてもエスケープされません
<とか>などはエスケープされないってことですか?
インサートする文字列↓
<b>てすと</b>
0335nobodyさん
2011/11/10(木) 17:44:00.14ID:???0336nobodyさん
2011/11/10(木) 17:45:28.10ID:???どういうコード書いたの?
0337nobodyさん
2011/11/10(木) 17:59:21.53ID:MAuKgtyH$sql = 'insert into tbl (id, text) values (:id, :text)';
$stmt = $sqlite3->prepare($sql);
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);
$stmt->bindValue(':text', "<b>てすと</b>", SQLITE3_TEXT);
$stmt->execute();
0338nobodyさん
2011/11/10(木) 18:23:31.78ID:Capr9OYXhttp://jp.php.net/manual/ja/function.simplexml-load-file.php
の通りに
SimpleXMLElement Object
( [title] => Example Title
...)
のような形でアクセスするところまではできたのですが
これを逆にxmlの形に戻す事は可能でしょうか?
例えば
http://headlines.yahoo.co.jp/rss/rps_dom.xml
において<item>単位で、かつ
<item>
<title>後付け電装品による火災に再度注意喚起 国交省(レスポンス)</title>
<link>http://rd.yahoo.co.jp/rss/l/headlines/soci/rps/*http://headlines.yahoo.co.jp/hl?a=20111110-00000043-rps-soci</link>
<category>社会</category>
<pubDate>Thu, 10 Nov 2011 17:55:41 +0900</pubDate>
</item>
のようにタグを含んだ状態でDBに1コードずつ保存したいです。
DBはtitle,orijin_xmlなどのカラムを持ってタイトルはタイトルでタグが無い状態で欲しいので
simplexml_load_file()で処理した後に取得できるのですが、両方いっぺんには無理でしょうか?
0339nobodyさん
2011/11/10(木) 19:58:34.70ID:ZhWtNVenそれとも削除フラグが立って、削除自体はGCか何かであとでまとめて削除されるんですか?
session_save_path()でセッションの保存先をpublic_html以下にしてみて
session_destroy()を呼んでみて確認したところ、削除されていないような感じだったので・・・
0340nobodyさん
2011/11/10(木) 20:03:53.08ID:???0341339
2011/11/10(木) 20:18:05.94ID:???レスどうもありがとうございます
session_start();
$_SESSION = array();
はやっています
ini_set('session.use_cookies','0');
にしているのでセッションクッキーの箇所はマニュアルの例とは違っています
そのレスだとすぐにセッションファイルが削除されるってことですよね
わかりました
0342nobodyさん
2011/11/10(木) 22:15:11.52ID:J5cnYxt0今日おれの誕生日だ。
ケーキ買いに池袋いったんだ。
そしてケーキ屋の人がだれかの祝いですか、と聞かれて僕です
と答えたら、周りの従業員さん5名にbookoffみたくおめでとうと言われて
非常にはずかしかった。
どうしたらいい?
0343nobodyさん
2011/11/10(木) 22:20:43.89ID:???俺も8日に誕生日だった。
地震以来久々に妹からメールが来た。
読んだところ
「部屋にあるジョジョよんでいい?」
だった
そんなもんだ
0344nobodyさん
2011/11/10(木) 22:27:05.89ID:J5cnYxt0笑える。
でもさ、でかい声で今日お誕生日の方いらっしゃいました
とか言う必要なくない。
一人で来ているのに、もうはずかしくて。
まさかそんな待っている間拷問だった
0345nobodyさん
2011/11/10(木) 22:29:13.25ID:???と思って店員が気を効かせて祝ってくれたんだから有りがたく思え。
そして思いっきりスレチだ。
0346nobodyさん
2011/11/10(木) 22:31:54.86ID:J5cnYxt0じゃあ、こういうこと書ける板ってどっかある?
ちゃんと家族で食べたよ。恋人はいませんけど。
もう二度とあのケーキ屋にはいかない。
あーあおれの誕生日も後2時間か。いいことなかったな
0347nobodyさん
2011/11/10(木) 23:03:13.06ID:???0349nobodyさん
2011/11/11(金) 04:04:18.29ID:???当たり前だろ
データベースのエスケープ処理はSQLインジェクションを防ぐための処理
SQLインジェクションに<>は関係ない
<>のエスケープはXSSを防ぐための処理だ
んで本題だがHTMLタグってのはデータベースにはそのまま入れる
んで取り出してHTMLに表示するときにhtmlspecialcharsでエスケープをして表示する
0350nobodyさん
2011/11/11(金) 04:11:44.22ID:???0351nobodyさん
2011/11/11(金) 04:52:59.71ID:???PHPプログラマーの、お姉さんだ!
徹夜明けの始発で帰宅中だ。
頭がテンパッテルから
どんな質問にも答えるぞ!
0352nobodyさん
2011/11/11(金) 05:04:13.04ID:mPjM7esZインデントをそろえるにはどうしたらよいですか?
0353nobodyさん
2011/11/11(金) 06:26:12.16ID:???> htmlのソースが汚くなってしまう
> インデントをそろえるには
htmlを出力する部分のPHPコード、そのPHPコードのインデントを変えてみてください。
いろいろと、自分で試してみると思い通りの結果が得られることがあります。
by 帰宅したお姉さん
0358nobodyさん
2011/11/11(金) 11:45:59.13ID:2qMnb8p5realの方は文字コードを考慮したエスケープを行うとのことですが
mysql_escape_stringをつかった時、
具体的にどういうデータがどのように問題になるのでしょうか?
0359nobodyさん
2011/11/11(金) 11:51:46.01ID:???ttp://php.net/manual/ja/function.mysql-escape-string.php
>この関数は PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。
>注意:
>mysql_escape_string() は、 % および _ をエスケープしません。
0360nobodyさん
2011/11/11(金) 11:55:36.38ID:???具体的に% および _ をエスケープしないことでどのような問題があるのでしょうか?
like文のパラメータとして働かなければ%はただの文字列では?
0361nobodyさん
2011/11/11(金) 12:50:26.64ID:???%E3%81%8A%E3%81%BE%E3%81%88%E3%81%AF%E3%83%90%E3%82%AB%E3%81%A0%E3%81%AA
0362nobodyさん
2011/11/11(金) 12:55:32.49ID:???危険だから使うなとか、
''で囲まずにそのまま変数をクエリに代入して「危険」とかそんなの当たり前だろ!っていう例とか
なんなの??
0363nobodyさん
2011/11/11(金) 12:58:28.04ID:???本当このスレはレベルが低い質問に群がるレベル低い回答者であふれてるぜwwwwwwwwwww
ttps://twitter.com/#!/hiroyuki_ni/status/133990793441591298
0364nobodyさん
2011/11/11(金) 12:58:36.79ID:???mysql_escape_string()はキャラクタセットの変更を考慮しない
更にこの関数自体がセキュリティの観点から見ても好ましくない
例えば、文字列リテラルのメタ文字が増えた場合に意図しない動作になるとかね
0366nobodyさん
2011/11/11(金) 13:08:33.44ID:???ありがとうございます
抽象的な説明はいろいろ読みましたが
知りたいのは
「こういう文字をmysql_escape_stringにかけたらこうなり
mysql_real_escape_stringにかけたらこうなる
だから問題だ」
という具体例です
説明から例が思いつかないので腑に落ちないのです
0370nobodyさん
2011/11/11(金) 15:10:02.82ID:???0371nobodyさん
2011/11/11(金) 15:14:32.29ID:Hw6ayFxo作るのはスーパーマリオブラザーズで例えると
技術的にどれくらいのレベルですか?
ちなみに hello php World が、1-1です。
0372nobodyさん
2011/11/11(金) 15:23:13.91ID:???0373nobodyさん
2011/11/11(金) 15:33:12.10ID:???0374nobodyさん
2011/11/11(金) 15:37:19.26ID:???そのへんもちゃんとやるならクッパ倒すより難しい
0375nobodyさん
2011/11/11(金) 15:40:57.03ID:???情報を表示するだけならもうちょっと簡単じゃない?
0376nobodyさん
2011/11/11(金) 15:42:36.09ID:???ちゃんと設計して考えてやれば1ヶ月ぐらいかかるな
0377nobodyさん
2011/11/11(金) 15:47:14.11ID:3zpr0Z+7更新する際にブラウザから受け取った主キーの値の物を上書きするため、
何らかの方法でPOSTを書き換えると関係無いデータに上書きしてしまいます。
あえてセッションを使わない方法で、
これを回避するにはどうしたらいいでしょうか?
0378nobodyさん
2011/11/11(金) 16:06:27.30ID:???1. フォームにユニークな識別子を割り振る
2. フォームの識別子と主キーをペアにしてDBに保存する
3. フォームに識別子を埋め込んで出力する
4. 送信されてきた識別子でDBから主キーを逆引きする
0379nobodyさん
2011/11/11(金) 16:11:47.26ID:???それはその通りだと思いますが
ここまで具体例がネット上にないのは
ほとんど問題の本質が理解されていないのではないでしょうか?
ググりまくりましたが
「なんとなく分かったことにしておこう」
的な意識を全般的に感じました
0380nobodyさん
2011/11/11(金) 17:07:51.83ID:???サンプルのコピペで実行されない様にする為に決まってんだろ
0381nobodyさん
2011/11/11(金) 17:17:01.94ID:???意味が分かりません
あなたは自分の言っていることが自分で分かっているのですか?
そして自分の言葉が他人に分かると思いますか?
0382nobodyさん
2011/11/11(金) 17:57:50.27ID:???あんまり分かってない(のが多い)ってのは事実だよ。
理由は、ここ見れば全部分かる、間違ってないってサイトが無いからな。
あれば ここみろで終わりだしな。
ヘンテコ本が蔓延したのもあるし、公式は間違って無いが、細かいところが足りない。
0383nobodyさん
2011/11/11(金) 18:09:09.09ID:Hw6ayFxocase 'a_page':
a_page();
break;
case 'b_page':
shop();
break;
case 'c_page':
contact();
break;
}
function a_page(){
include_once(dirname(__FILE__)."/VIEW/a_page.php");
}
function b_page(){
include_once(dirname(__FILE__)."/VIEW/b_page.php");
}
function c_page(){
include_once(dirname(__FILE__)."/VIEW/c_page.php");
}
サンプルを参考にしながら、MVCのコントローラー部分、
引数に応じて表示させるページを変えるというのをやってるんですけど
ページを一個追加するたんびに 同じ名前なのに
case名 指定関数名 定義関数名 phpファイル名 と4箇所も
書いていかなくてはなりません。
なんかとても無駄なことしてる感じがするんですが
こういうものですか?
0384nobodyさん
2011/11/11(金) 18:24:04.80ID:???ページ発行の度にDBに登録するのは手間ですが、
これならとりあえずは問題無さそうです。
ありがとうございます
0385nobodyさん
2011/11/11(金) 18:29:18.58ID:???function作る必要ないじゃん
case 'a_page':
include_once(dirname(__FILE__)."/VIEW/a_page.php");
break;
でいいじゃない
0386nobodyさん
2011/11/11(金) 18:32:26.28ID:???a_pageが来たらviewのa_page.phpを探しに行くのはダメなのかな?
a_page.phpのなかは一つのクラスにして、
そのクラスのなかでいろいろ処理をする
Zendはそんな感じだった記憶あるし
0387nobodyさん
2011/11/11(金) 18:36:04.00ID:Hw6ayFxo変数がスコープされてどうたらこうたらで
セキュリティ的にヨシらしいです。
0388nobodyさん
2011/11/11(金) 18:38:57.80ID:???どんな資料かはわからないけど、
関数の中では変な変数を作っても外に影響はないとか、
そういう意味なのではと予測してみる
0389nobodyさん
2011/11/11(金) 18:58:12.64ID:???ページ増やすのも 配列に追加するだけで済ますことも出来るけど、
こうしないと出来ないこともあるわけで、なにがいいかは分かりません。
0390nobodyさん
2011/11/11(金) 19:28:42.73ID:jLYP25UJできます。
最近のバージョンで変わったんでしょうか?
0391nobodyさん
2011/11/11(金) 20:40:20.86ID:???ソースはよ
0392nobodyさん
2011/11/11(金) 21:10:31.30ID:???すみません、できませんでした
requireはwarning後にfatalエラー出るんですね
0393nobodyさん
2011/11/11(金) 21:30:23.03ID:???無駄だよな。だからもっと省略しようぜって動きがフレームワーク
<?php
define('VIEW_DIR', dirname(__FILE__) . '/view/');
$page = 'page_' . (@$_REQUEST['page'] ? $_REQUEST['page'] : 'a');
if (function_exists($page)) { $page(); } else { die($page . ' not exists.'); }
function page_a() { include VIEW_DIR . 'a.php'; }
function page_b() { include VIEW_DIR . 'b.php'; }
function page_c() { include VIEW_DIR . (mt_rand(0, 1) ? 'c1.php' : 'c2.php'); }
0396nobodyさん
2011/11/11(金) 23:05:15.81ID:???0397nobodyさん
2011/11/12(土) 10:02:10.03ID:???https://twitter.com/#!/ts_3156/status/121974805573545984
PHPでもGUIは作れます
PythonもRubyもGUIは作れますがライブラリを入れないと作れません
PHPも同じです
バカは一人前にディスるな
0398nobodyさん
2011/11/12(土) 10:25:58.18ID:???ただのバカだ。 大事なのは反応しないこと。
荒らして反応があるのがたまらなくうれしいんだからな。
反応があってうれしいか?荒らしくんw
0399nobodyさん
2011/11/12(土) 14:13:37.07ID:y4Nx+kxFC0/C1/C2
検査網羅率(テストカバレージ)
というものを知りました。
これ・・・、
かなり手間がかかりそうな話なんですけど
みんな、ある程度やってものなんですか?
0400nobodyさん
2011/11/12(土) 14:19:35.83ID:???0401nobodyさん
2011/11/12(土) 14:37:33.61ID:???0402nobodyさん
2011/11/12(土) 14:46:53.12ID:y4Nx+kxFプログラミングの世界は
何が正しくて何が間違っているのか
自分がやってることははたして一般的なのか
というのがようわからん時があるので
その指標、参考の一つとして
一般的にどれくらいその技術、方法が
広まってるのかを基準にすることがある。
0405nobodyさん
2011/11/12(土) 17:25:35.49ID:???テストするならごく普通の考え方。
0406nobodyさん
2011/11/12(土) 17:41:10.94ID:???実務レベル(中小企業からの外注など)で使っていいと思う?
0407nobodyさん
2011/11/12(土) 18:01:45.63ID:???0408nobodyさん
2011/11/12(土) 18:55:45.32ID:???0409nobodyさん
2011/11/12(土) 19:00:44.03ID:???オブジェクト指向使うのは自社製品をプロジェクトチームで開発するかオープンソースで公開する時のみ。
俺はこの二つで使い分け(書き分け)してる。
0410nobodyさん
2011/11/12(土) 19:40:03.15ID:Y8SMtFp60411nobodyさん
2011/11/12(土) 20:03:45.64ID:???ttp://php.net/manual/ja/function.ssh2-connect.php#104758
こんな感じで実装すればいいんじゃない?
0413nobodyさん
2011/11/13(日) 06:04:07.42ID:???クライアントから特に指定がないならなんでもいい
だがフレームワーク使ったほうがいいよ
手続き型にしてもオブジェクト指向型にしても
フレームワーク使わないと作業効率があがらないい
0414nobodyさん
2011/11/13(日) 08:27:26.16ID:???0415nobodyさん
2011/11/13(日) 09:53:39.82ID:Rs/FBYQkオススメのフレームワークってなんですか?
やっぱ CodeIgniter?
0416nobodyさん
2011/11/13(日) 10:39:39.24ID:???ライセンス問題でもめてるから
0417nobodyさん
2011/11/13(日) 11:14:58.47ID:VTZV0iGW載ってましたか・・・失礼;;
nullを代入したら良いのですね
0418nobodyさん
2011/11/13(日) 15:57:48.66ID:N83gtIIz<?php
echo '―';
実行結果
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in test.php on line 2
文字列に―(ダッシュ)がある時のみエラーになります
クォーテーションはシングルでもダブルでも同じ
PHPのバグですか?
Linux系では大丈夫でした
PHPに報告送ったらなんかもらえる?
0419nobodyさん
2011/11/13(日) 15:58:35.18ID:???0420nobodyさん
2011/11/13(日) 16:44:15.93ID:???大方 mbstring.script_encoding を指定せずにShift_JISで書いてるだろ
0421nobodyさん
2011/11/13(日) 19:30:28.94ID:MmYvGAeIWindows型のCRLFをLinuxのLFに変換したいと思います
この場合どのようにすればいいのでしょうか?
自分はpreg_replace()でもいいとは思ったのですが、処理速度が遅いとのことで
str_replace('\r\n', '\n', $a);のようにしたのですが、こんなものでいいのでしょうか?
ヒアドキュメントを使った文章に上のものを適用してみたのですが、改行はブラウザなどでは目に見えないので自分には分かりませんでした
アドバイスを頂けないでしょうか?
0422nobodyさん
2011/11/13(日) 19:35:38.43ID:Rs/FBYQk図式ってどんな感じで作成するもんなんでしょう?
専用のツールを使うのでしょうか?
それとももっと原始的に紙と鉛筆で
ユーザーがここをクリックしたらこうなって
ここで、検証して・・・
みたいな感じで図に書いていく感じでしょうか?
0423nobodyさん
2011/11/13(日) 19:50:12.09ID:???なんでもやってくれて勉強にならないからか?w
それとも自分で理解しなくちゃいけない役立たずだからか?w
マジでXAMPP使うなしか言わないやつは役に立たんなw
0424nobodyさん
2011/11/13(日) 20:29:03.32ID:???少なくてもプログラマはそういうツール使わない。
UML図とかそういうの作るツールとかあるけど、
ほぼすべてにおいて、手書きに劣る
人に説明しなきゃいけない訳じゃないなら、
手書きで十分
0425nobodyさん
2011/11/13(日) 20:36:18.82ID:???0426nobodyさん
2011/11/13(日) 20:36:52.00ID:Rs/FBYQk回答ありがとうございます。
boogie board
買います。
0427nobodyさん
2011/11/13(日) 20:47:10.29ID:???str_replaceで改行を置換させるなら ' じゃなくて " を使え
あとベンチマークをちゃんと取ってからどっちが早いか決めろ
ブログで○○は遅いとか早いとか鵜呑みにするな
0429nobodyさん
2011/11/13(日) 20:56:41.46ID:DyiGFRAw行ごとに数字だけが入ったファイルを2つ用意しています(a.txt、b.txt)。
これらのファイルから、ある行を以下のようにして取り出しています。
$a = file("a.txt", FILE_IGNORE_NEW_LINES);
$b = file("b.txt", FILE_IGNORE_NEW_LINES);
それで以下のようにそれぞれを足してます。
$c = $a[0] + $b[0];//それぞれ1行目の場合
これで、2行目以降を取り出して足し算したときは問題ないのですが、
1行目を取り出した場合結果が変になります。
$a[0]が5で、$b[1]が10の場合、$cは10になってしまいます。
$a[1]が5の場合は、$cはちゃんと15になります。
どうも1行目の数字を計算しようとすると、それが0になってしまうようです。
ファイルの読み込み方に問題があるのでしょうか?
調べてもどうしてもわかりません。
どなたかご教示いただけませんでしょうか。
0430nobodyさん
2011/11/13(日) 21:04:38.39ID:Rs/FBYQkこのへんの問題なのかも↓
http://nyx.pu1.net/practice/file_ope/file_ope6.html
0431429
2011/11/13(日) 21:10:31.27ID:DyiGFRAw早速の回答ありがとうございます。
ファイルポインタですか…勉強したいと思います。
ただ、先ほどは書き忘れたのですが、
echo $a[0];
とやれば、きちんと「5」と表示されます。
計算をした瞬間に「0」になってしまうんです…。
0433429
2011/11/13(日) 21:58:47.76ID:DyiGFRAwすみません、少し原因がわかった気がします。
array(6) { [0]=> string(5) "?28" [1]=> string(2) "29" [2]=> string(2) "29" [3]=> string(2) "30" [4]=> string(2) "30" [5]=> string(2) "31" }
ブラウザで見ると、[0]は"28"なのですが、
コピペすると「?28」で5文字になっています…。
用意したデータファイルがだめなんですね。
作り直してみます(どうしてだめなのかよくわかってませんが)。
お手数おかけしました。
0434429
2011/11/13(日) 22:03:34.57ID:???逝ってきます。
0436nobodyさん
2011/11/14(月) 00:49:41.32ID:???http://blog.flatlabs.net/20100605_065101/
500のMISSING_ARG_APIKEYというエラーが出ます。
APIKEYは何度もちゃんとコピペしたので間違ってるわけありません
同じような症状の方いますか?
0439nobodyさん
2011/11/14(月) 08:16:49.02ID:???ブラウザで http://api.bit.ly/v3/shorten?login=〜っていれて見えます?
0440nobodyさん
2011/11/14(月) 08:35:48.52ID:???パラメータを変数に入れずに直で書いたらいけました・・・
意味わからん!
ありがとうございました!
0441nobodyさん
2011/11/14(月) 08:41:53.38ID:???."login={USER}" そのままじゃないよね?
0442nobodyさん
2011/11/14(月) 10:36:43.97ID:4eqYEG9Caccountフィールドでソートして表示するやりかた
・accountごとにテーブルをつくって表示するやりかた
どちらが早いでしょうか。全部で1000件ほどです。
0444nobodyさん
2011/11/14(月) 11:09:55.29ID:7NbDH7tB0445nobodyさん
2011/11/14(月) 12:19:16.19ID:???0446nobodyさん
2011/11/14(月) 12:27:50.88ID:aWGA7HGmなぜかAUだけ$_GETに値が入っていないようです。。
ドコモとソフトバンクは問題ないようなのですが、調べてるとAUの仕様が原因らしいのですが、解決法がわかりません。
どなたか教えて頂けると助かります。
PHP5.2.17 さくらレンタルサーバスタンダードプラン
0447nobodyさん
2011/11/14(月) 12:47:36.72ID:7NbDH7tBPHPでやる場合の質問です
0448nobodyさん
2011/11/14(月) 14:03:08.36ID:???ここのsearch forって入力欄にmysqlって入れてみましょう
0449nobodyさん
2011/11/14(月) 14:14:46.53ID:7NbDH7tBもし該当するぺーじがあるならピンポイントで教えていただけますか
0450nobodyさん
2011/11/14(月) 15:01:19.13ID:???最初の数ページも読む気ないわけ?
例って書いてあるじゃん
0451nobodyさん
2011/11/14(月) 15:10:06.82ID:???0452nobodyさん
2011/11/14(月) 15:30:32.35ID:???なにをしたとき?(ただページを開いたとき、urlにパラメータつけたとき、フォームでGET指定したときとか)
0456nobodyさん
2011/11/14(月) 19:58:08.35ID:???文字列中の定数は{}つけようが展開されない。
>>455
人間でも1000ページから該当ページ探すのと、
1000冊から該当本探すの変わらないけど、
本分けるのは、めんどうでしょ?
一冊になってれば、目次もつけられるし。
0457nobodyさん
2011/11/14(月) 20:04:18.35ID:???勝手にブログみたいなサービスをイメージしてて、
そのユーザのブログではそのユーザの情報しか取り出さないからアカウント毎に分けてたほうがよさそうなのに、
って思ったけどそれでもブログサービスでもすべてのブログから特定の単語を含む記事を検索する機能とかありますね
言われてみれば確かに分けてると探しにくそう
0458nobodyさん
2011/11/14(月) 20:09:47.59ID:???百科事典のようにテーブルを分けるようなこともある。
0459nobodyさん
2011/11/14(月) 20:17:18.96ID:???横からだけどありがとうm(_ _)m
元の質問者の人、横から茶々入れてごめんm(_ _)m
0460nobodyさん
2011/11/14(月) 20:18:28.61ID:???2chでたとえた場合
・板毎にスレ・レステーブルを作る
・板横断で(2ch全体で)、スレ・レステーブル作る
この場合は、分けたほうがいいんですよね?
ちょっと似たような設計で少し迷ってるとこがありまして
0461nobodyさん
2011/11/14(月) 20:24:51.29ID:???どちらかというとセキュリティや個別にレイアウト変更をするために分割することのほうが多いぐらい。
>>460
なので別に分けなくていいよ。
0462nobodyさん
2011/11/14(月) 20:26:13.59ID:???個人的には2chの規模だと板毎にDB作るのはありだと思うよ
0463nobodyさん
2011/11/14(月) 20:26:46.79ID:???0467nobodyさん
2011/11/15(火) 08:30:27.73ID:???0468nobodyさん
2011/11/15(火) 11:11:21.62ID:/AFeSgs+phpmyadminを操作してて
間違ってテーブル消してしまったり、レコード書き換えちゃった場合
もとに戻す方法はないんでしょうか?
また、phpmyadminのバックアップって
なんとかしてとれないんでしょうか?
レコード数が莫大になると、エクスポートしてくれなくて・・・
0470nobodyさん
2011/11/15(火) 13:44:23.75ID:nNXW0/FD自動で入力&送信するプログラムを
PHPで作成することは可能でしょうか?
例えば、懸賞サイトの入力フォームに毎回氏名や住所を入力するのは
大変なので、テキストに懸賞サイトURL、氏名、住所などを記載しておいて
PHPを動かしている自前サーバーからボタン一つで登録できるような
イメージです。
もし実現可能であれば、
関数などのヒントをいただけるとありがたい。。
0471nobodyさん
2011/11/15(火) 13:49:12.31ID:???0472nobodyさん
2011/11/15(火) 13:49:58.67ID:???それを再現するプログラムを書けばいいだけ
cURLとかソケットとかその辺使えば出来るが
「PHPを動かしている自前サーバーから」
これがどこを指してるのかわからないが
この自前サーバがlocalhostでないならやめたほうがいい
0474nobodyさん
2011/11/15(火) 13:53:50.27ID:???0475nobodyさん
2011/11/15(火) 13:55:41.59ID:???スパムだろうね
0476nobodyさん
2011/11/15(火) 13:57:42.18ID:???質問してる時点で作れるレベルではないから
0477nobodyさん
2011/11/15(火) 14:05:18.40ID:nNXW0/FDこれはスパムになるんですね。。プログラミングはやめておきます。
失礼しました。
0478nobodyさん
2011/11/15(火) 14:22:19.78ID:???0479nobodyさん
2011/11/15(火) 14:24:50.38ID:???質問者が暴れたりしてスレが荒れ出すから
0480sage
2011/11/15(火) 14:24:57.18ID:nNXW0/FD0481nobodyさん
2011/11/15(火) 14:36:45.60ID:???0482nobodyさん
2011/11/15(火) 14:48:20.25ID:???0483nobodyさん
2011/11/15(火) 15:26:47.47ID:NkOq7hLN以下のような.iniファイルをparse_ini_file()にて読み込んだのですが、
[hoge]
foo.title = 'こんにちは'
foo.text = 'hello'
bar.title = 'good bye'
bar.text = 'linux'
$inifile['hoge']をvar_dump()すると、foo.title => 'こんにちは'のような配列で返ってきます
これはいいのですが、この場合foo.xxxの部分だけを取り出すにはどのようにすればいいのでしょうか?
foreach()で回すのかなと思いましたが、
var_dump()の階層が一つしか無かったのでそれでは無理か、と思いまして
正規表現とか何かで取り除いていくしかないのでしょうか?
0484nobodyさん
2011/11/15(火) 15:29:46.18ID:NkOq7hLN上のような書き方をしたのは、Zend_Frameworkの書き方を参考にしました
0486nobodyさん
2011/11/15(火) 16:30:36.87ID:???0487nobody
2011/11/15(火) 18:05:42.21ID:???【PHPのバージョン】5.2.0
1. ini_set('session.cookie_lifetime', 3600) する(iniファイルは0のまま)
2. php.ini のsession.cookie_lifetime を3600に書き換える
1と2で何かブラウザの挙動って変わります?
今、すごいおかしなことが起こっていて、
1のときは主要5ブラウザ全てでセッション変数がセットも参照もできるんですが、
2のときはセットはできてるようなのですが、遷移先で参照できません。
それがFirefox以外のブラウザで起こります。
session.gc_maxlifetimeは14400にしてます。
それ以外のiniファイルのセッション関係の設定はデフォルトです。
・index.php
//ini_set('session.cookie_lifetime', 3600);
session_start();
$_SESSION['abc'] = $_POST['def'];
echo($_SESSION['abc']);
(中略)
<a href="./session.php">Check Session</a>
・session.php
//ini_set('session.cookie_lifetime', 3600);
session_start();
print_r($_SESSION);
【OS名】CentOS
【PHPのバージョン】5.2.0
どなかた教えてください。
0488nobodyさん
2011/11/15(火) 19:28:08.15ID:YCB66CHc$stmt->bindValue(':id', 1, SQLITE3_INTEGER);
$stmt->bindValue(':id2', 10, SQLITE3_INTEGER);
$stmt->bindValue(':id3', 100, SQLITE3_INTEGER);
このようにMySQLiでも書きたいのですがMySQLiにはbind_paramしかありません
ためしにbind_paramで複数に分けて書いてみましたがやはりエラーになります
複数に分けて書くテクニックなどございませんか?
0489487
2011/11/15(火) 19:56:35.99ID:vIxS7Rlf改めて、よろしくお願いします。
0490nobodyさん
2011/11/15(火) 20:25:31.77ID:nzzLFJZT上記条件式をeregを使わずにpreg_matchなどで書く方法を教えてください。
0491490
2011/11/15(火) 20:38:03.17ID:nzzLFJZTスラッシュ以外のデリミタを指定したらうまくいきましが、これでいいのかな?
0492nobodyさん
2011/11/15(火) 20:40:49.75ID:???0493nobodyさん
2011/11/15(火) 21:51:42.62ID:oC4G4RqCFailed opening required 'Calendar/Month/Weeks.php' (include_path='.:/php/includes:/usr/share/php/smarty')
in /opt/lampp/htdocs/samples/chapter6/6-4/calendar_pear.php on line 8
というエラーが出ているので調べています。
PEARのCalendar/Month/Weeks.phpってデフォルトではどこにインストールされるものなんでしょうか?
PEARはインストールしてあって、pear install Calendar-0.5.5もやっていて、
pear install Calendar
と打つと
pear/Calendar is already installed and is the same as the released version 0.5.5
install failed
と、既にインストールされてます、と出ます。
/usr/share/php/PEARが存在することは確認したのですが、find . "Weeks.php"と打っても
「find: `Weeks.php': そのようなファイルやディレクトリはありません」と出ます。
どうやって調べればいいのでしょうか?
0494nobodyさん
2011/11/15(火) 22:03:42.67ID:???0495nobodyさん
2011/11/15(火) 22:57:37.07ID:PPkF/yi6○ファイル構成 top.php └ad ├001 │└001.php └002 └002.php
○ソース ... <?php include "./ad/001/001.php";?> ...
<?php include "./ad/002/002.php";?>
○問題 上記のソースのように記載して表示した場合、 001は表示されるが、002は表示されない。 試しに001の記述を削除して確かめてみると、 002が表示される。 001と002が両方表示されるためには、どうしたらいい のでしょうか?
ご指導頂けるとありがたいです。
0497nobodyさん
2011/11/15(火) 23:00:59.98ID:???001.phpでエラーがあって止まってるってことはないかね
includeというものは絶対パスで指定するようにしたほうがいい
0498nobodyさん
2011/11/15(火) 23:08:51.62ID:???0499495
2011/11/15(火) 23:11:07.52ID:PPkF/yi6すいません、
携帯で書き込んだところ、改行が崩れてしまいました。
現在帰宅途中ですので、帰宅次第 exit、 dieをググってみます。
>>497
なんとなくのイメージで、相対パスの方が、長い目でみたらいいと勝手に思ってました。(移管とかの際)
早速の返答ありがとうございます。
かなりの初心者なので、これらを参考に調べてみて、トライしてみます。
上手く行かなかった場合は、再度質問させて貰うかもしれません。
その際は、可能ならば、よろしくお願いいたします。
0500493
2011/11/15(火) 23:16:44.24ID:oC4G4RqCそれは私へのレスでしょうか?
困っているのでどなたかお願いします。
0502493
2011/11/15(火) 23:25:23.02ID:oC4G4RqC0503nobodyさん
2011/11/15(火) 23:31:51.24ID:???相対パスを指定するとPHP実行時に絶対パスに変換するから
はじめから絶対パスで指定するとその変換作業のコストを減らせる
後、複数人でコードメンテナンスする場合は相対パスよりも絶対パスで書くのが常識
0504nobodyさん
2011/11/15(火) 23:35:48.26ID:???0505nobodyさん
2011/11/15(火) 23:38:56.42ID:???/で書くとドキュメントルートからのパスになるから
baseとなるパスをrealpathで取得してそれをくっつけて使うんだよ
0506nobodyさん
2011/11/15(火) 23:39:19.80ID:???0507nobodyさん
2011/11/16(水) 00:10:38.38ID:???絶対パス /home/aa/public_html/a.php or / (Document Root)
URL http〜
0508nobodyさん
2011/11/16(水) 02:02:05.31ID:???0509495
2011/11/16(水) 09:19:23.57ID:gD8mJFYY勉強になります。
昨晩、色々と試行錯誤したのですが、力不足のためダメでした。
【問題と思われるページのソース001.php】
<?php if (getUserAgent()=='P') { //PC include('p001.php'); } else if
(getUserAgent()=='ip') { //iphone include('s001.php'); } else if
(getUserAgent()=='an') { //Android include('s001.php'); } else if
(getUserAgent()=='m') { //Mobile include('m001.php'); }
次レスに続きます。
0510495
2011/11/16(水) 09:22:55.04ID:gD8mJFYYfunction getUserAgent() {
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone')){ $env = 'ip'; }
elseif(strstr($_SERVER['HTTP_USER_AGENT'],'Android')){ $env = 'an'; }
elseif(strstr($_SERVER['HTTP_ USER_AGENT'],'DoCoMo')){ $env = 'm';
} elseif(strstr($_SERVER['HTTP_ USER_AGENT'],'UP.Browser')){ $env = 'm'; } elseif(strstr($_SERVER['HTTP_USER_AGENT'],'J-PHONE')){ $env = 'm'; }
elseif(strstr($_SERVER['HTTP_ USER_AGENT'],'Vodafone')){ $env = 'm'; }
elseif(strstr($_SERVER['HTTP_ USER_AGENT'],'SoftBank')){ $env = 'm'; }
elseif(strstr($_SERVER['HTTP_ USER_AGENT'],'WILLCOM')){ $env = 'm'; }
else{ $env = 'p'; } return $env; } ?>
m001.phpなどには、広告タグを貼っており、
直接m001.phpやm002.phpをインクルードすると正常に表示されたので、このソースのページが駄目なのかなと。
長々とすいません。
0511nobodyさん
2011/11/16(水) 09:35:21.42ID:???まさかとは思うが、、、
<?php if (getUserAgent()=='P') { //PC include('p001.php'); } else if
は
<?php if (getUserAgent()=='P') { //PC
include('p001.php'); } else if
改行入れてるよね?
さすがにそれはないかw
0513nobodyさん
2011/11/16(水) 10:03:50.43ID:???0518nobodyさん
2011/11/16(水) 10:26:43.32ID:???0519495
2011/11/16(水) 10:44:41.16ID:gD8mJFYY>>512
すいません、スマホからコピペして書き込むと、改行が上手く反映されてないかもしれません。
http://i.imgur.com/Q3QEc.jpg
>>513
どうして駄目なのでしょうか?
よろしければご教授を。
ひとつ目の読み込みでは上手くいってるのですが。
>>515
どこのスペースのことでしょうか??
くだらない内容をだらだらとすいません。
0520nobodyさん
2011/11/16(水) 10:58:38.15ID:???0521nobodyさん
2011/11/16(水) 11:05:25.53ID:???0523nobodyさん
2011/11/16(水) 11:51:54.72ID:???0524nobodyさん
2011/11/16(水) 12:16:58.51ID:???0525nobodyさん
2011/11/16(水) 12:25:35.75ID:???検索のノウハウが無いと大変なんかねえ
0526nobodyさん
2011/11/16(水) 12:29:59.69ID:???嘘に引っかかることもあるし、それは古い話だってこともある。
0527nobodyさん
2011/11/16(水) 12:48:57.64ID:???ググった
0528nobodyさん
2011/11/16(水) 12:49:31.84ID:???0529nobodyさん
2011/11/16(水) 12:51:33.14ID:???0531nobodyさん
2011/11/16(水) 13:57:50.04ID:???0532nobodyさん
2011/11/16(水) 13:59:35.26ID:???0533nobodyさん
2011/11/16(水) 14:02:40.03ID:???0534495
2011/11/16(水) 14:08:22.17ID:gD8mJFYY微妙にお叱りを受けていたようなので、
>>510
print getUserAgent();
のレスを元に、
2つのinclude先ファイルに記載してみました。
すると、後で読み込むファイル(002)の箇所が表示されない。
後のファイルのみなら表示される。
ソースを半分に割って試行錯誤。(取得部分と再include部分)
結論は、002でユーザーエージェントを取得しなければ、思い通りの表示になりました。
考えてみると、001で取得してるので、必要ないので削除しました。
色々と助言をくれたかた、ありがとうございました。
0535nobodyさん
2011/11/16(水) 14:08:26.73ID:???そして不必要なパラメータを削っているところを見ると
0536495
2011/11/16(水) 14:15:09.40ID:gD8mJFYY必要な時に、必要最低限の勉強と公開されてるソースのコピペばかりをやってきたので、
phpの知識が全く系統だてられていません。
その状態で半年、だましだましやってきたので、
分からないことに出会った時に、上手く調べられないのも確かです。
また、ヒットしたページの通りにやってみても、バージョンのせいなのか設定のせいなのか、
上手くいかないこともしばしばでして。。
でも、僕の怠慢です。
不快にさせて申し訳ありませんでした。
きちんと勉強しながら、またどうしてもというときだけ、質問させてもらいます。
ありがとうございました。
0537nobodyさん
2011/11/16(水) 14:18:59.43ID:???PHP3や4でも動くコードを書け、みたいなノリ。配布するわけでもないのに
0539nobodyさん
2011/11/16(水) 14:21:59.65ID:???0542nobodyさん
2011/11/16(水) 14:25:22.03ID:???0543nobodyさん
2011/11/16(水) 14:28:24.89ID:???0545nobodyさん
2011/11/16(水) 14:30:38.25ID:???0546nobodyさん
2011/11/16(水) 14:33:58.74ID:???0547nobodyさん
2011/11/16(水) 14:35:53.11ID:???0548nobodyさん
2011/11/16(水) 14:44:33.54ID:???(取得できないように設定しているサーバというものがある)
自分しか使わない、自分の環境が分かってる人間には問題ない。まして動いているなら。
彼が言ってるのは、環境なんか知る必要はないってことだな。
初心者への助言とはいえる。
0549nobodyさん
2011/11/16(水) 14:52:46.53ID:???でその助言で相手を混乱させてると・・・
しかも理由を聞かれても答えない素敵な助言
0551nobodyさん
2011/11/16(水) 15:11:03.11ID:???0552nobodyさん
2011/11/16(水) 16:59:38.93ID:???FirefoxやChromeはデコードされた文字列をロケーションバーに表示してくれる
全体をコピーしたら元のURIがコピーされるけど、一部分のコピーだとデコード後の文字列がコピーされる
0554nobodyさん
2011/11/16(水) 19:54:15.47ID:eLkUclYQPHPでのワイルドカードの使い方についてです。
まず、現在は
if($_POST['enter_1']){ echo $_POST['name_1'];}
if($_POST['enter_2']){ echo $_POST['name_2'];}
if($_POST['enter_3']){ echo $_POST['name_3'];}
<input type="text" name="name_1"><input type="submit" name="enter_1" value="送信">
<input type="text" name="name_2"><input type="submit" name="enter_2" value="送信">
<input type="text" name="name_3"><input type="submit" name="enter_3" value="送信">
となっています。
実際にはechoではなくMySQL文があるのですが、今回はわかりやすぐechoにさせていただきました。
送信ボタンを押すと、それに対応したテキストボックスに入力した文章が表示されるのがわかると思います。
本題です。
IF文の中が$_POST['enter_○'] となっていて、TRUEのときは○の中身が使用されます。
○以外は全て同じなので、ワイルドカードを使ってIF文をひとつにできないかと思いましたが・・・。
正規表現や配列等を考えてみて、やってみたのですがうまくいきませんでした。
IF文をひとつにする方法はありませんでしょうか?
よろしくお願いします。
0556nobodyさん
2011/11/16(水) 20:14:59.77ID:???foreach( $items as $var=>$val)
if ($_POST[$var])echo $_POST[$val];
---------------------------------------------
for($i=1;$i<=3;$i++)
if ($_POST["enter_$i"])echo $_POST["name_$i"];
(セキュリティについてはサンプルってことで書かないけど、
こういうのが ネットにこう書いてあったって使われちゃったり)
0557nobodyさん
2011/11/16(水) 21:12:17.78ID:???普通h同じセッションになるので不可能だと思いますが何か方法があれな教えて下さい。
0560553
2011/11/16(水) 22:11:49.03ID:eLkUclYQ最近勉強し始めたので、セキュリティはあまりわかっていません…。
サニタイジングはもちろんします。今回は長くなるので省略しましたが…。
0561nobodyさん
2011/11/16(水) 22:44:23.46ID:???var_dumpの結果をechoで出そうと思い、以下のスクリプトを作成しました。
~$ cat hoge.php
#!/home/php/bin/php
<?php
$data = 'aaa';
$result = var_dump($data);
echo "result=$result\n";
?>
ところがこのスクリプトを実行すると、結果が以下のようになってしまいます。
~$ ./hoge.php
string(3) "aaa"
result=
おそらく、var_dumpの結果がresultに入ってないと思うのですが、
そうするためにはどうしたらいいでしょうか?
0562nobodyさん
2011/11/16(水) 22:51:04.72ID:+5IKw5hh0563nobodyさん
2011/11/16(水) 23:01:58.01ID:???http://php.net/manual/ja/function.var-dump.php
マニュアルを読もう
答えがそのまんま書いてある
0564nobodyさん
2011/11/16(水) 23:08:04.54ID:???0566nobodyさん
2011/11/16(水) 23:13:03.42ID:???var_exportね
0567nobodyさん
2011/11/16(水) 23:24:57.87ID:???ワイルドカードなんてものはないのでループなり自分で調べるしかない
普通は配列で扱う
<?php
foreach ($_POST['enter'] as $id) { echo $_POST['name'][$id]; }
for($i = 1; $i <= 3; $i++) {
printf('<input type="text" name="name[%s]"><input type="submit" name="enter[%s]" value="送信">', $i, $i);
}
0568nobodyさん
2011/11/16(水) 23:40:12.68ID:???0569>>561
2011/11/17(木) 00:36:00.90ID:P0oL6Kj5マニュアルをみたのですが、var_exportの説明は以下のようになっています。
説明:”変数の文字列表現を出力または返す”
そして、var_dumpの説明は以下のようになっています。
説明:”変数に関する情報をダンプする”
以下の3つの具体的な意味についてご教授ください。
「ダンプする」
「出力する」
「返す」
0570nobodyさん
2011/11/17(木) 01:07:37.67ID:???0571553
2011/11/17(木) 01:37:36.08ID:70iwFN0Dありがとうございます。
Linuxにあるので、あるものだと思っていました…。
それを参考に書いてみようと思います。
0572nobodyさん
2011/11/17(木) 02:09:20.00ID:???>>564はなぜスルーされたのか。。
>>571
Linuxにあるんじゃなく、シェルにある。
phpでなら正規表現を使えばいいよ
0573nobodyさん
2011/11/17(木) 03:41:11.72ID:???0574nobodyさん
2011/11/17(木) 11:44:23.47ID:???http://www.lancers.jp/work/detail/27050
0575nobodyさん
2011/11/17(木) 13:59:57.52ID:izk/KJxq0576nobodyさん
2011/11/17(木) 17:29:14.46ID:0Ntos03Vif (isset($date'day'])) {
echo 1;
} else {
echo 0;
}
とした場合、配列でもないのに1が表示されます。
「$dateが配列で、連想配列のdayが存在する場合」
という条件式はどう書けばいいのでしょうか?
0577nobodyさん
2011/11/17(木) 17:30:10.36ID:???if (isset($date['day'])) {
0578nobodyさん
2011/11/17(木) 17:40:40.09ID:???0579nobodyさん
2011/11/17(木) 17:48:00.34ID:???if (isset($date['day'])) {
こんな感じですか。でも、これって$date自体がなかったらエラーになりませんか?
0580nobodyさん
2011/11/17(木) 18:16:28.76ID:???$date = null;
var_dump(isset($date,$date['day'])); // false
$date = array();
var_dump(isset($date,$date['day'])); // false
$date = array('day'=>null);
var_dump(isset($date,$date['day'])); // false
$date = array('day'=>'');
var_dump(isset($date,$date['day'])); // true
$date = null;
var_dump(isset($date) && is_array($date)); // false
$date = array();
var_dump(isset($date) && is_array($date)); // true
$date = array('day'=>null);
var_dump(isset($date) && is_array($date) && isset($date['day'])); // false
$date = array('day'=>'');
var_dump(isset($date) && is_array($date) && isset($date['day'])); // true
これぐらいは自分で試せ
0581nobodyさん
2011/11/17(木) 19:06:01.97ID:???すこし話はずれるけど、そもそもの事象について説明しとく。
isset($date['day']) が真になる理由だけど、
$dateが配列ではなく文字列のため、添え字演算子は文字列インデックス(整数)を要求することになる。
んで、'day'を整数評価した値は0になるため、
isset($date['day'])はisset($date[0])となり、$date[0]は1文字目、つまり'2'が設定されているため、真になる。
なのでこうする。
isset($date) && is_array($date) && isset($date['day'])
array_key_existsとの違いにも気をつけること。
>>580
関係ないことずらずら書いててワロタ
0583nobodyさん
2011/11/17(木) 19:38:01.70ID:0Ntos03Vありがとうございます。大変勉強になりました!
0584nobodyさん
2011/11/17(木) 23:51:19.67ID:???<form 〜
<input type="hidden"〜
<a href="javascript:document.form.submit()">〜
</form>
の順で出力させてるのに、
ソースコード見たら
<form 〜 ></form>
<input type="hidden"〜
<a href="javascript:document.form.submit()">〜
の順で出力されてる…怖い…
0586nobodyさん
2011/11/18(金) 00:09:05.38ID:???あとテーブル使ってますが絶対に記述してない<tbody>が出力されてます
ajaxで書き換えた後のソース部分なんですが…
0588nobodyさん
2011/11/18(金) 00:14:48.11ID:???0589nobodyさん
2011/11/18(金) 00:26:14.18ID:???firebugは入れてないです
別のPCのfirefoxだとソース部分ではちゃんと順番に出力されてますがそのリンク自体が表示されなくなりました…
0590nobodyさん
2011/11/18(金) 00:45:57.86ID:???0591nobodyさん
2011/11/18(金) 00:49:20.18ID:???ajaxで書き換えるソースコードが書かれているphpファイルに
ヘッダタグ等の必要な情報を一切書いていなかったのが原因でした。
大変失礼しました…
0593nobodyさん
2011/11/18(金) 13:07:57.29ID:0E07J79Yリンク先のページの全体像みたいのが画像で表示されますが
HTMLを画像にするようなことができるのでしょうか?
何か関数やヒントになるキーワードがあれば教えてください
0595593
2011/11/18(金) 13:23:38.38ID:0E07J79Yありがとうございます!
0596nobodyさん
2011/11/18(金) 16:34:31.24ID:CLCMBLd4ファイル名に日本語を使いたいのですが、文字コードの指定が分かりません。
まず、windowsのファイル名の文字コードはUTF-8との事ですが
UTF-8のphpから
error_log("test",3,"ログファイル.txt");
と書いて"ログファイル.txt"というファイル名のファイルを作ったつもりでも、作成されたファイルをエクスプローラで見ると文字化けしてしまいます。
mb_convert_encoding($file,"SJIS-win","UTF-8");とファイル名の文字コードを変換すれば正常なファイル名が作成されるのですが
UTF-8のはずのwinodowsで何故sjisへの変換作業が必要なのでしょうか
これが解決出来れば、ファイル名は全てutf-8で統一されてファイル名の文字コードに気を使う事が無いのですが。
0597nobodyさん
2011/11/18(金) 16:59:21.29ID:???0598nobodyさん
2011/11/18(金) 17:08:53.82ID:???0599nobodyさん
2011/11/18(金) 17:27:57.11ID:jAJu9/rrsort系のGETを入れたいと思っています。
hoge.com?page=1&type=1… 様々な GET… &sort=asc
hoge.com?page=1&type=1… 様々な GET... &sort=desc
これにより、様々な条件下で抽出されたリストから
並びかえができるようになってるのですが、
"様々な条件下で、生成されたGET要素入りURL"
は、どうやって取得したらよろしいでしょうか。
0600nobodyさん
2011/11/18(金) 17:56:56.87ID:???$url = explode("?",$url);
print $url[1];
かもしれない。
0603nobodyさん
2011/11/18(金) 18:52:56.78ID:???様々な条件下で、生成されたGET要素入りURLってのが、アクセスしてきたアドレスとは
限らないじゃないかというオチャラケだよ。
本人が違うって書いてくれればいろいろ分かるのに。
>>602
ユニコードで取得する方法はあるから、PHPが対応してないってこと。
0604nobodyさん
2011/11/18(金) 22:23:23.54ID:???>>601は落ちつくべき。
0605nobodyさん
2011/11/18(金) 23:04:14.52ID:???0606600
2011/11/18(金) 23:05:20.43ID:???0607nobodyさん
2011/11/18(金) 23:25:01.53ID:tf7WOWeBどのようなものがあるのでしょうか?
0608nobodyさん
2011/11/18(金) 23:26:24.08ID:???0610nobodyさん
2011/11/18(金) 23:41:33.43ID:???0611nobodyさん
2011/11/18(金) 23:46:36.76ID:tf7WOWeBすみません
ただ単純に、画像を取得して例えばブラウザに表示させたいと思いまして
自分はcURLを使って全体を取得してテキスト文はDOM使って表示させたのですが、
画像の表示のさせ方が分からなかったもので
0613nobodyさん
2011/11/18(金) 23:57:18.17ID:???プロキシみたいなことしたいのかな
0614nobodyさん
2011/11/19(土) 00:01:05.04ID:djjAwZHJなるほど・・・
確かにそうですね
教えてくれてありがとうございます
ちょっと試してみます
0615nobodyさん
2011/11/19(土) 00:07:40.97ID:???0616nobodyさん
2011/11/19(土) 00:07:46.89ID:djjAwZHJデータベースやディレクトリに保存しようと思いまして
ブラウザは簡単なテスト環境と思いまして
0617nobodyさん
2011/11/19(土) 00:10:43.56ID:???0618nobodyさん
2011/11/19(土) 00:14:21.83ID:???0619nobodyさん
2011/11/19(土) 00:29:41.91ID:djjAwZHJハハハ、いや、エロ画像を集めるつもりはないのですが・・・
しかし訳がわからなくなってきました
cURLで取得したHTMLを(CURLOPT_RETURNTRANSFERを使用しているのでファイルには保存していません)、
DOMDocumentにてloadHTMLしてquery('//img/@src')などとしたし、
ブラウザに表示する場合はhttp://hoge.com/を付けるのまでは分かるのですが、
こっからどのような処理をすればディレクトリやデータベースに格納できるのでしょうか?
ザッと見、cURLやDOMDocument系にはそのような関数がないように思えるのですが
0621nobodyさん
2011/11/19(土) 00:40:35.70ID:djjAwZHJあぁ、やっぱそうなると>>611で質問したように、
file_get_contents()しかないんでしょうか?
0622nobodyさん
2011/11/19(土) 00:43:32.98ID:???0624nobodyさん
2011/11/19(土) 00:54:00.85ID:???0626nobodyさん
2011/11/19(土) 11:06:26.33ID:???0627nobodyさん
2011/11/19(土) 12:50:04.81ID:???0628nobodyさん
2011/11/19(土) 15:09:54.67ID:djjAwZHJマッチした値を排除するような使い方をしたいのですがどのようにすればいいのでしょうか?
foreach()で値を得て、それらを正規表現で・・・と思ったのですが
$iのように数字を使い、array_slice()を使うのかなとも思いましたが良く分かりませんでした
0630nobodyさん
2011/11/19(土) 15:28:21.89ID:???その場合はarray_slice($arr, $i-1, 1)とかのようにするのでしょうか?
それとも全く別の配列を作成し、マッチしなかったものをその別の配列に入れるのがいいのでしょうか?
0632nobodyさん
2011/11/19(土) 15:32:54.65ID:???自分は、他人(新人or後任者)が見てもわかりやすいように書いてるから、新しい配列に入れるね
自分一人だけだったら、いろいろなやり方試してみてもいいんじゃない?
0633nobodyさん
2011/11/19(土) 16:18:00.10ID:ZMwiibDDhoge()[0]
のような書き方はできないのでしょうか?
(hoge()は配列を返す)。
array_shift(hoge())
で、いちおうできるのですが、
ちょっとカッコ悪いので・・・
0634nobodyさん
2011/11/19(土) 16:19:02.24ID:???foreach($array as $key => $val )
if ($val % 2 == 0)
unset($array[$key]);
print_r ($array);
0636nobodyさん
2011/11/19(土) 16:44:31.71ID:???0637nobodyさん
2011/11/19(土) 18:58:14.72ID:X5SG6smtそういや6.xってどうなったんだ・・・?
0638nobodyさん
2011/11/19(土) 19:43:45.93ID:???0639nobodyさん
2011/11/20(日) 01:46:04.87ID:???もし、これが企業のプロジェクトだったらマネジメント層全員減給またはクビだぞ
0640nobodyさん
2011/11/20(日) 01:57:47.15ID:???0641nobodyさん
2011/11/20(日) 01:57:57.34ID:???0644nobodyさん
2011/11/20(日) 02:46:59.47ID:1V6hVVY4$result = mysql_query($sql);
で、取得したひとつのデータを変数に代入したいのですが
while(mysql_fetch_array($result)){処理}
みたいに書くしかないんでしょうか。
データ一件しかないのにwhileを使うのが気持ち悪いので
他の方法があればそちらを使いたいです。
0645nobodyさん
2011/11/20(日) 02:49:07.99ID:???とおもったら大抵のサイトがそういう説明になってたから理解しにくいものじゃなさそうだね
0649nobodyさん
2011/11/20(日) 12:59:03.75ID:???そろそろ…って声聞いて二年経ってんだよ
PHP6.0の開発自体は2005年から開始している
こっちはどこがどう変更されるのかピリピリしてんのによ
もう出すなよ、PHP5.2193くらいまでやればいい
0650nobodyさん
2011/11/20(日) 13:01:37.43ID:???php5.5の勘違いじゃないの?
0651nobodyさん
2011/11/20(日) 13:42:09.57ID:???0652nobodyさん
2011/11/20(日) 14:50:05.47ID:???0653nobodyさん
2011/11/20(日) 14:52:32.63ID:W2VBDeCoそのリンクが200なのか304なのか、404なのかといった具合にです
その為だけにcURLやfile_get_contents()でページごと取得するのも
無駄だと思いまして
get_headers()というのがあり試してはみましたが、一般的にはこれを使えばいいのでしょうか?
それとももっといい関数やライブラリががあるのでしょうか?
ステータスコードのみ取得して軽いというなものがあれば教えていただきたいです
0654nobodyさん
2011/11/20(日) 15:20:15.39ID:???0655nobodyさん
2011/11/20(日) 16:05:24.08ID:???get_headers() でok
やってることはみんなHEADメソッドで取得してるだけだからね
http://php.net/manual/ja/function.get-headers.php#example-3635
0656nobodyさん
2011/11/20(日) 16:30:35.68ID:???0659nobodyさん
2011/11/20(日) 17:33:26.93ID:???0660nobodyさん
2011/11/20(日) 17:50:25.85ID:???0661nobodyさん
2011/11/20(日) 18:38:59.27ID:???0662nobodyさん
2011/11/20(日) 19:21:24.75ID:8eiLpJTFhttp://buzzbaito.com/e/jt/2-5-22/
0663nobodyさん
2011/11/20(日) 19:25:25.11ID:???0664nobodyさん
2011/11/20(日) 19:30:43.75ID:???0665nobodyさん
2011/11/20(日) 21:03:59.96ID:hLo6zVzZ例えば登録商品の締め切り時間が三日後だったとした場合、
三日後にその商品の生存フラグのようなものをオフにしたいです。(フラグはDBに保存されている)
この期限フラグをオフにする処理はどのように実現できるのでしょうか
ユーザーの閲覧やデータの参照ごとに残り時間を確認してフラグチェックを毎回するのは流石に処理が重い気がします。
また、cronなどで自動的に寿命チェックスクリプトを回すのも商品数が増えた場合にパンクしてしまいます。
何かいい方法は無いでしょうか。
0666nobodyさん
2011/11/20(日) 21:20:22.93ID:???0667nobodyさん
2011/11/20(日) 21:21:08.01ID:???たかだか日付の比較程度を心配して、なんの処理が出来るんだっての。
flgだろうが日付だろうが何クロックちがうって程度っすよ。
0669nobodyさん
2011/11/20(日) 21:40:15.88ID:???フラグを使おうとしてたのは期限が残っているアイテムをDBから引っ張って一覧表示するのにDB負荷(メモリ等も)が軽くなるかなとの考えの下でしたが、
time() - 有効期限を事前に計算して生成日時との大小比較を条件にデータ取り出せば良かったですね
ありがとうございます
0670nobodyさん
2011/11/20(日) 21:57:23.50ID:vzLDxTjZhttp://api.jquery.com/jQuery.map/
みたいな関数はありますか?
PHPのarray_map()に加え、NULLが返されるとその要素を配列から取り除いてくれるような機能です。
やりたいことは、配列の各要素の文字列を正規表現で抜き出したものに置き換えて、
もしマッチしなかった場合はその要素を配列から取り除きたいのですが
arrayやpregの関数のところを見てもどれがその関数なのかわからなくて。
ひとつの関数では無理で複数の関数を組み合わせるとかforeachを使うとかですか?
0671nobodyさん
2011/11/20(日) 22:07:09.83ID:???$a = array(1,null,2);
var_dump($a);
function f($v) {if(null !== $v)return $v;}
$b = array_filter($a, 'f');
var_dump($b);
0672nobodyさん
2011/11/20(日) 22:32:27.44ID:vzLDxTjZarray_filter()でNULLの要素を除去するという
array_map()とarray_filter()との二つの関数を組み合わせないといけないんですねやっぱり
0673nobodyさん
2011/11/20(日) 23:33:46.09ID:???$arr = array(1,null,2,null,null,3,4) ;
$res = array_filter($arr, create_function('$val', 'return is_null($val) ? false : $val;'));
print_r($res);
Array
(
[0] => 1
[2] => 2
[5] => 3
[6] => 4
)
0674nobodyさん
2011/11/20(日) 23:40:35.18ID:???function filter($a){
$temp = array();
foreach($a as $v){
if (is_null($v)){
$加工 = 加工;
$temp[] = $加工;
}
}
$a = filter($a);
0675125
2011/11/20(日) 23:49:15.90ID:yTe92qw6PDOでプリペアドステートメントを使えばとりあえずおkということでいいんでしょうか?
0676nobodyさん
2011/11/20(日) 23:49:38.62ID:???を見ていただくとわかると思いますが、jQuery.map()は、
コールバック関数がNULLを受け取った場合(配列の要素がNULLだった場合)
ではなく、
コールバック関数がNULLを返した場合
に、その要素を配列から取り除く機能があります
0679nobodyさん
2011/11/21(月) 00:47:54.10ID:???0680nobodyさん
2011/11/21(月) 00:57:37.85ID:???ってかけるようになんないかな将来
0682nobodyさん
2011/11/21(月) 01:13:40.78ID:???0684nobodyさん
2011/11/21(月) 09:42:24.17ID:GGnSchRT$pass);
$sql = 'DELETE FROM table WHERE id = :id';
$stmt = $con->prepare($sql);
$stmt->bindParam(':id', $_POST['id']);
$stmt->execute();
この書き方でSQLインジェクションを防げているでしょうか?
0685nobodyさん
2011/11/21(月) 10:46:02.15ID:???日本語を扱い、かつテキストエディタで直接編集がしたくて、データ1件1行で処理したい。というデータなので
json_encodeは日本語が"\u3042\u3044\u3046\u3048\u304a"とエンコードされてしまうから直接編集の時に困り
serializeとvar_exportは直接編集に不向きで
SQLはテキストエディタで編集出来ません。
json_encode、serializeとvar_export以外に配列のデータを一行に、かつ日本語をそのままで確認出来るテキストに変換してくれる関数はありますでしょうか
又は、"\u3042\u3044\u3046\u3048\u304a"を"あいうえお"と変換するにはどうしたらよいのでしょうか
0686nobodyさん
2011/11/21(月) 11:13:26.27ID:cDijwsFNそのファイルをインクルードするじゃないですか。
classの場合、別のファイルにクラスが書いてあった場合
それを利用するのに特にインクルード的なことは
しなくても良いのですか?
0687nobodyさん
2011/11/21(月) 11:17:55.45ID:???はい
>>685
普通にテキストファイルで出力すればいい話でしょうか?
$text = "\u3042\u3044\u3046\u3048\u304a" ;
print mb_convert_encoding(preg_replace("/\\\\u([0-9a-zA-Z]{4})/e", "pack('H*','$1')",$text),"UTF-8","UTF-16");
0688nobodyさん
2011/11/21(月) 11:19:55.89ID:???http://php.net/manual/ja/language.oop5.autoload.php
0690nobodyさん
2011/11/21(月) 12:21:43.64ID:???\uxxxx形式をHTML 数値エンティティ形式に変換してから
$str = "あいう";
$convmap = array(0x0080, 0xffff, 0, 0xffff);
$encoding = "UTF-8";
echo $a = mb_encode_numericentity($str, $convmap, $encoding);
$convmap = array (0x0, 0xffff, 0, 0xffff);
$b = mb_decode_numericentity($a, $convmap, $encoding);
echo $b;
0691nobodyさん
2011/11/21(月) 15:02:41.44ID:???あれってイメージとしては、
インターフェースをつかさどるファミコンという親クラスがあって
そこにカセットというゲームシステムのつまった子クラスを刺す感じ?
で、なんやったらそのカセットにも拡張スロットが付いてて
カセットにいろいろなカセットを差したら、
同じゲームシステムで色々なキャラクターが楽しめるみたいな感じ?
で、別のゲームシステムのカセットにそのキャラクターカセット差したら
そのキャラクターで別のゲームシステムが遊べるみたいな感じ?
0694nobodyさん
2011/11/21(月) 15:37:00.68ID:???0695nobodyさん
2011/11/21(月) 15:39:32.40ID:???0696nobodyさん
2011/11/21(月) 15:44:45.94ID:???0699nobodyさん
2011/11/21(月) 16:46:49.12ID:???0700nobodyさん
2011/11/21(月) 18:11:05.02ID:p9LTZGBkforeach()内で、まずデータベースからフラグを確認し、TRUEであれば未処理、FALSEであればフラグを立てるとします
例えば
foreach ($abstractlinks as $link)
{
$flag = $prowl->flagCheck($link);
//If we have visited or scheduled to visit
if ($flag !== 0) {
continue;
}
$prowl->raiseFlag($link);
}
のようにです
この場合、2つの各関数毎に同じデータベースに接続しないといけませんが、
無駄なように思います
このような場合どのようにすればいいのでしょうか?
キャッシュというのもraiseFlag()にて更新を用いるので不可能なような気がします
効率的なDB接続法を教えていただけないでしょうか?
0701nobodyさん
2011/11/21(月) 18:13:41.26ID:???0702nobodyさん
2011/11/21(月) 18:16:12.29ID:???一度に必要な全部のデータをもってきてforeachして、
updateするIDをarrayに貯めといて、後でupdateじゃだめなの?
0703nobodyさん
2011/11/21(月) 18:29:21.66ID:???コネクションを保持しておく関数あるいはクラスを作って
コネクションプーリングするのが定石
必要なときに取得、不要になったら切断せずに返却、という流れで
0704nobodyさん
2011/11/21(月) 18:36:17.97ID:372LMnzXindex.htmlならAコードを表示させ、それ以外のURLならBコードを表示させるというように
index.htmlとそれ以外のhtmlで表示を変えたいです。
使われるURLによって表示の振り分けはできるのでしょうか。
振り分けについてはユーザーエージェントで振り分けることができるくらいの理解度しかありません。
0706nobodyさん
2011/11/21(月) 18:40:05.17ID:p9LTZGBkご回答ありがとうございます
ごめんなさい、自分の実力がないせいかイメージが沸きませんでした
リンクを100個とか入れた配列があり、
それを0:未訪問(デフォルト)、1.訪問予定、2.訪問済みのようにフラグを立てようと思っています
で、それぞれをまずフラグの値を確認し、0なら1に変更、2なら無視といったことをしたいと思っています
このような場合は配列に貯めて一気に更新させるにはどのようになりますか?
>>703
ご回答ありがとうございます
PDOを自分は使っているのですが、
$db = new PDO($dsn, $username, $passwd, $options);
を格納した関数を用意するだけでいいのでしょうか?
>必要なときに取得、不要になったら切断せずに返却
というのが自分にはスクリプトが浮かびませんでした
0707nobodyさん
2011/11/21(月) 18:43:27.40ID:???>このような場合は配列に貯めて一気に更新させるにはどのようになりますか?
それくらいupdateでググってみたら?
0708nobodyさん
2011/11/21(月) 18:46:26.37ID:???0709nobodyさん
2011/11/21(月) 18:53:06.18ID:???接続が一つだけでいいなら
function get_connection() {
static $pool;
if (!$pool) { $pool = /* 接続 */; }
return $pool;
}
ちなみにフラグを操作するだけだったらこれで済む
UPDATE table SET flag = 1 WHERE flag = 0
0710nobodyさん
2011/11/21(月) 19:00:15.72ID:372LMnzXinclude、requireも理解しています。
使われるURL(ファイル)で振り分けができるかどうかです。
現在のファイル位置がindex.htmlの場合は
Aコードを表示
↓
現在のファイル位置がindex.html以外になら
Bコードを表示
のように振り分けたいです。
0712nobodyさん
2011/11/21(月) 19:21:23.10ID:???REQUEST_URIでも絶対パスでもいいので
位置つかんで該当する場所ではコードを変えるようにしたいです。
0713nobodyさん
2011/11/21(月) 19:22:16.51ID:372LMnzXID表示わすれてました。もうしわけない
0714nobodyさん
2011/11/21(月) 19:36:20.75ID:cDijwsFN10月から数えて現在までの間を1ヶ月ごと選択できて
現在だと
2011月10月▼
2011月11月
と表示され、月が増えるごとに
2011月10月▼
2011月11月
2011月12月
2012月1月
2012月2月
と増えていく処理を作成したいのですが、
単純に30日ごとに増やせばいいというものでもなく
どう計算、処理していいか分かりません。
ご指導お願いします。
0715670
2011/11/21(月) 20:02:04.04ID:???ひとつの関数では無理で複数の関数を組み合わせるとかforeachを使うとか
になるんですね。どうもありがとうございました
0717nobodyさん
2011/11/21(月) 20:06:55.30ID:???DateTimeだったら 日を1とかにしといて DateInterval('P1M') やら modify('+1 month')
昔の方法だったら mktime( 0,0,0,$m+$i,1,$y)とか
2、 年と月を別の変数にして月足していって12超えたら年繰上げ
0719nobodyさん
2011/11/21(月) 20:32:24.70ID:372LMnzXすまん。甘えたわ。後は調べればわかります。
ありがとうございました。
0721nobodyさん
2011/11/21(月) 20:39:50.46ID:???ってだけで他意はありません
0722nobodyさん
2011/11/21(月) 20:42:24.85ID:???0723nobodyさん
2011/11/21(月) 21:25:32.28ID:???日数で足すな。月数を足してけ
やりかたはこの2ページ見ればできる
http://www.php.net/manual/ja/datetime.add.php
http://www.php.net/manual/ja/dateinterval.construct.php
0726nobodyさん
2011/11/21(月) 21:40:21.33ID:cDijwsFNdate_interval_create_from_date_string....
長い…
0727nobodyさん
2011/11/21(月) 22:39:24.86ID:vmm+j8qy{foreach from=$hoge item=val}
{php}{/php}
{/foreach}
というテンプレートで、
{php}{/php}内でvalにアクセスするには
どう書けばいいですかね?
0728nobodyさん
2011/11/21(月) 22:42:44.69ID:???0729nobodyさん
2011/11/21(月) 22:50:27.82ID:???print_r($this->get_template_vars('val'));
{/php}
スレ違い
0730nobodyさん
2011/11/21(月) 23:17:35.15ID:???0731nobodyさん
2011/11/22(火) 01:05:08.33ID:???<?php foreach ($hoge as $val) : ?>
<?php echo $val; ?>
<?php endforeach; ?>
でええっちゅうに
0732nobodyさん
2011/11/22(火) 01:29:26.20ID:???0733nobodyさん
2011/11/22(火) 01:52:41.16ID:???0734nobodyさん
2011/11/22(火) 07:49:03.06ID:???0735nobodyさん
2011/11/22(火) 08:51:45.91ID:???なんて便利なんだ!
とか
これ考えたやつすげえ!
とか
感じたことないんだが。
0736nobodyさん
2011/11/22(火) 09:13:09.27ID:???<?php include("header.html");?>で済む話だな。
0737nobodyさん
2011/11/22(火) 09:22:29.01ID:???0738nobodyさん
2011/11/22(火) 10:55:24.01ID:???ま、どのテンプレートエンジンもそうだけど、
PHPベタ書きよりはいい
0739nobodyさん
2011/11/22(火) 12:55:43.29ID:spTidUMWうん、だからスマーティを習得しようとしたとき、
スマーティに感動したというより
MVCに感動した
0740nobodyさん
2011/11/22(火) 13:03:39.72ID:???MとCは分離できてない。
0741nobodyさん
2011/11/22(火) 13:07:08.85ID:OIOakh7Vそうそう凄いって事はないだろ。
テンプレートエンジンでこれはすごいとかあるの?
0742nobodyさん
2011/11/22(火) 13:57:42.44ID:???結局、制作と開発の分離だけだとは思ってる。
複数人開発でも、ひとりでも、その部分は相当楽になった。
<?php ってかくか、{って書くかで、HTMLソースの見やすさは全然違うけどな。
ま、そこは慣れか。
0743nobodyさん
2011/11/22(火) 14:11:52.71ID:???ただのオーバヘッド発生源
0744nobodyさん
2011/11/22(火) 14:27:17.60ID:64j3oBDQPHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/json.so' - /usr/lib64/php/modules/json.so: undefined symbol: ZVAL_DELREF in Unknown on line 0
と警告が出ます。
直し方を教えて下さい
0745nobodyさん
2011/11/22(火) 14:40:40.14ID:???http://d.hatena.ne.jp/jksy/20110128/1296227136
コレで治るかは分からんが
0746nobodyさん
2011/11/22(火) 16:02:57.23ID:64j3oBDQ最新のPHPを入れた後に、pecl install jsonをするとおかしくなるようだ
PHPのセットアップに昔作ったスクリプトを使ったのが敗因か
0747nobodyさん
2011/11/22(火) 17:01:49.19ID:???関数から別の関数に値を渡して
その関数で渡された値を処理して、また別の関数に渡して・・
としていると、今関数に渡された値(配列)にどのようなデータ、配列のキーが入っているのかが分からなくなる事がよくあります
こういう状態を防ぐのによい方法がありましたら教えて欲しいです。
0750nobodyさん
2011/11/22(火) 17:41:38.13ID:???よけいにややこしくなる可能性も大w
0751nobodyさん
2011/11/22(火) 18:12:58.70ID:???真実は一つだけ
怒りは自然な感情
戦争・テロは無くならない
死刑には殺人の抑止力がある
虐められる側にも虐めの原因がある
自己チューな人間ほど自己愛が強い
などの命題の間違いとその論拠を解説
義務教育では絶対教えない最新合理主義哲学
感情自己責任論
0752nobodyさん
2011/11/22(火) 18:19:13.97ID:???まで読んだ
0753nobodyさん
2011/11/22(火) 18:25:47.38ID:/8xSqwNzex.現在の時間が2011/11/22 18;24;30なら22日18;24;30のミリ秒のタイムスタンプがほしいです。
どのようにすればよいでしょうか?
0754nobodyさん
2011/11/22(火) 18:36:13.34ID:t9MFvl4Kmicrotimeかなんかがすぐ出てくる
0755753
2011/11/22(火) 18:42:27.85ID:/8xSqwNzceil(microtime(true)*1000); で年月含めたタイムスタンプ(ミリ秒)
を取った後年月以外の値を0にした タイムスタンプ(ミリ秒)を用意して 前式から引き算で
目的の年月を含まないタイムスタンプ(ミリ秒)を取得しようとしてました。
しかし年月以外の値を0にした タイムスタンプ(ミリ秒)の取得ができません。
mktime(0, 0, 0, date("n"), 0); で 年月以外の値を0にした タイムスタンプ(秒)
なら取れるのですが、ミリ秒ではとり方がわからないです。
0758753
2011/11/22(火) 19:01:51.25ID:/8xSqwNzまずほしいタイムスタンプは、現在日時より年、月を除いたタイムスタンプです。
年月を含めたタイムスタンプだと桁数の関係上不都合があります
ex.1970年1月1日午前0時のタイムスタンプ(ミリ秒)が
102241660710だとします。
ほしいタイムスタンプはこのタイムスタンプから
1970年1月0日0時のタイムスタンプを除いた値です。
1970年1月0日0時のタイムスタンプが102240000000だとすると
求めるタイムスタンプは102241660710-102240000000=1660710です。
0760753
2011/11/22(火) 19:19:02.13ID:/8xSqwNz式で書いていただけませんか?お願いします。
0761nobodyさん
2011/11/22(火) 19:30:59.53ID:???0762nobodyさん
2011/11/22(火) 19:32:17.62ID:???桁数の問題で下駄履かせるなら、もっと最近じゃないと
桁数の問題として 何桁にしたいの?
数値が秒なんだから 7桁 9999999 までにしたいとして も 115日しか取れないよ?
0763nobodyさん
2011/11/22(火) 19:33:24.23ID:???↑これ意味がよく分かりません
0764nobodyさん
2011/11/22(火) 19:35:04.85ID:/8xSqwNzよろしくお願いします。
0765nobodyさん
2011/11/22(火) 19:42:35.73ID:/8xSqwNz$date = floor(microtime(true)*1000) - floor(mktime(0, 0, 0, date("n"), 0)/1000);
ですか?
ありがとうございます。試してみます。
0766nobodyさん
2011/11/22(火) 19:53:12.40ID:???$time = floor($mtime);
$date = mktime(date('H', $time), date('i', $time), date('s', $time), 1, date('d', $time), 1970);
echo ceil(($date + $mtime - $time) * 1000);
こうじゃね多分
0767nobodyさん
2011/11/22(火) 20:01:05.46ID:???現在時刻から 0時0分0秒の0月の同日 つまり先月の同じ日(一ヶ月まえですらない)を引いてて意味分かんない数値になってるし。
みんなが出してくれた式の意味分かんないんじゃない?
0768nobodyさん
2011/11/22(火) 20:10:41.90ID:???× 0時0分0秒の0月の同日 つまり先月の同じ日
○ 0時0分0秒の0月の同日 つまり昨年12月の同じ日
mktime(0, 0, 0, date("n"), 0)は
× 0時0分0秒の0月の同日
○ 0時0分0秒の同月の0日 つまり先月末
0769nobodyさん
2011/11/22(火) 20:11:36.29ID:???0770nobodyさん
2011/11/22(火) 20:24:31.09ID:???0771nobodyさん
2011/11/22(火) 20:27:10.56ID:???0772nobodyさん
2011/11/22(火) 20:29:05.97ID:/8xSqwNzその通りです。説明していただきありがとうございました。
>>765ではだめでした。。すみませんがご教授ください
0773nobodyさん
2011/11/22(火) 20:38:41.35ID:???両者とも整数部の単位は秒
$milli_sec = ceil((microtime(true) - mktime(0, 0, 0, date('n'), 0)) * 1000);
0775nobodyさん
2011/11/22(火) 20:53:22.39ID:???date_default_timezone_set('UTC');
$milli_sec = ceil((microtime(true) - mktime(0, 0, 0, date('n'), 1)) * 1000);
じゃない?
0776753
2011/11/22(火) 20:58:18.67ID:/8xSqwNzありがとうございました!
0777nobodyさん
2011/11/22(火) 23:36:59.19ID:L81haohXttp://demo.phpbeginners.net/setup2/editor/
0779nobodyさん
2011/11/23(水) 00:33:07.96ID:???閏秒は無視したほうが良いのだろうか?
0783nobodyさん
2011/11/23(水) 06:59:51.55ID:???うん、ファイルだからね、と返したらハテナついてたけどめんどくさいからほっといた
0784nobodyさん
2011/11/23(水) 09:00:34.23ID:???0785nobodyさん
2011/11/23(水) 09:54:41.56ID:???ありゃ混乱するw
0786nobodyさん
2011/11/23(水) 10:41:12.32ID:dmtpqfj9>>780
初心者向けとしてNGなら納得はできるな
0787nobodyさん
2011/11/23(水) 10:45:27.92ID:pg1I2OrGlocalhost/以下はモジュールで動かせました
localhost/cgi-bin/以下はcgiとして動作するようにしたいのですが
ruby,python,perlは動くのですがphpだとソースコードがそのまま表示されたりページを開くたびにソースコード自体がダウンロードされたりします
マニュアルやら検索でヒットしたページの通りにやってますが上手く来ません
モジュールとCGIを両方使う正しいapacheの設定方法を教えて下さい
0788nobodyさん
2011/11/23(水) 10:52:46.68ID:dmtpqfj90789nobodyさん
2011/11/23(水) 11:22:02.38ID:???falseになるんだけどどうしたらマッチするようになりますか?
0790nobodyさん
2011/11/23(水) 11:24:55.01ID:???CGIで動作させるためには拡張子をCGI扱いにするかファイルの拡張子をCGIに変更しないと無理ですよ。
またはディレクトリ毎に設定するか。
あとは自力でどうぞ!
0792nobodyさん
2011/11/23(水) 13:35:17.80ID:pg1I2OrGそのへんはマニュアルや検索で十分見て試したので知ってます
0793nobodyさん
2011/11/23(水) 13:49:45.09ID:???どっちか行ってこいPHP関係ない
Apache統合スレ 11 (HTTPServer以外も含む)
http://hibari.2ch.net/test/read.cgi/mysv/1286137109/
Apache関連 Part11
http://hibari.2ch.net/test/read.cgi/unix/1222729860/
0794nobodyさん
2011/11/23(水) 13:55:13.49ID:???の内容書かないから、
こっちが答えても片っぱしから知ってますと言われるだけだし
答えるだけ無駄な気がするw
0795nobodyさん
2011/11/23(水) 14:40:47.62ID:???0796nobodyさん
2011/11/23(水) 14:44:51.23ID:???鯖から見てどうやって判別するんだよって話だな
0797nobodyさん
2011/11/23(水) 14:56:29.71ID:???手軽なのはやっぱり拡張子でわける方法だよね。
試したこと無いけど,htaccessでAddTypeで切り替える?
>>786
>初心者向けとしてNGなら納得はできるな
でもそれ上級者とかプロ向けとかも書かれている。
そのプロ向けのZendStudioなんてプロ向けと言うよりキワモノ向けの気がする。
0798nobodyさん
2011/11/23(水) 14:59:02.30ID:???Zend Debbuger?xdebug?
自分は現在はxdebugを利用している。
0799nobodyさん
2011/11/23(水) 15:17:05.82ID:???$data = file("対象ファイル");
foreach ($data as $line) {
echo rtrim($line) . "\n";
}
いまさらだけどね。
最速かどうかはわからん。
0800nobodyさん
2011/11/23(水) 15:25:54.18ID:???$a="〜";
$b=file($a,FILE_IGNORE_NEW_LINES);
$c=implode("\n", $b);
0801nobodyさん
2011/11/23(水) 15:32:10.45ID:???var_dump();
echo 'passed check point ?'; // ? は適当な数字
だけですましてる。
0802nobodyさん
2011/11/23(水) 15:39:10.42ID:???0804nobodyさん
2011/11/23(水) 19:33:34.32ID:???【PHPのバージョン】5.3.8 (XAMPP 1.7.7)
【連携ソフトウェア】MySQL
【質問内容】
基本的なことですが、
PHPで生成されるウェブサイトを表示したユーザーには
PHPのソースが見えることはありませんか?
障害発生時でも見えませんか?
言うまでもありませんが、変数名やデータベース名などが見えると
セキュリティ上まずいので。
0805804
2011/11/23(水) 19:34:03.70ID:9QlOj3Cf0806nobodyさん
2011/11/23(水) 20:18:11.71ID:???人為的ミス、サーバーのアップデート時とかCGIだとパーミッション設定ミスなどで
ソースが見れたケースは過去に何度か経験あるので絶対に見れないとは言わない。
それよりもエラー表示を隠し忘れていて情報晒しているサイトならよくみかけるw
0807804
2011/11/23(水) 20:53:18.61ID:9QlOj3Cfミスやセキュリティホールは仕方ないですね。
仕様では「見えない」と承知しました。
ありがとうございます。
0808nobodyさん
2011/11/23(水) 21:21:22.49ID:???そんな仕様ない
「見えない」ように鯖で設定しないとダメ
0810804
2011/11/23(水) 21:34:21.21ID:9QlOj3Cfhoge.php
で生成されたページを表示したいが、ソースは見せたくないときは
hoge.phpを見えない場所に置いてページを表示させるには
どのようにするのが適切でしょうか。
0812nobodyさん
2011/11/23(水) 21:43:23.90ID:???公開ディレクトリにあるスクリプトは非公開ディレクトリのスクリプトを読み込むことができるので。
0813nobodyさん
2011/11/23(水) 21:45:24.00ID:???問題は人為的なミスなどって考えないのかな?
それと
>見えたらまずいようなものはドキュメントルートに置くなっ!!!!!!!!!!!
レンタルサーバによってはそのFTPで接続できるのがそのドキュメントルート以下って事もあることを理解できないのかな?
0814804
2011/11/23(水) 21:50:51.45ID:9QlOj3Cfhoge.phpから../mienai/mienai.phpを実行すればいいわけですね。
>>811
すみません。ピンとこないので精進します。
>>813
そういう仕様のサーバもありそうですね。
0815nobodyさん
2011/11/23(水) 21:51:41.50ID:???管理できる人間はアクセスして盗み見ることができるからソースコードを暗号化しないといけないな
キリがない事は言わないように
0816nobodyさん
2011/11/23(水) 21:55:17.36ID:???kwsk
0817nobodyさん
2011/11/23(水) 21:55:32.44ID:???そのレンタルサーバを使うのがよくない。
>>815
ヒューマンエラーによる問題発生時にいかに被害を抑えられるかという話だろ
0818804
2011/11/23(水) 21:56:50.89ID:9QlOj3Cfサーバで「見えない」設定をすれば見えない仕様ということですね。
Apacheのhttpd.confに
AddType application/x-httpd-php .php
と書いておけば「ソースは見えない」という意味ですよね?
0820nobodyさん
2011/11/23(水) 22:00:03.45ID:???レンタルサーバでpublic_html外に置けないなんて無料サーバぐらいじゃね
あなたは無料サーバしか使ったことないような人?
0823nobodyさん
2011/11/23(水) 22:11:13.17ID:???アンカー一つまともにつけれない君の書き込みの何処を信用しろと?
この状態を勝手に推測すると
>>819=>>820?
で、819って名前の所に書いてあるのは実は820って書くつもりだった?
どっちにしてもおまえは馬鹿だと言うことは理解できた。
0824nobodyさん
2011/11/23(水) 22:12:12.44ID:???0825nobodyさん
2011/11/23(水) 22:15:05.66ID:???・ドキュメントルートに置くのは無駄派と有効派の戦い
続き再開
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
0826nobodyさん
2011/11/23(水) 22:18:58.55ID:???直接ファイルを覗いてほしくない場合は.htaccessでdeny from allを使っておけ。
でも.htaccessが使えるサーバかどうかもサーバのようによって違うから注意。
エラーは非表示にしておけ。
0827nobodyさん
2011/11/23(水) 22:19:42.24ID:???はい、ではドキュメントルートの上に置かない方法を書いてください
もちろん書けますよね
よろしくお願いしますね^^
0828nobodyさん
2011/11/23(水) 22:21:41.21ID:???へぇ〜ドキュメントルートの上に置くのはダメでhtaccessだとOKなんですね
後、やたら認定してるのは自分に味方を付けないと心細い証拠かね?
0829804
2011/11/23(水) 22:22:31.10ID:9QlOj3Cfやはりエラーが非表示は基本ですか。
Notice: Undefined index: number in C:\xampp\htdocs\hoge.php on line 2
Notice: Undefined index: name in C:\xampp\htdocs\hoge.php on line 3
Notice: Undefined index: nyukin in C:\xampp\htdocs\hoge.php on line 4
Notice: Undefined index: zandaka in C:\xampp\htdocs\hoge.php on line 6
などと表示されると別のところからPOSTされて残高を勝手に増やされそうな
気がしたので。
0830nobodyさん
2011/11/23(水) 22:24:48.66ID:???それはアンカーすらまともにつけれないアホ。
>後、やたら認定してるのは自分に味方を付けないと心細い証拠かね?
もうばれて必死www
>へぇ〜ドキュメントルートの上に置くのはダメで
駄目とは一言も書かれてない気がする。
妄想癖がつよい人みたい。
0831nobodyさん
2011/11/23(水) 22:27:14.27ID:???テスト環境は表示で良いんだよ。
ただ本番サーバは非表示にしてエラーはファイルとしてログ出力するようにしておく。
>Notice: Undefined index
>などと表示されると別のところからPOSTされて残高を勝手に増やされそうな
wwwww
もう駄目としか・・・・
0832nobodyさん
2011/11/23(水) 22:28:26.78ID:???Notice: Undefined indexがでるソースを書いている時点でもう馬鹿としか言いようがない。
しっかりチェック処理しろよww
0833804
2011/11/23(水) 22:32:44.93ID:9QlOj3Cfありがとうございます。
その前のページ(html)からpostされたデータを処理するphpですが、
PHPだけで実行するとそうなりました。
0834nobodyさん
2011/11/23(水) 22:35:55.24ID:???>その前のページ(html)からpostされたデータを処理するphpですが、
>PHPだけで実行するとそうなりました。
ならねーーーーよ。
しっかりとチェック処理してない証拠。
最低限isset()は使ってチェックしろよ。
0835804
2011/11/23(水) 22:41:32.24ID:9QlOj3Cf入力値のチェックですね。
まずは動くかどうかというレベルなので…
これから入れます。
0836804
2011/11/23(水) 22:42:00.79ID:9QlOj3Cf入力値のチェックですね。
まずは動くかどうかというレベルなので…
これから入れます。
0837nobodyさん
2011/11/23(水) 22:42:15.72ID:???自分がphpで作成したwebページで、parse_ini_fileを使って、
hoge.iniというファイルから設定データを読みこんでいます。
hoge.iniを変更しても、時々parse_ini_fileで変更前のデータが読まれることがあります。
どのような原因が考えられるでしょうか?また対処方法はありますか?
よろしくご教示お願いいたします。
0838837
2011/11/23(水) 22:48:06.53ID:x/DZrHIk0840nobodyさん
2011/11/23(水) 23:51:05.42ID:???0841nobodyさん
2011/11/24(木) 00:26:28.39ID:???デフォルト値が決まっている引数が沢山ある関数、例えばmktimeの様な関数は
int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
後の方にある引数を指定だけ指定したくてもそれが出来ずに、引数を全部指定する必要がありますよね。
この場合は$is_dstだけ指定したい時があっても、第一引数から順番に指定しなければいけません。
この場合は、引数を配列にして
mktime(array("is_dst"=>1));と指定出来たら順番を気にする事無く便利だと思い、
自作関数の引数はこの配列のタイプで書こうかな。と思っているのですが、この方式の欠点というのがあれば教えて欲しいです。
組み込み関数でmktime(array("is_dst"=>1));の様な指定が出来る関数は(ほぼ?)無いと思うのですが
この方式には何か欠点があるのでしょうか。
0842841
2011/11/24(木) 00:28:10.08ID:FvXT6b8c0843nobodyさん
2011/11/24(木) 00:37:52.27ID:???http://jp2.php.net/manual/ja/ref.funchand.php
可変長引数でうまくやってる感じはする
0844nobodyさん
2011/11/24(木) 00:40:12.02ID:???0846nobodyさん
2011/11/24(木) 00:45:02.73ID:???たいして指定も気にならない
mktimeのis_dstに限っちゃ5.1から廃止されてるしな
0847nobodyさん
2011/11/24(木) 00:47:35.39ID:???0849nobodyさん
2011/11/24(木) 05:38:33.55ID:???$msg .= " File Size: " . @filesize($upload_name);
という記述があったのですが、filesizeは@なんて付けると
phpマニュアルには載ってません。
$msg .= " File Size: " . filesize($upload_name);でも
問題なく動いてます。
@は何のためについているのですか?
0851nobodyさん
2011/11/24(木) 11:24:33.95ID:???0852nobodyさん
2011/11/24(木) 11:36:07.10ID:???0853nobodyさん
2011/11/24(木) 11:38:09.28ID:???これ付けても構文エラーの時は表示されるんだな
0854nobodyさん
2011/11/24(木) 11:41:28.10ID:dbWHUVya実際さ、@ってどれくらいの頻度でつかってる?orどーゆーときに使ってる?
自分はもうクセで、基本的にissetとかでUndefinedの判断とも入れてるから、ほとんど使わないんだけど
使うタイミングとか教えてくれたらウレシス
0855nobodyさん
2011/11/24(木) 12:01:37.50ID:???あと気が向いたら0で割るなぼけ!といわれる場面の一時しのぎにw
0856nobodyさん
2011/11/24(木) 12:07:59.73ID:???ローカルのファイルでファイルがない場合は新規作成するモードならいらないすか
0857nobodyさん
2011/11/24(木) 12:15:23.16ID:???0858nobodyさん
2011/11/24(木) 12:33:45.25ID:???0859nobodyさん
2011/11/24(木) 13:31:39.15ID:???不思議な日本語を読むときに @ を入れてるかな…
0860nobodyさん
2011/11/24(木) 14:57:50.20ID:oV1VI/p5final int yOffset = -1942;
final int mOffset = 65;
Date date = new Date(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int y = cal.get(Calendar.YEAR);
int m = cal.get(Calendar.MONTH);
char yc = (char)(y + yOffset);
char mc = (char)(m + mOffset);
以上JAVAのソースです。
これをPHPで同じことをしたいのですが最後の二行のキャストでの
数字→アルファベットへの文字変換をどうしたらよいのかわかりません。
よろしくお答え願います(T_T)
0861nobodyさん
2011/11/24(木) 15:07:43.50ID:???0862nobodyさん
2011/11/24(木) 15:46:54.67ID:???アルファベットじゃねーけど。
0863860
2011/11/24(木) 16:00:19.02ID:oV1VI/p5すみません初心者なもので何ができないかの判断もつけがたいです
0864860
2011/11/24(木) 16:11:49.75ID:oV1VI/p5ありがとうございます。試してみます
0865nobodyさん
2011/11/24(木) 16:14:27.92ID:???Calendar.MONTHは 0-11だから65足した文字コードなんで
AからL
0866860
2011/11/24(木) 16:41:25.32ID:oV1VI/p50867860
2011/11/24(木) 16:57:51.46ID:oV1VI/p5またJAVA→PHPの変換作業なんですが、
getBytes("Shift-jis")というのをPHPでどうやったら表せますか?
0868nobodyさん
2011/11/24(木) 16:59:32.38ID:???0869nobodyさん
2011/11/24(木) 17:01:48.81ID:???わからないんだったらちゃんとわかりませんって額に地面こすりつけて謝れ
0870nobodyさん
2011/11/24(木) 17:13:33.03ID:???0871nobodyさん
2011/11/24(木) 17:27:29.89ID:???一部で有名な最近暴れているPHP教えて君&お礼や返信なしで質問連続立て&逆ギレ。
確認できているだけでもPHPPro,OKWave,Yahoo知恵袋の大手で暴れている。
0872nobodyさん
2011/11/24(木) 17:34:25.15ID:???文字コードは必要ならshift-jisに変換後な
0873860
2011/11/24(木) 17:56:52.94ID:oV1VI/p5mb_convert_encodingでエンコードしてから
unpack("C*",$str);でいけました!
助かりました(^o^)
0874nobodyさん
2011/11/24(木) 22:00:13.17ID:SvbOG3Rxsort()関数だけでは、あいうえお順になるだけで、その他の関数で上記のようなものを見つけられませんでした
0875nobodyさん
2011/11/24(木) 22:13:38.12ID:???0876nobodyさん
2011/11/24(木) 22:14:35.70ID:???計算量はかなり膨れると思う
0877nobodyさん
2011/11/24(木) 22:49:20.59ID:SvbOG3Rx>>875さんの教えてくれた関数も駆使して自分で作らないといけないようですね
以前JavaScriptでにたようなのがあったような気がするのですが・・・
作り方をど忘れしてしまいました
今ざっと考えてみたのですが難しいですね
ちっとも作り方のアイデアが浮かんで来ません
array_count_values()を使うと出現回数は求められるようですが、
それを単純にsort()すると数字だけのソートになりますし
0878nobodyさん
2011/11/24(木) 22:57:50.34ID:???その為の関数が array_multisort()
http://php.net/manual/ja/function.array-multisort.php#example-4383
<?php
$list = array('1unko', '2chinko', '3manko', '2chinko', '3manko', '2chinko');
$weights = array_count_values($list);
$sort_keys = array_map(function ($v) use ($weights) { return $weights[$v]; }, $list);
array_multisort($sort_keys, SORT_DESC, SORT_NUMERIC, $list);
var_dump($list);
0879nobodyさん
2011/11/24(木) 23:04:35.59ID:Ed0cMJSk「お」と「か」の間に'<br>'を挿入したいのですがどうしたらいいですか?
0880nobodyさん
2011/11/24(木) 23:06:00.39ID:SvbOG3Rxおぉぉぉ!
ありがとうございます
今、array_count_values() -> arsort() のような事を試していました
listの値はともかくとして(笑)、教えていただき本当にありがとうございました
0882880
2011/11/24(木) 23:21:57.84ID:SvbOG3Rx日本語のようなマルチバイトでは上手くいきませんでした
振り出しに戻った感じがします(苦笑)
マルチバイト、難しい・・・
0883nobodyさん
2011/11/25(金) 00:17:52.06ID:???0884nobodyさん
2011/11/25(金) 11:07:07.03ID:Vtscy08p$www .="";
$www .=12;
などのように.を付ける代入は何を表してるのですか?
0885nobodyさん
2011/11/25(金) 11:10:58.30ID:???0886nobodyさん
2011/11/25(金) 12:22:00.00ID:Vtscy08pありがとうございます。
www=www+1;というC言語等でよくある意味なんですね。
0887882
2011/11/25(金) 14:03:13.02ID:???うまくいきます?
自分の配列は全部日本語が格納されておりまして、それをarray_multisort() やarray_count_values()のようなものを使ってみたのですが、上手くいきませんでした
確か日本語をどんどんarray_push()で格納していった配列だった気がするのですが
自分、PHP5.3.8です
0888nobodyさん
2011/11/25(金) 14:38:35.77ID:???すくなくとも上の例でウチでは動く
0889nobodyさん
2011/11/25(金) 14:54:15.77ID:WdRVkcPU【PHPのバージョン】5.1.6
【連携ソフトウェア】特になし
【質問内容】
functionについて質問です。
function sample($post, $get)
としたときに$testや$getが空だと当たり前ですがエラーが出ます。
$postや$getは既存のシステムのもので、空の場合や値が入っている場合があり一定していません。
function の引数定義時にissetでも使えればいいんですが、そういったことは出来ませんでした。
この時に$postや$getが空の場合でもエラーにしない方法はありますか?
0890nobodyさん
2011/11/25(金) 14:58:07.25ID:???>空だと当たり前ですがエラーが出ます
そんなことはありません。
0891nobodyさん
2011/11/25(金) 15:01:11.28ID:???なんか勘違いしていると思うわ
function sample($post = null, $get = null)
こんな感じの事がやりたいのかな?
0892889
2011/11/25(金) 15:08:41.55ID:WdRVkcPU回答ありがとうございます。
ちょっと原理はまだ理解できておりませんが、やりたかったことが>>891で出来ました。
$postにnullが入るので中身が無くなる?ようにも見えるのですが、nullの場合は扱いが異なるのでしょうか。
とは言えこれで目的の事ができました。
ありがとうございます。
0893nobodyさん
2011/11/25(金) 15:11:44.87ID:???> 確か日本語をどんどんarray_push()で格納していった配列だった気がする
そこ調べてみたらどうかな(苦笑)
もしくは同じ環境でちゃんとテストしてみたら
0894nobodyさん
2011/11/25(金) 15:24:08.85ID:???そんな発言をしているようだと求めている結果にはならないはず。
ソースを開示するかマニュアルを一通り読んだ方がいいぞ。
0895nobodyさん
2011/11/25(金) 15:26:22.75ID:???function chinko ($manko = null ){
return $manko;
}
//kapikapiが返る
$status = chinko('kapikapi')
// nullが返る
$status = chinko()
要するにデフォルト値ってイメージでいいと思うよ。
0896nobodyさん
2011/11/25(金) 15:32:51.64ID:???俺にはさっぱりわかんねーや。
0897nobodyさん
2011/11/25(金) 15:40:40.24ID:???function func_name($a,$b){}
本来ならfunc_name($g_a,$g_b)で呼び出す所をfunction()だけで呼び出そうと
してエラーが出ているのだろう。だから$a=nullとするとエラーがでなくなる。
呼び出しが()だからグローバル$g_aがfunctionの$aに入らずにおかしい!
と感じているのだろうw
0898nobodyさん
2011/11/25(金) 16:10:38.30ID:???それがなかったとき
func($post, $get)とすると、undefinedであるというNoticeが出力される
かといって
func( , ) とするとエラーが出る
という状態だったのかな
0899684
2011/11/26(土) 14:30:34.63ID:???0900nobodyさん
2011/11/26(土) 14:31:06.18ID:???0901nobodyさん
2011/11/26(土) 16:28:05.43ID:???0903nobodyさん
2011/11/26(土) 20:09:33.52ID:mMk8E5Ms結構数学とか、得意なクチですか?
微分積分とかフツーに理解してる人ですか?
0905nobodyさん
2011/11/26(土) 20:21:00.62ID:???0906nobodyさん
2011/11/26(土) 20:22:58.44ID:???0907nobodyさん
2011/11/26(土) 20:29:18.45ID:???単に微積の答えの導き方覚える程度だろ
0908nobodyさん
2011/11/26(土) 20:40:23.97ID:???0909nobodyさん
2011/11/26(土) 20:55:52.34ID:mMk8E5Mshttp://www.geisya.or.jp/~mwm48961/kou2/joken_p.html
とか、さっぱりわからんけど理解してたら
絶対プログラミングに役立ちそうなんですが・・・
0910nobodyさん
2011/11/26(土) 20:58:38.47ID:???0911nobodyさん
2011/11/26(土) 21:11:15.83ID:???スレ違いながら
役立つのではなく必要になることがある。
分からなければ出来ないことがあるということです。
0913nobodyさん
2011/11/26(土) 23:05:01.72ID:???0914nobodyさん
2011/11/26(土) 23:20:20.41ID:???0915nobodyさん
2011/11/27(日) 00:05:26.55ID:???0916nobodyさん
2011/11/27(日) 00:39:55.55ID:???少なくともこのスレではできてもできなくてもどうでもいい
JavaScriptでゲーム作るとかなら関係あるけどね
0917nobodyさん
2011/11/27(日) 00:58:58.36ID:ooaVNxa60918nobodyさん
2011/11/27(日) 01:05:17.35ID:???0919nobodyさん
2011/11/27(日) 01:12:49.83ID:???仕組み覚えるって話だから、工作に近いんじゃない?
0920nobodyさん
2011/11/27(日) 01:25:20.94ID:???微分積分を解くアプリを作るなら微分積分の知識は必要になる
そこまで行かなくても、例えば2進数の計算を知ってたらビット演算子で楽に表記できる場合があるとか
0921nobodyさん
2011/11/27(日) 01:30:40.13ID:???2進数とかは数学しらなくても、プログラム勉強したら自然と知識として入るだろうし
高校数学レベルの数学知識が必要なWebProgがおもいつかん
0922nobodyさん
2011/11/27(日) 01:36:00.87ID:???Cでポインタを扱ってた頃は常に番地計算を行いながら
プログラミングしてたものだが、その頃に比べるとはるかに楽になった
誰でもプログラミングに参入できるわけだ
0923nobodyさん
2011/11/27(日) 01:36:13.03ID:???0925nobodyさん
2011/11/27(日) 01:51:56.02ID:???0926nobodyさん
2011/11/27(日) 01:56:23.71ID:???アナライズするときも、そんな小難しいのを作った記憶ないな
数字の四則演算くらいか
0927nobodyさん
2011/11/27(日) 04:31:13.17ID:cim/zCBYhttp〜/upload/001.jpgにアクセスしたときパソワードを入力しない
とアクセスできなくすることはphpで可能ですか?
0928nobodyさん
2011/11/27(日) 04:35:10.37ID:???0929nobodyさん
2011/11/27(日) 06:50:15.25ID:???python の turbogear と django を混ぜて使うとか
聞いたことあまりないです…
たくさん覚えないと駄目ですか?
ふれいむわーくは幾つくらい併用していますか?
わからないことだらけです><;
0930nobodyさん
2011/11/27(日) 07:02:25.44ID:???0931929追記
2011/11/27(日) 07:11:24.87ID:???require_once 'Zend/Loader/Autoloader.php';
とかやっても普通に呼び出せないような
気がするのですが…うむむ…
0932nobodyさん
2011/11/27(日) 07:23:34.79ID:???require_once '../../library/Zend/Loader/AutoLoader.php';
して
public function setUp() {
Zend_Loader_Autoloader::getInstance();
}
とセットアップするみたいなかんじでやれば
ライブラリみたいなかんじでそこだけ利用できるようになるとか…
って各フレームワークのことはそのフレームワークのスレで
質問した方がいいですよね…お騒がせして申し訳ありませんでしたton
0933nobodyさん
2011/11/27(日) 07:47:38.28ID:???というスレがあってもいいかもしれん
0934nobodyさん
2011/11/27(日) 08:12:31.57ID:???http://hibari.2ch.net/test/read.cgi/tech/1197063023/
0935nobodyさん
2011/11/27(日) 18:59:26.16ID:???0936nobodyさん
2011/11/27(日) 20:17:40.78ID:pnNAW0Jminclude_once("/hoge.php");
だと、Dreamweaver上のプレビュー画面で確認できるんですが
include_once(dirname(__FILE__)."/hoge.php");
だとDreamweaverで表示されません。
プレビューでも表示できる何かうまい手はないでしょうか
0937nobodyさん
2011/11/27(日) 21:22:14.18ID:cim/zCBYurlエンコードしてるときにブラウザでurlエンコードして
php側でurlデコードしてるのですか?
0938nobodyさん
2011/11/27(日) 21:33:37.99ID:???マヌアル読みましょう
http://php.net/manual/ja/faq.html.php
=====
フォームの内容を送信するとき、GET か POST かにかかわらず data は
ブラウザによって URL エンコードされ、PHP によって URL デコードされます。
要は、URL エンコード/デコードを自分で行う必要はなく、これらの処理は
すべて自動的に行われると言うことです。
0939nobodyさん
2011/11/27(日) 22:17:59.53ID:UV6OYU9kApacheのモジュールですとか抜きにして具体的に説明できる人
教えてくれ
自作HTTPサーバーに組みこむ場合はどんな処理になるんでしょうか
0940nobodyさん
2011/11/27(日) 22:22:59.44ID:???0941nobodyさん
2011/11/27(日) 22:27:31.48ID:UV6OYU9kモジュールってなんやねん。
cgiならforkしてパイプで標準出力ドンまでは分かった。
自分でHTTPサーバー作ってmod_phpを組み込みたいねん。
教えてーなぁ。賢い人求む。
0942nobodyさん
2011/11/27(日) 22:31:41.04ID:cim/zCBYありがとうございました。
$title="あ.jpg";
if (@unlink("uploads/$title" )){
echo "画像ファイル削除成功!!";
} else {
echo "画像ファイル削除失敗!!";}
で日本語の名前の画像が削除できないのですが、対処法って
あるのですか?
0944nobodyさん
2011/11/27(日) 23:03:26.31ID:???あるテーブルのデータ欲しい時、そのテーブルのキー持ってない場合なのですが、
結合とか使ってテーブルまたいで1回の命令でデータ取って来ていいの?
それともちまちまテーブル1個ずつ辿ってデータ取って来るべき?
結合使うと楽チンっぽいけど一度に複数テーブル扱うから
代わりにデメリットとか発生したりしないものかと愚考してます。
0947nobodyさん
2011/11/27(日) 23:52:56.09ID:???OR/Mとかなら更新系が素直にいかないかもしれないけど、結合して抜いてくる分にはなんのデメリットもないかと
0948nobodyさん
2011/11/28(月) 00:07:25.54ID:0WCVNoA5というと、Apacheのmod_phpがつかえるように
HTTPサーバーを構築するということ?
このmod_phpって具体的にはどんな処理なんでしょうか?
0949nobodyさん
2011/11/28(月) 00:16:05.44ID:???0950nobodyさん
2011/11/28(月) 00:30:46.49ID:0WCVNoA5phpみたいなインタプリタだとアクセスごとの起動時に処理を食いますよね
これを解決するにはどうすればいいんでしょうか
つまり、一つのプロセスを永続的に利用して、phpを実行させるには〜
0951nobodyさん
2011/11/28(月) 00:52:23.45ID:???0952nobodyさん
2011/11/28(月) 01:02:08.85ID:FBsM2dj0商品が1・2・3・4・5・6・7・8・9と9個あった場合
商品カテゴリA
1・3・5・7・9
商品カテゴリB
1・2・3・4・5
商品カテゴリC
2・4・6・8
とカテゴリを複数登録することができます。
商品ごとにウェイト付けをしてるんですが、並び替えをどうしようか迷ってます。
ツールで、カテゴリ毎に商品の並び替えをする場合、どのようにしたらいいとおもいますか?
スレチだったらすいません。よろしくお願いします。
0954nobodyさん
2011/11/28(月) 01:15:29.41ID:0WCVNoA5どうやってやるの?
webサーバーでlistenしてアクセスがきたらfork
forkした後に、URLをパースして、目的のファイルを探した後に
実行ファイルのパスと実行結果をphpプロセスとパイプで共有することになる
んでしょうか。
この場合、phpは常駐してイメージではforループで待ち受けている感じになるの?
0955nobodyさん
2011/11/28(月) 01:21:48.16ID:HiuRKhp3というように1024で割ってKBにしてますが、
1024で割るのであってますよね?
0956nobodyさん
2011/11/28(月) 01:22:01.41ID:???0957nobodyさん
2011/11/28(月) 01:24:08.71ID:???0958nobodyさん
2011/11/28(月) 01:34:04.00ID:0WCVNoA5よくわからないのですが、phpってC言語を利用して構文解析を行って
その結果を実行して標準出力する訳ですよね
こいつをリクエストごとに"起動して終了"という一連の動作を省略させて
使い回しを行うには、どうすればいいのでしょうか?
小生はあまりプログラムが得意ではありません。ましてOS周りには疎いので
伝わりにくいかと思いますが、お願いします。
0959952
2011/11/28(月) 01:38:18.80ID:FBsM2dj0設計というか、アルゴリズムに近いですかね。
カテゴリA内をツールで順番代えたら、カテゴリBと重複しているものは、並べ替えの影響をどうしようかなとか・・・
という感じです。
0960nobodyさん
2011/11/28(月) 02:13:46.61ID:???自動で決めたいってならカテゴリ登録数が少ないやつを上位にするとか
(少ない=その商品との関連が強いということだから)
0962nobodyさん
2011/11/28(月) 05:05:54.70ID:???リクエストごとに、リクエストされたphpを解析して結果を返せばよくね
apacheはhttpdプロセスを複数起動していて、各子プロセスはシングルスレッドで動いてると思うよ
0963nobodyさん
2011/11/28(月) 05:23:45.45ID:???http://codezine.jp/article/detail/2502
0964nobodyさん
2011/11/28(月) 08:17:53.50ID:7HJ2BA72あるURLに、GETではアクセスできるけどPOSTでアクセスすると404になる
何故だかわかりません
Apacheのログ見ても普通に404になってて、エラーログなし
何が起きてるんでしょうか…
0965nobodyさん
2011/11/28(月) 09:31:58.84ID:???0966nobodyさん
2011/11/28(月) 10:32:53.78ID:HiuRKhp3プログラミング言語で一番のリア充が使う言葉のような
響きがあると思います。みなさんどう思いますか?
0967nobodyさん
2011/11/28(月) 11:09:38.61ID:???http://www.php.co.jp/
おっさん臭ささしかしない
0968nobodyさん
2011/11/28(月) 11:22:33.03ID:???0969nobodyさん
2011/11/28(月) 11:50:37.98ID:???0970nobodyさん
2011/11/28(月) 18:39:46.51ID:HTuNqc320971nobodyさん
2011/11/28(月) 18:40:39.92ID:HTuNqc32どういうところがいいとかも言ってくれるとうれしいです。
0973nobodyさん
2011/11/28(月) 19:17:06.30ID:???0974nobodyさん
2011/11/28(月) 20:23:41.64ID:???このスレ的にはphpマニュアル>>>phpの書籍
って感じでphpの本なんて住民が徹底的にdisってるからな。
君がphpをどの程度理解してるかでも変わってくる。
phpの初心者向けの本なんて、htmlの説明して、webサーバの
アパッチ、AN HTTPD(1.42p)、xampp、mysqlの説明で1/4〜1/3
くらいページ取ってるしな。
0975nobodyさん
2011/11/28(月) 20:45:46.38ID:FBfO9m/G0976nobodyさん
2011/11/28(月) 21:31:08.85ID:???レーベンシュタイン距離の計算アルゴリズムは各所で入手できるから
関数を自作するのがいいんじゃね。
つーかプログラマならそれぐらいやれ。ライブラリばかりに頼るな。
0977nobodyさん
2011/11/28(月) 22:30:17.76ID:???0978nobodyさん
2011/11/29(火) 02:01:12.98ID:???0979nobodyさん
2011/11/29(火) 03:48:19.96ID:???ケータイサイト作って、貼られる画像を保存してる
変態友人がいる。
0980nobodyさん
2011/11/29(火) 04:12:11.75ID:???携帯持ってなかったのに携帯3キャリアとPCで絵文字相互変換ライブラリを書いた
ガキどもが「絵文字使えねーし」って騒いでたらデバッグしてたw
0982nobodyさん
2011/11/29(火) 10:00:54.03ID:WD7XMt4aローカル側とサーバー側で 設定が違う場合
いっぺんにアップしたりダウンしたりすると、
誤動作を起こしてしまうことがありますが、
この差を意識することなくアップしたりダウンしたりする
うまい方法はないですか?
0983nobodyさん
2011/11/29(火) 10:27:36.46ID:???0984nobodyさん
2011/11/29(火) 13:19:08.42ID:pb/9Q2Ixこの一行で?はどんな役割をしているのですか?
0985nobodyさん
2011/11/29(火) 13:27:12.16ID:???0987nobodyさん
2011/11/29(火) 13:42:39.53ID:???>>971 さんお薦めのK&Rとか、Cの本を読んでからじゃないと
何が何だかわからないw
0988nobodyさん
2011/11/29(火) 14:52:58.58ID:???PHP勉強するのにCの知識は必要ないと思うけど。ポインタの概念とか不要だし。
初心者向けのPHP本を読んでも理解できない人はきっとプログラミングに向いてない。
そういう人はN88BASICから勉強するのを勧める。
0989nobodyさん
2011/11/29(火) 17:43:11.35ID:???関数リファレンスの読み方がわからなかったけどそれも慣れの問題
0990nobodyさん
2011/11/29(火) 17:49:21.36ID:???やってみないとな。
0991nobodyさん
2011/11/29(火) 18:06:34.98ID:dAGutuldswitch(true){
case strcmp($param,'a') == 0:break;
case strcmp($param,'b') == 0:break;
default:break;
}
$paramに何も入っていない時に、defaultに飛ばしたい
・if文[if(isset($param)){swicth(true){〜}}else{〜}等]
・isset($param) && strcmp($param,'a')
・関数
これらを使用せず、エラー表示(Notice: Undefined index、レベル下げ×)
させずにdefaultに飛ぶ簡潔な書き方はありませんか?
0992nobodyさん
2011/11/29(火) 18:08:28.53ID:???0994nobodyさん
2011/11/29(火) 18:45:15.71ID:???ID変わりましたが991です
諦めてisset($param) && を使うことにします
回答ありがとうございました
0995nobodyさん
2011/11/29(火) 19:25:01.74ID:???case isset($param) && strcmp($param,'a') == 0:break;
まさかこうしたんだろうか…
0996nobodyさん
2011/11/29(火) 19:50:35.59ID:???ポインタ以前の話で
初歩的なことで言えば、逐次処理、ループ、条件分岐なんかは
Cの初歩の本の方が詳しく解説しているのに対して、PHPでは知ってて当然になってるし
関数の使い方も、Cで学んでいることが前提になっている(引数の渡し方、受け取り方など)
挙句の果てに、C言語では○○に相当するとか、C言語で言うところの○○であるとか
初心者向けには全然解説になってない解説が書いてあったりw
PHPの本を読んでもちんぷんかんぷんだったけど、Cの初歩の本を読みながら
簡単なテキストエディタくらいが書けるようになってからPHPに戻ったら
スラスラ書けたし、マニュアルもすんなり入ってくるようになった
オブジェクト指向的な作り方も、C++がちょっと書けるようになってから戻るとマジ捗る
歴史が古いから、解説できる人材が多いからなんだろうか?
0997nobodyさん
2011/11/29(火) 19:51:57.95ID:???そのまさかだ 俺の頭で他の方法になるとswitchの前にifしか出てこない
if(isset)の分岐はelseとdefault両方に同じコード書くことになる
それなら面倒でもisset($param)をcaseに入れてdefault一つに纏めようかと
それかswitchの前にif(!isset($param)){$param = null;}も考えていた
0998nobodyさん
2011/11/29(火) 19:58:14.43ID:???http://hibari.2ch.net/test/read.cgi/php/1322564127/
>>980はちゃんと立てるか他のやつ指名しようぜ
0999nobodyさん
2011/11/29(火) 21:38:51.60ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。