【PHP】下らねぇ質問はここに書き込みやがれ 72
まず読め→【PHP マニュアル】
http://www.php.net/manual/ja/ 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カテゴリ)の各スレで
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
ちょいと早すぎだな。 スレ立ての間合いってのが、難しいんだな、これが。
別に早くないだろ980過ぎれば妥当 20レス分ならすぐ埋まるだろ たまに950ぐらいで立てる早漏は死ねばいいけどな
即死判定があるから980は速すぎではない
10 :
nobodyさん :2008/08/16(土) 20:21:04 ID:B1NfK9Ga
あのー ファイルへの複数行書き込みって 配列でやったらまずいんですかね? エラー出て困ったやんです
意味不明
12 :
nobodyさん :2008/08/16(土) 20:33:27 ID:B1NfK9Ga
ファイルへの複数行書き込みですってばよ!(ナルト風)
int fwrite ( resource $handle , string $string [, int $length ] )
>>13 見て分かるとおり引数にはstring型
foreachでもimplodeでも何でもいいからstringにして書き込め〜
15 :
nobodyさん :2008/08/16(土) 21:51:18 ID:KxVAt7PL
質問です。 fopenかrequireで、文字列を読み込んで出力する際、 どれくらいオーバーヘッドに差があるでしょうか? 例えば、 $fp=fopen("./hoge.txt","r");//中身は「hogege」 $str=fgets($fp); echo($str);//hogege と、fopenを使う処理と、 require("./hoge.php");//中身は「define("HOGE","hogege");」 echo(HOGE);//hogege のように、requireで読み込んで処理をする場合とを比べた場合、 どちらが早いのでしょうか?
10万回くらいループして計ってみれば?
まぁどうみたって前者のほうが遅いけど
mb_ereg_replace('$', 'tail', 'hoge'); とすると hogetailtail が返ってくるんだけど、これバグがなにか? ereg_replace('$', 'tail', 'hoge'); なら hogetail。 mb_ereg_replace('^', 'head', 'hoge'); なら headhoge とちゃんとなるんだが
preg_replace も変だ。 preg_replace('/$/', 'TAIL', 'hoge') なら hogeTAIL だけど preg_replace('/$/', 'TAIL', "hoge\n") だと hogeTAIL\nTAIL ちなみに preg_replace('/$/', 'TAIL', "hoge\nhoge\n") は hoge\nhogeTAIL\nTAIL
20 :
15 :2008/08/16(土) 23:59:46 ID:KxVAt7PL
どうも、15です。
お答えいただいた皆様、ありがとうございます。
>>16 さん
fopenやrequireしてある処理を別ファイルに記述し、
それをexecで呼び出す処理をループしました。
10万回回してる時にちょっと心が折れたので1000回にしてみました。
結果・・・
fopen:2m9.952s
require:2m10.088s
でした。
10万回ループさせたらまた違ってくるでしょうが、
バッチ処理で利用する訳でもないので、運用が楽な方でいいじゃーん!
という答えになりました。
>>17 さん
17さんがそう思った理由は何でしょうか?
カーネルの仕組みなどを深く理解していないので、
私では判断できませんでした・・・。
>>18-19 まずは環境を書けと
>>20 大差がない場合は、PHPのバージョンやコンパイル環境、読み込むファイルの長さで結果が変わってくるのでそんなの気にするな。
書きやすい方でどうぞ。
>>15 >>20 requireの方がオーバーヘッドが増加
require/includeはPHPソースとして読み込む為、Zendに渡す分遅くなる
core内ではfopenと同じ処理だからfopenの方が遅くなることは考えにくい
25 :
18 :2008/08/17(日) 05:02:21 ID:???
>>21 php4 でも php5 でもなるから、既知すぎるのかと書かないでしまった。めんご。
php4.4.4 と php5.2.0
>>22 カーソル位置?そのカーソル位置はどうやってこの関数で操るの?
ちなみに $ は行末ではなく、最後尾を意味します。
行末と認識されることが多いのは、sed が行単位の処理をするからです(行の最後尾 == 行末)
>>18 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へ島流しだしな
27 :
18 :2008/08/17(日) 08:59:27 ID:???
>>26 > D (PCRE_DOLLAR_ENDONLY)
> この修飾子を設定すると、パターン内のドルメタ文字は、検索対
> 象文字列の 終わりにのみマッチします。この修飾子を設定しない
> 場合、ドル記号は、 検索対象文字列の最後の文字が改行文字で
> あれば、その直前にもマッチします。 この修飾子は、m を設定して
> いる場合に無視されます。 Perl には、この修飾子に等価なものは
> ありません。
つまり、この D を使わないと、2回マッチするっていうことみたいね。
なんだろこれ。真似した perl がおかしいのかな。
確かに、perl も hoge\nhogeTAIL\nTAIL となる。
php で構文チェックっつーかなんとかできないもんですかね? error_reporting だと、実行された箇所しかチェックしないので、 全ての箇所を実行するテストケースをかかないといけない。 全体のチェックを一発でしてほしい。 この変数は定義されていないよ、ぐらいのチェックでもかなり楽になるのですが。
E_STRICT
いや、だから error_reporting だと・・・
E_STRICT
>>18 テキストファイルの行は 任意長の文字列 + (改行 or EOF) になる
利便性からそれに合わせて$は改行直前とEOFにマッチする
件の "hoge\n" は "hoge" + 改行 と "" + EOF の2行
2行だから2回マッチする、自然だろ?
>>28 動的言語の静的チェックは面倒で誰も手を出してくれない
PHPUnitのコードカバレッジ率見てニヤニヤするのが一番でしょう
>>32 そしてm(マルチライン)オプションがあれば
改行コードが除かれるから1回だけマッチっと
代わりに各行の行末が$でマッチするが・・・
>>28 php(CLI)の「l」オプションか「Phing」でも使っとけ
35 :
18 :2008/08/17(日) 14:04:58 ID:???
>>32 でも "hoge\nhoge\n"
は hoge\nhogeTAIL\nTAIL になるでしょ?
hogeTAIL\nhogeTAIL\nTAIL じゃなくて。
だからやっぱり $ は最後尾と考えて
hoge\nhoge\nTAIL
になるほうが自然だと思うデス。
>>32 >動的言語の静的チェックは面倒で誰も手を出してくれない
ふーむ困ったもんだ
>>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;
}
38 :
nobodyさん :2008/08/17(日) 16:36:26 ID:jFnyVPnS
セッションのGCに時間がかかっても、 ページの出力には問題ないですか?
ログ取ってみたら、GCが走るのは出力後ではなく、 セッションを読んだ直後でした 時間かかったらダメってことですね 何このあほな実装・・
フォームからアップロードしたファイルにランダムな文字列を割り当てて、そのファイルにリンクさせるにはどうするの?
http://aaa.com/cgi これを直接アクセスすると403でかかる
しかしgoogleでリダイレクトさせればこれを回避できます
それをphpスクリプトでやりたいのですが
どのようにすればよいでしょうか?
ちなみに自分のHPなのですがサーバー側が勝手に直接リンクを弾いているんです
リファラ偽装してアクセスできますでしょうか?
>>42 作りたい?まずはどこまで作ったん?
そこからスタートでしょ
>>42 じかに飛んじゃったらカウントのしようもない
>>42 飛んだ先でカウントしてもらうとか?むろん、プログラムでよ。
直にってのが意味わからんな phpを埋め込みたいんかな
>>18 シングル/マルチラインモードによらない
文字列の始端終端にマッチするための
\A \z がちゃんと用意されてる
$が用意された意図と
>>18 のやりたい事が合わないだけ
>>47 ereg なら
>>18 の意図通りなんだろ。
わざわざ D をつけたとも書いてあるし。
>>47-48 それでもpregで\A \z を使うのが賢いな
意図しない動作は避け、確実な方を取ればいいし
深く追求する必要性があるなら別だが
>>42 アホなこと思いついた!
アンカーにonclickイベントを入れてxmlhttprequestでカウントアップする。
URLがすっきりて(笑)
52 :
871 :2008/08/18(月) 12:34:01 ID:GttUmTGH
質問させて下さい php5を使用しています。 function fnc( $a = "" ){ 〜 } このような普通のファンクションについてなのですが、 ・fnc(); 引数が何も送られていない ・fnc($test); testと言う変数が送られているが、中身は未定義 ・$test = ""; fnc($test); testと言う変数が送られているが、中身は初期化 このように引数を送った場合、それぞれの状態を$aで判断することはできますでしょうか? ドキュメント等にて調べてみたのですがこのような変数に関する微妙な扱いは見受けられませんでした。 何卒宜しくお願い致します。
func_get_argsとかemptyとかis_nullとか使えばいいんじゃ?
55 :
nobodyさん :2008/08/18(月) 15:25:11 ID:3TodphYx
もう4年以上前からEclipseを使って、phpの開発をしているのですが、 現在、便利なphpの開発環境を教えて頂けませんでしょうか? 特に不自由がなかったので、4年も同じものを使っているのですが、 もっと便利なものがあれば、乗り換えたと思っています。 有償でも5万円位までなら出してもいいと思っています。 不自由がないと書きましたが、あえて言えば実行しながらデバックが出来ないことです。 当時のeclipseでもプラグインはあったのですが、どうもうまく動作せず、 結局、echoとexitを使ってデバックしています。 ちなみに、eclipse2.1.3です。多分、古いと言われるかもしれませんが。
Eclipse 3.4 + PDT
糞ワロタ 無償IDEのバージョンうpもできない人間は開発やめちまえ
59 :
nobodyさん :2008/08/18(月) 16:31:51 ID:xd5mcyZy
インストールに関してはここのスレで質問していいですか?
60 :
nobodyさん :2008/08/18(月) 16:39:22 ID:xd5mcyZy
61 :
nobodyさん :2008/08/18(月) 16:44:24 ID:s6NDbHja
>>55 俺も3.4+pdtが良いと思う
phpeclipse遅すぎてつらい
pdtもバージョン2からかなりよさげ
あと金出すならzendとかnetビーンズ?
>>52 関数外の事を知ろうとするのが間違ってるだろ
もし$aの状態を知りたいのであればis_nullとか === ''とか使えば良い
64 :
nobodyさん :2008/08/18(月) 18:18:56 ID:xd5mcyZy
65 :
nobodyさん :2008/08/18(月) 18:30:40 ID:xd5mcyZy
朝sdふぁsdふぁsdふぁsdふぁsdふぁsd キャッシュ見てたあああああああああああああああああああああああああああああああ
>>64 yumはどのパッケージを使ったかとか、参考にしたサイトがあるか、とか
やったことについて書いた方がいい
ぱっと思いつくのはApacheモジュールになってないパッケージを使ったってことか
まずはApacheインストールディレクトリのmodulesにlibphp5.soがあるかどうかの確認だな
L板ほっとくとマルチになるから注意だぜ
69 :
nobodyさん :2008/08/18(月) 20:59:21 ID:3TodphYx
>>56-61 (
>>59 >>60 を除く)
レスありがとうございます。
ecplipse使っている人が多いので、安心しました。
バージョンアップが面倒だったのですが、
コードインスペクタもついていると知って、
週末にでもバージョンアップしてみます。
毎回、関数名が分からずに正引きしていたので、助かります。
お世話になりました。
>>69 いや、あなたがEclipseを使っているのでアドバイスしただけで、
今時Eclipseを使っている人は余程の物好きです。
あんなに重くて、メモリーを食うプログラムを
デバック処理をしようとするとすぐに固まって、
業務には使い物にならないよ。
海外で英語が苦手じゃないならx-php-laboとかおすすめだが。
おお、xLabo使っている奴がいた。 コードの打ち込みが半分以下になるから、 俺も愛用している。誰か日本語のパッチ作らないかなあ。
72 :
nobodyさん :2008/08/18(月) 23:00:39 ID:RVA7Wvm+
phpでEclipseって。 男なら手打ちでいこうぜ
食わず嫌いって哀れだね
Eclipseはないな、うん
>>71 無いなら自分で作ればいいよ
翻訳するのが面倒だから丸投げしてるんだろうけども・・・
>>52 ・fnc($test);
testと言う変数が送られているが、中身は未定義
呼び出し側でエラー出ないか?
fnc(""); とfnc()の区別はつけられないと思う。
というか区別しないように$a=""と書くのではないだろうか?
Javaやってる身としてはEclipse慣れしてるからEclipseが一番使いやすいな
>>77 しかし、JavaはSunだろ。それに対してEclipseは元々ライバルのIBMの製品。
それでも、使うのかよ。
>>52 >>76 Notice非表示なら何もでない
そもそもNULLという物がある事は知ってるか?
function fnc($a=""){
if(is_null($a)){
echo "ヌル";
}else{
echo "ストリング";
}
}
80 :
nobodyさん :2008/08/19(火) 09:14:32 ID:+fWBJARS
値を返す必要がない関数ってvoidでいいのでしょうか? functionにreturnメソッドがないと気持ち悪いと感じて、 いつも return NULL; としているのですが、 やはり変ですか?
>>80 returnなしでvoidになるから深く気にしない方がいい
どうしても返したいなら成功時true、失敗時falseみたいにしてはどうか
少なくともNULLはないと思う
82 :
nobodyさん :2008/08/19(火) 09:36:03 ID:+fWBJARS
>>81 お返事ありがとうございます。
phpの場合、型があいまいで、コンパイルエラーもない
値を返却しないとセキュリティー的にまずいかなぁとも思ったのですが、
true/falseならいいですね。それで実装してみます。
ありがとうございます。
Eclipse以外ないわ…
php_editor使ってるなぁ ハイライトくらいしか求めるものがないから、軽量なのを選択したって感じ 一応コード補完も自動じゃないにしろあるし(ctrl+space eclipseの機能の豊富さと拡張性はいいな メモリ食いなのがどうもなぁ・・・JavaのGCが嫌いと言う個人的な意見だが(スレ違い割愛
個人開発で個人サイトなのにZend Studio 5.5使ってる俺は勝ち組。 個々ファイルをちまちま編集するのに結構便利だったりするんだよね。 逆に得意とすべきプロジェクト部分が弱い感じ。。 Zend Studioの新版はEclipseベースでプロジェクトメインって感じだから乗り換えるにはちょっと勇気がいる。
Javaのeclipseみたいに、メソッドの名前を修正すると、 一括して他のクラスが参照しているメソッドの名前を修正してくれたり、 警告を出してくれるようなものはないのかな? 実行時に参照してやっとエラーが出るのが、ちょっっと。
修正前の名前でgrepすれば警告の代替になるわな
>>87 Javaのeclipseなら、そんな面倒なことをせずに右クリックで一発なんだが。
javaのたとえでPHPではできないんだが
IDEに慣れきってるとgrep程度が面倒と感じるのか だったら楽になるのを作ればいいんじゃね?
>>90 作業効率を高めるためにIDEを使っているのに、
自分で作ったら逆に時間が掛かって本末転倒だろw?
死ぬの?
>>91 業務で使ってるならZendでも買えば?
でなきゃずっとクレクレしてればいいと思うよ
>>91 ほっとけ、どうせ
>>90 は暑さで頭がおかしくなっているか、もしくは元々おかしい。
なんでも自分でやろうして自滅するタイプ。
他人の作った物を信用せず、自分が一番だと思っているんだろ。
つまり、猜疑心が強く、逆にいえば、自己顕示欲が強い奴だ。
この手のタイプはプログラマーに多いが、
こういう奴は、大概ドキュメント書くのが下手。そしてプログラムにもコメントを書かない。
三項演算子を多用してプログラムを短くことに執着心と美学を感じている。
うざい、うざすぎる。暑いのが、更に暑くなる。
お前もまともには見えないが・・
反論できないやつはすぐ
>>93 みたいなこと書くんだよな
レッテルを貼りたいお年頃ってやつですね、わかります それはともかく、面倒なのも嫌、作るのも嫌なら自分で探してくるか お金を払って誰かに作ってもらいなさいね もしかして自分で探すのも時間がかかって本末転倒?
>>95 ほっとけ。どうせ
>>93 は暑さで頭がおかしくなっているか、もしくは元々おかしい。
>>96 > レッテルを貼りたいお年頃ってやつですね、わかります
お前自身がレッテル貼ってんじゃんw
自己矛盾にも気づかないんだろうなぁ。それとも新手の釣りですかw?
おいおい顔真っ赤にしてレスしてんなよ^^;
顔真っ赤な人が多いね 文章書く時に癖に気をつけないとね
それぞれ求める環境は違うんだから、IDEに依存したって、ラインエディットを好んだっていいじゃん 希望を満たしたIDEを知ってるなら教えてやればいいし、ないならないでいい まとめ厨の俺乙
連想配列のソートは可能ですか? $array = array( 1 => array("田中", 38), 2 => array("吉田", 67), 3 => array("渡辺", 11), ); これを数値の低い順番に $array = array( 3 => array("渡辺", 11), 1 => array("田中", 38), 2 => array("吉田", 67), ); のようにソートしたいんですがどのようにすればよいのでしょうか
104 :
nobodyさん :2008/08/19(火) 15:37:43 ID:2hCJvM5X
105 :
102 :2008/08/19(火) 15:39:03 ID:5mUkQ2xD
すみませんsage解除忘れていました。 宜しくお願いします。
107 :
104 :2008/08/19(火) 15:54:09 ID:2hCJvM5X
lol
:P
112 :
nobodyさん :2008/08/19(火) 17:08:24 ID:rbkh+xPC
cgiとしてphpを実行するとき、スーパーグローバル変数の初期化やheader関数でヘッダを送信できるようにするにはどのように設定すればいいのでしょうか?
>>104 phpinfo()で「Registered PHP Streams」にhttpはあるのか?
>>102 多次元配列だな
array_multisortを使え
数値列を1次元配列で取得してarray_multisortの最初の引数にSORT_ASCフラグと一緒に指定
第2引数に元の配列を入れる
これで出来んか?
>>112 header関数が使えないってどういう状況だろう
既に送信済みなんじゃないのか?
スーパーグローバルも使えるはずだが・・・
var_dump($_GET);とかで見れないか?
まさかregister_globalsのことじゃないだろうな
115 :
nobodyさん :2008/08/19(火) 17:23:40 ID:VxtPs/tV
コンテンツをゲットするとき(readfile/file_get_contents等)でユーザー名とパスワードが必要な場合は どうしたらいいんでしょうか。
>>114 ----index.cgi-----------
#!/usr/local/bin/php
Content-type:text/plain
<?php phpinfo();
------------------------
こういう状況です
phpは5.2.6でコンパイルオプションに--enable-force-cgi-redirectをつけてみたりしましたが、headerではなくContent-typeをそのまま書かないと動きません。
>>117 --enable-force-cgi-redirectはモジュール版からCGI版へのリダイレクトだから関係ないっと
普通は一行目の宣言でphpにスクリプトが渡されるからphpで処理されるよな
Content-typeはブラウザへの宣言だからぶっちゃけPHPとは関係がなかったりする
さぁどこに原因があるか分かるやつカモン!
この情報だけじゃ何もわからんですよ。 headerつかうとどうなるの?
そもそも「動きません」ってどうなる? ブラウザには何もソースが送られてないとかか?それともエラーになってるのか?
#!/usr/local/bin/php <?php header('Content-type:text/html'); これでヘッダが出力されてないのでInternal Server Errorになります
>>121 「\n\n」はどうした「Content-type: text/html\n\n」が正しいんじゃないのか?
123 :
nobodyさん :2008/08/19(火) 20:14:18 ID:PaGmE6kQ
wikiのようなシステムの製作をしています。 「私は韓国人だよ。」という文字列と「私は日本人だよ」という文字列を比較して、 その差分(上記でしたら「日本」という文字)を表示させる処理を行いたいですか、 そのやり方に苦戦しています。 「文字列から文字列を引き算すれば〜」「forの入れ子で一文字ずつ比較して〜」等 いろいろと考えてみたのですが、どれも上手くできません。 何かアドバイスをいただけますでしょうか・・・・
wikiのソース見れ
125 :
nobodyさん :2008/08/19(火) 20:29:29 ID:/yAc2/hi
linuxのcutコマンドのような事をするにはどうしたらよいでしょうか 何か便利な標準関数はありませんか
substr
>>123 今のところwikiも行単位の差分だもんなぁ
文字列比較になると文字数の違いをどう吸収するかが悩みどころだろう
諦めて行単位のdiffがいいと思うぜ?
俺だとarray_diffとarray_intersectを使って文字自体の違いと共通を出してそこをヒントにフレーズを導く、
とか考えるが難しいことには変わりない
128 :
nobodyさん :2008/08/19(火) 21:21:13 ID:6/c1nOwy
while($col = mysql_fetch_array($rst)) { //各レコード内容を表示する表を組み立てます $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が一緒なのでどのように判別すればいいかがわかりません。どのようにすればいいでしょうか?
>>127 ありがとうございます。
とても参考になります。
131 :
nobodyさん :2008/08/19(火) 21:32:25 ID:6/c1nOwy
>>130 やはりこのやり方ではできないんでしょうか?
$btnedit=$_POST['btnedit$cnt']; $btndel=$_POST['btndel$cnt']; ここをループさせて更新とか削除という値が入ってる$cntを探せばいいんじゃないのだろうか? >通常1formにsubmitは1つ んなこたーない。 nameは統一してvalueで区別するとラジオボタンと同じ感覚で使える。 とはいえvalueってのがそのままボタンのラベルになるからどうも使いづらいんだよな。
わかるわかる せめてbuttonタグが思い通りに動いてくれればいいのにな 下みたいなヤツ <button type="submit" name="action" value="regist">登録</button> inputタグでやるとマルチバイトでswitchやifするのが気持ち悪いんだよなぁ
134 :
nobodyさん :2008/08/19(火) 22:11:30 ID:6/c1nOwy
>132 このようにしてみたんですが、ダメでした。 for($cnt = 0; $cnt < $reccnt; $cnt++) { if(isset($_POST['btnedit$cnt'])){ $btname=$btndedit.$cnt; break; } } 更新が入っている$cntを見つけたら$btnnameにbtnedit$cntという値を保存したいんです。どうすればいいかわかるでしょうか?
>>134 ----------------
categname[]
categid[]
----------------
を
----------------
categname[$cnt]
categid[$cnt]
----------------
にしたらいいんじゃないか?
btnedit$cntの$cnt部分から目的のデータを正確に取れる
136 :
nobodyさん :2008/08/19(火) 22:22:52 ID:6/c1nOwy
そこはもう何とかデータが取れたので大丈夫なんですが、どのボタンが押されたかを判断するのができないんです。これができないと削除するとき全部削除することになってしまうんで…
137 :
nobodyさん :2008/08/19(火) 22:57:55 ID:6/c1nOwy
>>128 ですけど、
ボタンを押しても送られてくる$cntは最後の値しか入ってないんですが、そこはどうにかならないですかね?
とりあえずvar_dump($_POST)でどんな値が来てるか調べてみたらどうだろう
139 :
nobodyさん :2008/08/19(火) 23:25:02 ID:/yAc2/hi
splitして配列の特定の部分だけ取得すればできますね。 forをぶんぶん回すのがいやだなーと思ったのですが、仕方ないですね。 失礼しました
140 :
nobodyさん :2008/08/19(火) 23:36:15 ID:6/c1nOwy
>>138 var_dump($_POST)してみたんですけど、結果は
["btnedit1"]=> string(4) "更新"
となりました。この結果のbtnedit1だけ取り出せないですかね?valueは更新なので、そっちだけなら受け取れるのですが。
>>139 具体的にどのように使えばいいんでしょうか?今調べてみたんですが、どのように、どこで使えばいいのかよくわからなくて・・・
だから$_POST["btnedit$cnt"]=="更新"のとき$cnt=1だろ?
142 :
nobodyさん :2008/08/19(火) 23:58:20 ID:6/c1nOwy
>>141 それはどのボタンを押すかによって変わるんじゃないんですか?例えば3番目のボタンを押したら$cnt=3になってほしいんですが
143 :
nobodyさん :2008/08/20(水) 00:35:06 ID:MvAneMVr
>>140 ですが、わかる方いませんか?結構困ってます(泣)
while($col = mysql_fetch_array($rst)) { $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++;
action="うんたら" method="post" 入れ忘れた
146 :
nobodyさん :2008/08/20(水) 00:44:06 ID:MvAneMVr
>>144 、
>>145 それは
>>128 で書いたんですが、nameの値が同じなので、複数ボタンがある時に、どれが押されたかの判定をしたいんです。
そこでvar_dump($_POST)してみると["btnedit1"]=> string(4) "更新" という値が渡せていたので、これのbtnedit1だけ取り出せないかなと思って・・・
if (isset($_POST['btnedit1')) { $mode = 'edit'; }
148 :
nobodyさん :2008/08/20(水) 00:47:09 ID:MvAneMVr
>>147 ボタン1を押したときはbtnedit1になるんですが、ボタンがいくつもあるので、$cntにするとうまくいかないんです
149 :
nobodyさん :2008/08/20(水) 00:55:24 ID:MvAneMVr
やっぱり無理なんですかね・・・
何を言ってるのか分からん。 他人にも分かるように説明してくれ。 <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つは使わないけど。
<INPUT type='submit' name='btnedit$cnt' value='更新'> <INPUT type='submit' name='btndel$cnt' value='削除'> なんだから3番目の更新ボタンはbtnedit3になると思ったんだが・・・ 俺たちはとんでもない思い違いをしているのか?
152 :
nobodyさん :2008/08/20(水) 01:17:47 ID:MvAneMVr
そこをwhileでループさせているので、更新ボタンと削除ボタンがそれぞれ複数個できるんです。 そこでnameを'btnedit$cnt'にして$cntの部分で変えているのですが、それをどうやって受け取るかがわからないんです。 受け取るのはvalueの値(更新)ですよね?でも判別するときはnameがいるので、そこを何とかできないかなと
末尾に番号付けてても、送られてきたidをキーの末尾にくっつければ取得できるが、気持ち悪いから俺はやらん
155 :
nobodyさん :2008/08/20(水) 01:37:51 ID:MvAneMVr
<input type="hidden" name="id" value="<?php echo $id; ?>"> これはどういったことをしているのでしょうか? もともと<?php ?>でつくっているのですが、2重に囲んでもいいんでしょうか?
その辺は本質でないので気にしなくていいです。変数展開はお好きなように。
157 :
nobodyさん :2008/08/20(水) 01:49:51 ID:MvAneMVr
<input type="hidden" name="id" value="<?php echo $id; ?>"> を追加して $id=$_POST['id'];で受け取ってみましたが、echoしてみると;?>が表示されて、更新ボタンを押すたびに増えていくんですが、これはどういうことでしょう?
158 :
nobodyさん :2008/08/20(水) 01:58:48 ID:4SgzBP1u
そりゃふえるでしょう。 基礎からやりなおせ。
159 :
nobodyさん :2008/08/20(水) 02:00:28 ID:MvAneMVr
時間がないんです、教えてください。ほんとにお願いします。
value="<?php echo $id; ?>">
つーかvalueのところに書くというのがよくわからないんだけど。 ここにかかないとだめなん?
162 :
nobodyさん :2008/08/20(水) 02:16:27 ID:MvAneMVr
valueじゃなかったらどこに書くんですか? すいません、ほんと初心者なんでわからないことだらけで・・・
時間が無いって何?単位でもかかってんの?
164 :
nobodyさん :2008/08/20(水) 02:34:31 ID:MvAneMVr
それに近い形です。だから今日も多分徹夜でやります(泣)
もう分かりやすくするためにボタンを [ID1を削除] とかってvalueにすれんばいいんじゃねw
166 :
nobodyさん :2008/08/20(水) 02:54:14 ID:MvAneMVr
どういうことですか?
何が問題か分からないなら基本からやり直すしかない
168 :
nobodyさん :2008/08/20(水) 02:56:50 ID:MvAneMVr
でもホントに時間がないんです・・・
170 :
nobodyさん :2008/08/20(水) 03:01:48 ID:MvAneMVr
試してみたけどダメでした
じゃ、終了だな 何故駄目だったのか追求しないなら諦めろ
今まで怠けてたツケだw
無理な仕事を引き受けるからだよ
174 :
nobodyさん :2008/08/20(水) 04:12:49 ID:PkKH7Tnj
MySQLのスレできいたのですが、ダメでしたので、 こちらでもお聞きすることにしました。 MySQLのスレには、お礼を申し上げて閉じました。 重複するデータが多数登録されているテーブルがあるのですが、 それを一発で直す関数はないでしょうか? データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で できれば嬉しいのですが。 宜しくお願いします。
175 :
nobodyさん :2008/08/20(水) 04:19:38 ID:PkKH7Tnj
すみません。わかりにいか誤解を与えてしまってレスがつかないようなので、 一発で直す関数というのは、具体的には配列関数でいうarray_uniqueのような関数です。 宜しくお願いします。
>>174 あるわけない
>データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で
謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?
だいたいデータが重複するとか設計に問題があるんだろ
今のまま放置したらまたいずれ同じことの繰り返しになるだけ
phpMyAdminなんかでデータをdumpして
dumpファイルのテーブル部分を設計しなおして再登録したほうがいい
そうすれば登録の時点で重複されるデータは登録されないだろ
>>176 アドバイスありがとうございました。
> 謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?
すみません、誤解を招く表現で。
いいたかったのは、データ件数が7300万件以上ありまして、
UNIQUEキーを設定した仮テーブルを作ってコピーすると、
時間が掛かってしまうため、ミドルウェア層に位置する
SQLの範疇では手に負えないというのが以前の結論でした。
なので、アプリケーション層に位置する高級言語でなんとか処理できないと
考えたのですが、やはりそこでも無理そうでしょうか。
phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。
178 :
nobodyさん :2008/08/20(水) 04:36:44 ID:PkKH7Tnj
すみません、age忘れていました。
全件ループして判定すればいいんじゃないのか
PHPは大規模な処理には向いていない言語なので 7300万件もあるなら他の言語のほうが処理速度はあがると思うよ C++が使えるならそうしたほうがいいかも
>PHPは大規模な処理には向いていない言語なので これは釣り?それとも本気? 本気でいっているならメモリーキャッシュとか使えば、 Java並みの実行速度にはなる。
>>181 Java並にはなってもC++並にはならんわな
つかC++書けるなら目的の処理を行うプログラム書いて そっちで処理すればいいだろ。 実行時間やメモリサイズの縛りがあるPHPで、 わざわざ実行する必要はない罠。
MySQLのことはよく知らんがDBに関数作れないの?
> 実行時間やメモリサイズの縛りがあるPHPで、 だから、それは設定の問題でしょ。もしくは、環境の問題でしょ。 言語仕様の問題みたいにいうと変な誤解する人がいるぞ。
>>184 作れるがそれをした所でDBで時間が掛かってしまうから駄目なんじゃないの?
7400万件あってもPHPで十分処理できるよ
まぁサーバ次第だけど
てかこんな所じゃなくコンサルたのめよ
そもそもINSERT IGNORE INTO SELECTが駄目なのは何で?
管理コンソールから操作すりゃいいのにって思うのは俺だけか?
INSERTとSELECTが駄目って データベース使う意味まるで無いよなw
190 :
nobodyさん :2008/08/20(水) 11:41:13 ID:uoEIdMLz
simplexml_load_fileでXMLデータを取得する時に <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の書式を変えろとかは無しの方向で)
>>180 > PHPは大規模な処理には向いていない言語なので
> 7300万件もあるなら他の言語のほうが処理速度はあがると思うよ
> C++が使えるならそうしたほうがいいかも
あんた実戦経験無し?
7300万件とかそんなにデータが多い場合・・・いや、少なくてもだけど
普通は高速にかつ楽に開発する為に、既に作られている、
ライブラリやデータベースシステムを使う。
ライブラリやデータベースシステムがC++などで作られているから
何の問題も無い。
君の発想は一から全部作る場合の発想。
何らかの理由で世の中に既にある物を置き換えるものを
作ろうとしているのなら話は別だが、
大量のデータを処理する為のライブラリを
C++で作るとかアフォのやること。
>>177 > phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。
JavaやC++でもPHPと同じように無理だから。
193 :
nobodyさん :2008/08/20(水) 12:03:06 ID:nVxHuE1Q
下らない質問ですみません。 '->'とか'=>'は、何と読めば良いのでしょう?。
>>191 高速なライブラリやDBを使うなんてあたりまえの話で、その上でPHPよりC++で
組んだほうが処理は速いんじゃないか、としか読めないんだが
なんでライブラリを作るなんて話になるんだろう
PHPで大規模処理ができるかどうかと言われればできる
けど向いてるかと言われればそうでもないと思う
少なくともデータ処理のバッチをPHPで作ろうとは思わんなあ
バッチ以外の部分がPHPなので保守を考えてとか、なんか理由でもなければね
>>190 fieldが最上位なら普通に考えて無理じゃないか
>>193 セッションIDの文字列チェックが行われないってヤツだな
標準ハンドラではチェックされているから、独自実装の場合だけ脆弱性を帯びる
ファイルシステムだけじゃなくてデータベースに保存している場合でもインジェクションを意識しなきゃダメだろうな
例えばファイルシステム利用の場合でセッションIDに「/../」があれば上位ディレクトリが保存先になるってこと
あぶないあぶない
>>194 読みなんてあったっけ?
「->」 オブジェクトメンバ、オブジェクトメンバメソッドの「参照記号」とでも呼べばいいのか?
「=>」 連想配列の・・・・何?
分からないんですよ。アロー演算子のナニかとしか。=>なんて他の言語にありましたっけ?。 自分も人に聞かれて、何にも頭に思い浮かばず困ってしまったんです。
矢印
ありがとうございます!。 -> が T_OBJECT_OPERATOR、=> が T_DOUBLE_ARROW って、作った人も適当に考えてたのね。 =>これ、何とかならなかったのかぁ。
フレームワークを使った作品の納品てどうしてる? フレームワークごと渡すの? それとも設置の時点でインストールしてもらうの?
おお、ありがとうございます。 T_OBJECT_OPERATORはまだしも、T_DOUBLE_ARROW って、作った人もいい加減だったのね。 何とかならなかったのかなぁ。
->は「ハイフン大なり」 =>は「イコール大なり」
>>205 ナイスオチ
口に出すことがほとんどないから特に意識てなかったんだろうな
>>198 Perlの連想配列も=>を使うぜ
PHPはPerlの拡張から始まったしその名残じゃないかな
207 :
nobodyさん :2008/08/20(水) 15:46:15 ID:1OHJU2Jn
JavaScriptとPHPの変数の受け渡しについて教えてください。 <script type="text/javascript"> <!-- <?php $str = "document.getElementById('test').value"; print("出力結果:$str"); ?> // --> </script> <span id=test>hogehoge</span> 例としてtestの値であるhogehogeをJavaScriptを用いてPHP変数に受け渡したいのですが 上記の方法で実行してもできません いったいどのようにすればできるのでしょうか?
>>207 同時にフォームのinput type="hidden"にセットしてPOSTするとか、
httpRequestのGETパラメタで投げるとか幾らでもやりようあるように思うが。
210はツンデレ。本音は↓ ':, ', _____,,.. -‐ ''"´ ̄ ̄`"'' ー 、., / ':, ', >' ´ `ヽ. / し バ ':, / ヽ. ,' な カ ':, ,:' / / ,'´ ヽ. ':,/Ti i. い に . \ ,' / / ,' ! ; ', ヽ__ /::::| | | で \ / ,' ,'! /! ! ; /! i 「:::|'´::::::::| | .!. く ∠__,! / !メ、」_,,./| /! / ! ハ! |__」<:::::」」 |. れ `"'' 、..,,_ ! / ,ァ7´, `iヽ| / |ヽ、」ニイ、 | ! |^ヽ、」」 |. る i,/レイ i┘ i. レ' 'ア´!_」 ハヽ| | | ∠ ! ? ─-- / ! ゝ- ' ! ! ! | | `ヽ. / 7/l/l/ 、 `'ー‐ '_ノ! | i | ` ' ー--- ,. -──-'、 ,人 `i`ァー-- 、 /l/l/l | !. | | ヽ.ソ `: 、. レ' ', u ,/| | ! | そ 知 i /ーナ= 、 '、 ノ ,.イ,カ ! | | の っ .|ヘ./|/レへ`>-r =ニi´、.,_ | i ハ ! ,' く て ! _,.イ´ヽ.7 / /:::| /レ' レ'レ' ら る | /7:::::! ○O'´ /::::::レ'ヽ. い .わ .| / /:::::::レ'/ムヽ. /::::::::/ ヽ. ! ! よ ! ./ ,':::::::::::!/ ハ:::::`´:::::::::::;
>>210 にはびっくり
みんなの本音は
>>208 と同じだと思うぞ
目的が見えないんだよ
>>208 の言いたいことは、testの値を出力するならjavascriptのdocument.writeでいいじゃんってこと
>>209 のアドバイスはtestの値をPHPで加工する場合のこと(POSTがページ変移ありで、httpRequestはページ変移なし)
ちなみに
>>207 の説明でもソースでも、上の2通りのどっちか分からん
どうしたいかは分かる、でも何がしたいか分からんってことだな
騙りにマジレスかっこわるい
>>214 208だが煽ったつもりはないぜ
>>207 がしたいことをそのままソースで読み取ったわけだからPHPでせず
>>213 のいうとおりdocument.writeでできるってことを言いたかっただけ
printするのはあくまで例だろ。そんなことも分かんないの?
一言アドバイスすれば、そもそもPHPはC++言語で作られていて、 少なくてもC++よりも速くならない。 いや、速くならないどころか遅くなる。 変数を割り当てるたびにメモリーを割り当てるから、 ループの中で変数をつくったりすると、 メモリーリークが頻発する。だから、大規模開発には向かない。 そもそも、PHPはJAVAのようなガーベージコレクションが効率よく動作しない。
よそでやれカスが
>>219 さんざん反論しておいて、反論できなくなったら、
今更スレ違いを主張するのか。主張に全く一貫性がないな。
>>217 クライアントサイドからサーバサイドに逆に値を受け渡したい場合だってあるだろ。
想像力が貧困すぎ。
もしかして全く予想できない?document.writeするだけしか思いつかない?
初心者が下手に回答すると恥かくからやめとけ、な。
>>221 クライアントからサーバへ送りたいのはわかるが説明とソースからは必要性を感じない
だから質問にもっと詳しい情報がほしいって意見じゃないのか?
>>218 PHPってC++で出来てたんだ・・・libcppを呼んでないんだが・・・共有じゃなくて静的に組み込んでるのか?
これが夏休みって奴か・・・
C++がPHPより早いってのは正論だろ
一般的に低級言語より高級言語のほうが出来ることも少ないし処理速度は遅くなる
C++は高級言語だがPHPと比較するとC++のほうが低級に位置する
そもそもPHPがインタプリタな時点で(ry
で脊椎反射でレスしてる馬鹿はちゃんとスレ主(
>>177 )の意図を汲め
>なので、アプリケーション層に位置する高級言語でなんとか処理できないと >考えたのですが、やはりそこでも無理そうでしょうか。 >phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。 無理そうではないが時間がかかるのは一緒 処理時間に拘ってるようだから少しでも早く処理を終わらせたいならC++のほうがいい こうですか?わかりません
なに当たり前のことを車輪の再発明のように議論しあってんの? マジきめえwwww
230 :
nobodyさん :2008/08/20(水) 17:17:57 ID:LhJjLaqd
Windows XP SP3 + XAMPP 1.6.7 で開発してるんですけど、 move_uploaded_fileしようとしてもfailed to open stream: Permission deniedになっちゃいます。 保存し直すディレクトリの権限はeveryoneでフルコントロールにしてるし、 (もちろんusersもログインしてるユーザもフルコントロール)なにがいけないのが 全然分かりません。 分かる方いらっしゃったらどうか教えてください。
全ては挑発的な脊椎反射レスしか返せない
>>191 がアホだから悪いってことでオシマイ
>>230 とりあえずmove_uploaded_file近辺のソース
233 :
230 :2008/08/20(水) 17:29:03 ID:???
>>232 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してます。
IMG_PATHをうp
>>177 >UNIQUEキーを設定した仮テーブルを作ってコピーすると、
>時間が掛かってしまうため、ミドルウェア層に位置する
>SQLの範疇では手に負えないというのが以前の結論でした。
どんな処理するんだ?
>>187 にも答えてくれ。
>>227 > そもそもPHPがインタプリタな時点で(ry
世の中に、まだ純粋なインタプリタって存在しているのかね?
マイナーな言語ならしらんが、
今はソースコードをコンパイルして動かしているだろ?
ページ開くたびに毎回コンパイルする必要はあるが
そのコンパイルの時間はかかるが、それが終わったら
あとはネイティブとほぼ同じだろ。
ページ開くたびにコンパイルしない方法もあるし。
237 :
230 :2008/08/20(水) 17:36:37 ID:???
>>234 define('IMG_PATH', "C:\\xampp\\htdocs\\test\\logo");
です。
>>237 define('IMG_PATH', "C:\xampp\htdocs\test\logo\");
これはやってみた?
239 :
230 :2008/08/20(水) 17:50:39 ID:???
>>238 それもやってみました。
failed to open stream:Invalid argumentエラーが出ました。
>>238 \\じゃないと"がエスケープ処理させるぞwwww
>>237 パスはあってるんだよな・・・
chmodで権限0777にしても同じかな?
241 :
230 :2008/08/20(水) 17:54:40 ID:???
>>240 フォルダのプロパティ→セキュリティからの設定は一通り全部フルコントロールにしたんですが…。
chmodってWindowsで使えるんですか?
>define('IMG_PATH', "C:\\xampp\\htdocs\\test\\logo");
logoの後ろに\\とか?
アップローダーのようなものは2年前に作ったきりでどういうのか忘れたけど
当時のソースがこうなってる
move_uploaded_file($_FILES['test']['tmp_name'], "D\htdocs\test\");
>>240 Windowsはパーミッション変えれないでしょ
243 :
230 :2008/08/20(水) 17:58:31 ID:???
>>242 うーん、やってみたけどダメでした。
D\htdocs\test\
↑ここのコロンはなしでしたか?
244 :
230 :2008/08/20(水) 18:05:54 ID:???
>>242 さん
ダメでした、コロン取ってもできませんでした。。
move_uploaded_file使ったことないんで推測だが 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 . "ファイル名");
246 :
nobodyさん :2008/08/20(水) 18:14:37 ID:hs1BSUYJ
インタープリタってあれだろ?ソースコードを実行するたびに翻訳しなきゃならんあれだろ? まるで、おまえらの女付き合いと同じじゃねえか。。 女経験がないから、女が違うたびにあーでもないこーでもないって思案を重ね、ようやくエッチまで持っていけるんだろ? その点、俺なんて、幾多の女を渡り歩いてきたから、もう女と付き合う手法がコンパイルされた状態でインプットされてるわけ。 わかるか?
そのとおり move_uploaded_fileの第2引数を「ファイル名」にしよう
248 :
nobodyさん :2008/08/20(水) 18:15:28 ID:hs1BSUYJ
ムキー!!
249 :
230 :2008/08/20(水) 18:16:30 ID:???
250 :
242 :2008/08/20(水) 18:17:35 ID:???
混乱させてごめん なんか勘違いしてたw 動かなかったわorz 動いたものだとおもったんだけど・・・おかしいなぁ
251 :
230 :2008/08/20(水) 18:17:37 ID:???
スレチだがSmartyでforみたいなループないんだな ちょっと不便
つまり、お前は本当のプロの仕事というのを見たことがないんだよ。 本当のプロの仕事っていうのは、 普通の人間が5、10年勉強しておいつける代物ではない。 ある程度一人で出来るようになったからって、 勝手にのぼせ上がっているだけ、お前は。
本日のキチガイID:hs1BSUYJ
>>252 forの何を求めてるかしらんけど、sectionではあかんの?
で、どっかのjavaやc++のスレで回答もらったんかね
やっぱりxampp使ってる奴は糞な質問する奴が多いな
>>255 あああああああああああああ
すっかり忘れてた
ありがとうございます
そしてsectionさんごめんなさい
259 :
nobodyさん :2008/08/20(水) 18:40:14 ID:8rByw6kX
readfileとかでDLさせてる途中で相手が切ったり通信がぶち切れたりした場合は その下のスクリプトは実行されてるんでしょうか?
260 :
nobodyさん :2008/08/20(水) 18:51:32 ID:hs1BSUYJ
>>254 プギャーm9(^д^)<嫉妬厨乙wwwwwwwww
262 :
nobodyさん :2008/08/20(水) 18:57:11 ID: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ニト | / て=-、─----‐‐─ヽ / ̄) ̄ ト' ト= -' <ニ>
>>262 お前wwwwwwwwww洒落にならんAAはるなwwwwwww
どういう意味なの?
納期日(プログラム作成終了)をもって、首。
ありがと。 そんなことがよくあるのか・・・
おれは基本的にプロジェクトがおわったら、 別のプロジェクトに変えるようにしているから関係ないわ。 同じメンバーで長くやっていると、色々な意味で成長しない。
268 :
174 :2008/08/20(水) 19:35:25 ID:PkKH7Tnj
仕事から帰ってきました。 レスが多くてびっくりしました。大変ありがたいです。 ただ、結論はphpでも一発で処理するのは難しいってことですかね。 array_uniqueのような関数があるので、 MySQLのバイナリーファイルをちょこちょこといじって、 重複データを削除してくれるような関数があると思ったのですが、なさそうですね。 7400万件をSQL経由でコピーしますと、時間的には数時間かえってこないのに加えて、 データーベースのファイル自体がコピー中に破損する現象があるので、 # バージョンがSTABLEじゃなくRELEASEレベルなのが原因かも。 関数かなんかで瞬間的にできればと思った次第です。 色々とお答え頂き、どうもありがとうございました。 C++が皆さんのお薦めということなので、C++のスレで聞いてみます。 本当にありがとうございました。
いや、だから普通にループしてチェックするんじゃだめなのか。 メモリとCPUパワーと時間さえあればできると思うが。 ローカルいじるだけなら書きやすいphpでやるのが楽。
ループ処理とか回数が増えれば増えるほどPHPが苦手な分野じゃねえか その時間を短縮するために他の言語のほうがいいっていってんだろ ためしにPHPとJavaとC++でループ処理比較してみれ
271 :
174 :2008/08/20(水) 19:47:54 ID:PkKH7Tnj
>>269 レスありがとうございます。
一レコードずつフェッチして、そのレコードのキーで7400万件のデータに検索して、
レコードが重複していないかチェックするという処理でしょうか。
ただ、それは、一番時間が掛かるような気がします。
私が考えられる中で考えたのは、一番最初に書きましたが、
現在UNIQUEキーが設定されていないテーブルを捨てて、
仮のテーブルを作成し、UNIQUEキーを設定し、
その仮テーブルにINSERT IGNORE INTO SELECT * FROM 〜で、
エラー無視のINSERT文の実行です。
これなら、SQL文は、CRATE, INSERT, DROP, RENAMEで終わりですが、
INSERTが数時間もしくは十数時間かかります。SQLの欠点は、
途中経過がよく分からないのも欠点です。
SELECT COUNT(*)でやっても、busy状態に陥ってコマンドが拒絶されます。
う−ん、悩ましい。
どっちにしろSQLで処理するのだから C++だろうがphpだろうが大した差はないと思うな もしかして、C++薦めてる人は何もかもC++でやろうと考えてるのかな
>>272 話わかってないだろ?
SQLを他言語で操作するんだから
その間のレスポンスが早い言語がいいって話だろ
>もしかして、C++薦めてる人は何もかもC++でやろうと考えてるのかな
case by caseにきまってるだろ
ただ今回はなるべく時間を短縮してやりたいっていうことだから
C++をすすめてるだけだろ
>>271 十数時間かけてやりゃいいじゃん。
C++でやるとしてもC++ならMySQLのバイナリ直接操作してunique取れるのか?どうせ単純ループだろ。
悩んでないでさっさとやれw 質問するまでもない。
>>274 だから、phpはCのオブラートに包まれているんだよ。
だから、できることは少ないし遅い。その代り開発速度は速いが。
Cは色々できる反面、処理がやっかい。自由度をとるか、効率性をとるかだよ。
あたま沸いていんじゃまいか?
>>275 ん?だから本人が好きな方法でさっさとやればいいじゃん。
あたま沸いてるとか何言ってんの?
279 :
nobodyさん :2008/08/20(水) 21:08:11 ID:8rByw6kX
しまった、途中で送信してしまった。 Readfileが途中で閉じた場合と完全にファイルを送信し切った場合の判断ってできるんでしょうか。
>>279 PHPでは多分ない
開いた瞬間に全部の実行が決まってしまうからな
あるなら俺もsiritasu
282 :
nobodyさん :2008/08/21(木) 02:29:52 ID:Nimqt/lP
テンプレ見たんですが分からないので質問させてください 環境作って 文字コードをEUCにしたのですが print "こんちには";でやっても文字化けしてしまいます hellowにしたら文字化けはしませんでした プラウザでEUCにしても文字化けしてしまいます どこか設定が間違っているんでしょうか? よろしくお願いします
>>282 ソースはもちろんEUC-JPなんだろうね
284 :
282 :2008/08/21(木) 02:34:55 ID:Nimqt/lP
はい もちろん >環境作って 文字コードをEUCにしたのですが って部分の意味は ソースがEUCってことです もしかしたらapacheの設定がおかしいのかもしれないです…
>>284 Apacheで文字コードが指定されてるとかかな・・
firefoxの拡張とかで鯖のレスポンスヘッダとかを確認してみるといいかも
286 :
nobodyさん :2008/08/21(木) 02:44:44 ID:snmwtUfK
PEARのSMTPを使い、外部SMTPサーバからメール配信しています mail関数を使った時同様、BCCもヘッダに付加していたのですが、 送られたメールのヘッダを見ると、何故かBCCまで丸見えになっていました。 そこで、BCCのアドレスもrcptToに追加し、ヘッダには何も付加しなかったところ、 BCC的なことができました。 そこで疑問なのですが、BCCは、SMTPのレベルでは、 「RCPTコマンドのみ実行し、CCヘッダには追加しない」 という意味なのでしょうか?
>>284 php.iniでEUC-JPな環境を作ったわけではない?
やってないなら言語の設定とかは一応チェックしたほうがいい
phpinfo() で確認
288 :
282 :2008/08/21(木) 02:51:51 ID:Nimqt/lP
>>285 さん
PHP触りたてで分からないんですが
やり方よく分からないです
ですが
ソースの方を色々といじくってたら
上書き保存では文字コードが変わらないらしく
新規でやったらうまくいきました
お騒がせしました
ありがとうございます
今うpろだを改造してます md5でファイル名を出力してるんですが、出力URLが長くなってしまう。 これを4,5文字に縮小するにはどうしたらいい?
>>288 やっぱりソースがEUC-JPじゃないって落ちかw
>>289 連番にして16進数にするとか
もっと強度の低い暗号化にするとか
>>286 ぶっちゃけスレ違いだな
SMTPはRCPTを見て宛先を判断する
通常メールソースにSMTPは介入しないがBCCがヘッダに含まれる場合のみ介入し
BCCのリストをRCPTに加えてBCCヘッダーを削除する
これ以上は他を当たってくれ(使ってるSMTPで実装が異なるケースも考えられるからな)
>>289 同じファイル名からは常に同じハッシュを割り出す必要があるなら
>>291 のような方法
そうでないなら独自にランダム文字列の生成を実装する手もある
ちょw
296 :
nobodyさん :2008/08/21(木) 06:53:07 ID:kJtf63kX
a.phpとb.phpがあります。 a.phpに、require("b.php");として読み込み処理をしています。 a.phpの処理を実行を開始したあと、require("b.php");が実行された あと、a.phpの処理が終了する間に、b.phpに変更を加えても問題ないことは保証されていますか。 テストでは大丈夫そうなのですが、仕様としてどうなっているのか知りたいです。 アドバイスお願いします。
apacheのab使うなりして検証してから書き込みしたのかい?
それにコードにもよるしなんともいえないだろカス
何を言っているのか分からないw
>>294 timeにしようと思ったけどやっぱやめた。。。
download.php?=○○○...&b=○○○...とかやたら長いんだよね
rewriteは使いたくない
エロい人具体的に教えて
>>296 PHPのソースはcoreで中間コードに変換されてexecuterに渡されて実行される
a.phpから既にb.phpの処理へ移行しているならa.php、b.php共に中間コード化されているから
元のソースが書き換わっても問題ない
外部ソースの中間コード化はincludeやrequireで読んだ時点で行われることに注意
と言うわけで問題ないことが保障される
lol
305 :
nobodyさん :2008/08/21(木) 10:16:25 ID:kJtf63kX
>>303 詳しい説明どうもありがとうございました。
だから、不必要なrequireは避けるべきだっていわれるのもその辺りなんですね。
どのタイミングで、どのように実行されるのか分からないかったので、
大変参考になりました。助かりました。
こんなの俺でも出来るって思うのは俺だけか? phpとdb使えば、簡単だろ。そして、2chを情報の取得源にすれば完璧。 ↓↓↓ 総務省がネット上の殺人予告や、隠語を使った拳銃取引など犯罪の情報を検知し、サイト運営企業へ自動的に知らせる新しいソフトウエアの開発に乗り出すことが20日、分かった。 サイト運営企業はネット上の有害情報対策を強化しているものの、監視人員の確保が困難な上、通常の検知ソフトでは、隠語のような特殊言語への対応は困難という。 開発は平成21年度から3年程度かけて取り組み、総事業費は十数億円規模を想定している。 開発するソフトは通常の言葉だけでなく「レンコン=拳銃」など、一般の閲覧者に内容を知られないように使用されている隠語などもデータベース化して盛り込む。また「自然言語技術」と呼ばれる手法を使い、文章全体の構成から犯罪との関連性を推測する機能も備える。 サイト上の情報を犯罪性有りと判断すれば、運営企業へ自動的に知らせ、サイト運営企業は内容を確認した上でその情報を削除する。
>>306 たしかに、それで10数億ってかけ過ぎ。
税金無駄使いムキッ。
NTTデータとかが受注して中抜きして、うちの会社に仕事回ってきそうw
あと、3年も掛からないよw それ3人で1年間もやれば十分できる。十分過ぎる。 1人は自然言語のプロ(形態素とかか?)、2人がSE&プログラマー。 この布陣でOK。ってことは、どんなに金が掛かっても3000万円が相場だなw
もうgdgdになるのは目に見えてるけどな 1年後には「そういえばそんなこと言ってたなw」 って感じになるのは間違いなかろう
基本的に国がらみのシステム開発がお金が掛かりすぎるだけ。 社保庁のシステムだって、1000億掛けて、あんな穴だらけのシステムだしな。
「結局自動で分類して収集なんて無理」ってことになって、仕様を変更して マンパワーで登録するシステムになります。またの名を「10億円の予告.in」
別に登録する必要もない 予告インももちろんいらない
313 :
nobodyさん :2008/08/21(木) 12:34:29 ID:QGHhiy71
OpenSSL拡張を有効にしたいです。 phpinfoを見ると、configureの中に --with-openssl=shared はあるのですが、OpenSSL固有のセクションは表示されていません。 configureで組み込むだけでなく、 php.iniで何か書かないといけないのでしょうか?
例えば2chからスレの文字列を全部取得して、 京大とかが無償提供している形態素解析器とか使って 未知語をピックアップするシステムだけなら、 phpで500行で、1日で出来る。っていうか、昔大学でやっていたし。 で、それをベースにして後は一年掛けて言葉を付け加えていくだけ。 ちなみに、言葉を100%自動分類なんてできない。80%見つければ上々でしょ。
>>314 それは大学でやってたというベースがあるからだろ?
>>313 sharedってことは共有モジュールでしょ
起動時に読み込まれるからもしopensslのライブラリが読み込めない状態だったら無視されるわな
errorとかwarningって出なかったっけ?
>>316 いや、だから自然言語処理のプロ(京大か長岡大の准教授レベルで十分)を
1年で1000万で見てもらえればいいだけ。(最初の3ヶ月常駐してもらえばいいし)
自然言語処理やっている人間は、CとかPerlとか余裕で出来るし、システムも相当詳しい。
言葉の登録なんて、バイトにやらせればいいしなぁ。このシステム俺が入札できねぇかな。
スレチはうせろ
>>316 ってことは、お前に頼むより、京大の偉い先生に
1年掛けて作ってもらった方が安くってことだろ?
国立大学の教授の給料がいくらかは知らないが。
>>320 京大の偉い先生が、学会で散々既出のテーマに、
1年も張り付いてられるわけがない。
大学生レベルの知識でそれなりのものが出来るものをw
俺も一応文書検索つうか分類つうかの分野の論文を書いたことがあるが... 品詞分解とデータベース化まではお手軽に出来るだろうが、 文書の意味推測、クラスタリングやその検索なんぞは難しいなぁ。 この手の論文は山ほどあるから実装はできると思うけど、 それが論文どおりの精度や、実用的な速度が出せる保証はないので 失敗してもいい研究ならともかく、一千そこそこで請け負う中堅研究者はいなさそうな気がする。 ヒューリスティックなやり方でいいならゴニョゴニョできるだろうけど、研究的にはアレだし。 そういや、NTTってgooの親玉だよね。ということはgooのアレを使うのかな。
> 文書の意味推測、クラスタリングやその検索なんぞは難しいなぁ。 それは、ほどほどに実装するレベルでいいと思うが。 検査対象も新聞の文章ではなく、言葉の変遷が速い口語の崩れた文章なわけで、 1年で仮に80%の検出率が出たとしても、3年研究しても85%程度の検出率にしかならないような気がする。 イメージ的には、ウィルス駆除ソフトの更新パッチの開発かな。 ある程度新型ウィルスを自動で検出して作業負荷を減らしつつも、 更新パッチそのものは人間の手で一つ一つ作っていかないといけない。 まぁ、NTTあたりがそこ当たりの研究が強いから、強みを生かして落札しそうだ。
ハードとか保守とかが高いのねん。必要以上にねw これで儲けてるから
すみません、自己解決しました。失礼しました。
326 :
nobodyさん :2008/08/21(木) 15:31:06 ID:cSskhM/G
こんにちは くだらない質問で申し訳ないのですが・・・・・
phpでメール送信やろうと思って調べてたらmail関数だと文字化けする
mb_send_mail使いなさい。って言われたんですが・・・
でも試しにsubject、本文、from内の名前太郎<
[email protected] >
みたいなバリバリ日本語メールをmail関数で送ったら普通に送れました。
環境はクライアントがyahoowebメールです、サーバはたぶん1000℃メールだと思います。
逆にどんな環境だと文字化けしちゃうんですかね??
327 :
326 :2008/08/21(木) 15:36:13 ID:cSskhM/G
あ、事故解決しました。 火の鳥で受信したら見事!文字化けしてました。 つーことはブラウザーのデコード機能のほうがメールクライアントのデコード機能より優秀ってことですかね? なんかphpじゃなくなってきそうで申し訳ないんですがここら辺をご教授いただけたら幸いです。
> 逆にどんな環境だと文字化けしちゃうんですかね?? サーバーが1000℃に耐えられない環境だと文字化けするんじゃね?
>>326 それ俺も知りたいなぁ。
使っているフレームワークがmailを使っている。
もちろん送信前に自分でJIS変換したり、
MIMEエンコードしたりしているが、それで問題なく送れる。
>>326 さん。ちゃんとエンコードしてる?
mb_send_mailだとそんなことしなくても送れる?
でも結局文字化けやら不具合やらありそうな感じなんだよね。
なにやっているかわからない。痒いところに手が届かない。そんな感じ。
むしろmailで送るのが普通 mb_send_mailなんて使う理由がない
Upload機能をPHPで実装しようとしていますが、php.confにLimitRequestBodyで512Kの 制限がかけられている。 レンタルサーバなのでhttpd.conf,php.confはいじれない。 .htaccessにLimitRequestBody=0とやってもphp.confの設定が優先されるようで×。 このリミットを超えてUploadする手立てはありますか? 分割してアップロードとか出来ればいいのだが・・・
そりゃ分割したのをアップロードするしかないわな
>>331 サーバーに要望出してみれば?
意外にもOKされるかも。この時代512KBはちょっとね・・・・。
>>326 mailで日本語をそのまま適用した際の文字コードと
yahooのWEBメールのブラウザ表示上の文字コードが同じだと化けない
クライアントの内部エンコードが異なるからASCIIに変換して送る必要がある
mb_send_mailは、バグが残ってる場合とパッチで修正されてる環境と様々だから
自分でエンコードしてmailで送るべし
>>333 サーバ会社には要望したのだけどだめとの事。
サーバを変えるしかなさそうですね
質問させてください。 あるサイトの発注管理サイトを制作しました。 環境は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のスプールやキューなど)、全然わからず手詰まり状態です。 原因は何か考えられるでしょうか・・・?
>>336 携帯への連続送信ではねられてるんじゃないか?
338 :
326 :2008/08/21(木) 18:41:55 ID:cSskhM/G
>>329 やってませんw
つーかmb_send_mailだと勝手にやってくれて便利な感じです。
>>334 なるほど・・・
僕が読んだ本だとみんな一様に日本語使うときはmb_send_mail使いやがれって書いてあったから
そのまま鵜呑みにするところでした。
>>338 IT関係の本って、誤植が多いし著者独自の考えがあるから、
話半分で読んでいるよ。
広辞苑のような本とITの本とレベルや信頼度が雲泥の差。
340 :
339 :2008/08/21(木) 18:52:26 ID:???
ちなみに、同じ会社の人間で本やIT系の雑誌記事を書いている奴が結構いるが、 別に飛び抜けて技術力が高いというわけではない。 そういう人が書いているのを、全部信じようとするとはまる。
341 :
nobodyさん :2008/08/21(木) 19:08:48 ID:b3OQUppz
祝日を判定して処理を分けたいと思います。 現在は別ファイルに祝日を記述して、それを読み込んで 判定しているのですが、もっと簡素化できる方法や ライブラリはないのでしょうか?
>>341 祝日は、「国民の祝日に関する法律」という法律で決まっているから、
総務省の法律データーベースから法令データを取得して、
その条文の中に書いてある月日を取得して、判定するのはどう?
ググったけど結構あるね。
>>328 sendに耐えられないなんてひどいメールサーバだな。
php開発にvimって使えますか? ショボノートなので重いIDEは使えないんです><
すいません、質問させてください。 現在、登録されたユーザにメールを一斉に送るものを作っています。 メールを送る部分で、単に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); スパムとかの対策でカットされてるんでしょうか。 うまい回避法をご存じの方、ぜひお願いします。
>>347 何通ぐらい送ってんの?
俺予想はtimeoutなんだけど
>>348 さん
今はせいぜい3通とかで、多くても5通です。
うまく動けば、20〜50通くらいで運用したいと思っているんですが・・・。
>>347 当店の雰囲気に合った服装というのは勿論ですが、
何よりもその服装がお客様ご自身に合っているかどうか、
という点を最も重視してチェックさせて頂いております。
特別に決まりや基準があるわけではなくファッションの基本と同じですので、
難しくお考えにならずにご来店頂ければと思います。
351 :
nobodyさん :2008/08/21(木) 23:17:52 ID:cSskhM/G
>>351 さん
ループですか?
foreachではなく、ということですか?
>>347 あのな、NOTICEレベルのエラーも表示させてみ
ループ内で使ってる変数が未定義とか、そんなオチだろうよ。
354 :
nobodyさん :2008/08/21(木) 23:38:39 ID:2yWxB/YG
Vimなんて平気で使えます><
>>348 foreach内で$addとかの変数をvar_dumpしてみ
普通foreachの外でmail出来てforeach内でループ出来ないってことはない
スコープが透過だからな
それと余談だが、一斉送信はsendmailよりSMTPがいい
sendmailは一通ずつコネクションを切るからオーバーヘッドがウザす
さくらでSMTP使えれば、だが
>> 353さん >> 355さん ありがとうございます! ご指摘いただいて、一通りエラーが出ないようにしてみたらメールが送られてきました。 お騒がせして申し訳ありません…。 もう少しきちんと作って確認をしてみます。 メールもSMTPで送れそうだったらそちらで送ることにします。 ありがとうございました!
357 :
nobodyさん :2008/08/22(金) 00:19:44 ID:UcmQnfu1
>>355 詳しいのか詳しくないのかわけわからんコメントですねw
上と下とが別人みたいw
358 :
nobodyさん :2008/08/22(金) 00:22:22 ID:UcmQnfu1
sendmailよりpostfixやqmailが良い sendmailは一通ずつコネクションを切るからオーバーヘッドがウザす postfixやqmailなら・・・どうだかしらないけどw
359 :
355 :2008/08/22(金) 02:44:01 ID:???
言い方が悪かった
sendmailと言ったのはPHPのmail系関数にwrapされてる実装の方
つまりphp.iniのsendmail_pathで指定したコマンドを経由して送信する機能のことね
SMTPと言ったのは25や587ポートで内部や外部のSMTPにコネクションを開いて送信する方
こっちはコネクションを自分で閉じるから接続・切断のオーバーヘッドが少ない
自分で実装するのが面倒な時はPEAR::SMTPを使う手もある
>>355 「foreach内でループ出来ない」
ボケとる・・・
360 :
nobodyさん :2008/08/22(金) 02:46:30 ID:nRWBXbXV
どなたか教えて頂けないでしょうか? 文字の0〜9をパターンマッチングさせる時の正規表現はどのように書けば よいのでしょうか? ↓だと数字の0〜9のパターンマッチングになるため、$search_numberに 文字列の0〜9(例:文字列で777)が入っていても0として扱われてしまいます。 preg_match("[0-9]",$search_number)
361 :
nobodyさん :2008/08/22(金) 02:47:54 ID:XmBnafOM
Net_SMTP使ってるんですが、 $smtp->connect()時に、タイムアウトをたとえば10秒に指定していても、 回線を切って実行してみると、エラーを返してくるのが1分後くらいです。 何が問題なのでしょうか?
363 :
361 :2008/08/22(金) 03:08:54 ID:???
Net_Socketの中見たら、中でgethostbynameとか使ってました 回線切ってたからここで引っかかってたのかも っていうか、この関数タイムアウト自体がないんですね PHPテラアホス
>>362 / が抜けているだけだったのですね。
上手く動作しました。ありがとうございました。
>>363 まぁしかたないと思う
Cの同名関数を利用してるしな
ソケットで独自に実装すればstream_set_timeoutが使えるのにな
>>317 sharedの場合soファイルが出来るだけ
iniの設定変えてなかったらエラーとか出ない
ただ関数がネーヨというエラーは出るがな
367 :
nobodyさん :2008/08/22(金) 09:19:01 ID:5EVYna0b
すみません。教えてください。 phpで作ったサイトで運用してますが、 CPU Load Avarageというのを見ています。 これって、1を超えると、CPUの使用率は常に100%という関係になるのでしょうか? 私の場合、1を常に超えた状態なので、phpが暴走するのではないかと不安視しています。 サーバを増やすなどの措置が必要になりますか? アドバイスを教えてください。
はぁ?お前は何を言ってるんだ
369 :
nobodyさん :2008/08/22(金) 09:28:56 ID:5EVYna0b
>>368 すみません。具体的なイメージなんですが、
私が不安視しているのはwindowsの場合とかって、
CPUの使用率が100%になると暴走状態になって、再起動することになりますよね。
そのような状態がサーバーで起こっているとしたら、
新しく起動されたphpが暴走して、どんな悪影響を及ぼすか不安視しています。
windowsみたいに、画面が二重に表示されたり、マウスの軌跡がずらずら並んだり、
そのようなことがphp上で発生する状態なのでしょうか?
もうちょっと知識と経験を積んでから始めたほうがいいと思う
371 :
nobodyさん :2008/08/22(金) 09:50:22 ID:5EVYna0b
>>370 たしかにそうですね。すみません。
会社命令で、その中でパソコンに詳しいのが私だけで、
といっても、ホームページを作った経験があるだけなんですが、
それで会社の全商品を表示したりするサイトなどを一人で立ち上げることになり、
会社から飼ってもらった本を片手にやっと、できったという感じです。
OSは本の付録についていたFreeeBSDを使っています。
ですが、その本でCPU AVERAGEを見ろとかいてあり、みたら1を常に超えている状態になっていて、
困っています。会社に他に空いているパソコンがないので、
別のパソコンを買うにも、稟議書みたいなものを通さないと行けないので、
面倒だったりします。やはり、もう一台必要でしょうか?
>>371 topコマンドの「CPU Load Avarage」か?
ほとんど負荷のない時に1が表示され、負荷の高い場合は最大で10だ
負荷の高さを10段階で評価する
ちなみにスレ違い
PHPがCPUの負荷で暴走することはまずない(せいぜいタイムアウト
メモリ不足でcoreを吐くことはある
374 :
nobodyさん :2008/08/22(金) 10:11:34 ID:5EVYna0b
>>372 >>373 お返事、大変ありがとうございます。
phpが暴走することがないということで、それは安心しました。
ただ、危険な状態には変わりないんですね。
教えられたサイトで、さっそく見積もりを取ってみます。
ありがとうございございました。あと、スレ違いになってしまい申し訳ありませんでした。
>>374 >>372 は釣りだと思うが・・・
CPU面ではまったく負荷が感じられないわけだし
どんなソースを書いてるか知らないからこれだけでは危険と判断出来ん
(スペック的に現状では問題ない)
素人が企業サイト、これは危険だがな
376 :
nobodyさん :2008/08/22(金) 11:25:27 ID:UcmQnfu1
何でHP作るぐらいのスキルの人が鯖管理まで手を出さなくちゃなんない理由が無い。 コストの話なら逆にそっちのほうがかかる。ユーの無駄な人件費が
>>373 何も負荷がない時のロードアベレージは、1じゃなくて0だろ。
誰も突っ込まないところを見ると、このスレの住民は相当レベルが低そう。
378 :
nobodyさん :2008/08/22(金) 11:43:11 ID:SUat73CA
>>377 >>373 もCPU Load Avarage
とか書いてる時点で釣りだと思うんだけど……。
Load Averageのことだとしても、説明変だし。
>>374 スリーサイズ教えてくれたら的確なアドバイスをレスしよう
明らかに釣りなのにいちいち突っ込む奴の方が頭悪いだろJK
>>380 とかいって、俺が突っ込んだのを見て、慌ててレスした癖に。
なんだこの基地外
は? 俺も実は知ってました、それ位赤ちゃんでも分かる、みたいな言いぶり。 こういう奴周りにもいるが、キモイわ。
アフィ貼ってる時点で・・・
385 :
nobodyさん :2008/08/22(金) 12:45:45 ID:q1zzzoBS
釣り人が釣られて怒ってらwwwwwwww
386 :
nobodyさん :2008/08/22(金) 14:56:58 ID:UcmQnfu1
釣り人が釣られるってあれだろ? 渓流でへたくそが投げた針が漫画みたいに口に引っかかってあたたたた〜ってなるあれだろ?
387 :
nobodyさん :2008/08/22(金) 15:53:59 ID:fin98YtZ
うわあ痛そう
俺は、投げたルアーで眼球をえぐられた人を知っているけど。
50近い男女が大学生を演じるって無理ありすぎ!!! 制作予算ねーのかよ。
誤爆だろw
気になるw
sessionをファイルで保存するのと、 memcashedで保存するのとどっちが速いですか? ファイル操作とmemcahedの接続コストとどちらが掛かるかなんですが。 ちなみに今はファイルでやっています。 それより、良い方法がないかと模索中です。
どっちもそれほど変わらん DBとして使うなら全然違うがセッションでは・・・ phpのセッションもコンストラクトとデストラクトでのみファイルアクセスを行うから その時はメモリよりオーバーヘッドが豆粒程度に大きいけど 途中の読み書きはメモリ上に展開されたセッション変数に収まる 結局メモリだからほとんど同じ
>>394 > phpのセッションもコンストラクトとデストラクトでのみファイルアクセスを行うから
そうなんですね。それなら、大して変わりなさそうですね。
というより、ディスクよりメインメモリーの方が小さいことを考えると、
アクセス数が増えるこを考慮してファイルの方がリスクが少ないともいえますね。
であれば、冒険せずにファイルでやってみます。
ありがとうございます!!
おれはもともとアニオタのおっさんが質問してるってことを見抜いてたから一言も答えなかったぞ
一体誰と戦っているんだ
398 :
nobodyさん :2008/08/23(土) 14:07:17 ID:5Laah46M
症状:不要なディレクトリが削除できない FTP経由で不要なディレクトリが削除できなかったので、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になっています。
>>398 .で始まるファイルがあるとか
そうでなければサーバのPHP設定とか
パーミッションエラーじゃないから違うとは思うが、 そのディレクトリの親ディレクトリの書き込み属性とか
400 :nobodyさん:2008/08/23(土) 15:12:43 ID:??? パーミッションエラーじゃないから違うとは思うが、 そのディレクトリの親ディレクトリの書き込み属性とか 書き込み属性がパーミッションだっつうのw
所有権は?
所有権は、時効によって消滅しました。
404 :
398 :2008/08/23(土) 15:50:48 ID:5Laah46M
>>399 変わった名前のファイルは作成しませんでしたし、ファイルは全て削除されたようで空です。
サーバのPHP設定というのはどういう事になりますか?
察しが悪くすみません
>>400 パーミッションは変更出来るので色々試してみましたが、結果は変わりませんでした。
>>402 所有権は自分のIDになっています。
ので、属性変更は可能です。
ディレクトリが削除できません。
>>404 いろいろって、ディレクトリを消す=親ディレクトリの内容が変わる
つまり、wが必要
not emptyなら空じゃないからでしょ パーミッションどうこうでもnot emptyが出力されるはずは・・・ scandir等でディレクトリの中を出力してみたら? .で始まるファイルを隠しファイルとしている場合がある 「.」「..」は無視な
407 :
nobodyさん :2008/08/23(土) 17:33:06 ID:MJFU9Zb0
すいません、すごく基本的な質問です。 掲示板にパスワードを入力してチェックする際に 半角英数字4〜8文字かどうか調べたいのですが。 if(preg_match("/[0-9a-zA-Z]{4,8}/", $pass) これでいけるかと思っていたらこれだと 半角英数字4〜8文字があるとok になってしまうらしく (半角英数字10文字)例)1234567890 (記号有り)例)****1234++ もokになってしまいます。 正しい記述はどうするんでしょう?
408 :
398 :2008/08/23(土) 17:36:35 ID:5Laah46M
>>406 そういう手がありましたか・・・!(頭弱くてすみません
scandir活用させてもらったところ
しっかり隠しファイルがいつの間にか存在していました。
「0 Bytes」という表示から本当に中身は空なのだと思い込んでいたせいで混乱しておりました。
地道にリストアップして削除していきます
助かりました、ありがとうございます!
409 :
407 :2008/08/23(土) 17:55:07 ID:MJFU9Zb0
あ〜、すいません解決しました。 ^[0-9a-zA-Z]{4,8}$ 先頭と終端を指定していなかった。 お手数をおかけしました。
410 :
nobodyさん :2008/08/23(土) 20:19:17 ID:tD80K7qS
phpでメールを送信した後に、本当に送信したメールが届いてるかどうかを チェックする関数を教えて下さいませ。お願いします。 【OS】CentOS4 【PHP】PHP5 【DBサーバー】MYSQL5.0 です。
412 :
nobodyさん :2008/08/23(土) 20:57:45 ID:tD80K7qS
>>411 まじですか?
PHPって、GG佐藤以下ですねw
413 :
nobodyさん :2008/08/23(土) 21:27:58 ID:pIRCIy4o
すみません、質問させてください。 例えばURLから example.php?param1=aaa¶m2=bbb のように2つのパラメータを読み込む場合、 XML形式のサイトマップなどからのアクセスだと、 example.php?param1=aaa&param2=bbb というURL表示からの読み込みとなるため "amp;"がパラメータ名の一部として解釈されてしまい、正しいデータのやりとりがなされません。 この問題をphpプログラム内にて解決するにはどうしたらよろしいでしょうか? ちなみに.htaccessでのRewriteRule機能を利用しての解決はできませんでした。 初歩的な質問かもしれませんが、どなたか教えていただけないでしょうか? よろしくお願い致します。 (php5.2 サーバーはKagoyaの専用サーバープランを使用しています。)
>>412 お前が勉強不足なのだよ
そもそも到着したかどうかなんて分かるわけないじゃん
宛先のMXからリレーしてるかもしれんのに
どうしても必要ならエンベロープに届くエラーメールでもチェックするんだな
>>413 html_entity_decode関数で「&」を「&」に戻せば良かんべ
417 :
nobodyさん :2008/08/23(土) 21:41:06 ID:bsrwSGnB
PHP+MySQLでのサイト作成で、いい方法を思いつかないので、アイデアを貸してくださいw year month day text 2008 8 22 aaaa 2008 8 22 bbbb 2008 8 23 cccc ・ ・ ・ という感じでデータがあって ページ上には 2008/8/22 aaaa bbbb 2008/8/23 cccc という風に出したいです。
>>417 配列を使えばいいんじゃね?
$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つってことで
ぎゃ!まちがった $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);
度々すみません。
>>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 というメッセージが出て
上手くいきませんでした。この関数の正しい使用法を教えていただけないでしょうか?
>> 421 parse_str(html_entity_decode($_SERVER['QUERY_STRING']), $argv); print_r($argv); ってやってみ
424 :
417 :2008/08/23(土) 23:11:04 ID:bsrwSGnB
ありがとうございます! なんとなく見えました!
425 :
nobodyさん :2008/08/24(日) 02:12:36 ID:tkAECmwh
掲示板を製作しています。 テキストエリアから入力された改行コードを<br>に変換するのは以下のコードでできるのですが、 $ensql = preg_replace("/(\r\n|\r|\n)/","<br>",$ensql); 逆に<br>を改行コードに変換するのはどうすればよろしいのでしょうか? 編集機能を持たせようと思い改良を加えているのですが・・・ \r\nでしたらWindows系ですし、\nでしたらUnix系ですし・・・・
>>425 べつに\nで出力したっていいじゃん
どうせ正規表現で<br>に直すんだから
winで\nで出力したらなんか問題でもあるか? ためして不具合でてからいってくれ
428 :
nobodyさん :2008/08/24(日) 02:34:37 ID:tkAECmwh
すいません・・・\nでも問題無いのですね。 ありがとうございます(;´Д`)
どっちでも問題ないが、それとは別にWindowsの環境で テキストモードでオープンしたファイルに\nで書き込むと 勝手に\r\nに変換される。 テキストモードというのがあるのは、そういうこと。
430 :
nobodyさん :2008/08/24(日) 09:53:19 ID:wBtpqVh7
いえいえこちらこそ
>>430 strstrだけで何とかなる
終了テキストは補完する必要ありだが
PDOとmysqlの文字化け対策に「set names utf8」を使ってるんですけど これはあまりよろしくないらしいんですが 他に何か解決方法はあるんですか? レンタルサーバなのであまり細かい設定はできないのですが
>>433 文字化けは主にサーバ側で自動変換させるから生じる
この際nemeでbinaryを指定することをオススメ
無変換で通信するから化けることはまずない
>>433 あ、それ俺も聞きたい。スレチだけど。
何かのSQL投げる度に、そのSQL実行するから、SQLの実行数が倍になってしまう。
接続したときに1回実行すればいいだろ
接続直後に、接続に使ったライブラリの機能で漢字コードの設定をすればいい SET NAMES だとライブラリ側は文字コードを認識しないので、文字コードの違いを利用した 悪意のあるコードを入れられる可能性がある。
>接続直後に、接続に使ったライブラリの機能で漢字コードの設定をすればいい mysql関数だとmysql_set_charsetってのがあるみたいですけど PDOだとどうしたらいいんですか?
set namesでいいべ インジェクションを心配するってことはリクエストの文字コード変換やクォートを怠ってるってことでしょ pdoならprepareとドライバで十分とは言えなくてもやらないより全然違う
俺もset namesしかやり様が無いからやってるけど 無駄なクエリが1発っていうだけでなんか気持ち悪いよね
確かに無駄にSQLを流すことになるが APIと言ってもmysql_set_charsetも同じことだぜ サーバとクライアントで文字コードを統一することが第一だな
443 :
436 :2008/08/25(月) 00:26:46 ID:???
ググったら、直った。 ver4.1以降なら、mysqlの設定ファイルの問題。
444 :
436 :2008/08/25(月) 00:28:45 ID:???
おっと書き忘れた。 skip-character-set-client-handshake これをsqldセクションに入れればOK!
<form name="frm" method="post" action="test.php"> <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変数に渡したいのですがどのようにすればよいのでしょうか。 上記のプログラムだとできません。どなたかご教授お願いします。
>>444 my.cnfを書き換えられるならサーバとクライアントの文字コードを統一した方が安全だぜ
そもそもskip-character-set-client-handshakeって
クライアント側の文字コードを省略してサーバの文字コードを強制的に使用するって設定じゃん?
かなり背水な対応方法だな
>>445 誤 $txt = $_POST['txt'];
正 $txt = $_POST['test'];
>>447 こんなところでミスしてたとは…orz
きちんと動きましたありがとうございます
SET NAMES するのを忘れた状態で保存してしまったデータは どうやって取り出したら良いでしょうか?? テーブルの文字コードは UTF-8 データはPHPからSET NAMESを忘れて突っ込んだUTF-8 mysqldump .(省略) --default-character-set=utf8 > hoge.dump して取り出してみたけど、見事にデータがぶっ壊れてます。困った。
そういえば、 var txt = "<?= $txt ?>"; の箇所の<?= 〜 ?>は一体なんなのでしょうか?
>>446 俺は、サーバーもクライアントも文字コード一緒だよ。
っていうか、俺がやっている奴は趣味でやっている奴だが、
そもそもシステム構築する際は、文字コードは統一しておくのが普通でしょ。
文字コードが混在しているシステムは、テスト工数が増大するし、リスクを増える。
>>449 ぶっ壊れたデータは戻せないと思うぞ
特に標準がasciiやlatin1だと最悪だ・・・
標準のコードがマルチバイトならbinaryで取り出してから変換すればいい
>>450 <? echo $txt; ?>の省略形な
454 :
nobodyさん :2008/08/25(月) 14:07:29 ID:H4jIBY1A
WindowsのXAMPPなんでDIRECTORY_SEPARATORが\なわけですが、 $image=getcwd().DIRECTORY_SEPARATOR.'a.gif'; print('<img src="'.$image.'">'); がIEでは表示されるのにFFだと表示されない。 DIRECTORY_SEPARATORではなく'/'と指定すると表示される。 なぜに? DIRECTORY_SEPARATORなんか使わず常に/にしとけって意味?
それは内部処理の場合で、アドレスのセ・パれーたはスラッシュって決まってん稔
でれくとりとうーあーるはちあるもの
457 :
nobodyさん :2008/08/25(月) 14:47:50 ID:+ZyX5O5x
PHP初心者です。 リファラーワードによってリダイレクト先を変える場合って どうやればいいですかね? リファラーを取るまでは上手くできてるのですが…
>>457 どんな手法を取るか知らんがリファラを解析して宛先を決めるとこまで出来てるなら
header関数でLocationヘッダーを流せばいい
header('Location: 転送先URL');
リファラが取得できない設定・ブラウザとかあるからその辺の処理もしっかりなー
include_pathに複数指定する場合、 Windowsだと;区切り、Linuxだと:区切りだけど、 配列からパス形式を生成する場合に簡単な方法ないかな $array = array( '/path/test_dir/', '/path/PEAR/', '/path/Smarty' ); 環境に応じて:や;で区切ってパスの文字列を生成 WindowsかLinuxか判別して それぞれに応じて作成するのが正しいのか、 むしろそういう関数が既にあるのか・・・
ってすまん、パスセパレータじゃなかったね int_setでやってるのか知らないけど 普通にその配列ループしてset_include_pathかけりゃいいんじゃないかな
new_include_path 初めてしった、まじサンクス!! こんな便利なものがあったのか、もっと早く気づけば良かった
465 :
nobodyさん :2008/08/25(月) 16:56:17 ID:wWAEdZe4
連想配列のキーと値が一致するか調べたいと思います。 Array ( [name] => 元旦 [year] => 2008 [month] => 01 [day] => 01 ) こういう連想配列の場合、どのようにして比較すればいいのでしょうか? forで出力してifで比較する以外で、方法がありましたら教えて下さい。
>>465 意味が理解できない
どこがどうなら一致したことになるんだ?
エスパー感覚で回答ならforeach
467 :
nobodyさん :2008/08/25(月) 17:06:19 ID:ddePEaRi
>>467 PEARのメール関係のライブラリにそういうのがあったはず
>>465 エスパーしてみる
比較というより、month=01 day=01 というキーを与えて、
name=元旦 という値を取得したいんじゃないのかい?
ならば、配列の持ち方は、$name = array('0101'=>'元旦', '1231'=>'大晦日')
で参照は$nama['0101']でOK
470 :
465 :2008/08/25(月) 17:10:37 ID:???
>>466 今まで下記のようにして出力していたのですが、
カレンダーの日数毎にforeachでチェックするのも
負荷がかかると思い、他の方法を模索しています。
foreach($date_array as $date){
if($date["year"]=="2008" && $date["month"]=="01" && $date["day"]=="01"){
echo $date["name"];
}
}
>>468 PEAR::Net_POP3だと思う。
>>467 PEAR::Net_POP3のgetParsedHeadersで
ヘッダの内容を連想配列に格納できるから、
それで取得するのが楽だろうな。
472 :
nobodyさん :2008/08/25(月) 17:35:52 ID:ddePEaRi
>>468 ,471
ありがとうございます。
POP3に接続せずに、メール内容を解析する方法はないでしょうか?
>>471 ごめん、mimeDecodeのことだわ
PEAR::Mail::mimeDecodeで生メールの解析ができる
474 :
nobodyさん :2008/08/25(月) 17:43:09 ID:ddePEaRi
>>473 ありがとうございます。
しかし、そのライブラリを使っても、
>>467 のとおり、間に改行が入っていると、
改行後の文字を無視してしまうので、完全ではないんですよね。。
自分で作るしかないのかなぁ。。
>>470 $date_arrayの管理方法を見直した方がイイ
それが出来ないならforeachよりarray_mapの方が今回の例では高速
476 :
nobodyさん :2008/08/25(月) 21:34:33 ID:Ich0UEjQ
例えば以下のようなデータがあったときに ID 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
477 :
nobodyさん :2008/08/25(月) 21:38:21 ID: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 | ----------------------
そうか
479 :
nobodyさん :2008/08/25(月) 21:41:09 ID:Ich0UEjQ
たとえば mysql_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の設定を書き込むには遅いですし・・・ ご教授願います。 ※半角スペースがずれました・・
>>479 一度データをストアしなきゃ連日の計算は出来ん
それかsqlで連日の部分を結果セットに含ませればいい
>とかは 「などは」だろ。 >できるんですが 「できるのですが」または「できますが」だろ。 >ですし・・・ 「です。」だろ。 >ご教授願います。 「ご教示願います。」だろ。 >ずれました・・ 「ずれました。」だろ。
そこ!
483 :
nobodyさん :2008/08/25(月) 22:45:13 ID:EsfmR+iC
QRコードを出力するqr_img.phpについて教えてください。 Linux上の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が要求している バージョンをクリアしていると考えています。 お願いします。
>>484 自分が無知なことを威張っている奴を久しぶりに見たw
もしかしてGG佐藤さんですか?
いい加減他人のスクリプトは作った人間に訊くということを覚えろ
>>485 誰にでも噛み付いて楽しいか?キムチ臭いよオマエwww
市ぬ前にGG佐藤に謝れ、低脳すぎるぞ
>>485 この質問は
>>484 でFA
−−−−−−−−−− 終了 −−−−−−−−−−−
491 :
nobodyさん :2008/08/26(火) 08:49:21 ID:x5C4Qb0i
>>484 そんなこと言うとこのスレの存在意義がわからなくなる。
知らないなら黙ってれば良いのに。。。
>>491 自分が無知なことを威張っている奴を久しぶりに見たw
もしかしてGG佐藤さんですか?
テキストファイルの中身をechoする簡単な記述を教えてください。
495 :
nobodyさん :2008/08/26(火) 10:43:45 ID:x/K+QJ+W
perlのNet::CIDR::cidrlookupに相当する関数というのはありますか? あるIPアドレスがcidr表記のアドレス範囲に含まれているか否かを 判定したのです。
>>494 include('file.txt');
>>495 関数はないなぁ
ビット演算子を使ってマスクからネットワークとブロードキャスト出して
各オクテッド毎にチェックさせればいいんでない?
IPはstringだからドットで分割した後intにキャストしないとビット演算子での計算結果狂うから注意
499 :
nobodyさん :2008/08/26(火) 11:42:15 ID:MPzk6qs2
>>492 ここは無知を晒して質問する場かと思ってました。
あなたがここの管理人さんだったのですね。
毎日監視お疲れ様です。
>>486 正論ですが、スクリプトを作った方には同じような質問が
何度も届くわけで、すでに同様の質問をした人がこの辺に
居れば情報の共有ができ、さらに以降同様の疑問をもった方が、
ここにたどり着いて問題を解決することもあるわけで。
サーバは1つだが、クライアントは何種類もある場合があるのだよ 1対1なら好きなようにサーバ側で設定したらいい。
503 :
nobodyさん :2008/08/26(火) 11:52:45 ID:x/K+QJ+W
504 :
nobodyさん :2008/08/26(火) 12:02:05 ID:x/K+QJ+W
で、また質問なんですが、 a.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の環境変数が出力されました。 環境変数の上書きがなされていないようです。 こういう場合、どうすれば良いのでしょうか?
>>499 情報の共有とか言うなら、作者に質問して結果を自分でページ作って公開すればいいだろ
>>504 htmlでPHPが動くようにしてるんだからssiを使わずにphpに統一しちゃマズイの?
と言うかphpの呼び出しにはvirtualよりinclude/requireがイイと思うのは勘違い?
507 :
nobodyさん :2008/08/26(火) 12:18:43 ID:x/K+QJ+W
>>506 変更ファイルの数が多くて、PHPに統一できないのです。
x.phpの中の環境変数はその前に実行したy.phpを
引継ぎ、上書きされないのがPHPの当たり前なのでしょうか?
>>507 virtualは呼び出し元の環境変数を受け継ぐけど呼び出し元へは反映させないはずだから
ssi経由のy.phpの環境変数がx.phpに適用されるのは良くわかんないな
b.ssiの記述方法によってはy.phpの環境変数がa.htmlに上書きされるかもしれん
b.ssiでphpのvirtual使ってるからそんなはずないんだけど・・・
情報の共有(笑)
511 :
nobodyさん :2008/08/26(火) 12:57:17 ID:x/K+QJ+W
困った。。。
MySQLで、latin1で保存されたデータをUTF8で保存し直す簡単な方法はないでしょうか? 少ないデータなら、HTMLで表示させて手動で登録し直す、ってことが出来るんですけど 大量のデータだとちょっと無理がありまして・・・。
513 :
nobodyさん :2008/08/26(火) 14:08:41 ID:x/K+QJ+W
現象は分かった。 解決が分からん。 y.phpの中で $_SERVER['xxx']で 環境変数を参照すると x.phpまで引き継がれ、 y.phpの中で $_SERVER['xxx']で 環境変数を参照しないと x.phpの中の環境変数取得で 正しく取得される。
MYSQLのlatin1って、実体はSJISだったけ? なら、mb_encodeなんとかで出来るんじゃないの?
>>512 binayなら壊れないからnamesにbinaryをセットしたりして取り出してから
ISO-8859-1(latin1)からutf-8に変換すればイイよ
mysql_dumpとかでも--default-character-set=binaryで出力してから変換すればいい
mysqlから出力する際に自動変換で壊れる可能性があるからbinaryで無変換のまま取り出してみようって案
田辺課長の側近をしております高村信次と申します。 これから色々とお世話になりますが、どうぞ宜しくお願いします。
517 :
nobodyさん :2008/08/26(火) 14:59:38 ID:x/K+QJ+W
もっと現象は簡単になった。 a.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 と出来ないもんだろうか?
518 :
nobodyさん :2008/08/26(火) 15:14:53 ID:WAy8FwvQ
pearとかのクラスって コンストラクタでnewするやつと factoryメソッドがあって::factoryってやって作るやつとあるけど どう違うの?
520 :
nobodyさん :2008/08/26(火) 15:32:06 ID:x/K+QJ+W
出来た。 $_SERVER["PHP_SELF"] を apache_getenv("PHP_SELF") に変えたら出来た。 こんな方法で良いのだろうか???
>>520 いいんじゃないか?
Apache2と言う縛りがあるみたいだが汎用システムじゃないようだから問題なかろう
522 :
nobodyさん :2008/08/26(火) 18:05:39 ID:x/K+QJ+W
>>521 ちと、ダメだ。。。
ssiとPHPは一緒に使わない方がいいみたい。
apacheが1分間隔で再起動して
挙動が変だわ。
ssi辞めて、phpで統一するわ。
相当あるんだよな、書き換えるファイル。
"2000-12-31" という文字列を "20001231" にしたいのですが、PHPではどう書くのがスマートですか。 今は preg_replace('/-/', '', $str) としています。 もっといい書き方があればおしえてください。
>>523 正規表現使わないならstr_replaceでよくね?
>>522 なんと言う災難
頑張って書き換えてくれ!
>>522 >apacheが1分間隔で再起動して
SSI使っているなら、正常な動作だよ。
527 :
nobodyさん :2008/08/26(火) 19:46:19 ID:C/n8oxtA
自前でプリペアドステートメントみたいなエスケープ処理をしたいのですが SQLの「地の文」の?だけを置換するにはどうしたらいいですか?
528 :
nobodyさん :2008/08/26(火) 19:48:33 ID:qM7jKR0b
セッション管理しているサイトのサーバでapacheが再起動かかったときって セッションて継続するんですか? セッションデータはファイルで保存されているので、セッション切れずに 継続するんじゃないかと思っていますが、どうなんでしょう。 使用しているサーバが1日1回apacheを再起動しているらしくて その時間にセッションの動作がおかしくならないかぁ、とちょっと心配。
529 :
nobodyさん :2008/08/26(火) 19:49:57 ID:x/K+QJ+W
>>526 SSIってそうなんだ?
今、100万ファイルの更新中です。
>>524 >正規表現使わないならstr_replaceでよくね?
ありがとうございます。str_replaceを使うことにします。
>>529 100万もあんのか
どんなサイトつくってんの?
532 :
nobodyさん :2008/08/26(火) 20:30:03 ID:x/K+QJ+W
>>531 教えられないです。
でも、100万ファイルあって、
SSIでインクルードしてるんです。
これを書き換えて、チェックバッチで確認して、
バックアップして、さらに、もういっこバックアップして、
ってのがつらいので、簡単に済ませようと
しましたげど、もう、統一します。
>>527 手軽にやるならドライバをループさせてpreg_replaceのlimitに1を指定して置き換え?
str_replaceにもlimitがあればなぁ
>>528 セッションファイルなら再起動しても生存時間までは持続
>>532 苦労の分、オーバーヘッドは減りそうだな・・・
正規表現に関して質問があります。 今日は[[とても]]楽しかったね。[[明日]]はもっと楽しくなるといいね。 という文章があったとして[[(..*)]](大カッコ二つ)にヒットする文字列の抽出を行いたいのですが、 どうしても上手くいきません。上記ですと、 [[とても]]楽しかったね。[[明日]] ↑までが一つとしてマッチしてしまいます。 どうしたらよいでしょうか・・・?
535 :
534 :2008/08/27(水) 02:00:55 ID:???
すいませんスレ違いでした 向こう逝ってきます。。。
536 :
nobodyさん :2008/08/27(水) 11:36:16 ID:RCwwZoSd
質問です。 phpの文字コードを全てUTF-8に統一していたのですが、 ふと読んだ本で、Unicodeには色々あってUTF-8だけではないことを知りました。 UTF-16の方は2バイトなので、そちらの方が容量が少なくて済むらしいですが、 Unicodeでお勧めの文字コードはありますか? ちなみに私のサイトには色々な国の方が来るので、 できるだけ多くの言語に対応できる方がいいです。
>>536 >できるだけ多くの言語に対応できる方がいいです。
それならutf16でいいじゃまいか
マルチバイトを多く使うならutf16がいいけど、htmlとどっちの割合が多いかで決めればいいかも
utf8は英数を1バイトで、utf16は英数も2バイトで表現するからね
>>536 utf-16使うとどれくらい容量が節約できるんだい?
isset($array['key']) と array_key_exists('key', $array) ってなにか違いがありますか? どっちをつかうべきか判断材料がありましたら教えてください。
そりゃ目的によるわい
>>538 >>536 の節約の根拠は多分、utf8だとマルチバイトは3バイト、utf16だと2バイトだからじゃね?
>>539 ステートメントと関数と言う違い
issetは引数を複数持ててANDで評価出来るし、変数自体がなくてもE_NOTICE出ねぇ
後、良く見れ、返り値の型も違うぞ
もうすこし具体的な回答よろしくお願いします
>>541 うむそれで計何バイトくらい節約できるのかなと。純粋な興味で。
>>543 もうすこし具体的な質問よろしくお願いします
547 :
536 :2008/08/27(水) 12:43:06 ID:???
もういいです。こんなところで質問した私が馬鹿でした。 低脳ばかりで嫌になります。さようなら。
>>544 マルチだけを見れば33%OFFだな
asciiの分が逆に2倍だから実際のバランスを見ないと分からんだろうなぁ
しかもファイル毎に違うとキタ
phpで書くんだからシングルバイトが多いはず、だからutf8の方が良さそうだよな
>>543 >>545 そもそもどの回答のことだ? idもないし引用もないし特定できん
イーモバイルなんかでアクセスしてくる奴って、 どうせお金もっていないから対応しなくても大丈夫だよね。 イーモバイルの帯域が多すぎて面倒だし、ほとんどユーザー居ないし。
>>549 どうせ、高橋克典と一緒で時間の問題で潰れるのが関の山だよ。
資本力がない会社が、安さだけを売り物に参入したってダメだって。
551 :
nobodyさん :2008/08/27(水) 17:38:02 ID: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");としていました。
winXPです。 Apache2.2.9 PHP5.2.6です。 拡張子htmlでもphpが動いて欲しくて、 下記の記述をhttpd.confにしましたが、 動いてくれません。どうすれば動きますか? 教えてください。 AddType application/x-httpd-php .php .html
>>552 そりゃhttpd.confの設定が何かおかしいんだろ
普通にphpは動くの?
.htaccessはちゃんと使えるの?
もし使えるなら.htaccessで
AddType application/x-httpd-php .html
というのをルートにおいてみ
リスタートした?
>>551 コンパイルオプションでlibxml2があるかどうかもチェックした方がいいかもな(phpinfo)
組み込まれてなかったら諦めて代替を検討
組み込まれていても読み込まれていない可能性がある、この場合はdl()でロード出来るか確認(dom.soやdom.dll)
556 :
552 :2008/08/27(水) 18:21:24 ID:???
>>553 phpinfo.phpの中にphpinfo();を記述しています。
phpinfo.phpは正常に見れます。
逆に変なのは、httpd.confの中に
AddType application/x-httpd-php .php
ではなく
AddType application/x-httpd-php .html
とした場合でも、
phpinfo.phpが正常に見れます。
557 :
552 :2008/08/27(水) 18:23:37 ID:???
いろいろググっても、 拡張子phpの動作は出来ても、 拡張子htmlでphpを動かす例が 見当たりません。
とあるサーバーで、apacheハンドラで、.htaccessを.cgiに関連付けしたらそれ以降500エラーになった。 エラーログは /home/hostingg/public_html/.htaccess: </Files>AddHandler> directive missing closing '>' こんな漢字です。これってやっぱ関連付けしたのが悪かったんですかね。
リスタートしても変わらないなら、そもそも別のhttpd.confの編集してるんじゃない?
561 :
552 :2008/08/27(水) 18:33:58 ID:???
>>559 はい、リスタートではなく、
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。 より強力はストップ→スタートをしています。
564 :
552 :2008/08/27(水) 18:38:19 ID:???
より強力なストップ→スタートをしています。 いじめないでよ
ログでちゃんと再起動できてるか確認できる? サービスから直接ストップ、スタートしたときと動作同じ?
566 :
552 :2008/08/27(水) 18:45:04 ID:???
AddType application/x-httpd-php .php の記述が無くても phpinfo(); は見れる。 どこのサイトも phpinfo();が見えて おめでとうございます! って書いてあるけど、 ちと、違うんじゃねーか???と思う。 拡張子htmlでphpが動く実績の環境が知りたいです。
>>566 普通は見れねーよ
やっぱ違うconfいじってんだろ
568 :
552 :2008/08/27(水) 18:47:45 ID:???
> やっぱ違うconfいじってんだろ それは、ないと思うなぁ
569 :
551 :2008/08/27(水) 18:51:30 ID:???
>>555 様
レスありがとうございます。
◆xml
libxml2 Version 2.6.16
とありました。これは大丈夫そうです。
ですが、折角教えていただいたdl()関数はSafe Modeの為動きませんでした。
これはもう代替を検討しないといけないのでしょうか・・・orz
>>568 エラーになるように適当な文字入れてリスタートしてみては
じゃあ.phpでやればいいんんじゃないか? なんでだめなん?
572 :
552 :2008/08/27(水) 19:02:00 ID:???
>>570 後でやってみますが、間違ってはいません。
573 :
552 :2008/08/27(水) 19:02:26 ID:???
>>571 ユーザにphpで動いてるのを知られたくないからです。
少なくとも、
>>566 のように書いてる人の話は信用できないから
全部疑ってかかるしかないんだよ。
>>569 あら、残念
代替案を立てるしかないね(PEARで互換性のあるものを使うとか)
それか、サポートに聞いてみたらどうだろ
DOM使えんのかゴラァって
576 :
552 :2008/08/27(水) 19:18:07 ID:???
>>574 ちょっと待ってください。
解決ができそうです。
577 :
551 :2008/08/27(水) 19:28:04 ID:???
>>575 様
泣く泣く該当する処理部分をSimpleXMLに差し替えました。
SimpleXMLは使ったこと無かったけども、ラッパーメソッド用意していた為、
差し替え作業自体は数分で終わりました。(データはまだ検証中ですが・・・)
これでまたPHP5依存度が上がりましたorz
今回の件は結果は微妙でしたけども、
サーバー選びの注意事項、PHPについて良い勉強になりました。
お答えくださった方、ありがとうございましたっ!
ものすごい初歩的な質問なのですが… phpファイルで別のphpファイルを読み込ませて擬似フレームページを作っています。 それで、読み込む先のファイルのhtmlの記述の仕方について質問です。 現在、読み込む先のファイルは、<head>やら<body>やらすっとばして、 <body></body>の中に相当する部分のみの記述で作っています。 これには何か問題はあるでしょうか? 本当にスレタイに沿いすぎた疑問ですみません。
>>578 別にないと思うけど。
質問とはちょっと方向違うけど、俺なら読みこまれるHTMLを.htaccessで隠したりはする。
>>579 そういう秘密主義は、時として原因不明の悲劇に見舞われるよ。俺の経験則上。
>>578 各パーツを分割する手法はテンプレートエンジンとかでも良く見るから問題ない
ちなみにincludeで呼ぶとphpとして実行されるから、意図しない「<?」には注意
fileとかその他のラッパーならそのまま出力されるから問題なし
>>578 最終的に出力されるhtmlで考えればおk
583 :
578 :2008/08/27(水) 20:31:09 ID:???
皆さんありがとうございます!特に問題ない、というか、 このやり方の方が適切のようで、安心しました。
まぁhtmlタグの中に入れ子でhtmlタグがあって大丈夫だと考えるほうがおかしいわな。
585 :
nobodyさん :2008/08/27(水) 21:31:17 ID:Y6+5IHEq
PHPでサーバのMySQLのバージョンを取得し、 処理を分岐したいのですが、どういう関数を使えばいいのでしょうか?
SHOW VARIABLESでも投げれば?
mysql_get_server_info()
浦島太郎は実は三浦半島出身です。
ユーザにphpで動いてるのを知られたくないからです。 ↑ 意味がわからん。 なんで?あんたサーバー公開でもするの? Winで? まあいいけど、そんなことも自分でなんとかできないようじゃ 難しいんじゃないの? こちらも情報がたりないんだよね。 推測でもの言っているし。 あとPHPで作れるのがしられるとなにかまずいの? そっちが気になる
590 :
nobodyさん :2008/08/28(木) 01:25:02 ID:8cctUgGm
初歩的な質問ですいませんが、よろしくお願いいたします。 とある変数をvar_dump()した所、以下の値が帰って来ました。 object(SimpleXMLElement)#47 (1) { [0]=> string(9) "テスト" } このオブジェクトからテストを取り出すには どのように記述すれば良いのでしょうか?
マニュアル嫁
592 :
nobodyさん :2008/08/28(木) 01:31:11 ID:8cctUgGm
593 :
nobodyさん :2008/08/28(木) 01:52:38 ID:ovgSK1d+
ある文字列を「a-zA-Z0-9」の範囲の文字を使って暗号化させたいのですが、 なにか良い方法はありますでしょうか? crypでいけるかな、と思ったのですがこれでは「.」と「/」が入ってしまいます・・・ 何か良い方法がありますでしょうか?
じゃぁそのcryptで取得した文字列をさらに、unpackしたりしたらどうですか。 長いけど。 $a = 'hogehoge'; $a = crypt($a); $b = unpack('H*', $a); $encoded = $b[0];
595 :
nobodyさん :2008/08/28(木) 08:29:02 ID:OVvHROhC
include文で、引数を渡したいのですが、無理なんですか? include("test.php?1234"); として test.phpの中で _SERVER["QUERY_STRING"] を取得したいです。
>>595 無理だろ。
function( test(arg) )として定義したtest.phpを
include('test.php');
して、
test(1234);
と引数付きで呼び出せばいいと思うんだが。
PHPで認証システムを作ってるんだけど 複数のアカウントに同時のログインできるようにするときの処理が いまいちうまく作れません。 どの本を見ても、クッキーが上書きされるような作りになってるので ブラウザを二つ開いて片方はAさんとしてログインしても もう片方でBさんとしてログインすると 両方ともBさんになってしまう。 これはいけないですね。どうしたらよいでしょう。
IEとFxとか別のブラウザで開く
>>596 インクルードした時点で変数も引き継がれてしまうので
わざわざ引数をつける必要性が無い
600 :
595 :2008/08/28(木) 09:26:37 ID:OVvHROhC
>>596 ありがとうございます。
うまくいきそうです。
>>594 HよりもmでBase64した方が効率的かも
PHPのunpack()にmがあるかは知らないけど、base64する関数はあったはず。
あー、Base64は=で余りを埋めることがあった気がする。
だとしたら使えないか
>>552 httpd.confに書くんじゃないよ
別の設定ファイルがあるでしょ
ググってね
604 :
nobodyさん :2008/08/28(木) 13:00:55 ID:1+PcK3cN
PHP5です。 $samp=0;や 1/0のようにしたときに出るDivision by zero警告を出ないようにする方法はありませんか? そのままスルーして処理を続行してほしいんですが。 処理としては0割り算のときに発生しまう $samp=10/0; など よろしくお願いします
0で割り算しないようにする。
>>607 >>603 の言ってることは正しいような気がするが
調べもせずに嘘つき呼ばわりとは
XAMPPはXAMPP用のconfファイルがあるはず、httpd.conf内にInclude構文がないか確認しれ
>>607 apache2.2の設定ファイルはhttpd.confだけじゃないのに嘘つきとは失礼な奴だな調べもせずに
マジ市ね
httpd.confがインクルードしてるとかじゃなくて? つーか、質問者はXAMPPなんて一言も言ってない気が? まあXAMPP使うやつなんてそんなレベルだからしょうがないかもしれんが。
別にextraに拘らなくてもいいけどな。 httpd.confに全部づらづらと書いてもOKでしょ? って意味じゃないか?
で、どのextraに記述すればいいんだ? 後学の為に教えてください。
なんで、死ねなんだよ。。。
ファイル名じゃないのか
態度のでかい質問者への回答はできません お引取りください
PHPはサーバーでjsはここのパソコンが処理しているんですよね ということは、大量にアクセスがあるサイトを複雑なphpで処理するとサーバー側の処理が遅くなったりするんでしょうか やはり、処理の早いサーバーやおそいサーバーなどあるんでしょうか
あるよ
>>618 サーバっていっても普通のパソコンと一緒
ウイルスチェックしながらファイルコピーしたりすると遅くなる経験あるでしょ
処理の早さにはCPU、メモリ、HDD、NICなんかも関係してくる
とりあえず無限ループだけはしないように注意すべし
本日の基地害 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒 サーバっていっても普通のパソコンと一緒
普通のパソコンをサーバにすることはあるが サーバが全て普通のパソコンと一緒と誤解させるような書き方はどうかと
>>623 こういう感覚でサーバーをいじる奴、趣味の延長でサーバーやシステムを語る奴がいるから、
プロジェクトが火を噴くんだよ。上も下も。老いも若きもだ。
馬鹿じゃね?一緒だろ
サーバっていっても冗長化すらしてない一般的なパソコンそのまま使ってるとこもある
>>625 お前みたいな知ったようなそぶりでものをいって
実は何もしらないやつは黙ってろよ
>>624 いやそういうことじゃないだろ
複雑な処理がかさむとサーバーが重くなる(処理が遅くなる)という点で一緒といってるんだろ
MTBFが違うよ
>>628 必ずしもそうとは限らない
サーバの構成といってもさまざま
さまざまなら違うじゃん
>>630 何をいってるんだ?
普通のPCと違ってサーバ機はMTBFが違う(故障しにくい)といったんだろ?
それにたいして普通のPCよりもMTBFが短い場合があるといったわけだが
長い場合と短い場合があるならなおさら違うじゃん
>>626 プログラミング板で、サーバもパソコンも一緒だとか言う奴は、
所詮その程度の人間ってことだろ。
>>627 わかってる人が読めばそう受け取れるけど、そうでない人には
普通のパソコンもサーバも同じモノなんだと読める書き方がダメと言いたいんだ
アーキテクチャが一緒とかならいいんだけど、それだと伝わらんだろうしな
で、どのextraに記述すればよいのでしょうか? 後学の為に教えてください。
>>635 メーカーが鯖として売ってるハードとPCでは違うってこと。
>>638 それは間違った認識
形状だって普通のPCと同じタワー型で
全く同じ構成でOSだけサーバ系のものをを入れてサーバと謳って販売するとこもある
PG「パソコンもサーバーも一緒」 PG「パソコンも汎用機も一緒」 PG「パソコンもスパコン一緒」 PG「パソコンもマイコンも一緒」 ・・・ PG「phpもJAVAも一緒」 PG「phpもアセンブルも一緒」 ・・・
PGっていうやつに限ってロクなやつがいないよな
鯖とPCでは、サポート体制も違うと思う。
電源入れてOS読み込んで動作するなら サーバーも汎用機も同じパソコン 本体の機能でどこかがとがっているのが専用機で とがっていないのが汎用機という違いはあるがな〜
>>642 あえていうならインストールされているソフトウェアの問題
構成次第なのだからハードレベルで明確に違うと断言することはできない
ハードでいえば障害がおきても瞬時に切り替えられるあらゆる箇所がデュプレックスされた
そんな1Uサーバが整然とデータセンターに並んでいるのを想像するだろうが
そんな高価なサーバだけが世の中に存在するわけではない
明確なハードの違いの線引きは無いけど、サーバを名乗るのなら メモリのパリティ有りとか、いいコンデンサを使うとか、信頼できるチップを載せるとか 冗長化は重要だけど、それ以外でもやって欲しい事はいくらでもあるな
NULLを含んでいる配列から、NULLを取り除きたいです。 今はこうしています。 $new = array(); foreach ($array as $item) { if ($item !== NULL) { $new[] = $item; } } return $new; これを一発でやってくれる関数はありますか。 マニュアルを見た限りではなさそうですが、もしかしたらあるかもしれないと思い、質問しました。
あるけど7行を1行にすることに尽力する前にもっと大きい視点から最適化しろ
とがっているってどういう意味だよ? あと汎用機が何をさすのか知ってるのか?
パソコンってパーソナルコンピュータの略な
>>621 は、基本的な挙動の考え方は一緒だということをいってたんだろうに。
653 :
nobodyさん :2008/08/28(木) 22:27:29 ID:oELFSwba
PHPで言うところのupload_max_filesizeやpost_max_sizeは、 Perlではどこら辺を設定すればいいんですか?
スレ違い市ね
PHP5です。 $b = substr_count ( $a , 'test' ); 「test」を変数にしたいのですが、変数にすると動きません。 $c = substr_count ( $a , $b ); こんな具合にする方法ないでしょうか? 有るか無いかが判れば、substr_countでなくてもいいのですが。
>>652 つまり、例え下手なんだよ。
>>653 がperlもphpも混同して、
スレ違いな質問をして怒られているのと全く同じ状況。
658 :
656 :2008/08/28(木) 22:49:56 ID:???
自己解決しました
>>658 氏ねクソヤロウ!!!
さっさと答えんかい
こんなんもわからへんのか(笑)
656ですけど、なんでこんな流れ?
>>656 の言ってる意味が分からない。
普通に動くし。
>>660 > なんでこんな流れ?
・自分が原因な所
自己解決でも解決策を書くのがマナー
(後日同じつまづきをした人が検索されないとも限らないから)
・外部環境が原因な所
まだ夏休み期間
phpでプログラムを組んでいます。 $_POSTや$_GETの使い方について質問なのですが、 $temp = "POST";みたいな変数を作っておき、この$tempから、$_POSTを取得するような方法はないでしょうか? よろしくお願いいたします。
667 :
656 :2008/08/28(木) 23:16:18 ID:???
>>666 勝手に私のこと騙らないでください。最低な人間ですね。
>>665 $temp = "_POST";
$$temp
>>1 ・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
>>1 も読めない質問者は来るな!
>>1 も読めない質問者は来るな!
>>1 も読めない質問者は来るな!
>>1 も読めない質問者は来るな!
>>1 も読めない質問者は来るな!
>>1 も読めない質問者は来るな!
>>1 も読めない質問者は来るな!
>>665 >>668 に補足で、「可変変数」でググるといいと思います。
で、個人的には
$temp = "_POST";
${$temp};
の書き方のほうが分かりやすいとおもう。
質問者はIDを必ず表示するように
674 :
nobodyさん :2008/08/29(金) 08:10:10 ID:l12fQIB+
Linuxでphp5の話なんですけど、sqlite3使いたいのですよ でもPEARのDBとかMDB2にsqlite3のドライバが見当たらないのですよ 諦めてPDO使うしか無いんですかね?
675 :
nobodyさん :2008/08/29(金) 09:18:49 ID:+ozjsUZM
htmlの中で <?php ある処理 exit; ?> と書くと、 そのPHP以降の HTMLが表示されないのですが、 exit;文の使い方が悪いのですか?
うん
サーバもパソコンも、CPUがあってメモリがあってストレージがあって、、、一緒だろ ウィルスの影響だって変わらない。 元の話を理解してない知ったかが多すぎる
顔が真っ赤ですが、どうしたんですか?w
顔が真っ白ですが、外出てくださいw
↓ここからカラフルフェイス
>>677 F1とスケボーもタイヤが4つあって一緒ですよねー
エンジンつきのスケボーですね、わかります
何か質の悪いダックタイピングみたい
>>681 何でこんなに絡んでくるんだろう
ただの例え話じゃないのか?
>>677 じゃ、お前はここでperlはc++の質問があっても、
phpと同じプログラミング言語だから、ちゃんと答えてやれよ。
>>650 >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行にすることに尽力する前にもっと大きい視点から最適化しろ
なにこの役立たずなレス
頭悪いのキター
頭悪いのキター
689 :
nobodyさん :2008/08/29(金) 11:52:21 ID:JKkFPQHf
昨日の質問の回答を見て放心状態になりました! もう、ここには絶対きません!!
あんただれよ
私は、陸上自衛隊北部方面隊帯広駐屯地第1飛行隊少尉の外山孝です。
自衛隊の人って、「自分は・・・」で始めるんだと思っていた。
>>685 キチガイ発見
PHP以外の言語は専用スレ池市ね
>>693 必死だなw
そんなに論破されたことが悔しいか?あ?
論破されてるのはお前 悔しいからって自分の感情をそのまま書き込むんじゃないよw
他人を論破しようと根から考えてる奴にコミュニケーション能力が備わってる者を一度も見たことが無い
こんなんじゃ、初心者は質問できないだろ。
じゃ、初心者はお断りってスレタイに入れとけよ。
初心者はまずメール欄に何も入力するな! IDを表示してないと解決させないぞっ!
常駐粘着キチガイはスルーでよろ。
701 :
nobodyさん :2008/08/29(金) 14:54:20 ID:BLGUiryP
オブジェクトのIDを知る関数があればおしえてください
ヴぁーだんぷ
703 :
nobodyさん :2008/08/29(金) 15:02:44 ID:BLGUiryP
そんな泥臭い方法しかないのでしょうか?
泥臭くても一番的確だよ
俺の唯一の誤算を教えてあげようか。 あまりにも住民のレベルが低すぎて、 本来の釣り針じゃない方に沢山食いついてきたことだよ。
自分のレベルが一番低いことに気がつかなかったのが誤算だろ。
707 :
701 :2008/08/29(金) 15:24:04 ID:???
冗談だと思ったらまじなんですね 出力バッファ経由でvar_dump取得して正規表現で抜き出すようにしました 「idを取得する」という基本的なことをするのに こんな方法をしなきゃいけないPHPっていったい・・・
ところでなんでid取得する必要があんの?
インスタンスの配列を作りたいんです インスタンスはそのままではarrayのキーにできないので idを使おうと考えました
>>709 勝手に付くIDで管理する必要あるのかな
そのキーを再利用することも無さそうだしシーケンスでいいような
後var_dumpをバフするくらいならvar_exportがいいよ(引数2でtrue)
711 :
nobodyさん :2008/08/29(金) 15:59:10 ID:+ozjsUZM
>>711 exitはその場で終了するから後の出力は行われない
exitを何故書いたか、とか
何がしたいかを明記よろ
>>710 まぁ、かなり特殊な用途(mixin機能の実装)なので・・
var_exportだと何故かidは出力されないようですね
使い方は間違ってない。exit文はそういう処理をするためのもの
レンタルサーバーがクライアントさんが直接借りることってよくあるの? PHP4だし、mod_write使えないしurl_openも使えない(file_get_contentsで外部のデータが取得できない)んだが、 どうすればいいよorz ちなみにブログのRSS取得とかそういうの使うから必要なんだよな・・・
718 :
716 :2008/08/29(金) 16:53:46 ID:???
自己解決しましあばばばばばbb
719 :
716 :2008/08/29(金) 16:58:26 ID:???
720 :
716 :2008/08/29(金) 16:59:30 ID:???
>>719 も私じゃありません。
も、もしかして私多重人格・・・?
>>716 そりゃ、クライアントが自分でサーバ探す事あるだろ。
素直に、「その環境じゃ動きません」と言って新しいサーバにして貰えよ。
さくらとかなら、安いしなんとかなるだろ。
>>721 sakuraは回線異常ばっかりで趣味サイト向けじゃないの?
業務用なら、ソフトバンクIDSがメジャーだけど、あとNTT系とか。
携帯の端末情報(一意)をハッシュ化(md5)したものをDBにいれて 端末情報だけでログインさせる認証を作っているのですが、 md5で衝突等が起きる可能性はどれくらいあるでしょうか? また皆さんならこんな場合、どんな方法で格納しますか? 別個でパス認証もつけた方が良いでしょうか?
>>724 md5なら、その名の通り500万件に1回(理論値)
5 Million Duplicate
>>715 処理した後にhtmlもだすんだからexitは使わないほうが妥当
727 :
724 :2008/08/29(金) 18:06:00 ID:TeOkGe9z
>>725 さん
レスいただきありがとうございます。
最高でも5万程度を想定しているので1%以下の確率(理論値なので倍くらいかも)ですが決して安心とはいえない感じですね…
やっぱりそのままですかね… なんかいやだな
>>725 ソースkwsk!!
ググったらスペルがMessage Digest 5だった
PHPのと違うのかな?
md5って32文字のhexだっけ? それなら16バイトで表現できる分だから、 京とかそういう普段使わない単位のレベルになるだろ
730 :
675 :2008/08/29(金) 18:39:18 ID:???
自己解決しました。
やべ、面白そうな流れなのに乗り遅れたww 一言だけ言わせてくれ 論破(笑)
論破したがるやつはWEBディレクターになれないって社長がゆってた
社長に隷属している奴は、社長にはなれない。
>>733 そうやって上辺だけの屁理屈を垂れるているのは、もしかして大田誠一さんですか?
>>733 社長の下で働くのは知恵と力と人脈をつかむため
なにこいつらマジになってんの・・・?
>>736 さん論破してください待ってます
はやくしてよねっ!
無駄なレスするなよ。PHPの質問だけ書き込めよ
今インターネットで話題沸騰のサイトを管理している者だけど、 なんか質問ある。なんでも、3分以内に正確無比な回答をしてあげるよ。
人生の意味って何
742 :
740 :2008/08/30(土) 01:11:47 ID:???
>>741 人生とは、重き荷物を背負いて歩くがごとし。
猫は何で玉葱系を食べると体壊すの?
10年後に主流になってるプログラミング言語って何?
javaとjavascriptの違いは?
phpファイルの文字コードが動作にどう影響するか分らないんだけど、その情報が纏まってるページ教えて下さい
PHP: 言語リファレンス - Manual
http://jp.php.net/manual/ja/langref.php でも、phpファイルそのものの文字コードについての記述は見つけられませんでした
「php 文字コード」でググっても、入出力の文字コード関連しか見つかられませんでした
何を知りたいのか断片的すぎて不明。
PHP自体はどんな文字コードでも動く。変数名だってマルチバイトにできる。
生成されたページが文字化けするのは、PHPのmbstringとHTMLのcharsetとDBの文字コードなどが違ったりするため。
あと
>>1 も読もう、な!
あとソース自体の文字コードも、だ。
>>794 動作への影響は全くない
単に「作者の意図しない結果になる可能性がある」だけ(文字化けもシステム上は正常な動作)
だからマニュアルでも言及していない
753 :
794 :2008/08/30(土) 05:35:53 ID:???
もうすこしわかりやすく教えてください あと参考になるページもよろしくお願いします
PDOで行をSELECTした場合、seekさせる事は出来ないのでしょうか? fetchにカーソル指定があるのですが、何を指定しても反映されません・・・
え?どういうこと? マニュアルに書いていることはちゃんと理解してる?
phpを勉強するときのモチベーションが最近上がらないの 皆のモチベーションの上げかたを教えてくださいな
>>756 色んなサイト見てとりあえず「作ってみる」事だと思うよ。
自分が凄いと思った機能が出来たときって嬉しいだろ?
>>757 今は、作るより使う時代。
車輪の再開発はお勧めしない。
今は、作るより使う時代。 人気レストランを作るなら 自分の腕を磨くのではなく 人を使ったほうが良い。
質問。 phpで変数に値を代入する時に=を使うと思うんですが、いろいろなソースを見ていると、=の前と後ろに空白を入れてる所もあれば空白なしの所もあります。これは特に決まりはないんですか? 例: $sample = file(".aaa.txt"); $sample=file(".aaa.txt");
>>761 半角スペース1000個入れるのもタブにするのも自分次第
>>753 phpソースの文字コードが動作に影響を与えないのは常識
語る必要のないことを記事にしているサイトもない
どうしても知りたければend_complile.c,、zend_langage_parser.c、zend_language_scanner.cを追え
常識を疑ってみるのがプロだし、だからこそ技術の進歩があるんだよ。 クレクレ信奉、寄らば大樹の陰ですか?
>>758 でも車輪がどういう仕組みで動くのか知らないと
トラブルがあった時に自分で直せないだろ?
だから学ぶ事は無駄ではない。
>>765 ケースバイケースだろ
この件はは常識と言うより仕様
以前にあったzend_language_scanner.cのバグはなくなってるから疑う必要ないだろ
そんなに学びたければ、 表示したページのjavascriptで 表示される広告のurlをカウントする PHP作ってくれないかな? OCRみたいなイメージ。 対象はアルファベットだけで いいよ。 アフィの会社が表示数を 誤魔化しているか 知りたいのよ。
>>768 ちゃっかり自分がほしいものをねだるなクズ市ね
>>768 こんな屑にならない為にも、みんなはちゃんと勉強しようね^^
作るのが嫌いな奴は向いてないから素直にやめとけ
今PHPでファイルアップロードの仕方を勉強しています。 アップロード先の保存フォルダに画像ファイルを移すところまでは出来ているのですが 保存した画像をブラウザで表示するのが出来ません。 ネットで調べる、とファイルのアクセス権の設定ができていないという事がわかり 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>
画像なんて644で問題ないだろ その画像の入っているディレクトリのパーミッションは? しかもソースそれPHPじゃないしwwwww
スレ違いだ屑www
<HTML> <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です。
◆質問する時の注意 ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
778 :
776 :2008/08/30(土) 22:58:31 ID:18CTr4WP
Windowsならパーミッション関係ないはず 画像へのパスはあってる?
780 :
773 :2008/08/30(土) 23:08:04 ID:???
レベルの高い回答おねがいします
$img_dir = "/images"; ←ここじゃねーの? $img_path = $img_dir.$_FILES["uploadfile"]["name"]; echo $img_path してみなよ
782 :
776 :2008/08/30(土) 23:08:34 ID:18CTr4WP
>>779 画像パスはあってると思うのですが・・・。
でもアクセス権限が関係ないならパスが原因っぽいですよね。
パス以外に怪しいとこってないでしょうか?
783 :
nobodyさん :2008/08/30(土) 23:17:39 ID:mAYfROWm
自宅のパソコンにアパッチをいれて、 最新のphpで掲示板を作成して、 動作確認をした上で、 XREAというホームページのスペースを提供している会社に アップロードをしたところ、画面が真っ白になって壊れました。 その会社に問い合わせをしたところ、 すぐに対応しますという連絡メールがきたあと、 完全無視されています。ほかにスペースを提供している会社はないですか? 無料でなくてもいいですが、趣味でやっているサイトなので月1000円以上はきついです。 宜しくお願いします。
784 :
776 :2008/08/30(土) 23:18:15 ID:18CTr4WP
>>781 echoで表示させたら
/imagestest.jpgというふうに出たんで
$img_dir = "/images";から
$img_dir = "/images/";
に変更してやってみたのですが同じく表示されませんでした。。
>>784 $file_dir = 'C:\Apache2.2\htdocs\images\\'; // 最後が¥2個ってどうなんだろう
chmod($file_path,0666); // windowsはchmodが使えない(今件とは直接関係ないが)
787 :
776 :2008/08/31(日) 02:30:19 ID:k7FWVAuP
>>786 回答ありがとうございます。
\マーク一つだとエラーが出るんですよねぇ。。
何のエラー?
789 :
776 :2008/08/31(日) 02:38:24 ID:k7FWVAuP
エラー内容コピペしました。 Warning: 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
>実際にフォルダに移動して画像ファイルを開こうとすると ってどういうこと?
791 :
776 :2008/08/31(日) 03:25:43 ID:k7FWVAuP
>>790 DocumentRootに指定してあるディレクトリの直下にアップロードされた画像を
格納するimagesフォルダを置いてあるので、そこから画像ファイルを開くということです。
>>789 念のためにDIRECTORY_SEPARATOR使ったら?
define('DS', DIRECTORY_SEPARATOR)
$file_dir = 'C:'.DS.'Apache2.2'.DS.'htdocs'.DS.'images'.DS;
>アクセス権
Vistaだとアクセス権が実装されているからもしかしたら関係あるかもな
>>791 Windowsだからエクスプローラとかから開こうとしたんじゃない?
793 :
776 :2008/08/31(日) 03:44:00 ID:k7FWVAuP
>>792 DIRECTORY_SEPARATOR使ってもダメですね。。
Windoowsではchmod使えないとしたら
どのように画像ファイルへのアクセス権を設定したらいいんでしょうか。
>Windowsだからエクスプローラとかから開こうとしたんじゃない?
そうですね。
chmodしてんのが悪いんじゃないの? vista知らんからファイルのプロパティからいろいろいじってみれ。
Vistaのアクセス権がどう影響するか分からんが、 普通ならアップロードファイルは600だよな あと、WEBサーバの実効ユーザも影響受けるならエクスプローラからは操作出来ないファイルになっちまう (Apacheはサービスから起動しているからsetuidでログインユーザ以外になってる可能性を考えれた場合) まずはimagesの中にファイルがあることの確認とアクセス権の確認だな ブラウザから画像への直リンでも見えんのが気になるが
796 :
nobodyさん :2008/08/31(日) 08:50:56 ID:TxVxsZ/s
質問です。 Apache2とPHP5.2.6、MySQL5.0.5でCGIを作っています。 まだ勉強中なので、HTMLの中にPHPをべた書きしています。 いろいろなページで関数を使い回ししたいので、 関数だけ別ファイルに書いて、それをhoge.phpやpage.phpから 呼び出して使いたいと思っています。 それには一体どうしたらいいのでしょうか?
include
798 :
nobodyさん :2008/08/31(日) 08:52:57 ID:f1FS9mHS
またはrequire
サーバー:パソコン=放送用ビデオカメラ:家庭用テレビカメラ こうとでも書けば分かるか?
同じカメラじゃん
801 :
796 :2008/08/31(日) 09:27:42 ID:TxVxsZ/s
>>797 ,798
早速のご回答ありがとうございます。今、
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;
}
?>
include 'hoge.php';
803 :
796 :2008/08/31(日) 10:02:40 ID:TxVxsZ/s
>>802 ありがとうございます。
恥ずかしいミスでした。
本当に本当にありがとうございます。
804 :
804 :2008/08/31(日) 10:25:57 ID:???
非常に初心者な質問で申し訳ないです。 ファイル作成 → ダウンロード という処理で ファイル作成時に進捗を表示させたいんですが、 どうすればよいでしょうか。 ダウンロード処理でheader()関数を使用しているのでその前に標準 出力は使用できないんですよね? 例えばexec()とかで別処理に分けるとかajax(よく知りませんが) とか使用して可能な方法があれば教えてもらえないでしょうか
◆質問する時の注意 ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
807 :
nobodyさん :2008/08/31(日) 14:17:10 ID:EWUA1cZp
ある程度自分で調べたのですがよくわからなかったので質問します。
現在作成しているのが
ケータイ端末でFlash LiteからgetURLでPHPに変数を渡す。
PHP処理を終えてたら外部テキストに書き出す。
最後にheaderでまた先ほどのFlash Liteに戻る。
という物を作成しております。
問題は最後の部分で、PHPにアクセスすると下のプログラムが
書かれている行を指定してエラーを吐き出します。
記述的なミスなのか、それともケータイ端末では自動的に
リンク先に飛ばすような事はできないのでしょうか?
<?
変数の処理
header("Location:
http://www.アドレス/flash.swf ");
exit;
?>
header以前の出力をなくす
>>807 LoadVarsクラスのsendAndLoadじゃダメなのかね?(スレ違いになるが)
header関数の注意として出力バッファがない場合はヘッダーより先のデータ(コンテンツ部)が出力されると
デフォルトのヘッダーが先に送信されてheader関数が使えなくなる。
ob_startで出力バッファを有効にするか、headerより先にデータの出力を行わないようにしな
(出力はechoやprintとかの標準出力。ファイルへの出力は関係ない)
810 :
804 :2008/08/31(日) 15:21:49 ID:???
マジでまともな回答ないのな 低レベル回答者乙
自演乙
813 :
807 :2008/08/31(日) 15:42:56 ID:EWUA1cZp
>>809 すみません、書き忘れていたのですがFlashLiteから送っているのがGPS情報なんです。
なのでGPS情報を付加して送信してくれる
getURL("device:gpsone?url=アドレス");
とう記述をしないと駄目なんです。
(Flashlate単体ではGPS情報は取得できません・・・)
header関数についての注意ありがとうございます。
コメントを見ながら今から試行錯誤してみます。
$mdb2 =& MDB2::connect(); このpearで良く見る :: って何なんです?
>>815 クラス内のメソッド等にクラス外からアクセス出来る?
なんてグローバルな奴なんだ
>>817 >クラスメンバもしくはメソッドを static として宣言することで、
>クラスのインスタンス化の必要なしにアクセスすることができます。
ってマニュアルに書いてあったんだけど
$hoge = new なんたらかんたら
を記述しなくて良いってことなんです?
>>818 その通りです。
クラス内のメンバ変数にアクセスできないけど。
>>818 インスタンス化が面倒だからって全てstaticにしようなんて思うなよ?
どういうものをクラスメソッドにするかわからないうちは全てインスタンスメソッドでいい
(';ω;`)ブワッ 皆やさい こんなグズ初心者に教えてくれて
やさいじゃない やさしいだ (';ω;`)ブワッ
823 :
nobodyさん :2008/08/31(日) 19:47:32 ID:HhFxH+qJ
ブログなどで見かけるデザインとロジックの分離を勉強したいのですが、 ソースをみてもさっぱりわかりません どのような仕組みでデザインとロジックをわけているのでしょうか?
俺ニンジンだけどその質問分かりません
>>824 ニンジンには、聞いていません。せいぜい、馬に食べられてください。
僕ダイコンですが馬に食べられますか?
>>823 ------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 のいってるとおり。
後はこれを基本的な考え方にして工夫する感じです。
っていうか、Smarty使えよ。 なんで、ここの奴は車輪の再開発ばかり薦めるんだよ。
830 :
nobodyさん :2008/08/31(日) 21:33:27 ID:HhFxH+qJ
>>827 テンプレートエンジン作ってみたいです
>>828 ブログのタグに<%NAME%>とかありますが、あれはどういう仕組みで動いてるのでしょうか?
>>829 良心な回答者様がレスしにくいだろ、少し黙ってろzk
>>829 車輪の再開発ってほどのことじゃなくてさ、
わざわざSmarty使わんでもある程度ロジックとビューを分けるってのを伝えただけだよ。
キリキリすんなって。
>>832 >>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>
ワラタ
>>834 それでもいいんだけど、ソレだと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);
}
?>
>>837 他人のために、そこまで優しくできる性格に絶句した。
すごい優しい人なんだろうけど、損してばかりいそうな性格だな。
839 :
nobodyさん :2008/08/31(日) 22:53:32 ID:HhFxH+qJ
>>837 ありがとうございます。ソースを見て勉強してみます
>>838 最近、モバイル向けになんか使い安いテンプレートとか作れないかなと思って、
似たようなソース書いたからすぐにかけたってだけだよ。
そんなやさしい人間じゃないし、
>>837 のソースじゃどうにもならないのは見て分かるとおり。
>>839 とりあえず上の要求だけ実行されるように作ったものなので、これだと、条件文も出来ないし、
ループ処理も出来ない。
ソース見て、その不毛さが理解できたら、既存のテンプレートエンジンの使い方勉強しなね。
patTemplateとかSmartyとか、PHPTALとか、色々なものがあるので。
でかいチンチンの持ち主、川嶋沙保里です。 何か私にご質問はありますか?もちろん、php限定で。
phpは世界に幸せをもたらしてくれますか?
PHPってCGI専用言語なの? ファイル操作とかできないの?
845 :
nobodyさん :2008/09/01(月) 02:03:28 ID:KcchXRwM
CGI版だとなんかファイルの一行目に#!/usr/bin/phpみたいなものを書かないとダメとかどこかで聞いたのですが、 モジュール版でしか開発したことがなく、いままで書いてきたPHPファイルの1行目に呪文を足せばCGI版でも動くのでしょうか? あと モジュール版とCGI版とありますけど以下のコードはサーバにうpすればどちらでも動きますか? test.php------------------------ <?php echo "test"; ?>
>>845 正直cgi版は少数派だからなぁ
仮想linuxででも試せばいいじゃん
848 :
804 :2008/09/01(月) 02:44:33 ID:e/YsXLG7
調べたり色々やってみたけどやっぱり同一のスクリプトでブラウザに出力と
ファイルに出力するのは無理みたいですね。。
>>805 失礼しました
>>806 やってみましたが無理みたいです。でもこれ別で使えそうですね
ありがとうございました
>>810 誰?
phpを難読化するスクリプトを作ってみたんですが、このスレ的には何点くらいでしょうか? 環境変数を表示するだけのスクリプトです。 <?php eval(gzinflate(base64_decode('AeQAG/8/Pjw/cGhwIGV2YWwoZ3pp'. 'bmZsYXRlKCezt7OxL8goUEgtS8zRSK/KzEvLSSxJ1VBnXFzLEPTfHrtkj'. 'LrqOUfuJgOJYx9//9aMS1kgt6j6mk3L8gUOa1wnCyTvNfTcZhiuknx/75'. 'Xnv5rt/U9+XxoqJtLJvlPHVuqt529f68hbC5evv3/L8YvVWW6FlTxqur1'. 'y659fZpV+WfXa+u7LJQ3LC1WWHOq5O3vVvlDTLsGb3Wo2BSnyhns0jzP8'. 'uH+L0/hY5OFThS9dNCx15n9gj1HX1LSGOROZDQAnKSk7Pz48P3BocCA=')));
base64_decode使ってる時点で→lol
ho
質問させてください。 RSSフィードを元に取得した情報を更新時間でソートしたいのですが、 フォーマットがばらばらなのでうまくソートできません。 簡単にフォーマットを揃えてソートするにはどのような方法がありますでしょうか?
>>849 劣化してるな
途中でbase64忘れてんじゃん
>>853 kwsk
RSSの読み込みに使ってるパーサはなんじゃろ
>>854 意図して外しています。
平文にする意味もないので
>>856 gz関数の引数に生バイナリは書けないだろ、さすがに
シングルクォートで囲んだって壊れるもんは壊れる
858 :
853 :2008/09/01(月) 14:20:03 ID:???
>>855 パーサはXML_RSSです。
ですが、質問とRSSはあまり関係ないかもしれません。
時間フォーマットがばらばらの変数、$aと$bを比較する方法が知りたいです。
マニュアルには >gzdeflate() により圧縮されたデータを指定します ということなのでバイナリでも問題ないと思いますが。 あと壊れていませんので実際に動きます。
eval使ってる時点でたいした器量を感じない
何もしなくても俺のソースは難読です!
インデントとか滅茶苦茶にすると簡単に難読化するけどな。
難読化に意味があるのか?w
汚いソースを見られずに済みますw
867 :
nobodyさん :2008/09/01(月) 15:41:49 ID:ME+mffWY
$str = '<a href="entry-1-18.html">りんご</a> <br /><a href="entry-2-18.html">バナナ</a> <br /><a href="entry-3-18.html">パイナップル</a>'; この文字列の中からリンク先の特定の数字とリンクテキストを抽出したく 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] => パイナップル ) となります。
私の汚い所見ないで///
869 :
867 :2008/09/01(月) 15:43:47 ID:ME+mffWY
上記の正規表現は訂正です。 preg_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] => パイナップル )
preg_match_all("/<a href=\"entry-(0-9*)?-18\.html\">.*<\/a>/", $str, $match );
>>853 strtotimeに対応してるフォーマットならstrtotimeでintに変換して比較
それ以外は自身で実装しなきゃなぁ
>>860 簡易的な難読化ならそれでいいんじゃね?
あと、
>>1 嫁、idないぞ
俺のところではPECLで暗号化してるわ
so配布の必要があるがな
>>849 結局は関数をペタペタ張ってるだけやん
bitずらすとかもっとちゃんとしたの勉強して作れよ
で、何点?
質問者は100点もらえるまで粘るつもりらしい
RSSから得た情報の正規化ってどうすればいいんですか? ブログタイトル、ブログURL、個別記事タイトル、個別記事URL、個別記事更新日 などなど
>>875 デコードするしないじゃなくてもっとちゃんと作れって
暗号化の関数を作るぐらいのことはしてからこいよ その程度の関数貼り付けで自慢しにくるな
881 :
nobodyさん :2008/09/01(月) 16:56:51 ID:ME+mffWY
>>871 ありがとうございます。試してみたのですが、文字列から何もHITしませんでした。
デコードされたなら他のされにくい方法考えますが、
出来ないみたいなんでちゃんとする必要ないかなあと思っています。
>>880 自作関数の暗号化なんてたかがしれてます
キチガイが沸いてると聞いてすっ飛んできますた
いやー、うちはgzinflate()使えないことに、今気がついたw libz入れなおしてリコンパイルしたわ、サンキューな。 で、gzinflate()数回かけなおしてるだけか。
XML_RSSを使ってRSSを取得しているのですが、 時間をうまく取得できないことがあるようです。 フォーマットによっては取得できないということがあるのでしょうか? RSS1.0は取得できるけど、RSS2.0は取得できないとか。 時間のフォーマットが異なっていても取得できないみたいで・・・
>>886 idはどうした
>>1 取得出来るんじゃ・・・pubDate、dc:date見ればいいだけだし
変換はそれそれ別にパースしてからになるがな
>>887 ええ、
>>1 は見ましたけどidが出てる出てないにこだわる必要はないと考えてsageました^^
あ、ごめんなさい、肝心なこと書き忘れです。
>>887 さんのアドバイスで解決しました。
ありがとうございました。
gzinflateとeval入れ子にしてるだけだしなぁ・・・。 素人向け難読化としては成立してるだろうけど、業務じゃ使えないし実行コストパフォーマンス悪い気がする。
やっぱりPECLになるよな 難読化なら64ビット程度でいいだろうし、それならパフォーマンスに大きな差は出ないし ZEND_APIに介入してコンパイラに渡される前のファイルポインタをハックして復号化するだけだしな (zend_fopenの前に独自にオープン)
>>891 読み間違ってるのかも知れんが、複合化するって事は、複合化キーをプログラム中に書くの?
それだと、本質的には意味がないと思うけど。
893 :
nobodyさん :2008/09/02(火) 07:03:24 ID:4jnW4HRq
<?php if($dir=@opendir('.')){ while (false !== ($filename = readdir($dir)){ print $filename."<br>"; } closedir($dirhandle); } ?> が実行できません 本どおりなはずなんですが 最初の条件がおかしい気がします よろしくおねがいします
while (false !== ($filename = readdir($dir))){
895 :
nobodyさん :2008/09/02(火) 07:27:10 ID:4jnW4HRq
ありがとうございます
>>892 確かにPECL自体に複合化用のビット配列を書くわな
でも意味がなくなる訳じゃないが・・・・
リバースエンジニアリングで解析されたらって意味か?規約で禁止するのは当然の対処だな
「難読化」と「暗号化(ソース不可視)」は別物。 話がずれてきてる希ガス。
ずれてきているっていうより、ずれっぱなし。
え?私のカツラのこと? どうして分かった????? なんちゃって〜、ははは・・・・・・
難読化さえ解読できないようだから暗号化なんて
>>896 PECLってどれのこと?
ソースコード見たい。
>>903 ありがとう。なるほど、たしかにこれは難読化だ。
ちょっと思ったんだけど、Xdebugとかの中身をいじくって
PHPのオペコードからソースを再構成するツールってないのかしらん。
まぁ、この場合はもう一度関数のアドレスを書き換えればいいんだけど。
難読化ならzend encoder ハックすればいいんじゃまいか
ZEはオープンじゃねぇ しかも難読化に加えてOP化しとる
907 :
nobodyさん :2008/09/02(火) 15:22:01 ID:SUk/mIZX
どうでもいいけど、「復号化」って表現は間違ってないの?
元に戻すんだから複合化でそ
笑
mysqlをヴァージョン4から5に更新したら
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/ や、今手元にある本をみながら設定しなおしたんですが
やっぱり解決しませんでした。
お願いします。
◆質問する時の注意 ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
PHPかPECLの再ビルドが必要 PHPのロードしてるMySQLクライアントのバージョンが古いってこった
>>908 いや、正しくは「復号」じゃないのかなと思って。
まあ「復号化」も当たり前のように使われてはいるけど。
「復号」が正しいよ。 「暗号」にするほうは「化」が必要だね。 化を付けたければ「平文化」かな。
>>910 OLD_PASSWORDでぐぐるとシアワセ
z
eonetアクセス規制解除キタコレ 以前納期した作品のSmartyで {$smarty.get.param}の時にescapeするの忘れてたオワタ/(^o^)\
918 :
nobodyさん :2008/09/02(火) 17:02:24 ID:tslH7GiE
MySQL入門以前を使って勉強してますが、P210からの修正スクリプトが エラーは出ないのに修正が反映されませんOSはXPです。 本書に付いていたphpファイルを使用しても反映されません。 登録や削除などは上手く動いています。 同じ症状の方はいらっしゃいますか?
>>918 知るかカス
皆お前と同じ本持ってると思うな
真剣に回答してほしいんならその部分のソース出せ
920 :
nobodyさん :2008/09/02(火) 17:08:32 ID:tslH7GiE
<?php extract($_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; }
921 :
nobodyさん :2008/09/02(火) 17:10:56 ID: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>
923 :
nobodyさん :2008/09/02(火) 17:11:58 ID:tslH7GiE
最後の </body> </html> は無視して下さい
924 :
nobodyさん :2008/09/02(火) 17:15:16 ID:tslH7GiE
>>922 $sql = "update jushoroku set
の後ろに入れてみましたが特に何も起きません
どこに入れればいいのでしょうか?
>>924 何もおきないって何も表示されないってことか
だったら途中でエラーが出てスクリプト終了してんじゃね?
スクリプトの先頭にerror_reporting入れてエラー出力するようにしてみ
使い方はググれよ
$sql = "update jushoroku set echo $sql; tourokubi = '$tou', ってこと?
>>926 いくらアホでもさすがにそれはねーよwwwww
> どこに入れればいいのでしょうか? まさしく入門以前だ。。。
929 :
nobodyさん :2008/09/02(火) 17:23:20 ID:tslH7GiE
>>925 修正がされてないときと同じ状態です
error_reporting(E_ALL);
を入れてみましたが何も出ません
これから外出するので一旦失礼します。
930 :
nobodyさん :2008/09/02(火) 17:24:30 ID:tslH7GiE
>>914 勉強になった。ありがとう。
カキコしたあと読んで違和感はあったけど、「復」の字までまちがえちゃったし、
まぁいいやって思ってしまった。
ちなみに自分は難読化として、変数名とかクラス名とかメソッド名などのシンボルをhash化してる。
文字列がそのまま見えてしまうのはあきらめた。
>>930 mysql_query($sql);
ここの$sqlの中を見たいんだ
◆質問後の注意 ・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
>>920 if ($nam<>"") { //もし$namが空じゃなかったら実行
>>921 フォームの中にnamという要素がないから実行されなくて正解w
>>921 の一番上に
print_r($_POST);
書いて表示してみ
renしか入ってないから
>>935 訂正
>>920 の一番上に
print_r($_POST);
書いて表示してみ
renしか入ってないから
>>934 質問してやったことは情報の共有になるだろks
なに偉そうに
>>1 だしてんの?
バカじゃねえの?うぇwっうぇwwwwwもうこねえよww
>>937 しかし、情報共有したからといって、2chが警察から目をつけられることもありうるわけだし、
通報されたら証拠が残るだけだろ。警察も隠語とか研究しているぞw
>>934 こいつとか答える能力のない中級者だから気にスンナ
まぁまぁ、そう怒らないで、自分のおならの臭いをかいでエクスタシー感じようよ。
僕はDream weaverでちょいちょいっとイジってホムペ作っていたのでphpのような論理的な作成には難易度の高さを感じます… そこで質問ですが、ホムペデザインのリニューアルをやりたいんですが、まずHTMLでリニューアルして、そこからphpを覚えていきphp化する形の方がサイトのデザイン面でもやりやすいのではないかと勝手に思っています。 どうでしょうか?
>>941 自分のやりやすいようにやればいいだろが
PDO関連はここで聞けばいい? それともDB板にスレ立てたほうがいいかなぁ
PHP Data Objectsなんだからここでいいんじゃね
945 :
943 :2008/09/02(火) 21:54:10 ID:???
すみません、自己解決しました。
>>945 ふざけんじゃねえぞタコ!!!
てねえボコられないとわからねえのか?あ?
回答者さまへ
よろしくお願いいたします^^
947 :
943 :2008/09/02(火) 23:48:25 ID:???
949 :
nobodyさん :2008/09/03(水) 01:17:17 ID:cDEMOUsO
XP 2.2.6 送信したテキストそのまま表示したいんだけど、 フォーム <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"]; ?> にしたんだけど、質問ボタン押したら白紙のページだった・・ なんで表示されないのか教えてくれさい
950 :
nobodyさん :2008/09/03(水) 01:49:46 ID:elU9S0DE
<?php $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の条件式だと思うのですが
自己解決><; enctype="text/plain"消去したら表示された!
952 :
950 :2008/09/03(水) 01:55:42 ID:elU9S0DE
2行目のmenberをmemberに変えても6行目がおかしかったです よろしくおねがいします
953 :
950 :2008/09/03(水) 01:58:37 ID:elU9S0DE
解決しました ものすごくかっこ悪い間違えでした
954 :
nobodyさん :2008/09/03(水) 03:04:13 ID:cDEMOUsO
php5.25
例えば、
>>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=以下から/までの文字列を挿入して表示できるようにしたい・・
よろしくお願いします
955 :
nobodyさん :2008/09/03(水) 03:18:44 ID:cDEMOUsO
>>954 追記
例のurlの=12345/の
=と/は、別になんでもいいです。
preg_matchだろザコ
つpreg_match("/0-9*?/",$url);
>>956 ありがとうございます;;
12345の部分もなんでもいい文字列なので
preg_matchとやらを使って今からやってみます!
959 :
nobodyさん :2008/09/03(水) 03:44:41 ID:cDEMOUsO
>>956-957 ありがとうございます;;
実は12345の部分もなんでもいい文字列なので
preg_matchとやらを調べて今からやってみます!
960 :
nobodyさん :2008/09/03(水) 04:47:36 ID:cDEMOUsO
preg_match("/c=(.*)?/",$url,$match); print_r($match);
963 :
nobodyさん :2008/09/03(水) 05:20:15 ID:cDEMOUsO
>>961 さっそく試してみました。
よく分からない部分がたくさんですが
urlの部分を変更したりしても、ちゃんとできました!
ありがとうございました!
964 :
nobodyさん :2008/09/03(水) 05:22:30 ID:cDEMOUsO
>>962 ありがとうごぞいます!こっちでも抽出できました
参考にしてます!
>>941 を答えてくださーい
やりやすいように…というのは自己判断出来ません。
>>965 PHPがどういうものかわかっていますか?
PHPはウェブアプリケーションを作成するための言語です。
デザインのための言語ではありません。
例えば電卓を想像してみて下さい。
PHPでは電卓の内部処理を担当しますが(入力された数字の計算処理)、
入力用のボタンや計算結果を表示する画面などのデザインはhtmlでやります。
サイトをPHP化して何になるのですか?
サイトに動的な処理を取り入れたいのならPHPを勉強するのもよいでしょう。
しかしあなたには目的が見えません。
何か大きな勘違いをしていると思います。
サイトのデザインをゴージャスにしたいとかなら、
JavaScriptやActionScript(Flash)をやったほうがいいですよ。
>>965 質問にはID出せ
別にPHP覚えながらリニューアルしても
リニューアルしてからPHP覚えてもどっちでもいいだろ
目の前にリンゴとミカンがあって、どっちから食べるか人に聞かないとわかんないのか?
968 :
nobodyさん :2008/09/03(水) 11:16:20 ID:IS+s1cdz
Pear::Mailを使ってメール送信しているんですが、 Fromヘッダが複数行になると送信できないみたいです。 このライブラリって複数行の処理はされないんでしょうか? されないなら、他にライブラリを使いたいんですが、お勧め等あれば教えていただけますか。
mb_send_mail
Zend_Mail
971 :
nobodyさん :2008/09/03(水) 15:09:05 ID:+OTYds+j
DBのクエリにかかった時間を見てたら 4.57763671875E-05 こんな数字があったんでけどこれってどうやって人間の読める数字に変換(近い値でも)出来るのでしょうか? なんかCの勉強してた時の記憶で、浮動小数点の精度の問題っぽい感じがするのですが、よく覚えてません。 4.57763671875の-5乗とかって意味でしたっけ? 近似値でもかまわないのでPHPでさくっと変換する方法教えていただけると助かります。 お願いいたします
10の-5乗だろ。 1/100000だよ、小数点を左に5個動かす、計算するまでも無い。
>4.57763671875の-5乗 いや、それは違いますよね・・・ こっちか? 4.57763671875 / 100000 0を5個左にずらせばいいのかな? 正規表現でばらして
printf("%d", ) でいいんじゃないの。
失礼、この場合fかな。
977 :
nobodyさん :2008/09/03(水) 15:35:26 ID:D99Fs3HF
ちょっとした質問なんですが、 配列にすべてのアルファベットを順番に入れたいのですが Perlであったような ("a".."z","A".."Z") みたいな簡単な書き方はないでしょうか?
range
>>975 おお、うまくいきました。
いま、正規表現でごにょごにょしてて、
最後、整形するところが結構難しいなあ、と思ってたところです。
助かりました。
980 :
nobodyさん :2008/09/03(水) 15:51:29 ID:D99Fs3HF
ありがとうございます、じゃないだろ。 ありがとうございました。大変助かりました。 俺に地元の梅でもお送りしましょうか? 位のことは言ってくれよ?
>俺に地元の梅でもお送りしましょうか? >俺に地元の梅でもお送りしましょうか? >俺に地元の梅でもお送りしましょうか?
984 :
nobodyさん :2008/09/03(水) 17:38:45 ID:D99Fs3HF
美味じゃのう。
987 :
nobodyさん :2008/09/03(水) 19:19:52 ID:RTCZQVI2
smartyについて質問したいのですが、 専用のスレがなかったのですが こちらで宜しいでしょうか? なんか、もうスレが終わりそうなので、 どうしたら宜しいでしょうか。
>>987 いいんじゃね?
Smarty使ってる人が一部しかいなくていいんなら
989 :
nobodyさん :2008/09/03(水) 19:26:13 ID:RTCZQVI2
ありがとうございます。 そうしたら、お言葉に甘えて質問させて頂きます。 {html_options}タグの中にで、style=""を書きたいのですが、 CSSを書くための属性が見つかりません。 {html_options}は、CSSに対応するにはどうすればよいでしょうか? 宜しくお願いします。
991 :
nobodyさん :2008/09/03(水) 19:34:03 ID:RTCZQVI2
>>990 レスありがとうございます。
直書きということは、直接smartyのソースをいじらないと無理って事ですね。
それだと、全てのoptionsタグにそのcssが適用されてしまいますね。
if文で条件分岐すればいいのでしょうけど、画面とロジックの分離ができなくなりそうです。
そういう仕様であれば、しょうがないですね。どうもありがとうございました。
普通はdivでくくってスタイルを適用するんじゃ?
スレたててくる
>それだと、全てのoptionsタグにそのcssが適用されてしまいますね。 >if文で条件分岐すればいいのでしょうけど、画面とロジックの分離ができなくなりそうです。 これはひどい
997 :
nobodyさん :2008/09/04(木) 00:10:27 ID:ePwesmBJ
>>992 お返事どうもありがとうございました。
チェックが遅れて申し訳ありません。
divも考えたのですが、やって見たところダメでした。
W3Cのhtml仕様を読んだところ、form要素にdiv要素のデザイン属性は適用しないとなっておりました。
結局、smartyのform関連のタグとstyle属性との共存は無理そうですね。
ume
(ΦωΦ)フフフ・・・1000get・・・
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。