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

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

■ このスレッドは過去ログ倉庫に格納されています
0001 忍法帖【Lv=40,xxxPT】 2011/09/29(木) 02:56:06.94ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0458nobodyさん2011/10/16(日) 18:42:29.05ID:???
顔真っ赤になって検索結果まで持ち出してどこまでも恥ずかしいks野郎だな
->
ちなみにこれはアロー演算子とも矢印演算子とも言われているどちらも->の事をいう


http://jp.php.net/manual/ja/language.oop5.static.phpに書いてありますね?
>矢印演算子 -> によりオブジェクトからアクセス することはできません。
バカは自分で調べも出来ないからもう一度言っておこうか
http://jp.php.net/manual/ja/language.oop5.static.phpに書いてありますね?
>矢印演算子 -> によりオブジェクトからアクセス することはできません。
0459nobodyさん2011/10/16(日) 18:59:33.82ID:???
>>455を100万回読み直せ
> PHPに「アロー演算子」なんて無い
0460nobodyさん2011/10/16(日) 19:00:38.81ID:???
>>457
正式名称を特に定義してないってことを言いたいだけなんじゃないの。

>>458はアロー演算子といわないとダメだと言い張ってるようだけど
http://jp.php.net/manual/ja/tokens.php
をみると、オブジェクト演算子と言いたそうにも読めるよ。
0461nobodyさん2011/10/16(日) 19:20:39.22ID:???
C++のアロー演算子は、ポインタとともに定義されるだろ。
PHPにポインタってあったか?
0462nobodyさん2011/10/16(日) 19:24:47.65ID:???

C++ では変数からのメンバ関数呼び出しはドット演算子、
ポインタからのメンバ関数呼び出しはアロー演算子、と使い分けるのが特徴であり、
後に登場した Java や C# に比べると繁雑なところである。
Java や C# ではメンバ関数の呼び出しは全てドット演算子で統一されている。
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/prog1/13-03.html


間接参照演算子'*'の優先順位が低いために、構造体ポインタl のメンバーdata を参照するのに、
*l.data だと、l.data がポインタであると解釈されて、それを間接参照しようとするので、意味論的エラーになる。
正しくポインタl を使って参照するためには、(*l).data とする必要があるが、
タイプしにくいために、l->data という記法が認められている。実質的には (*l).data と l->data の間には区別はない。
http://www.nurs.or.jp/~sug/soft/tora/tora7.htm
0463nobodyさん2011/10/16(日) 20:23:59.60ID:???
それはちょっと論点ずれてるような
0464nobodyさん2011/10/16(日) 20:34:58.53ID:85Bgp1nu
if(isset($hoge)){

}
if($hoge != ""){

}
if($hoge != null){

}
ってどれがスマートですか?
どれで書いてますか?
0465nobodyさん2011/10/16(日) 20:38:40.27ID:???
>>464
$hoge = '';
ってしてからそのコードを書いてみてはどうか
0466nobodyさん2011/10/16(日) 20:47:38.44ID:???
全部意味が違うの並べてスマートってなにさw
0467nobodyさん2011/10/16(日) 20:57:10.88ID:???
>>464
if(strcmp($hoge,"")==0){

}
0468nobodyさん2011/10/16(日) 21:09:02.78ID:???
>>464
緩い比較でやるなら
!= ""も!=nullは一緒
0469nobodyさん2011/10/16(日) 21:17:02.22ID:???
ID:85Bgp1nu
かっこつける前に言語仕様と自分の目的をきちんと理解してください。
「このコードはなぜこう書いたのですか?」と質問されて「えっ?なんとなく」というのが一番かっこ悪いです。
0470nobodyさん2011/10/16(日) 21:20:29.40ID:???
括弧付ける間にとか括弧悪いとか意味わかんない
0471nobodyさん2011/10/16(日) 21:21:50.69ID:???
>>469
nullじゃない場合のif文はどれがいいのか聞いているんだよ。
それで、3つとも同じ処理をすると思っているのよ。
わかるだろ?
0472nobodyさん2011/10/16(日) 21:35:54.18ID:???
わざわざID貼り付けてレスする奴きめえ
知恵袋にも低レベルな回答してるのに似たような事してる奴いるけど同一人物か
0473nobodyさん2011/10/16(日) 21:41:59.58ID:???
そっすねw
0474nobodyさん2011/10/16(日) 21:53:08.96ID:85Bgp1nu
if(isset($hoge))
if($hoge != "")
if($hoge != null)
ごめんなさい 違い 教えてください
0475nobodyさん2011/10/16(日) 22:16:37.34ID:???
nullでないが実行されない

