【PHP】下らねぇ質問はここに書き込みやがれ 72
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/08/16(土) 12:01:25ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2008/08/16(土) 12:02:47ID:???【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
0003nobodyさん
2008/08/16(土) 12:03:41ID:???■本家マニュアル 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://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2008/08/16(土) 12:07:22ID:???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さん
2008/08/16(土) 12:08:40ID:???→ 確認すべきは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に保存?
→ 好きにしてください
0007nobodyさん
2008/08/16(土) 13:45:40ID:???スレ立ての間合いってのが、難しいんだな、これが。
0008nobodyさん
2008/08/16(土) 15:10:25ID:???20レス分ならすぐ埋まるだろ
たまに950ぐらいで立てる早漏は死ねばいいけどな
0009nobodyさん
2008/08/16(土) 17:12:50ID:???0010nobodyさん
2008/08/16(土) 20:21:04ID:B1NfK9Ga配列でやったらまずいんですかね?
エラー出て困ったやんです
0011nobodyさん
2008/08/16(土) 20:25:32ID:???0012nobodyさん
2008/08/16(土) 20:33:27ID:B1NfK9Ga0013nobodyさん
2008/08/16(土) 21:03:10ID:???0014nobodyさん
2008/08/16(土) 21:19:54ID:???foreachでもimplodeでも何でもいいからstringにして書き込め〜
0015nobodyさん
2008/08/16(土) 21:51:18ID:KxVAt7PLfopenかrequireで、文字列を読み込んで出力する際、
どれくらいオーバーヘッドに差があるでしょうか?
例えば、
$fp=fopen("./hoge.txt","r");//中身は「hogege」
$str=fgets($fp);
echo($str);//hogege
と、fopenを使う処理と、
require("./hoge.php");//中身は「define("HOGE","hogege");」
echo(HOGE);//hogege
のように、requireで読み込んで処理をする場合とを比べた場合、
どちらが早いのでしょうか?
0016nobodyさん
2008/08/16(土) 22:09:18ID:???0017nobodyさん
2008/08/16(土) 22:10:06ID:???0018nobodyさん
2008/08/16(土) 22:45:14ID:???とすると hogetailtail が返ってくるんだけど、これバグがなにか?
ereg_replace('$', 'tail', 'hoge');
なら hogetail。
mb_ereg_replace('^', 'head', 'hoge');
なら headhoge とちゃんとなるんだが
0019nobodyさん
2008/08/16(土) 23:10:43ID:???preg_replace('/$/', 'TAIL', 'hoge')
なら hogeTAIL だけど
preg_replace('/$/', 'TAIL', "hoge\n")
だと hogeTAIL\nTAIL
ちなみに
preg_replace('/$/', 'TAIL', "hoge\nhoge\n")
は hoge\nhogeTAIL\nTAIL
002015
2008/08/16(土) 23:59:46ID:KxVAt7PLお答えいただいた皆様、ありがとうございます。
>>16さん
fopenやrequireしてある処理を別ファイルに記述し、
それをexecで呼び出す処理をループしました。
10万回回してる時にちょっと心が折れたので1000回にしてみました。
結果・・・
fopen:2m9.952s
require:2m10.088s
でした。
10万回ループさせたらまた違ってくるでしょうが、
バッチ処理で利用する訳でもないので、運用が楽な方でいいじゃーん!
という答えになりました。
>>17さん
17さんがそう思った理由は何でしょうか?
カーネルの仕組みなどを深く理解していないので、
私では判断できませんでした・・・。
0021nobodyさん
2008/08/17(日) 00:53:18ID:???まずは環境を書けと
>>20
大差がない場合は、PHPのバージョンやコンパイル環境、読み込むファイルの長さで結果が変わってくるのでそんなの気にするな。
書きやすい方でどうぞ。
0023nobodyさん
2008/08/17(日) 02:11:08ID:???requireの方がオーバーヘッドが増加
require/includeはPHPソースとして読み込む為、Zendに渡す分遅くなる
core内ではfopenと同じ処理だからfopenの方が遅くなることは考えにくい
0024nobodyさん
2008/08/17(日) 03:53:53ID:???http://pc11.2ch.net/test/read.cgi/php/1216291372/
002518
2008/08/17(日) 05:02:21ID:???php4 でも php5 でもなるから、既知すぎるのかと書かないでしまった。めんご。
php4.4.4 と php5.2.0
>>22
カーソル位置?そのカーソル位置はどうやってこの関数で操るの?
ちなみに $ は行末ではなく、最後尾を意味します。
行末と認識されることが多いのは、sed が行単位の処理をするからです(行の最後尾 == 行末)
0026nobodyさん
2008/08/17(日) 08:41:31ID:???mb_ereg* は ereg* のラッパーじゃなく鬼車を使ってるみたいだが
なんのせいで挙動が違うのかはわかんね
詳しい人に任せるわ
preg_replace() についてはマニュアル通りの結果
http://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php
> デフォルトで、PCRE は、検索対象文字列を単一の行からなるとして処理します。
> (中略)「行末」メタ文字 ($) は、文字列の最後、
> または (D 修飾子が設定されていない場合) 最後にある
> 改行記号の前のみにしかマッチしません。
で、質問の答えにはならないが
UTF-8縛りで困らないなら preg_replace() に乗り換えとけ
互換元の ereg_replace() はPHP6でPECLへ島流しだしな
002718
2008/08/17(日) 08:59:27ID:???> D (PCRE_DOLLAR_ENDONLY)
> この修飾子を設定すると、パターン内のドルメタ文字は、検索対
> 象文字列の 終わりにのみマッチします。この修飾子を設定しない
> 場合、ドル記号は、 検索対象文字列の最後の文字が改行文字で
> あれば、その直前にもマッチします。 この修飾子は、m を設定して
> いる場合に無視されます。 Perl には、この修飾子に等価なものは
> ありません。
つまり、この D を使わないと、2回マッチするっていうことみたいね。
なんだろこれ。真似した perl がおかしいのかな。
確かに、perl も hoge\nhogeTAIL\nTAIL となる。
0028nobodyさん
2008/08/17(日) 10:33:01ID:???error_reporting だと、実行された箇所しかチェックしないので、
全ての箇所を実行するテストケースをかかないといけない。
全体のチェックを一発でしてほしい。
この変数は定義されていないよ、ぐらいのチェックでもかなり楽になるのですが。
0029nobodyさん
2008/08/17(日) 11:25:11ID:???0030nobodyさん
2008/08/17(日) 12:14:08ID:???0031nobodyさん
2008/08/17(日) 12:39:38ID:???0032nobodyさん
2008/08/17(日) 13:05:11ID:???テキストファイルの行は 任意長の文字列 + (改行 or EOF) になる
利便性からそれに合わせて$は改行直前とEOFにマッチする
件の "hoge\n" は "hoge" + 改行 と "" + EOF の2行
2行だから2回マッチする、自然だろ?
>>28
動的言語の静的チェックは面倒で誰も手を出してくれない
PHPUnitのコードカバレッジ率見てニヤニヤするのが一番でしょう
0033nobodyさん
2008/08/17(日) 13:54:33ID:???そしてm(マルチライン)オプションがあれば
改行コードが除かれるから1回だけマッチっと
代わりに各行の行末が$でマッチするが・・・
003518
2008/08/17(日) 14:04:58ID:???でも "hoge\nhoge\n"
は hoge\nhogeTAIL\nTAIL になるでしょ?
hogeTAIL\nhogeTAIL\nTAIL じゃなくて。
だからやっぱり $ は最後尾と考えて
hoge\nhoge\nTAIL
になるほうが自然だと思うデス。
0036nobodyさん
2008/08/17(日) 14:21:45ID:???>動的言語の静的チェックは面倒で誰も手を出してくれない
ふーむ困ったもんだ
>>34
-l もまた違うでしょ?E_ALL のメッセージを実行していない箇所に対して出してくれるわけじゃない。
以下のコードで、hoge(); を呼ばなくても hoge(); を読んだときと同じ警告を出してほしい。
----
<?php
error_reporting(E_ALL|E_STRICT);
function hoge()
{
print $hoge;
}
?>
----
perl なら use strict; あるのにねぇ・・・。
&func(); 呼ばなくても警告。
----
use strict;
sub func {
print $hoge;
}
0037nobodyさん
2008/08/17(日) 14:23:04ID:???Phing って http://phing.info/trac/ コレ?
コレでなにかできるの?
0038nobodyさん
2008/08/17(日) 16:36:26ID:jFnyVPnSページの出力には問題ないですか?
0039nobodyさん
2008/08/17(日) 17:38:04ID:???セッションを読んだ直後でした
時間かかったらダメってことですね
何このあほな実装・・
0040nobodyさん
2008/08/17(日) 17:55:08ID:???0041nobodyさん
2008/08/17(日) 18:00:58ID:???しかしgoogleでリダイレクトさせればこれを回避できます
それをphpスクリプトでやりたいのですが
どのようにすればよいでしょうか?
ちなみに自分のHPなのですがサーバー側が勝手に直接リンクを弾いているんです
リファラ偽装してアクセスできますでしょうか?
0042nobodyさん
2008/08/17(日) 22:18:28ID:???http://***.com/というサイトをカウントする場合にhttp://***.com/?abcのように
リンク先に飛ばす前に自サイトでクリック情報を通してからだとURLがすっきりしないので、
じかにhttp://***.com/に飛べて且つクリック数をカウントしたいのですが。
説明が下手ですいません、よろしくお願いします。
0046nobodyさん
2008/08/17(日) 22:49:07ID:???phpを埋め込みたいんかな
0047nobodyさん
2008/08/17(日) 23:07:11ID:???シングル/マルチラインモードによらない
文字列の始端終端にマッチするための
\A \z がちゃんと用意されてる
$が用意された意図と>>18のやりたい事が合わないだけ
0049nobodyさん
2008/08/18(月) 02:04:33ID:???それでもpregで\A \z を使うのが賢いな
意図しない動作は避け、確実な方を取ればいいし
深く追求する必要性があるなら別だが
0050nobodyさん
2008/08/18(月) 04:13:57ID:???アホなこと思いついた!
アンカーにonclickイベントを入れてxmlhttprequestでカウントアップする。
0051nobodyさん
2008/08/18(月) 04:32:40ID:???0052871
2008/08/18(月) 12:34:01ID:GttUmTGHphp5を使用しています。
function fnc(
$a = ""
){
〜
}
このような普通のファンクションについてなのですが、
・fnc();
引数が何も送られていない
・fnc($test);
testと言う変数が送られているが、中身は未定義
・$test = "";
fnc($test);
testと言う変数が送られているが、中身は初期化
このように引数を送った場合、それぞれの状態を$aで判断することはできますでしょうか?
ドキュメント等にて調べてみたのですがこのような変数に関する微妙な扱いは見受けられませんでした。
何卒宜しくお願い致します。
0053nobodyさん
2008/08/18(月) 12:55:42ID:???0055nobodyさん
2008/08/18(月) 15:25:11ID:3TodphYx現在、便利なphpの開発環境を教えて頂けませんでしょうか?
特に不自由がなかったので、4年も同じものを使っているのですが、
もっと便利なものがあれば、乗り換えたと思っています。
有償でも5万円位までなら出してもいいと思っています。
不自由がないと書きましたが、あえて言えば実行しながらデバックが出来ないことです。
当時のeclipseでもプラグインはあったのですが、どうもうまく動作せず、
結局、echoとexitを使ってデバックしています。
ちなみに、eclipse2.1.3です。多分、古いと言われるかもしれませんが。
0056nobodyさん
2008/08/18(月) 15:32:10ID:???0057nobodyさん
2008/08/18(月) 15:34:49ID:???そんな長文書く前にバージョンアップしようよ
http://www.eclipse.org/pdt/
0058nobodyさん
2008/08/18(月) 15:49:52ID:???無償IDEのバージョンうpもできない人間は開発やめちまえ
0059nobodyさん
2008/08/18(月) 16:31:51ID:xd5mcyZy0060nobodyさん
2008/08/18(月) 16:39:22ID:xd5mcyZyもちろんPHPのインストールです。
0061nobodyさん
2008/08/18(月) 16:44:24ID:s6NDbHja俺も3.4+pdtが良いと思う
phpeclipse遅すぎてつらい
pdtもバージョン2からかなりよさげ
あと金出すならzendとかnetビーンズ?
0062nobodyさん
2008/08/18(月) 16:47:22ID:???関数外の事を知ろうとするのが間違ってるだろ
もし$aの状態を知りたいのであればis_nullとか === ''とか使えば良い
0064nobodyさん
2008/08/18(月) 18:18:56ID:xd5mcyZyすいません。
Linux版の質問スレに書いてしまいました。
あっちでも反応は得られていませんが、、、。
http://pc11.2ch.net/test/read.cgi/linux/1217051698/676
この後、PHPをソースでインストールしてみましたが、やはりだめでした。
・ httpd.confを編集(以下の2行)
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
・ httpd再起動
の他に特に設定することってありますでしょうか?
0065nobodyさん
2008/08/18(月) 18:30:40ID:xd5mcyZyキャッシュ見てたあああああああああああああああああああああああああああああああ
0066nobodyさん
2008/08/18(月) 18:31:09ID:???yumはどのパッケージを使ったかとか、参考にしたサイトがあるか、とか
やったことについて書いた方がいい
ぱっと思いつくのはApacheモジュールになってないパッケージを使ったってことか
まずはApacheインストールディレクトリのmodulesにlibphp5.soがあるかどうかの確認だな
L板ほっとくとマルチになるから注意だぜ
0069nobodyさん
2008/08/18(月) 20:59:21ID:3TodphYxレスありがとうございます。
ecplipse使っている人が多いので、安心しました。
バージョンアップが面倒だったのですが、
コードインスペクタもついていると知って、
週末にでもバージョンアップしてみます。
毎回、関数名が分からずに正引きしていたので、助かります。
お世話になりました。
0070nobodyさん
2008/08/18(月) 21:11:47ID:???いや、あなたがEclipseを使っているのでアドバイスしただけで、
今時Eclipseを使っている人は余程の物好きです。
あんなに重くて、メモリーを食うプログラムを
デバック処理をしようとするとすぐに固まって、
業務には使い物にならないよ。
海外で英語が苦手じゃないならx-php-laboとかおすすめだが。
0071nobodyさん
2008/08/18(月) 21:40:29ID:???コードの打ち込みが半分以下になるから、
俺も愛用している。誰か日本語のパッチ作らないかなあ。
0072nobodyさん
2008/08/18(月) 23:00:39ID:RVA7Wvm+男なら手打ちでいこうぜ
0073nobodyさん
2008/08/18(月) 23:27:41ID:???0074nobodyさん
2008/08/18(月) 23:39:56ID:???0076nobodyさん
2008/08/19(火) 01:26:11ID:???・fnc($test);
testと言う変数が送られているが、中身は未定義
呼び出し側でエラー出ないか?
fnc(""); とfnc()の区別はつけられないと思う。
というか区別しないように$a=""と書くのではないだろうか?
0077nobodyさん
2008/08/19(火) 02:17:55ID:???0078nobodyさん
2008/08/19(火) 08:52:10ID:???しかし、JavaはSunだろ。それに対してEclipseは元々ライバルのIBMの製品。
それでも、使うのかよ。
0079nobodyさん
2008/08/19(火) 09:02:07ID:???>>76
Notice非表示なら何もでない
そもそもNULLという物がある事は知ってるか?
function fnc($a=""){
if(is_null($a)){
echo "ヌル";
}else{
echo "ストリング";
}
}
0080nobodyさん
2008/08/19(火) 09:14:32ID:+fWBJARSfunctionにreturnメソッドがないと気持ち悪いと感じて、
いつも
return NULL;
としているのですが、
やはり変ですか?
0081nobodyさん
2008/08/19(火) 09:21:35ID:???returnなしでvoidになるから深く気にしない方がいい
どうしても返したいなら成功時true、失敗時falseみたいにしてはどうか
少なくともNULLはないと思う
0082nobodyさん
2008/08/19(火) 09:36:03ID:+fWBJARSお返事ありがとうございます。
phpの場合、型があいまいで、コンパイルエラーもない
値を返却しないとセキュリティー的にまずいかなぁとも思ったのですが、
true/falseならいいですね。それで実装してみます。
ありがとうございます。
0083nobodyさん
2008/08/19(火) 10:36:47ID:???0084nobodyさん
2008/08/19(火) 11:07:28ID:???ハイライトくらいしか求めるものがないから、軽量なのを選択したって感じ
一応コード補完も自動じゃないにしろあるし(ctrl+space
eclipseの機能の豊富さと拡張性はいいな
メモリ食いなのがどうもなぁ・・・JavaのGCが嫌いと言う個人的な意見だが(スレ違い割愛
0085nobodyさん
2008/08/19(火) 11:43:59ID:???個々ファイルをちまちま編集するのに結構便利だったりするんだよね。
逆に得意とすべきプロジェクト部分が弱い感じ。。
Zend Studioの新版はEclipseベースでプロジェクトメインって感じだから乗り換えるにはちょっと勇気がいる。
0086nobodyさん
2008/08/19(火) 12:02:03ID:???一括して他のクラスが参照しているメソッドの名前を修正してくれたり、
警告を出してくれるようなものはないのかな?
実行時に参照してやっとエラーが出るのが、ちょっっと。
0087nobodyさん
2008/08/19(火) 12:15:32ID:???0089nobodyさん
2008/08/19(火) 12:18:53ID:???0090nobodyさん
2008/08/19(火) 12:26:25ID:???だったら楽になるのを作ればいいんじゃね?
0093nobodyさん
2008/08/19(火) 12:42:32ID:???ほっとけ、どうせ>>90は暑さで頭がおかしくなっているか、もしくは元々おかしい。
なんでも自分でやろうして自滅するタイプ。
他人の作った物を信用せず、自分が一番だと思っているんだろ。
つまり、猜疑心が強く、逆にいえば、自己顕示欲が強い奴だ。
この手のタイプはプログラマーに多いが、
こういう奴は、大概ドキュメント書くのが下手。そしてプログラムにもコメントを書かない。
三項演算子を多用してプログラムを短くことに執着心と美学を感じている。
うざい、うざすぎる。暑いのが、更に暑くなる。
0094nobodyさん
2008/08/19(火) 12:43:42ID:???0096nobodyさん
2008/08/19(火) 12:59:50ID:???それはともかく、面倒なのも嫌、作るのも嫌なら自分で探してくるか
お金を払って誰かに作ってもらいなさいね
もしかして自分で探すのも時間がかかって本末転倒?
0098nobodyさん
2008/08/19(火) 13:13:43ID:???> レッテルを貼りたいお年頃ってやつですね、わかります
お前自身がレッテル貼ってんじゃんw
自己矛盾にも気づかないんだろうなぁ。それとも新手の釣りですかw?
0099nobodyさん
2008/08/19(火) 13:28:58ID:???0100nobodyさん
2008/08/19(火) 13:47:24ID:???文章書く時に癖に気をつけないとね
0101nobodyさん
2008/08/19(火) 15:10:20ID:???希望を満たしたIDEを知ってるなら教えてやればいいし、ないならないでいい
まとめ厨の俺乙
0102nobodyさん
2008/08/19(火) 15:35:33ID:???$array = array(
1 => array("田中", 38),
2 => array("吉田", 67),
3 => array("渡辺", 11),
);
これを数値の低い順番に
$array = array(
3 => array("渡辺", 11),
1 => array("田中", 38),
2 => array("吉田", 67),
);
のようにソートしたいんですがどのようにすればよいのでしょうか
0104nobodyさん
2008/08/19(火) 15:37:43ID:2hCJvM5XPHP 5.2.1を使用しています。
$handle = file("http://www.yahoo.co.jp/");
を実行すると
Warning: file(http://www.yahoo.co.jp/) [function.file]: failed to open stream: HTTP request failed! <!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> in C:\Program Files\xxxxx\xxxxx\test.php on line 2
とエラーになります。
php.iniのallow_url_fopenはOnです。
どうすれば外部urlを読み込めるのでしょうか?
何卒宜しくお願い致します。
0105102
2008/08/19(火) 15:39:03ID:5mUkQ2xD宜しくお願いします。
0107104
2008/08/19(火) 15:54:09ID:2hCJvM5Xxamppです。
0108nobodyさん
2008/08/19(火) 16:02:11ID:???0110nobodyさん
2008/08/19(火) 16:28:03ID:???0112nobodyさん
2008/08/19(火) 17:08:24ID:rbkh+xPC0113nobodyさん
2008/08/19(火) 17:09:43ID:???phpinfo()で「Registered PHP Streams」にhttpはあるのか?
>>102
多次元配列だな
array_multisortを使え
数値列を1次元配列で取得してarray_multisortの最初の引数にSORT_ASCフラグと一緒に指定
第2引数に元の配列を入れる
これで出来んか?
0114nobodyさん
2008/08/19(火) 17:15:36ID:???header関数が使えないってどういう状況だろう
既に送信済みなんじゃないのか?
スーパーグローバルも使えるはずだが・・・
var_dump($_GET);とかで見れないか?
まさかregister_globalsのことじゃないだろうな
0115nobodyさん
2008/08/19(火) 17:23:40ID:VxtPs/tVどうしたらいいんでしょうか。
0116nobodyさん
2008/08/19(火) 17:26:20ID:???http経由か?
それなら 「ttp://ユーザ名:パスワード@ドメイン/URL」でイインダヨー!!
ユーザ名とパスワードをrawurlencodeするのを忘れんな!
0117nobodyさん
2008/08/19(火) 17:42:25ID:???----index.cgi-----------
#!/usr/local/bin/php
Content-type:text/plain
<?php phpinfo();
------------------------
こういう状況です
phpは5.2.6でコンパイルオプションに--enable-force-cgi-redirectをつけてみたりしましたが、headerではなくContent-typeをそのまま書かないと動きません。
0118nobodyさん
2008/08/19(火) 17:53:10ID:???--enable-force-cgi-redirectはモジュール版からCGI版へのリダイレクトだから関係ないっと
普通は一行目の宣言でphpにスクリプトが渡されるからphpで処理されるよな
Content-typeはブラウザへの宣言だからぶっちゃけPHPとは関係がなかったりする
さぁどこに原因があるか分かるやつカモン!
0119nobodyさん
2008/08/19(火) 17:55:02ID:???headerつかうとどうなるの?
0120nobodyさん
2008/08/19(火) 17:57:56ID:???ブラウザには何もソースが送られてないとかか?それともエラーになってるのか?
0121nobodyさん
2008/08/19(火) 18:06:16ID:???<?php
header('Content-type:text/html');
これでヘッダが出力されてないのでInternal Server Errorになります
0123nobodyさん
2008/08/19(火) 20:14:18ID:PaGmE6kQ「私は韓国人だよ。」という文字列と「私は日本人だよ」という文字列を比較して、
その差分(上記でしたら「日本」という文字)を表示させる処理を行いたいですか、
そのやり方に苦戦しています。
「文字列から文字列を引き算すれば〜」「forの入れ子で一文字ずつ比較して〜」等
いろいろと考えてみたのですが、どれも上手くできません。
何かアドバイスをいただけますでしょうか・・・・
0124nobodyさん
2008/08/19(火) 20:25:37ID:???0125nobodyさん
2008/08/19(火) 20:29:29ID:/yAc2/hi何か便利な標準関数はありませんか
0126nobodyさん
2008/08/19(火) 20:41:42ID:???0127nobodyさん
2008/08/19(火) 21:03:23ID:???今のところwikiも行単位の差分だもんなぁ
文字列比較になると文字数の違いをどう吸収するかが悩みどころだろう
諦めて行単位のdiffがいいと思うぜ?
俺だとarray_diffとarray_intersectを使って文字自体の違いと共通を出してそこをヒントにフレーズを導く、
とか考えるが難しいことには変わりない
0128nobodyさん
2008/08/19(火) 21:21:13ID:6/c1nOwy//各レコード内容を表示する表を組み立てます
$body .= "<TR>
<TD>
<INPUT type='text' name='categname[]' value=\"$col[categoryname]\" size='70'>
<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
<INPUT type='hidden' name='categid[]' value='$col[categoryid]'>
</TD>
</TR>";
$cnt++;
}
というプログラムで、データを渡したいんですけど、
$categname[]=$_POST['categname'];
$btnedit=$_POST['btnedit$cnt'];
$btndel=$_POST['btndel$cnt'];
$categid[]=$_POST['categid'];
foreach($_POST['categname'] as $value){
$categname[]=$value;
}print_r($categname."<br>");
foreach($_POST['categid'] as $value){
$categid[]=$value;
}
でデータを受け取っています。でも、更新ボタンや削除ボタンが複数ある時に、nameが一緒なのでどのように判別すればいいかがわかりません。どのようにすればいいでしょうか?
0131nobodyさん
2008/08/19(火) 21:32:25ID:6/c1nOwyやはりこのやり方ではできないんでしょうか?
0132nobodyさん
2008/08/19(火) 21:51:08ID:???$btndel=$_POST['btndel$cnt'];
ここをループさせて更新とか削除という値が入ってる$cntを探せばいいんじゃないのだろうか?
>通常1formにsubmitは1つ
んなこたーない。
nameは統一してvalueで区別するとラジオボタンと同じ感覚で使える。
とはいえvalueってのがそのままボタンのラベルになるからどうも使いづらいんだよな。
0133nobodyさん
2008/08/19(火) 22:06:49ID:???せめてbuttonタグが思い通りに動いてくれればいいのにな
下みたいなヤツ
<button type="submit" name="action" value="regist">登録</button>
inputタグでやるとマルチバイトでswitchやifするのが気持ち悪いんだよなぁ
0134nobodyさん
2008/08/19(火) 22:11:30ID:6/c1nOwyこのようにしてみたんですが、ダメでした。
for($cnt = 0; $cnt < $reccnt; $cnt++) {
if(isset($_POST['btnedit$cnt'])){
$btname=$btndedit.$cnt;
break;
}
}
更新が入っている$cntを見つけたら$btnnameにbtnedit$cntという値を保存したいんです。どうすればいいかわかるでしょうか?
0135nobodyさん
2008/08/19(火) 22:18:21ID:???----------------
categname[]
categid[]
----------------
を
----------------
categname[$cnt]
categid[$cnt]
----------------
にしたらいいんじゃないか?
btnedit$cntの$cnt部分から目的のデータを正確に取れる
0136nobodyさん
2008/08/19(火) 22:22:52ID:6/c1nOwy0137nobodyさん
2008/08/19(火) 22:57:55ID:6/c1nOwyボタンを押しても送られてくる$cntは最後の値しか入ってないんですが、そこはどうにかならないですかね?
0138nobodyさん
2008/08/19(火) 23:21:48ID:???0139nobodyさん
2008/08/19(火) 23:25:02ID:/yAc2/hiforをぶんぶん回すのがいやだなーと思ったのですが、仕方ないですね。
失礼しました
0140nobodyさん
2008/08/19(火) 23:36:15ID:6/c1nOwyvar_dump($_POST)してみたんですけど、結果は
["btnedit1"]=> string(4) "更新"
となりました。この結果のbtnedit1だけ取り出せないですかね?valueは更新なので、そっちだけなら受け取れるのですが。
>>139
具体的にどのように使えばいいんでしょうか?今調べてみたんですが、どのように、どこで使えばいいのかよくわからなくて・・・
0141nobodyさん
2008/08/19(火) 23:55:15ID:???0142nobodyさん
2008/08/19(火) 23:58:20ID:6/c1nOwyそれはどのボタンを押すかによって変わるんじゃないんですか?例えば3番目のボタンを押したら$cnt=3になってほしいんですが
0143nobodyさん
2008/08/20(水) 00:35:06ID:MvAneMVr0144nobodyさん
2008/08/20(水) 00:37:56ID:???$body .= "<TR>
<TD>
<form>
<INPUT type='text' name='categname[]' value=\"$col[categoryname]\" size='70'>
<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
<INPUT type='hidden' name='categid[]' value='$col[categoryid]'>
</TD>
</form>
</TR>";
$cnt++;
0145nobodyさん
2008/08/20(水) 00:39:15ID:???0146nobodyさん
2008/08/20(水) 00:44:06ID:MvAneMVrそれは>>128で書いたんですが、nameの値が同じなので、複数ボタンがある時に、どれが押されたかの判定をしたいんです。
そこでvar_dump($_POST)してみると["btnedit1"]=> string(4) "更新" という値が渡せていたので、これのbtnedit1だけ取り出せないかなと思って・・・
0147nobodyさん
2008/08/20(水) 00:45:46ID:???$mode = 'edit';
}
0148nobodyさん
2008/08/20(水) 00:47:09ID:MvAneMVrボタン1を押したときはbtnedit1になるんですが、ボタンがいくつもあるので、$cntにするとうまくいかないんです
0149nobodyさん
2008/08/20(水) 00:55:24ID:MvAneMVr0150nobodyさん
2008/08/20(水) 01:08:50ID:???他人にも分かるように説明してくれ。
<form>
<input type="text" name="textbox" value="<?php echo $text; ?>">
<input type="submit" name="edit" value="更新">
<input type="submit" name="del" value="削除">
<input type="hidden" name="id" value="<?php echo $id; ?>">
</form>
でいいだろ。
駄目なら何が駄目なのか簡潔に。
俺ならsubmit2つは使わないけど。
0151nobodyさん
2008/08/20(水) 01:10:22ID:???<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
なんだから3番目の更新ボタンはbtnedit3になると思ったんだが・・・
俺たちはとんでもない思い違いをしているのか?
0152nobodyさん
2008/08/20(水) 01:17:47ID:MvAneMVrそこでnameを'btnedit$cnt'にして$cntの部分で変えているのですが、それをどうやって受け取るかがわからないんです。
受け取るのはvalueの値(更新)ですよね?でも判別するときはnameがいるので、そこを何とかできないかなと
0154nobodyさん
2008/08/20(水) 01:36:54ID:???0155nobodyさん
2008/08/20(水) 01:37:51ID:MvAneMVrこれはどういったことをしているのでしょうか?
もともと<?php ?>でつくっているのですが、2重に囲んでもいいんでしょうか?
0156nobodyさん
2008/08/20(水) 01:40:16ID:???0157nobodyさん
2008/08/20(水) 01:49:51ID:MvAneMVr$id=$_POST['id'];で受け取ってみましたが、echoしてみると;?>が表示されて、更新ボタンを押すたびに増えていくんですが、これはどういうことでしょう?
0158nobodyさん
2008/08/20(水) 01:58:48ID:4SgzBP1u基礎からやりなおせ。
0159nobodyさん
2008/08/20(水) 02:00:28ID:MvAneMVr0160nobodyさん
2008/08/20(水) 02:12:04ID:???0161nobodyさん
2008/08/20(水) 02:13:47ID:???ここにかかないとだめなん?
0162nobodyさん
2008/08/20(水) 02:16:27ID:MvAneMVrすいません、ほんと初心者なんでわからないことだらけで・・・
0163nobodyさん
2008/08/20(水) 02:31:59ID:???0164nobodyさん
2008/08/20(水) 02:34:31ID:MvAneMVr0165nobodyさん
2008/08/20(水) 02:52:46ID:???[ID1を削除]
とかってvalueにすれんばいいんじゃねw
0166nobodyさん
2008/08/20(水) 02:54:14ID:MvAneMVr0167nobodyさん
2008/08/20(水) 02:56:21ID:???0168nobodyさん
2008/08/20(水) 02:56:50ID:MvAneMVr0170nobodyさん
2008/08/20(水) 03:01:48ID:MvAneMVr0171nobodyさん
2008/08/20(水) 03:03:39ID:???何故駄目だったのか追求しないなら諦めろ
0172nobodyさん
2008/08/20(水) 03:07:03ID:???0173nobodyさん
2008/08/20(水) 03:18:09ID:???0174nobodyさん
2008/08/20(水) 04:12:49ID:PkKH7Tnjこちらでもお聞きすることにしました。
MySQLのスレには、お礼を申し上げて閉じました。
重複するデータが多数登録されているテーブルがあるのですが、
それを一発で直す関数はないでしょうか?
データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で
できれば嬉しいのですが。
宜しくお願いします。
0175nobodyさん
2008/08/20(水) 04:19:38ID:PkKH7Tnj一発で直す関数というのは、具体的には配列関数でいうarray_uniqueのような関数です。
宜しくお願いします。
0176nobodyさん
2008/08/20(水) 04:22:29ID:???あるわけない
>データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で
謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?
だいたいデータが重複するとか設計に問題があるんだろ
今のまま放置したらまたいずれ同じことの繰り返しになるだけ
phpMyAdminなんかでデータをdumpして
dumpファイルのテーブル部分を設計しなおして再登録したほうがいい
そうすれば登録の時点で重複されるデータは登録されないだろ
0177nobodyさん
2008/08/20(水) 04:33:56ID:???アドバイスありがとうございました。
> 謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?
すみません、誤解を招く表現で。
いいたかったのは、データ件数が7300万件以上ありまして、
UNIQUEキーを設定した仮テーブルを作ってコピーすると、
時間が掛かってしまうため、ミドルウェア層に位置する
SQLの範疇では手に負えないというのが以前の結論でした。
なので、アプリケーション層に位置する高級言語でなんとか処理できないと
考えたのですが、やはりそこでも無理そうでしょうか。
phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。
0178nobodyさん
2008/08/20(水) 04:36:44ID:PkKH7Tnj0179nobodyさん
2008/08/20(水) 04:42:02ID:???0180nobodyさん
2008/08/20(水) 04:45:21ID:???7300万件もあるなら他の言語のほうが処理速度はあがると思うよ
C++が使えるならそうしたほうがいいかも
0181nobodyさん
2008/08/20(水) 07:43:47ID:???これは釣り?それとも本気?
本気でいっているならメモリーキャッシュとか使えば、
Java並みの実行速度にはなる。
0183nobodyさん
2008/08/20(水) 08:37:14ID:???そっちで処理すればいいだろ。
実行時間やメモリサイズの縛りがあるPHPで、
わざわざ実行する必要はない罠。
0184nobodyさん
2008/08/20(水) 08:59:03ID:???0185nobodyさん
2008/08/20(水) 09:43:41ID:???だから、それは設定の問題でしょ。もしくは、環境の問題でしょ。
言語仕様の問題みたいにいうと変な誤解する人がいるぞ。
0186nobodyさん
2008/08/20(水) 10:03:49ID:???作れるがそれをした所でDBで時間が掛かってしまうから駄目なんじゃないの?
7400万件あってもPHPで十分処理できるよ
まぁサーバ次第だけど
てかこんな所じゃなくコンサルたのめよ
0187nobodyさん
2008/08/20(水) 10:13:36ID:???0188nobodyさん
2008/08/20(水) 10:14:14ID:???0189nobodyさん
2008/08/20(水) 11:35:11ID:???データベース使う意味まるで無いよなw
0190nobodyさん
2008/08/20(水) 11:41:13ID:uoEIdMLz<field>
<hoge name="test1">val1</hoge>
<hoge name="test2">val2</hoge>
</field>
↑これを↓のように取り込みたいのだけど、
$xml["field"]["hoge"]["test1"]="val1";
$xml["field"]["hoge"]["test2"]="val2";
実際やってみたら↓という風になっちゃうんです。
$xml["field"]["hoge"][0]="val1";
$xml["field"]["hoge"][1]="val2";
前者のように得たい場合、何か良い手はないでしょうか。
(XMLの書式を変えろとかは無しの方向で)
0191nobodyさん
2008/08/20(水) 11:51:31ID:???> PHPは大規模な処理には向いていない言語なので
> 7300万件もあるなら他の言語のほうが処理速度はあがると思うよ
> C++が使えるならそうしたほうがいいかも
あんた実戦経験無し?
7300万件とかそんなにデータが多い場合・・・いや、少なくてもだけど
普通は高速にかつ楽に開発する為に、既に作られている、
ライブラリやデータベースシステムを使う。
ライブラリやデータベースシステムがC++などで作られているから
何の問題も無い。
君の発想は一から全部作る場合の発想。
何らかの理由で世の中に既にある物を置き換えるものを
作ろうとしているのなら話は別だが、
大量のデータを処理する為のライブラリを
C++で作るとかアフォのやること。
0192nobodyさん
2008/08/20(水) 11:58:45ID:???> phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。
JavaやC++でもPHPと同じように無理だから。
0193nobodyさん
2008/08/20(水) 12:03:06ID:nVxHuE1Qこのセッショントラバーサル脆弱性って
「セッションハンドラを自前で設定して、
しかもそれをファイルシステムに指定している」という状況でないと
発現しないの?
何もいじらずにファイルシステムのセッション使ってる場合は大丈夫?
0194nobodyさん
2008/08/20(水) 12:19:19ID:???'->'とか'=>'は、何と読めば良いのでしょう?。
0195nobodyさん
2008/08/20(水) 12:25:51ID:???高速なライブラリやDBを使うなんてあたりまえの話で、その上でPHPよりC++で
組んだほうが処理は速いんじゃないか、としか読めないんだが
なんでライブラリを作るなんて話になるんだろう
PHPで大規模処理ができるかどうかと言われればできる
けど向いてるかと言われればそうでもないと思う
少なくともデータ処理のバッチをPHPで作ろうとは思わんなあ
バッチ以外の部分がPHPなので保守を考えてとか、なんか理由でもなければね
0197nobodyさん
2008/08/20(水) 12:39:37ID:???セッションIDの文字列チェックが行われないってヤツだな
標準ハンドラではチェックされているから、独自実装の場合だけ脆弱性を帯びる
ファイルシステムだけじゃなくてデータベースに保存している場合でもインジェクションを意識しなきゃダメだろうな
例えばファイルシステム利用の場合でセッションIDに「/../」があれば上位ディレクトリが保存先になるってこと
あぶないあぶない
>>194
読みなんてあったっけ?
「->」 オブジェクトメンバ、オブジェクトメンバメソッドの「参照記号」とでも呼べばいいのか?
「=>」 連想配列の・・・・何?
0198nobodyさん
2008/08/20(水) 12:43:16ID:???自分も人に聞かれて、何にも頭に思い浮かばず困ってしまったんです。
0199nobodyさん
2008/08/20(水) 12:44:45ID:???0200nobodyさん
2008/08/20(水) 13:11:21ID:???内部名。
0201nobodyさん
2008/08/20(水) 13:21:14ID:???-> が T_OBJECT_OPERATOR、=> が T_DOUBLE_ARROW って、作った人も適当に考えてたのね。
=>これ、何とかならなかったのかぁ。
0202nobodyさん
2008/08/20(水) 13:48:35ID:???フレームワークごと渡すの?
それとも設置の時点でインストールしてもらうの?
0203nobodyさん
2008/08/20(水) 13:49:07ID:???T_OBJECT_OPERATORはまだしも、T_DOUBLE_ARROW って、作った人もいい加減だったのね。
何とかならなかったのかなぁ。
0205nobodyさん
2008/08/20(水) 13:58:50ID:???=>は「イコール大なり」
0206nobodyさん
2008/08/20(水) 14:06:54ID:???ナイスオチ
口に出すことがほとんどないから特に意識てなかったんだろうな
>>198
Perlの連想配列も=>を使うぜ
PHPはPerlの拡張から始まったしその名残じゃないかな
0207nobodyさん
2008/08/20(水) 15:46:15ID:1OHJU2Jn<script type="text/javascript">
<!--
<?php
$str = "document.getElementById('test').value";
print("出力結果:$str");
?>
// -->
</script>
<span id=test>hogehoge</span>
例としてtestの値であるhogehogeをJavaScriptを用いてPHP変数に受け渡したいのですが
上記の方法で実行してもできません
いったいどのようにすればできるのでしょうか?
0209nobodyさん
2008/08/20(水) 15:49:45ID:???同時にフォームのinput type="hidden"にセットしてPOSTするとか、
httpRequestのGETパラメタで投げるとか幾らでもやりようあるように思うが。
0211nobodyさん
2008/08/20(水) 15:59:41ID:???':, ', _____,,.. -‐ ''"´ ̄ ̄`"'' ー 、., /
':, ', >' ´ `ヽ. / し バ
':, / ヽ. ,' な カ
':, ,:' / / ,'´ ヽ. ':,/Ti i. い に
. \ ,' / / ,' ! ; ', ヽ__ /::::| | | で
\ / ,' ,'! /! ! ; /! i 「:::|'´::::::::| | .!. く
∠__,! / !メ、」_,,./| /! / ! ハ! |__」<:::::」」 |. れ
`"'' 、..,,_ ! / ,ァ7´, `iヽ| / |ヽ、」ニイ、 | ! |^ヽ、」」 |. る
i,/レイ i┘ i. レ' 'ア´!_」 ハヽ| | | ∠ ! ?
─-- / ! ゝ- ' ! ! ! | | `ヽ.
/ 7/l/l/ 、 `'ー‐ '_ノ! | i | ` ' ー---
,. -──-'、 ,人 `i`ァー-- 、 /l/l/l | !. | |
ヽ.ソ `: 、. レ' ', u ,/| | ! |
そ 知 i /ーナ= 、 '、 ノ ,.イ,カ ! | |
の っ .|ヘ./|/レへ`>-r =ニi´、.,_ | i ハ ! ,'
く て ! _,.イ´ヽ.7 / /:::| /レ' レ'レ'
ら る | /7:::::! ○O'´ /::::::レ'ヽ.
い .わ .| / /:::::::レ'/ムヽ. /::::::::/ ヽ.
! ! よ ! ./ ,':::::::::::!/ ハ:::::`´:::::::::::;
0213nobodyさん
2008/08/20(水) 16:22:25ID:???みんなの本音は>>208と同じだと思うぞ
目的が見えないんだよ
>>208の言いたいことは、testの値を出力するならjavascriptのdocument.writeでいいじゃんってこと
>>209のアドバイスはtestの値をPHPで加工する場合のこと(POSTがページ変移ありで、httpRequestはページ変移なし)
ちなみに>>207の説明でもソースでも、上の2通りのどっちか分からん
どうしたいかは分かる、でも何がしたいか分からんってことだな
0214nobodyさん
2008/08/20(水) 16:28:50ID:???0215nobodyさん
2008/08/20(水) 16:30:53ID:???208だが煽ったつもりはないぜ
>>207がしたいことをそのままソースで読み取ったわけだからPHPでせず
>>213のいうとおりdocument.writeでできるってことを言いたかっただけ
0216nobodyさん
2008/08/20(水) 16:43:45ID:???0218nobodyさん
2008/08/20(水) 16:46:14ID:???少なくてもC++よりも速くならない。
いや、速くならないどころか遅くなる。
変数を割り当てるたびにメモリーを割り当てるから、
ループの中で変数をつくったりすると、
メモリーリークが頻発する。だから、大規模開発には向かない。
そもそも、PHPはJAVAのようなガーベージコレクションが効率よく動作しない。
0219nobodyさん
2008/08/20(水) 16:47:28ID:???0221nobodyさん
2008/08/20(水) 16:54:49ID:???クライアントサイドからサーバサイドに逆に値を受け渡したい場合だってあるだろ。
想像力が貧困すぎ。
もしかして全く予想できない?document.writeするだけしか思いつかない?
初心者が下手に回答すると恥かくからやめとけ、な。
0225nobodyさん
2008/08/20(水) 17:03:24ID:???クライアントからサーバへ送りたいのはわかるが説明とソースからは必要性を感じない
だから質問にもっと詳しい情報がほしいって意見じゃないのか?
>>218
PHPってC++で出来てたんだ・・・libcppを呼んでないんだが・・・共有じゃなくて静的に組み込んでるのか?
0226nobodyさん
2008/08/20(水) 17:09:50ID:???0227nobodyさん
2008/08/20(水) 17:10:57ID:???一般的に低級言語より高級言語のほうが出来ることも少ないし処理速度は遅くなる
C++は高級言語だがPHPと比較するとC++のほうが低級に位置する
そもそもPHPがインタプリタな時点で(ry
で脊椎反射でレスしてる馬鹿はちゃんとスレ主(>>177)の意図を汲め
0228nobodyさん
2008/08/20(水) 17:15:28ID:???>考えたのですが、やはりそこでも無理そうでしょうか。
>phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。
無理そうではないが時間がかかるのは一緒
処理時間に拘ってるようだから少しでも早く処理を終わらせたいならC++のほうがいい
こうですか?わかりません
0229nobodyさん
2008/08/20(水) 17:15:52ID:???マジきめえwwww
0230nobodyさん
2008/08/20(水) 17:17:57ID:LhJjLaqdmove_uploaded_fileしようとしてもfailed to open stream: Permission deniedになっちゃいます。
保存し直すディレクトリの権限はeveryoneでフルコントロールにしてるし、
(もちろんusersもログインしてるユーザもフルコントロール)なにがいけないのが
全然分かりません。
分かる方いらっしゃったらどうか教えてください。
0233230
2008/08/20(水) 17:29:03ID:???if(!is_uploaded_file($_FILES['image']['tmp_name']))
{
echo 'Error';
return;
}
else if(is_uploaded_file($_FILES['image']['tmp_name']))
{
$tmp .= 'tmp_name: '.$_FILES['image']['tmp_name'].'<br>';
$tmp .= 'name: '.$_FILES['image']['name'].'<br>';
$tmp .= 'new_path: '.WWW_ROOT.IMG_PATH.'<br>';
echo $tmp;
move_uploaded_file(@$_FILES['image']['tmp_name'], IMG_PATH);
}
こんな感じです。
IMG_PATHはフルパスをdefineしてます。
0234nobodyさん
2008/08/20(水) 17:30:20ID:???0235nobodyさん
2008/08/20(水) 17:31:00ID:???>UNIQUEキーを設定した仮テーブルを作ってコピーすると、
>時間が掛かってしまうため、ミドルウェア層に位置する
>SQLの範疇では手に負えないというのが以前の結論でした。
どんな処理するんだ?
>>187にも答えてくれ。
0236nobodyさん
2008/08/20(水) 17:33:00ID:???> そもそもPHPがインタプリタな時点で(ry
世の中に、まだ純粋なインタプリタって存在しているのかね?
マイナーな言語ならしらんが、
今はソースコードをコンパイルして動かしているだろ?
ページ開くたびに毎回コンパイルする必要はあるが
そのコンパイルの時間はかかるが、それが終わったら
あとはネイティブとほぼ同じだろ。
ページ開くたびにコンパイルしない方法もあるし。
0238nobodyさん
2008/08/20(水) 17:48:46ID:???define('IMG_PATH', "C:\xampp\htdocs\test\logo\");
これはやってみた?
0239230
2008/08/20(水) 17:50:39ID:???それもやってみました。
failed to open stream:Invalid argumentエラーが出ました。
0240nobodyさん
2008/08/20(水) 17:50:45ID:???\\じゃないと"がエスケープ処理させるぞwwww
>>237
パスはあってるんだよな・・・
chmodで権限0777にしても同じかな?
0241230
2008/08/20(水) 17:54:40ID:???フォルダのプロパティ→セキュリティからの設定は一通り全部フルコントロールにしたんですが…。
chmodってWindowsで使えるんですか?
0242nobodyさん
2008/08/20(水) 17:55:58ID:???logoの後ろに\\とか?
アップローダーのようなものは2年前に作ったきりでどういうのか忘れたけど
当時のソースがこうなってる
move_uploaded_file($_FILES['test']['tmp_name'], "D\htdocs\test\");
>>240
Windowsはパーミッション変えれないでしょ
0245nobodyさん
2008/08/20(水) 18:11:59ID:???bool move_uploaded_file ( string $filename , string $destination )
この関数は、filename で指定されたファイルが
(PHP の HTTP POST アップロード機構によりアップロードされたという意味で)
有効なアップロードファイルであるかどうかを確認します。
そのファイルが有効な場合、destination で指定したファイル名に移動されます。
となってるわけだが
ファイル名は指定してないのが原因?
define('IMG_PATH', "C:\\xampp\\htdocs\\test\\logo\\");
move_uploaded_file(@$_FILES['image']['tmp_name'], IMG_PATH . "ファイル名");
0246nobodyさん
2008/08/20(水) 18:14:37ID:hs1BSUYJまるで、おまえらの女付き合いと同じじゃねえか。。
女経験がないから、女が違うたびにあーでもないこーでもないって思案を重ね、ようやくエッチまで持っていけるんだろ?
その点、俺なんて、幾多の女を渡り歩いてきたから、もう女と付き合う手法がコンパイルされた状態でインプットされてるわけ。
わかるか?
0247nobodyさん
2008/08/20(水) 18:14:43ID:???move_uploaded_fileの第2引数を「ファイル名」にしよう
0248nobodyさん
2008/08/20(水) 18:15:28ID:hs1BSUYJ0250242
2008/08/20(水) 18:17:35ID:???なんか勘違いしてたw
動かなかったわorz
動いたものだとおもったんだけど・・・おかしいなぁ
0252nobodyさん
2008/08/20(水) 18:25:52ID:???ちょっと不便
0253nobodyさん
2008/08/20(水) 18:32:42ID:???本当のプロの仕事っていうのは、
普通の人間が5、10年勉強しておいつける代物ではない。
ある程度一人で出来るようになったからって、
勝手にのぼせ上がっているだけ、お前は。
0254nobodyさん
2008/08/20(水) 18:36:18ID:???0256nobodyさん
2008/08/20(水) 18:37:03ID:???0257nobodyさん
2008/08/20(水) 18:38:04ID:???0259nobodyさん
2008/08/20(水) 18:40:14ID:8rByw6kXその下のスクリプトは実行されてるんでしょうか?
0260nobodyさん
2008/08/20(水) 18:51:32ID:hs1BSUYJ0262nobodyさん
2008/08/20(水) 18:57:11ID:hs1BSUYJ早l
/ ̄ヽ 目 今
, o ', 食 に _ .日
レ、ヮ __/ べご l / \ は
/ ヽ よは.l {@ @ i 納
_/ l ヽ うん l } し_ / 期
しl i i を l > ⊃ < 日
l ート l / l ヽ か
 ̄ ̄¨¨~~ ‐‐‐---─| / /l 丶 .l
___ | / / l } l
/ニュ トーイ l /ユ¨‐‐- 、_ l !
ヽ廿' .`廿' l _ / ` ヽ__ `-{し|
n .____ l / `ヽ }/
三三ニ--‐‐' l / //
 ̄ ̄ ¨¨¨ー─‐‐--- ,,, __ ____/ /_/ ´
,, _ |  ̄¨¨` ー──---
モパ / `、 | _
グク / ヽ .| モパ / ヽ モパ
モパ./ ● ●l | グク l @ @ l グク パパー会社来なくていいってー>
グク l U し U l | モパ l U l モパ
l u ___ u l | グク __/=テヽつ く グク
>u、 _` --' _Uィ l /キ' ~ __,,-、 ヽ
/ 0  ̄ uヽ | l ヘ ゝ__ノ-' ヽ
. / u 0 ヽ| ~ l ヽ-┬ '
テ==tニト | / て=-、─----‐‐─ヽ
/ ̄) ̄ ト' ト= -' <ニ>
0264nobodyさん
2008/08/20(水) 19:02:50ID:???0265nobodyさん
2008/08/20(水) 19:04:50ID:???0266nobodyさん
2008/08/20(水) 19:06:23ID:???そんなことがよくあるのか・・・
0267nobodyさん
2008/08/20(水) 19:19:23ID:???別のプロジェクトに変えるようにしているから関係ないわ。
同じメンバーで長くやっていると、色々な意味で成長しない。
0268174
2008/08/20(水) 19:35:25ID:PkKH7Tnjレスが多くてびっくりしました。大変ありがたいです。
ただ、結論はphpでも一発で処理するのは難しいってことですかね。
array_uniqueのような関数があるので、
MySQLのバイナリーファイルをちょこちょこといじって、
重複データを削除してくれるような関数があると思ったのですが、なさそうですね。
7400万件をSQL経由でコピーしますと、時間的には数時間かえってこないのに加えて、
データーベースのファイル自体がコピー中に破損する現象があるので、
# バージョンがSTABLEじゃなくRELEASEレベルなのが原因かも。
関数かなんかで瞬間的にできればと思った次第です。
色々とお答え頂き、どうもありがとうございました。
C++が皆さんのお薦めということなので、C++のスレで聞いてみます。
本当にありがとうございました。
0269nobodyさん
2008/08/20(水) 19:38:00ID:???メモリとCPUパワーと時間さえあればできると思うが。
ローカルいじるだけなら書きやすいphpでやるのが楽。
0270nobodyさん
2008/08/20(水) 19:46:06ID:???その時間を短縮するために他の言語のほうがいいっていってんだろ
ためしにPHPとJavaとC++でループ処理比較してみれ
0271174
2008/08/20(水) 19:47:54ID:PkKH7Tnjレスありがとうございます。
一レコードずつフェッチして、そのレコードのキーで7400万件のデータに検索して、
レコードが重複していないかチェックするという処理でしょうか。
ただ、それは、一番時間が掛かるような気がします。
私が考えられる中で考えたのは、一番最初に書きましたが、
現在UNIQUEキーが設定されていないテーブルを捨てて、
仮のテーブルを作成し、UNIQUEキーを設定し、
その仮テーブルにINSERT IGNORE INTO SELECT * FROM 〜で、
エラー無視のINSERT文の実行です。
これなら、SQL文は、CRATE, INSERT, DROP, RENAMEで終わりですが、
INSERTが数時間もしくは十数時間かかります。SQLの欠点は、
途中経過がよく分からないのも欠点です。
SELECT COUNT(*)でやっても、busy状態に陥ってコマンドが拒絶されます。
う−ん、悩ましい。
0272nobodyさん
2008/08/20(水) 19:51:36ID:???C++だろうがphpだろうが大した差はないと思うな
もしかして、C++薦めてる人は何もかもC++でやろうと考えてるのかな
0273nobodyさん
2008/08/20(水) 19:54:29ID:???話わかってないだろ?
SQLを他言語で操作するんだから
その間のレスポンスが早い言語がいいって話だろ
>もしかして、C++薦めてる人は何もかもC++でやろうと考えてるのかな
case by caseにきまってるだろ
ただ今回はなるべく時間を短縮してやりたいっていうことだから
C++をすすめてるだけだろ
0274nobodyさん
2008/08/20(水) 19:58:19ID:???十数時間かけてやりゃいいじゃん。
C++でやるとしてもC++ならMySQLのバイナリ直接操作してunique取れるのか?どうせ単純ループだろ。
悩んでないでさっさとやれw 質問するまでもない。
0275nobodyさん
2008/08/20(水) 20:10:38ID:???だから、phpはCのオブラートに包まれているんだよ。
だから、できることは少ないし遅い。その代り開発速度は速いが。
Cは色々できる反面、処理がやっかい。自由度をとるか、効率性をとるかだよ。
あたま沸いていんじゃまいか?
0276nobodyさん
2008/08/20(水) 20:13:58ID:???大規模開発に向かない(キリッ
と言ってる暇でメモリリークするパターンを
PHP Bugsに報告しておいて欲しいな
>>259
http://www.php.net/manual/ja/features.connection-handling.php
>>174,271
UNIQUE制約付けて INSERT IGNORE ね…
これって7400万回逐次インデックスの更新が起きね?糞重そうだが
データベース板でSQL文レビューしてもらった方がいいんじゃないの
アプリケーション層でごりごりするような問題じゃないと思うよ
0279nobodyさん
2008/08/20(水) 21:08:11ID:8rByw6kXReadfileが途中で閉じた場合と完全にファイルを送信し切った場合の判断ってできるんでしょうか。
0281nobodyさん
2008/08/20(水) 21:17:24ID:???返り値
ファイルから読み込んだバイト数を返します。
エラーが起こると FALSEを返し、また@readfile()という名前でコールされない限り、
エラーメッセージが表示されます。
って書いてるからFALSEが返るか途中で閉じた場合読み込んだバイト数までを返すんじゃない?
0282nobodyさん
2008/08/21(木) 02:29:52ID:Nimqt/lP環境作って 文字コードをEUCにしたのですが
print "こんちには";でやっても文字化けしてしまいます
hellowにしたら文字化けはしませんでした
プラウザでEUCにしても文字化けしてしまいます
どこか設定が間違っているんでしょうか?
よろしくお願いします
0284282
2008/08/21(木) 02:34:55ID:Nimqt/lP>環境作って 文字コードをEUCにしたのですが
って部分の意味は ソースがEUCってことです
もしかしたらapacheの設定がおかしいのかもしれないです…
0285nobodyさん
2008/08/21(木) 02:40:31ID:???Apacheで文字コードが指定されてるとかかな・・
firefoxの拡張とかで鯖のレスポンスヘッダとかを確認してみるといいかも
0286nobodyさん
2008/08/21(木) 02:44:44ID:snmwtUfKmail関数を使った時同様、BCCもヘッダに付加していたのですが、
送られたメールのヘッダを見ると、何故かBCCまで丸見えになっていました。
そこで、BCCのアドレスもrcptToに追加し、ヘッダには何も付加しなかったところ、
BCC的なことができました。
そこで疑問なのですが、BCCは、SMTPのレベルでは、
「RCPTコマンドのみ実行し、CCヘッダには追加しない」
という意味なのでしょうか?
0287nobodyさん
2008/08/21(木) 02:45:05ID:???php.iniでEUC-JPな環境を作ったわけではない?
やってないなら言語の設定とかは一応チェックしたほうがいい
phpinfo() で確認
0288282
2008/08/21(木) 02:51:51ID:Nimqt/lPPHP触りたてで分からないんですが
やり方よく分からないです
ですが
ソースの方を色々といじくってたら
上書き保存では文字コードが変わらないらしく
新規でやったらうまくいきました
お騒がせしました
ありがとうございます
0289nobodyさん
2008/08/21(木) 03:12:36ID:???md5でファイル名を出力してるんですが、出力URLが長くなってしまう。
これを4,5文字に縮小するにはどうしたらいい?
0292nobodyさん
2008/08/21(木) 03:17:17ID:???ぶっちゃけスレ違いだな
SMTPはRCPTを見て宛先を判断する
通常メールソースにSMTPは介入しないがBCCがヘッダに含まれる場合のみ介入し
BCCのリストをRCPTに加えてBCCヘッダーを削除する
これ以上は他を当たってくれ(使ってるSMTPで実装が異なるケースも考えられるからな)
0293nobodyさん
2008/08/21(木) 03:19:32ID:???同じファイル名からは常に同じハッシュを割り出す必要があるなら>>291のような方法
そうでないなら独自にランダム文字列の生成を実装する手もある
0295nobodyさん
2008/08/21(木) 05:36:21ID:???0296nobodyさん
2008/08/21(木) 06:53:07ID:kJtf63kXa.phpに、require("b.php");として読み込み処理をしています。
a.phpの処理を実行を開始したあと、require("b.php");が実行された
あと、a.phpの処理が終了する間に、b.phpに変更を加えても問題ないことは保証されていますか。
テストでは大丈夫そうなのですが、仕様としてどうなっているのか知りたいです。
アドバイスお願いします。
0297nobodyさん
2008/08/21(木) 07:45:34ID:???0298nobodyさん
2008/08/21(木) 07:46:33ID:???0299nobodyさん
2008/08/21(木) 07:55:34ID:???0300nobodyさん
2008/08/21(木) 08:37:31ID:???timeにしようと思ったけどやっぱやめた。。。
download.php?=○○○...&b=○○○...とかやたら長いんだよね
rewriteは使いたくない
エロい人具体的に教えて
0303nobodyさん
2008/08/21(木) 09:04:39ID:???PHPのソースはcoreで中間コードに変換されてexecuterに渡されて実行される
a.phpから既にb.phpの処理へ移行しているならa.php、b.php共に中間コード化されているから
元のソースが書き換わっても問題ない
外部ソースの中間コード化はincludeやrequireで読んだ時点で行われることに注意
と言うわけで問題ないことが保障される
0304nobodyさん
2008/08/21(木) 09:24:52ID:???0305nobodyさん
2008/08/21(木) 10:16:25ID:kJtf63kX詳しい説明どうもありがとうございました。
だから、不必要なrequireは避けるべきだっていわれるのもその辺りなんですね。
どのタイミングで、どのように実行されるのか分からないかったので、
大変参考になりました。助かりました。
0306nobodyさん
2008/08/21(木) 10:30:30ID:???phpとdb使えば、簡単だろ。そして、2chを情報の取得源にすれば完璧。
↓↓↓
総務省がネット上の殺人予告や、隠語を使った拳銃取引など犯罪の情報を検知し、サイト運営企業へ自動的に知らせる新しいソフトウエアの開発に乗り出すことが20日、分かった。
サイト運営企業はネット上の有害情報対策を強化しているものの、監視人員の確保が困難な上、通常の検知ソフトでは、隠語のような特殊言語への対応は困難という。
開発は平成21年度から3年程度かけて取り組み、総事業費は十数億円規模を想定している。
開発するソフトは通常の言葉だけでなく「レンコン=拳銃」など、一般の閲覧者に内容を知られないように使用されている隠語などもデータベース化して盛り込む。また「自然言語技術」と呼ばれる手法を使い、文章全体の構成から犯罪との関連性を推測する機能も備える。
サイト上の情報を犯罪性有りと判断すれば、運営企業へ自動的に知らせ、サイト運営企業は内容を確認した上でその情報を削除する。
0307nobodyさん
2008/08/21(木) 10:42:28ID:???たしかに、それで10数億ってかけ過ぎ。
税金無駄使いムキッ。
NTTデータとかが受注して中抜きして、うちの会社に仕事回ってきそうw
0308nobodyさん
2008/08/21(木) 10:45:23ID:???それ3人で1年間もやれば十分できる。十分過ぎる。
1人は自然言語のプロ(形態素とかか?)、2人がSE&プログラマー。
この布陣でOK。ってことは、どんなに金が掛かっても3000万円が相場だなw
0309nobodyさん
2008/08/21(木) 11:48:20ID:???1年後には「そういえばそんなこと言ってたなw」
って感じになるのは間違いなかろう
0310nobodyさん
2008/08/21(木) 12:22:47ID:???社保庁のシステムだって、1000億掛けて、あんな穴だらけのシステムだしな。
0311nobodyさん
2008/08/21(木) 12:25:22ID:???マンパワーで登録するシステムになります。またの名を「10億円の予告.in」
0312nobodyさん
2008/08/21(木) 12:31:12ID:???予告インももちろんいらない
0313nobodyさん
2008/08/21(木) 12:34:29ID:QGHhiy71phpinfoを見ると、configureの中に
--with-openssl=shared
はあるのですが、OpenSSL固有のセクションは表示されていません。
configureで組み込むだけでなく、
php.iniで何か書かないといけないのでしょうか?
0314nobodyさん
2008/08/21(木) 12:35:50ID:???京大とかが無償提供している形態素解析器とか使って
未知語をピックアップするシステムだけなら、
phpで500行で、1日で出来る。っていうか、昔大学でやっていたし。
で、それをベースにして後は一年掛けて言葉を付け加えていくだけ。
ちなみに、言葉を100%自動分類なんてできない。80%見つければ上々でしょ。
0317nobodyさん
2008/08/21(木) 12:50:16ID:???sharedってことは共有モジュールでしょ
起動時に読み込まれるからもしopensslのライブラリが読み込めない状態だったら無視されるわな
errorとかwarningって出なかったっけ?
0318nobodyさん
2008/08/21(木) 12:52:13ID:???いや、だから自然言語処理のプロ(京大か長岡大の准教授レベルで十分)を
1年で1000万で見てもらえればいいだけ。(最初の3ヶ月常駐してもらえばいいし)
自然言語処理やっている人間は、CとかPerlとか余裕で出来るし、システムも相当詳しい。
言葉の登録なんて、バイトにやらせればいいしなぁ。このシステム俺が入札できねぇかな。
0319nobodyさん
2008/08/21(木) 12:57:53ID:???0320nobodyさん
2008/08/21(木) 13:00:48ID:???ってことは、お前に頼むより、京大の偉い先生に
1年掛けて作ってもらった方が安くってことだろ?
国立大学の教授の給料がいくらかは知らないが。
0321nobodyさん
2008/08/21(木) 13:10:08ID:???京大の偉い先生が、学会で散々既出のテーマに、
1年も張り付いてられるわけがない。
大学生レベルの知識でそれなりのものが出来るものをw
0322nobodyさん
2008/08/21(木) 13:29:46ID:???品詞分解とデータベース化まではお手軽に出来るだろうが、
文書の意味推測、クラスタリングやその検索なんぞは難しいなぁ。
この手の論文は山ほどあるから実装はできると思うけど、
それが論文どおりの精度や、実用的な速度が出せる保証はないので
失敗してもいい研究ならともかく、一千そこそこで請け負う中堅研究者はいなさそうな気がする。
ヒューリスティックなやり方でいいならゴニョゴニョできるだろうけど、研究的にはアレだし。
そういや、NTTってgooの親玉だよね。ということはgooのアレを使うのかな。
0323nobodyさん
2008/08/21(木) 13:57:08ID:???それは、ほどほどに実装するレベルでいいと思うが。
検査対象も新聞の文章ではなく、言葉の変遷が速い口語の崩れた文章なわけで、
1年で仮に80%の検出率が出たとしても、3年研究しても85%程度の検出率にしかならないような気がする。
イメージ的には、ウィルス駆除ソフトの更新パッチの開発かな。
ある程度新型ウィルスを自動で検出して作業負荷を減らしつつも、
更新パッチそのものは人間の手で一つ一つ作っていかないといけない。
まぁ、NTTあたりがそこ当たりの研究が強いから、強みを生かして落札しそうだ。
0324nobodyさん
2008/08/21(木) 14:19:36ID:???これで儲けてるから
0325nobodyさん
2008/08/21(木) 14:35:51ID:???0326nobodyさん
2008/08/21(木) 15:31:06ID:cSskhM/Gphpでメール送信やろうと思って調べてたらmail関数だと文字化けする
mb_send_mail使いなさい。って言われたんですが・・・
でも試しにsubject、本文、from内の名前太郎<xxxx@dd.jp>
みたいなバリバリ日本語メールをmail関数で送ったら普通に送れました。
環境はクライアントがyahoowebメールです、サーバはたぶん1000℃メールだと思います。
逆にどんな環境だと文字化けしちゃうんですかね??
0327326
2008/08/21(木) 15:36:13ID:cSskhM/G火の鳥で受信したら見事!文字化けしてました。
つーことはブラウザーのデコード機能のほうがメールクライアントのデコード機能より優秀ってことですかね?
なんかphpじゃなくなってきそうで申し訳ないんですがここら辺をご教授いただけたら幸いです。
0328nobodyさん
2008/08/21(木) 15:36:41ID:???サーバーが1000℃に耐えられない環境だと文字化けするんじゃね?
0329nobodyさん
2008/08/21(木) 15:41:05ID:???それ俺も知りたいなぁ。
使っているフレームワークがmailを使っている。
もちろん送信前に自分でJIS変換したり、
MIMEエンコードしたりしているが、それで問題なく送れる。
>>326さん。ちゃんとエンコードしてる?
mb_send_mailだとそんなことしなくても送れる?
でも結局文字化けやら不具合やらありそうな感じなんだよね。
なにやっているかわからない。痒いところに手が届かない。そんな感じ。
0330nobodyさん
2008/08/21(木) 15:44:43ID:???mb_send_mailなんて使う理由がない
0331nobodyさん
2008/08/21(木) 16:09:05ID:???制限がかけられている。
レンタルサーバなのでhttpd.conf,php.confはいじれない。
.htaccessにLimitRequestBody=0とやってもphp.confの設定が優先されるようで×。
このリミットを超えてUploadする手立てはありますか?
分割してアップロードとか出来ればいいのだが・・・
0332nobodyさん
2008/08/21(木) 16:18:23ID:???0334nobodyさん
2008/08/21(木) 17:40:58ID:???mailで日本語をそのまま適用した際の文字コードと
yahooのWEBメールのブラウザ表示上の文字コードが同じだと化けない
クライアントの内部エンコードが異なるからASCIIに変換して送る必要がある
mb_send_mailは、バグが残ってる場合とパッチで修正されてる環境と様々だから
自分でエンコードしてmailで送るべし
0336nobodyさん
2008/08/21(木) 18:18:07ID:???あるサイトの発注管理サイトを制作しました。
環境はPHP4+MySQLです。サーバーはCentOS4+qmailです。
流れとしては、
1.お客からの見積依頼をフォームで入力、送信
(同時に見積を依頼するフランチャイズ店舗も選択します)
↓
2.本部に依頼内容をメール送信
↓
3.各フランチャイズに依頼内容をメール送信
↓
4.各フランチャイズの担当者の携帯にお知らせメールを送信(複数人)
↓
5.メールを見ない人がいるので各フランチャイズにFAXを送信
というものです。
5.のFAX送信というのは、指定されたメールアドレス宛に内容を送るとそのままFAX送信してくれるというサービスを利用しています。
問題は、4.と5.を処理しない時があるというものです。
4.を処理しない時は5.も処理してくれないようです。
4.を処理しても5.は処理しない時もあります。
頻度としては3回のうち1回は処理しない感じです。
又、複数店舗が選択されている場合、一店舗目は3.4.5.と正常に処理したのに、
2店舗目は3.で終わる、という時もあります。もちろん正常に全店舗処理が終了している時もあります。
2.と3.は毎回きちんと処理しているようです。
PHPプログラムも流れを追ってみましたが、特に不審な点はありません。
4.と5.の間にDB登録がありますが、これは毎回ちゃんと処理されているようです。
こちらとしても色々と調べましたが(qmailのスプールやキューなど)、全然わからず手詰まり状態です。
原因は何か考えられるでしょうか・・・?
0338326
2008/08/21(木) 18:41:55ID:cSskhM/Gやってませんw
つーかmb_send_mailだと勝手にやってくれて便利な感じです。
>>334
なるほど・・・
僕が読んだ本だとみんな一様に日本語使うときはmb_send_mail使いやがれって書いてあったから
そのまま鵜呑みにするところでした。
0339nobodyさん
2008/08/21(木) 18:48:28ID:???IT関係の本って、誤植が多いし著者独自の考えがあるから、
話半分で読んでいるよ。
広辞苑のような本とITの本とレベルや信頼度が雲泥の差。
0340339
2008/08/21(木) 18:52:26ID:???別に飛び抜けて技術力が高いというわけではない。
そういう人が書いているのを、全部信じようとするとはまる。
0341nobodyさん
2008/08/21(木) 19:08:48ID:b3OQUppz現在は別ファイルに祝日を記述して、それを読み込んで
判定しているのですが、もっと簡素化できる方法や
ライブラリはないのでしょうか?
0343nobodyさん
2008/08/21(木) 19:20:15ID:???祝日は、「国民の祝日に関する法律」という法律で決まっているから、
総務省の法律データーベースから法令データを取得して、
その条文の中に書いてある月日を取得して、判定するのはどう?
0344nobodyさん
2008/08/21(木) 19:22:34ID:???0346nobodyさん
2008/08/21(木) 22:24:51ID:???ショボノートなので重いIDEは使えないんです><
0347nobodyさん
2008/08/21(木) 22:50:37ID:???現在、登録されたユーザにメールを一斉に送るものを作っています。
メールを送る部分で、単にmb_send_mailとするとメールが送れるのですが、
foreachなどのループの中でこれを行うとメールが全く送れません。
メールの送信にはmailを使っています。
サーバは、さくらインターネットのレンタルサーバ(スタンダード)です。
プログラムはこんな感じです。
$addList = DBから取得したアドレスの配列
foreach($addList as $add)
{
// この部分では送れない
mail($add, $subject, $message, 'From: '.$from);
}
// この部分では送れる
mail($addList[0], $subject, $message, 'From: '.$from);
mail($addList[1], $subject, $message, 'From: '.$from);
mail($addList[2], $subject, $message, 'From: '.$from);
スパムとかの対策でカットされてるんでしょうか。
うまい回避法をご存じの方、ぜひお願いします。
0349nobodyさん
2008/08/21(木) 22:58:49ID:???今はせいぜい3通とかで、多くても5通です。
うまく動けば、20〜50通くらいで運用したいと思っているんですが・・・。
0350nobodyさん
2008/08/21(木) 22:59:45ID:???当店の雰囲気に合った服装というのは勿論ですが、
何よりもその服装がお客様ご自身に合っているかどうか、
という点を最も重視してチェックさせて頂いております。
特別に決まりや基準があるわけではなくファッションの基本と同じですので、
難しくお考えにならずにご来店頂ければと思います。
0351nobodyさん
2008/08/21(木) 23:17:52ID:cSskhM/G何でループさせないの?
0353nobodyさん
2008/08/21(木) 23:22:53ID:???あのな、NOTICEレベルのエラーも表示させてみ
ループ内で使ってる変数が未定義とか、そんなオチだろうよ。
0354nobodyさん
2008/08/21(木) 23:38:39ID:2yWxB/YG0355nobodyさん
2008/08/22(金) 00:03:05ID:???foreach内で$addとかの変数をvar_dumpしてみ
普通foreachの外でmail出来てforeach内でループ出来ないってことはない
スコープが透過だからな
それと余談だが、一斉送信はsendmailよりSMTPがいい
sendmailは一通ずつコネクションを切るからオーバーヘッドがウザす
さくらでSMTP使えれば、だが
0356nobodyさん
2008/08/22(金) 00:18:15ID:???>> 355さん
ありがとうございます!
ご指摘いただいて、一通りエラーが出ないようにしてみたらメールが送られてきました。
お騒がせして申し訳ありません…。
もう少しきちんと作って確認をしてみます。
メールもSMTPで送れそうだったらそちらで送ることにします。
ありがとうございました!
0357nobodyさん
2008/08/22(金) 00:19:44ID:UcmQnfu1詳しいのか詳しくないのかわけわからんコメントですねw
上と下とが別人みたいw
0358nobodyさん
2008/08/22(金) 00:22:22ID:UcmQnfu1sendmailは一通ずつコネクションを切るからオーバーヘッドがウザす
postfixやqmailなら・・・どうだかしらないけどw
0359355
2008/08/22(金) 02:44:01ID:???sendmailと言ったのはPHPのmail系関数にwrapされてる実装の方
つまりphp.iniのsendmail_pathで指定したコマンドを経由して送信する機能のことね
SMTPと言ったのは25や587ポートで内部や外部のSMTPにコネクションを開いて送信する方
こっちはコネクションを自分で閉じるから接続・切断のオーバーヘッドが少ない
自分で実装するのが面倒な時はPEAR::SMTPを使う手もある
>>355 「foreach内でループ出来ない」
ボケとる・・・
0360nobodyさん
2008/08/22(金) 02:46:30ID:nRWBXbXV文字の0〜9をパターンマッチングさせる時の正規表現はどのように書けば
よいのでしょうか?
↓だと数字の0〜9のパターンマッチングになるため、$search_numberに
文字列の0〜9(例:文字列で777)が入っていても0として扱われてしまいます。
preg_match("[0-9]",$search_number)
0361nobodyさん
2008/08/22(金) 02:47:54ID:XmBnafOM$smtp->connect()時に、タイムアウトをたとえば10秒に指定していても、
回線を切って実行してみると、エラーを返してくるのが1分後くらいです。
何が問題なのでしょうか?
0363361
2008/08/22(金) 03:08:54ID:???回線切ってたからここで引っかかってたのかも
っていうか、この関数タイムアウト自体がないんですね
PHPテラアホス
0365nobodyさん
2008/08/22(金) 09:06:51ID:???まぁしかたないと思う
Cの同名関数を利用してるしな
ソケットで独自に実装すればstream_set_timeoutが使えるのにな
0366nobodyさん
2008/08/22(金) 09:09:53ID:???sharedの場合soファイルが出来るだけ
iniの設定変えてなかったらエラーとか出ない
ただ関数がネーヨというエラーは出るがな
0367nobodyさん
2008/08/22(金) 09:19:01ID:5EVYna0bphpで作ったサイトで運用してますが、
CPU Load Avarageというのを見ています。
これって、1を超えると、CPUの使用率は常に100%という関係になるのでしょうか?
私の場合、1を常に超えた状態なので、phpが暴走するのではないかと不安視しています。
サーバを増やすなどの措置が必要になりますか?
アドバイスを教えてください。
0368nobodyさん
2008/08/22(金) 09:21:22ID:???0369nobodyさん
2008/08/22(金) 09:28:56ID:5EVYna0bすみません。具体的なイメージなんですが、
私が不安視しているのはwindowsの場合とかって、
CPUの使用率が100%になると暴走状態になって、再起動することになりますよね。
そのような状態がサーバーで起こっているとしたら、
新しく起動されたphpが暴走して、どんな悪影響を及ぼすか不安視しています。
windowsみたいに、画面が二重に表示されたり、マウスの軌跡がずらずら並んだり、
そのようなことがphp上で発生する状態なのでしょうか?
0370nobodyさん
2008/08/22(金) 09:40:05ID:???0371nobodyさん
2008/08/22(金) 09:50:22ID:5EVYna0bたしかにそうですね。すみません。
会社命令で、その中でパソコンに詳しいのが私だけで、
といっても、ホームページを作った経験があるだけなんですが、
それで会社の全商品を表示したりするサイトなどを一人で立ち上げることになり、
会社から飼ってもらった本を片手にやっと、できったという感じです。
OSは本の付録についていたFreeeBSDを使っています。
ですが、その本でCPU AVERAGEを見ろとかいてあり、みたら1を常に超えている状態になっていて、
困っています。会社に他に空いているパソコンがないので、
別のパソコンを買うにも、稟議書みたいなものを通さないと行けないので、
面倒だったりします。やはり、もう一台必要でしょうか?
0372nobodyさん
2008/08/22(金) 09:59:18ID:???その状態は大変危険な状態です。しかも、業務につかっているなら尚更です。
とりあえず、ここから見積もりを取って、早急に上司と掛けあうのが先決です。
http://click.linksynergy.com/fs-bin/click?id=nEMDVbzUNEo&offerid=113065.10001436&type=3&subid=0
今現在も稼働しているなら、大急ぎで対応してください。
0373nobodyさん
2008/08/22(金) 09:59:57ID:???topコマンドの「CPU Load Avarage」か?
ほとんど負荷のない時に1が表示され、負荷の高い場合は最大で10だ
負荷の高さを10段階で評価する
ちなみにスレ違い
PHPがCPUの負荷で暴走することはまずない(せいぜいタイムアウト
メモリ不足でcoreを吐くことはある
0374nobodyさん
2008/08/22(金) 10:11:34ID:5EVYna0bお返事、大変ありがとうございます。
phpが暴走することがないということで、それは安心しました。
ただ、危険な状態には変わりないんですね。
教えられたサイトで、さっそく見積もりを取ってみます。
ありがとうございございました。あと、スレ違いになってしまい申し訳ありませんでした。
0375nobodyさん
2008/08/22(金) 10:47:30ID:???>>372は釣りだと思うが・・・
CPU面ではまったく負荷が感じられないわけだし
どんなソースを書いてるか知らないからこれだけでは危険と判断出来ん
(スペック的に現状では問題ない)
素人が企業サイト、これは危険だがな
0376nobodyさん
2008/08/22(金) 11:25:27ID:UcmQnfu1コストの話なら逆にそっちのほうがかかる。ユーの無駄な人件費が
0377nobodyさん
2008/08/22(金) 11:30:55ID:???何も負荷がない時のロードアベレージは、1じゃなくて0だろ。
誰も突っ込まないところを見ると、このスレの住民は相当レベルが低そう。
0378nobodyさん
2008/08/22(金) 11:43:11ID:SUat73CA>>373 もCPU Load Avarage
とか書いてる時点で釣りだと思うんだけど……。
Load Averageのことだとしても、説明変だし。
0380nobodyさん
2008/08/22(金) 12:00:50ID:???0382nobodyさん
2008/08/22(金) 12:06:12ID:???0383nobodyさん
2008/08/22(金) 12:17:30ID:???俺も実は知ってました、それ位赤ちゃんでも分かる、みたいな言いぶり。
こういう奴周りにもいるが、キモイわ。
0384nobodyさん
2008/08/22(金) 12:20:07ID:???0385nobodyさん
2008/08/22(金) 12:45:45ID:q1zzzoBS0386nobodyさん
2008/08/22(金) 14:56:58ID:UcmQnfu1渓流でへたくそが投げた針が漫画みたいに口に引っかかってあたたたた〜ってなるあれだろ?
0387nobodyさん
2008/08/22(金) 15:53:59ID:fin98YtZ0388nobodyさん
2008/08/22(金) 16:02:05ID:???0389nobodyさん
2008/08/22(金) 16:37:18ID:???制作予算ねーのかよ。
0391nobodyさん
2008/08/22(金) 17:07:23ID:???0392nobodyさん
2008/08/22(金) 17:07:55ID:???0393nobodyさん
2008/08/22(金) 20:35:41ID:???memcashedで保存するのとどっちが速いですか?
ファイル操作とmemcahedの接続コストとどちらが掛かるかなんですが。
ちなみに今はファイルでやっています。
それより、良い方法がないかと模索中です。
0394nobodyさん
2008/08/22(金) 21:40:52ID:???DBとして使うなら全然違うがセッションでは・・・
phpのセッションもコンストラクトとデストラクトでのみファイルアクセスを行うから
その時はメモリよりオーバーヘッドが豆粒程度に大きいけど
途中の読み書きはメモリ上に展開されたセッション変数に収まる
結局メモリだからほとんど同じ
0395nobodyさん
2008/08/22(金) 22:27:08ID:???> phpのセッションもコンストラクトとデストラクトでのみファイルアクセスを行うから
そうなんですね。それなら、大して変わりなさそうですね。
というより、ディスクよりメインメモリーの方が小さいことを考えると、
アクセス数が増えるこを考慮してファイルの方がリスクが少ないともいえますね。
であれば、冒険せずにファイルでやってみます。
ありがとうございます!!
0396nobodyさん
2008/08/22(金) 22:50:09ID:???0397nobodyさん
2008/08/23(土) 00:45:53ID:???0398nobodyさん
2008/08/23(土) 14:07:17ID:5Laah46MFTP経由で不要なディレクトリが削除できなかったので、rmdir関数を利用してみたところ、以下のエラーメッセージが表示されました。
エラーメッセージ:
Warning: rmdir($dir) [function.rmdir]: Directory not empty in /***.com/***.html on line 2
経過:rmdir関数は、ディレクトリの中にファイルが存在した場合削除に失敗する仕様なので上記のエラーメッセージを吐き出したものと考えられますが、ディレクトリの中身は空(0 Bytes)です。
試しに、ディレクトリの中身ごと削除を行うという「system("rm -rf $dir");」を実行させてみましたが、こちらはエラーメッセージは吐き出しませんが、ディレクトリの削除もされませんでした。
こういう場合の原因は何が考えられますか?
また、どう対処すれば良いでしょう。
サーバのOS:不明(無料レンタルサーバ)
PHP 5.1.6
参考:ディレクトリまたはファイルの所有者は自分のIDになっています。
0400nobodyさん
2008/08/23(土) 15:12:43ID:???そのディレクトリの親ディレクトリの書き込み属性とか
0401nobodyさん
2008/08/23(土) 15:18:06ID:???パーミッションエラーじゃないから違うとは思うが、
そのディレクトリの親ディレクトリの書き込み属性とか
書き込み属性がパーミッションだっつうのw
0402nobodyさん
2008/08/23(土) 15:35:07ID:???0403nobodyさん
2008/08/23(土) 15:48:03ID:???0404398
2008/08/23(土) 15:50:48ID:5Laah46M変わった名前のファイルは作成しませんでしたし、ファイルは全て削除されたようで空です。
サーバのPHP設定というのはどういう事になりますか?
察しが悪くすみません
>>400
パーミッションは変更出来るので色々試してみましたが、結果は変わりませんでした。
>>402
所有権は自分のIDになっています。
ので、属性変更は可能です。
ディレクトリが削除できません。
0406nobodyさん
2008/08/23(土) 17:10:43ID:???パーミッションどうこうでもnot emptyが出力されるはずは・・・
scandir等でディレクトリの中を出力してみたら?
.で始まるファイルを隠しファイルとしている場合がある
「.」「..」は無視な
0407nobodyさん
2008/08/23(土) 17:33:06ID:MJFU9Zb0掲示板にパスワードを入力してチェックする際に
半角英数字4〜8文字かどうか調べたいのですが。
if(preg_match("/[0-9a-zA-Z]{4,8}/", $pass)
これでいけるかと思っていたらこれだと
半角英数字4〜8文字があるとok になってしまうらしく
(半角英数字10文字)例)1234567890
(記号有り)例)****1234++
もokになってしまいます。
正しい記述はどうするんでしょう?
0408398
2008/08/23(土) 17:36:35ID:5Laah46Mそういう手がありましたか・・・!(頭弱くてすみません
scandir活用させてもらったところ
しっかり隠しファイルがいつの間にか存在していました。
「0 Bytes」という表示から本当に中身は空なのだと思い込んでいたせいで混乱しておりました。
地道にリストアップして削除していきます
助かりました、ありがとうございます!
0409407
2008/08/23(土) 17:55:07ID:MJFU9Zb0^[0-9a-zA-Z]{4,8}$
先頭と終端を指定していなかった。
お手数をおかけしました。
0410nobodyさん
2008/08/23(土) 20:19:17ID:tD80K7qSチェックする関数を教えて下さいませ。お願いします。
【OS】CentOS4
【PHP】PHP5
【DBサーバー】MYSQL5.0
です。
0412nobodyさん
2008/08/23(土) 20:57:45ID:tD80K7qSまじですか?
PHPって、GG佐藤以下ですねw
0413nobodyさん
2008/08/23(土) 21:27:58ID:pIRCIy4o例えばURLから example.php?param1=aaa¶m2=bbb のように2つのパラメータを読み込む場合、
XML形式のサイトマップなどからのアクセスだと、
example.php?param1=aaa&param2=bbb というURL表示からの読み込みとなるため
"amp;"がパラメータ名の一部として解釈されてしまい、正しいデータのやりとりがなされません。
この問題をphpプログラム内にて解決するにはどうしたらよろしいでしょうか?
ちなみに.htaccessでのRewriteRule機能を利用しての解決はできませんでした。
初歩的な質問かもしれませんが、どなたか教えていただけないでしょうか?
よろしくお願い致します。
(php5.2 サーバーはKagoyaの専用サーバープランを使用しています。)
0414nobodyさん
2008/08/23(土) 21:32:39ID:???お前が勉強不足なのだよ
そもそも到着したかどうかなんて分かるわけないじゃん
宛先のMXからリレーしてるかもしれんのに
どうしても必要ならエンベロープに届くエラーメールでもチェックするんだな
0417nobodyさん
2008/08/23(土) 21:41:06ID:bsrwSGnByear month day text
2008 8 22 aaaa
2008 8 22 bbbb
2008 8 23 cccc
・
・
・
という感じでデータがあって
ページ上には
2008/8/22
aaaa
bbbb
2008/8/23
cccc
という風に出したいです。
0419nobodyさん
2008/08/23(土) 22:05:47ID:???配列を使えばいいんじゃね?
$recodes // mysqlからfetchallしたようなやつ(fetchallはPDOだが)
$list = array();
foreach($recode AS $row){
$date = *****(2008/8/22になるように)
$data = *****(aaaaになるように)
if(!isset($list[$date])){ $list[$date][] = $date."<br />"; }
$list[$date][] = $data."<br />";
}
implode("<br />", $list);
まぁ考え方の1つってことで
0420nobodyさん
2008/08/23(土) 22:07:07ID:???$recodes // mysqlからfetchallしたようなやつ(fetchallはPDOだが)
$list = array();
foreach($recode AS $row){
$date = *****(2008/8/22になるように)
$data = *****(aaaaになるように)
if(!isset($list[$date])){ $list[$date] .= $date."<br />"; }
$list[$date] .= $data."<br />";
}
implode("<br />", $list);
0421nobodyさん
2008/08/23(土) 22:14:23ID:???>>413,>>418です。
URL文字列を$HTTP_GET_VARSとして、
$HTTP_GET_VARS = html_entity_decode($HTTP_GET_VARS);
と該当ページに挿入したのですが
Warning: html_entity_decode() expects parameter 1 to be string というメッセージが出て
上手くいきませんでした。この関数の正しい使用法を教えていただけないでしょうか?
0422nobodyさん
2008/08/23(土) 22:22:42ID:???parse_str(html_entity_decode($_SERVER['QUERY_STRING']), $argv);
print_r($argv);
ってやってみ
0424417
2008/08/23(土) 23:11:04ID:bsrwSGnBなんとなく見えました!
0425nobodyさん
2008/08/24(日) 02:12:36ID:tkAECmwhテキストエリアから入力された改行コードを<br>に変換するのは以下のコードでできるのですが、
$ensql = preg_replace("/(\r\n|\r|\n)/","<br>",$ensql);
逆に<br>を改行コードに変換するのはどうすればよろしいのでしょうか?
編集機能を持たせようと思い改良を加えているのですが・・・
\r\nでしたらWindows系ですし、\nでしたらUnix系ですし・・・・
0427nobodyさん
2008/08/24(日) 02:33:21ID:???ためして不具合でてからいってくれ
0428nobodyさん
2008/08/24(日) 02:34:37ID:tkAECmwhありがとうございます(;´Д`)
0429nobodyさん
2008/08/24(日) 09:50:04ID:???テキストモードでオープンしたファイルに\nで書き込むと
勝手に\r\nに変換される。
テキストモードというのがあるのは、そういうこと。
0430nobodyさん
2008/08/24(日) 09:53:19ID:wBtpqVh7ttp://fs-server.net/reference.htmlにある
他サイトの表示内容を取得 ⇒ ##GET_SITE##
はどの様になってるのでしょうか?
readfile()で全体を取り込むのはできたのですが開始テキストと終了テキストを指定するところが分かりません。
よろしくお願いします。
0431nobodyさん
2008/08/24(日) 11:17:31ID:???0433nobodyさん
2008/08/24(日) 18:12:19ID:???これはあまりよろしくないらしいんですが
他に何か解決方法はあるんですか?
レンタルサーバなのであまり細かい設定はできないのですが
0435nobodyさん
2008/08/24(日) 19:02:06ID:???文字化けは主にサーバ側で自動変換させるから生じる
この際nemeでbinaryを指定することをオススメ
無変換で通信するから化けることはまずない
0436nobodyさん
2008/08/24(日) 19:38:55ID:???あ、それ俺も聞きたい。スレチだけど。
何かのSQL投げる度に、そのSQL実行するから、SQLの実行数が倍になってしまう。
0437nobodyさん
2008/08/24(日) 19:47:07ID:???0438nobodyさん
2008/08/24(日) 19:54:08ID:???SET NAMES だとライブラリ側は文字コードを認識しないので、文字コードの違いを利用した
悪意のあるコードを入れられる可能性がある。
0439nobodyさん
2008/08/24(日) 20:08:35ID:???mysql関数だとmysql_set_charsetってのがあるみたいですけど
PDOだとどうしたらいいんですか?
0440nobodyさん
2008/08/24(日) 21:12:28ID:???インジェクションを心配するってことはリクエストの文字コード変換やクォートを怠ってるってことでしょ
pdoならprepareとドライバで十分とは言えなくてもやらないより全然違う
0441nobodyさん
2008/08/24(日) 21:19:00ID:???無駄なクエリが1発っていうだけでなんか気持ち悪いよね
0442nobodyさん
2008/08/25(月) 00:06:29ID:???APIと言ってもmysql_set_charsetも同じことだぜ
サーバとクライアントで文字コードを統一することが第一だな
0443436
2008/08/25(月) 00:26:46ID:???ver4.1以降なら、mysqlの設定ファイルの問題。
0444436
2008/08/25(月) 00:28:45ID:???skip-character-set-client-handshake
これをsqldセクションに入れればOK!
0445nobodyさん
2008/08/25(月) 01:01:07ID:???<input type="hidden" name="test" value="a">
<a href="#" onclick="document.frm.submit()">フォームをサブミットする</a>
</form>
でtest.phpにhtmlページにおける値をPHP変数に渡して、
<head>
<?php
$txt = $_POST['txt'];
?>
<script type="text/javascript">
<!--
function hoge(){
var txt = "<?= $txt ?>";
alert(txt);
}
//-->
</script>
</head>
<input type="button" value="click" onclick="hoge();"></input>
このようにPHP変数からJavaScript変数に渡したいのですがどのようにすればよいのでしょうか。
上記のプログラムだとできません。どなたかご教授お願いします。
0446nobodyさん
2008/08/25(月) 01:29:05ID:???my.cnfを書き換えられるならサーバとクライアントの文字コードを統一した方が安全だぜ
そもそもskip-character-set-client-handshakeって
クライアント側の文字コードを省略してサーバの文字コードを強制的に使用するって設定じゃん?
かなり背水な対応方法だな
0449nobodyさん
2008/08/25(月) 01:47:47ID:???どうやって取り出したら良いでしょうか??
テーブルの文字コードは UTF-8
データはPHPからSET NAMESを忘れて突っ込んだUTF-8
mysqldump .(省略) --default-character-set=utf8 > hoge.dump
して取り出してみたけど、見事にデータがぶっ壊れてます。困った。
0450nobodyさん
2008/08/25(月) 01:48:32ID:???var txt = "<?= $txt ?>";
の箇所の<?= 〜 ?>は一体なんなのでしょうか?
0451nobodyさん
2008/08/25(月) 02:11:33ID:???俺は、サーバーもクライアントも文字コード一緒だよ。
っていうか、俺がやっている奴は趣味でやっている奴だが、
そもそもシステム構築する際は、文字コードは統一しておくのが普通でしょ。
文字コードが混在しているシステムは、テスト工数が増大するし、リスクを増える。
0452nobodyさん
2008/08/25(月) 02:14:49ID:???ぶっ壊れたデータは戻せないと思うぞ
特に標準がasciiやlatin1だと最悪だ・・・
標準のコードがマルチバイトならbinaryで取り出してから変換すればいい
>>450
<? echo $txt; ?>の省略形な
0454nobodyさん
2008/08/25(月) 14:07:29ID:H4jIBY1A$image=getcwd().DIRECTORY_SEPARATOR.'a.gif';
print('<img src="'.$image.'">');
がIEでは表示されるのにFFだと表示されない。
DIRECTORY_SEPARATORではなく'/'と指定すると表示される。
なぜに?
DIRECTORY_SEPARATORなんか使わず常に/にしとけって意味?
0455nobodyさん
2008/08/25(月) 14:13:54ID:???0456nobodyさん
2008/08/25(月) 14:17:00ID:???0457nobodyさん
2008/08/25(月) 14:47:50ID:+ZyX5O5xリファラーワードによってリダイレクト先を変える場合って
どうやればいいですかね?
リファラーを取るまでは上手くできてるのですが…
0458nobodyさん
2008/08/25(月) 14:56:35ID:???どんな手法を取るか知らんがリファラを解析して宛先を決めるとこまで出来てるなら
header関数でLocationヘッダーを流せばいい
header('Location: 転送先URL');
0459nobodyさん
2008/08/25(月) 15:30:43ID:???0460nobodyさん
2008/08/25(月) 15:51:51ID:???Windowsだと;区切り、Linuxだと:区切りだけど、
配列からパス形式を生成する場合に簡単な方法ないかな
$array = array(
'/path/test_dir/',
'/path/PEAR/',
'/path/Smarty'
);
環境に応じて:や;で区切ってパスの文字列を生成
WindowsかLinuxか判別して
それぞれに応じて作成するのが正しいのか、
むしろそういう関数が既にあるのか・・・
0461nobodyさん
2008/08/25(月) 16:02:40ID:???http://jp2.php.net/set_include_path
>PATH_SEPARATOR 定数を利用することで、 オペレーティングシステムに依存せずに include path を追加することが可能です。
という便利なものがあるようだけど?
0462nobodyさん
2008/08/25(月) 16:04:49ID:???int_setでやってるのか知らないけど
普通にその配列ループしてset_include_pathかけりゃいいんじゃないかな
0464nobodyさん
2008/08/25(月) 16:06:30ID:???初めてしった、まじサンクス!!
こんな便利なものがあったのか、もっと早く気づけば良かった
0465nobodyさん
2008/08/25(月) 16:56:17ID:wWAEdZe4Array ( [name] => 元旦 [year] => 2008 [month] => 01 [day] => 01 )
こういう連想配列の場合、どのようにして比較すればいいのでしょうか?
forで出力してifで比較する以外で、方法がありましたら教えて下さい。
0467nobodyさん
2008/08/25(月) 17:06:19ID:ddePEaRiFromの行からメールアドレスだけ正しく取得する、という処理がうまくいきません。
フォーマットがたくさんありすぎて、対応に困っています。
"name" <mail@mail.com>
<mail@mail.com>
mail.com
のほか、””で囲っていないnameがあったり、ググって出てくるスクリプトを使っても判定できませんでした。
(http://memo.majide.com/index.php?%A5%E1%A1%BC%A5%EB%BC%AB%C6%B0%CA%D6%BF%AE%A4%CE%C0%DF%C4%EA%A4%C8PHP%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8)
プログラムの概要としては、vpopmailの.qmail-XXXファイルからパイプでメール内容を渡し、
標準入力からメールを解析して、From部分を取り出す、というものです。
何か良いライブラリなどございましたらご紹介お願いいたします。。
0469nobodyさん
2008/08/25(月) 17:09:46ID:???エスパーしてみる
比較というより、month=01 day=01 というキーを与えて、
name=元旦 という値を取得したいんじゃないのかい?
ならば、配列の持ち方は、$name = array('0101'=>'元旦', '1231'=>'大晦日')
で参照は$nama['0101']でOK
0470465
2008/08/25(月) 17:10:37ID:???今まで下記のようにして出力していたのですが、
カレンダーの日数毎にforeachでチェックするのも
負荷がかかると思い、他の方法を模索しています。
foreach($date_array as $date){
if($date["year"]=="2008" && $date["month"]=="01" && $date["day"]=="01"){
echo $date["name"];
}
}
0471nobodyさん
2008/08/25(月) 17:17:37ID:???PEAR::Net_POP3だと思う。
>>467
PEAR::Net_POP3のgetParsedHeadersで
ヘッダの内容を連想配列に格納できるから、
それで取得するのが楽だろうな。
0472nobodyさん
2008/08/25(月) 17:35:52ID:ddePEaRiありがとうございます。
POP3に接続せずに、メール内容を解析する方法はないでしょうか?
0473nobodyさん
2008/08/25(月) 17:37:27ID:???ごめん、mimeDecodeのことだわ
PEAR::Mail::mimeDecodeで生メールの解析ができる
0474nobodyさん
2008/08/25(月) 17:43:09ID:ddePEaRiありがとうございます。
しかし、そのライブラリを使っても、>>467のとおり、間に改行が入っていると、
改行後の文字を無視してしまうので、完全ではないんですよね。。
自分で作るしかないのかなぁ。。
0475nobodyさん
2008/08/25(月) 17:53:05ID:???$date_arrayの管理方法を見直した方がイイ
それが出来ないならforeachよりarray_mapの方が今回の例では高速
0476nobodyさん
2008/08/25(月) 21:34:33ID:Ich0UEjQID year month day stage
1 2008 8 1 tokyo
2 2008 8 2 tokyo
3 2008 8 6 osaka
4 2008 8 7 osaka
5 2008 8 13 tokyo
6 2008 8 14 tokyo
7 2008 8 15 tokyo
8 2008 8 20 nagoya
9 2008 8 25 fukuoka
10 2008 8 30 sapporo
0477nobodyさん
2008/08/25(月) 21:38:21ID:Ich0UEjQ----------------------
|2008 8 1 | tokyo |
------------| |
|2008 8 2 | |
----------------------
|2008 8 6 | osaka |
------------| |
|2008 6 7 | |
----------------------
|2008 8 13 | tokyo |
------------| |
|2008 8 14 | |
------------| |
|2008 8 15 | |
----------------------
|2008 8 20 | nagoya |
----------------------
|2008 8 25 | fukuoka |
----------------------
|2008 8 30 | sapporo |
----------------------
0478nobodyさん
2008/08/25(月) 21:39:51ID:???0479nobodyさん
2008/08/25(月) 21:41:09ID:Ich0UEjQmysql_select_db($database_, $db);
$query = sprintf("SELECT * FROM `table`);
$query_list = mysql_query($query, $scdb) or die(mysql_error());
$query_info = mysql_fetch_assoc($query_list);
$totalRows = mysql_num_rows($query_list);
という風に抜き出して
do{
//いろいろ表示
}while($query_info = mysql_fetch_assoc($query_list));
とすると連続で同じ場所のところが縦に結合できないですが
どうすればいいでしょうか?
前の上側のセルと同じなら+1とかはできるんですが、rowspanの設定を書き込むには遅いですし・・・
ご教授願います。
※半角スペースがずれました・・
0481nobodyさん
2008/08/25(月) 21:47:02ID:???「などは」だろ。
>できるんですが
「できるのですが」または「できますが」だろ。
>ですし・・・
「です。」だろ。
>ご教授願います。
「ご教示願います。」だろ。
>ずれました・・
「ずれました。」だろ。
0482nobodyさん
2008/08/25(月) 21:48:06ID:???0483nobodyさん
2008/08/25(月) 22:45:13ID:EsfmR+iCLinux上のApache+PHPですと動くのですが、
Windows系のApache+PHPですと動いてくれません。
errors.txtを見ると
PHP Warning: fopen(./../data/rsc203.dat)
No such file or directory
などとなっており、たしかにrsc203.datというファイルは存在しません。
Windows系のApache+PHPで動かすには何か必要なのでしょうか?
ちなみにWindows系のApache+PHPはいくつか試しているのですが、
Apacheは2.0でPHPは5.2.3、gdは2.0.34とqr_img.phpが要求している
バージョンをクリアしていると考えています。
お願いします。
0484nobodyさん
2008/08/25(月) 23:13:01ID:???http://www.swetake.com/qr/qr_cgi.html
これ?
動作確認環境にwindows含まれてないじゃん。
作成者に聞くのが一番確実かと。
0486nobodyさん
2008/08/25(月) 23:32:37ID:???0490nobodyさん
2008/08/26(火) 01:48:27ID:???この質問は>>484でFA
−−−−−−−−−− 終了 −−−−−−−−−−−
0491nobodyさん
2008/08/26(火) 08:49:21ID:x5C4Qb0iそんなこと言うとこのスレの存在意義がわからなくなる。
知らないなら黙ってれば良いのに。。。
0493nobodyさん
2008/08/26(火) 09:24:20ID:???0494nobodyさん
2008/08/26(火) 10:28:41ID:???0495nobodyさん
2008/08/26(火) 10:43:45ID:x/K+QJ+WあるIPアドレスがcidr表記のアドレス範囲に含まれているか否かを
判定したのです。
0497nobodyさん
2008/08/26(火) 11:25:06ID:???関数はないなぁ
ビット演算子を使ってマスクからネットワークとブロードキャスト出して
各オクテッド毎にチェックさせればいいんでない?
IPはstringだからドットで分割した後intにキャストしないとビット演算子での計算結果狂うから注意
0498nobodyさん
2008/08/26(火) 11:40:43ID:???分かっているとは思うが、
クオートのために*_escape_stringを使っても、不正な文字を埋め込められる場合がある。
http://blog.ohgaki.net/set_namesa_mcb_asc
本文よりコメ欄に注意
なので、
>>439
mb_check_encodingしてからPDOで渡すのがいい。
0499nobodyさん
2008/08/26(火) 11:42:15ID:MPzk6qs2ここは無知を晒して質問する場かと思ってました。
あなたがここの管理人さんだったのですね。
毎日監視お疲れ様です。
>>486
正論ですが、スクリプトを作った方には同じような質問が
何度も届くわけで、すでに同様の質問をした人がこの辺に
居れば情報の共有ができ、さらに以降同様の疑問をもった方が、
ここにたどり着いて問題を解決することもあるわけで。
0500nobodyさん
2008/08/26(火) 11:44:28ID:???mb_check_encoding?
>>444のやり方じゃダメなの?
>>444で設定しなおしたが、問題なさそう。
0501nobodyさん
2008/08/26(火) 11:46:45ID:???1対1なら好きなようにサーバ側で設定したらいい。
0503nobodyさん
2008/08/26(火) 11:52:45ID:x/K+QJ+W回答ありがとうございました。
0504nobodyさん
2008/08/26(火) 12:02:05ID:x/K+QJ+Wa.html
の中で
<?php
virtual("/cgi-bin/x.php?1234");
?>
と記述して
x.phpで
$_SERVER['QUERY_STRING']
を取得してプログラムが動いていました。
これの処理の前にa.htmlにSSI機能を使って、b.ssiを
読み込み、b.ssiの中で
<?php
virtual("/cgi-bin/y.php");
?>
と記述し、動作確認をしました。
y.phpは正常に動くのですが、
今まで動いていたx.phpが
正常に動きません。
x.phpの中の環境変数をechoしてみると
y.phpの環境変数が出力されました。
環境変数の上書きがなされていないようです。
こういう場合、どうすれば良いのでしょうか?
0506nobodyさん
2008/08/26(火) 12:10:04ID:???htmlでPHPが動くようにしてるんだからssiを使わずにphpに統一しちゃマズイの?
と言うかphpの呼び出しにはvirtualよりinclude/requireがイイと思うのは勘違い?
0507nobodyさん
2008/08/26(火) 12:18:43ID:x/K+QJ+W変更ファイルの数が多くて、PHPに統一できないのです。
x.phpの中の環境変数はその前に実行したy.phpを
引継ぎ、上書きされないのがPHPの当たり前なのでしょうか?
0508nobodyさん
2008/08/26(火) 12:27:04ID:???virtualは呼び出し元の環境変数を受け継ぐけど呼び出し元へは反映させないはずだから
ssi経由のy.phpの環境変数がx.phpに適用されるのは良くわかんないな
b.ssiの記述方法によってはy.phpの環境変数がa.htmlに上書きされるかもしれん
b.ssiでphpのvirtual使ってるからそんなはずないんだけど・・・
0510nobodyさん
2008/08/26(火) 12:55:24ID:???0511nobodyさん
2008/08/26(火) 12:57:17ID:x/K+QJ+W0512nobodyさん
2008/08/26(火) 14:07:39ID:???少ないデータなら、HTMLで表示させて手動で登録し直す、ってことが出来るんですけど
大量のデータだとちょっと無理がありまして・・・。
0513nobodyさん
2008/08/26(火) 14:08:41ID:x/K+QJ+W解決が分からん。
y.phpの中で
$_SERVER['xxx']で
環境変数を参照すると
x.phpまで引き継がれ、
y.phpの中で
$_SERVER['xxx']で
環境変数を参照しないと
x.phpの中の環境変数取得で
正しく取得される。
0514nobodyさん
2008/08/26(火) 14:31:02ID:???なら、mb_encodeなんとかで出来るんじゃないの?
0515nobodyさん
2008/08/26(火) 14:47:45ID:???binayなら壊れないからnamesにbinaryをセットしたりして取り出してから
ISO-8859-1(latin1)からutf-8に変換すればイイよ
mysql_dumpとかでも--default-character-set=binaryで出力してから変換すればいい
mysqlから出力する際に自動変換で壊れる可能性があるからbinaryで無変換のまま取り出してみようって案
0516nobodyさん
2008/08/26(火) 14:54:53ID:???これから色々とお世話になりますが、どうぞ宜しくお願いします。
0517nobodyさん
2008/08/26(火) 14:59:38ID:x/K+QJ+Wa.htmlに
<?php
virtual("/cgi-bin/y.php");
?>
<?php
virtual("/cgi-bin/x.php");
?>
と書いて
y.phpで
$_SERVER['xxx']
を取得すると
x.phpの中での
$_SERVER['PHP_SELF']は
y.phpになる。
この値を
x.php
と出来ないもんだろうか?
0518nobodyさん
2008/08/26(火) 15:14:53ID:WAy8FwvQコンストラクタでnewするやつと
factoryメソッドがあって::factoryってやって作るやつとあるけど
どう違うの?
0520nobodyさん
2008/08/26(火) 15:32:06ID:x/K+QJ+W$_SERVER["PHP_SELF"]
を
apache_getenv("PHP_SELF")
に変えたら出来た。
こんな方法で良いのだろうか???
0522nobodyさん
2008/08/26(火) 18:05:39ID:x/K+QJ+Wちと、ダメだ。。。
ssiとPHPは一緒に使わない方がいいみたい。
apacheが1分間隔で再起動して
挙動が変だわ。
ssi辞めて、phpで統一するわ。
相当あるんだよな、書き換えるファイル。
0523nobodyさん
2008/08/26(火) 18:10:11ID:???という文字列を
"20001231"
にしたいのですが、PHPではどう書くのがスマートですか。
今は preg_replace('/-/', '', $str) としています。
もっといい書き方があればおしえてください。
0527nobodyさん
2008/08/26(火) 19:46:19ID:C/n8oxtASQLの「地の文」の?だけを置換するにはどうしたらいいですか?
0528nobodyさん
2008/08/26(火) 19:48:33ID:qM7jKR0bセッションて継続するんですか?
セッションデータはファイルで保存されているので、セッション切れずに
継続するんじゃないかと思っていますが、どうなんでしょう。
使用しているサーバが1日1回apacheを再起動しているらしくて
その時間にセッションの動作がおかしくならないかぁ、とちょっと心配。
0529nobodyさん
2008/08/26(火) 19:49:57ID:x/K+QJ+WSSIってそうなんだ?
今、100万ファイルの更新中です。
0530nobodyさん
2008/08/26(火) 19:51:46ID:???>正規表現使わないならstr_replaceでよくね?
ありがとうございます。str_replaceを使うことにします。
0532nobodyさん
2008/08/26(火) 20:30:03ID:x/K+QJ+W教えられないです。
でも、100万ファイルあって、
SSIでインクルードしてるんです。
これを書き換えて、チェックバッチで確認して、
バックアップして、さらに、もういっこバックアップして、
ってのがつらいので、簡単に済ませようと
しましたげど、もう、統一します。
0533nobodyさん
2008/08/26(火) 21:31:12ID:???手軽にやるならドライバをループさせてpreg_replaceのlimitに1を指定して置き換え?
str_replaceにもlimitがあればなぁ
>>528
セッションファイルなら再起動しても生存時間までは持続
>>532
苦労の分、オーバーヘッドは減りそうだな・・・
0534nobodyさん
2008/08/27(水) 01:07:21ID:???今日は[[とても]]楽しかったね。[[明日]]はもっと楽しくなるといいね。
という文章があったとして[[(..*)]](大カッコ二つ)にヒットする文字列の抽出を行いたいのですが、
どうしても上手くいきません。上記ですと、
[[とても]]楽しかったね。[[明日]]
↑までが一つとしてマッチしてしまいます。
どうしたらよいでしょうか・・・?
0535534
2008/08/27(水) 02:00:55ID:???向こう逝ってきます。。。
0536nobodyさん
2008/08/27(水) 11:36:16ID:RCwwZoSdphpの文字コードを全てUTF-8に統一していたのですが、
ふと読んだ本で、Unicodeには色々あってUTF-8だけではないことを知りました。
UTF-16の方は2バイトなので、そちらの方が容量が少なくて済むらしいですが、
Unicodeでお勧めの文字コードはありますか?
ちなみに私のサイトには色々な国の方が来るので、
できるだけ多くの言語に対応できる方がいいです。
0537nobodyさん
2008/08/27(水) 11:46:08ID:???>できるだけ多くの言語に対応できる方がいいです。
それならutf16でいいじゃまいか
マルチバイトを多く使うならutf16がいいけど、htmlとどっちの割合が多いかで決めればいいかも
utf8は英数を1バイトで、utf16は英数も2バイトで表現するからね
0539nobodyさん
2008/08/27(水) 12:23:18ID:???どっちをつかうべきか判断材料がありましたら教えてください。
0540nobodyさん
2008/08/27(水) 12:25:32ID:???0542nobodyさん
2008/08/27(水) 12:34:18ID:???ステートメントと関数と言う違い
issetは引数を複数持ててANDで評価出来るし、変数自体がなくてもE_NOTICE出ねぇ
後、良く見れ、返り値の型も違うぞ
0543nobodyさん
2008/08/27(水) 12:37:28ID:???0544nobodyさん
2008/08/27(水) 12:40:41ID:???うむそれで計何バイトくらい節約できるのかなと。純粋な興味で。
>>543
もうすこし具体的な質問よろしくお願いします
0547536
2008/08/27(水) 12:43:06ID:???低脳ばかりで嫌になります。さようなら。
0548nobodyさん
2008/08/27(水) 12:46:24ID:???マルチだけを見れば33%OFFだな
asciiの分が逆に2倍だから実際のバランスを見ないと分からんだろうなぁ
しかもファイル毎に違うとキタ
phpで書くんだからシングルバイトが多いはず、だからutf8の方が良さそうだよな
>>543 >>545
そもそもどの回答のことだ? idもないし引用もないし特定できん
0549nobodyさん
2008/08/27(水) 15:39:43ID:???どうせお金もっていないから対応しなくても大丈夫だよね。
イーモバイルの帯域が多すぎて面倒だし、ほとんどユーザー居ないし。
0550nobodyさん
2008/08/27(水) 17:23:38ID:???どうせ、高橋克典と一緒で時間の問題で潰れるのが関の山だよ。
資本力がない会社が、安さだけを売り物に参入したってダメだって。
0551nobodyさん
2008/08/27(水) 17:38:02ID:prLSJkK3ローカル環境でテスト済みのスクリプトを共有サーバーに移したところ、
Fatal error: Class 'DOMDocument' not foundが出て動きませんでした。
共有サーバー(PHP Version 5.1.6)を
ローカル環境(PHP Version 5.2.3)と比較したところ、
phpinfo()でdom項目がサーバー側には無いことが分かりました。
調べたところ、DOMはPHP5.00以降から基本モジュールに内包されており、
外部モジュールは存在しないとのこと。
http://php.benscom.com/manual/ja/dom.installation.php
なんとかDOMを利用する術はありますでしょうか?
# PEARのライブラリはuserフォルダに別途ファイルを設置して、
# スクリプト内でini_set("include_path", "./util/PEAR");としていました。
0552nobodyさん
2008/08/27(水) 17:49:41ID:???Apache2.2.9 PHP5.2.6です。
拡張子htmlでもphpが動いて欲しくて、
下記の記述をhttpd.confにしましたが、
動いてくれません。どうすれば動きますか?
教えてください。
AddType application/x-httpd-php .php .html
0553nobodyさん
2008/08/27(水) 18:06:18ID:???そりゃhttpd.confの設定が何かおかしいんだろ
普通にphpは動くの?
.htaccessはちゃんと使えるの?
もし使えるなら.htaccessで
AddType application/x-httpd-php .html
というのをルートにおいてみ
0554nobodyさん
2008/08/27(水) 18:06:26ID:???0555nobodyさん
2008/08/27(水) 18:07:13ID:???コンパイルオプションでlibxml2があるかどうかもチェックした方がいいかもな(phpinfo)
組み込まれてなかったら諦めて代替を検討
組み込まれていても読み込まれていない可能性がある、この場合はdl()でロード出来るか確認(dom.soやdom.dll)
0556552
2008/08/27(水) 18:21:24ID:???phpinfo.phpの中にphpinfo();を記述しています。
phpinfo.phpは正常に見れます。
逆に変なのは、httpd.confの中に
AddType application/x-httpd-php .php
ではなく
AddType application/x-httpd-php .html
とした場合でも、
phpinfo.phpが正常に見れます。
0557552
2008/08/27(水) 18:23:37ID:???拡張子phpの動作は出来ても、
拡張子htmlでphpを動かす例が
見当たりません。
0558nobodyさん
2008/08/27(水) 18:31:01ID:???エラーログは
/home/hostingg/public_html/.htaccess: </Files>AddHandler> directive missing closing '>'
こんな漢字です。これってやっぱ関連付けしたのが悪かったんですかね。
0560nobodyさん
2008/08/27(水) 18:33:01ID:???0562nobodyさん
2008/08/27(水) 18:35:06ID:???より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
0563nobodyさん
2008/08/27(水) 18:36:39ID:???より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
0564552
2008/08/27(水) 18:38:19ID:???いじめないでよ
0565nobodyさん
2008/08/27(水) 18:43:58ID:???サービスから直接ストップ、スタートしたときと動作同じ?
0566552
2008/08/27(水) 18:45:04ID:???の記述が無くても
phpinfo();
は見れる。
どこのサイトも
phpinfo();が見えて
おめでとうございます!
って書いてあるけど、
ちと、違うんじゃねーか???と思う。
拡張子htmlでphpが動く実績の環境が知りたいです。
0568552
2008/08/27(水) 18:47:45ID:???それは、ないと思うなぁ
0569551
2008/08/27(水) 18:51:30ID:???レスありがとうございます。
◆xml
libxml2 Version 2.6.16
とありました。これは大丈夫そうです。
ですが、折角教えていただいたdl()関数はSafe Modeの為動きませんでした。
これはもう代替を検討しないといけないのでしょうか・・・orz
0571nobodyさん
2008/08/27(水) 18:56:52ID:???なんでだめなん?
0575nobodyさん
2008/08/27(水) 19:14:44ID:???あら、残念
代替案を立てるしかないね(PEARで互換性のあるものを使うとか)
それか、サポートに聞いてみたらどうだろ
DOM使えんのかゴラァって
0577551
2008/08/27(水) 19:28:04ID:???泣く泣く該当する処理部分をSimpleXMLに差し替えました。
SimpleXMLは使ったこと無かったけども、ラッパーメソッド用意していた為、
差し替え作業自体は数分で終わりました。(データはまだ検証中ですが・・・)
これでまたPHP5依存度が上がりましたorz
今回の件は結果は微妙でしたけども、
サーバー選びの注意事項、PHPについて良い勉強になりました。
お答えくださった方、ありがとうございましたっ!
0578nobodyさん
2008/08/27(水) 19:28:20ID:???phpファイルで別のphpファイルを読み込ませて擬似フレームページを作っています。
それで、読み込む先のファイルのhtmlの記述の仕方について質問です。
現在、読み込む先のファイルは、<head>やら<body>やらすっとばして、
<body></body>の中に相当する部分のみの記述で作っています。
これには何か問題はあるでしょうか?
本当にスレタイに沿いすぎた疑問ですみません。
0579nobodyさん
2008/08/27(水) 19:40:48ID:???別にないと思うけど。
質問とはちょっと方向違うけど、俺なら読みこまれるHTMLを.htaccessで隠したりはする。
0581nobodyさん
2008/08/27(水) 20:26:43ID:???各パーツを分割する手法はテンプレートエンジンとかでも良く見るから問題ない
ちなみにincludeで呼ぶとphpとして実行されるから、意図しない「<?」には注意
fileとかその他のラッパーならそのまま出力されるから問題なし
0583578
2008/08/27(水) 20:31:09ID:???このやり方の方が適切のようで、安心しました。
0584nobodyさん
2008/08/27(水) 20:32:49ID:???0585nobodyさん
2008/08/27(水) 21:31:17ID:Y6+5IHEq処理を分岐したいのですが、どういう関数を使えばいいのでしょうか?
0586nobodyさん
2008/08/27(水) 21:38:41ID:???0587nobodyさん
2008/08/27(水) 21:49:44ID:???0588nobodyさん
2008/08/28(木) 00:01:12ID:???0589nobodyさん
2008/08/28(木) 01:13:56ID:???↑
意味がわからん。
なんで?あんたサーバー公開でもするの?
Winで?
まあいいけど、そんなことも自分でなんとかできないようじゃ
難しいんじゃないの?
こちらも情報がたりないんだよね。
推測でもの言っているし。
あとPHPで作れるのがしられるとなにかまずいの?
そっちが気になる
0590nobodyさん
2008/08/28(木) 01:25:02ID:8cctUgGmとある変数をvar_dump()した所、以下の値が帰って来ました。
object(SimpleXMLElement)#47 (1) {
[0]=> string(9) "テスト"
}
このオブジェクトからテストを取り出すには
どのように記述すれば良いのでしょうか?
0591nobodyさん
2008/08/28(木) 01:26:29ID:???0592nobodyさん
2008/08/28(木) 01:31:11ID:8cctUgGmもちろんマニュアルは読んだ上で質問しています。
載っていましたか?
http://php.morva.net/manual/ja/ref.simplexml.php
0593nobodyさん
2008/08/28(木) 01:52:38ID:ovgSK1d+なにか良い方法はありますでしょうか?
crypでいけるかな、と思ったのですがこれでは「.」と「/」が入ってしまいます・・・
何か良い方法がありますでしょうか?
0594nobodyさん
2008/08/28(木) 02:00:26ID:???長いけど。
$a = 'hogehoge';
$a = crypt($a);
$b = unpack('H*', $a);
$encoded = $b[0];
0595nobodyさん
2008/08/28(木) 08:29:02ID:OVvHROhCinclude("test.php?1234");
として
test.phpの中で
_SERVER["QUERY_STRING"]
を取得したいです。
0596nobodyさん
2008/08/28(木) 08:34:40ID:???無理だろ。
function( test(arg) )として定義したtest.phpを
include('test.php');
して、
test(1234);
と引数付きで呼び出せばいいと思うんだが。
0597nobodyさん
2008/08/28(木) 09:11:42ID:???複数のアカウントに同時のログインできるようにするときの処理が
いまいちうまく作れません。
どの本を見ても、クッキーが上書きされるような作りになってるので
ブラウザを二つ開いて片方はAさんとしてログインしても
もう片方でBさんとしてログインすると 両方ともBさんになってしまう。
これはいけないですね。どうしたらよいでしょう。
0598nobodyさん
2008/08/28(木) 09:14:10ID:???0600595
2008/08/28(木) 09:26:37ID:OVvHROhCありがとうございます。
うまくいきそうです。
0601nobodyさん
2008/08/28(木) 09:43:43ID:???つhttp://php.morva.net/manual/ja/language.oop5.php
0602nobodyさん
2008/08/28(木) 10:46:41ID:???HよりもmでBase64した方が効率的かも
PHPのunpack()にmがあるかは知らないけど、base64する関数はあったはず。
あー、Base64は=で余りを埋めることがあった気がする。
だとしたら使えないか
0604nobodyさん
2008/08/28(木) 13:00:55ID:1+PcK3cN$samp=0;や 1/0のようにしたときに出るDivision by zero警告を出ないようにする方法はありませんか?
そのままスルーして処理を続行してほしいんですが。
処理としては0割り算のときに発生しまう
$samp=10/0; など
よろしくお願いします
0605nobodyさん
2008/08/28(木) 13:05:32ID:???0608nobodyさん
2008/08/28(木) 14:58:03ID:???>>603の言ってることは正しいような気がするが
調べもせずに嘘つき呼ばわりとは
XAMPPはXAMPP用のconfファイルがあるはず、httpd.conf内にInclude構文がないか確認しれ
0610nobodyさん
2008/08/28(木) 15:18:55ID:???apache2.2の設定ファイルはhttpd.confだけじゃないのに嘘つきとは失礼な奴だな調べもせずに
マジ市ね
0611nobodyさん
2008/08/28(木) 15:21:38ID:???つーか、質問者はXAMPPなんて一言も言ってない気が?
まあXAMPP使うやつなんてそんなレベルだからしょうがないかもしれんが。
0612nobodyさん
2008/08/28(木) 15:22:27ID:???httpd.confに全部づらづらと書いてもOKでしょ?
って意味じゃないか?
0613nobodyさん
2008/08/28(木) 15:25:36ID:???後学の為に教えてください。
0615nobodyさん
2008/08/28(木) 17:15:43ID:???0616nobodyさん
2008/08/28(木) 17:19:24ID:???0617nobodyさん
2008/08/28(木) 17:25:45ID:???お引取りください
0618nobodyさん
2008/08/28(木) 17:56:31ID:???ということは、大量にアクセスがあるサイトを複雑なphpで処理するとサーバー側の処理が遅くなったりするんでしょうか
やはり、処理の早いサーバーやおそいサーバーなどあるんでしょうか
0620nobodyさん
2008/08/28(木) 18:00:26ID:???0621nobodyさん
2008/08/28(木) 18:10:34ID:???サーバっていっても普通のパソコンと一緒
ウイルスチェックしながらファイルコピーしたりすると遅くなる経験あるでしょ
処理の早さにはCPU、メモリ、HDD、NICなんかも関係してくる
とりあえず無限ループだけはしないように注意すべし
0622nobodyさん
2008/08/28(木) 18:50:08ID:???↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
サーバっていっても普通のパソコンと一緒
0624nobodyさん
2008/08/28(木) 19:28:40ID:???サーバが全て普通のパソコンと一緒と誤解させるような書き方はどうかと
0625nobodyさん
2008/08/28(木) 19:34:57ID:???こういう感覚でサーバーをいじる奴、趣味の延長でサーバーやシステムを語る奴がいるから、
プロジェクトが火を噴くんだよ。上も下も。老いも若きもだ。
0626nobodyさん
2008/08/28(木) 19:41:27ID:???サーバっていっても冗長化すらしてない一般的なパソコンそのまま使ってるとこもある
>>625
お前みたいな知ったようなそぶりでものをいって
実は何もしらないやつは黙ってろよ
0627nobodyさん
2008/08/28(木) 19:43:14ID:???いやそういうことじゃないだろ
複雑な処理がかさむとサーバーが重くなる(処理が遅くなる)という点で一緒といってるんだろ
0628nobodyさん
2008/08/28(木) 19:45:39ID:???0630nobodyさん
2008/08/28(木) 19:48:19ID:???0631nobodyさん
2008/08/28(木) 19:50:16ID:???何をいってるんだ?
普通のPCと違ってサーバ機はMTBFが違う(故障しにくい)といったんだろ?
それにたいして普通のPCよりもMTBFが短い場合があるといったわけだが
0632nobodyさん
2008/08/28(木) 19:51:41ID:???0634nobodyさん
2008/08/28(木) 19:55:25ID:???わかってる人が読めばそう受け取れるけど、そうでない人には
普通のパソコンもサーバも同じモノなんだと読める書き方がダメと言いたいんだ
アーキテクチャが一緒とかならいいんだけど、それだと伝わらんだろうしな
0636nobodyさん
2008/08/28(木) 19:57:51ID:???後学の為に教えてください。
0639nobodyさん
2008/08/28(木) 20:05:51ID:???それは間違った認識
形状だって普通のPCと同じタワー型で
全く同じ構成でOSだけサーバ系のものをを入れてサーバと謳って販売するとこもある
0640nobodyさん
2008/08/28(木) 20:08:43ID:???PG「パソコンも汎用機も一緒」
PG「パソコンもスパコン一緒」
PG「パソコンもマイコンも一緒」
・・・
PG「phpもJAVAも一緒」
PG「phpもアセンブルも一緒」
・・・
0641nobodyさん
2008/08/28(木) 20:11:49ID:???0643nobodyさん
2008/08/28(木) 20:16:56ID:???0644nobodyさん
2008/08/28(木) 20:17:12ID:???サーバーも汎用機も同じパソコン
本体の機能でどこかがとがっているのが専用機で
とがっていないのが汎用機という違いはあるがな〜
0645nobodyさん
2008/08/28(木) 20:22:53ID:???あえていうならインストールされているソフトウェアの問題
構成次第なのだからハードレベルで明確に違うと断言することはできない
ハードでいえば障害がおきても瞬時に切り替えられるあらゆる箇所がデュプレックスされた
そんな1Uサーバが整然とデータセンターに並んでいるのを想像するだろうが
そんな高価なサーバだけが世の中に存在するわけではない
0646nobodyさん
2008/08/28(木) 20:31:53ID:???メモリのパリティ有りとか、いいコンデンサを使うとか、信頼できるチップを載せるとか
冗長化は重要だけど、それ以外でもやって欲しい事はいくらでもあるな
0647nobodyさん
2008/08/28(木) 20:32:35ID:???今はこうしています。
$new = array();
foreach ($array as $item) {
if ($item !== NULL) {
$new[] = $item;
}
}
return $new;
これを一発でやってくれる関数はありますか。
マニュアルを見た限りではなさそうですが、もしかしたらあるかもしれないと思い、質問しました。
0648nobodyさん
2008/08/28(木) 20:38:32ID:???0649nobodyさん
2008/08/28(木) 20:41:12ID:???あと汎用機が何をさすのか知ってるのか?
0651nobodyさん
2008/08/28(木) 22:04:01ID:???0653nobodyさん
2008/08/28(木) 22:27:29ID:oELFSwbaPerlではどこら辺を設定すればいいんですか?
0654nobodyさん
2008/08/28(木) 22:28:24ID:???0656nobodyさん
2008/08/28(木) 22:46:07ID:???$b = substr_count ( $a , 'test' );
「test」を変数にしたいのですが、変数にすると動きません。
$c = substr_count ( $a , $b );
こんな具合にする方法ないでしょうか?
有るか無いかが判れば、substr_countでなくてもいいのですが。
0657nobodyさん
2008/08/28(木) 22:49:42ID:???つまり、例え下手なんだよ。
>>653がperlもphpも混同して、
スレ違いな質問をして怒られているのと全く同じ状況。
0658656
2008/08/28(木) 22:49:56ID:???0660nobodyさん
2008/08/28(木) 22:54:47ID:???0664nobodyさん
2008/08/28(木) 23:09:21ID:???> なんでこんな流れ?
・自分が原因な所
自己解決でも解決策を書くのがマナー
(後日同じつまづきをした人が検索されないとも限らないから)
・外部環境が原因な所
まだ夏休み期間
0665nobodyさん
2008/08/28(木) 23:12:47ID:???$_POSTや$_GETの使い方について質問なのですが、
$temp = "POST";みたいな変数を作っておき、この$tempから、$_POSTを取得するような方法はないでしょうか?
よろしくお願いいたします。
0666nobodyさん
2008/08/28(木) 23:14:45ID:???自分の書き込みは「>>656 >>660」だけですわ。
勝手にスルーしてしまったけど、>>658は騙りだと明言するべきでした。
そして>>663氏どうもありがとう。原因は別っぽいので、あとは調べます。
0669nobodyさん
2008/08/28(木) 23:16:52ID:???・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
0670nobodyさん
2008/08/28(木) 23:18:06ID:???>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
>>1も読めない質問者は来るな!
0671nobodyさん
2008/08/28(木) 23:34:15ID:???>>668に補足で、「可変変数」でググるといいと思います。
で、個人的には
$temp = "_POST";
${$temp};
の書き方のほうが分かりやすいとおもう。
0672質問のマナーが悪い者は徹底的に叩きます
2008/08/29(金) 00:50:14ID:???0674nobodyさん
2008/08/29(金) 08:10:10ID:l12fQIB+でもPEARのDBとかMDB2にsqlite3のドライバが見当たらないのですよ
諦めてPDO使うしか無いんですかね?
0675nobodyさん
2008/08/29(金) 09:18:49ID:+ozjsUZM<?php
ある処理
exit;
?>
と書くと、
そのPHP以降の
HTMLが表示されないのですが、
exit;文の使い方が悪いのですか?
0676nobodyさん
2008/08/29(金) 09:28:30ID:???0677nobodyさん
2008/08/29(金) 10:05:42ID:???ウィルスの影響だって変わらない。
元の話を理解してない知ったかが多すぎる
0678nobodyさん
2008/08/29(金) 10:11:42ID:???0679nobodyさん
2008/08/29(金) 10:15:03ID:???0680nobodyさん
2008/08/29(金) 10:16:51ID:???0682nobodyさん
2008/08/29(金) 10:32:55ID:???0683nobodyさん
2008/08/29(金) 10:33:53ID:???0685nobodyさん
2008/08/29(金) 10:38:25ID:???じゃ、お前はここでperlはc++の質問があっても、
phpと同じプログラミング言語だから、ちゃんと答えてやれよ。
0686nobodyさん
2008/08/29(金) 10:57:20ID:???>array_diff_assoc
array_diff でできました!ありがとうございます!
$arr = array('A', 'B', NULL, 'C', NULL);
$result = array_diff($arr, array(NULL));
var_export($result);
結果:
array (
0 => 'a',
1 => 'b',
3 => 'c',
)
>>648
>あるけど7行を1行にすることに尽力する前にもっと大きい視点から最適化しろ
なにこの役立たずなレス
0687nobodyさん
2008/08/29(金) 11:20:49ID:???0688nobodyさん
2008/08/29(金) 11:23:06ID:???0689nobodyさん
2008/08/29(金) 11:52:21ID:JKkFPQHfもう、ここには絶対きません!!
0690nobodyさん
2008/08/29(金) 11:57:48ID:???0691nobodyさん
2008/08/29(金) 12:21:40ID:???0692nobodyさん
2008/08/29(金) 12:46:19ID:???0695nobodyさん
2008/08/29(金) 13:23:47ID:???悔しいからって自分の感情をそのまま書き込むんじゃないよw
0696nobodyさん
2008/08/29(金) 13:27:11ID:???0697nobodyさん
2008/08/29(金) 13:41:59ID:???0698nobodyさん
2008/08/29(金) 13:43:53ID:???0699nobodyさん
2008/08/29(金) 14:02:00ID:???IDを表示してないと解決させないぞっ!
0700nobodyさん
2008/08/29(金) 14:51:35ID:???0701nobodyさん
2008/08/29(金) 14:54:20ID:BLGUiryP0702nobodyさん
2008/08/29(金) 14:59:32ID:???0703nobodyさん
2008/08/29(金) 15:02:44ID:BLGUiryP0704nobodyさん
2008/08/29(金) 15:03:48ID:???0705nobodyさん
2008/08/29(金) 15:07:42ID:???あまりにも住民のレベルが低すぎて、
本来の釣り針じゃない方に沢山食いついてきたことだよ。
0706nobodyさん
2008/08/29(金) 15:11:02ID:???0707701
2008/08/29(金) 15:24:04ID:???出力バッファ経由でvar_dump取得して正規表現で抜き出すようにしました
「idを取得する」という基本的なことをするのに
こんな方法をしなきゃいけないPHPっていったい・・・
0708nobodyさん
2008/08/29(金) 15:26:19ID:???0709nobodyさん
2008/08/29(金) 15:30:46ID:???インスタンスはそのままではarrayのキーにできないので
idを使おうと考えました
0710nobodyさん
2008/08/29(金) 15:34:38ID:???勝手に付くIDで管理する必要あるのかな
そのキーを再利用することも無さそうだしシーケンスでいいような
後var_dumpをバフするくらいならvar_exportがいいよ(引数2でtrue)
0711nobodyさん
2008/08/29(金) 15:59:10ID:+ozjsUZM0713nobodyさん
2008/08/29(金) 16:07:51ID:???まぁ、かなり特殊な用途(mixin機能の実装)なので・・
var_exportだと何故かidは出力されないようですね
0715nobodyさん
2008/08/29(金) 16:16:04ID:???0716nobodyさん
2008/08/29(金) 16:33:08ID:???PHP4だし、mod_write使えないしurl_openも使えない(file_get_contentsで外部のデータが取得できない)んだが、
どうすればいいよorz
ちなみにブログのRSS取得とかそういうの使うから必要なんだよな・・・
0718716
2008/08/29(金) 16:53:46ID:???0721nobodyさん
2008/08/29(金) 17:32:59ID:???そりゃ、クライアントが自分でサーバ探す事あるだろ。
素直に、「その環境じゃ動きません」と言って新しいサーバにして貰えよ。
さくらとかなら、安いしなんとかなるだろ。
0722nobodyさん
2008/08/29(金) 17:36:53ID:???sakuraは回線異常ばっかりで趣味サイト向けじゃないの?
業務用なら、ソフトバンクIDSがメジャーだけど、あとNTT系とか。
0723nobodyさん
2008/08/29(金) 17:39:56ID:???レンタル鯖
http://pc11.2ch.net/hosting/
こっちじゃないか?
0724nobodyさん
2008/08/29(金) 17:43:25ID:???端末情報だけでログインさせる認証を作っているのですが、
md5で衝突等が起きる可能性はどれくらいあるでしょうか?
また皆さんならこんな場合、どんな方法で格納しますか?
別個でパス認証もつけた方が良いでしょうか?
0727724
2008/08/29(金) 18:06:00ID:TeOkGe9zレスいただきありがとうございます。
最高でも5万程度を想定しているので1%以下の確率(理論値なので倍くらいかも)ですが決して安心とはいえない感じですね…
やっぱりそのままですかね… なんかいやだな
0729nobodyさん
2008/08/29(金) 18:18:05ID:???それなら16バイトで表現できる分だから、
京とかそういう普段使わない単位のレベルになるだろ
0730675
2008/08/29(金) 18:39:18ID:???0731nobodyさん
2008/08/29(金) 19:27:44ID:???一言だけ言わせてくれ
論破(笑)
0732nobodyさん
2008/08/29(金) 19:34:48ID:???0733nobodyさん
2008/08/29(金) 19:48:23ID:???0736nobodyさん
2008/08/29(金) 21:33:08ID:???0738nobodyさん
2008/08/29(金) 23:07:18ID:???0740nobodyさん
2008/08/30(土) 01:07:13ID:???なんか質問ある。なんでも、3分以内に正確無比な回答をしてあげるよ。
0741nobodyさん
2008/08/30(土) 01:08:34ID:???0744nobodyさん
2008/08/30(土) 01:21:16ID:???0745nobodyさん
2008/08/30(土) 01:59:27ID:???0747nobodyさん
2008/08/30(土) 02:06:15ID:???0749nobodyさん
2008/08/30(土) 04:06:22ID:???PHP: 言語リファレンス - Manual
http://jp.php.net/manual/ja/langref.php
でも、phpファイルそのものの文字コードについての記述は見つけられませんでした
「php 文字コード」でググっても、入出力の文字コード関連しか見つかられませんでした
0750nobodyさん
2008/08/30(土) 04:13:25ID:???PHP自体はどんな文字コードでも動く。変数名だってマルチバイトにできる。
生成されたページが文字化けするのは、PHPのmbstringとHTMLのcharsetとDBの文字コードなどが違ったりするため。
あと>>1も読もう、な!
0751nobodyさん
2008/08/30(土) 04:14:24ID:???0752nobodyさん
2008/08/30(土) 04:21:39ID:???動作への影響は全くない
単に「作者の意図しない結果になる可能性がある」だけ(文字化けもシステム上は正常な動作)
だからマニュアルでも言及していない
0753794
2008/08/30(土) 05:35:53ID:???あと参考になるページもよろしくお願いします
0754nobodyさん
2008/08/30(土) 06:04:17ID:???fetchにカーソル指定があるのですが、何を指定しても反映されません・・・
0755nobodyさん
2008/08/30(土) 09:06:28ID:???マニュアルに書いていることはちゃんと理解してる?
0756nobodyさん
2008/08/30(土) 13:37:52ID:???皆のモチベーションの上げかたを教えてくださいな
0757nobodyさん
2008/08/30(土) 14:05:01ID:???色んなサイト見てとりあえず「作ってみる」事だと思うよ。
自分が凄いと思った機能が出来たときって嬉しいだろ?
0760nobodyさん
2008/08/30(土) 17:23:01ID:???人気レストランを作るなら
自分の腕を磨くのではなく
人を使ったほうが良い。
0761nobodyさん
2008/08/30(土) 17:28:04ID:???phpで変数に値を代入する時に=を使うと思うんですが、いろいろなソースを見ていると、=の前と後ろに空白を入れてる所もあれば空白なしの所もあります。これは特に決まりはないんですか?
例: $sample = file(".aaa.txt");
$sample=file(".aaa.txt");
0764nobodyさん
2008/08/30(土) 17:51:24ID:???phpソースの文字コードが動作に影響を与えないのは常識
語る必要のないことを記事にしているサイトもない
どうしても知りたければend_complile.c,、zend_langage_parser.c、zend_language_scanner.cを追え
0765nobodyさん
2008/08/30(土) 18:09:00ID:???クレクレ信奉、寄らば大樹の陰ですか?
0766nobodyさん
2008/08/30(土) 18:38:23ID:???でも車輪がどういう仕組みで動くのか知らないと
トラブルがあった時に自分で直せないだろ?
だから学ぶ事は無駄ではない。
0767nobodyさん
2008/08/30(土) 19:16:03ID:???ケースバイケースだろ
この件はは常識と言うより仕様
以前にあったzend_language_scanner.cのバグはなくなってるから疑う必要ないだろ
0768nobodyさん
2008/08/30(土) 19:16:24ID:???表示したページのjavascriptで
表示される広告のurlをカウントする
PHP作ってくれないかな?
OCRみたいなイメージ。
対象はアルファベットだけで
いいよ。
アフィの会社が表示数を
誤魔化しているか
知りたいのよ。
0769nobodyさん
2008/08/30(土) 19:36:54ID:???--enable-zend-multibyteが指定されてないPHPではSJISで書いたソースがFatal起こす
ttp://ml.php.gr.jp/pipermail/php-dev/2003-May/000744.html
ttp://www.mail-archive.com/internals@lists.php.net/msg34677.html
ttp://gcov.php.net/viewer.php?version=PHP_5_2&func=skip&file=ext%2Fmbstring%2Ftests%2Fzend-multibyte.phpt
これでいいのか?(昔あった問題で今はない)
あと、PHPCoreの情報は一般のサイト(特に国内)にはほとんどないから期待しない方がいいぞ
0772nobodyさん
2008/08/30(土) 21:28:28ID:???0773nobodyさん
2008/08/30(土) 22:49:22ID:???アップロード先の保存フォルダに画像ファイルを移すところまでは出来ているのですが
保存した画像をブラウザで表示するのが出来ません。
ネットで調べる、とファイルのアクセス権の設定ができていないという事がわかり
move_uploaded_file()を実行した後,、chmod("対象ファイル",0666)を実装したのですが、
うまく表示されません。
実際にフォルダに移動して画像ファイルを開こうとすると
"このファイルの場所へアクセスするためのアクセス許可がないため、この画像を開けません"
というメッセージがでます。
以下ソースです。
<HTML>
<HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html;charset=Shift_JIS">
</HEAD>
<BODY>
<FORM name="form1" method="POST" action="fileup.php" enctype="multipart/form-data">
<INPUT type="hidden" name="MAX_FILE_SIZE" value="100000">
画像:
<INPUT type="file" name="uploadfile">
<BR>
説明:
<INPUT type="text" name="comment">
<BR>
<BR>
<INPUT type="submit" value="ファイルアップロード">
</FORM>
</BODY>
</HTML>
0774nobodyさん
2008/08/30(土) 22:51:12ID:???その画像の入っているディレクトリのパーミッションは?
しかもソースそれPHPじゃないしwwwww
0775nobodyさん
2008/08/30(土) 22:51:48ID:???0776nobodyさん
2008/08/30(土) 22:54:13ID:???<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<?php
$file_dir = 'C:\Apache2.2\htdocs\images\\';
$file_path = $file_dir.$_FILES["uploadfile"]["name"];
if(move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$file_path)) {
chmod($file_path,0666);
$img_dir = "/images";
$img_path = $img_dir.$_FILES["uploadfile"]["name"];
$size = getimagesize($file_path);
?>
ファイルアップロードを完了しました。 <BR>
<IMG src="<?=$img_path?>"<?=$size[3]?>> <BR>
<B><?=mb_convert_encoding($_POST["comment"],"EUC-JP","SJIS")?></B><BR>
<?php
}else{
?>
正常にアップロード処理されませんでした。 <BR>
<?php
}
?>
</BODY>
</HTML>
長々となり申し訳ありません。
解決方法がわかる方いましたらお助けください。
環境 はVista Ultmate、PHP5 + Apache2.2です。
0777nobodyさん
2008/08/30(土) 22:55:46ID:???・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0778776
2008/08/30(土) 22:58:31ID:18CTr4WP見落としてましたすいません。
0779nobodyさん
2008/08/30(土) 23:01:54ID:???画像へのパスはあってる?
0780773
2008/08/30(土) 23:08:04ID:???0781nobodyさん
2008/08/30(土) 23:08:31ID:???$img_dir = "/images"; ←ここじゃねーの?
$img_path = $img_dir.$_FILES["uploadfile"]["name"];
echo $img_path してみなよ
0782776
2008/08/30(土) 23:08:34ID:18CTr4WP画像パスはあってると思うのですが・・・。
でもアクセス権限が関係ないならパスが原因っぽいですよね。
パス以外に怪しいとこってないでしょうか?
0783nobodyさん
2008/08/30(土) 23:17:39ID:mAYfROWm最新のphpで掲示板を作成して、
動作確認をした上で、
XREAというホームページのスペースを提供している会社に
アップロードをしたところ、画面が真っ白になって壊れました。
その会社に問い合わせをしたところ、
すぐに対応しますという連絡メールがきたあと、
完全無視されています。ほかにスペースを提供している会社はないですか?
無料でなくてもいいですが、趣味でやっているサイトなので月1000円以上はきついです。
宜しくお願いします。
0784776
2008/08/30(土) 23:18:15ID:18CTr4WPechoで表示させたら
/imagestest.jpgというふうに出たんで
$img_dir = "/images";から
$img_dir = "/images/";
に変更してやってみたのですが同じく表示されませんでした。。
0786nobodyさん
2008/08/31(日) 02:15:30ID:???$file_dir = 'C:\Apache2.2\htdocs\images\\'; // 最後が¥2個ってどうなんだろう
chmod($file_path,0666); // windowsはchmodが使えない(今件とは直接関係ないが)
0787776
2008/08/31(日) 02:30:19ID:k7FWVAuP回答ありがとうございます。
\マーク一つだとエラーが出るんですよねぇ。。
0788nobodyさん
2008/08/31(日) 02:36:07ID:???0789776
2008/08/31(日) 02:38:24ID:k7FWVAuPWarning: Unexpected character in input: ''' (ASCII=39) state=1 in C:\Apache2.2\htdocs\fileup.php on line 7
Parse error: syntax error, unexpected ':' in C:\Apache2.2\htdocs\fileup.php on line 7
0790nobodyさん
2008/08/31(日) 03:13:42ID:???ってどういうこと?
0791776
2008/08/31(日) 03:25:43ID:k7FWVAuPDocumentRootに指定してあるディレクトリの直下にアップロードされた画像を
格納するimagesフォルダを置いてあるので、そこから画像ファイルを開くということです。
0792nobodyさん
2008/08/31(日) 03:31:15ID:???念のためにDIRECTORY_SEPARATOR使ったら?
define('DS', DIRECTORY_SEPARATOR)
$file_dir = 'C:'.DS.'Apache2.2'.DS.'htdocs'.DS.'images'.DS;
>アクセス権
Vistaだとアクセス権が実装されているからもしかしたら関係あるかもな
>>791
Windowsだからエクスプローラとかから開こうとしたんじゃない?
0793776
2008/08/31(日) 03:44:00ID:k7FWVAuPDIRECTORY_SEPARATOR使ってもダメですね。。
Windoowsではchmod使えないとしたら
どのように画像ファイルへのアクセス権を設定したらいいんでしょうか。
>Windowsだからエクスプローラとかから開こうとしたんじゃない?
そうですね。
0794nobodyさん
2008/08/31(日) 03:45:28ID:???vista知らんからファイルのプロパティからいろいろいじってみれ。
0795nobodyさん
2008/08/31(日) 04:54:41ID:???普通ならアップロードファイルは600だよな
あと、WEBサーバの実効ユーザも影響受けるならエクスプローラからは操作出来ないファイルになっちまう
(Apacheはサービスから起動しているからsetuidでログインユーザ以外になってる可能性を考えれた場合)
まずはimagesの中にファイルがあることの確認とアクセス権の確認だな
ブラウザから画像への直リンでも見えんのが気になるが
0796nobodyさん
2008/08/31(日) 08:50:56ID:TxVxsZ/sApache2とPHP5.2.6、MySQL5.0.5でCGIを作っています。
まだ勉強中なので、HTMLの中にPHPをべた書きしています。
いろいろなページで関数を使い回ししたいので、
関数だけ別ファイルに書いて、それをhoge.phpやpage.phpから
呼び出して使いたいと思っています。
それには一体どうしたらいいのでしょうか?
0797nobodyさん
2008/08/31(日) 08:51:48ID:???0798nobodyさん
2008/08/31(日) 08:52:57ID:f1FS9mHS0799nobodyさん
2008/08/31(日) 08:54:13ID:???こうとでも書けば分かるか?
0800nobodyさん
2008/08/31(日) 09:09:55ID:???0801796
2008/08/31(日) 09:27:42ID:TxVxsZ/s早速のご回答ありがとうございます。今、
http://jp2.php.net/manual/ja/function.include.php
を読んでみたのですが、これはincludeされるphpファイル自体が
ひとつの関数で、includeされるphpファイルに複数関数を書いたり、
呼び出し側から変数を渡したりは出来ないのでしょうか?
簡単に次のコードを書いてinclude_test.phpを読み込んでみたところ、
$answer = add_hoge(1,2); の部分で
Parse error: syntax error, unexpected T_VARIABLE
というエラーが起こりました。
-- include_test.php --
<html>
<head><title>include</title></head>
<body>
<?php
include 'hoge.php'
$answer = add_hoge(1,2);
printf("<p>%d</p>",$answer);
?>
</body></html>
-- hoge.php --
<?php
function add_hoge($a, $b){
return $a + $b;
}
?>
0802nobodyさん
2008/08/31(日) 09:52:43ID:???0803796
2008/08/31(日) 10:02:40ID:TxVxsZ/sありがとうございます。
恥ずかしいミスでした。
本当に本当にありがとうございます。
0804804
2008/08/31(日) 10:25:57ID:???ファイル作成 → ダウンロード という処理で
ファイル作成時に進捗を表示させたいんですが、
どうすればよいでしょうか。
ダウンロード処理でheader()関数を使用しているのでその前に標準
出力は使用できないんですよね?
例えばexec()とかで別処理に分けるとかajax(よく知りませんが)
とか使用して可能な方法があれば教えてもらえないでしょうか
0805nobodyさん
2008/08/31(日) 10:26:36ID:???・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0806nobodyさん
2008/08/31(日) 13:00:13ID:???2年前の記事だが
http://journal.mycom.co.jp/articles/2006/09/28/phpjavascript/index.html
0807nobodyさん
2008/08/31(日) 14:17:10ID:EWUA1cZp現在作成しているのが
ケータイ端末でFlash LiteからgetURLでPHPに変数を渡す。
PHP処理を終えてたら外部テキストに書き出す。
最後にheaderでまた先ほどのFlash Liteに戻る。
という物を作成しております。
問題は最後の部分で、PHPにアクセスすると下のプログラムが
書かれている行を指定してエラーを吐き出します。
記述的なミスなのか、それともケータイ端末では自動的に
リンク先に飛ばすような事はできないのでしょうか?
<?
変数の処理
header("Location:http://www.アドレス/flash.swf");
exit;
?>
0808nobodyさん
2008/08/31(日) 14:18:55ID:???0809nobodyさん
2008/08/31(日) 15:01:42ID:???LoadVarsクラスのsendAndLoadじゃダメなのかね?(スレ違いになるが)
header関数の注意として出力バッファがない場合はヘッダーより先のデータ(コンテンツ部)が出力されると
デフォルトのヘッダーが先に送信されてheader関数が使えなくなる。
ob_startで出力バッファを有効にするか、headerより先にデータの出力を行わないようにしな
(出力はechoやprintとかの標準出力。ファイルへの出力は関係ない)
0810804
2008/08/31(日) 15:21:49ID:???低レベル回答者乙
0812nobodyさん
2008/08/31(日) 15:38:19ID:???0813807
2008/08/31(日) 15:42:56ID:EWUA1cZpすみません、書き忘れていたのですがFlashLiteから送っているのがGPS情報なんです。
なのでGPS情報を付加して送信してくれる
getURL("device:gpsone?url=アドレス");
とう記述をしないと駄目なんです。
(Flashlate単体ではGPS情報は取得できません・・・)
header関数についての注意ありがとうございます。
コメントを見ながら今から試行錯誤してみます。
0814nobodyさん
2008/08/31(日) 17:16:09ID:???このpearで良く見る :: って何なんです?
0815nobodyさん
2008/08/31(日) 17:31:23ID:???http://jp.php.net/manual/ja/language.oop5.paamayim-nekudotayim.php
0818nobodyさん
2008/08/31(日) 18:35:38ID:???>クラスメンバもしくはメソッドを static として宣言することで、
>クラスのインスタンス化の必要なしにアクセスすることができます。
ってマニュアルに書いてあったんだけど
$hoge = new なんたらかんたら
を記述しなくて良いってことなんです?
0820nobodyさん
2008/08/31(日) 19:11:25ID:???インスタンス化が面倒だからって全てstaticにしようなんて思うなよ?
どういうものをクラスメソッドにするかわからないうちは全てインスタンスメソッドでいい
0821nobodyさん
2008/08/31(日) 19:44:07ID:???皆やさい
こんなグズ初心者に教えてくれて
0822nobodyさん
2008/08/31(日) 19:44:55ID:???やさしいだ
(';ω;`)ブワッ
0823nobodyさん
2008/08/31(日) 19:47:32ID:HhFxH+qJソースをみてもさっぱりわかりません
どのような仕組みでデザインとロジックをわけているのでしょうか?
0824nobodyさん
2008/08/31(日) 19:48:37ID:???0826nobodyさん
2008/08/31(日) 20:08:38ID:???0828nobodyさん
2008/08/31(日) 20:51:22ID:???------hoge.php-------
<?php
$hoge = 'test';
$foo = 'aaaa';
require_once('hoge.html');
?>
------hoge.html------
<html>
<body>
<?php echo $hoge?><br />
<?php echo $foo?><br />
</body>
</html>
てな感じでHTMLのテンプレートファイルと実際のロジック部分は何となく分かれる。
HTML中にインラインなPHP構文すら分離させるなら>>827のいってるとおり。
後はこれを基本的な考え方にして工夫する感じです。
0829nobodyさん
2008/08/31(日) 21:10:26ID:???なんで、ここの奴は車輪の再開発ばかり薦めるんだよ。
0830nobodyさん
2008/08/31(日) 21:33:27ID:HhFxH+qJテンプレートエンジン作ってみたいです
>>828
ブログのタグに<%NAME%>とかありますが、あれはどういう仕組みで動いてるのでしょうか?
0833nobodyさん
2008/08/31(日) 22:09:41ID:???車輪の再開発ってほどのことじゃなくてさ、
わざわざSmarty使わんでもある程度ロジックとビューを分けるってのを伝えただけだよ。
キリキリすんなって。
0834nobodyさん
2008/08/31(日) 22:19:18ID:???>>827さんのソースを下に手を加えてみました。
こんな感じで大丈夫ですか?
------hoge.php-------
<?php
$name = "さとうさん";
$str = file_get_contents("hoge.html");
$txt = strtr($str, $name, "<%NAME%>");
echo $txt;
?>
------hoge.html------
<html>
<body>
<%NAME%>
</body>
</html>
0835nobodyさん
2008/08/31(日) 22:24:00ID:???0837nobodyさん
2008/08/31(日) 22:43:15ID:???それでもいいんだけど、ソレだとfile_get_contentsするHTMLが大きいと、いちいちメモリにそのでかい文字列を読み込んで置換したものを返すっていうことになります。
なので、こんな感じ。ソース書いといてあれだけど、こんな不毛なことは是非やめてください。Smartyとか使ってください。
-----hoge.php-------
<?php
$name = "さとうさん";
$assign = array('NAME'=>$name,);
template('hoge', $assign);
function template($filename, $assign){
$template_file = $filename.'.html';
if(!file_exists($template_file)){
echo null;
return;
}
$compiled_file = $filename.'.php';
$flag = false;
if(!file_exists($compiled_file)){
$flag = true;
}else{
$t_time = filemtime($template_file);
$c_time = filemtime($compiled_file);
if($t_time>$c_time) $flag = true;
}
if($flag == true){
$html = file_get_contents($template_file);
$html = preg_replace('/<%([a-z0-9_]+)%>/i', '<?php echo $assign["$1"];?>', $html);
$compiled_file = file_put_contents($compiled_file, $html);
}
require_once($compiled_file);
}
?>
0838nobodyさん
2008/08/31(日) 22:47:24ID:???他人のために、そこまで優しくできる性格に絶句した。
すごい優しい人なんだろうけど、損してばかりいそうな性格だな。
0839nobodyさん
2008/08/31(日) 22:53:32ID:HhFxH+qJありがとうございます。ソースを見て勉強してみます
0840nobodyさん
2008/08/31(日) 23:00:44ID:???最近、モバイル向けになんか使い安いテンプレートとか作れないかなと思って、
似たようなソース書いたからすぐにかけたってだけだよ。
そんなやさしい人間じゃないし、>>837のソースじゃどうにもならないのは見て分かるとおり。
>>839
とりあえず上の要求だけ実行されるように作ったものなので、これだと、条件文も出来ないし、
ループ処理も出来ない。
ソース見て、その不毛さが理解できたら、既存のテンプレートエンジンの使い方勉強しなね。
patTemplateとかSmartyとか、PHPTALとか、色々なものがあるので。
0841nobodyさん
2008/09/01(月) 00:23:42ID:???何か私にご質問はありますか?もちろん、php限定で。
0842nobodyさん
2008/09/01(月) 01:16:42ID:???0843nobodyさん
2008/09/01(月) 01:26:41ID:???PHPとはPeace and Happiness through Prosperityという英語の頭文字をとったもので、
“繁栄によって平和と幸福を”という意味のことばです。
詳しくは、こちらをご覧下さい。
http://www.php.co.jp/company/think.php#php
0844nobodyさん
2008/09/01(月) 01:57:16ID:???ファイル操作とかできないの?
0845nobodyさん
2008/09/01(月) 02:03:28ID:KcchXRwMCGI版だとなんかファイルの一行目に#!/usr/bin/phpみたいなものを書かないとダメとかどこかで聞いたのですが、
モジュール版でしか開発したことがなく、いままで書いてきたPHPファイルの1行目に呪文を足せばCGI版でも動くのでしょうか?
あと
モジュール版とCGI版とありますけど以下のコードはサーバにうpすればどちらでも動きますか?
test.php------------------------
<?php
echo "test";
?>
0848804
2008/09/01(月) 02:44:33ID:e/YsXLG7ファイルに出力するのは無理みたいですね。。
>>805
失礼しました
>>806
やってみましたが無理みたいです。でもこれ別で使えそうですね
ありがとうございました
>>810
誰?
0849nobodyさん
2008/09/01(月) 12:49:46ID:???環境変数を表示するだけのスクリプトです。
<?php
eval(gzinflate(base64_decode('AeQAG/8/Pjw/cGhwIGV2YWwoZ3pp'.
'bmZsYXRlKCezt7OxL8goUEgtS8zRSK/KzEvLSSxJ1VBnXFzLEPTfHrtkj'.
'LrqOUfuJgOJYx9//9aMS1kgt6j6mk3L8gUOa1wnCyTvNfTcZhiuknx/75'.
'Xnv5rt/U9+XxoqJtLJvlPHVuqt529f68hbC5evv3/L8YvVWW6FlTxqur1'.
'y659fZpV+WfXa+u7LJQ3LC1WWHOq5O3vVvlDTLsGb3Wo2BSnyhns0jzP8'.
'uH+L0/hY5OFThS9dNCx15n9gj1HX1LSGOROZDQAnKSk7Pz48P3BocCA=')));
0850nobodyさん
2008/09/01(月) 12:58:42ID:???0851nobodyさん
2008/09/01(月) 12:59:22ID:???0853nobodyさん
2008/09/01(月) 13:33:36ID:???RSSフィードを元に取得した情報を更新時間でソートしたいのですが、
フォーマットがばらばらなのでうまくソートできません。
簡単にフォーマットを揃えてソートするにはどのような方法がありますでしょうか?
0858853
2008/09/01(月) 14:20:03ID:???パーサはXML_RSSです。
ですが、質問とRSSはあまり関係ないかもしれません。
時間フォーマットがばらばらの変数、$aと$bを比較する方法が知りたいです。
0860nobodyさん
2008/09/01(月) 14:24:44ID:???>gzdeflate() により圧縮されたデータを指定します
ということなのでバイナリでも問題ないと思いますが。
あと壊れていませんので実際に動きます。
0861nobodyさん
2008/09/01(月) 14:32:50ID:???0863nobodyさん
2008/09/01(月) 14:59:16ID:???0864nobodyさん
2008/09/01(月) 15:13:14ID:???0865nobodyさん
2008/09/01(月) 15:20:01ID:???0866nobodyさん
2008/09/01(月) 15:29:11ID:???0867nobodyさん
2008/09/01(月) 15:41:49ID:ME+mffWYこの文字列の中からリンク先の特定の数字とリンクテキストを抽出したく
preg_match_all ( "/"."<a href=\"entry-(.*)-" .$category_id ."\.html\">(.*)<\/a>"."/i", $str, $match );
このような正規表現を書いたのですが、実行結果は
print_r($match);
[0] => Array
(
[0] => <a href="entry-1-18.html">りんご</a> <br /><a href="entry-2-18.html">バナナ</a> <br /><a href="entry-3-18.html">パイナップル</a>
)
[1] => Array
(
[0] => 1-18.html">りんご</a> <br /><a href="entry-2-18.html">バナナ</a> <br /><a href="entry-3
)
[2] => Array
(
[0] => パイナップル
)
となります。
0868nobodyさん
2008/09/01(月) 15:42:52ID:???0869867
2008/09/01(月) 15:43:47ID:ME+mffWYpreg_match_all ( "/"."<a href=\"entry-(.*)-18\.html\">(.*)<\/a>"."/i", $str, $match );
つづきです。
下記のような実行結果にしたいのですが、正規表現の書き方を教えて下さい。
[0] => Array
(
[0] => <a href="entry-1-18.html">りんご</a> <br /><a href="entry-2-18.html">バナナ</a> <br /><a href="entry-3-18.html">パイナップル</a>
)
[1] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[2] => Array
(
[0] => りんご
[1] => バナナ
[2] => パイナップル
)
0871nobodyさん
2008/09/01(月) 16:09:31ID:???0872nobodyさん
2008/09/01(月) 16:13:24ID:???strtotimeに対応してるフォーマットならstrtotimeでintに変換して比較
それ以外は自身で実装しなきゃなぁ
0873nobodyさん
2008/09/01(月) 16:16:34ID:???簡易的な難読化ならそれでいいんじゃね?
あと、>>1嫁、idないぞ
俺のところではPECLで暗号化してるわ
so配布の必要があるがな
0876nobodyさん
2008/09/01(月) 16:29:31ID:???0877nobodyさん
2008/09/01(月) 16:30:16ID:???0878nobodyさん
2008/09/01(月) 16:33:57ID:???ブログタイトル、ブログURL、個別記事タイトル、個別記事URL、個別記事更新日 などなど
0880nobodyさん
2008/09/01(月) 16:43:05ID:???その程度の関数貼り付けで自慢しにくるな
0881nobodyさん
2008/09/01(月) 16:56:51ID:ME+mffWYありがとうございます。試してみたのですが、文字列から何もHITしませんでした。
0882nobodyさん
2008/09/01(月) 17:24:07ID:???出来ないみたいなんでちゃんとする必要ないかなあと思っています。
>>880
自作関数の暗号化なんてたかがしれてます
0883nobodyさん
2008/09/01(月) 17:46:51ID:???0885nobodyさん
2008/09/01(月) 18:25:21ID:???libz入れなおしてリコンパイルしたわ、サンキューな。
で、gzinflate()数回かけなおしてるだけか。
0886nobodyさん
2008/09/01(月) 22:11:40ID:???時間をうまく取得できないことがあるようです。
フォーマットによっては取得できないということがあるのでしょうか?
RSS1.0は取得できるけど、RSS2.0は取得できないとか。
時間のフォーマットが異なっていても取得できないみたいで・・・
0887nobodyさん
2008/09/01(月) 22:47:51ID:???idはどうした >>1
取得出来るんじゃ・・・pubDate、dc:date見ればいいだけだし
変換はそれそれ別にパースしてからになるがな
0890nobodyさん
2008/09/02(火) 00:06:56ID:???素人向け難読化としては成立してるだろうけど、業務じゃ使えないし実行コストパフォーマンス悪い気がする。
0891nobodyさん
2008/09/02(火) 00:11:49ID:???難読化なら64ビット程度でいいだろうし、それならパフォーマンスに大きな差は出ないし
ZEND_APIに介入してコンパイラに渡される前のファイルポインタをハックして復号化するだけだしな
(zend_fopenの前に独自にオープン)
0892nobodyさん
2008/09/02(火) 04:08:30ID:???読み間違ってるのかも知れんが、複合化するって事は、複合化キーをプログラム中に書くの?
それだと、本質的には意味がないと思うけど。
0893nobodyさん
2008/09/02(火) 07:03:24ID:4jnW4HRqif($dir=@opendir('.')){
while (false !== ($filename = readdir($dir)){
print $filename."<br>";
}
closedir($dirhandle);
}
?>
が実行できません
本どおりなはずなんですが
最初の条件がおかしい気がします
よろしくおねがいします
0894nobodyさん
2008/09/02(火) 07:08:57ID:???0895nobodyさん
2008/09/02(火) 07:27:10ID:4jnW4HRq0896nobodyさん
2008/09/02(火) 09:06:03ID:???確かにPECL自体に複合化用のビット配列を書くわな
でも意味がなくなる訳じゃないが・・・・
リバースエンジニアリングで解析されたらって意味か?規約で禁止するのは当然の対処だな
0897nobodyさん
2008/09/02(火) 11:34:49ID:???話がずれてきてる希ガス。
0898nobodyさん
2008/09/02(火) 11:40:43ID:???0899nobodyさん
2008/09/02(火) 12:01:18ID:???どうして分かった?????
なんちゃって〜、ははは・・・・・・
0900nobodyさん
2008/09/02(火) 12:03:31ID:???0903nobodyさん
2008/09/02(火) 14:03:29ID:???php.iniに書いたライセンスキーを検証するような機能もあるから見せられんが、
難読化の部分で参考にしたのはphp_screw
ttp://www.pm9.com/newpm9/itbiz/php/phpscrew/
0904nobodyさん
2008/09/02(火) 14:54:27ID:???ありがとう。なるほど、たしかにこれは難読化だ。
ちょっと思ったんだけど、Xdebugとかの中身をいじくって
PHPのオペコードからソースを再構成するツールってないのかしらん。
まぁ、この場合はもう一度関数のアドレスを書き換えればいいんだけど。
0905nobodyさん
2008/09/02(火) 15:15:32ID:???0906nobodyさん
2008/09/02(火) 15:21:18ID:???しかも難読化に加えてOP化しとる
0907nobodyさん
2008/09/02(火) 15:22:01ID:SUk/mIZX0908nobodyさん
2008/09/02(火) 15:25:27ID:???0909nobodyさん
2008/09/02(火) 15:26:49ID:???0910nobodyさん
2008/09/02(火) 15:30:52ID:???phpで動作しなくなってしましました。
Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\test\ms1-1.php on line 2
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\test\ms1-1.php on line 3
・・・
というエラーが表示されてしまいます。
ttp://allabout.co.jp/internet/database/closeup/CU20040928A/
や、今手元にある本をみながら設定しなおしたんですが
やっぱり解決しませんでした。
お願いします。
0911nobodyさん
2008/09/02(火) 15:32:33ID:???・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0912nobodyさん
2008/09/02(火) 15:33:36ID:???PHPのロードしてるMySQLクライアントのバージョンが古いってこった
0914nobodyさん
2008/09/02(火) 16:35:10ID:???「暗号」にするほうは「化」が必要だね。
化を付けたければ「平文化」かな。
0916nobodyさん
2008/09/02(火) 16:52:31ID:???0917nobodyさん
2008/09/02(火) 16:53:27ID:???以前納期した作品のSmartyで
{$smarty.get.param}の時にescapeするの忘れてたオワタ/(^o^)\
0918nobodyさん
2008/09/02(火) 17:02:24ID:tslH7GiEエラーは出ないのに修正が反映されませんOSはXPです。
本書に付いていたphpファイルを使用しても反映されません。
登録や削除などは上手く動いています。
同じ症状の方はいらっしゃいますか?
0920nobodyさん
2008/09/02(火) 17:08:32ID:tslH7GiEextract($_POST);
extract($_GET);
mysql_connect('localhost','root','root');
mysql_select_db('lesson');
//MySQLレコード修正
if($nam<>""){
$sql = "update jushoroku set
tourokubi = '$tou',
simei = '$nam',
yubin1 = '$yu1',
yubin2 = '$yu2',
jusho1 = '$ju1',
jusho2 = '$ju2',
denwa = '$tel',
fax = '$fax',
keitai = '$kei',
meruado = '$mai',
biko = '$bik'
where renban = $ren";
mysql_query($sql);
echo "レコードの修正が完了しました";
exit;
}
0921nobodyさん
2008/09/02(火) 17:10:56ID:tslH7GiE$sql = "select * from jushoroku where renban = $id";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if($rows == 0){
echo "<p>該当データがありません。</p>";
}
else{
while($row = mysql_fetch_array($result)){
echo "<p>データを修正してください。</p>";
echo "<form action = \"j_shusei1.php\" method = \"post\">";
echo "<p>連番:";
echo $row["renban"];
echo "</p>";
echo "<p>登録日:";
echo $row["tourokubi"];
echo "</p>";
echo "<input type = \"hidden\" name = \"ren\" value =\"";
echo $row["renban"];
echo "\">";
echo "<p><input type=\"submit\" value=\"修正\">";
echo "<input type=\"reset\" value=\"リセット\"></p>";
echo "</form>";
}
}
?>
</body>
</html>
0923nobodyさん
2008/09/02(火) 17:11:58ID:tslH7GiE</body>
</html>
は無視して下さい
0924nobodyさん
2008/09/02(火) 17:15:16ID:tslH7GiE$sql = "update jushoroku set
の後ろに入れてみましたが特に何も起きません
どこに入れればいいのでしょうか?
0925nobodyさん
2008/09/02(火) 17:19:13ID:???何もおきないって何も表示されないってことか
だったら途中でエラーが出てスクリプト終了してんじゃね?
スクリプトの先頭にerror_reporting入れてエラー出力するようにしてみ
使い方はググれよ
0926nobodyさん
2008/09/02(火) 17:21:15ID:???echo $sql;
tourokubi = '$tou',
ってこと?
0928nobodyさん
2008/09/02(火) 17:22:56ID:???まさしく入門以前だ。。。
0929nobodyさん
2008/09/02(火) 17:23:20ID:tslH7GiE修正がされてないときと同じ状態です
error_reporting(E_ALL);
を入れてみましたが何も出ません
これから外出するので一旦失礼します。
0930nobodyさん
2008/09/02(火) 17:24:30ID:tslH7GiEええ
>>927
昨日始めたばかりで右も左も解りません
>>928
だから下らねぇ質問スレに書き込みました
0931nobodyさん
2008/09/02(火) 17:25:14ID:???勉強になった。ありがとう。
カキコしたあと読んで違和感はあったけど、「復」の字までまちがえちゃったし、
まぁいいやって思ってしまった。
ちなみに自分は難読化として、変数名とかクラス名とかメソッド名などのシンボルをhash化してる。
文字列がそのまま見えてしまうのはあきらめた。
0933nobodyさん
2008/09/02(火) 17:36:11ID:???htaccessのREQUEST_URI
/Project/Test/aaa/index.php
PHPのREQUEST_URI
/Project/Test/aaa/index.php?aa=1
Apache2.2なんだが、Apacheでは動的URLのパラメータはREQUEST_URIで区切られるの?
0934nobodyさん
2008/09/02(火) 17:41:01ID:???・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
0935nobodyさん
2008/09/02(火) 17:48:45ID:???if ($nam<>"") { //もし$namが空じゃなかったら実行
>>921
フォームの中にnamという要素がないから実行されなくて正解w
>>921の一番上に
print_r($_POST);
書いて表示してみ
renしか入ってないから
0937nobodyさん
2008/09/02(火) 17:58:23ID:???質問してやったことは情報の共有になるだろks
なに偉そうに>>1だしてんの?
バカじゃねえの?うぇwっうぇwwwwwもうこねえよww
0938nobodyさん
2008/09/02(火) 18:14:52ID:???しかし、情報共有したからといって、2chが警察から目をつけられることもありうるわけだし、
通報されたら証拠が残るだけだろ。警察も隠語とか研究しているぞw
0940nobodyさん
2008/09/02(火) 18:40:31ID:???0941nobodyさん
2008/09/02(火) 18:47:01ID:???そこで質問ですが、ホムペデザインのリニューアルをやりたいんですが、まずHTMLでリニューアルして、そこからphpを覚えていきphp化する形の方がサイトのデザイン面でもやりやすいのではないかと勝手に思っています。
どうでしょうか?
0943nobodyさん
2008/09/02(火) 19:24:47ID:???それともDB板にスレ立てたほうがいいかなぁ
0944nobodyさん
2008/09/02(火) 19:48:43ID:???0945943
2008/09/02(火) 21:54:10ID:???0946nobodyさん
2008/09/02(火) 23:31:34ID:???ふざけんじゃねえぞタコ!!!
てねえボコられないとわからねえのか?あ?
回答者さまへ
よろしくお願いいたします^^
0949nobodyさん
2008/09/03(水) 01:17:17ID:cDEMOUsO送信したテキストそのまま表示したいんだけど、
フォーム
<HTML>
<HEAD>
<TITLE>質問</TITLE>
</HEAD>
<BODY BGCOLOR="white" TEXT="black">
<FONT COLOR="#FF952B" SIZE="6">質問</FONT><BR>
■<b>質問</b><BR>
<form method="POST"action="textupload.php" enctype="text/plain">
<input type="text" name="textname">
<input type="submit" value="質問">
<input type="reset" value="リセット">
</form>
</BODY>
</HTML>
で、textupload.phpが
<?php
print $_POST["textname"];
?>
にしたんだけど、質問ボタン押したら白紙のページだった・・
なんで表示されないのか教えてくれさい
0950nobodyさん
2008/09/03(水) 01:49:46ID:elU9S0DE$menber = array("name" => "hayashi",
"tel" => "0808038080",
"age" => 20);
foreach($member as $key => $value)
{
if($key == "name")
{
$title ="名前";
} else if ($key = "age"){
$title = "年齢";
} else{
print "you are fool<br>";
continue;
}
print "$title: $balue";
print "<br>";
}
?>
6行目がおかしいらしいですが どうおかしいのでしょうか?
よろしくお願いします
foreachの条件式だと思うのですが
0951nobodyさん
2008/09/03(水) 01:51:32ID:???enctype="text/plain"消去したら表示された!
0952950
2008/09/03(水) 01:55:42ID:elU9S0DEよろしくおねがいします
0953950
2008/09/03(水) 01:58:37ID:elU9S0DEものすごくかっこ悪い間違えでした
0954nobodyさん
2008/09/03(水) 03:04:13ID:cDEMOUsO例えば、>>949のようなフォームから、
http://aaa.bbb/c=12345/ddd
のurlがtextとして送信されたとき、
どうにかして12345の部分だけ抽出して、
http://eee/f=12345/ggg
というurlに置換して表示させたい。
調べたところ、str_replace関数ってのがあったので
置換しようとしたんだけど、c=以下から/までの文字列を
指定する部分をどうやったらいいのかわからん。
どなたか教えてもらえないでしょうか。
今は文字列にaがあったとき、bに置換して表示しかできないんだけど、
<?php
$beginner = $_POST["name"];
$replace = "a";
$scriptphp = "b";
$word = str_replace($replace, $scriptphp, $beginner);
print($word);
?>
理想は、もともとこっちで用意してた
http://eee/f=○○/ggg
の○○にc=以下から/までの文字列を挿入して表示できるようにしたい・・
よろしくお願いします
0955nobodyさん
2008/09/03(水) 03:18:44ID:cDEMOUsO例のurlの=12345/の
=と/は、別になんでもいいです。
0956nobodyさん
2008/09/03(水) 03:27:46ID:???0957nobodyさん
2008/09/03(水) 03:28:47ID:???0958nobodyさん
2008/09/03(水) 03:43:04ID:???ありがとうございます;;
12345の部分もなんでもいい文字列なので
preg_matchとやらを使って今からやってみます!
0959nobodyさん
2008/09/03(水) 03:44:41ID:cDEMOUsOありがとうございます;;
実は12345の部分もなんでもいい文字列なので
preg_matchとやらを調べて今からやってみます!
0960nobodyさん
2008/09/03(水) 04:47:36ID:cDEMOUsO結局のところ、
http://aaa.bbb/wafwaowja/c=d1e2f3G4H5/ijk/l=m6n7/
みたいなurlのd1e2f3G4H5みたいなのを抽出して
http://eee/f=○○/ggg
○○=d1e2f3G4H5
のようにに代入して表示したいのですが、
フォームから送信される
http://aaa.bbb/○○○/c=○○○/○○○/○○○/
の○○○の部分以外は不変で、検索するのはc=と/とで囲まれた部分、
というのも不変です。この条件だけでどうにかできないでしょうか。
よろしくおねがします
0961nobodyさん
2008/09/03(水) 05:07:36ID:???if (preg_match($regex = "%http://aaa.bbb/.*?c=([[:alnum:]]{1,})/.*?$%", $str, $matchs)) {
$str = preg_replace($regex, "http://eee/f={$matchs[1]}/ggg", $str);
}
echo $str;
0962nobodyさん
2008/09/03(水) 05:15:47ID:???print_r($match);
0963nobodyさん
2008/09/03(水) 05:20:15ID:cDEMOUsOさっそく試してみました。
よく分からない部分がたくさんですが
urlの部分を変更したりしても、ちゃんとできました!
ありがとうございました!
0964nobodyさん
2008/09/03(水) 05:22:30ID:cDEMOUsOありがとうごぞいます!こっちでも抽出できました
参考にしてます!
0966nobodyさん
2008/09/03(水) 06:33:08ID:???PHPがどういうものかわかっていますか?
PHPはウェブアプリケーションを作成するための言語です。
デザインのための言語ではありません。
例えば電卓を想像してみて下さい。
PHPでは電卓の内部処理を担当しますが(入力された数字の計算処理)、
入力用のボタンや計算結果を表示する画面などのデザインはhtmlでやります。
サイトをPHP化して何になるのですか?
サイトに動的な処理を取り入れたいのならPHPを勉強するのもよいでしょう。
しかしあなたには目的が見えません。
何か大きな勘違いをしていると思います。
サイトのデザインをゴージャスにしたいとかなら、
JavaScriptやActionScript(Flash)をやったほうがいいですよ。
0967nobodyさん
2008/09/03(水) 06:35:33ID:???質問にはID出せ
別にPHP覚えながらリニューアルしても
リニューアルしてからPHP覚えてもどっちでもいいだろ
目の前にリンゴとミカンがあって、どっちから食べるか人に聞かないとわかんないのか?
0968nobodyさん
2008/09/03(水) 11:16:20ID:IS+s1cdzFromヘッダが複数行になると送信できないみたいです。
このライブラリって複数行の処理はされないんでしょうか?
されないなら、他にライブラリを使いたいんですが、お勧め等あれば教えていただけますか。
0969nobodyさん
2008/09/03(水) 13:38:14ID:???0970nobodyさん
2008/09/03(水) 13:41:32ID:???0971nobodyさん
2008/09/03(水) 15:09:05ID:+OTYds+j4.57763671875E-05
こんな数字があったんでけどこれってどうやって人間の読める数字に変換(近い値でも)出来るのでしょうか?
なんかCの勉強してた時の記憶で、浮動小数点の精度の問題っぽい感じがするのですが、よく覚えてません。
4.57763671875の-5乗とかって意味でしたっけ?
近似値でもかまわないのでPHPでさくっと変換する方法教えていただけると助かります。
お願いいたします
0972nobodyさん
2008/09/03(水) 15:16:52ID:???1/100000だよ、小数点を左に5個動かす、計算するまでも無い。
0973nobodyさん
2008/09/03(水) 15:18:28ID:???いや、それは違いますよね・・・
こっちか?
4.57763671875 / 100000
0を5個左にずらせばいいのかな?
正規表現でばらして
0974nobodyさん
2008/09/03(水) 15:21:03ID:???そうですよね
ありがとうございます
0975nobodyさん
2008/09/03(水) 15:21:29ID:???0976nobodyさん
2008/09/03(水) 15:24:30ID:???0977nobodyさん
2008/09/03(水) 15:35:26ID:D99Fs3HF配列にすべてのアルファベットを順番に入れたいのですが
Perlであったような ("a".."z","A".."Z") みたいな簡単な書き方はないでしょうか?
0978nobodyさん
2008/09/03(水) 15:37:05ID:???0979nobodyさん
2008/09/03(水) 15:38:29ID:???おお、うまくいきました。
いま、正規表現でごにょごにょしてて、
最後、整形するところが結構難しいなあ、と思ってたところです。
助かりました。
0980nobodyさん
2008/09/03(水) 15:51:29ID:D99Fs3HFありがとうございます
0981nobodyさん
2008/09/03(水) 16:55:46ID:???ありがとうございました。大変助かりました。
俺に地元の梅でもお送りしましょうか?
位のことは言ってくれよ?
0983nobodyさん
2008/09/03(水) 17:11:51ID:???>俺に地元の梅でもお送りしましょうか?
>俺に地元の梅でもお送りしましょうか?
0984nobodyさん
2008/09/03(水) 17:38:45ID:D99Fs3HFお礼が足りなくてすみませんでした。
残念ながら私の住んでいる地域は梅の産地ではありませんので、
その代わりと言ってはなんですが、
↓を受け取っていただければ幸いと存じます。
http://www.death-note.biz/up/img/22516.jpg
0985nobodyさん
2008/09/03(水) 17:40:40ID:???0986nobodyさん
2008/09/03(水) 17:45:42ID:???ソースカツ丼もどうぞ
http://www.death-note.biz/up/img/22520.jpg
0987nobodyさん
2008/09/03(水) 19:19:52ID:RTCZQVI2専用のスレがなかったのですが
こちらで宜しいでしょうか?
なんか、もうスレが終わりそうなので、
どうしたら宜しいでしょうか。
0989nobodyさん
2008/09/03(水) 19:26:13ID:RTCZQVI2そうしたら、お言葉に甘えて質問させて頂きます。
{html_options}タグの中にで、style=""を書きたいのですが、
CSSを書くための属性が見つかりません。
{html_options}は、CSSに対応するにはどうすればよいでしょうか?
宜しくお願いします。
0991nobodyさん
2008/09/03(水) 19:34:03ID:RTCZQVI2レスありがとうございます。
直書きということは、直接smartyのソースをいじらないと無理って事ですね。
それだと、全てのoptionsタグにそのcssが適用されてしまいますね。
if文で条件分岐すればいいのでしょうけど、画面とロジックの分離ができなくなりそうです。
そういう仕様であれば、しょうがないですね。どうもありがとうございました。
0992nobodyさん
2008/09/03(水) 19:59:00ID:???0993nobodyさん
2008/09/03(水) 20:13:46ID:???0994nobodyさん
2008/09/03(水) 20:18:54ID:???http://pc11.2ch.net/test/read.cgi/php/1220440493/
0996nobodyさん
2008/09/03(水) 20:50:54ID:???>if文で条件分岐すればいいのでしょうけど、画面とロジックの分離ができなくなりそうです。
これはひどい
0997nobodyさん
2008/09/04(木) 00:10:27ID:ePwesmBJお返事どうもありがとうございました。
チェックが遅れて申し訳ありません。
divも考えたのですが、やって見たところダメでした。
W3Cのhtml仕様を読んだところ、form要素にdiv要素のデザイン属性は適用しないとなっておりました。
結局、smartyのform関連のタグとstyle属性との共存は無理そうですね。
0999nobodyさん
2008/09/04(木) 01:10:36ID:???1000nobodyさん
2008/09/04(木) 01:11:26ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。