【PHP】下らねぇ質問はID出して書き込みやがれ 97
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/07/23(金) 06:24:51ID:3G71fl8i過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
前
【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0638nobodyさん
2010/09/12(日) 18:42:26ID:???0639nobodyさん
2010/09/12(日) 18:51:24ID:hAWvhX9i【PHPのバージョン】 5.3
【連携ソフトウェア】
【質問内容】
A.php の中に記述されたリンク
<a href="B.php">リンク</a>
から B.php を呼び出します。
呼び出された B.php 側で、自分のことを呼び出したA.phpのフルパスをセッションを使わずして取得する
ことは可能でしょうか?
0641nobodyさん
2010/09/12(日) 19:18:54ID:hAWvhX9i> やるとすればリファラ使えばできる
リファラはたしかノートンとか使っていると正常に取得できなかったりしますよね?
0642nobodyさん
2010/09/12(日) 19:44:10ID:???B.php?ref=Aとかこんな感じでするぐらいしか無いよ
0643nobodyさん
2010/09/12(日) 21:22:27ID:hAWvhX9i素直にセッション使いまつ
0644nobodyさん
2010/09/12(日) 21:34:04ID:???URLへの埋め込みになるから
セッションID消してアクセスすれば取れないよ
0645nobodyさん
2010/09/12(日) 21:44:13ID:???start_session()でセッション使って値保持するのと
setcookie()でクッキー使って値保持するのって
どう使い分けるべきなのかな?
セキュリティを考えて常にstart_session使うべき?
0646nobodyさん
2010/09/12(日) 22:47:40ID:hAWvhX9iえ、そうなんですかorz・・・
>>639の A.php というのは日記を記述するページ、 B.php というのは写真とそのEXIF情報を表示するための
ページだったりします。日記の A.php と写真の 0001.jpg は同一フォルダにあります。
<a href="B.php?shashin=0001.jpg">リンク</a>
みたいな感じでどの写真を表示させるかは B.php に渡すことが出来るんですが
肝心の写真のフルパス情報をどうやって渡して良いか悩んでいるわけです。
他の日記はまた別のフォルダに保存していたりするので。
セッションを使えば A.php のフルパス情報を B.phpに渡すこともできますが
セッションの受け入れを拒否している人がいるとこの方法でもダメですよね・・・
0647nobodyさん
2010/09/12(日) 22:58:34ID:???0648nobodyさん
2010/09/13(月) 10:23:43ID:qMibvBR2zend_extension_tsとextension
xdebugの各種設定をしているのですがphpinfo()でxdebugがみあたらないのです
5.2だと上手くいくのですが何か見落としてる箇所はありますか?
0649nobodyさん
2010/09/13(月) 14:13:02ID:/s7P18Wx$html = file_get_html('echo $product');
上記のような場合でもカッコの中にデータを表示させる方法はありますでしょうか?
0650nobodyさん
2010/09/13(月) 14:22:35ID:???$html = file_get_html($product);
こうじゃダメなのか?
0651nobodyさん
2010/09/13(月) 14:31:26ID:/s7P18Wx$html = file_get_html($product);
このようなエラーメッセージが出ます。
Parse error: syntax error, unexpected T_ECHO, expecting ')'
コレだけの記述だと正常にデータを表示します。
echo $product;
zencartを使用
0652nobodyさん
2010/09/13(月) 14:38:43ID:???$html = str_get_html($product);
file_get_htmlは引数をURLに取るんじゃないのか?
PHP Simple HTML DOM Parserの話だよね?
0653nobodyさん
2010/09/13(月) 14:59:31ID:/s7P18Wx0654nobodyさん
2010/09/13(月) 19:25:48ID:Lm2I1b13> shashinにフルパスつければよくね?
それも一つの解決方法なんですが写真の数が多いため全てのフルパスを付けるのは
面倒なこと、将来サーバーを乗り換えたときにフルパスだとディレクトリ名が変更になった場合
全て修正する必要性がでてくるためできればフルパスは含めない方法を探していたわけです。
余談ですがクッキーの受け入れを拒否している端末でも
PUTやGETでA.phpのフルパスをB.phpに渡すことって出来ないですかね・・・
0655nobodyさん
2010/09/13(月) 19:49:04ID:???Xdebug Documentation - Install
http://xdebug.org/docs/install
より引用
-----
From PHP 5.3 onwards, you always need to use zend_extension and not zend_extension_ts.
-----
0656nobodyさん
2010/09/13(月) 21:43:55ID:???http://jp2.php.net/manual/ja/function.output-add-rewrite-var.php
これ使えばいい
0657nobodyさん
2010/09/13(月) 22:12:39ID:Lm2I1b13> http://jp2.php.net/manual/ja/function.output-add-rewrite-var.php
> これ使えばいい
ありがとうございます。
まだ簡単に調べた段階ですが、
output_add_rewrite_var('var', 'value');
関数は画像リンクに限らずページ内に存在するありとあらゆるリンクの最後に ?<var>=<value> を
付与してしまうとのことです。※リンクだけでなくフォームにも勝手に追加しちゃう?!
自分のサイトに訪問してくれた方が画像リンク以外のリンクをクリックしてもURLの最後に意味不明な
?<var>=<value> が付くことになるわけですが混乱したり不快に思ったりしないでしょうか(^-^;)?
あと余談ですが訪問者のブラウザ設定でcookieの売れ入れの有無にかかわらずこの関数は
有効に機能すると考えて差し支えないでしょうか?
0658nobodyさん
2010/09/14(火) 11:56:30ID:v/2zN57lサーバのTOPからのパス?
なぜそれを渡さなければならないかがわからない。
サーバのTOPからのサイトトップのパスを共通定義にでもしておいて
それ使ってプログラム書けば、
サーバ移転した時もその一行書き換えればいいんじゃないの?
0659nobodyさん
2010/09/14(火) 14:23:01ID:???0660nobodyさん
2010/09/14(火) 14:43:54ID:wQYT6X6V自作関数をincludeするのとどこが違うのでしょうか?
0661nobodyさん
2010/09/14(火) 14:44:44ID:???0662nobodyさん
2010/09/14(火) 15:11:22ID:???・コードの保守が楽になります
・複数人での分担作業が楽になります
・データとロジックを分けることができます
class Keisan
{
public function tashizan($a, $b){
return $a + $b;
}
$keisan = new Keisan();
echo $keisan->tashizan($a, $b);
0663nobodyさん
2010/09/14(火) 15:12:15ID:???class Keisan
{
public static function tashizan($a, $b){
return $a + $b;
}
echo Keisan::tashizan($a, $b);
0664nobodyさん
2010/09/14(火) 15:12:56ID:???{
public function tashizan($a, $b){
return $a + $b;
}
$keisan = new Keisan();
echo $keisan->tashizan(5, 10);
0665nobodyさん
2010/09/14(火) 16:12:27ID:???「え?なんでそんな面倒なことしなきゃいけないの?」ってなるだけだからなぁ
0666nobodyさん
2010/09/14(火) 16:16:48ID:???オブジェクト指向がなんたるかを理解してないと
不思議なコードになるから理解できてないうちは使わんほうがいいよ
0667nobodyさん
2010/09/14(火) 17:05:17ID:???$a=1;
$b=4;
■keisan.php
class Keisan
{
public static function tashizan($a, $b){
return $a + $b;
}
■program.php
include "data.php";
include "keisan.php";
echo Keisan::tashizan($a, $b);
0668nobodyさん
2010/09/14(火) 17:20:33ID:???0669nobodyさん
2010/09/14(火) 19:01:21ID:???}
class BBSRead {
}
class 2ch {
function write(){};
function read(){};
}
とかクラス設計がいまいち分からないね
0670EM114-48-11-217.pool.e-mobile.ne.jp
2010/09/14(火) 19:04:32ID:vtvQ2dJO0671nobodyさん
2010/09/14(火) 19:06:30ID:???0672nobodyさん
2010/09/14(火) 19:07:36ID:???0673nobodyさん
2010/09/14(火) 19:42:05ID:???0674nobodyさん
2010/09/14(火) 19:46:42ID:J3MSx4E40675nobodyさん
2010/09/14(火) 20:29:38ID:???俺も俺も。その構造は大体理解できるんだけど
それからどうやって使うのかがいまいちわからないね
インクルードで呼び出すと思うんだけどさ。
複数あると混乱するよね
0677nobodyさん
2010/09/14(火) 20:42:29ID:???判りやすいから
フレームワークの構造考えたらどう使えばいいかわかるんでないかい
0678nobodyさん
2010/09/14(火) 20:50:01ID:lx9NhRJD【PHP】下らねぇ質問はここに書き込みやがれ 98
http://pc5.2ch.net/test/read.cgi/php/1099322141/
0679nobodyさん
2010/09/14(火) 20:59:57ID:???0680nobodyさん
2010/09/14(火) 21:09:55ID:???環境にも左右されるし一概に全部の環境に当てはまるとは言い切れないし
0681nobodyさん
2010/09/14(火) 21:32:29ID:???きっと誰かが実装したと思うので、
それを活用したいな、と。
0682646
2010/09/14(火) 21:42:10ID:xcl5dZPT多数の画像リンクを全てサイトトップからのパスで記述するのは労力的にも厳しいです。
その労力を軽減するのがプログラムの役割だと思うのですが現在のPHPだと厳しそうですね・・・
0683nobodyさん
2010/09/14(火) 22:03:49ID:???クライアント側からアクセスできるパスに保存してそのパスを返せばいいんじゃね?
0684nobodyさん
2010/09/14(火) 22:16:02ID:???0686646
2010/09/14(火) 22:19:59ID:xcl5dZPT日記に付随する画像ファイルは日記と一緒にアップロードしたきりです。
>>684
日記(B.php)は日記毎に違うフォルダに格納してたりします・・・
0687646
2010/09/14(火) 22:34:20ID:xcl5dZPToutput_add_rewrite_var('var', 'value');
という関数。これはURLに'var'と'value'の組を付与するという形で別ページのPHPスクリプトに
変数を渡すことを実現しています。あとは受け手のPHPスクリプトの中でGET['var']を指定すれば
'value'の値を入手することが出来る仕組みです。
output_add_rewrite_var() 関数はページ内のありとあらゆるリンクに'var'と'value'の組み合わせを付与
してしまいます。そこでGETの代わりにPUTで変数の値を受けることが出来る関数というのは無いでしょうか?
それがあればリンクを(見かけ上)汚さずに変数の組を別ページに渡すことができるようになるはずです。
0690646
2010/09/14(火) 23:00:51ID:xcl5dZPTクラス・・・ですか
クラスで管理すると別ページに変数セットを渡したりすることができるようになるんでしょうか?
0691nobodyさん
2010/09/14(火) 23:05:06ID:???0692nobodyさん
2010/09/14(火) 23:15:51ID:???class Sample
{
public $number = 1;
public function view()
{
return "ナンバーは". $this->number. "ですね!";
}
}
$obj = new Sample();
echo $obj->$number;
echo "\n";
$obj->$number = 1000;
echo $obj->view();
0693nobodyさん
2010/09/14(火) 23:19:46ID:???class Sample
{
public $number = 1;
public function view()
{
return "ナンバーは". $this->number. "ですね!";
}
}
$obj = new Sample();
echo $obj->number;
echo "\n";
$obj->number = 1000;
echo $obj->view();
0694EM111-188-77-232.pool.e-mobile.ne.jp
2010/09/14(火) 23:21:21ID:o4piNMzk0696nobodyさん
2010/09/14(火) 23:39:01ID:???0698nobodyさん
2010/09/14(火) 23:50:44ID:???0699nobodyさん
2010/09/15(水) 00:03:31ID:???0700nobodyさん
2010/09/15(水) 00:04:25ID:???多重継承使えば同じ事できるけど、コードが冗長になるのが気に入らない。。。
0703nobodyさん
2010/09/15(水) 00:13:47ID:???COOKIE、リファラ使えなくても表示したい
渡されるパラメータ改変されてアクセスされても表示したい
こういう謎な状態
0704nobodyさん
2010/09/15(水) 00:19:15ID:???0705703
2010/09/15(水) 00:20:59ID:???0706nobodyさん
2010/09/15(水) 00:22:57ID:???状況説明してやってるだけだろks
0707703
2010/09/15(水) 00:37:24ID:???0708nobodyさん
2010/09/15(水) 08:29:41ID:1uGBmNKkfirefoxだと問題なく動きます。
ドメイン名にアンダーバーはないので、ドメイン名が原因ではなさそうです。
開発環境はcakePHPなのですが、なにか原因となりそうな部分、
もしくはやってみたらよさそうなことなどないでしょうか?
どうぞよろしくお願いします。
0709nobodyさん
2010/09/15(水) 09:53:51ID:???0710nobodyさん
2010/09/15(水) 10:03:55ID:???0711nobodyさん
2010/09/15(水) 10:29:37ID:???0712nobodyさん
2010/09/15(水) 10:30:00ID:???0713nobodyさん
2010/09/15(水) 10:35:26ID:???やりとりを観察してみたらどうだ?
0714nobodyさん
2010/09/15(水) 10:39:25ID:???いまどきPerl,使うのはオッサンぐらい
Rubyは好き物が使ってるだけ
Pythonは元々CGIを行うために生まれたものじゃないし
0715nobodyさん
2010/09/15(水) 11:28:53ID:???他言語を貶すような事は書かないでくれ
perlがオッサンというのはちょっとずれてる
YAPCもPHPカンファレンスも年齢層は変わらない。
perlの方が日本発の携帯向けのフレームワークも多いし
今でも主流の一つ。
greeはPHP(藤本さんにはお世話になりました)
mixi・DeNAはperl
案件数ではLLの中ではPHPが一番多い
0716nobodyさん
2010/09/15(水) 11:32:31ID:???greeも儲かってんだからさっさとシステムを改修したほうがいい
そのうち積むぞ
0717nobodyさん
2010/09/15(水) 11:34:51ID:???時代遅れだけは簡便な
0718nobodyさん
2010/09/15(水) 11:39:27ID:???どういう場合に積むのかこりゃ気になるな
0719nobodyさん
2010/09/15(水) 11:47:54ID:???どんだけPHPをなめてるんだろうw
0720nobodyさん
2010/09/15(水) 11:56:19ID:???アクセス過多でレスポンスが遅くなるってのは
SpeedyCGIじゃなくてなんだっけか名前忘れたけど
それで改善できるんだっけ
0721nobodyさん
2010/09/15(水) 11:57:05ID:???0722nobodyさん
2010/09/15(水) 11:58:44ID:???重アクセスでうんちゃらって記事を見たような
0723nobodyさん
2010/09/15(水) 12:01:05ID:???0724nobodyさん
2010/09/15(水) 12:07:59ID:???0725nobodyさん
2010/09/15(水) 12:28:00ID:???0726nobodyさん
2010/09/15(水) 12:29:37ID:???0727nobodyさん
2010/09/15(水) 12:31:33ID:???洗脳されたの一言で済まされたら書く意味がない。
このスレも回答者に洗脳されたの一言で済まされるから存在意義がない。
0728nobodyさん
2010/09/15(水) 12:33:06ID:???記事マンセーおつかれ
0729nobodyさん
2010/09/15(水) 12:42:41ID:???誰が記事を書くかは自由だが自分が試したこともないのにこれは記事に書いてあるからこうだって自己主張するのは違うかな
0730nobodyさん
2010/09/15(水) 13:13:06ID:???DBがボトルネックになることがほとんどなんじゃないの?
0731nobodyさん
2010/09/15(水) 13:20:59ID:???0732nobodyさん
2010/09/15(水) 13:32:39ID:???個人的にはDBと回線が多いかな
SQLをあまり知らない人が、1度のクエリで済むところを何度もクエリ発行
→それをPHPで加工とかして無駄に負荷がかかるというのも結構見る
DBに登録されている時間から24時間経ったかどうか調べるだけで
PHP側でmktime使ったりとかもよくある(INTERVAL 1 dayとかdatediffとか知らない)
(この程度なら体感できる差はでないけど)
あとは無駄に凝ったJavaScriptを書いて、クライアント側で負荷がかかるとかも多い
もちろんPHPは関係無い
PostgreSQLが未だに「VACUUMするだけで早くなった」というのが多いのと同様に
php.iniとhttpd.confの設定と、アクセラレータ使うだけで問題解決の場合も結構多い
0733nobodyさん
2010/09/15(水) 13:59:16ID:tjiwRP0qかわるさ。
別にPerlだろうがPHPだろうがRubyだろうがJavaだろうが
好きなものを使えばいい。
0734nobodyさん
2010/09/15(水) 14:03:18ID:???0735nobodyさん
2010/09/15(水) 14:34:48ID:???0736nobodyさん
2010/09/15(水) 14:36:06ID:???0737nobodyさん
2010/09/15(水) 15:31:08ID:???<?php
if(a$ = 1){
print "a$ は " + a$ + " です。":
}then{
exit():
}else{
b$ = *a:
a++:
print a:
}
?>
0738737
2010/09/15(水) 15:35:18ID:???■ このスレッドは過去ログ倉庫に格納されています