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

【PHP】質問スレッドpart22【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/09/16 18:17:37ID:/HV017tY
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ等>>2-4
0002nobodyさん04/09/16 18:18:23ID:/HV017tY
過去スレ
【PHP】質問スレッドpart21【php】
http://pc5.2ch.net/test/read.cgi/php/1093597222/


関連スレ
Pear
http://pc5.2ch.net/test/read.cgi/php/985665522/
【PHP】Smarty【Template】
http://pc5.2ch.net/test/read.cgi/php/1047225437/
0003nobodyさん04/09/16 18:36:57ID:???
990 名前:nobodyさん :04/09/16 18:05:43 ID:???
最近PHPを他人のプログラム見ながら勉強してます。
非常に初歩的な質問スマソ
$test->d->abc
この->ってよく見かけるんですけど何ですかこれは?
上記一文は何を表しているんでしょう?
検索エンジンでは調べにくいし・・・


前スレ質問の続き。しつこくてすんません。
ニュアンス的にはtestの中のdの中のabc、みたいな感じでよろし?
データベースなんかの変数指定するときに使うのかな?
0004nobodyさん04/09/16 18:55:34ID:/3nHM0bK
>>3
http://www.php.net/manual/ja/language.oop.php
マニュアル嫁や
0005nobodyさん04/09/16 19:10:08ID:???
オブジェクト指向の基礎も見てきた方がいいんじゃないかな。
説明しようとしても、>>3が知らないだろう概念が出てくるから。
さわりの部分だけだから、PHPに限らずどんな言語でもいいよ。
0006nobodyさん04/09/16 19:15:31ID:???
関数 or die();

関数の結果がFALSEだったらorの後ろが実行されるけど
関数の結果がTRUEだったら実行される文法ってある?
if文使えっていわずにさ。

関数 and die(); とか試したけどダメだった。
0007nobodyさん04/09/16 19:22:32ID:???
->って何デスカ?って前スレの最初の方にもあったぞ
->でスレ内検索ぐらいしろyp
0008nobodyさん04/09/16 19:28:39ID:???
>>6
!(関数) or die();

つか、おまいさん、この書き方がどういう理屈で動いてるのか理解してないだろ
0009nobodyさん04/09/16 19:36:44ID:???
すいません質問させてください。
mb_strlenを使って日本語2バイト文字も1文字分として取得したいんですが、
なぜか2文字分に数えられてしまうんです・・・
PHPの書籍なんかじゃちゃんと取得できると書いてあるんですが
どうすればいいんでしょうか。
0010nobodyさん04/09/16 19:40:54ID:???
>>9
数えてる対象の文字列の文字コードと
mb_internal_encodingで指定してる文字コードは一致してる?
0011304/09/16 20:06:06ID:5ifGdNVO
なんとなく分かりますた。変数をパッケージ化したもの、みたいな
感じだね。
0012nobodyさん04/09/16 20:15:45ID:???
PHPのライブラリをかいたんだけど、インストーラをどうすればよいのかわからん。
インストール用のスクリプトを用意したいのだが、参考になる資料があれば教えてくれ。
または既存のライブラリでよさげなインストーラがついているものを教えてくれ。
おねがいします。
0013nobodyさん04/09/16 20:17:07ID:???
>>12
PEAR
0014nobodyさん04/09/16 20:36:31ID:???
pear のインストーラー最高!
0015nobodyさん04/09/16 21:09:18ID:???
関数のオーバーロードを便宜的に実現したいんだけど何か上手い手法ないかな?
デフォルト引数で何とかなる時は勿論使うけど、それじゃ無理な時ね
自分が使う手法は↓みたいなのなんだけどもっと上手いやり方ないかな?

・引数の数が違う時→func_num_args()で引数数によって分岐
function foo(){
 switch (func_num_args()) {
  .....
 }
}

・引数の数が同じ時→引数の組み合わせを表す引数を追加する
function foo($a, $b, $mode){
 switch ($mode) {
  .....
 }
}
0016nobodyさん04/09/16 21:31:38ID:???
>>15
class は使わないの?
00171504/09/16 22:32:04ID:???
>>16
すみません、どういうことでしょう?
0018nobodyさん04/09/16 23:25:38ID:???
クラスメソッドなら__call()を使う手もあるってことかな?
よくわからんが。

ところでビットフラグ立てたらオーバーロードじゃない気がするのは俺だけか
0019nobodyさん04/09/16 23:37:25ID:???
$var= ereg_replace( "\W" ,"" ,$var) ;

