トップページphp
1001コメント348KB

【PHP】下らねぇ質問はここに書き込みやがれ 28

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/09/03(日) 21:01:08ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【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カテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0201nobodyさん2006/09/06(水) 08:17:42ID:???
>>196
オプション指定なしのデフォルトであれば、ミリ秒単位でユニーク、ってレベル。
ミリ秒単位で全く同一の時刻に複数のプロセスがuniqid()を実行したら被るよ。
0202nobodyさん2006/09/06(水) 08:23:05ID:???
>>198
んー。去年辺りからRoRが注目を浴びてきてるからでしょ。
AjaxでJavaScriptがまた脚光を浴びたのと一緒よ。

ま、Javaも近々Javaベースのスクリプト言語を公開して
大半の開発ユーザをそっちに移行させちゃう予定だから、
今このタイミングでPHPユーザがJavaを勉強するってのは
確かに微妙かもしれんな。
0203nobodyさん2006/09/06(水) 08:47:21ID:???
Aspect指向の勉強にAspectJでもやってればいいんじゃないのかね。
0204nobodyさん2006/09/06(水) 08:59:33ID:???
>>201
ミリ秒ではなく、実はマイクロ秒。
マニュアルは誤記みたいだよ。

>>196
重複する可能性はほぼゼロと考えていいと思う。
第2引数にtrueを指定すれば、もっと重複する確率は減るらしい。

暇ができたら、Cで大量にプロセス生成して同時にマイクロ秒を取得するとどれくらい重複し得るか実験してみたいかも。
0205nobodyさん2006/09/06(水) 10:43:07ID:???
>>172
一回発行させてリダイレクトさせるだけでいいじゃん。
勿論無限ループにならないように注意してね。

JavaScriptで判別するのは論外。
大抵のブラウザではCookieとJavaScriptは両方デフォルトで有効になっている。

そこでセキュリティ上の問題でCookieを無効にしている人は、JSも無効にしている可能性が高い。
0206nobodyさん2006/09/06(水) 10:53:37ID:???
tmpファイルを作成せずに、
FTP経由でファイルの内容を拾ってくる方法は無いでしょうか?

現在は、FTPで一旦ダウンロードしてから、
file_get_contents()で内容を拾っています。
できれば、tmpファイルを作成せず、直接メモリに入れたいのですが・・。
0207nobodyさん2006/09/06(水) 10:56:48ID:???
>>206
PHPにはFTP関数なんてものがありますがマニュアルを読みました?
02082062006/09/06(水) 11:21:26ID:???
>>207
読みました、
> 現在は、FTPで一旦ダウンロードしてから、
ここでFTP関数は使用してます。

FTP_関数で、file_get_contents のような使用方法ができる
関数は無いような気がします
0209nobodyさん2006/09/06(水) 11:23:52ID:???
クラス内の変数(メンバ変数?)は
グローバル変数に影響を与えないことは分かったんですが、
グローバル変数は、クラス内の変数(メンバ変数?)
に影響は与えないのでしょうか?
その場合、クラスに変数を渡すのはどんな方法を使うのが一般的でしょうか
0210nobodyさん2006/09/06(水) 11:27:24ID:???
>>208
socketを使っても一時ファイルが出来るんだっけ?
0211nobodyさん2006/09/06(水) 11:34:00ID:???
>>209
変数を渡したければ、引数で渡せ

記述が全然違うから、グローバル変数はメンバ変数に影響は与えない
メソッドや関数内のローカル変数には影響はある

$foo = 10;
myfunc();

function myfunc()
{
 $foo = 20;
 global $foo;
 print($foo);
}

上記の出力はグローバルで定義された 10 になる
というか、聞く前に簡単なスクリプトを書いて試す癖を付けたほうがいいぞ
0212nobodyさん2006/09/06(水) 12:20:26ID:???
> 記述が全然違うから、グローバル変数はメンバ変数に影響は与えない
> メソッドや関数内のローカル変数には影響はある

メソッド内の変数!=メンバ変数、でしょうか?
メンバ変数、グローバル変数の細かな定義も曖昧なのですが、
何か参考になるサイトはないでしょうか?
また、他の言語でのメンバ変数、グローバル変数の解説でも
PHPも同じと考えてよいでしょうか?

ぐぐってみたのですが、よいサイトを見つけられませんでした。

> というか、聞く前に簡単なスクリプトを書いて試す癖を付けたほうがいいぞ

