トップページphp
1001コメント337KB

【PHP】下らねぇ質問はID出して書き込みやがれ 105

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/03/17(木) 04:00:34.11ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0243nobodyさん2011/03/31(木) 10:15:19.24ID:Zox++tkq
標準機能とzend_dateを使う違いが何ですか?
0244nobodyさん2011/03/31(木) 11:15:39.35ID:h2409w8r
mysql_escape_stringって$sql対してやればいいのですか?

$sql = ちょめちょめ

mysql_query($sql);
0245nobodyさん2011/03/31(木) 15:44:39.82ID:???
>>244
そうです。これでOK。

$sql = "<a href='http://'>;こんばんは</a>";
mysql_query($sql);
0246nobodyさん2011/03/31(木) 19:51:40.19ID:bNgmJBKg
>>245
使って無いじゃん
0247nobodyさん2011/03/31(木) 23:27:56.48ID:DidIPsUA
返すHTML・XMLはPHPで動的に出力したリソース.
それはRESTと言っていいのでしょうか。
0248nobodyさん2011/03/31(木) 23:28:32.22ID:DidIPsUA
サーバーからURLにアクセスするとHTMLまたはXMLを返す
ものがRESTのようなのですが、
返すHTML・XMLはPHPで動的に出力したリソース.
それはRESTと言っていいのでしょうか。
0249nobodyさん2011/04/01(金) 01:23:07.17ID:???
OK
0250nobodyさん2011/04/01(金) 02:20:19.91ID:???
墨汁
0251nobodyさん2011/04/01(金) 02:22:35.96ID:???
>>246
失礼しました。

$sql = "<a href='http://'>;こんばんは</a>";
mysql_query($sql);
mysql_escape_string($sql);
0252nobodyさん2011/04/01(金) 05:12:59.91ID:???
queryの手前でないと意味ないだろw
0253nobodyさん2011/04/01(金) 11:21:51.77ID:???
こう?

$sql = "<a href='http://'>;こんばんは</a>";
mysql_escape_string($sql);
mysql_query($sql);
0254nobodyさん2011/04/01(金) 11:42:21.20ID:lsqQ9UYG
そう
0255nobodyさん2011/04/01(金) 11:58:37.40ID:MzNzUG4D
データベースからデータを取得して表示するときはmysql_escape_stringとhtmlspecialcharsどっちを使うのでしょうか?
0256 忍法帖【Lv=5,xxxP】 【東電 85.6 %】 2011/04/01(金) 12:13:17.86ID:???
htmlspecialcharsは使うけれど、mysql_escape_stringは使わない
0257nobodyさん2011/04/01(金) 12:43:04.41ID:???
>>255

>>253をよく読め!
0258nobodyさん2011/04/01(金) 12:44:15.72ID:???
>>257

それsqlの話な
0259nobodyさん2011/04/01(金) 14:02:53.22ID:???
駄目でしょ。 >>253

$sql = mysql_escape_string($sql);
0260nobodyさん2011/04/01(金) 15:59:54.40ID:afTaUKmE
先生方教えてください

$n = str_pad(chr(0), 1);
$m = chr(0) . " ";

1行目と2行目の結果は同じかと思いきや異なりました。
理由を教えてください。
0261nobodyさん2011/04/01(金) 16:48:08.33ID:???
なぜ同じになると思ったの?
02622602011/04/01(金) 17:08:30.71ID:afTaUKmE
$n = str_pad("a", 1);
$m = "a" . " ";

が同じになるからです・・・!

str_pad(chr(0), 〜);
バイナリ操作を行う所で上記処理が出てきたのですが
この動作がどうなっているのか理解したくとも
検索しても情報が見つからない状況です。
0263◆oDupeixhZv52 2011/04/01(金) 17:21:02.92ID:???
同じにならねー
02642602011/04/01(金) 17:42:46.66ID:afTaUKmE
あるぇ〜?
さーせん出直してきます
0265nobodyさん2011/04/01(金) 17:43:50.56ID:mfU7bDo9
今日気づいたのですが、PHPでMySQLのSQLでUPDATEするとき、
$point = null;
$sql = "UPDATE users SET point=point+" . $point;

