【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等)・フレームワークは各該当スレへ
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:???0179nobodyさん
2011/11/07(月) 14:55:24.82ID:???0180nobodyさん
2011/11/07(月) 14:55:26.68ID:???表示だけならそれでも問題ないはずだぞ。
ぶっちゃけ、その方がサーバー負荷は軽減する。
レスポンスタイムはPHPでやろうがCSSでやろうが一緒。
だから、CSSでやる場合のダメな点を挙げてから質問しなって。
0181nobodyさん
2011/11/07(月) 14:59:41.08ID:???0182140
2011/11/07(月) 15:00:07.62ID:hVnG4+j0試す価値もないということが分らんのか負け犬めが
0184nobodyさん
2011/11/07(月) 15:04:23.38ID:???0185nobodyさん
2011/11/07(月) 15:17:26.67ID:skZKPuIx同じドメインでUAを見て、モバイル(スマホ)サイトとPCサイトを出し分けてます。
PC版サイト内にiframeでモバイルサイトを表示したいんですが、
URL固定にして、いい方法ないでしょうか・・・
iframeだけUA偽装とかは無理ですかね?
URLに引数つけてUAの判断が妥当でしょうか?
よろしくお願いします。
0186140
2011/11/07(月) 15:17:27.68ID:hVnG4+j00190nobodyさん
2011/11/07(月) 15:28:08.43ID:???なんでまたがる前にトリップつけるとかやんなかったの?と、成りすましに言ってもしょうがないが。
0191nobodyさん
2011/11/07(月) 15:28:38.90ID:???0192nobodyさん
2011/11/07(月) 15:31:43.54ID:skZKPuIxすいません。説明不足でした・・・
同じURLでPC/MobileをPHPで出しわけしてるんで
コレが実現できるいい方法がないかなと。。。
.htaccessだとUAがPCだと判断されてしまいます。
http://example.com/ にアクセスすると
<html>
<body>
<div>hoge</div>
<iframe src="http://example.com" />
<!-- このiframe内がモバイルサイト -->
</body>
</html>
0193nobodyさん
2011/11/07(月) 15:32:57.81ID:???やっぱ、iframeのurlに引数を一つ追加して、それをモバイルのフラグに割り当てるべきだとおもう
擬似的なiframeを使うって手段も思い付いたが、
ページ遷移への対応を考えると絶望的に手間がかかるっぽいし。
0194nobodyさん
2011/11/07(月) 15:37:02.16ID:???もうむり?
0195nobodyさん
2011/11/07(月) 15:38:10.27ID:ViAJy6jaexec("/usr/bin/php /var/test.php {$params} ", $o, $r);
echo "レスポンス:".var_dump($r);
echo "出力:".var_dump($o);
のようにしてる時
引数$paramsには配列やserialize()した配列を指定できないんでしょうか?
引数$paramsが $params = array("dog", "cat");
test.phpが以下の内容の時、
<?php echo $argv[1][0]; ?>
1)配列を引数にした場合
なぜかAが出力されます
レスポンス:int(0)
出力:array(1) { [0]=> string(1) "A" }
2)serialize()した配列を引数にした場合
レスポンス:int(2)
出力:array(0) {}
配列はそのままでもserialize()してもダメなんでしょうか?
また、1)のケースのときの、返り値Aはどこから来たんでしょうか?
配列を渡す方法があったら教えてもらえると助かります、よろしくお願いします
0196nobodyさん
2011/11/07(月) 15:41:18.73ID:skZKPuIxやっぱそうですかねw
output_add_rewrite_varで値を引き継げるようにすればいいか。
どもっす!
>>194
Mobile/SmartPhoneに特化してるんで、
PC版には、使い方やら広告やら載せようかってしてたんですが、
どうせだったら、Mobile版見れるようにのっけちゃえって判断になりましたw
0197nobodyさん
2011/11/07(月) 15:46:06.61ID:???配列を文字列化した結果の先頭一文字がAだから。
シリアライズしたならデシリアライズすること。
あとはコマンドラインについて勉強しなされ。
0198nobodyさん
2011/11/07(月) 15:48:42.82ID:???seializeしたのをつけたコマンドを一度echoして、それをコマンドラインで打って試した?
なんか記号がいろいろ邪魔してそうだけど
0199nobodyさん
2011/11/07(月) 16:08:26.98ID:???テーブルのカラムが30を越えるような感じになっていて、
新規作成するときのsqlもインサートのチェックもかなり長くてややこしいことになってしまうので、
テーブルの作成やデータチェックが分かりやすく書ける
そんなライブラリってないでしょうか?
0200nobodyさん
2011/11/07(月) 17:11:06.60ID:???SQLite 9
http://hibari.2ch.net/test/read.cgi/db/1298737360/
ここで聞いたほうがいいかもだけど、若干荒れ気味w
0201nobodyさん
2011/11/07(月) 17:40:27.00ID:???ってか、あっちに書くくらいなら知恵袋の方がまだいい答え貰えそうなw
0203nobodyさん
2011/11/07(月) 17:53:48.42ID:???入力フォームのチェックがややこしいならsqlite関係ないし、そうじゃないならなんのチェックするのか分からないし
0205nobodyさん
2011/11/07(月) 18:02:20.53ID:pflxypT1imgタグを許可したいのですが
$text = preg_replace("/<img ([a-zA-Z0-9;\-\s]+)>/","<img $1>",$text);
これで置換できないのはなぜでしょうか?
0206nobodyさん
2011/11/07(月) 18:03:33.50ID:pflxypT1imgタグを許可したいのですが
$text = preg_replace("/&lt;img ([a-zA-Z0-9;\-\s]+)&gt;/","<img $1>",$text);
これで置換できないのはなぜでしょうか?
0207nobodyさん
2011/11/07(月) 18:05:11.09ID:???0208nobodyさん
2011/11/07(月) 18:12:33.28ID:pflxypT1ありがとうございます
しかしながら
$text = preg_replace("/&lt;img ([a-zA-Z0-9:;\/\"\'\-\s]+)&gt;/","<img $1>",$text);
これでもダメでした
こういうときって()の中はどう書けばいいのかな
0210nobodyさん
2011/11/07(月) 18:22:15.38ID:???どうせならそれにあわせて、自動的にcreate tableをやってくれるものとかないかなと。
0211195
2011/11/07(月) 18:23:46.55ID:ViAJy6jaありがとうございます
言われた通り、コマンドラインから似たような配列で試してみたら以下になりました(上手く行ってます)
[root@localhost ~]# ary=("dog" "cat")
[root@localhost ~]# php -q /var/test.php ${ary}
string(3) "dog"
(↑ test.phpのecho var_dump($argv[1])の結果です)
同様に.php中のexec()で配列の引数を渡す時点で配列は
ary=("dog" "cat")の形にしなきゃダメなんでしょうか
ためしに
$params= '$("dog" "cat")';
exec("/usr/bin/php /var/test.php {$params}", $o, $r);
としてみましたが出力として何も表示されません
0213nobodyさん
2011/11/07(月) 18:39:24.63ID:???$text = preg_replace("/<img .+?>", "<img $1>", $text);
要素の中に>と<は絶対にこないはずなのでこれでいい
0215nobodyさん
2011/11/07(月) 18:43:43.10ID:???いやいやいや、PHPは文字列送るだけなんで配列なんてモンはコマンドラインに送れないっすよ。
"/usr/bin/php /var/test.php {$params}" はただの文字列で
{$params}は、 "Array" って変換されるだけの文字列なので、
"/usr/bin/php /var/test.php Array" なわけで・・・ ってだれか上で書いてたでしょう?
そこの部分を join使うなりしてスペースで区切った文字列にでもするしかないのでは。
0216199
2011/11/07(月) 18:45:51.49ID:???dbのテーブル作成、入力値チェック、取得
このようなことをできるだけ短いソースで記述できるライブラリはないでしょうか?
半コピヘなソースを大量に書くの大嫌い
■ このスレッドは過去ログ倉庫に格納されています