肝に銘じます

> 変数を渡したければ、引数で渡せ

これのことを指しているのでしょうか?
素人質問ばかりですいません > global $foo
0213nobodyさん2006/09/06(水) 12:34:42ID:???
>>212
とりあえず言語リファレンスから読み直せ
http://www.php.net/manual/ja/
0214nobodyさん2006/09/06(水) 12:35:47ID:???
こういうことでしょ?

<?php
$global = "Hello";

class Test {
var $member;

function Test() {
$this->member = "World";
}

function hogeHoge() {
echo $global.$this->member;
}
}

$object = new Test;
$object->hogeHoge();
?>
0215nobodyさん2006/09/06(水) 12:49:28ID:???
>>212
>何か参考になるサイトはないでしょうか
>>213 のレスの通り
公式サイトを読めるだけの基本的な知識がないと辛いよ

>また、他の言語でのメンバ変数、グローバル変数の解説でも
>PHPも同じと考えてよいでしょうか?
大きな部分では同じではあるが、細かいところではその言語ごとの
特色が出ている。
まったく同じと考えると、思わぬミスをすることになる。
0216nobodyさん2006/09/06(水) 12:51:15ID:???
>>212

>> 変数を渡したければ、引数で渡せ
>
>これのことを指しているのでしょうか?
>素人質問ばかりですいません > global $foo

・引数
function myfunc($foo)
{
 print($foo);
}

上記のような、($foo) で記述すれば、引数として値を渡すことができる

$foo = 10;
myfunc($foo);

という風につかう

0217nobodyさん2006/09/06(水) 12:54:47ID:???
>>212
・メンバ変数

class myclass
{
 var $bar;

 function mymethod($foo)
 {
   $this->bar = $foo;
 }
}

上記のような $this->bar をメンバ変数と呼べる
$bar ではなく、$this->bar であることに注意

 function mymethod($foo)
 {
   $bar = $foo;
 }

このような場合は、メンバ変数ではなく、メソッド内のローカル変数

まったくプログラムを知らない人には、なじみにくいものだとは思うが
まあ、ゆっくりとやればいい
0218nobodyさん2006/09/06(水) 15:40:13ID:???
phpの掲示板作成のチュートリアルを探しています。
前に見つけたんですが、忘れてしまいました。

一応管理機能等がある物だったんですが・・
0219nobodyさん2006/09/06(水) 16:49:47ID:UXXHtXDV
PHPでパスワードデータをGETしたりPOSTしたりするときのセキュリティー対策
はどうしてますか?
0220nobodyさん2006/09/06(水) 16:58:30ID:???
個人ページってパスワードが漏れて困るようなシステムって基本的にないような。
使ってもアクセス制限程度だし。

顧客情報を管理するような重要なシステムなら、SSL導入。
0221nobodyさん2006/09/06(水) 16:58:40ID:???
>>219
単に通信路の暗号化という意味ならSSL使うのが正解だろ
SSL使わないときは、生で流してる。
SSL使わないけど、より安全にしたいってことなら、
クライアントでJavascript使って、パスワード+種にmd5とかして
それをサーバに流すとかすればいいんでないの?
0222nobodyさん2006/09/06(水) 17:00:56ID:???
>>219

GETならセキュリティ対策しても無意味なんで、何も対策しない。
作るアプリケーションもミッションクリティカルなものじゃない
はずだし。