と言うように、$pointがNULLだとpointの数値が0になるんですね・・。
htmlspecialcharsとかmysql_escape_stringはやっていたのですが、
上記のようにNULLが入る場合、元のデータが0になるとは思いませんでした。

現状、$pointの箇所はfloor($point)としているのですが、
これで正しいのでしょうか?一応、元のデータが0になることはありませんが
0266nobodyさん2011/04/01(金) 18:45:28.14ID:???
>>265
$pointにnullを代入し、文字列に変換すると空文字列になる。
つまり
$sql = "UPDATE users SET point=point+" . $point;

$sql = "UPDATE users SET point=point+";
と同等。
MysqlがそのSQL文をどう解釈してpointを0にしたのかはわからんが。

floor($point)とすると、floorの引数は数値なのでPHPは$pointを数値に変換しようとする。
$pointはnullなので数値に変換すると0になるから、floor(0)を実行したのと一緒。

わざわざfloorなど関数をつかわなくても、(int)$point として整数にキャストするか、
($point + 0) として整数に自動変換させればいい。
0267◆oDupeixhZv52 2011/04/01(金) 19:04:16.87ID:???
null との 結合は  null になるよ
で、 not null設定ならデフォルトの値になる。 数値型なら 0。
0268◆oDupeixhZv52 2011/04/01(金) 19:05:12.01ID:???
関係なかった。ごめんな。
0269nobodyさん2011/04/01(金) 19:39:42.27ID:BDvvPYeQ
function put(str) {
file_put_contentsでstrを書き込む
}

function get() {
echo file_get_contents(読み込むファイル);
}

ファイルは1行1データ。
ファイルに書きこむときhtmlspecialcharsをやってから改行を<br>に置換します。
htmlspecialcharsはget()のところでも必要ですか?無駄ですよね?
0270nobodyさん2011/04/01(金) 19:50:09.47ID:???
何がしたいのかわからないけど
そもそもfile_put_contentsで書き込むならhtmlspecialcharsは必要ないし
getのとこで使うならhtmlspecialchars_decodeだろ
0271nobodyさん2011/04/01(金) 19:56:39.02ID:nS5vkIwg
Ruby 初心者スレッド Part 41
http://hibari.2ch.net/test/read.cgi/tech/1297313271/650

650 名前:デフォルトの名無しさん[sage] 投稿日:2011/04/01(金) 17:20:58.00
というかwindows用apacheって都市伝説かと思ってた。
実際に動かしている人がいるとは驚きだ。

0272nobodyさん2011/04/01(金) 20:24:11.06ID:???
このスレで誰が一番有名人であるかランキング付けようぜ
1〜10位までよろしく
0273nobodyさん2011/04/01(金) 20:46:17.88ID:???
nobodyさんじゃない?
0274nobodyさん2011/04/02(土) 06:56:41.09ID:???
nobadyさんじゃない?
0275nobodyさん2011/04/02(土) 09:41:07.11ID:???
nobadyさんだと思う。
0276nobodyさん2011/04/02(土) 10:16:27.08ID:???
今日はうそつきの日。
0277nobodyさん2011/04/02(土) 19:06:14.59ID:WGztucO0
1000ページ以上のページを管理する場合はどのフレームワークを利用したらよいでしょうか?
コードサンプルを貯めておくだけのサイトなので日増しにページ数は増え続けます
0278nobodyさん2011/04/02(土) 19:28:38.01ID:???
フレームワーク関係あるんかいな
CMSの勘違いなら板チだからWeb制作板にでも行ってくれ
0279nobodyさん2011/04/02(土) 21:13:52.10ID:???
落ち着け誰もCMSの話はしてないようだ
0280nobodyさん2011/04/02(土) 22:41:21.30ID:???
既存ページの管理にフレームワーク使うっておかしな話
アプリケーションを組み直すってわけじゃないだろうし
0281nobodyさん2011/04/03(日) 00:20:09.13ID:CqpmkeeN
コードサンプルの意味がわからんな。
単にHTMLが生成されるって意味じゃないだろうし。
0282nobodyさん2011/04/03(日) 00:21:12.69ID:???
フレームワークじゃなくてファイヤーワークスの間違いだろう
flameもfireもどちらも火や炎という意味だから間違いやすいからな
0283nobodyさん2011/04/03(日) 01:13:26.49ID:???
ファイヤーフォックスかもしれんぞ
0284nobodyさん2011/04/03(日) 01:54:50.34ID:???
なんのこっちゃ
0285nobodyさん2011/04/03(日) 07:02:35.72ID:???
>>283←フレームワークとファイヤーフォックスを混同してるバカ発見w
0286nobodyさん2011/04/03(日) 07:35:52.23ID:???
>>285 釣られたバカ発見w
0287nobodyさん2011/04/03(日) 07:53:52.23ID:???
>>286 >>285に釣られたバカ発見w
0288nobodyさん2011/04/03(日) 07:54:56.61ID:???
>>286 2chのスレごときで…自覚せよ。
0289nobodyさん2011/04/03(日) 09:06:16.86ID:???
糞つまらないのは本人の所為であって2chの所為ではありません
0290nobodyさん2011/04/03(日) 12:03:14.15ID:CEjM5iXG
ライブドアの天気RSSを読み込んでtitleの部分を出力したいのですが何も表示されません
どなたかご教示お願いします

