【PHP】下らねぇ質問はID出して書き込みやがれ 112
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/10/31(月) 05:11:09.81ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 111
http://hibari.2ch.net/test/read.cgi/php/1317232566/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0079nobodyさん
2011/11/03(木) 02:39:20.91ID:???フェイスブックに問い合わせろや
0080nobodyさん
2011/11/03(木) 02:44:53.01ID:5engvLs9<form action="add.php" method="post">
<input type="text" key="k1" value="v1"/>
<input type="submit" value="send" />
</form>
ファイル名add.phpにて、このコードをそのまま実行して、サブミットすれば、
var_dumpでPOSTのデータが取れると思ったんですけど、出てきませんでした。
これってどこがおかしいのでしょうか?
008180
2011/11/03(木) 02:51:04.34ID:???ってかformはkeyじゃなくてnameだったな。
なんか、違う言語のキーワードか何かとごっちゃになってた
0082nobodyさん
2011/11/03(木) 10:18:48.53ID:???いわゆる各種ブログへのメール投稿をするプログラムを作成しました。
流れとしては・・・
1.レンタルサーバにその人の各種ブログ用の携帯投稿アドレスを登録しておく。
2.特定のアドレスにその人がデコメを送信する
3.メールをトリガにしたPHPを起動させ、TOを設定して各種ブログへ送信する
と言う物を作ってあります。
先日顧客の要望でアメブロを対応させてくれという話があったんですが、
アメブロは単純にアドレスを打つだけではダメなんでしょうかね?
他のブログはFromが指定アドレスになっていれば特にチェックしてないみたいでブログに反映しているのですが、
アメブロは携帯アドレスを細かくチェックしてるのか投稿が無視されます。
どのサーバから送られてきたとか、そういうのをチェックしているのかな?と考えました。
(偽装的な物のチェックだと考えて良いのですかね?)
少し調べましたがAtom?とかのAPIをPHPでプログラムして投稿するような事をしないとダメなんでしょうか?
それしか方法が無いなら顧客に日数ももらわないといけませんし・・・
あれこれ調べて見ましたが、API使用しか方法が無いのか確信が持てなかったので・・
もし何かヒントでもわかる方お見えでしたらよろしくおねがいいたします。
0086nobodyさん
2011/11/03(木) 11:39:25.06ID:gDPf6EbN前のページで$_SESSIONに自分のファイル名をいれておくことであっさり解決しました。
ありがとうございます。
0087nobodyさん
2011/11/03(木) 13:28:22.55ID:5qwbDYAW【PHPのバージョン】5.3.8
【連携ソフトウェア】Apache 2.2.15
urlルーティングしてくれるスクリプトを自分で作ろうと思ってます。
http://www.example.com/ を自サイトURLとして、http://www.example.com/page/param1/param2/というurlにアクセスすると
http://www.example.com/index.php にリダイレクトするようapacheのmod_rewriteで設定済みです。
index.phpの中にルーティングのロジックを書いているのですが、うまくいきません。
$request_uri = explode('/', $_SERVER['REQUEST_URI']);
$script_name = explode('/', $_SERVER['SCRIPT_NAME']);
$uri_info = array_diff_assoc($request_uri, $script_name);
$uri_info = array_values($uri_info);
上記のコードで実際にリクエストされたurl(www.example.com/page/param1/param2)と
実際にルーティングのロジックが動いているスクリプト(www.example.com/index.php)との
差分をとって、 /page/param1/param2 を取得しようと思ったのですが、
$request_uri と $script_name をvar_dumpすると、以下のような全く一緒の値がでてきてしまいました。
array(4) { [0]=> string(0) "" [1]=> string(4) "page" [2]=> string(6) "param1" [3]=> string(6) "param2" }
script_nameがうまく取得できないのですが、どうやったらうまく取得できるでしょうか?
0088nobodyさん
2011/11/03(木) 21:04:18.73ID:???0089nobodyさん
2011/11/03(木) 21:40:48.05ID:RHXIeUwE0090nobodyさん
2011/11/03(木) 21:54:04.74ID:???クライアントが要求してくるURLを取得するのだからrequest uriだけ使えばいいんだよ
その用途にscript nameを使う意味がわからない
0091nobodyさん
2011/11/03(木) 22:21:13.75ID:???009287
2011/11/04(金) 02:04:59.05ID:tFL/lOhGhttp://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/
を参考に勉強のために作っています。
>>90
よくよく考えてみれば、確かにscript name必要ないかも・・・
定数でindex.phpの配置パスを定義しておけば問題ありませんね
>>91
array_diff_assocって使わないほうがいいのでしょうか?
どうしてなんでしょう?
0093nobodyさん
2011/11/04(金) 11:39:06.39ID:hpR+oaep【質問内容】 どうにもこうにもNoticeがとまらない
if(count($limitid) > 0) {
foreach($limitid as $include) {
for($i=0; $i<count($obj); $i++) {
if($obj[$i]->term_id == $include) {
array_push($cat, $obj[$i]);
break;
}
}
}
$obj = $cat;
}
Notice: Trying to get property of non-object in (四行目)
ここの板の人はアホかと思うような質問ですまません
何をやってもさっぱりでNoticeは消えず
php4->5のルール変更がクモの巣のようですorz
0095nobodyさん
2011/11/04(金) 12:10:28.76ID:???何もやってもというが、何もやって無いだろ。
0096nobodyさん
2011/11/04(金) 13:07:04.52ID:???俺もarray_diff_assocはだめだと思う。
そうしようと思った発想は柔軟でうらやましくはあるけれど。
0098nobodyさん
2011/11/04(金) 13:53:03.66ID:3DwnANG1どうなんでしょうか
0099nobodyさん
2011/11/04(金) 14:28:45.24ID:???○○していいよっていう意見よりも○○はするなという意見を信じてしまう典型的な例
0100nobodyさん
2011/11/04(金) 15:23:02.83ID:???ナニソレ
0101nobodyさん
2011/11/04(金) 16:02:57.33ID:???「いつも私はこのように書いています。」ってのも、かなりの安心感をもたらす魔法の言葉。
なので、さっぱり良いとも悪いとも、そもそも話を理解できていない俺が
>>98
簡単なアプリならフォームタグ出力関数みたいなのを作るのが楽でいいよ。
フォームベタ書きでもいいけど、あんまりオススメしない。
将来もっと複雑になってきたときにフレームワークに切り替えればおk。
と、レスをするわけです。
0102nobodyさん
2011/11/04(金) 17:05:52.19ID:???それにしてもPHPのDOMは貧弱だよな
0103nobodyさん
2011/11/04(金) 17:59:53.68ID:???関数とhtmlが分かりにくく混ざることを危惧した言葉だと思う。
関数を使うことで(書きやすさではなく)見通しが良くなるというのであれば作ればいい
ちなみに私はsmartyを組み合わせた自作簡易フレームワークの為にhtmlをはきだすクラスを作った
<div>{{ht->inpur name='hoge' value='hogevalue'}}</div>
このhogeはPOSTの値と繋がっているから、
POST['hoge']に何かが入っていたら、自動的にその内容が表示されるとか、
selectだと自動的に選んだものにselectedが入るとか、
そういう使い方はしてる
0105nobodyさん
2011/11/04(金) 20:26:13.02ID:1sQ24kpba.php
<?php
exec('/usr/lib/php /var/www/test.php 100 50 >dev/null 2>&1 &' ,$rec);
var_dump($rec);
?>
test.php
<?php
return $argv[1]+$argv[2];
exit();
?>
a.phpのvar_dump()の結果で150が返ってくることを期待してるんですが
実際は array(0) { } です
どこがおかしいんでしょうか?
0107nobodyさん
2011/11/04(金) 20:46:36.43ID:1sQ24kpbバックグラウンド処理というのをしたいんです
それで調べたらexec()と書いてありました
php.iniのsafe_modeもoffになってるんですが…
0109nobodyさん
2011/11/04(金) 21:57:38.17ID:1sQ24kpbtest.php
<?php
$val= $argv[1]+$argv[2];
echo $val; //ダメでした
echo "test_val";//こっちもダメでした
?>
そもそもtest.phpをちゃんと実行できてるんでしょうか?
どうやったら確認できますか?
0110nobodyさん
2011/11/04(金) 22:04:22.41ID:???0112nobodyさん
2011/11/04(金) 22:15:25.20ID:1sQ24kpbphpinfo()とは違うものですか?
とりあえずtest.phpをその内容に書き換えましたが何も起きません
0113nobodyさん
2011/11/04(金) 22:26:01.42ID:???>>109
test.php
exec('php test2.php 100 200', $o, $r);
var_dump($o);
test2.php
unset($argv[0]);
echo implode(",", $argv);
0114nobodyさん
2011/11/04(金) 22:49:46.91ID:???( & だけだと 終わるの待つので)
結果 /dev/nullに捨ててんだから、 取得できんわな。
ファイルにでも出力すれば、処理が終わった頃にファイルに出力されるけど、
バックグラウンドで処理したいってんだから、その結果を
exex()抜けた段階で結果取得できるわけが無いでしょうに。
0115nobodyさん
2011/11/04(金) 22:50:03.75ID:1sQ24kpbありがとうございます、しかしダメです
array(0){} が表示されるだけです
test2.phpの実行権限は755,775,777で試しましたが全部ダメでした
実行ユーザはftpuser(ftp権限ユーザ):apacheになってるんですが問題ありますか?
PHPそのものの問題とずれてきてすみません
0117nobodyさん
2011/11/04(金) 22:54:31.81ID:1sQ24kpbありがとうございます
「/dev/null 2>&1 &」の部分は今は削除して以下のようにしていますがダメです
//test.php///////////////////
exec('/usr/lib/php /var/www/html/test2.php 100 50', $o, $r);
var_dump($o);
//test2.php//////////////////
unset($argv[0]);
echo implode(",", $argv);
そもそも、/usr/lib/phpはディレクトリなんですがこれは問題ないんでしょうか
0119nobodyさん
2011/11/04(金) 23:35:58.32ID:???$rを見たら126が返ってきました
実行権限の問題らしいですが777で問題あるのかなぁ
>当然ディレクトリじゃ駄目だし。
…と思って、実行プログラムの方を /usr/bin/phpに変えたら上手く行きました!
長らくありがとうございました! 他の皆さんも感謝します、ありがとう
0120nobodyさん
2011/11/05(土) 17:12:07.15ID:i9WzEjTE掲示板などで特定のタグだけ許可するにはどうしたらいいでしょうか?
0121nobodyさん
2011/11/05(土) 17:54:33.07ID:???0122nobodyさん
2011/11/05(土) 19:43:18.54ID:rsIAWbThこのような場合とのように記述すればいいでしょうか
0125nobodyさん
2011/11/05(土) 22:29:46.48ID:bVUvResi以下のように書いてみたのですが、もっとスマートな方法はないでしょうか?
foreach($str as $val) {
foreach($str2 as $check) {
if($val != $check) {
$sql = "INSERT INTO test(test) VALUES('" . $val . "')";
mysql_query($sql);
}
}
}
0126nobodyさん
2011/11/05(土) 22:36:53.03ID:???strip_tags($text, '<p><a>');
>>125
$str = array( 1,2,3,4 );
$str2 = array ( 2,3,4,5);
のとき、
insertされるのは 1,1,1,1,2,2,2,3,3,3,4,4,4 だけどいいのか?
0127nobodyさん
2011/11/05(土) 22:56:55.77ID:???http://www.php.net/manual/ja/function.array-diff.php
0128nobodyさん
2011/11/05(土) 23:00:00.64ID:???$a = array("a","b","c");
$b = array("d","c","e");
$c = array_count_values(array_merge($a,$b));
foreach ($c as $k => $v)
{
if (1 === $v)
{
echo $k, PHP_EOL;
}
}
0130nobodyさん
2011/11/06(日) 00:07:04.37ID:???http://www.php.net/manual/ja/function.array-unique.php
0131nobodyさん
2011/11/06(日) 00:09:02.64ID:???0132nobodyさん
2011/11/06(日) 00:10:50.58ID:???http://www.php.net/manual/ja/function.array-intersect.php
0133125
2011/11/06(日) 01:51:22.75ID:/DBL4K4E>>129さんの言うように!=じゃなくて!==としなくちゃいけないんですね。
勉強になりました。ありがとうございます。
>>127 >>130 >>132
おお!こんな便利な関数があったとは!
この3つを試してみます。ありがとうございます。
0134nobodyさん
2011/11/06(日) 10:02:16.82ID:???0135nobodyさん
2011/11/06(日) 10:08:19.85ID:GxhRdhG7DBの中に保存した日本語部分が、「 ¥u30ab」 となっているはずなんですが、
「u30ab」 と 「¥」が抜けてしまいます。
原因が分からず・・・よろしくお願いします。
0136nobodyさん
2011/11/06(日) 10:12:22.02ID:???mysql_real_escape_string のようなのにかけるとか。
\\uにしなきゃ。
0137nobodyさん
2011/11/06(日) 10:20:05.33ID:GxhRdhG7あ!そっか!エスケープされてたのか・・・ケアレスミスでした
ありがとうございます!
0140nobodyさん
2011/11/06(日) 12:31:41.62ID:yw0oOdZMとするとhoge.phpの内容がすべて表示されてしまいます。
これを個別のdiv単位で引用表示させる方法を教えてください。
【例】
<div class="a" id="b">
<p>ほげほげ</p>
</div>
<div class="c" id="d">
<p>ほげほげほげほげ</p>
</div>
とhoge.phpの中に上記のHTML文があるとして
この中から
<div class="a" id="b">
<p>ほげほげ</p>
</div>
だけを引用して表示する方法を教えてください。
0141nobodyさん
2011/11/06(日) 12:55:25.01ID:???<p>ほげほげ</p>
</div>
だけのファイルを作ってincludeする
ていうかまともにやると今の君のスキルじゃたぶん無理だ
DOMでできるけど
http://jp.php.net/manual/ja/book.dom.php
後は俺ならfile_get_contentsと正規表現でさくっとやるけど
0142140
2011/11/06(日) 13:12:54.56ID:yw0oOdZM他人のサイトからの引用なのでそれはできないです。
ソースを教えてください。
0144140
2011/11/06(日) 13:31:27.29ID:yw0oOdZMそのやり方を尋ねているんです><
0145nobodyさん
2011/11/06(日) 13:38:48.91ID:???俺の言ってること分かってる?
だから、勝手に引用することが法的にまずい場合もあるから、
そーゆーサイトを作ること自体をやめておけって、親切で言ってんの
0146nobodyさん
2011/11/06(日) 13:39:06.14ID:???丸投げスレではないので作る能力がない人はお帰りください
0149140
2011/11/06(日) 14:04:46.56ID:yw0oOdZMググれじゃなくて、その方法を詳細に教えてください><
教えてくれるまでこのスレに居座ります><
0150nobodyさん
2011/11/06(日) 14:18:30.43ID:???http://php.net/manual/ja/book.dom.php
0152nobodyさん
2011/11/06(日) 14:49:19.91ID:???質問者はそういうのも考えないと答えてくれる人を減らすばかりだぞ。
0153140
2011/11/06(日) 14:50:18.42ID:yw0oOdZM>>141と同じリンクじゃないですか><
せめてそのページのどこに解説が載ってるのか教えてください!
>>151
分かりません><
0154151
2011/11/06(日) 14:54:35.38ID:???分りました
まずこれ見てください
http://goo.gl/3uGjU
0155nobodyさん
2011/11/06(日) 14:54:59.53ID:???0156140
2011/11/06(日) 15:14:44.61ID:yw0oOdZM死ね!
0157nobodyさん
2011/11/06(日) 16:13:07.86ID:???そんなに自分でやるように促しても、もったいないよ。
<html>
<head>
<style type="text/css">
#d {display: none;}
</style>
</head>
<body>
<?php include("./hoge.php");?>
</body>
</head>
0158nobodyさん
2011/11/06(日) 16:50:54.65ID:???0160nobodyさん
2011/11/06(日) 20:43:01.49ID:???これは久々にすごいのがきたなwww
丸投げを丸投げではないと仰る
0161nobodyさん
2011/11/06(日) 20:59:02.31ID:???0162nobodyさん
2011/11/06(日) 21:11:09.35ID:???じゃあ、これでいいか?
$text = file_get_contents("hoge.php");
preg_match("|<div[^>]*id=\"b\"[^>]*>(.*?)</div>|su",$text,$matches);
print $matches[0];
0163nobodyさん
2011/11/06(日) 22:17:23.59ID:???0164nobodyさん
2011/11/07(月) 01:03:58.74ID:???ガキか
0165nobodyさん
2011/11/07(月) 01:08:17.64ID:???それの例文見つつ組み立てられるやつじゃないと
このスレは難しい
初心者が自分のスキル以上の成果物を求めるのは
勉強してこいと門前払いされて当然
0166nobodyさん
2011/11/07(月) 01:12:18.40ID:???0167nobodyさん
2011/11/07(月) 08:44:04.60ID:1lB9fRg6root権限以外で実行すると
Lost connection to MySQL server during query
みたいな変なエラーがでます
どんな原因が考えられますか?
0168nobodyさん
2011/11/07(月) 08:51:59.43ID:???そのエラーで検索すればいくつか原因がありそうだから、
1個1個確認してくしか。
せめて、検索してXXと○○試したけどダメでした、他の原因知ってる方いませんか、でしょ。
0169nobodyさん
2011/11/07(月) 08:54:34.52ID:???0170nobodyさん
2011/11/07(月) 12:06:17.73ID:???0171140
2011/11/07(月) 14:00:16.85ID:hVnG4+j00173nobodyさん
2011/11/07(月) 14:29:59.52ID:???0174140
2011/11/07(月) 14:33:51.26ID:hVnG4+j0意地悪しないでお願いします><
0176nobodyさん
2011/11/07(月) 14:40:17.49ID:???何個か書いてもらった、>>157 とか >>162 とか試した?
質問するなら、それじゃだめだったってことだろ?
試してからどこがダメだったか書かないと、誰も教えてくれねぇよ
試してないとしたら、せっかく書いてくれたのにやらない奴は最低だ
0178nobodyさん
2011/11/07(月) 14:50:59.65ID:???■ このスレッドは過去ログ倉庫に格納されています