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

【PHP】下らねぇ質問はID出して書き込みやがれ 92

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/01/09(土) 20:11:42ID:lsb/cZ9k
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0052nobodyさん2010/01/12(火) 15:43:15ID:x0mQFvp9
>>51
それっぽいですね。
ありがとうございます。
0053322010/01/12(火) 23:09:27ID:???
>>33-34
遅くなりましたが、ありがとうございます!
0054nobodyさん2010/01/13(水) 03:17:53ID:4wFOmYq3
初心者です。

外部テキストファイルを下記のように読み込んでホームページで表示するものなんですが、
一つだけならうまく表示されるのですが、下のように二つ並べると
二分の一くらいの確立で下も上と同じものが表示されてしまいます。

<?php include('./aaa.php'); ?>
<br>
<?php include('./bbb.php'); ?>

どうしたら、きちんと表示されるのでしょうか・・?
お願いします。
0055nobodyさん2010/01/13(水) 03:25:33ID:???
テキストファイルというかスクリプトだろ?
aaa.phpとbbb.phpの内容書かないとわからんよ
0056nobodyさん2010/01/13(水) 03:28:27ID:7wXBaV+j
上と下で同じ変数を使ってる?
0057nobodyさん2010/01/13(水) 03:42:32ID:???
ジョニー・キャッシュ
0058nobodyさん2010/01/13(水) 04:03:47ID:4wFOmYq3
>>56さん
こんな夜中にありがとうございます!全くの初心者なので、
ソースをコピペしてファイル名だけを変えていますので多分そうです。。
片方の関数を変えればいいのですね。

function 関数名 (引数){
・・・・・・・・・
}
の【関数名】を変えればいいのでしょうが、どのように変えるのでしょうか。。


if ($tate) の部分でしょうか。。

図々しくて大変申し訳ないですが、こちらにソースがございます。。
(長いのでコピペは避けさせて頂きました。。)
http://ameblo.jp/mingw/entry-10360989550.html


0059nobodyさん2010/01/13(水) 04:35:39ID:???
対象が少ないから同じやつ選択されてるだけでないの?
0060nobodyさん2010/01/13(水) 05:10:33ID:4wFOmYq3
59さん、ありがとうございます。

二つ読み込もうとするとダメなので、一つににまとめて表示したいと思います。
みなさま、夜中に失礼しました。
0061nobodyさん2010/01/13(水) 05:13:16ID:???
もしかしてそんなことは分かってて解決策を聞きたかった?
だとしたら上の方で選択されたキーを保持しておいて、下の方でそれを除外するのが一番シンプルかと。
それにしても汚いコードだな。
0062nobodyさん2010/01/13(水) 08:55:32ID:7Pi29LSt
初歩的な質問ですけどお願いします。
test.php
<form action="test.php" method="GET">
<input type="text" name="aa" value="<?PHP echo $_GET[aa]; ?>" size="10">
<input type="submit" value="submit"> </form>

これでフォームに「aaa/bbb」を入力して送信すると
読み込みして表示されるURLの部分がtest.php?aa=aaa%2Fbbb
と「/」が「%2F」になってしましますが「/」で表示させるにはどうしたらよいでしょうか?

0063622010/01/13(水) 08:58:02ID:7Pi29LSt
>>62 補足です
ブラウザのURLアドレスの部分です。
value="<?PHP echo $_GET[aa]; ?>" の部分は「/」で問題なく表示されてます。