$url = 'http://weather.livedoor.com/forecast/rss/earthquake.xml';
$xml = new XMLReader();
$xml->open($url);
while ($xml->read()) {
if (XMLReader::ELEMENT == $xml->nodeType) {
if ('title' == $xml->localName) {
echo $xml->value. "\n";
}
}
}
0291nobodyさん2011/04/03(日) 13:00:32.05ID:???
>>4,>>6
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。

なんでだぶってるの?
0292nobodyさん2011/04/03(日) 13:01:05.14ID:???
と思ったら荒らしか
0293nobodyさん2011/04/03(日) 13:01:36.77ID:???
ここのカス共にXMLReaderなんて使いこなせませんw
0294nobodyさん2011/04/03(日) 13:54:25.13ID:???
if ('title' == $xml->localName) {
$xml->read();
echo $xml->value. "\n";
}
0295nobodyさん2011/04/03(日) 14:43:34.49ID:???
>>294
ありがとうございます
0296nobodyさん2011/04/03(日) 15:24:06.21ID:VZI/JFbc
RSSが更新されてたら取得するというのはどのように実装したらよいでしょうか?
技術的に無理でしょうか?
0297nobodyさん2011/04/03(日) 15:57:36.50ID:???
>>296
定期的にチェックしに行く
0298nobodyさん2011/04/03(日) 15:58:35.64ID:???
cronやアクセス来たごとに、チェックプログラムを起動。
0299nobodyさん2011/04/03(日) 16:30:37.51ID:???
RSS配信サーバ側がそういう風(プッシュ型)にしてなければリアルタイムでは無理だろう
迷惑にならない頻度でたまに更新があるか見に行く必要がある(1秒に1回とかは岡崎図書館になりかねないので1時間に1回とか)
0300nobodyさん2011/04/03(日) 19:22:33.26ID:???
岡崎図書館は1秒に1回だから逮捕されたわけじゃないぞ
1時間に1回でもサーバーがダウンしたら逮捕されるぞ!!
0301nobodyさん2011/04/03(日) 19:38:21.01ID:???
Last-Modifiedでいいじゃん
0302nobodyさん2011/04/03(日) 19:41:16.19ID:???
Last-Modifiedでも逮捕されるぞ!!
0303nobodyさん2011/04/03(日) 21:56:15.78ID:???
リクエストがheadなだけでやってることは同じです
0304nobodyさん2011/04/03(日) 22:13:21.62ID:???
全然違うだろw転送量とか意識したことないんだなw
0305nobodyさん2011/04/03(日) 22:25:16.61ID:???
岡崎図書館って転送量が問題になったの?
0306nobodyさん2011/04/03(日) 23:17:59.35ID:???
逮捕されるとかマジで?
0307nobodyさん2011/04/03(日) 23:29:36.16ID:K4LtsUMu
$ary = array("aaa", "bbb", "ccc");

