【PHP】下らねぇ質問はID出して書き込みやがれ 85
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/06/15(月) 22:53:52ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0050nobodyさん
2009/06/18(木) 09:36:37ID:???それかPHP内でmysql_set_charsetを使用するか
でも実際には今の設定で文字コードがらみは問題ないと思うけど、文字化けとかするの?
005144
2009/06/18(木) 11:43:41ID:+GbpfhSzおっしゃる通りphp内でコネクトするたびに
mysql_set_charset("eucjpms");
ってすると化けません。
しないと???となって化けてしまうんです。
化けるってことは何か設定がおかしいのかな?と思いまして
0052nobodyさん
2009/06/18(木) 11:48:46ID:???show variablesはシステムの設定ってだけ。
文字コードはテーブル毎や、カラム毎に設定できるので
そっちがlatinになってるだけだと思う。
SHOW CHARACTER SET
とかでググるとよいと思う。
005344
2009/06/18(木) 12:30:55ID:+GbpfhSz結局
ALTER TABLE hoge.hogehoge DEFAULT CHARACTER SET eucjpms;
ってすると化けなくなりました。
…ということはこれは、すべてのテーブルに対してしなきゃいけないってことですね。
そもそも、my.cnfでEUCで指定してたから大丈夫だと思ってたんですけど、
実は、そうではなかったということでしょうか。
0054nobodyさん
2009/06/18(木) 12:39:13ID:???0055nobodyさん
2009/06/18(木) 13:37:45ID:gqLHvinHダメだったんすよ
しかもmy.cnfに指定してるから大丈夫だとタカを
くくってしまってました。
0056nobodyさん
2009/06/18(木) 13:54:30ID:???ここ読んで出来ないなら知らん
mySQLのバージョンが上がって文字化けしやすくなった件
http://heeha.ws/index.php?DB%B4%D8%B7%B8#cebc24b2
0057nobodyさん
2009/06/18(木) 13:55:50ID:???005844
2009/06/18(木) 20:38:57ID:+GbpfhSzおかげで解決できました。
0059nobodyさん
2009/06/19(金) 01:53:03ID:h2rW+CLw<?php
function fc1(){}
function fc2(){}
function fc3(){}
?>
て感じで
そういう例をマニュアル本で見たことないので、何となくClassの体裁をとって外部化したものの
クラスにする理由がない代物を作ってしまったことがあります
あと、クラスと関数の違いって値を保持できるかどうかってだけなんでしょうか?
あるサイトを見るとそう書いてあったんですがそれだけじゃ今イチありがたみがないというか。。
0060nobodyさん
2009/06/19(金) 02:04:02ID:???0061nobodyさん
2009/06/19(金) 02:15:36ID:???何となく格好良く見えるのがオブジェクト指向プログラミング
006259
2009/06/19(金) 03:01:01ID:h2rW+CLwありがとうございます
難しいなあ、クラスの使い方ですが
例えば同じDBから同じユーザとパスワードで、複数のテーブル固有の情報を引き出すのに、
DB設定に必須の部分(ユーザ名とパスワードなど)をメンバ変数としてもたせて、
「個別の情報を引き出す処理」をそれぞれ専用のメソッドとして動かせば良いんでしょうか?
Class GetData{
var $db = ****;
var $userName = ****;
var $password = ****;
function __construct(){
//DBに接続処理
}
function getInfo1(){
//個別の情報1を取得する
}
function getInfo2(){
//個別の情報2を取得する
}
}
こんな感じでしょうか。
こんな例だと重複する処理を省けるくらいしか単独のfunction関数と比べたメリットない気が…
やり込んだらわかるんですかねー
0063nobodyさん
2009/06/19(金) 03:03:05ID:???006459
2009/06/19(金) 03:14:48ID:h2rW+CLw本読むだけでも読んでみようかなぁ
0065nobodyさん
2009/06/19(金) 05:07:42ID:???情報の抜き出しに時間がかかっています。
for () {
array_mapで会員IDのみにしてarray_searchやin_arrayなども試してみましたが相変わらずで訳あってDBも使えないので困っています。
何か良い方法は無いものでしょうか?
0066nobodyさん
2009/06/19(金) 05:15:41ID:1u+RZNQNコードは以下の通りです。
$mfile = file("id.dat");
$count = count($mfile);
for($i=0;$i<$count;$i++)
{
if($id == substr($mfile[$i], 0, 10)){
$data = $mfile[$i];
break;
}
}
0067nobodyさん
2009/06/19(金) 05:53:20ID:???$fp = fopen("id.dat", "r");
while (!feof($fp))
{
$line = fgets($fp, 1024);
if (strstr($line, $id) === 0) {
break;
}
}
fclose($fp);
echo $line;
早くなるかしらないけど。
0068nobodyさん
2009/06/19(金) 09:28:05ID:???>haystack の中で needle が最初に現れる場所から文字列の終わりまでを返します。
しかも
>注意: もし特定の haystack に needle があるかどうかを調べるだけの場合、 より高速でメモリ消費も少ない strpos() を代わりに使用してください。
0069nobodyさん
2009/06/19(金) 09:35:21ID:jp3LKqpN【PHPのバージョン】php4
【連携ソフトウェア】oracle
【質問内容】
http://www.spencernetwork.org/memo/tips-5.php
を参考にボタンを押してダウンロードする処理を作成しました。
ダウンロードは行えるのですが、その後に何か処理をしようとすると
HTMLがくずれて?ソースだけが表示されるようになります。
表示されたソースは 処理前のHTM L+ 処理後のHTML になって
いるようです。
おそらく最上記の処理内でHTTPヘッダをいじくってるので
その関連だとは思うのですがどうもうまく行きません。
回避策をご教授願えますでしょうか?
0070nobodyさん
2009/06/19(金) 09:58:52ID:???ファイルに/etc/passwdとか指定される恐れあるから結局指定されたファイルのチェックを自前で書く必要がるし
007169
2009/06/19(金) 10:46:30ID:jp3LKqpNそうですか・・。
全く素人なのでどういったものが参考になるか分からないです。
なにかよい方法はありますか?
0073nobodyさん
2009/06/19(金) 13:21:28ID:???このfunctionに渡すファイル名をどう扱うは考えないといけないけど。
このfunction自体は問題ないだろ?
007469
2009/06/19(金) 17:45:11ID:jp3LKqpN0075nobodyさん
2009/06/19(金) 17:47:14ID:???0076nobodyさん
2009/06/19(金) 17:57:33ID:dM+wXKpC「自動転送設定がループしている」
のようなメッセージが出るのですが、これは何が原因なのでしょうか?
一度前の画面に戻って再度リクエストすれば元に戻っていたりもします。
0079nobodyさん
2009/06/19(金) 23:07:52ID:???>こんな例だと重複する処理を省けるくらいしか単独のfunction関数と比べたメリットない気が…
そのクラスを使う人が、「$dbとか$userNameっていうのを意識しなくてもいい」
っていうのはどうだろう。
var → private
にするとどうなるか、って考えてみるとか。
。。。一回作って終わりっていうんなら、あんまりメリットは感じないかもね。
そのクラスを使いまわしたりするようになるとなんとなく納得するかもしれない。
0080nobodyさん
2009/06/20(土) 01:07:56ID:???文字通りの意味。header()とかで何度も同じページにリダイレクトするとそうなる。
FirefoxにLiveHttpHeader拡張でも入れてアレコレ試してみたら?
0081nobodyさん
2009/06/20(土) 06:50:03ID:???クラスとかオブジェクト指向ってのはいわゆる整理整頓みたいな事だし
感覚としてはそんな感じじゃないかな
一言で言うとメンテのしやすさかね。
ステップ数が膨大になってきても
$user->getInfo();
$article->getInfo();
みたいにシンプルな命名ができるし
$a = new Hoge();
$a = new Hage();
と違う2つのクラスがあっても呼び出すところでは
$a->getInfo();
と、重複する処理をfunctionにまとめたように、インスタンス化すれば
呼び出す所の処理の重複もまとめられるわけ。いわゆるポリモーフィズム
あとは、>>79 の言う private とかでクラス外に存在を隠せるということ。
privateなメンバーはクラス内だけのグローバル変数的な扱いもできるし
クラス内からしか呼ばれないという保証があるので
変更が加わる際でも調査する手間がかかりにくい。
実装を隠蔽することで責任の所在も明確になるからバグがあっても
原因を特定しやすい。
デメリットはクラス数が増えてIDEがないとしんどいとかかな。
と、うちの一年生に説明する練習。
0082nobodyさん
2009/06/20(土) 06:53:16ID:???0084nobodyさん
2009/06/20(土) 07:18:38ID:???0085nobodyさん
2009/06/20(土) 08:10:10ID:???この状況の中、政府自民党は外交的になすすべなく、
しかも、景気を冷ます増税路線を打ち出しています。
かたや、民主党は、北朝鮮を増長させるだけの「友愛外交」を主張し、
経済に関しても将来の増税が避けられないバラマキ政策を打ち出しています。
0086nobodyさん
2009/06/20(土) 15:02:26ID:9LLAIagyデータベースの中を空にしたいです。
やはり検索してからphpで文を組み合わせてdrop table テーブル1,テーブル2,・・
という具合にしなければいけないですかね。おねがいします
0087nobodyさん
2009/06/20(土) 15:05:15ID:???0088nobodyさん
2009/06/20(土) 16:10:09ID:9LLAIagyすいません書き忘れてしまいました
レンタル鯖でdrop databaseが禁止されていてその方法が使えなかったんです・・
create databaseもむりでした。drop tableだけはいけました
0089nobodyさん
2009/06/20(土) 16:36:46ID:???show tables
してそれぞれdropすればいいじゃん
0090nobodyさん
2009/06/20(土) 16:56:06ID:9LLAIagyそれでいけそうです
やってみます
ありがとうござました
0091nobodyさん
2009/06/20(土) 20:07:20ID:???今Linux上でphp5.2.5をインストールして下記のように記述してます。
$rssurl = "http://dailynews.yahoo.co.jp/fc/rss.xml";
$rssdata = simplexml_load_file($rssurl);
print convert($rssdata->channel->title);
でも、simplexml_load_fileの部分で
Fatal error: Call to undefined function simplexml_load_file()がでます。
PHP5だとsimplexml_load_file()が使えるはずなんですけど
なんで呼べないのかわからない状態です。
知ってる人いませんか?
0092nobodyさん
2009/06/20(土) 20:30:53ID:???0093nobodyさん
2009/06/21(日) 19:30:41ID:eYkB7H28phpの関数名や引数に「&」を付けているのを見かけたのですが、
これはどのような意味なのでしょうか?
function &fetch( ObjectFetcher &$objects);
ご教授下さいm(__)m
0094nobodyさん
2009/06/21(日) 19:36:37ID:???0095nobodyさん
2009/06/21(日) 21:59:34ID:???0096nobodyさん
2009/06/22(月) 16:45:51ID:HPmTjla5【PHPのバージョン】php5.26
【質問内容】
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20080508/301027/
にあるコードを使って
同じ内容のメールを返させるのとファイルに保存するようなのを書き足したPHPファイルをつくったんですけど
メールが返ってくるところまではうまくいったんですけど(内容もちゃんと)
ファイルに保存がうまくいきません
mail($mail_address,,$diary_subject,$diary_body);
write("dat/test.dat",array($diary_subject,$diary_body));
------------------------------------------------
function write($filename, $input)
{
$input=serialize($input);
$fp=fopen($filename,"w");
flock($fp, LOCK_EX);
fputs($fp, $input);
flock($fp, LOCK_UN);
fclose($fp);
}
ちゃんとdatはchmod 733してあります。
何が原因になりそうでしょうか?
0097nobodyさん
2009/06/22(月) 16:50:18ID:???0098nobodyさん
2009/06/22(月) 16:57:00ID:HPmTjla5でけたw アリガト♪
けど、なぜフルパスなのかがわからん(´ェ`)
0099nobodyさん
2009/06/22(月) 17:29:11ID:???0100nobodyさん
2009/06/22(月) 17:41:01ID:???0101nobodyさん
2009/06/22(月) 17:59:36ID:???010297
2009/06/22(月) 18:17:23ID:???そのユーザのホームディレクトリから見てdat/test.datに書き出す処理をしている
0103nobodyさん
2009/06/22(月) 20:14:54ID:???対処法は無いの?
010497
2009/06/22(月) 20:20:25ID:???0105nobodyさん
2009/06/22(月) 20:26:05ID:EjMUz/ox微々たるもんですが、Perlを少しいじった事があったので
PHPの勉強の為、Perl→PHPへ移行しています。
で、その中でどうしても分からない部分がありましたので質問させて頂きます。
read(STDIN, $alldata, $ENV{'CONTENT_LENGTH'});
このPerlをPHPに変換するとどうなるのでしょうか?
お手数ですがよろしくお願いいたします。
0106nobodyさん
2009/06/22(月) 20:38:05ID:HPmTjla5/etc/aliasesに書いたコマンドラインのエラーメッセージを
ファイルに出力させようとしたけどなんかうまくいきませんでした
(foo: "| /usr/bin/php /home/foo/mail.php >/tmp/error.log")
ので、エラーがなんなのかわかりませんでした><
>>102
そうみたいですね
メールでgetcwdの結果を返させたら
/var/spool/postfixになってました。
で、違う問題が浮上したんですけどよろしいですか?
これで作ったファイル(test.dat)の所有者・所属グループがnobdy nobodyになってるんですけど
これってどうやったら設定返れますか?><
(たぶん、自分が聞いてるのはaliasesで設定したコマンドを実行してるユーザーは誰なのか?)
自分がしたいのはapacheが作ったファイルに メールででも書き足しできるようにしたいんですが。
0107nobodyさん
2009/06/22(月) 20:41:07ID:HPmTjla5010896
2009/06/22(月) 21:09:32ID:???0110nobodyさん
2009/06/22(月) 21:28:31ID:???http://stackoverflow.com/
で聞いてみよう。
011297
2009/06/22(月) 21:42:50ID:???nobodyユーザでchmod("/path/to/file", 0777);を実行させればできると思う
>>105
URLデコードはPHPでは自動でしてくれるから$_POST['key']みたいにアクセスできる
0113nobodyさん
2009/06/22(月) 22:36:12ID:iiTIgfBL誰か解決策わかる人いませんか?
92>>
ロードしてないからって何をロードです?
できれば具体的な方法を教えて頂けると助かります。
0114nobodyさん
2009/06/22(月) 22:37:21ID:JP1gh/Ozの送りボタンを作成したいんですが、どう作ればいいのでしょうか。
答えのサイトどっかしりませんか。
例では、35件データがあった場合
最初の画面が20件、次は15件表示されます。
pearありとなしで作り方お願いします。
0115nobodyさん
2009/06/22(月) 22:47:42ID:???0117105
2009/06/22(月) 23:00:28ID:EjMUz/ox早速ありがとうございます。
ちなみに質問方法が悪かったですね。
$_POST['key']のkeyにあたる部分の数が多い、または決まっていないなどで指示できないのです。
で、たとえば$_GET['key']のkeyが不確かな場合は
$_SERVER["QUERY_STRING"];でクエリから抽出すればいいのですが
POSTの場合はどうすればいいのかなぁ?と思い
質問させていただきました。
お手数ですが再度、よろしくお願いいたします。
0118nobodyさん
2009/06/22(月) 23:02:03ID:???echo $value;
}
0119105
2009/06/22(月) 23:18:00ID:EjMUz/oxありがとうございます!
無事にできました。
また何か分からない事がありましたらよろしくお願いいたします。
本当にありがとうございました。
0122nobodyさん
2009/06/22(月) 23:35:36ID:???0123nobodyさん
2009/06/22(月) 23:56:26ID:???0124nobodyさん
2009/06/23(火) 00:04:19ID:???echo $value;
}
まじですかwwwww
こんなの初めて見ました
0126nobodyさん
2009/06/23(火) 00:12:42ID:???サーバー1台で運用中で、できるだけダウンタイムを短くしたいと思ってます。
・configure
・make
・make test (一応)
・httpd stop
・make install
・httpd start
こんな感じかと思ってますがどうでしょう
0127nobodyさん
2009/06/23(火) 00:55:44ID:???0128105
2009/06/23(火) 01:59:17ID:eAPItn6A私もです。
調べても分からない事は、素直に聞くべきですね。
本当に勉強になりました。
0130nobodyさん
2009/06/23(火) 05:20:28ID:fbX2StFR$hoge = "abc";など複数の変数や定数が定義されてて、
それを別の.php内のクラスの中で読み込むとします
class myClass{
require 'inc.php';
}
ここで、このクラス内に読み込まれた変数・定数にprivate属性?を設定するには
どうしたらいいですか?
DBの接続情報などが書いてあるので、インスタンスから見られる可能性は消したいんです
考え方がおかしかったら、それについても一言もらえると嬉しいです。
0133nobodyさん
2009/06/23(火) 10:57:26ID:hM5iLPbbhttp://〜の場合は付加してくれません。(たぶん、外部リンクへの配慮かと思うが・・・)
SSL通信をはさむ場合、セッションIDは手動で付加するべきなのでしょうか
0134nobodyさん
2009/06/23(火) 11:40:11ID:???echo htmlspecialchars($value, ENT_QUOTES);
}
しないとセキュリティホールになるよ。
0135nobodyさん
2009/06/23(火) 12:24:13ID:26Ndjc+C【OS名】CENTOS
【PHPのバージョン】わかんね、4.xだと思う
【連携ソフトウェア】mysql
【質問内容】
テーブルAにはお店のIDとお店の名前とか、テーブルBにはお店のIDと販売アイテムとかが入ってる
んで
$test = "SELECT `SHOPID`, `ITEMS`, FROM `TABLEB` ";
$test2 = mysql_query($test);
$test3 = mysql_fetch_assoc($test2);
echo $test3['SHOPID'];
って書くと当然1とか2とかで表示されちゃう
これをテーブルAを参照してお店の名前を表示したいんだけどどうすればいい?
0136135
2009/06/23(火) 12:25:59ID:26Ndjc+Cマルチするわけにもいかないんで多めに見てくだしあ
0137nobodyさん
2009/06/23(火) 12:40:43ID:???SELECT a.shopid,a.shopname,b.items
FROM tablea AS a,tableb AS b
WHERE a.shopid = b.shopid
0138nobodyさん
2009/06/23(火) 12:41:59ID:???0139nobodyさん
2009/06/23(火) 13:30:29ID:???0140nobodyさん
2009/06/23(火) 14:24:41ID:???0141nobodyさん
2009/06/23(火) 14:25:30ID:hM5iLPbb0142135
2009/06/23(火) 14:47:09ID:26Ndjc+Cあざーっす
次から気をつけます
0143nobodyさん
2009/06/23(火) 18:49:10ID:???0144143
2009/06/23(火) 18:53:44ID:w/0G3XQg質問なんですが、クラスのインスタンス生成時、
$obj = &Log::factory();
$obj =& Log::factory();
アンパサンドの位置が異なることで処理はどのように変わるんでしょうか?
同じですか?
0145nobodyさん
2009/06/23(火) 21:31:14ID:KCXdMJjNこれを取り出す際に<pre>〜</pre>の中身を\nに戻して取り出したいです.
<pre>〜</pre>が複数ある場合や,入れ子になってる場合にも使える方法ありませんか?
よろしくお願いします.
0146nobodyさん
2009/06/23(火) 21:45:11ID:???0147nobodyさん
2009/06/23(火) 21:47:10ID:???0148nobodyさん
2009/06/23(火) 23:25:35ID:???面倒くせえから、丸ごとDOMにぶち込んでXPathで処理。
0149nobodyさん
2009/06/24(水) 00:21:17ID:QqjFg27f■ このスレッドは過去ログ倉庫に格納されています