【PHP】質問スレッドpart21【php】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
04/08/27 18:00ID:???・新規質問の方は上げてください。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
0910907
04/09/15 09:08:50ID:???mkdirで新規ディレクトリを作り、そこに新しいファイルを生成したいのですが
できないのです
よろしくお願いします。
0911907
04/09/15 09:27:42ID:???新規ディレクトリを作ってパーミッション777に設定しても
ディレクトリを開く事すらできません^^;
0913907
04/09/15 09:49:50ID:???mkdirしてパーミッションを707にしたいのですけど
どうしたらいいのでしょうか?
よろしくお願いします
0914907
04/09/15 11:41:10ID:???0915軟式PHP
04/09/15 11:44:30ID:???0916nobodyさん
04/09/15 12:11:20ID:dKmLYC94誰か「絞込み検索」のフリースクリプトが
置いてあるサイト知らない?
0917nobodyさん
04/09/15 12:31:44ID:UvnPqyoT0918nobodyさん
04/09/15 12:42:56ID:???0919nobodyさん
04/09/15 12:57:04ID:MDFIDuDl0921nobodyさん
04/09/15 14:30:23ID:???php.iniってどこに置いたらいいんですか?
0922nobodyさん
04/09/15 14:41:06ID:???適切なとこ。マニュアル嫁
0923nobodyさん
04/09/15 15:35:11ID:???読めと言われても困るだろうからね。
ttp://php.s3.to/man/faq.installation.html#faq.installation.phpini
0924nobodyさん
04/09/15 15:48:32ID:???0927nobodyさん
04/09/15 17:12:03ID:???書き直しが必至」というレスがありましたが、俺がハマってるところはバージョンの違いに関係ありますか。
==========
【 状況 】 PHP5 で、以下のようなものを作った。
[class file]
class A {
var $hoge;
var $fuga = array();
// 以下、メンバ変数とか配列の初期化のみ。子クラスで使われる変数と配列はすべてここで宣言されている。
}
class B extends A {
function B {
あんなこととかこんなこととか;
}
}
class C extends A {
function C {
そんなこととか;
}
}
[another file]
// クエリによって、B か C のいずれかのクラスからオブジェクト $obj を生成。
function channel2($obj) {
$obj->$hoge = "ひろゆき";
$obj->$fuga = "2ちゃんねる";
}
【 問題点 】 PHP4.1.2 の環境では想定していた動作が得られない。
ユーザ定義関数の外からメソッドを呼び出すことはできるが、ユーザ定義関数内でメンバ変数への値の代入が行われていないようだ。
以上、よろしくお願いしましま。
0928nobodyさん
04/09/15 17:28:01ID:???4だと function channel2($obj){} とやると、ローカル変数 $obj は参照ではなく、
複製される。ので、関数内で $obj を弄っても、呼び出し側の object は変更されない。
function channel2(&$obj){} と書いて参照渡しにする必要がある。
0930nobodyさん
04/09/15 17:46:16ID:???そりゃPHP5準拠で書かれたスクリプトがPHP4で動かない可能性は高いでしょ。
なんの問題もなく動いたらむしろ何じゃそらって思うよ。
しかし、上の例だと & で参照を明示する4向けのスクリプトは変更なしで5でも動く。
そういうわけで、バージョンによる互換性のなさに嵌ったというよりは、
単に、PHP4じゃ動かないスクリプトを書いちゃいましたってことじゃないかな。
少なくとも、
> PHP4 でオブジェクト指向のプログラムを書くと、PHP5に移行したとき書き直しが必至
PHP4で書いたからPHP5じゃ動きませんでしたっていう事例ではないと思う。
0931nobodyさん
04/09/15 17:53:14ID:???アクセス関係の修飾子つずに、予約語にも気を使ったつもりが、
$hoge->foo()->bar(); みたいのでこけたことはある。
けどphp4から5へは思ったよりきっちり下位互換されてて変更なしで動くな。
# pearなんかもそうだけど、php4でOOPの限界に挑戦してるとエラー出る印象。
0932nobodyさん
04/09/15 18:00:56ID:???4だと、関数の戻り値がObject型のとき、
&function ret_foo() {
$foo = new Class;
return $foo;
}
$bar =& ret_foo();
とやらないと、最終行でObjectがドカーンとコピーされちゃって処理負荷になるので
これにも気をつけてね。
0933nobodyさん
04/09/15 18:02:15ID:???function &ret_foo() {} ね。
0934nobodyさん
04/09/15 18:08:38ID:???関係ない話ですまないが でインデントしたコードは
IEなんかでコピペした場合はそのまま動いて便利なんだが
うちのJaneでは、「 」としてコピーされてしまうので
全角空白でインデントされているのと利便性は変わらないな
ということに気づいた今日だった
0935nobodyさん
04/09/15 18:12:18ID:???0936nobodyさん
04/09/15 18:14:43ID:???まともな質問者にはこのスレでもちゃんと回答が出るということか。
0937nobodyさん
04/09/15 18:16:42ID:???0938927
04/09/15 18:36:04ID:???ポインタがわからなくて C で 3回挫折した俺だが、その説明はうまくイメージできた気がする。
OOP は初めてだけど、これからちょこちょこ組んで自分のものにしますわ。
>>930
勢いでローカル環境をバージョンアップしてしまったのです。
借りてる鯖はバージョンが古くて PEAR もなければたいしたモジュールも入ってないので、
せめて自宅の環境だけは最新にしてみたくなったのさ。
友人のサイトのスクリプト改造とか手伝ってる中で OOP をちゃんと理解せんといかんなあと
思い立ったのが PHP5 を入れた理由の一つだけど、今回つまずいたのも一つ勉強になったから
まあこれでいいやと思ってる。
>>936-937
次回がんばります。
0939nobodyさん
04/09/15 19:00:09ID:???ただの間接アドレッシングだろ
何が難しいことがあるんだろうか
0940nobodyさん
04/09/15 19:20:37ID:???お前はhttp://pc5.2ch.net/tech/kako/1040/10408/1040820373.htmlの54だな!
まあポインタはCの入門書で文法覚えた段階では「どうやって何に使うのか」ってのは
そのときは分からないままだからな。初心者がポインタが理解できないというのは正しいんだ。
そこで止まるかほっといて進むかだと俺は思う。
まあPHPのリファレンスはポインタではないのでスレ違いはこのへんで止めるが。
0941nobodyさん
04/09/15 19:28:04ID:???つーかオイラは、CのポインタよりPHPのリファレンスの方が分かり辛い。
今やってるのはディープコピーなのかシャローコピーなのか
いつも不安になりながら書いてる。
PHPはCとは違うんだし慣れるしかないやね。
で、何事も無かったかのように次の質問どうぞ。
0942nobodyさん
04/09/15 19:48:04ID:???MYSQLに直接つっこんでる画像データを出力する際に
縦横サイズの変更を行いたいんですけど、どうすればよいでしょうか?
getimageで縦横取得してからと思ったのですが
Warning: failed to open stream: No such file or directory
みたいな感じで怒られました。
DBに突っ込む際に縦横サイズも格納しておかなければならないのでしょうか?
0943nobodyさん
04/09/15 19:51:19ID:dKmLYC94よく分かってないけど多分そんな感じです。
出会い系とかで例えてみると、
年齢と性別を同時検索してやるやり方が分かりません。
あと年齢だと
「○歳〜○歳までで検索」
とかいう方法もどうやったらいいものか。
かなり初歩的な質問で申し訳ない。
なんで、いいソース場所知りませんか?
0944nobodyさん
04/09/15 19:56:22ID:???違うよ、そんな昔から2chには居ないよ。
#つかそのスレ読んで思ったんだが
#「アセンブラと言っている時点で(ry」と言うような頑固な人っていつの時にも居るんだなぁって思ったよ
#そんな細かなこといちいちつっこまれてもねぇ。。「アセンブリ」じゃないと納得しないのかね
以後何も無かったように質問どうぞ
↓
0946nobodyさん
04/09/15 20:05:34ID:???0947nobodyさん
04/09/15 20:06:40ID:???0948nobodyさん
04/09/15 20:09:50ID:???0951nobodyさん
04/09/15 20:57:07ID:???データの作りや格納方法でやり方は全然違う。
まずそれをきちんと把握すること。
DBMSの場合なら、データの絞込み抽出はそのものが持っている機能。
多くのDBMSはSQLをサポートしており、それにより該当する機能を使うことができる。
なので標準的なSQLを勉強してください。
0952nobodyさん
04/09/16 07:19:05ID:???そういうことが出来ると聞いたのですが。。
0953nobodyさん
04/09/16 07:19:54ID:???どうも上手くいきません。
header("Content-type: video/x-ms-wmv");
readfile($hoge);
のようにしています。
調べてみると、ファイルサイズが小さいものは
ちゃんと表示されるのですが、ファイルサイズが大きいものは
「ページが表示されません」と表示されてしまうようなんです。
freadでちょっとずつ読み込んで出力してもだめみたいです。。。
どなたか、解決策をお願い致します。
0954953
04/09/16 07:21:51ID:???すいません。ちょっと修正です。
「ぺージが表示されません」ではなく、
「ページを表示できません」でした。
0955nobodyさん
04/09/16 08:07:14ID:???適切にコンパイルし、適切に設定する。
http://www.php.net/manual/ja/installation.php
0956nobodyさん
04/09/16 08:32:58ID:wopdBrj5「競走成績」→「2004年4回阪神2日(9月12日)」→「11R」
と押して表示されるページの内容を取得して
変数に格納したいのですがどうすれば?
0957nobodyさん
04/09/16 08:44:51ID:???すぐ出かけるので詳しく書けないが、
POST /JADB/accessS
CNAME=〜
xW01=〜
てのを送信すれば良い。
要するに実際のブラウザが送っている情報と同じ物を送れば当然同じ物が返ってくる。
ieHTTPHeaders
ttp://www.blunck.info/iehttpheaders.html や
proxomitron
ttp://www.proxomitron.org/
のようなリクエストヘッダや応答ヘッダを表示できる物を使うと楽。
0958942
04/09/16 09:25:45ID:???画像表示ソースを
<img src="gazou.php">
みたいに呼び出して
gazou.phpの中身は
$sql="画像取得クエリ";
$res = mysql_query($sql,$conn);
header("Content-Type: image/jpeg");
$image = mysql_result($res, 0, "格納カラム");
$image_size = getimagesize($image);
$img_old = imagecreatefromjpeg($image);
$img_new = imagecreate($image_size[0] * 2,$image_size[1] * 2);
//拡大
imagecopyresampled($img_new,$img_old,0,0,0,0,$image_size[0] * 2,$image_size[1] * 2,$image_size[0],$image_size[1]);
print $img_new
こんな感じで書いてみたんですけど、
ソース自体がおかしいですか?
0959956
04/09/16 10:27:58ID:wopdBrj5string file_get_contents ( string filename [, int use_include_path [, resource context]])
引数をどのように指定すればよいのでしょうか?
0960nobodyさん
04/09/16 11:10:46ID:ysqshSNVheader("Location : input.php");は使えないの?
飛ばないんだけど、なぜ?
0961nobodyさん
04/09/16 11:39:08ID:RlFTlQn8データベースから抽出です。
そのSQL文教えてください。
「a条件のみ」「b条件のみ」「a+b条件」みたいに
どうやって条件代えて出力させるんですか?
0962nobodyさん
04/09/16 12:08:26ID:???0963nobodyさん
04/09/16 12:18:16ID:PHMt0rSl0964nobodyさん
04/09/16 12:19:25ID:???あーたしか、携帯の場合、機種(キャリア?)によって、
フルパスじゃないと飛ばないやつがあったぞ。
まったく携帯サイトは面倒でやってられんよなぁ。
0965nobodyさん
04/09/16 12:31:02ID:9nyxCloV例えばPHPで作られた掲示板なんかで、ログファイルの所有者がapacheだったら、
その鯖の他のユーザーからPHPで改変されちゃう恐れがあるの?
0966966
04/09/16 12:40:18ID:RlFTlQn8書き込まれた絵文字の相互変換ってできますか?
3キャリアはキャリア毎の文字列、PCは画像みたいな出力方法で。
デフォルトだと、ドコモとauならある程度互換性あったと思うけど
ボーダフォンが見当違いな絵文字が出力される。
実際に試した人ご教授よろしく。
0967nobodyさん
04/09/16 13:20:22ID:epbnr+ELFALSE条件でなくTRUE条件で実行したいものとか書きたいんだけど
どうしたらいいですか?
これの or の文法はPHPマニュアルのどこあたりに書いてありますか?
0968nobodyさん
04/09/16 13:41:13ID:GBVH7aBq0969nobodyさん
04/09/16 14:03:40ID:???0970nobodyさん
04/09/16 14:03:58ID:???http://jp2.php.net/manual/ja/function.mb-convert-kana.php
0971970
04/09/16 14:04:48ID:???0973nobodyさん
04/09/16 14:12:56ID:???0975nobodyさん
04/09/16 15:06:10ID:???0976nobodyさん
04/09/16 15:07:18ID:???作れば?
0977nobodyさん
04/09/16 15:09:59ID:???0978nobodyさん
04/09/16 15:12:02ID:???printで出力するんでなくimagegifとかimagejpeg関数使わないと駄目だったような・・・
出力した後はimagedestroyでメモリ解放もしといた方がいいかも。
0979958
04/09/16 16:15:09ID:???お返事ありがとうございます。
出力に関してですが、
$sql="画像取得クエリ";
$res = mysql_query($sql,$conn);
header("Content-Type: image/jpeg");
$image = mysql_result($res, 0, "格納カラム");
print $image
だと問題なく出力されるんです。
$image_size = getimagesize($image);
ここで先に記述しましたワーニングがでてしまって。。。
クエリで取得した際になんならかの処理が必要なのでしょうか。
Warning: failed to open stream: No such file or directory
↑ワーニング
0980nobodyさん
04/09/16 16:15:23ID:???0981nobodyさん
04/09/16 16:32:02ID:???コードは上から順番に実行される。
0982nobodyさん
04/09/16 16:37:38ID:5ifGdNVOいわゆる解析対象時間をちょっと改造したいんだけど、
これって難しいでしょうか?
たとえば、普通は1時間おきにアクセスを表すのが多いですが、
夜の10時〜12時に関しては30分おきのアクセス数を表示する、
といった改造をしようと考えてます。
PHPは本見ながら、超簡単なスクリプトを作れる程度の知識です。
0983nobodyさん
04/09/16 16:45:38ID:???0984nobodyさん
04/09/16 16:46:53ID:???俺を含めてここにいる奴の殆どにとっては簡単だと思うが
多分、キミには難しい
っか、難しいと思う根拠を述べてくれ。素でわからん
0985nobodyさん
04/09/16 17:16:29ID:???おそらくプログラムの変更は簡単だと思われるが、
1部分だけ30分間としてしまうと集計の意味があるかどうかが
難しいところなのだろう。
0986nobodyさん
04/09/16 17:21:08ID:???0987nobodyさん
04/09/16 17:34:59ID:???HTTP/1.1では絶対アドレスで書くべきところなので
相対アドレスで可なのは融通を利かせすぎなU/Aな訳であって。
規格外の相対アドレスじゃないと駄目(受け付けない)な設定にしてある
レンタルサーバが存在するのが困りモン。
0988nobodyさん
04/09/16 17:48:30ID:???ほんの一連の動作でもクラスとしてまとめておいた方が良い
って説明あったけど、これだと逆に大変じゃないですか?
0989nobodyさん
04/09/16 17:53:54ID:???場合によりけりだろ。
0990nobodyさん
04/09/16 18:05:43ID:???非常に初歩的な質問スマソ
$test->d->abc
この->ってよく見かけるんですけど何ですかこれは?
上記一文は何を表しているんでしょう?
検索エンジンでは調べにくいし・・・
0991nobodyさん
04/09/16 18:11:18ID:???ここらでも熟読してくるよろし
0992nobodyさん
04/09/16 18:16:56ID:???30分までに立たなかったら誰か代わりにお願い
0993nobodyさん
04/09/16 18:17:42ID:???読みましたが、俺頭悪いからよくわかんね
誰かあほの俺でもわかる様に教えてください。
おながい(はぁと
0994992
04/09/16 18:19:52ID:???【PHP】質問スレッドpart22【php】
http://pc5.2ch.net/test/read.cgi/php/1095326257/
0995nobodyさん
04/09/16 18:22:32ID:???0996nobodyさん
04/09/16 18:27:43ID:???0997nobodyさん
04/09/16 18:42:52ID:???「(PHP 5はオブジェクト指向言語ではありません)」
http://www.php.net/manual/ja/language.oop.object-comparison-php5.php
あらー。マニュアルでそんなこと言い切ってたのね。
0999nobodyさん
04/09/16 19:08:02ID:???1000nobodyさん
04/09/16 19:08:32ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。