if($hoge != "")
false 0

if($hoge != null)
false 0 array()
0476nobodyさん2011/10/16(日) 23:40:52.05ID:???
>>474
ここ読んで
http://jp2.php.net/manual/ja/types.comparisons.php
0477nobodyさん2011/10/17(月) 04:17:21.49ID:???
それ、定期的に見直して、いつの間にか間違うようになってないか確認してるな。

ついでにissetとemptyもみるんだけど、毎度emptyの使い道が見つからずに終わるパターン
0478nobodyさん2011/10/17(月) 05:25:34.40ID:???
' ' の中で 'を使いたい時ってどうすればいいですか?
\' 意味無いですよね・・
0479nobodyさん2011/10/17(月) 06:21:53.47ID:???
何で意味がないと思ったんだろう。試したけどダメだった?

http://jp.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single
とりあえずここ読んでみたらどう
0480nobodyさん2011/10/17(月) 06:21:53.51ID:KSPkfapD
SQLite3でレコード数を得る方法ってありますか?
SQLiteDatabaseの numRows() のような関数を探してます。
0481nobodyさん2011/10/17(月) 06:24:34.56ID:???
>>480
http://jp.php.net/manual/ja/function.sqlite-num-rows.php
だめ?
0482nobodyさん2011/10/17(月) 06:30:08.51ID:???
ん、SQLite3は別のインターフェイスなのかな。
http://jp.php.net/manual/ja/pdostatement.rowcount.php
selectの場合はcount(*)を別に発行しろという残念なお知らせかも知れないです。
0483nobodyさん2011/10/17(月) 06:55:58.15ID:KSPkfapD
>>482
なるほどcountで取得することにします!
ありがとうございました。
0484nobodyさん2011/10/17(月) 10:11:46.33ID:O7ICnLpb
銅を使った部品の見積もりシステムを作りたいのですが
最新の銅ベースを取得できるAPIなどはないでしょうか?
既存のサイトの内容をPHPに取得させるしかないのでしょうか?
0485nobodyさん2011/10/17(月) 10:30:29.76ID:???
金属の銅価格か
04864842011/10/17(月) 10:47:57.57ID:O7ICnLpb
>>485
はい 金属の銅の1t当たりの取引価格です

取り扱っている部品がほとんど銅の塊なので
変動を日毎に取得したいと考えています
0487nobodyさん2011/10/17(月) 10:49:14.99ID:???
聞いた事ないから適当なサイトをクロールするしかないかもね
色々とアウトだろうけど
0488nobodyさん2011/10/17(月) 10:51:14.63ID:???
金属市場のIT化とか全然わからんけど、スクレイピング考えたほうが早そう
0489nobodyさん2011/10/17(月) 11:08:10.45ID:???
金、銀はそれなりにあるんだけどな・・・
0490nobodyさん2011/10/17(月) 11:17:48.00ID:IhQxdaPx
$hoge = 0;
if($hoge == null){
echo ok;
}else{
echo ng;
}
実効したら "ok" ってでるんですけど
0ってnull なんですか?
0という値がはいってるからnull じゃないと思ったんですが…
0491nobodyさん2011/10/17(月) 11:20:13.17ID:???
>>490
http://php.net/manual/ja/types.comparisons.php
==による緩やかな比較