POSTならSSLを導入する。
そのあとXSS対策とか色々考えるけど書くのめんどうだから後は
ぐぐれ。
とりえずSSL導入しないなら何しても無駄くらいに思っとけばよろし。
0223nobodyさん2006/09/06(水) 17:01:40ID:???
>>218
スゲー曖昧だな
記憶たよって、それを検索キーワードにしてぐぐれよ
まぁ、既にやってそうだけどさ
0224nobodyさん2006/09/06(水) 17:11:00ID:???
>>199
アドバイスきいてるの?
そんなことしたってあんまり早くならないだろうって意見がおおいじゃん
それなのにrequireとか見直すつもりなのかよ
もっとちゃんと負荷かかってるところ見極めた方がいいってことだよ
視点かえて、サーバ上でいらんプロセス動いてたら殺すとか
そういうことしたほうが効果あるんでないの?
究極的には、新しいサーバにした方が手っ取り早いって事もあるしさ
ま、他にもいろいろ考えてるんだったら、おせっかいでスマン
0225nobodyさん2006/09/06(水) 17:14:04ID:UXXHtXDV
SSLするお金がありません。md5とか試してみます。
0226nobodyさん2006/09/06(水) 17:23:13ID:???
>>212
そりゃPHP以前の問題だな
遠回りにおもうかもしらんが、
PHP入門というレベルですらなく、初めてのプログラミング
とかそういう本読んで、基本的なプログラミングの考え方
に触れといたほうがいいんでないかい?
じゃないと、ここでいくら聞いても混乱するだけだ
あと既出だが、マニュアルとかネットで読むだけでは
身につかん。解った気分になれるだけだな。
解ってるって思ってもいざコード書いて見ると???って思うこと
はたくさんあるぞ。
ま、自分でコード読んで何やってるか読み取れない時点で
理解してないってことは分かると思うんだが、ネットで探す、
でもって、コピペで動いた万歳というレベルのやしが多いんだ
なこれが。
0227nobodyさん2006/09/06(水) 17:27:30ID:???
>>225
それは個人でやってることなのか?
であれば、おれおれ証明書+OpenSSLとかで金かけずにSSLできるぞ?
仕事であるとしてなら、個人情報うんぬん考えて、SSL使いたい。
でも金かかるからヤメタってのはそりゃあんたダメだよ
ホントに個人情報漏れたときに、責任取らされないように気をつけることだ
02282182006/09/06(水) 17:38:32ID:B1MlJIFJ
>>223
そうですね、検索ワード思いつく限りは試してるんですが思い出せません。
どなたかそのようなチュートリアルがありましたらお願いします。
02292122006/09/06(水) 17:48:52ID:???
非常に分かりやすい説明ありがとうございました
0230nobodyさん2006/09/06(水) 18:24:47ID:Z+QAwMX/
<?phpのみ可で、<?を不可にするのって、php.iniの何処いじるんでしたっけ?
0231nobodyさん2006/09/06(水) 18:27:17ID:???
>>230
short_open_tag
0232nobodyさん2006/09/06(水) 18:35:05ID:???
212とかぶるんだが、
グローバル変数の$_SESSION['hoge']を
クラス内、関数内で使用するにはどうすればいい?
ほとんど決まって使用する形なので毎度関数の引数にするのはいやづら

