【PHP】下らねぇ質問はID出して書き込みやがれ 116
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/02/26(日) 11:49:58.54ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 115
http://kohada.2ch.net/test/read.cgi/php/1327005803/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0315nobodyさん
2012/03/06(火) 02:29:22.85ID:???$aが具体的に何を表すのか知らんが
そういう時はクラスのプロパティとして$aを保持してればよくね
色んなことを一行で表現するより論理ごとに別れてた方がきれい
class Test
{
private $_a
public function __construct($a)
{
$this->_a = $a;
}
public function hogeA($b)
{
//$this->_aに対する操作(適当に条件分岐させろ)
}
public function getA()
{
return $this->_a;
}
}
$Test = new Test('test value');
$Test->hogeA('test value 2');
echo $Test->getA();
0316nobodyさん
2012/03/06(火) 02:33:23.32ID:???echo $Test->hogeA('test value 2')->getA();
0317nobodyさん
2012/03/06(火) 03:09:12.21ID:???って277が言ってました
0319277
2012/03/06(火) 11:20:30.82ID:???0320nobodyさん
2012/03/06(火) 11:28:04.77ID:???0321nobodyさん
2012/03/06(火) 12:03:37.64ID:???0322nobodyさん
2012/03/06(火) 12:30:12.85ID:???$a = func($b) !== "なにもしない" ?: $a;
0323nobodyさん
2012/03/06(火) 13:03:27.31ID:???>>277
どうしてもそうしたいならglobal $a;かけろ。
そうすりゃhoge($b)だけで済むじゃん。
珍回答だけど、珍質問相手だから勘弁しろ。
0324nobodyさん
2012/03/06(火) 13:39:12.01ID:???0325nobodyさん
2012/03/06(火) 14:14:26.77ID:???$a = hoge($b); と hoge($a,$b); 同程度の文字数だし。
0326nobodyさん
2012/03/06(火) 14:18:10.19ID:???0327nobodyさん
2012/03/06(火) 14:48:41.70ID:???メアドとか(DBとかの)パスワードとか書いてるのもあったり、危ねえ。
みんなパスワードをソースに書くのか?
0328nobodyさん
2012/03/06(火) 14:59:27.02ID:???0329nobodyさん
2012/03/06(火) 15:14:11.99ID:???入門レベルの参考サイトを見てまねたんじゃないかな。
勉強はじめた時に、直書きから、外部にして〜って段階ふんで習った?記憶がある
0331nobodyさん
2012/03/06(火) 17:37:35.48ID:???public_htmlより↑ってこと?
0332nobodyさん
2012/03/06(火) 17:52:32.49ID:???まあ上に置けるなら置けばいいけど
ちゃんと鯖側で設定してるのが大前提だし気にする必要はないのではないか?
きちんと設定していないという状況がもうアウトなわけで
その設定できてないことに対する予防措置をとろうとするのはどうかと思うわ
0333nobodyさん
2012/03/06(火) 18:00:09.81ID:???0334nobodyさん
2012/03/06(火) 18:10:16.63ID:???0336nobodyさん
2012/03/06(火) 18:33:59.81ID:???強気でいくのだ何事も
0337nobodyさん
2012/03/06(火) 18:37:26.26ID:???0338nobodyさん
2012/03/06(火) 18:42:18.15ID:???お決まりのphpmyadminとかしか見てないから安心だ
下に桶
0339nobodyさん
2012/03/06(火) 18:47:59.27ID:sDRjkI45別のページに情報を引き継ぐ
$_GET
URLに情報を添付して別のページにデータを引き継ぐ
$_SESSION
サーバーに一定時間 データを保存してデータを引き継ぐ
こんな感じの理解であってますか?
0340nobodyさん
2012/03/06(火) 19:20:01.18ID:???静脈認証も安心できない? 大根で作った偽造指で認証に成功
ttp://itpro.nikkeibp.co.jp/free/NC/NEWS/20050701/163801/
0341nobodyさん
2012/03/06(火) 19:30:06.18ID:???とりあえず初歩の理解としてはそれで十分だけど、ちょと違うっちゃ違う。
POSTはいったんクライアントに全部情報を収容した上で
次のページにアクセスする際に全部投げ返してる。
GETも似たようもなもんだけど、URL経由で投げ返してるところがPOSTと違う。
SESSIONは、一定時間かどうかは設定次第で、何も設定しないノーマル状態だと
ブラウザが終了したとき、SESSIONも一緒におなくなりになる。
なお、データ保存先はサーバであって、クライアントはそれを取り出す鍵だけ持つ形になる。
0343nobodyさん
2012/03/06(火) 19:37:32.49ID:???パラメータつきのURLからとか、プログラムからデータ送るとか
元がページじゃないことも。
0344nobodyさん
2012/03/06(火) 19:42:30.33ID:wqn36gVqphpではSESSIONにクラスは格納するのはあまり無いことでしょうか?
0345nobodyさん
2012/03/06(火) 19:45:29.73ID:???0346nobodyさん
2012/03/06(火) 19:57:55.72ID:???0347nobodyさん
2012/03/06(火) 21:16:48.12ID:W+3fB5k3FFでは文字化けしないのですが、何故かIE8で文字化けしてしまいます。
文字コードはhtmlもphpもutf8です。
さっぱりわかりません。助けとください。
0348nobodyさん
2012/03/06(火) 21:25:47.70ID:???Ajaxで取りに行った先に更にバックエンドがあったりしないの?
Ajaxで取りに行った先で取得しているデータが別の文字コードになってたりとか。
つか、スレチじゃないか。もしかすると。
0349nobodyさん
2012/03/06(火) 21:32:22.48ID:???0350nobodyさん
2012/03/06(火) 21:38:43.76ID:???0351nobodyさん
2012/03/06(火) 23:09:20.18ID:qtKZw4aa0352nobodyさん
2012/03/06(火) 23:14:21.02ID:???0353nobodyさん
2012/03/06(火) 23:38:32.05ID:qtKZw4aaサーバー内部で転送する方法はありませんか?
0354nobodyさん
2012/03/06(火) 23:46:49.16ID:???0355nobodyさん
2012/03/06(火) 23:48:21.52ID:???0358nobodyさん
2012/03/07(水) 00:07:19.07ID:???ちなみにこのようなエラーが出ます
Warning: fopen(counter.txt) [function.fopen]: failed to open stream: No such file or directory in C:\inetpub\wwwroot\study\counter1.php on line 10
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\inetpub\wwwroot\study\counter1.php on line 28
count:
参考にしたソースはこれです
http://www.phpbook.jp/appli/accesscounter/counter1.html
0359nobodyさん
2012/03/07(水) 00:13:38.01ID:???fopen('counter.txt')
0360nobodyさん
2012/03/07(水) 00:19:46.54ID:???処理結果が元に戻ってくるとは?
サーバー内部で転送・・・ a.phpで中身というか、内容がb.phpでしょ?
a.phpに受けたリクエストもb.php(のスクリプト)で処理するんだし。
a.phpで受けたリクエストなんかの条件?にしたがって include("b.php")と。
0361nobodyさん
2012/03/07(水) 00:31:18.69ID:???・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること
0362nobodyさん
2012/03/07(水) 00:38:49.22ID:???フォーワードって何かわかってる?
それだったらインクルード前とインクルード後の結果が
同時にクライアントに送信されるでしょ?
0363nobodyさん
2012/03/07(水) 00:40:46.45ID:???0365nobodyさん
2012/03/07(水) 00:44:19.07ID:???0366nobodyさん
2012/03/07(水) 00:47:21.19ID:???あの、インクルードとフォーワードは違うと思うけど・・・。
他の言語知ってればそんな答えにはならないよ。
0367nobodyさん
2012/03/07(水) 01:15:48.01ID:428syFfxファイル名やパスとしてユニコードを使いたい&MAX_PATHを超えたいので調べたところ、
以下のページでUTF-16でファイル名等を指定するとOKだとわかりました。
ttp://old.nabble.com/-PHP-users-30742--Windows-%2B-PHP-%E3%81%A7-UTF-8-%E3%82%92%E6%89%B1%E3%81%86-td7426214.html
しかし、自分の環境でSJIS以外エラーになるので、いろいろ実験したところ
使用中のPHP5.3.8だとダメで、古いPHP4.4.9だとOKになることが判明しました。
新しいPHPではUTF-16によるファイルシステムの呼び出しが無くなったのでしょうか?
それとも私の設定が悪いのでしょうか...。
情報をいただけるとありがたいです。
0368nobodyさん
2012/03/07(水) 02:51:31.54ID:???いや、フォワードを実装するなら、そんなことにはならないよ。というか、しない。
すごくシンプルな実装をするなら
<?php
if (〜) include('a.php');
else include('b.php');
?>
0369nobodyさん
2012/03/07(水) 03:04:32.31ID:???.htaccessに
RewriteRuleをどのように書いたらいいかわかりません。
http://abc/xyz.php を http://abc/xyz.html
にしたいのですが、サイトを見てまわりましたが
わかりませんでした、
動的を静的にするもっと複雑なリダイレクトの
サンプルばかりで・・・
方法を教えてください。
0371nobodyさん
2012/03/07(水) 03:34:33.26ID:???複雑なサンプルがいやってことならマニュアルにシンプルな例がのってるよ。
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
0372nobodyさん
2012/03/07(水) 07:05:42.07ID:WdbH+KTkデータを更新(update)するときにタイムスタンプが新たに押されるの
ですが、レンタルサーバー上では、データ更新の際にタイムスタンプが
更新されません。どうしたらいいのでしょうか?
0373nobodyさん
2012/03/07(水) 07:52:23.06ID:???0375nobodyさん
2012/03/07(水) 09:22:13.01ID:???http://dev.mysql.com/doc/refman/4.1/ja/datetime.html
>>373
いい加減、スクリプト停めてよ
0377nobodyさん
2012/03/07(水) 09:55:31.02ID:???rewrite 書き換え前のパス 書き換え後のパス
書き換え前は正規表現になるから気をつけてなー。
引数引き継ぎたいなら、引き継ぎたい文字列が入る部分に()つけて、後ろのほうは$1とか$2とかつけてやれば引き継ぐから。
まぁ、今回はいらんみたいだが。
0378nobodyさん
2012/03/07(水) 09:56:45.50ID:???フォーワードはやめようぜ。 4wordですか?
あなたこそ、ちゃんと検索してどういうものか調べたほうがいいのではないですか?
遷移とか変な概念があるから混乱するかもしれませんが、やってることは
a.phpってアクセスに対して、 b.phpの内容を実行して表示するだけですよ?
0381nobodyさん
2012/03/07(水) 11:05:48.60ID:???>>379
とんちんかんな質問相手にもめるのやめようぜ。
質問者も質問を是正・補足するのあきらめていなくなったようだし。
ID出してるのいなくなったべ。
0382nobodyさん
2012/03/07(水) 11:09:39.99ID:???0383nobodyさん
2012/03/07(水) 11:10:15.10ID:???URLによってソースが取得出来るものとできない物があって困っています。
例えば下のURLだと
$ch = curl_init('http://item.rakuten.co.jp/book/6414086/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$str = curl_exec($ch);
curl_close($ch);
echo $str;
結果
301 Moved Permanently
Moved Permanently
The document has moved here.
と表示されます。
どうすればいいでしょうか?
0386nobodyさん
2012/03/07(水) 11:24:54.34ID:???0387367
2012/03/07(水) 11:57:05.66ID:428syFfxどうやらそもそもPHP4でUTF-16のパスが使えるということが間違いだったようです...。
PHP4のファイルシステム関数にUTF-16のパスを与えると謎の既存ファイルを指すようで、
例えば、存在しないファイルでも file_exist はTRUEを返したりするようです。
お騒がせして申し訳ないです。
0388nobodyさん
2012/03/07(水) 12:54:36.25ID:???どうかお助けください。
0390nobodyさん
2012/03/07(水) 12:57:52.96ID:???implode explodeを使うべきってマニュアルのどっかにあったけど、そのURLを出せずにすまないと思う
0391nobodyさん
2012/03/07(水) 13:00:37.73ID:???なのでどっちでもいいけど、implodeのほうがいいよ
0392nobodyさん
2012/03/07(水) 13:20:40.59ID:???joinはエイリアスです
基本的にエイリアスの使用はやめましょう
>>390
エイリアスのページに書いてあります
0393nobodyさん
2012/03/07(水) 13:28:59.92ID:???0396nobodyさん
2012/03/07(水) 15:34:53.97ID:???http://engawa.2ch.net/test/read.cgi/poverty/1331095524/
0397nobodyさん
2012/03/07(水) 17:28:37.67ID:mMKjJQE+それは、どういうことですか?
0398358
2012/03/07(水) 17:29:42.47ID:mMKjJQE+0399nobodyさん
2012/03/07(水) 17:34:44.85ID:???文字列を渡したいならちゃんとダブルクォーテーションかシングルクォーテーションで囲うこと
0400358
2012/03/07(水) 17:38:38.70ID:mMKjJQE+$counter_file = 'counter.txt';
$fp = fopen($counter_file, 'r+');
これではダメということですか?
0401nobodyさん
2012/03/07(水) 17:46:02.26ID:???r+ってことは事前にファイルが無いとダメだが
実行時の権限で書き込めるファイルはそこにあるの?
0402nobodyさん
2012/03/07(水) 17:46:36.83ID:???0403nobodyさん
2012/03/07(水) 17:48:25.67ID:???0404nobodyさん
2012/03/07(水) 17:53:54.92ID:???0405358
2012/03/07(水) 17:55:36.26ID:mMKjJQE+ファイルを作成してみると、先程のエラーの代わりに今度はこのようなエラーが出るようになってしまいました。
Warning: fopen(counter.txt) [function.fopen]: failed to open stream: Permission denied in C:\inetpub\wwwroot\study\counter1.php on line 10
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\inetpub\wwwroot\study\counter1.php on line 28
count:
エラー文で検索してみると、権限がないとかどうとかで・・・。
一応このユーザーアカウントははUACも切ってて、何の制限もないはずです。どういうことですか?。
IISやPHP.iniの設定の問題でしょうか?
0406nobodyさん
2012/03/07(水) 17:57:01.71ID:???そのユーザーの書き込み権限をそのディレクトリに追加してやればいい
0407nobodyさん
2012/03/07(水) 17:57:58.91ID:???ならそのファイルの書き込み権限に追加、だな
0408nobodyさん
2012/03/07(水) 18:17:56.99ID:YWemLpkn0409nobodyさん
2012/03/07(水) 18:18:58.02ID:???0410358
2012/03/07(水) 18:23:58.41ID:mMKjJQE+ありがとうございます。その教えを頼りにググりつつ権限を追加する方法を模索していたのですが、
http://mizushima.ne.jp/Windows/HTTP/IIS/IIS-setting.php
のサイトの3枚目の画像、右クリックした時の選択肢が全く違いましてそこで止まってしまいました。
ちなみに私のパソコンでは既定のWebサイトではなくDefault Web Site(複数のプロトコル)になっていました
OSやバージョンの違いでしょうか?
それらしき項目を探してみたのですが見つからずでした・・。
OSは7でIISは7.5です。
0411nobodyさん
2012/03/07(水) 18:27:42.78ID:YWemLpknjavascriptさんの仕事内容教えていただけますか?
0412nobodyさん
2012/03/07(水) 18:30:10.33ID:???■ このスレッドは過去ログ倉庫に格納されています