===で比較するのが良いよ
0492nobodyさん2011/10/17(月) 11:48:09.12ID:???
これが型の概念のないゆとり言語の弊害か
0493nobodyさん2011/10/17(月) 11:49:54.98ID:???
ゆとり言語wwww
0494nobodyさん2011/10/17(月) 11:57:20.48ID:???
比較演算子の仕様であって、変数に型が無いわけではない。
0495nobodyさん2011/10/17(月) 11:58:45.69ID:???
>>492
これは恥ずかしい
04964842011/10/17(月) 12:18:26.07ID:O7ICnLpb
>>487>>488>>489
やはり無いですか・・・
外部のWEBの内容の自動取得がOKなのか不明ですが
技術的に可能か確認してみます・・・
0497nobodyさん2011/10/17(月) 13:54:45.76ID:x7xkAlv7
Linux使っています
phpのプロジェクト/abcを作成し、/abc/public/imgフォルダ内にa.gifを入れました
で、ZendFramework、Smartyを使い/abc/application/~/p.tpl内で
<img src="/home/user/workspace/abc/public/img/a.gif" />のような絶対パスを指定したら表示されません
define('PUB', realpath(dirname(__FILE__)));
{$pub}/img/a.gifとかも試しました
パーミッションはrwxをapacheユーザに割り当てています
で、どうしてかなと思い、めんどくさいながらも相対パスにて何度も../../~のようにすると表示されました
0498nobodyさん2011/10/17(月) 13:59:26.19ID:x7xkAlv7
相対パスはMVC構造で複雑になるときついというのと、キャッシュに不利なので、絶対パスを使いたいのですがどのようにすればいいのでしょうか?