echo "<ul>";

foreach ($ary as $v) {
echo "<li>".$v."</li>";
}
echo "</ul>";

もしforeachの中で$aryが空だと分かればulタグを出力しないで<p>空です</p>と出力するにはどうしたらよいでしょうか?
$aryが空かどうかはforeachの中でしかチェックできない仕様のためどなたかご教示お願いいたします
0308nobodyさん2011/04/03(日) 23:41:58.04ID:ZIlKnwAq
if文で
if($ary=null)
{
echo <p>空です</p>;
}
else{
foreach ($ary as $v)
echo "<li>".$v."</li>";
}
0309nobodyさん2011/04/03(日) 23:43:06.44ID:K4LtsUMu
そのような事も考えたのですがforeachの中でしかチェックできない仕様なので。。。
0310nobodyさん2011/04/03(日) 23:46:18.13ID:???
空だとそもそもforeachの中に入らないと思うが
0311nobodyさん2011/04/03(日) 23:50:05.18ID:???
んなことない
0312nobodyさん2011/04/03(日) 23:50:37.03ID:???
>>309
空だとエラー出るからそもそもコードが間違ってるな
あとforeachの外いじれないのに外の<ul>制御しようってのが矛盾してるぞ
どうしてもやるならクライアントサイドで書き換えるって手になる
0313nobodyさん2011/04/03(日) 23:50:44.04ID:K4LtsUMu
解決しました
0314nobodyさん2011/04/03(日) 23:51:23.36ID:K4LtsUMu
すみません空というのは$ary = array()の事を伝えたかったのです
0315nobodyさん2011/04/03(日) 23:52:45.18ID:???
どんなふうに解決したのか教えてください
正直、信じられません
0316nobodyさん2011/04/03(日) 23:55:00.75ID:???
こんなの難しいレベルでもねえだろwwwwwwwwwwwwwwwwwwwwwww
0317nobodyさん2011/04/03(日) 23:55:42.66ID:K4LtsUMu
>>315
ob_startで解決しました
0318nobodyさん2011/04/04(月) 02:07:01.89ID:???
>>304
無知乙
短間隔のポーリングで問題になるのは
サーバのソケット数が足りなくなることだろ
この記事読んどけ
http://nosa.cocolog-nifty.com/sanonosa/2006/04/windowstime_wai_00d2.html
0319nobodyさん2011/04/04(月) 06:54:18.17ID:???
>>306
被害者が訴えさえすれば逮捕されることも有り得るということだな。
岡崎図書館の場合は結局不起訴(事実上の無罪)になったが、20日間も警察に拘束された事実は消えない。
第3者機関はシステムに問題があると指摘したが、結局システム会社も図書館長もシステムの不備は認めず仕舞い。
一旦振り上げた手はそう簡単に降ろせないわけだ。大人とはそういうもの。
0320nobodyさん2011/04/04(月) 15:08:49.89ID:eDunUa2Z
今ってデータベースはPDOだけ使えばいいですか?
0321nobodyさん2011/04/04(月) 15:11:15.14ID:???
PDOなんかいらない!
MySQL関数で十分だ!!
0322nobodyさん2011/04/04(月) 15:16:28.83ID:uKnLpE6z
ありがとうございます
PDOのがいいんですね
これからPDOを使うことにします
0323nobodyさん2011/04/04(月) 16:40:57.86ID:1s3/8KTt
urlencode(日本語).jpg
見たいな感じでキャッシュつくって読んでみたら、
ブラウザによっては勝手にデコードされるんですけど。。。

何か良い手はありませんか?
0324nobodyさん2011/04/04(月) 17:22:14.80ID:???
何に対してよい手を探しているのか。
ファイル名変えたら?
0325nobodyさん2011/04/04(月) 17:37:56.31ID:???
>>324
デコードされないように追加変換する事にした。
ファイル名の変更は現実問題として無理なのでNGです。
ありがとう。
0326nobodyさん2011/04/04(月) 19:24:16.22ID:???
お前らわかってて質問してるだろwww
0327nobodyさん2011/04/04(月) 19:26:00.86ID:???
てことはファイル名を変更したんじゃないのか
解決したならいいが
0328nobodyさん2011/04/04(月) 21:26:32.22ID:9VudboYI
$im = imagegrabscreen();
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);