0064nobodyさん2010/01/13(水) 09:30:55ID:???
URLではむしろ%2Fとなるべきでしょ
0065nobodyさん2010/01/13(水) 09:58:45ID:HpUkVVSo
【PHPのバージョン】 最新版
【質問内容】
class BookList {
var $parser;
.....

function BookList ($filename) {
$this->parser = xml_parser_create();
xml_set_object($this->parser, &$this);
.....
}

すみませんが一番最後の文の、&$thisの意味が分かりません
$thisを参照渡しにするというのはいったいどういう事なのでしょうか?
そのメンバ変数、メンバ関数全てということを意味するのか、そのクラスを意味するのか、それともそれらとは別の意味を持つのか分かりません
どのような挙動と役割を持つのでしょうか?
0066nobodyさん2010/01/13(水) 10:13:04ID:???
PHP5なら&いらないけど、それはともかく、
http://www.php.net/manual/ja/function.xml-set-object.php の例みたいなのをするために、
xml_set_elementなんちゃらでしていするコールバック関数は、なんのメソッドか設定しとくためのもの。
$thisじゃなくて ほかのとこにメソッド書いたならそれを指定する。
0067nobodyさん2010/01/13(水) 11:19:36ID:???
>>65じゃないけど、>>66の説明が俺には分からない・・・w
0068nobodyさん2010/01/13(水) 13:02:01ID:???
>>39
そのPCはもう復旧しないから処分したほうがいいよ
処分するにもお金かかるから俺が変わりに処分してやろうか?
元払いで送料だけもってくれればタダで処分してやるよ
0069nobodyさん2010/01/13(水) 13:02:41ID:ShY6sORk
<?php echo "Hello World";?>

この一行で著作権主張できますか?
0070nobodyさん2010/01/13(水) 13:15:01ID:???
http://ja.wikipedia.org/wiki/%E8%91%97%E4%BD%9C%E6%A8%A9

主張はするだけならできるが
認められないだけ
0071nobodyさん2010/01/13(水) 13:40:10ID:kzBqS2uo
>>66は「なぜ参照渡しにするのか」のこたえになってるんでしょうか?
0072nobodyさん2010/01/13(水) 13:47:12ID:???
フリーで配布してるとこは
著作権表示は削除しないでくださいって言ってるけど、削除しても何も言えないのか
なるほど。。
0073nobodyさん2010/01/13(水) 13:50:33ID:???
それはライセンス条項だろ
0074nobodyさん2010/01/13(水) 13:51:04ID:???
>>71
php4ならいるということだよ
0075nobodyさん2010/01/13(水) 14:07:01ID:???
>>71
なぜなのか、理由には触れてない。
0076nobodyさん2010/01/13(水) 14:46:04ID:???
>>65は&$this自体について質問してるんじゃないの?
&$thisが何を意味しているのかという
別にxmlのメソッドの引数に関して聞いているんじゃないと思う
0077nobodyさん2010/01/13(水) 16:21:50ID:???
だな
0078nobodyさん2010/01/13(水) 17:58:57ID:???
三項演算子についての質問です。
"$aに値がなければ$b"という書き方で、すんなり書く方法がありそうで悩んでいます。

%php -r '$a=1; $b=2; echo $a?$a:$b;'
%php -r '$b=2; echo $a?$a:$b;'

もっと簡単な書き方をご存じないですか?
0079nobodyさん2010/01/13(水) 18:58:12ID:???
欲張りやな
0080nobodyさん2010/01/13(水) 19:16:00ID:???
function c($a=0,$b=0){
  return $a?$a:$b;
}

echo c($x,$y);
0081692010/01/13(水) 23:08:21ID:???
>>70
ありがとうございます
プログラム板でなんか著作権が発生するってレスを見たので気になるのですが>>70さんのほうが正しいでしょうか?

見たスレはこれです
http://pc12.2ch.net/test/read.cgi/tech/1256350845/698
http://pc12.2ch.net/test/read.cgi/tech/1256350845/702
0082nobodyさん2010/01/13(水) 23:43:34ID:???
著作者人格権はあるよ
一応
0083nobodyさん2010/01/14(木) 03:57:04ID:???
>>78
php5.3で追加されたじゃない
0084nobodyさん2010/01/14(木) 11:00:37ID:???
>>83
知ってる振りして実は煽りたいだけの知ったか野郎乙
0085nobodyさん2010/01/14(木) 14:00:09ID:???
ありがとうございます。本サーバはまだ5.3入りそうにないので、わくわくしながらこれまでの書き方を書くことにします。
http://www.programming-magic.com/20080419014001/
0086nobodyさん2010/01/14(木) 16:17:22ID:WCSXxawz
連想配列を返すインスタンスメソッドがあるとして、次のように呼び出すにはどうすればよいでしょうか。
※↓は擬似コードです
$obj->getProfile()->['name']
0087862010/01/14(木) 16:35:15ID:WCSXxawz
すみません、この呼び出しはできないですね。
emptyとかいくつかの関数でもメソッドの戻り値に対しては対応していないというのを
以前マニュアルで確認していたのを思い出しました。
>>86も多分同じような理屈になると思います。失礼しました。
0088nobodyさん2010/01/14(木) 17:04:48ID:???
ねぇ、上で書かれている&$thisって俺分かんないんだけど、どういう意味なんですか?
$thisを参照渡しってどういうこっちゃ?
0089nobodyさん2010/01/14(木) 17:20:51ID:???
$thisにぶら下がってるデータがでかい。
$thisを渡したあと中身を書き換えたら、その環境で呼び出して欲しい。
とかかな。
0090nobodyさん2010/01/14(木) 17:37:58ID:???
>>86
パーサが貧弱なのがPHPの残念なところね
俺は諦めてメソッドの戻り値をArrayAccessにしてる
$obj->getProfile()->offsetGet('name')

>>88
上でも書かれてるけどPHP4はオブジェクトも値渡しになってしまうため、参照渡しの指定が必須だった
0091nobodyさん2010/01/14(木) 17:43:58ID:???
オブジェクトや配列はどのみち参照が渡るんだから
書き手が&を明示的に書いたという以外に理由はないと思うけれども。
0092nobodyさん2010/01/15(金) 08:25:12ID:???
test
0093nobodyさん2010/01/15(金) 13:42:47ID:9vizjOHN
【OS名】WiindowsXP-Pro(SP2) 【PHPのバージョン】PHP5.2.6
【連携ソフトウェア】Apache2.2

結果のecho出力で質問です。

読み込みモードでTxt(output.txt)ファイルを開くtry〜catchのtry内で
$fileHandle = fopen("output.txt", "r");


if (false === $fileHandle) {
throw new Exception('ファイルオープンに失敗しました');
}else{

// ファイルの最後まで出力する

$data0 = fpassthru($fileHandle);

echo $data0;

fclose($fileHandle);

}

としたところ、Txtの内容は表示されたのですが末尾に余計な数字46とか48が付きます。
例: abc→abc48 とか abc→abc46

回避策をお教え下さい。
0094nobodyさん2010/01/15(金) 13:42:56ID:KdiPzmsc
readfile(サーバー内のファイルパス);
ってやったときに、クライアントにこのファイルの絶対パスがばれるようなことってありますか?
もしもファイルがなかったときには
ファイルのあるディレクトリの文字列が表示されてここにはファイルがありませんって
エラーがでるけど@readfileにしとくとか、エラーは表示させない設定にしとけば大丈夫ですかね?
アドバイスよろしくお願いします。
0095932010/01/15(金) 13:44:48ID:???
Live2chで書き込むと空行が入ってしまいました。
コード内の空行は無視して下さい。
0096nobodyさん2010/01/15(金) 14:08:15ID:???
>>93
http://php.net/manual/ja/function.fpassthru.php
>>94
大丈夫だと思うよ
0097nobodyさん2010/01/15(金) 14:09:34ID:???
>>93
fpassthruの返り値は 成功時は文字数。 fpassthruだけで内容の出力までしてる。
0098nobodyさん2010/01/15(金) 14:15:37ID:KdiPzmsc
>>96
ありがとうございました
0099932010/01/15(金) 15:09:54ID:???
>>96-97
ありがとうございます。
fpassthruを使う以上文字数は付いて廻るので、
これはこれでテキスト情報として利用します。
0100kuniokun2010/01/15(金) 16:52:18ID:???
文字コードについて質問です

mbstring.encoding_translationを'on'にして

$_POSTの値を、"mbstring.detect_order"で指定した順に文字コード判別し
"mbstring.internal_encoding"で指定した文字コードに変換する

いやいや、そんなの自分で$_POSTを内部コードに変換しろよウェェェアイウエ

どっちがいいの?

あとmbstring.detect_orderの順番がいまいち理解できません。
UTF-8でブラウザーに出力して内部コードがUTF-8です。
この場合みなさん優先順位どうしてます?

0101nobodyさん2010/01/15(金) 17:01:33ID:???
皆さんは、PHP、PEAR、Smarty、各フレームワークなどWebのマニュアルで勉強していると思いますが、各々非常に膨大な量が記述されてますよね
それぞれ内容も多いですし
で、Webで勉強しているときって、ただ見て「理解した。終わり」って感じで他の項目などに行くのですか?
それとも自分でノートか何か作ってまとめているのですか?

本に載っているようなPHPの構文はライブラリ、フレームワーク、テンプレート、など全部理解しましたがセキュリティなどになると、全部でなくてもあちこち抜けなくやっておかないと穴が出てきて困ってます
この関数はバイナリセーフじゃないとか
PHP等を本当にマスターしている人間ってどうやって学習しているのか気になります
0102nobodyさん2010/01/15(金) 17:11:09ID:???
一つ言えることはスレタイ読めということ
0103nobodyさん2010/01/15(金) 19:06:09ID:???
ソースも読め
0104nobodyさん2010/01/15(金) 19:07:50ID:???
>>100
mbstring.encoding_translation off
UTF-8で運用 変換をしない。
携帯サイトの場合だけ注意。

>>101
実際にサイト作る

0105nobodyさん2010/01/15(金) 19:45:56ID:???
>>101
ttp://d.hatena.ne.jp/naoya/20060426/1146033672
>>毎日会社が終わると近くの本屋に行って本を買って、喫茶店が閉店するまでこもって読書して、帰ってから仮眠をとって、夜中に起きて朝までプログラミングする。
そんなことをずっと続けてた時期がありました。

このままでは自分の力が伸びない――。
焦った伊藤さんはプログラミングの独学を決意。
専門書を買い漁り睡眠時間を3〜4時間に削って猛勉強した。
会社帰りに喫茶店で19時から23時まで、帰宅後も深夜まで
勉強をし続けた。自腹で買った本は半年で260冊に上った。

ttp://itpro.nikkeibp.co.jp/article/COLUMN/20090324/327117/
あなたの不安こそ,最強の武器

ttp://itpro.nikkeibp.co.jp/article/COLUMN/20090324/327068/?ST=develop
プログラマに必要なたった一つの力

ttp://d.hatena.ne.jp/amachang/20060804/1154679162
勉強が出来ない奴はプログラマになれ!(バカだからできる勉強法)

0106nobodyさん2010/01/15(金) 21:50:47ID:???
朝起きたら突然マスターしてるもんだよ
0107nobodyさん2010/01/15(金) 21:52:17ID:???
少なくとも105の伊藤さんは他人に「どうやって勉強すればいいですか?」なんて聞かなかっただろうな
0108nobodyさん2010/01/15(金) 22:09:08ID:???
いや、聞かなくて分からんなら、聞いたほうがいいに決まってる。
0109nobodyさん2010/01/15(金) 22:30:25ID:???
不安て重要だよね
これなかったらとんでもないことにwwwwwwww

0110nobodyさん2010/01/16(土) 01:16:30ID:???
>>102
つまり、下らねぇ質問ではなく素晴らしい質問だということ?
0111nobodyさん2010/01/16(土) 06:34:44ID:T91bVb4q
PHPで、普通のキューやリスト構造を使いたいんですが
標準的なクラスライブラリはないのでしょうか?
ぐぐったけど見つからなかったので自分でクラス書いちまったけど、ないってことないだろうと思って質問。
0112nobodyさん2010/01/16(土) 08:39:05ID:???
セッション変数使ってる?
ブラウザ落としてもセッションが残ってしまうんだが?
0113nobodyさん2010/01/16(土) 08:59:59ID:???
>>111
http://www.php.net/manual/ja/book.spl.php
0114nobodyさん2010/01/16(土) 09:25:48ID:???
>>101-110
俺は思うに、PHPは簡単だという言葉がよく書かれているけれど、実際ライブラリとかFWとか含めて全体的に使いこなせている人間は殆どいないんじゃないかと思う
基本的な事を使っているだけで
コードとかは書けるけれど、全ては知らないからセキュリティホールが出来たり
php.iniやhttd.confの設定も全てを知ってるって人も少なかったり
どの関数がバイナリセーフでそれが違うのかとかも
5年とかかかって毎日コツコツWebで公式マニュアル見て学習してる人間だったら話は別だろうけど、独学中はいいけれどプログラマーってそこまで余裕はないからね
0115nobodyさん2010/01/16(土) 09:35:42ID:???
山田祥寛って膨大な数の本書いて、ジャンルも多岐にわたるけれどアレってどうやって学習しているんだろうか・・・
ZendFrameworkとかまで色々と書かれているけれど、本書くのに時間がかかるだろうに、その上新しいものをマニュアル大量に読んで勉強してるんだろうか・・・
謎だ
0116nobodyさん2010/01/16(土) 10:38:15ID:???
>>114
お前は何を言ってるんだ?
0117nobodyさん2010/01/16(土) 11:07:50ID:???
>>114
言語自体は簡単だけどそれを応用ができないって事だね
0118nobodyさん2010/01/16(土) 20:06:50ID:v+1X+f1p
>>115
あれって書いている人いろいろいるみたいだよ
だから全部書いているのが本人とは限らない。
むろん見てはいるとは思うけど
0119nobodyさん2010/01/16(土) 20:18:16ID:???
応用が出来ない。じゃなくて、把握しきれないだね
関数だけで4000以上。
メジャー所のフレームワークは約4種類。
WordpressとかXOOPSみたいなシステム管理ツールもある。

まだ新しい言語っていうか、成長中の言語だから、
後3年くらいすれば、ある程度成熟して
利用頻度の高いフレームワークとかが決まってくると思うよ
0120nobodyさん2010/01/16(土) 20:40:51ID:???
そんなもんただのツールだろ、PHP自体とは別物

PHPを一通り覚えたつもりになるのは早い、これがPHPが簡単だと言われる理由だとすれば
結局、その簡単にマスターしたつもりのPHPでいろいろ作れないのは作ろうとしてるものの仕組みが把握できてないことであって、これはPHPとは別物
これはつまりPHP以外の言語をやった経験が少ないであろうプログラマーが陥りがちなこと
0121nobodyさん2010/01/16(土) 20:41:30ID:???
全角英字使ってる奴に言われても説得力ない
0122nobodyさん2010/01/16(土) 21:30:44ID:???
>>118
マジで?
確かにそうかもな・・・
あまりにも幅が広すぎるもんな
PHP系はほぼやってるし、JavaScript、XML、ASP、SQLなどなど
あれだけの量をたった一人で書くのだけでも時間かかるし、マニュアル見て勉強してってのも大変だろうし
まぁ元々NECかどっかでプログラミングしてたようだけど


>>121
ワラタw
0123nobodyさん2010/01/16(土) 21:38:04ID:???
たぶん実際に書いてるのはテクニカルライター
0124nobodyさん2010/01/16(土) 22:28:41ID:v+1X+f1p
山田祥寛って人の本は結構持っているな。
まあJavaとSQLだけだけど。
理解は深まる。やさしい本。
ただ掲示板があるけど、あんまりうまく答えてくれないよね
0125nobodyさん2010/01/16(土) 22:49:10ID:???
>>119
関数なんて把握する必要はない
0126nobodyさん2010/01/16(土) 22:54:03ID:???
>>125
なぬぅ?
0127nobodyさん2010/01/16(土) 23:42:05ID:???
関数把握してないと、
Q.○○したいのですがどうすればいいですか?
A.そのやりたいことそのものの関数が用意されてるわけだが
となる
0128nobodyさん2010/01/16(土) 23:49:25ID:???
関数をきっちり把握してるわけではない
〜なことが出来る関数がある
だけ覚えて http://jp2.php.net/manual-lookup.php で検索
0129nobodyさん2010/01/16(土) 23:49:38ID:???
俺も把握する必要は無いと思うな、どうせ検索するし
0130nobodyさん2010/01/16(土) 23:52:00ID:???
関数だけ覚えても引数の数とか受け入れる型とかまで覚えてないから結局検索するね
0131nobodyさん2010/01/16(土) 23:55:07ID:???
検索するけど、存在自体知らなかったら使えないじゃん
0132nobodyさん2010/01/16(土) 23:56:28ID:???
それはどの言語でも同じだろ
0133nobodyさん2010/01/16(土) 23:57:40ID:???
>>131
「きっとこんな関数があるだろう」と思ってまず検索する。
0134nobodyさん2010/01/17(日) 00:00:26ID:???
関数とそのパラメータを暗記する為に時間を費やすのはただのバカ
0135nobodyさん2010/01/17(日) 00:10:20ID:???
というかコーディングしてるときPHPDocみられるでしょ
0136nobodyさん2010/01/17(日) 00:41:02ID:???
暗記するっていうか自然と覚えね?
0137nobodyさん2010/01/17(日) 01:45:46ID:???
それは貴方のIQが特別高いからではないでしょうか?
我々には無理です。
0138nobodyさん2010/01/17(日) 10:17:03ID:???
よく使うのは自然と覚えるね
htmlspecialcharsやexplodeとかマニュアル見なくてもパラメータまで書ける
0139nobodyさん2010/01/17(日) 11:04:27ID:???
>>136
6,000以上もの関数を覚えてるの?!
0140nobodyさん2010/01/17(日) 11:16:57ID:???
関数にもいろいろカテゴリがあって使う頻度もあるし一度も使わず終いの関数だっていっぱいあるだろJK
0141nobodyさん2010/01/17(日) 11:24:48ID:???
なんだろう、若くないと毎回リファレンスチェックしないといけないのか
0142nobodyさん2010/01/17(日) 13:58:13ID:???
若いうちは出来る事の範囲が狭いからな。
0143nobodyさん2010/01/17(日) 14:24:14ID:???
偏屈になるのも良く分かるw
0144nobodyさん2010/01/17(日) 14:24:17ID:???
IDEになれちゃうと、htmlspecialcharsのスペルすら危ういw
0145nobodyさん2010/01/17(日) 14:39:33ID:???
そんなスゴいIDEあんの?
0146nobodyさん2010/01/17(日) 14:41:38ID:???
>>145
逆に補完してくれないIDEを探す方が難しいと思う。
0147nobodyさん2010/01/17(日) 14:45:05ID:???
IDEって自分が作ったクラスをrequireした場合でも
その中のメソッド名とか補完してくれるんですかね
0148nobodyさん2010/01/17(日) 14:55:42ID:???
includeならしてくれるかも
0149nobodyさん2010/01/17(日) 15:39:45ID:???
>>147
秀丸でも出来ますよ
0150nobodyさん2010/01/17(日) 17:06:58ID:???
specialくらいは、ふつーに英単語として覚えとけ、って気もしないでもない。
0151nobodyさん2010/01/17(日) 17:08:57ID:???
htmlspecialcharsの最後「s」がつくかどうかで悩んだ事無い?w
■ このスレッドは過去ログ倉庫に格納されています