class Test{
var $hoge = global $_SESSION['hoge'];

function Test()
{
echo $hoge;
}

では上手くいかないづら
0233nobodyさん2006/09/06(水) 18:37:20ID:???
>>231
ありがと。助かりました(*・∀・)//
0234nobodyさん2006/09/06(水) 18:40:46ID:???
>>232
そもそも$_SESSIONはスーパーグローバルだからどこでも使える
http://jp2.php.net/manual/ja/language.variables.predefined.php
0235nobodyさん2006/09/06(水) 18:43:11ID:???
>>232
コンストラクタで初期化。
class Test{
var $hoge;
function Test()
{
$this->hoge = $_SESSION['hoge'];
echo $this->hoge;
}
0236nobodyさん2006/09/06(水) 18:44:55ID:???
>>232
var $hogeの参照の仕方は間違ってるし
= global $_SESSION['hoge'] ってなんだよだし
お前はまずPHPの文法から勉強すべきなんでは?
0237nobodyさん2006/09/06(水) 18:50:59ID:???
functionで引数を指定した場合は、その引数へ
指定しなかったら変更せず、って可能でしょうか?
0238nobodyさん2006/09/06(水) 18:52:57ID:???
>>237
function hoge($a = "default") {
if($a == "default") {
echo "引数が指定されなかったよ";
}
}
0239nobodyさん2006/09/06(水) 18:54:05ID:???
>>237
デフォルト引数値
ttp://www.php.net/manual/ja/functions.arguments.php#functions.arguments.default
0240nobodyさん2006/09/06(水) 18:54:53ID:???
>>235
わざわざコンストラクタ意識しなくても

class Test{
var $hoge = $_SESSION['hoge'];

function Test()
{
echo $this->hoge;
}

でいけね?
0241nobodyさん2006/09/06(水) 18:59:54ID:???
>>234
でFAでてるんじゃないの?
0242nobodyさん2006/09/06(水) 19:06:00ID:???
コンストラクタは簡単に言えば初期化するとこでしょ?
コンストラクタじゃないならクラス名と関数名は別にしたほうがいいのでは?
0243nobodyさん2006/09/06(水) 19:18:04ID:???
なんか話が逸れてないか?
0244nobodyさん2006/09/06(水) 19:33:45ID:???
唐突に失礼しますが、$a[] = 1; で追加された数字キーを得る方法はありませんよね?
0245nobodyさん2006/09/06(水) 19:36:15ID:???
$a[] = 1;
なら数字キーは0じゃね?
0246nobodyさん2006/09/06(水) 19:36:58ID:???
ゴメン、間違えた。忘れてくれ
0247nobodyさん2006/09/06(水) 19:37:13ID:???
>>245
どんどん追加して行くようにしているので後からデータを変更する場合にキーを
習得しておきたいのです。
0248nobodyさん2006/09/06(水) 19:38:19ID:???
>>244
end($a);
$key = key($a);
くらいかな。1行でやる方法は思いつかなかった。
0249nobodyさん2006/09/06(水) 19:40:43ID:???
>>248
一行ではやはり無理ですよね
ありがとうございます
0250nobodyさん2006/09/06(水) 19:41:50ID:Ko4SqDiX
クラスの中で、var = $aaa;と宣言するとどうなるんですか?
0251nobodyさん2006/09/06(水) 19:42:37ID:???
>>244
配列の途中に抜けがないことを前提にできるなら
$key = count($a) - 1;
でいいと思うんだけどね。
0252nobodyさん2006/09/06(水) 19:43:41ID:???
>>250
文法エラー
0253nobodyさん2006/09/06(水) 19:45:18ID:???
>>251
それが数字キーとは別に文字キーも含まれていてcountは使えないのです。
切り分けるか他の方法を考えて見ます。
0254nobodyさん2006/09/06(水) 19:47:30ID:???
どうしても1行でやりたいなら>>248を関数化して使えば?
0255nobodyさん2006/09/06(水) 20:02:28ID:???
GDライブラリはサーバ管理者がインストールしていないと
使えませんよね?
0256nobodyさん2006/09/06(水) 20:03:55ID:???
>>255
そうですね
0257nobodyさん2006/09/06(水) 20:07:39ID:???
>>256
非常に残念です。失望しました。
0258nobodyさん2006/09/06(水) 20:13:26ID:Ko4SqDiX
あわわ、ごめんなさい。
クラスの中でvar $aaa;を宣言するとどうなるのでしょうか?
0259nobodyさん2006/09/06(水) 20:14:25ID:???
自分で確認しろよ
0260nobodyさん2006/09/06(水) 20:20:10ID:???
>>258
メンバ変数として使えるようになります。
0261nobodyさん2006/09/06(水) 20:22:18ID:???
>>258
PHP5では非推奨
0262nobodyさん2006/09/06(水) 21:07:44ID:???
パスワードをDBに保存するとき、PHP側で
md5('生パスワード')とやるのと、
md5('生パスワード'+'秘密の種')とやるのと、
どっちがいいですかね??

自分はずっと前者でやってましたが、やっぱり後者にすべきでしょうか?
0263nobodyさん2006/09/06(水) 21:08:00ID:zhNqu6Fm
--file.txt-----------------------
1
<--shitei_start-->
2
3
4
<--shitei_end-->
5
-------------------------------

上記file.txtの<--shitei_start-->から<--shitei_end-->まで抜き出す方法について質問です。
自分なりに考えて、下記方法にて正常に処理することは出来たのですが、長いような気がしてなりません。
スマートな処理方法があれば教えて頂きたいです。よろしくお願いします。
WindowsXP SP2 + PHP4.4.4 + Apache2.0Handler

$shitei = file_get_contents("file.txt");
$shitei = str_replace("\r\n","",$shitei);
$shitei = str_replace("\r","",$shitei);
$shitei = str_replace("\n","",$shitei);
$shitei = preg_replace('/<--shitei_start-->(.+?)<--shitei_end-->/',"\\1",$shitei);
echo $shitei;
0264nobodyさん2006/09/06(水) 21:12:15ID:???
>>263
それで十分な気がするけど、まー短くしたいって言うなら。
$shitei = file_get_contents("file.txt");
$shitei = preg_replace("/[\r\n]/", '', preg_replace('/<--shitei_start-->(.+?)<--shitei_end-->/',"\\1",$shitei));
echo $shitei;
0265nobodyさん2006/09/06(水) 21:17:19ID:???
>>263
とりあえず
$shitei = str_replace("\r\n","",$shitei);
は要らないだろ。
0266nobodyさん2006/09/06(水) 21:25:50ID:???
>>261
なんで非推奨?
0267nobodyさん2006/09/06(水) 21:31:10ID:???
private、protected、public
PHP5は↑を推奨
互換性があるからvarでもおk(var=public)
0268nobodyさん2006/09/06(水) 21:31:48ID:???
>>263
preg_replaceでmオプションでいいんでないかい

$shitei = preg_replace('/<--shitei_start-->(.+?)<--shitei_end-->/m',"\\1",$shitei);
0269nobodyさん2006/09/06(水) 21:38:24ID:???
class hoge{

function hoge()
{
$a = "1";
}

function fuga()
{
echo $a;
}

}

上のようにfuga()でhoge()のローカル変数$aを使いたい場合、
どうすればよいですか?
0270nobodyさん2006/09/06(水) 21:44:52ID:???
なんかOOPの基礎的な書き方みたいな質問が多いけど、同一人物?
さっきのvarと言い。
本を読んで自習して欲しい。
0271nobodyさん2006/09/06(水) 21:45:53ID:???
お願いです、劣化コピーはやめてください。
0272nobodyさん2006/09/06(水) 21:47:29ID:???
--file.txt-----------------------
1
<--shitei_start-->
2
3
4
<--shitei_end-->
5
<--shitei_start-->
6
7
8
<--shitei_end-->
9
-------------------------------

263じゃないけど、似たようなこと聞きたかったので質問です。
上の場合(1〜4、5〜8を取得したい場合)は、どんな記述方法がありますか?
0273nobodyさん2006/09/06(水) 21:48:29ID:???
>>271
ソース吹いた
0274nobodyさん2006/09/06(水) 21:53:11ID:???
>>272
2〜4, 6〜8じゃなくて 1, 5 も欲しいの?
それ変だと思うが。
02752632006/09/06(水) 21:54:38ID:zhNqu6Fm
>>264
preg_replaceの中にさらにpreg_replaceが使えるんですねー。
参考にさせて頂きます。ご教授ありがとうございました。

>>265
OSによって改行コードが違うとどこかで見たんで、
それぞれに指定してみたんですが・・・。
確かに\nと\rさえ変換しておけば必要なさそうですね。

>>268
mオプションが使えれば一番いいんですが、
何故か正しく処理されなくて、スルーしてたんですよ。
原因追求と共に、もう一度調べてみようと思います。

ありがとうございました。
0276nobodyさん2006/09/06(水) 22:00:27ID:???
>>275
お前は関数呼び出しもロクに理解していないように見える。
今のうちに基礎から勉強しなおして来い。
0277nobodyさん2006/09/06(水) 22:07:05ID:???
272です、
>>274
すまそ、間違えました。
2〜4,6〜8ですた
0278nobodyさん2006/09/06(水) 22:10:09ID:???
>>277
括弧の位置を変えるか、マッチの番号を変える
0279nobodyさん2006/09/06(水) 22:16:10ID:Hk4G6jQR
フリー配布されているソースを見ていて疑問に思ったのですが、

$body = <<<EOM
$data[1]
EOM;

こんなふうにかかれた部分がありました。
これはなんという関数?制御構文?なのでしょうか。
名前がわからず、検索するにも困っています。
02802632006/09/06(水) 22:16:25ID:???
>>276
無論、基礎を勉強中ですよ。
まだPHP始めて3週間程度ですので、身の程はわきまえてるつもりです。
勉強の過程でやりたいと思ったことを息抜きのつもりでやってみて
楽しんでるだけなんですよ。たまには遊ばせて下さい。(´Д⊂
0281nobodyさん2006/09/06(水) 22:17:01ID:???
>>279
ヒアドキュメント
0282nobodyさん2006/09/06(水) 22:18:15ID:???
>>266
旧互換で残されてるだけで、使うと警告が出る。
ttp://www.php.net/manual/ja/language.oop5.visibility.php
> 注意: キーワードvarで変数を宣言する PHP 4の方法は、PHP 5オブジェクトではもはや 有効ではありません。
> 互換性のためにPHPで宣言された変数は、publicのアクセス権を 有していると仮定されますが、 E_STRICT警告が発生します。
02832792006/09/06(水) 22:18:58ID:???
>>281
ありがとうございます。検索してきます!
0284nobodyさん2006/09/06(水) 22:20:16ID:???
>>268
別にmは無くてもいいかと。
mは改行部分での行頭/行末の扱いを変えるだけで、それ以外の改行は関係ない。
正規表現の中に「^」か「$」を含んでなければmはあっても無くても一緒。

mの有無に関係なく、改行変換を無くすと出力結果が変わっちゃうわけだが?

0285nobodyさん2006/09/06(水) 22:23:08ID:SJHDxyO4
PHPを本で勉強しているものですが、php5徹底攻略が良いと聞いたんですが、
軽く立ち読みした感じ、linuxユーザー向けに書いてあると思ったのですが、
windowsで勉強してる人には、役に立たないですかね??
あと、これのエキスパート編もlinux向けですかね?
どうか教えてください。
あと、お薦めの本もありましたら教えてください。
0286nobodyさん2006/09/06(水) 22:26:56ID:???
>>285
PHP関連の書籍 第3版
http://pc8.2ch.net/test/read.cgi/php/1150558685/l50
0287nobodyさん2006/09/06(水) 22:30:59ID:???
>>284
初めて知った、、、
PHPのpreg系ってmなくても複数行に対応してるのね
0288nobodyさん2006/09/06(水) 22:33:23ID:???
おらもタグの間に改行があるとmがない場合はマッチしないと認識してた
02892692006/09/06(水) 22:42:55ID:???
どなたかヘルプみー
0290nobodyさん2006/09/06(水) 22:46:39ID:???
>>289
そういう使い方するようには出来ていないから無理だよ。
きもいけど$this->でも使ったら?
0291nobodyさん2006/09/06(水) 22:47:26ID:???
>>269
無理。
ローカル変数は外部からアクセスできないようにするためにある。
0292nobodyさん2006/09/06(水) 22:49:02ID:???
>>289
メンバ変数にでも入れたら?
次、質問する時にはIDを出すように
0293nobodyさん2006/09/06(水) 23:07:16ID:???
>>287
PHPに限らずドットメタ文字が改行にマッチしないだけで
正規表現の中に.が入ってなければ複数行は無関係でしょ。
ってことでMultiLineのmじゃなくてDotAllのsが正解だと思う。
0294nobodyさん2006/09/06(水) 23:21:09ID:???
>>288
逆じゃないか?これ、sオプションつけなきゃマッチしないだろ。
>>264>>268も間違ってるとオモ

>>272
複数取得したい場合はpreg_match_all()を使う。
0295nobodyさん2006/09/06(水) 23:22:29ID:???
リロード忘れて被ってたorz
02962692006/09/06(水) 23:30:58ID:/I1yABna
レスサンクスです、

初めてクラスに挑戦しています。
FTP関連のクラスを作って、
コンストラクタでftp_connectして、
メソッドでftp関連の処理を、
と考えてたのですが、今まで関数さえ一切使わず
グローバル関数が乱立していた
(もちろん変数被ってバグ頻繁に発生)ような自分のレベルからは
なかなか理解が難しいですね汗

メソッド内全てでftp_connectするか
classの最初で宣言しておいて
$this->使うとかの方法しかないでしょうか。
0297nobodyさん2006/09/06(水) 23:35:32ID:???
>>296
> classの最初で宣言しておいて
> $this->使うとかの方法しかないでしょうか。
元々、メンバ変数ってのはそのために用意されてる仕組み。
0298nobodyさん2006/09/06(水) 23:41:12ID:???
>>296
269のコンストラクトで
$this->a = $a;
して
fugaで
echo $this->a;すればよろし。
0299nobodyさん2006/09/06(水) 23:44:29ID:???
それするときったないスクリプトになる。
それをやらなきゃ解決できないようなロジック自体がだめ
0300nobodyさん2006/09/07(木) 00:00:53ID:???
>>296
class FTP
{
 var ftp;
 
 function FTP($host)
 {
  $this->ftp = ftp_connect($host);
 }

 function getRemoteFile($remote_file, $mode = FTP_BINARY)
 {
  $tmp = tmpfile();
  ftp_fget($this->ftp, $tmp, $remote_file, $mode);
  return $temp;
 }
}
こんなの作ったらいいんじゃね?
マニュアルだけ見てちゃちゃっと書いたから動くか分からんが
0301nobodyさん2006/09/07(木) 00:24:42ID:???
あぁ、returnのとこが$tempになってるし・・
何となく気分でtempからtmpに変えたけど、ちゃんとチェックしないとろくな事ないな。
■ このスレッドは過去ログ倉庫に格納されています