これをWindows Vista+apache+PHP5.3.6で実行すると真っ黒な画像が表示されてしまいます
サービスの設定で「デスクトップとの対話をサービスに許可も済んで、apacheの再起動もやりました
何が原因でしょうか?
0329nobodyさん2011/04/04(月) 21:28:06.65ID:???
下記の内容で困っています・・・。


サイトA
IE→ログイン可能
Firefox→ログイン可能
Chrome→ログイン可能

サイトB
IE→ログインできない
Firefox→ログイン可能
Chrome→ログイン可能

という謎の現象が発生しております。
サイトAとサイトBのスクリプトは全く同じで、
Cookie周りが怪しいなと思っているのですが、
その場合、どこを見ればわかりやすいでしょうか
0330nobodyさん2011/04/04(月) 21:35:40.21ID:???
>>328
ホウ!こんな面白そうな関数があったのか!
0331nobodyさん2011/04/04(月) 21:43:23.07ID:8EkRwCFf
opensocialのmixiアプリ開発をしています。
phpの知識もフレームワークの知識もゼロで、手持ちの本を見ながらやってるのですが
完璧に行き詰ってしまって困っています。

javascriptを利用してサーバサイド側のcakePHPフレームワークを介してデータをやりとりするというところなのですが、
通信を開始してもまったく返答がないので何かしらのエラーがあるのは確実なんですが、cakePHPのデバッグ方法がわからず、
一体どこでエラーが起きているのかまったくわからない状態です。
何かエラーの原因を探る方法があればご教授ください。
0332nobodyさん2011/04/04(月) 21:46:04.32ID:9VudboYI
解決しました
0333nobodyさん2011/04/04(月) 21:48:06.02ID:???
>>331
cakePHPよりCodeIgniterがお勧め
cakePHPの教本よりもCodeIgniterの日本語マニュアルのほうが親切で分かり易い
cakePHPはもう今の時代にはコードが古いので乗換えをお勧めする
0334nobodyさん2011/04/04(月) 21:53:00.10ID:vvCt2F5b
<?php
$cookie = setcookie("TestCookie", 1);
var_dump($_COOKIE);
var_dump($cookie);
?>

上記の実験をしてみると

Firefoxでは
int (1)
bool (true)
が返るのですが

IEでは
array (0)
bool (true)
と返ってきます。

IE自体のCookieは有効なのですが、
なんでCookie登録されないのでしょうか・・・。
0335nobodyさん2011/04/04(月) 21:55:19.92ID:???
フレームワークの変更は現実問題として無理なのでNGです。
0336nobodyさん2011/04/04(月) 21:56:51.48ID:???
>>334
$_COOKIE が空だからだよ!
0337nobodyさん2011/04/04(月) 22:00:36.54ID:vvCt2F5b
>>336
setcookieって$_COOKIEに入るものではないんですか?
0338nobodyさん2011/04/04(月) 22:02:48.28ID:???
setcookieはクライアントにHTTPヘッダーでクッキーを送信するもの
$_COOKIEはクライアントがHTTPリクエストするときに送信してくるもの
0339nobodyさん2011/04/04(月) 22:06:43.19ID:???
だからそのページをリロードすればIEでも同じ結果になるんじゃない?
0340nobodyさん2011/04/04(月) 22:09:22.69ID:vvCt2F5b
>>339
何度もリロードしていますが、
一向にIEには値は入らないです・・・。
0341nobodyさん2011/04/04(月) 22:09:47.57ID:???
つーか、var_dump($_COOKIE); の結果が int (1) ってどうなのよ??
0342nobodyさん2011/04/04(月) 22:10:37.83ID:vvCt2F5b
>>341
すみません省略してしまいました。

実際には
array("TestCookie" => int(1))
です
■ このスレッドは過去ログ倉庫に格納されています