・・・と書いた後調べるとHTMLは相対URIと絶対URI(http://~)しか書かれていません。
でもやはりディレクトリ構造の絶対パスの方が記述しやすいのでそうしたいのですが、皆さんはどのように対応されているのでしょうか?
0499nobodyさん2011/10/17(月) 14:15:01.55ID:???
URLとサーバーのディレクトリがごっちゃになってる。
0500nobodyさん2011/10/17(月) 15:07:04.19ID:???
apacheのドキュメントルートを/にしたら見えるんじゃない?
0501nobodyさん2011/10/17(月) 18:55:51.92ID:???
それなんて釣り
05024982011/10/17(月) 19:43:38.85ID:???
確かにURLとサーバのディレクリがごっちゃになっているのだと思います
しかし、やっぱhttp://〜又は../../で指定しなければいけないのでしょうか?
MVC構造で公開フォルダを分けて作ると良く分からなくなります
0503nobodyさん2011/10/17(月) 19:53:39.83ID:???
出力されたHTMLを見て、アクセスログを見ればよくわかると思うよ。
で、ドキュメントルートを/にしてみたかね
0504nobodyさん2011/10/17(月) 21:53:50.63ID:x7xkAlv7
>>503
遅くなりました
今httpd.confのDocmentRootを上記のpublicに変更しました
で、アクセスしてみたのですが>>503さんが意図した事が恐縮ですが良く分かりません
DocRootがpublicになったため、自分が上で思っていた.tplファイルからの絶対パスから、相対パスが./img/a.gifになったのかなと思い
そのように指定したのですが表示されませんでした
ZendFramework使っているのでURIはhttp://localhost/hoge/foo/barとなっております
0505nobodyさん2011/10/17(月) 21:56:41.33ID:x7xkAlv7
この場合、>>498で書いた相対URIもどのように書けばいいのかわからなくなりました
HTMLのソースを表示させてみたのですが分かりません
ちなみに.tplは/application/modules/hoge/views/scripts/foo内にあります
0506nobodyさん2011/10/17(月) 23:28:29.98ID:???
マジレスするとドキュメントルートをあらわす定数を用意するか、BASE要素で指定するかじゃないか
0507nobodyさん2011/10/18(火) 00:22:58.16ID:???
ドキュメントルートが
/home/user/workspace
だったら
<img src="/abc/public/img/a.gif" />

/home/user/workspace/abc/public
だったら
<img src="/img/a.gif" />

ドキュメントルートはtplの場所とは無関係。WEBサーバの設定で決まっている。
相対パスにしてもtplとはほぼ無関係。アクセスするURLに従ってブラウザが
URLを作ってアクセスする。だから外部からはどこにテンプレートがあるかとはわからん。

http://localhost/hoge/foo/bar
でアクセスしたHTMLの中に
<img src="../../img/a.gif" /> があった場合は
http://localhost/hoge/img/a.gif にあるとしてブラウザはアクセスする。
WEBサーバはそのリクエストから
/ドキュメントルート/hoge/img/a.gif を探して返す
0508nobodyさん2011/10/18(火) 03:37:01.86ID:YMkWTgen
PHPで業務イントラ作ることになったのですが、PHPからPDFを作るのに
よいライブラリはありますか?
また、Java の SVF や JasperReports + iReport みたいに、
デザイナがあるとうれしいです。

ググったところ、PDFlib、FPDF、TCPDFというのを見つけましたが、
・PDFLib→商用利用の場合、費用が掛かる
・FPDF→日本語に弱い?
・TCPDF→なんかよさげ、デザイナはないけどテンプレートにHTMLを使える?

普段はJavaを使っているのですが、PHPだとあまりPDFをサーバサイドで
生成する、というニーズはないのかな。

デザイナまであるソフトウェアはなさそうですね・・・

なお、環境はLinuxです。
0509nobodyさん2011/10/18(火) 04:20:08.95ID:???
>>508
> PDFLib→商用利用の場合、費用が掛かる

お金(18萬)が未払だとPDFLIB.COMとか勝手に印刷されるんじゃね。

>FPDF→日本語に弱い?

弱い?とは何?
ただし表とか作れたっけ?
0510nobodyさん2011/10/18(火) 08:35:45.52ID:dXFVaHOB
PEAR(?)がmysql_query()より優れているのはどういう点でしょうか。
mysql_query()使ってたら友達にバカにされましてorz
0511nobodyさん2011/10/18(火) 09:07:02.12ID:???
>>510
mysql以外へのDB対応が容易。
PHPのバージョン次第で動かなくなることもあるからmysql_queryで書く方が安心といえるが。
0512nobodyさん2011/10/18(火) 09:25:12.61ID:???
ORマッパーとかでぐぐればいいんじゃね
まぁ速度的な面ではネイティブ関数にはかなわんし
パフォーマンスを求めてかつmysqlだけでいいなら
mysql関数でも別にいいんじゃないの
明確な目的があって使ってるならバカにされる理由なんてないんだが
0513nobodyさん2011/10/18(火) 09:41:12.21ID:???
ORMと比べるのは間違ってるだろ
PDOやらMDB2等の抽象化レイヤーと比べるならまだしも・・・
0514nobodyさん2011/10/18(火) 10:10:39.21ID:???
抽象化レイヤーは広義ではORMだけどな
0515nobodyさん2011/10/18(火) 10:19:26.99ID:???
データベースの速度は遅い
ラッパー使っても大差なし
0516nobodyさん2011/10/18(火) 10:27:23.46ID:???
金をケチる企業はクズしかいない
0517nobodyさん2011/10/18(火) 10:40:18.52ID:???
開発者をケチって、MDB2でもつかってればいい、サーバー金かければいいというだけのやつばかりになるもんな。
DBに問い合わせするだけのためにPear呼んで、自分も100KB超えの無駄にでかく使わん機能てんこ盛りのを
これでいいんだとおもっちゃまうようなのをな。
0518nobodyさん2011/10/18(火) 10:43:10.04ID:???
渾身のかみっぷりですね
0519nobodyさん2011/10/18(火) 10:45:08.96ID:???
ゆくゆくはオラクルにするかもしれないと言っても
実際は移行作業の手間やらSQLでベンダ独自のクエリ書いてないかのチェックやからが大変で
結局移行しないっていうのは多いしな
0520nobodyさん2011/10/18(火) 10:47:05.25ID:???
ま、初心者にはいいんじゃねーのw
0521nobodyさん2011/10/18(火) 11:05:09.26ID:???
DB移行してみて動いたラッキーみたいな開発者割と多いよな
標準SQL書ける技術者がどの程度いるか疑わしい
だいたいPHPやってるやつはMySQL脳だからな
0522nobodyさん2011/10/18(火) 11:06:35.83ID:???
特化したsql文があるなら使うべきだしな。
0523nobodyさん2011/10/18(火) 11:21:39.13ID:???
MySQLスレでやってくれ
0524nobodyさん2011/10/18(火) 11:23:16.82ID:???
やめてくれ MySQL関係ない
05255082011/10/18(火) 11:53:37.91ID:???
>>509
ここを見ました。
http://flyfront.blog.shinobi.jp/Entry/32/
0526nobodyさん2011/10/18(火) 12:37:04.84ID:???
>>525
まずはTCPDFいいんじゃね。

機能で不満が出てきたらPDFlibの18まんえんを払うことだね。
0527nobodyさん2011/10/18(火) 13:01:55.52ID:???
けちな奴の特徴
・ブログで見ただけでそれが答えだと思い込む
・誰かが「出来る」といった後に誰かに「出来ない」と言われると自分で試しもせずに出来ない意見を尊重する
0528nobodyさん2011/10/18(火) 13:07:35.52ID:???
PDFだのケチだのいってるやつまだいたのか
そろそろお帰り願いたい
それともAjax厨がまた別人格作ったんですか?
0529nobodyさん2011/10/18(火) 13:17:06.80ID:???
>>528
NGわーど
05305252011/10/18(火) 13:23:59.67ID:???
レスどうもありがとうございます。

まずは TCPDF を試すか、
PDFlib の価格は、ウイングアークのSVFに飼いならされたJava厨としては
そんなに高くないので、PDFlib を試してよさそうであれば、ライセンスを購入しようと思います。
0531nobodyさん2011/10/18(火) 13:48:17.19ID:???
オプションと対象OSによって値段変わるよ。
素のPDFlibをありがちな鯖OSに入れる場合がその値段かな。
ブロックプラグインだったかな、を使おうとすると、アクロバットも必要になるよ
05325252011/10/18(火) 13:52:57.74ID:???
どうもありがとうございます。

http://pdflib.hykw.tv/

http://pdflib.techstyle.jp/products/prices.html
あたりを、今読んでいます。
05335252011/10/18(火) 13:57:48.61ID:???
>531
> ブロックプラグインだったかな、を使おうとすると、アクロバットも必要になるよ

PPF(PDFlib Personalization Server)
http://pdflib.hykw.tv/#3-3
をつかう場合、
雛形のPDF(可変となる部分をブロック(変数)にしておく PDF)を作るのに Adobe Acrobat が必要であり、
実際のPHPが動くサーバには Acrobat は必要ない(PHP が PDF を生成するとき)、という理解でいいですよね?
0534nobodyさん2011/10/18(火) 14:26:25.26ID:???
>>533
Linuxで動くAcrobatWriterってあるのかね。
Readerはあるけれど。
0535nobodyさん2011/10/18(火) 14:54:24.24ID:???
fopenと@fopenは何が違うの?
0536nobodyさん2011/10/18(火) 14:59:41.11ID:???
http://php.net/manual/ja/language.operators.errorcontrol.php
0537nobodyさん2011/10/18(火) 15:02:51.69ID:???
>>533
うん、それであってる。雛形便利なのでほしくなるかもと思い。
0538nobodyさん2011/10/18(火) 15:05:06.64ID:???
>>536
ありがとう
05395332011/10/18(火) 15:20:19.65ID:???
>>537
どうもありがとうございます。
PDFlib は PHP 以外の言語バインディングもあるみたいなので、
Java でも今度使ってみよう
0540nobodyさん2011/10/18(火) 15:24:13.94ID:???
>>539
後学のためにハマった点があったらここで報告してもらえると助かります
0541nobodyさん2011/10/18(火) 15:28:44.49ID:???
お安い御用です。
05425332011/10/18(火) 16:14:00.86ID:???
>>541 は自分じゃないですw

>>540
実装するのは少し後になりますが、何かあったらここに書くようにします。
0543nobodyさん2011/10/18(火) 18:16:59.52ID:???
>>542 は自分じゃないですw
0544nobodyさん2011/10/18(火) 18:19:13.63ID:???
何のためのID出しなのかとw
「お安い御用です。」は複数のスレ、複数の板にまたがってるからわかるよw
0545nobodyさん2011/10/18(火) 19:42:23.64ID:???
数年ぶりに本屋いったけど
Tシャツきた白いひょろいメガネがPHP本読んでて
ちょっと悲しくなった
0546nobodyさん2011/10/18(火) 19:53:59.79ID:Pgoz7r+6
windowsで製作してますか?
MACで製作していますか?
0547nobodyさん2011/10/18(火) 21:09:20.72ID:L6EXgykq
ログインフォームは英語でそのままですが、登録フォームは英語で何て言うんですか?
ユーザ登録時とかのフォームです
Entry Form、SignUp Form、Register Fromとか考えたんですが・・・
0548nobodyさん2011/10/18(火) 21:33:24.72ID:???
>>547
http://hibari.2ch.net/test/read.cgi/tech/1311942721/
0549nobodyさん2011/10/18(火) 22:12:10.64ID:???
他人が作ったPHPで作られたサイトの改善を頼まれたのが、

そのサイトは外部から多数のファイルを読み込んでいて、そこに定義してある「ユーザー定義関数」を
利用して作られている。

俺はその定義されてる関数の中身が見たいんだけど、ファイルが多すぎて一々ファイルを開いて検索するのは
時間が掛かり過ぎる。

読み込まれている外部ファイルも含めて簡単に関数を探し当てる方法ってありますか?

0550nobodyさん2011/10/18(火) 22:14:55.89ID:???
grep
0551nobodyさん2011/10/18(火) 22:48:26.06ID:L6EXgykq
>>548
ありがとうござます

ところで、皆さんはsessionをfile、database、どちらで保管していますでしょうか?
デフォルトはfileで、自分もわざわざデータベースへの接続は・・・って思っていたんですが、調べるとデータベースの方が多いようなので
05524782011/10/18(火) 23:08:23.03ID:???
>>479
ありがとうございます。
すみません遅くなりました。
つまり ' ' 内でも \'のエスケープは有効で \nなどが無効という認識でいいのですね
エスケープ自体ができないと思い込んでました。。
0553nobodyさん2011/10/18(火) 23:17:19.27ID:???
>>549
tags
0554nobodyさん2011/10/18(火) 23:18:28.37ID:???
>>552
そそ。
0555nobodyさん2011/10/18(火) 23:52:49.06ID:???
お安い御用です。
0556nobodyさん2011/10/19(水) 06:09:39.29ID:???
>>549
> ありますか?
ない。

include をgrepしてツリーを作る。
0557nobodyさん2011/10/19(水) 09:22:45.63ID:???
>>549
知らないけどそういう機能ついてるIDEもありそうだね。おれはgrep
■ このスレッドは過去ログ倉庫に格納されています