【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等)・フレームワークは各該当スレへ
002421
2009/06/17(水) 10:01:40ID:???ありがとうございます
さっそくやってみて、postさせることができました。
require_once 'HTTP/Request.php';
$req = new HTTP_Request( "URL" , array( "timeout"=>2 ) );
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addPostData( "key" , "pass1" );
$req->addPostData( "key2" , "pass2" );
$req->sendRequest();
という風にしてみたのですが、sendRequestだと、
ttp://sandman.s6.xrea.com/nucleus/index.php?itemid=48
にも書いてあるように、送った先の処理が終わるまで、こちらは待っていなければならないみたいなのです。
sendだけするようなものはないのでしょうか・・
もしくはsendして数秒たってから、Requestをまたずに中断して先に進めるようにしたいのですが・・
もう少し勉強してみますありがとうございました。
002721
2009/06/17(水) 10:12:24ID:???さきしらべていたら、timeoutのところをreadtimeoutでできました・・
ありがとうございました。
0029nobodyさん
2009/06/17(水) 11:22:30ID:PMErRJxcクラスを使わない場合で
function hoge()
{
$name = $_POST[ "form_name" ];
}
function mail()
{
$_hogehoge = mb_substr( $name ..............
}
ユーザー関数間で、変数を取り扱うにはどうしたらいいのでしょうか?
globalはユーザー関数の外で有効ですよね?
$_POSTを使い回せば良いとは思いますが
任意の変数名に入れて持ちまわすことは出来ないのでしょうか?
0031nobodyさん
2009/06/17(水) 11:38:46ID:???function hoge(){
$name = $_POST[ "form_name" ];
return $name
}
function mail($name){
$_hogehoge = mb_substr( $name.....
}
//main
$name = hoge();
mail($name);
0032nobodyさん
2009/06/17(水) 14:09:24ID:QWeUGdqP何処をどうしたらいいでしょうか?
http://idol.nm.land.to/
よろしくお願いします<m(__)m>
0033nobodyさん
2009/06/17(水) 14:31:01ID:???「PHP」を「勉強」したらよいです
自分でやってどうしても出来ない分からないところだけここで人に聞きなさい
「読めないからかわりに読んで」なんてのは論外です
0035nobodyさん
2009/06/17(水) 15:05:37ID:???そうやって空気悪くなって過疎って行ったスレだらけじゃねーか。
答えたい奴だけが答える、答えたくない奴はスルー、それが出来ない奴はこのスレに2度と書き込むな。
0036nobodyさん
2009/06/17(水) 15:09:27ID:???とりあえず
ttp://www.google.com/search?hl=ja&num=50&q=php+%E3%82%AF%E3%83%83%E3%82%AD%E3%83%BC+%E5%85%A5%E9%96%80&lr=
でも読んで疑問があれば再度。
0037nobodyさん
2009/06/17(水) 15:14:52ID:???あん?なめてんのクズが。
下に改造用スレがあるだろうが。
「何処をどうしたらいいでしょう」とかキチガイみたいな事言う前に下で聞いてこい。
http://pc11.2ch.net/test/read.cgi/php/1222645553/
0038nobodyさん
2009/06/17(水) 15:22:44ID:???003932
2009/06/17(水) 16:01:36ID:???とりけします
0040nobodyさん
2009/06/17(水) 16:31:40ID:???0041nobodyさん
2009/06/17(水) 17:24:45ID:tSVJeFRVhttp://hogehoge.jp/hoge/以下のhtmlを全てPHPとして認識させるには
Apacheの設定ファイルをどのように変更すればよいのでしょうか?
当方RHE3 PHP4です
0042nobodyさん
2009/06/17(水) 17:26:40ID:???0043nobodyさん
2009/06/17(水) 18:06:12ID:???マニュアルにご丁寧に書いてあるぞ。
http://www.php.net/manual/ja/security.hiding.php
0044nobodyさん
2009/06/17(水) 22:42:05ID:7VboH98imysql5で
mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | eucjpms |
| character_set_connection | eucjpms |
| character_set_database | eucjpms |
| character_set_filesystem | binary |
| character_set_results | eucjpms |
| character_set_server | eucjpms |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
でちゃんとEUCになっていると思うんだけど
phpから
mysql_client_encoding()
ってしたらlatin1ってかえってくるの・・・
my.cnfにもいたるところにeucjpmsってかいたのに。
もう3日も悩んでいるので、助けてほしい・・・
0045nobodyさん
2009/06/17(水) 23:47:45ID:???stackoverflowで質問しましよう
http://stackoverflow.com/
0046nobodyさん
2009/06/17(水) 23:53:49ID:???MySql良く知らんが、
>character_set_system | utf8
のままだよ。
また、
http://jp.php.net/manual/ja/function.mysql-client-encoding.php
のコメント欄に、
> if you think "set names utf8" for each connection is too
> trouble, you can modify my.cnf of MySQL to solve the problem
> forever. In my.cnf, add the line "default-character-set=utf8"
> in both [mysqld] and [client] sections:
>
> [client]
> default-character-set=utf8
> [mysqld]
> default-character-set=utf8
> The MySQL will use utf8 after you restart it.
って、書かれてるけど試してみた?
0048nobodyさん
2009/06/18(木) 07:31:46ID:???だろうね。
三点リーダーの使い所もおかしいし。
高校でレポートとか小論文ぐらい書かされなかったのかな。
学校で習わなくてもビジネス文書の書き方は入社時に叩き込まれるはずなんだが。
004944
2009/06/18(木) 08:29:04ID:+GbpfhSzありがとう
utf-8にしてもダメだったんだ
>>47
[mysqld]には
default-character-set = eucjpms
skip-character-set-client-handshake
init-connect=SET NAMES eucjpms
って入れてるんだけどなぁ。
mysql_client_encoding()がなんでlatin1になるんだろう
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:???■ このスレッドは過去ログ倉庫に格納されています