で英数字以外は $var から削除されるはず・・・ですよね?
でも何もマッチしてないってどういうことなんだろう・・・

[Linux & PHP 4.2.2]
0020カポコン04/09/16 23:38:59ID:???
ttp://pc5.2ch.net/test/read.cgi/php/1093597222/#tag837
昔、リモート先のパソコンの容量を見るスクリプトを
遠まわしにキボンしてたウンコ。
まーftpサーバーを立てるやり方もあるんだが、
<?php
echo `dir \\pcb\`;
?>
でもいいんだよ、とか言ってみるテスト。
ただセキュ上あまりネタにしたくないよなコレ。
やっぱりFTPサーバーを立てなさいというのでOKだぞ。カスめ。
0021nobodyさん04/09/16 23:55:44ID:???
>>19
んなわけあるか。eregはposixじゃ。
\Wが使いたいならpreg_replace()を使え。
0022nobodyさん04/09/17 00:04:43ID:???
あな〜る >>21
Perl五巻の正規表現使う時はそっちじゃないとマズーなのですね。
一つ勉強になりますた。
ありが�dエロい人!
0023nobodyさん04/09/17 00:06:56ID:???
日本語なら \W だと残念な結果になることも。[^\w] を使いましょう。
0024nobodyさん04/09/17 00:08:40ID:???
[^a-zA-Z]
0025nobodyさん04/09/17 00:24:12ID:???
>>24
池沼?
0026nobodyさん04/09/17 00:52:51ID:se+yyo+v
ぬるぽ
0027nobodyさん04/09/17 03:10:08ID:6ekDtRzJ
http://hoge.com/exampleというアドレスにアクセスしたときに
「example」の部分を値としてindex.phpに渡したいのですが
どうしたら良いのでしょうか。
PATH_INFOを区切ってみようとしたのですが、そもそも
アドレスにindex.phpが含まれていないので、どうにも
なりませんでした…
0028nobodyさん04/09/17 03:25:11ID:???
mod_rewriteでどうよ
PHP関係ないけど
0029nobodyさん04/09/17 03:26:43ID:???
>>27
鯖ソフトのマニュアルを読んで質問してんか?
00302704/09/17 03:31:08ID:???
>>28
調べてみたらそれで出来そうです。
ありがとうございました。

>>29
サーバーのマニュアルは読んでいません。
すみません…
0031nobodyさん04/09/17 04:54:53ID:JPYA0nJm
配布するなら、safe_modeがonでも動くように作らなきゃダメ?
みなさんどーしてます?
0032nobodyさん04/09/17 06:39:03ID:5wQlvbGR
前スレの方ではないのですが、
クラスを利用するメリットを教えて頂けますか?

今のところ所謂「手続き型」での処理しか書いてないのですが、
関数に引数を渡して返り値を受け取るのと
メンバ変数を与えててメンバ関数で処理した値を受け取るのと
違いがよくわからず、どういった場面で使ったらいいかわかりません。

「例えばこういった処理ならクラスを使う」といった例があったら
簡単にでも説明して頂けたら、と思います。
0033nobodyさん04/09/17 08:06:10ID:???
>>32
ない。
手続き型でうまく書けるのなら、無理してオブジェクト指向にする必要はない。
手続き型でうまく書けない場面に出会ったら、はじめてクラスを導入すればよい。

おれなら、関数の戻り値を複数返したい場合とか、引数の数が10個ぐらいになると
「クラスを定義してメソッドにしたほうがええなー」と思えてくる。
0034nobodyさん04/09/17 08:08:41ID:???
質問。XMLファイルの中にPHPのコードを埋め込んでいるのだが、
最初の <?xml ...?> の部分でエラーになる。
Parse error: parse error, unexpected T_STRING in example.xml on line 1
さすがに、PHPでXHTMLが扱えんとは思えないのでなんか回避策があると思うのだが
教えてくれ。
0035nobodyさん04/09/17 08:32:34ID:???
普通は逆なんじゃない?
PHPの中にXML書くのかと。
0036nobodyさん04/09/17 08:46:14ID:???
>>34
過去に何度も出ているけど・・・。
<?php echo '<?xml version="1.0" ?>' . "\n"; ?>
とするか、
php.ini などの設定で
short_open_tag = Off
にしておけばそのエラーは出ない。
その場合は、<? や <?= という短縮タグは使えなくなるけど。
0037nobodyさん04/09/17 09:18:56ID:???
しつもんさせてください
mkdirでディレクトリを作成し、そのディレクトリの中にファイルを作成したいのですが、
どのような方法でできるでしょうか?
ご教授よろしくおねがいします。
0038nobodyさん04/09/17 09:23:53ID:???
>>37
釣りか?釣りなんだな?
釣りだと言ってくれ。。orz
0039nobodyさん04/09/17 09:33:54ID:???
>>37 fopen
0040nobodyさん04/09/17 09:35:39ID:???
釣りじゃないです。。。
perlで出来ることなのですが、PHPではSAFE MODEのエラーで
mkdirしたディレクトリに新規ファイルを作ることが出来ないので困ってます。
ちなみにパーミッションは777です。
PHPでは出来ないのですかね?
0041nobodyさん04/09/17 09:48:49ID:???
前スレにも来てなかった?
まあがんばれ
0042nobodyさん04/09/17 09:58:30ID:???
&&とandって等価なの?
シンタックスシュガー?
0043nobodyさん04/09/17 09:58:38ID:???
ありがとう
現在必死でがんばってます。
もうちょっとで出来そうです。
0044nobodyさん04/09/17 10:19:30ID:???
すいません、質問させて下さい。

Google のように、サーバ上にあるPDFファイルを、
HTMLファイルに変換して表示したいと思っています。

これをPHPを使ってやりたいのですが、
そのためのツールや方法等ご存知の方おられますか?

PDFLib は、PDFファイルを生成することはできますが、
PDFファイルからの変換はできないようで…
0045 04/09/17 11:24:42ID:???
前スレで書きましたが。

DBにぶちこんでる、画像データの
縦横サイズの取得方法を教えておくれ。

getimagesize

でワーニングが・・・・・。
00464504/09/17 11:51:38ID:???
やりたいことは、DBにいれてる画像の縦横サイズを変更して出力したいってことです。

0047nobodyさん04/09/17 12:27:24ID:cRQBTDS0
http://www.schopfactory.com/wccf/search.php?type=ability
こういうの作りたいんだけど
初心者に毛の生えたようなヤシでもできますか?
まぁ、私なんですが。
0048nobodyさん04/09/17 12:41:33ID:goOqcDH1
オブジェクト指向(C++)の本を読んでいたら、
オブジェクト間に関連を持たせる場合、
相手オブジェクトのポインタを、属性として持つ、
と書いてありました。
自分の中で生成した場合は、相手のポインタを保持するのは容易ですが
それ以外の場合はどうするのでしょうか?
0049nobodyさん04/09/17 12:42:24ID:???
>>45-46
ttp://pc5.2ch.net/test/read.cgi/php/1093597222/979
の質問者か?
$image = mysql_result($res, 0, "格納カラム");
print $image
で画像が出力できるが
$image_size = getimagesize($image);
でワーニングが出るそうだが、この問題はワーニングの内容を理解し、
マニュアルをちゃんと読めば解決すると思うが

ttp://jp.php.net/manual/ja/function.getimagesize.php
>説明
>array getimagesize ( string filename [, array imageinfo])

そのスクリプトで渡している$imageの中身は何か理解してる?
0050nobodyさん04/09/17 14:08:57ID:???
>>45
よーし。
おとうさん、ダメ人間増やしちゃうぞー。

ちゃんとマニュアル読めよ
ttp://php.s3.to/man/function.imagesx.html
ttp://php.s3.to/man/function.imagesy.html
0051nobodyさん04/09/17 14:10:35ID:???
>>47
入門書見ればできると思う。基本。
PHP+MySQLの入門書でいいんじゃないかな。
0052nobodyさん04/09/17 14:22:01ID:cRQBTDS0
>>51
どれがオススメでつか?
立ち読みしてみたけど、「検索」とは書いてあるものの、
結局は「キーワード検索」ばっかで
自分の意としている完成形ではないのですが。
0053nobodyさん04/09/17 14:27:14ID:a6SOcmfZ
PHP5.0.1を使っているのですが、
Perlの「$_ = 1;」
と同じ動作をさせるには、どう書けばよいのでしょうか?
0054軟式PHP04/09/17 14:40:28ID:???
>>52
キーワード検索が出来れば何でも出来るだろ。
キーワードを入力出来るか固定されてるかの差だけだよ。
0055nobodyさん04/09/17 14:52:01ID:cRQBTDS0
>>52
とは言っても初心者なモンで。
どうやってSQL文と検索項目を増やしていいのか分からない。
0056nobodyさん04/09/17 14:52:47ID:cRQBTDS0
間違えた。
>>52 → >>54
00574504/09/17 14:53:52ID:???
>>49
お返事ありがとうございます。
$imageにはファイル名でなく
イメージデータが格納されているためということでしょうか?

>>50
お返事ありがとうございます。

imagesx を 49さんが転記してくださってるソースの
$imageにかけてみました。(下記)
$img_x = imagesx($image);

そうしたらワーニング発生・・・・
<b>Warning</b>: imagesx(): supplied argument is not a valid Image resource

$imageに画像がはいっているのでは・・・・
0058軟式PHP04/09/17 15:08:39ID:???
>>55
キーワード検索の場合はフォームのtype=textで入力するタイプだよね。
コンボボックスは<select>で出来るよね。値はどちらもname変数に入る。
検索スクリプトにその値を渡す時点でselectだろうがtextだろうが一緒になるわけです。
複数指定されていれば、SQL文をandで結合していけばいいだけ。
where A=1 and B=2とかね。
0059nobodyさん04/09/17 15:12:31ID:cRQBTDS0
>>58
親切丁寧にありが�d。
とりあえず参考書片手にやってみまつ。
0060>>5804/09/17 15:22:04ID:cRQBTDS0
すいません。
質問ついでにもう一つ。

2つのテーブルからデータを1行ずつ
交互に読み出して表示ってできますか?

・TABLEタグのヘッダー
・DBのテーブルAの1行目出力
・DBのテーブルBの1行目出力
 〜略〜
・DBのテーブルAのn行目出力
・DBのテーブルBのn行目出力
・TABLEタグのフッター

みたいなカンジで。
分かり辛くて申し訳ない。
0061nobodyさん04/09/17 15:24:02ID:???
>>57
print(filetype($image));
をしてみな?
$image の型は Image resource か?string なんじゃないか?
0062nobodyさん04/09/17 15:24:53ID:???
>>57

なんか知らんけど、
imagecreatefromstring
とか使えないの?
0063nobodyさん04/09/17 15:26:18ID:???
ミス。
filetype → gettype
0064nobodyさん04/09/17 15:27:22ID:z6ZEiYdW
>>57
http://php.s3.to/man/function.imagecreatefromstring.html

ちゃんとマニュアル嫁。
006545,5704/09/17 15:34:14ID:???
>>61
お返事ありがとうございます。

<b>Warning</b>: filetype(): Lstat failed for (null) (errno=2 - No such file or directory)

ファイルが存在しないみたいです。
バカな質問ですかね?
0066nobodyさん04/09/17 15:39:19ID:???
>>65
まあ、落ち着け。
0067nobodyさん04/09/17 16:01:13ID:???
>>60
whileでいっしょに回せば
0068 ◆ba7KXnLx9Y 04/09/17 16:02:18ID:wZqwZd52
いわゆるLAMP環境下で3キャリア完全対応の携帯サイト
構築する自信あるツワモノさんいますか? バイトしませんか
0069nobodyさん04/09/17 16:14:17ID:???
>>68
普通にやってましたが、あなたとやるつもりはありません。
0070nobodyさん04/09/17 16:19:40ID:???
寝た
0071nobodyさん04/09/17 16:21:30ID:yR7Lsm3y
>>42
http://jp.php.net/manual/ja/language.operators.php
機能は等価だが、優先順位を変えてあるので完全等価ではない。
自分も区別して使ってるし
0072 ◆ba7KXnLx9Y 04/09/17 16:21:42ID:wZqwZd52
>>69
そう言わずに助けてください。
ba7KXnLx9Y@やふー.しーおー.じぇーぴー
にメールください。全国のツワモノさん。
007345,57,6504/09/17 16:29:58ID:???
>>62
>>63
>>64

なりましたー!!
ありがとうございます!!!!
ホントに感謝です。

マニュアル読みあさります。
すいませんでした。
ありがとうございました。
0074nobodyさん04/09/17 16:34:08ID:cRQBTDS0
>>67
そうでした。
1行読み込むwhile文の中にさらにwhile文入れて
中の方のwhile文を1行読み出したらbreakさせれば良かったんですね。
0075nobodyさん04/09/17 17:51:03ID:YP8A6Jh5
>>72
いくら出す?
0076nobodyさん04/09/17 17:52:17ID:cRQBTDS0
>>58
スマソ、また躓きました。
input textをselectに代えて1つの項目を検索できるのはしたんですが
「複数指定」ってのが分かりません。
0077 ◆ba7KXnLx9Y 04/09/17 17:55:28ID:wZqwZd52
>>75
40万位。携帯サイト構築経験者なら簡単だと思いますけど、
未経験者は大変だと思います。小さいプログラムではないと思います。
会社が仕事として受けられる金額じゃないですが、経験者が内職する
には良いと思いますよ。
00787504/09/17 17:59:40ID:GFUOQgO8
>>77
よし、メールしたぜ。
よろしくな相棒!
0079nobodyさん04/09/17 18:04:09ID:???
「Warning」は「ウォーニング」と読みます
00805304/09/17 18:05:25ID:a6SOcmfZ
どなたかお願いします・・・
0081nobodyさん04/09/17 18:14:17ID:???
>>79
フェア・ウォーニング
0082nobodyさん04/09/17 18:20:15ID:???
>>76
いいかげんPHPの質問じゃないことに気付こうね
HTMLの勉強してこいや!
0083nobodyさん04/09/17 18:23:01ID:cRQBTDS0
>>82
いや、だからSQL文だって。
0084 ◆ba7KXnLx9Y 04/09/17 18:27:54ID:wZqwZd52
>>78
たのみますよ。ホント。

Date: Fri, 17 Sep 2004 18:25:18 +0900 (JST)
From:
Subject: ようこそ Yahoo! メールへ
To:ba7kxnlx9y@yahoo.co.jp
0085nobodyさん04/09/17 18:28:15ID:???
>>83
つまりPHPじゃない。
0086nobodyさん04/09/17 18:29:30ID:cRQBTDS0
>>85
HTML demonai.
0087名無し04/09/17 18:42:59ID:NF5VH+3b
すみません。質問です。
バナーエクスチェンジのシステムは、PHPなのですか?
構築するのは難しいですかね?
0088nobodyさん04/09/17 18:44:56ID:???
>バナーエクスチェンジ
なにそれ
0089名無し04/09/17 18:48:00ID:NF5VH+3b
バナーエクスチェンジは、自分のサイトで他のサイトのバナーを表示するかわりに、他のサイトで自分のサイトのバナーを表示してもらえるツールです。
0090nobodyさん04/09/17 18:51:32ID:???
幾らでも方法があるね。簡単だと思うよ。
役に立つか、儲かるかどうかは別として。
0091名無し04/09/17 18:55:21ID:NF5VH+3b
ほんとですか?どのようなサイトにお願いすれば、製作してくれますか?
30分くらい、席を外します。すみません。
0092nobodyさん04/09/17 19:00:31ID:???
ここらへんにあるかな?探してみてくれ。
http://dir.yahoo.co.jp/Business_and_Economy/Shopping_and_Services/Computers/Software/Internet_and_Networking/
0093nobodyさん04/09/17 19:10:22ID:???


  久々に来たらド素人のデムパ質問スレと化してて萎え〜
0094nobodyさん04/09/17 19:15:00ID:???
>>84
どんなシステムを作るのか、期間はどれぐらいなのか、対象ユーザー数。
責任の範囲。
0095nobodyさん04/09/17 19:17:57ID:???
メールでやれよ
00967504/09/17 19:58:30ID:???
>>91
78は俺の偽者だからな。
んでもってメールもしてないからもしメール着てても俺だと思うな。
んで、俺は考え中なんで78が本気で、かつ信頼できる奴ならそっち優先してやってくれ。
0097nobodyさん04/09/17 20:46:59ID:???
正直やすいよね。
ヴァージョンの指定とかあるの?
0098 ◆ba7KXnLx9Y 04/09/17 21:17:05ID:kylwsfxk
>>95
お説ごもっともです。ツワモノの皆さんメールください。
もう、メールで連絡取り合ってる方もいますので。
板汚しも心苦しいですし。

>>96
了解しました。ヨロシクお願いします。

>>97
一からつくるのはこの予算では無理だけど、経験がある人には
割といい内職になると思ってるのですけど甘いかな?

>>All
皆様の反応に感謝いたします。
0099nobodyさん04/09/17 21:52:40ID:4Ajia3x2
テキストファイルから特定の行を読み込む処理をしたいわけよ
fileで内容拾ってループ処理させてるんだけどチョト重いのね
特に大きいファイルだとメモリ喰うからかしらんけど余計重いのね
どうすれば速くなるやろか
0100nobodyさん04/09/17 21:58:47ID:???
SAFEモードのプロバイダでファイルのアップローダーを作りたいが
むぼうか?
0101nobodyさん04/09/17 21:59:26ID:???
PHP って静的メンバ変数使えますか?
■ このスレッドは過去ログ倉庫に格納されています