【PHP】下らねぇ質問はここに書き込みやがれ 27
■ このスレッドは過去ログ倉庫に格納されています
00011様
2006/08/23(水) 00:54:52ID:uM5Jzzy0まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0152nobodyさん
2006/08/25(金) 13:57:13ID:???各文字コードにあった、マッチング処理が必要だと思う
そんなことをやってくれる、公開されたスクリプトあったかな
0153nobodyさん
2006/08/25(金) 14:16:07ID:???上のページ、見てて疑問に思ったんですが、
$page = new stylesMainMenu();
$page = new mainmenu();
だけでページ表示されるんでしょうか?
$page->stylesMainMenu();
$page->mainmenu();
を行う必要はないのでしょうか?
0155nobodyさん
2006/08/25(金) 14:32:39ID:cXrhOjOgほんとくだらない質問でごめんなさい。
0156nobodyさん
2006/08/25(金) 14:33:43ID:???コンストラクタはオブジェクト作成時に自動的に実行される関数です
PHP4ではクラス名と同名の関数がコンストラクタになります
PHPでは__construct() も使えます
0157nobodyさん
2006/08/25(金) 14:43:28ID:rSZy/sXzRDF系で使われている日付形式(例: 2006-08-24T16:20:00+09:00)をタイムスタンプに変換する方法がわかりません。
dateとかstrtotimeでいけるかと思ったんですがうまくいきません。
心当たりのある方、よろしくお願いします。
0158nobodyさん
2006/08/25(金) 14:44:36ID:???VBScriptでいう「Response.Clear」みないなものはechoにはないのですか?
0159nobodyさん
2006/08/25(金) 14:48:08ID:???// Perlでの処理
@array_1 = (1, 2, 3, 4, 5);
@array_2 = $array_1[1 .. 3];
Perlの配列のスライスのように、phpで上記のようなことは出来ますか?
0160nobodyさん
2006/08/25(金) 15:16:22ID:???正規表現とmktime()でなんとかしる
>>158
http://jp2.php.net/manual/ja/function.ob-clean.php
あたりかこの近辺かと
>>159
Perl程それをスマートに書く記述はないと思う
0162nobodyさん
2006/08/25(金) 15:27:33ID:???うはーまじっすかーΣ(゚ロ゚ )
正規表現よりは桁数で拾った方が速そうではあるけど・・・
くそー今のRDF規格を作った人を恨むしかないか。
RFC822形式なら一発なのに・・・
ありがとうございました。
0163nobodyさん
2006/08/25(金) 15:37:15ID:bPaTgEu1下記のコードにおいて、methを実行することで$inにout.phpで宣言している変数を代入するには、どうすればよいでしょう?
include("out.php");
class{
var $in;
function meth(){
$this->in = (out.phpで宣言されている変数)
}
}
0164nobodyさん
2006/08/25(金) 16:02:31ID:???こんな感じ?
$rdfdate = "2006-08-24T16:20:00+09:00";
$time = strtotime(preg_replace('/(.*)T(.*)([-+])(.*):(.*)/', '\1 \2 \3\4\5', $rdfdate));
echo $time; //1156404000
0166nobodyさん
2006/08/25(金) 16:09:30ID:???正規表現が苦手なので桁数でやってしましました。
function getTime($rdftime){
$t = strtotime($rdftime);//RFC形式は通る
if($t == -1){
//RFCではない。=RDF形式
$y = substr($timestamp , 0 , 4);
$m = substr($timestamp , 5 , 2);
$d = substr($timestamp , 8 , 2);
$j = substr($timestamp , 11 , 2);
$f = substr($timestamp , 14 , 2);
$b = substr($timestamp , 17 , 2);
$t = mktime($j, $f, $b, $m, $d, $y);
}
return $t;
}
こんな感じで。
0167nobodyさん
2006/08/25(金) 16:26:32ID:???0168nobodyさん
2006/08/25(金) 17:26:44ID:???0170nobodyさん
2006/08/25(金) 18:40:51ID:???たとえば
$aaa = "あああ";
この$aaa→"あああ"につなげて"いいい"を入れたいんです。
0173144
2006/08/25(金) 19:36:10ID:r3tiUVo5アドバイスありがとうございます。
それは、何らかのクエリを二段階で投げる、という意味でしょうか??
0174nobodyさん
2006/08/25(金) 19:53:37ID:Zr4Rxmi90175nobodyさん
2006/08/25(金) 20:15:11ID:???なら簡単に作れそうなきもするけど。
0176nobodyさん
2006/08/25(金) 20:16:44ID:???0178nobodyさん
2006/08/25(金) 20:59:07ID:???if($Cid==$line[1] or $Cid==$line[2] or $Cid==$line[3] or $Cid==$line[4] or
$Cid==$line[5] or $Cid==$line[6] or $Cid==$line[7] or $Cid==$line[8] or.................
$Cid==$line[100]) {
をなんとか一文ですっきりする方法はないのでしょうか?
例えば
if($Cid==$line[1から100]) {
のような感じです。
0179nobodyさん
2006/08/25(金) 21:10:31ID:???0180nobodyさん
2006/08/26(土) 00:50:39ID:???若しくはどのようにしてログファイルにutf-8で保存するのですか?
0181nobodyさん
2006/08/26(土) 01:51:42ID:???>#define PCRE_CACHE_SIZE 4096
とか
> * If we reached cache limit, clean out the items from the head of the list;
> * these are supposedly the oldest ones (but not necessarily the least used
> * ones).
とか書いてあるんだけど、パターン使いまくりはあまりよろしくないってこと?
0184nobodyさん
2006/08/26(土) 03:32:20ID:???関数の動作ぐらい自分で調べる方法を身につけましょう
http://www.php.net/manual/ja/index.functions.php
ここらで検索するか逆引き的な本でも買いなされ
定番は「PHP5逆引き大全 500の極意 」なんじゃね
0185nobodyさん
2006/08/26(土) 04:55:01ID:???なんで自信満々に「俺は配列だよ」とか答えるんだよ死ね
0187nobodyさん
2006/08/26(土) 07:25:14ID:???正規表現のパターンを4096個も使うことってのはあんまないような気が・・・。
キャッシュが太りすぎたときにちょこっとクリアされるとは言っても心配するほどのことでもなさそう。
ループ内とかで繰り返し使われるパターンがクリアされたら確かに二度手間にはなるけど、また再登録されるわけだし、立て続けに同じのがクリアされる確率は低いと思う。
まあphpが正規表現のコンパイル結果をキャッシュしてるっての初めて知ったので、情報ありがd。
0188nobodyさん
2006/08/26(土) 09:21:45ID:???http://jp2.php.net/manual/ja/function.in-array.php
これでも分からないならお前にPHPは20年早いから諦めろ。
>>185
× I'm array.
○ in_array()
寝ろ。
0189nobodyさん
2006/08/26(土) 09:37:57ID:???0190178
2006/08/26(土) 11:48:00ID:???ただ、これでも $Cid = array("$line[1]", "$line[2]", "$line[3]",..................................... "$line[100]");
と$line[100]まで延々と記述しなければならないのでしょうか?
なにか数字が1〜100までつづきます みたいなことを定義できないのでしょうか?
おねがいします。
0192nobodyさん
2006/08/26(土) 12:25:17ID:???はい、要は↓をシンプルにしたいんです >< PHPのことがあまりわからず
サイトを引き継いだんですが・・・・・
$Arr=array();
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",",$Data[$i]);
if($Cid==$line[1] or $Cid==$line[2] or $Cid==$line[3] or ........... つづく $Cid==$line[100]まで){
array_push($Arr,$Data[$i]);
}
この ........... $Cid==$line[100]){ 部分がなんとか短くスマートに出来ないか模索中さんです。
in_arrayをつかってもいちいち100まで記述しなければいけないのなら同じですよね?
0194nobodyさん
2006/08/26(土) 12:35:17ID:ZmsklhSjllllllllllllllllllllllllll/ ̄ ̄ヽlllllllllllllllllllllllllllllllllllllllllll
lllllllllllllllllllll / ヽllllllllllllllllllllllllllllllllllllll
iiiiiiiiiiiiiiiiiiiiii 試 も あ .iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiii| 合 う き |iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;| 終 ら |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;| 了 .め |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;:;:;:;:;:;:;:;:;:;:;| だ ろ |:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:
;:;:;:;:;:;:;:;:;:;:;| |:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:
:.:.:.:.:.:.:.:.:.:.:ヽ、 /.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:
:. :. :. :. :. :. :. :. ‐‐--‐‐':. :. :. :. :. :. :. :. :. :. :. :.
: : : : : : : : : : : : : : : : : : : : : : : : ,.‐- 、 : : : :
廴ミノ
///¨' 、
y':;:;:;:/⌒i!
J:;:;:;:;};:;:/;},
;il||||li' t`'---‐';:;:;:l
,.r'"''、,┘ 7;:;:;:;:;:;:;:;「
ノ4 (⌒i .}:;:;:;:;:;:;;/
/..,__彡{, | `i:;:;:;:;:;}
( .ミi!} l、 .」:;:;:丿
クュ二二`Lっ) `==='
0196nobodyさん
2006/08/26(土) 13:27:32ID:???●; rz ・・・・・・・
0197nobodyさん
2006/08/26(土) 13:31:01ID:???0198nobodyさん
2006/08/26(土) 13:35:58ID:???なんどhttp://jp2.php.net/manual/ja/function.in-array.php読んでもわかりません・・
もうちょっと猿にもわかるヒントくれませんか?
0199nobodyさん
2006/08/26(土) 13:45:52ID:???わかんないなら100こ並べろ。
0201nobodyさん
2006/08/26(土) 13:55:21ID:???アレ読んで理解出来ないやつなんていねぇし
0202nobodyさん
2006/08/26(土) 14:05:40ID:???それを読んでもわからないなら、やめたほうがいい。
それと、お節介かもしれないが、知的障害あるか検査したほうがいい。
知的障害があることが既知なのであれば、
プログラミングという高度な知的作業を行うことがそもそも間違いだと思う。
0204nobodyさん
2006/08/26(土) 15:01:54ID:8b0v97H2$massage="
http://・・・・.com/・・・.php?data=UrlEncode($_GET['data'])
";
mb_language('Japanese');
mb_internal_encoding("SJIS");
mb_send_mail(省略);
を送信した場合
「http://・・・・.com/・・・・.php?data=%82v%82%85%82%82%83%7D%83X%83%5E%81%5B」
とメールが届くのですが通常のアウトルックなどのメーラーで受信した場合クリックすると正常なデータを返しますが
hotmailなどのWebメールで受信した場合クリックすると
http://・・・・.com/・・・・.php?data=?v?…???}?X?^?
見たいに変換されます。
受信したアドレスのプロパティーを見ると
「javascript:ol('http://・・・・.com/・・・.php?data=?v?…???}?X?^?);」
なっています。一種の文字化けなのですがどのように対処すれば良いでしょう?
0205nobodyさん
2006/08/26(土) 15:03:23ID:???マニュアルの日本語すら理解できないサルには俺らが何書いたところで理解できるわけもなし。
これやるからとっとと帰れ。
if(in_array($Cid, $line)) {
echo "私にサイト引き継ぎなんて到底無理です。私にPHPなんて200年は早いのです。";
}
$lineが100個でない時に生じうる意図しない動作に関しては自分で考えて何とかするように。
0208nobodyさん
2006/08/26(土) 16:04:56ID:???0210nobodyさん
2006/08/26(土) 16:31:15ID:???0212nobodyさん
2006/08/26(土) 16:34:51ID:???うざいからお前帰っていいよ。
次の質問どうぞ
0213nobodyさん
2006/08/26(土) 16:38:21ID:???0214nobodyさん
2006/08/26(土) 18:49:13ID:8NxWDex1○大まかな処理
サーバにある画像を、CSVファイルの値を元にファイル名変換し、ローカルに保存する。
全部で1600件。
○環境
スクリプト実行サーバのOS:ローカルのWindowsXP(an httpdとPHP)
スクリプト実行サーバのPHP:4.3.11
画像があるサーバのOS:不明
画像ファイル名までは全て同じURL。
http://www.example.com/img/〜.jpg
○考えている処理の流れ
1.「商品一覧CSV」読み込み。
2.「商品一覧CSV」A列の旧ファイル名を使い、画像があるURLを生成。
http://www.example.com/img/old.jpg
3.画像があるURLを元に、ファイルが存在するかチェック。
4.存在すれば、「商品一覧CSV」B列の新ファイル名に変換し、保存
(サーバ上のファイルは、変換せずにそのまま残します。)
http://www.example.com/img/new.jpg
1600件分。
次に続きます。
0215nobodyさん
2006/08/26(土) 18:49:53ID:8NxWDex1○質問内容
CSV読み込みや、文字列の変換などは出来そうなのですが、
ファイルダウンロードや保存処理などが全く判りません。
以下、教えて頂きたいことです。
・勉強をするにしても、見当がつかないので、具体的なキーワード
・もしできましたら、簡単で構わないのでサンプルのソース
お忙しい中、大変恐縮ですが、
こちらの質問に少しでもお時間を頂ければと思います。
出来るだけ丁寧に書いたつもりですが、
日本語おかしかったらごめんなさい。
何卒、よろしくお願い申し上げます。
0216nobodyさん
2006/08/26(土) 18:59:14ID:???イメージのURLを直接GETしてレスポンスを
そのままバイナリでローカルに保存すればいいだけ
数行で終わる処理
0217204
2006/08/26(土) 19:03:15ID:8b0v97H2$massage="
http://・・・・.com/・・・.php?data=UrlEncode($_GET['data'])
";
mb_language('Japanese');
mb_internal_encoding("SJIS");
mb_send_mail(省略);
を送信した場合
「http://・・・・.com/・・・・.php?data=%82v%82%85%82%82%83%7D%83X%83%5E%81%5B」
とメールが届くのですが通常のアウトルックなどのメーラーで受信した場合クリックすると正常なデータを返しますが
hotmailなどのWebメールで受信した場合クリックすると
http://・・・・.com/・・・・.php?data=?v?…???}?X?^?
見たいに変換されます。
受信したアドレスのプロパティーを見ると
「javascript:ol('http://・・・・.com/・・・.php?data=?v?…???}?X?^?);」
なっています。一種の文字化けなのですがどのように対処すれば良いでしょう
0218nobodyさん
2006/08/26(土) 19:10:43ID:???mb_send_mail(省略);
ここを省略するなよ
0219nobodyさん
2006/08/26(土) 19:17:18ID:???ここが凄いなぁ、と、思いました。何でも出来ます。
0220nobodyさん
2006/08/26(土) 19:24:46ID:???>ファイルダウンロードや保存処理など
ファイル残すなら copy() でいけるんじゃないかな。
システムコマンド発行してもできるんかもしれないけど俺はよく知らん。
0221220
2006/08/26(土) 19:29:02ID:ZmsklhSjコピー先にローカルを指定するってことね。(C:\〜〜)
試してないから分からんけどできなかったらfile_get_contents()とfile_put_contents()でごりごりと。
0222204
2006/08/26(土) 19:35:18ID:8b0v97H2mb_send_mail($_GET['mail'],"登録手続き",$message,"From: ...@....com");
hotmail以外の普通のメーラーからは正常に動作します。
問題はhotmailに渡った時のメーラーの文字コードなどの設定なのかな?などと思いながらもわかりません。
0223nobodyさん
2006/08/26(土) 19:42:20ID:???> 全然わからないでしょうか?
逆に聞きたいや。どうしてそうなるか、想像つかない?
その化けるっていう部分のテキストを自分で手入力して hotmail 宛てに送ってみたら?
0224nobodyさん
2006/08/26(土) 21:18:55ID:???0225nobodyさん
2006/08/26(土) 22:21:06ID:???ダブルクォーテーションがあるとエスケープしてくれる関数ってありますか?
php.iniのmagic_quotes_gpcをonにすればいいと検索してわかったんですが、
レンタルサーバなのでphp.iniを弄れません。
0228192
2006/08/26(土) 23:18:43ID:???みんな 教えてくれないの?
0229nobodyさん
2006/08/26(土) 23:27:42ID:???我々は既に少なくとも4回は答え(ヒントではなく答えそのもの)を教え、
数え切れないほどの助言を与えたが君にはそれがこれっぽっちも理解できなかった。
また、君はこのスレの>>1に書かれている質問者のルールすら理解していない。
以上より我々は君にものを教えるのを諦めた。君ももう諦めろ。
0232nobodyさん
2006/08/26(土) 23:47:39ID:???方言のきつくないDBなら大差ない(MySQL, PostgreSQL, SQLite辺り
ただ、addslashesは余計な文字までエスケープしてくれて困った記憶がある
0233232
2006/08/26(土) 23:48:39ID:???mysql_escape_stringはシラネ
・@Nifty
[質問]
・AccessLogCgi 自作にあたっての注意事項 (見落としてはならない処理)
($ENV{''} で得たデータを log-file に書き込む所までは成功)
・log-file の permission 設定の留意点
[現状]
当方, どうにか perl を読み取れる程度.
local テストは なんとか できますだ.
要するに度胸と勘は人並み以上にあるが,
常識をまったく知らないので危なっかしいこと この上なし !
先輩方には転ばぬ先の杖に なっていただきたいのら.
申す訳ねぇですだ.
ゆ, 誘導...
0237nobodyさん
2006/08/27(日) 00:11:17ID:???いや、言語は確かにPerlだけど、やってることは別にPerlじゃないとダメ!って物ではないな。
お前はあれだろ?アクセスログ取りたいんだけど気をつけることって無い?ってのが聞きたいんだよな?
後々のためにもここで一度皆の意見を出しておこう。
じゃあ、まず俺の考えな。
お前のメル欄には殺意を覚える
0238nobodyさん
2006/08/27(日) 00:21:57ID:puW5pOF7NamazuでPDFファイルを検索し、全文を見る場合はPDFで
概要を見るときは、htmlで見るというふうに選択できるように
したい思っています。
そこで、PDFファイルのほうでインデックスが作られているという状態
で、どのようにすれば、検索したときに概要のhtmlも一緒に表示
し、選択できるようになるかヒントをいただきたいのですが。
0239nobodyさん
2006/08/27(日) 00:26:39ID:???>ファイルダウンロードや保存処理などが全く判りません。
俺はURLリストをPHPで作って、収集はwgetにリスト食わせてやってる。
ただWindowsのときはwgetからエラー取るのはちと上手くいってないので、
回線の調子や相手側が混んでてまともに落ちなかった場合の処理が
落とせて保存できたローカルのファイルと比較して云々ということをやってる
ので無駄があるかな。でもPHPでファイルダウンロードさせるのもね...
0240236
2006/08/27(日) 00:28:19ID:jDhPUedGもっ, 申す訳ねぇデスだ.
つい, うっかり...
制限はあるものの, とりあえず perl は使えるようなので...
@Nifty の forum で聞くのがベストなんだろうけど,
まだ参加できないようなので...
(実は今日 入会通知が来て hosting が利用できるようになったばかり)
以後, 気をつけますだぁ〜 !
0242nobodyさん
2006/08/27(日) 01:09:27ID:???>ごめん、mysql_real_escape_stringの方の話。
意味がわからん。
「mysql_real_escape_stringの方」がどうしたの??
0247nobodyさん
2006/08/27(日) 03:31:50ID:wHycBp2fこのメールフォーム使ってるんですけど、メール欄にメアドを正しくいれてもエラーになってしまいます。
このメールフォームを配布してるサイトは更新がとまっており、メール対応もしてくれませんでした。
自分で修正しようと思うのですが考えられる問題点は何なのでしょうか。
どなたかよろしくお願いします。
0248nobodyさん
2006/08/27(日) 03:35:12ID:???なんでもいいのですが、
たとえばinclude()やdefine()やarray()などで、
include("AAA.inc")
define("AAA","あいうえお")
array("AAA","BBB")
といった感じに、""(ダブルクオテーション)をよく使っているのですが、
ここは''(シングル)でも大丈夫ですよね?
普通はどちらを使うのでしょうか?
もちろんどっちでもいいのでしょうが、
一般的にはこっちだ!っていうのがありましたらぜひ教えてください。
0249nobodyさん
2006/08/27(日) 03:36:17ID:PJYoudumhttp://jp2.php.net/manual/ja/ref.mail.php
0250nobodyさん
2006/08/27(日) 03:37:48ID:???http://jp2.php.net/manual/ja/language.types.string.php
0251247
2006/08/27(日) 03:41:27ID:wHycBp2f本体とテンプレをうpしたのでお願いしますm(_ _)m
http://strawberry.web-sv.com/cgi/up/sde/nm0134.zip
■ このスレッドは過去ログ倉庫に格納されています