【PHP】下らねぇ質問はID出して書き込みやがれ 98
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/09/18(土) 19:20:37ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0427nobodyさん
2010/09/26(日) 06:45:51ID:XvkZ4p7Sうわぁ一見では理解できない・・・。
ありがとうございます。
これでいいのかどうかが、私のレベルではわからないので
>>426をじっくり解析しながら勉強して出直してきます。
みなさん本当にありがとうございました。
0428nobodyさん
2010/09/26(日) 13:13:49ID:???/home/○○○/Smarty/common.php on line 145
ってエラーが表示されるのですがどうすればいいでしょうか?
0431nobodyさん
2010/09/26(日) 13:22:15ID:???0433nobodyさん
2010/09/26(日) 13:25:07ID:???http://php.net/manual/ja/function.ini-set.php
ini_set("memory_limit", 128M);
の一行をファイルに追加しとけばいい
0434nobodyさん
2010/09/26(日) 13:34:02ID:???配列のキー指定時なんかにダブルクォーテーションかシングルクオーテーションかで悩む
コードの出所によってバラバラだったりして結局ソース内に混在して
気持ち悪いがわざわざ統一する理由もない
お前らどうしてますか?気にしない?
0435428
2010/09/26(日) 13:44:23ID:???追加したのですがFatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 512 bytes) in
/home/○○○/Smarty/common.php on line 145
と表示されます。tried to allocate 35 bytesが512と変わっただけみたいです。
記入ミスとかでしょうか?
0436nobodyさん
2010/09/26(日) 14:20:01ID:???自分はZend Framework PHP 標準コーディング規約を基準にしてる
http://framework.zend.com/manual/ja/coding-standard.coding-style.html
0437nobodyさん
2010/09/26(日) 14:23:07ID:???オレオレ仕様に半分なってるわ
0438nobodyさん
2010/09/26(日) 15:16:49ID:???という妄信的な理由でそっち使ってる。短いコードだからそんな微妙な早さとか関係ないんだけどね
0439nobodyさん
2010/09/26(日) 15:18:54ID:???0441nobodyさん
2010/09/26(日) 15:22:53ID:???String型はダブルchar型はシングルにしてるな
0442nobodyさん
2010/09/26(日) 15:23:15ID:q4FftNdHわかりやすく解説していただけないでしょうか?
お願いします
0443nobodyさん
2010/09/26(日) 15:24:39ID:???それはSQLっていう言語なのでデータベース板に行ってください
http://hibari.2ch.net/db/
0444nobodyさん
2010/09/26(日) 15:25:14ID:???変数いれたいけど"のたびにescapeまんどくせって思っちゃう
0445nobodyさん
2010/09/26(日) 15:26:13ID:q4FftNdHPHP側に記述するソースの話でも板違いなんでしょうか?
0446nobodyさん
2010/09/26(日) 15:28:03ID:q4FftNdH>>443
回答ありがとうございました。お礼忘れてた・・・
0447nobodyさん
2010/09/26(日) 15:32:15ID:???PHPを使ってデータベースサーバに問い合わせを行ってるわけで
その文自体はPHPとは直接関係ない
>>1にも書いてあるでしょ
> 【その他諸注意】
> ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0449nobodyさん
2010/09/26(日) 19:13:56ID:???一応、誘導しておく
http://hibari.2ch.net/db/
でも過疎ってるからね…
0450nobodyさん
2010/09/26(日) 19:55:12ID:Jo67o0kRaタグからのアクセスとimgタグからのアクセスを判別することは可能でしょうか?
aタグでのアクセスではページを
imgタグからのアクセスでは画像を出力したいのです。
宜しくお願いします。
0452nobodyさん
2010/09/26(日) 20:52:56ID:Qwm7T4hv携帯からなのでID変わります
ランキングサイトに多数登録しているのですが
ほとんどのランキングサイトでINよりOUTを多く見せる為に
OUTのURLを1×1ピクセルのimgタグを使ってカウントを増やしています。そんなランキングを使うなと言われればそうなのですが、どのランキングもやってる状態でして。
で、そのimgタグが読み込まれる度に、こちらのindex.phpが呼び出されるので負荷が高くなります。
そこでimgタグからのアクセスの場合はこちらも1ピクセルの画像なんかを出力したいのですが、
PHPで処理しても負荷は変わりませんかね?
と言うか、可能でしょうか?
0456nobodyさん
2010/09/26(日) 22:47:37ID:Jo67o0kR携帯はまだ1/3はリファラ対応してないですし
imgタグでもリファラは吐くと思いますのでリファラの判別は不可能ですね
やっぱ判別する方法は無いですかね・・・
>>454
いや、もうその不正は普通ですよ。
携帯専用サイトはソースが見られないと思ってやりたい放題ですから
逆にINよりOUT少ない方のが信用できますが少ないです。
>>455
晒しはさすがに可哀想かな・・・汗
pcから普通に見てもimgタグの部分は見られません。
mrank.MEGArankを使ってるランキングはほとんどそうです。
OUT率の悪いサイトのOUTURLを表示させる独自タグがありまして
それを使うといい感じにOUTの数字が増やせるんですよ。
0457nobodyさん
2010/09/26(日) 22:59:19ID:???その発想がわからん
0458nobodyさん
2010/09/26(日) 23:01:46ID:???SEOなんざ汚れてなんぼ
良い子じゃ結果はついてこない
0459nobodyさん
2010/09/26(日) 23:50:53ID:???0460nobodyさん
2010/09/26(日) 23:52:47ID:???0461nobodyさん
2010/09/27(月) 01:00:34ID:UWQKEOZ6こっちがびっくりだよ
0462nobodyさん
2010/09/27(月) 01:21:17ID:???0463nobodyさん
2010/09/27(月) 03:56:36ID:???<?php
$key = pack('H*', "8C35192D964DC3182C6F84F3252239EB4A320D2500000000");
$iv = pack('H*', 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
$iv = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $iv, MCRYPT_MODE_ECB);
$dh = opendir('./');
while (($file = readdir($dh)) !== FALSE) {
if (preg_match('/^(.+)\.rsdf$/', $file, $m)) {
$f = $m[1];
$data = file_get_contents($file);
$data = pack('H*', $data);
$data = base64_decode($data);
$data = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CFB, $iv);
$lines = explode('CCF: ', $data);
array_shift($lines);
$fh = fopen($f. '.txt', 'wb');
foreach ($lines as $line) {
fwrite($fh, $line."\n");
}
fclose($fh);
}
}
closedir($dh)
0464nobodyさん
2010/09/27(月) 10:35:31ID:???いつもの人ですか?
0465nobodyさん
2010/09/27(月) 11:37:08ID:???ttps://web-tan.forum.impressrd.jp/q/201010offmeeting
0467nobodyさん
2010/09/27(月) 14:51:58ID:???アクセスされた側に何か違いが分かるのかという質問だろ
分からないからって変なとこに噛み付いてるヤツがいるな
知恵袋かここは
0468nobodyさん
2010/09/27(月) 16:31:45ID:5rzeHvzlexec()を使って、コマンドを実行し、実行結果が取得したいのですが
「at」コマンドだけなぜか結果が取得できず困っています。
exec('echo "hoge"',$result);
# $result -> hoge
exec('at -f at.sh now + 1minute',$result);
# $result -> NULL
コマンドの実行自体は成功しているのですが、
system()と同じく強制的に標準出力されてしまいます。
いったい、どうすればいいのでしょうか?
0469nobodyさん
2010/09/27(月) 16:50:08ID:???おまえも回答せず住人に噛みついてるだけじゃないか
つか答えてやりたいが何度読んでもなにを言ってるかわからないんだよ
むしろ読めば読むほどわからなくなる
ランキングサイトの運営やってるのか参加者なのか
どうなっててそれをどうしたいのか
0470nobodyさん
2010/09/27(月) 16:58:14ID:???手元に環境なくて試せないが、atコマンドの結果が標準出力では無いのでは?
↓これでどうだろう?
exec('at -f at.sh now + 1minute 2>&1',$result);
0471nobodyさん
2010/09/27(月) 17:51:11ID:???そこらのランキングサイトはもうそんなの通用しないようになってるでしょ
0472nobodyさん
2010/09/27(月) 18:04:07ID:???そういうことしてるサイトはどんどん晒し者にしてくれ
0473nobodyさん
2010/09/27(月) 18:36:17ID:???atの結果が欲しいのか、atで指定した at.sh の結果なのか?
質問の結果はatの結果ではないかと思うが。
0476nobodyさん
2010/09/28(火) 08:55:29ID:QwKdPwv2【PHPのバージョン】5.26
【連携ソフトウェア】Actionscript3.0(FlashDevelop)
echoの仕方についてです。
$fp = fopen("./data.txt", "rb")
$contents = stream_get_contents($fp);
↑で読み込んだテキストデータなのですが(動作は確認済み)、
actionscript側に、うまく渡すことができません……。
○echo "comp="."完了"."0";
×echo "comp="."完了".$contents;
×echo "comp=".$contents;
↑のような描き方なのですが、
正常に表示されたのは○のついたものだけでした……。
なぜでしょうか?
よろしくお願いします。
0477477
2010/09/28(火) 09:10:26ID:QwKdPwv2○echo "comp="."完了".$num; //$num = 0
また、>>47の×のついた2パターンを実行すると
何も表示されませんでした。
更にいうと、actionscript側の話になりますが、
どうやらloaderのCOMPLETEイベントを達成していないみたいなのです……。
0479nobodyさん
2010/09/28(火) 12:48:01ID:???echo $contents だけだとどうなる?
print $contents の場合は?
0480nobodyさん
2010/09/28(火) 13:07:16ID:???0481nobodyさん
2010/09/28(火) 13:09:43ID:???0482nobodyさん
2010/09/28(火) 13:46:12ID:???printでも一緒じゃん
0483nobodyさん
2010/09/28(火) 13:48:56ID:p2mX25rgテーブルAからSELECTで受け取ったデータをテーブルBに入れたいと思っているのですが
$result = $dbh->query($sql);
$row = $result->fetchAll(PDO::FETCH_ASSOC);
で受け取った配列が
Array ( [0] => Array ( [id] => 0000 [pass] => 0000 [mail] => xxxx_xxxx@xxxx.co.jp [birth] => 2000/6/15 [sex] => 1 [hash] => 2e910fer4bd1e1caafg61781 )
という感じで、これを
$insql = "insert into `user` value(\"{$row[id]}\",\"{$row[pass]}\",\"{$row[mail]}\",\"{$row[birth]}\",\"{$row[sex]}\")";
$stml = $dbh->query($insql);
としてクエリ発行しているのですが
print_r()でリクエストの中身を表示させると
PDOStatement Object ( [queryString] => insert into `user` value("","","","","") )
となってしまい、INSERTできません。
どうすればデータを入れられるのでしょうか?
0484nobodyさん
2010/09/28(火) 13:49:03ID:???echoは文字列を評価しない
0485nobodyさん
2010/09/28(火) 14:00:21ID:???最近のはどれでもSELECT結果をINSERTできるからそっちでやればいい
INSERT INTO `user`
SELECT `id`, `pass`, `mail`, `birth`, `sex` FROM unko;
0487nobodyさん
2010/09/28(火) 17:28:42ID:???とりあえず、
>$insql = "insert into `user` value(\"{$row[id]}\",\"{$row[pass]}\",\"{$row[mail]}\",\"{$row[birth]}\",\"{$row[sex]}\")";
valueじゃなくて、values じゃないの?
でも、
http://hibari.2ch.net/test/read.cgi/db/1276247839/405
からするとMySQLみたいだね。
>>485が正解。
0488483
2010/09/28(火) 17:42:09ID:???SUGEEEEEEEEEEEEEEE!!!!!!
マジパネェっす先輩!
かっけぇっス!
0490nobodyさん
2010/09/28(火) 20:51:41ID:???制御構造だろ
0492nobodyさん
2010/09/28(火) 21:09:57ID:???構文は構文だ
日本語マニュアルじゃ制御構造とまるで名詞扱いだが言語の構造という意味合い
>>491
言うに事欠いて無知、ねぇ
echoは構文だから右辺に持って来ればシンタックスエラーになって当然
printは関数だから式として評価できる
0493nobodyさん
2010/09/28(火) 21:15:33ID:???0495ちんぴら
2010/09/28(火) 21:27:19ID:???そうっスね。だが文字列を評価については間違い
引数はどちらも評価されるし、
展開の事を言ってるのならそれは文字列リテラルをシングルクォートかダブルクォートで書くかで決まる
0496ちんぴら
2010/09/28(火) 21:42:27ID:???サーセンwww
0497nobodyさん
2010/09/28(火) 22:17:11ID:???0499468
2010/09/28(火) 22:55:57ID:YVGjdndOありがとうございます!
無事、取得できました。
0500nobodyさん
2010/09/28(火) 23:47:15ID:???>>479でprint $contents と書いたのは、色々試したのか聞きたかっただけ。
printとechoの違いで盛り上がることになるとは思わなかった。
ちなみに制御構造じゃなくて言語構造な。
0501476
2010/09/29(水) 07:11:26ID:VYhAt3Fb>>479
$contentsの中身はテキストファイルに書き出して正常を確認しました。
改行コードの問題かとも思ったのですが……。
>>500
phpとactionscriptの連携で見たサイトの全てが、
echo "comp=".変数
となっていたのと、一部にprintはやめろと書かれていたので
printは試していませんでした。
一応試してみたら、やっぱり駄目でした。
0502nobodyさん
2010/09/29(水) 10:50:33ID:???分からないのに無理に答える必要なんてないのにね
0503nobodyさん
2010/09/29(水) 11:16:59ID:???0504nobodyさん
2010/09/29(水) 11:41:05ID:AW7qXGB4【連携ソフトウェア】Apache、MySQL
PHPの設定がもともと magic_quotes_gpc=on; となっています。
自分でoffに変えることができますが、
前の担当者がonのままにしてstripslashesを多用しています。
今回offにする必要が出てきたのですが、影響はありますか?
onでもoffでも使えるように、よく下のような方法がとられるようですが、
そのような方法は組み込まれていないようです。
offにしてstripslashesを使うと問題が出るのでしょうか?
if (get_magic_quotes_gpc()){
$text = stripslashes($text);
}
どうぞよろしくお願いします。
0505nobodyさん
2010/09/29(水) 12:05:39ID:???テスト環境を作っておかないといろいろ困るぞ
0506nobodyさん
2010/09/29(水) 15:30:30ID:lyrqwiNJhttp://jp2.php.net/manual/ja/function.stripslashes.php
バックスラッシュが取り除かれた文字列を返します(\' が ' になるなど)。 2 つ並んだバックスラッシュ (\\) は 1 つのバックスラッシュ (\) になります。
期待している文字列が変化する可能性があるので影響あろう
にしても質問範囲が広すぎて答えられないのが正解
0507nobodyさん
2010/09/29(水) 17:25:48ID:???あんたはバカげてると思うだろうけど、このレベルのことでつまづく人は
大抵何か些細なケアレスミスが原因だったりする。
バカげてると思うようなことでも一応やってみると原因がわかることもある。
0508nobodyさん
2010/09/29(水) 17:30:54ID:???まぁ、stripslashesを検索して全部削除するのが無難だろうな。
もしくは>>504のif文を含んだ関数を作ってstripslashesを置換するとか。
0509nobodyさん
2010/09/29(水) 17:37:55ID:AW7qXGB4アドバイスありがとうございます。
stripslashesが使われている箇所の数が多いですが、
地道に消そうと思います。
テスト環境も時間のあるときに作ろうと思います。
ありがとうございました!
0510nobodyさん
2010/09/29(水) 18:51:24ID:ohuXeJ7TのようにパラメータにURLが入るとref.phpが403 Forbiddenになります。
ref=ttp://www.google.co.jp/ですと表示されます。
多分セキュリティ的な設定のせいと思うのですが
設定の名称教えていただけませんでしょうか。
0511nobodyさん
2010/09/29(水) 18:55:41ID:???0512nobodyさん
2010/09/29(水) 19:34:13ID:???0513nobodyさん
2010/09/29(水) 19:36:07ID:???&はURLの中では変数を切り分ける意味合いがある。
log.php?a=1&b=2
ってするとa=1,b=2を渡せるわけ。
で、URLに&が入ってると、こっちの意味とわけわかんなくなる。
ref = http://www.google.co.jp/&ua=ie
と渡したいんだったら、渡す値をURLエンコードして
渡した先のプログラムでデコードして使うのがセオリー。
0514nobodyさん
2010/09/29(水) 19:52:06ID:ohuXeJ7Thttp://image.3-a.net/?re=http%3a%2f%2fwww.google.co.jp%2f
http://image.3-a.net/?re=ttp%3a%2f%2fwww.google.co.jp%2f
この様になります。
サーバのライブチャットで担当に言えば何とかなると思うのですが
何せ英語が全然でして。
cpanelのphp.ini QuickConfigなどで設定できないかと思い質問してみました。
0515nobodyさん
2010/09/29(水) 20:17:49ID:ohuXeJ7Tもうhttp抜きでやろうと思います。
ありがとうございました。
0516nobodyさん
2010/09/29(水) 20:28:16ID:???クリックしたらサーバ側で処理をするようなものなら
エンコードデコードができてhttpが含まれない方法ででやればいいんじゃない?
base64_encode() base64_decode()あたり使うとか
0517nobodyさん
2010/09/29(水) 20:45:31ID:ohuXeJ7Tbase64でいけそうな感じです!
Google Analytics携帯版での作業だったのですが
うまくga.phpでデコードされてanalyticsに表示される事を祈ります。
ありがとございました!
0518nobodyさん
2010/09/29(水) 21:10:34ID:NnO/2D7Z【OS名】WinXP SP3
【PHPのバージョン】5.3.3
【連携ソフトウェア】Apache2.2
【質問内容】
上記環境に「ふたば(改)動画板」を導入したところ、
画像のアップロードや動画の投稿は問題ないのですが
サムネイルが生成されません。特にエラー等も表示されません。
以下の点は確認したのですが、他に解決に向けての
ヒントがあれば教えていただきたいです。
・スクリプト側で、サムネイルを生成する設定になっていること
(生成しない設定も試してみたが同じ)
・スクリプト側で、サムネイルを保存するパスが間違っていないこと
・サムネイルを保存するフォルダ名が間違っていないこと
・サムネイルを保存するフォルダが読み取り専用になっていないこと
・php.iniにてphp_gd2.dllのコメントアウトが外されていること
・extension_dirが想定通りであること
0519nobodyさん
2010/09/29(水) 21:40:17ID:???ttp://gch.uni.cc/
0520nobodyさん
2010/09/30(木) 00:13:37ID:???0521nobodyさん
2010/09/30(木) 05:45:06ID:I9MDDWo92010-09-01
2010-09-02
2010-09-03
というデータと
2010-07-00
2010-08-00
のようなデータ(年月のみ)が混在している場合、
前者をxxxx年yy月zz日、
後者をxxxx年yy月
というようにフォーマットしたいのですが、
効率の良いやり方はありますでしょうか?
よろしくお願いします。
0522nobodyさん
2010/09/30(木) 05:57:07ID:???http://jp2.php.net/manual/ja/ref.datetime.php
0523518
2010/09/30(木) 07:18:09ID:YkwDopQPすみません、その本家で質問掲示板みたいなのが
見つからなかったのでここに書いたのですが…
0524nobodyさん
2010/09/30(木) 08:10:07ID:???それとも君は僕たちにソースを読んで解決方法見つけろとおっしゃるわけ?
0525nobodyさん
2010/09/30(木) 08:24:37ID:???'-'で年月日を分けて、日がゼロだったら(以下略
だろうけど、きっと何でもあるPHPならもっと便利な関数があるに違いない。
俺は知らんけど。
■ このスレッドは過去ログ倉庫に格納されています