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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0652nobodyさん2010/12/13(月) 11:51:19ID:???
unlink(>>650)
0653nobodyさん2010/12/13(月) 13:05:35ID:???
>>652
パーミッションエラー
削除する権限がありません
0654nobodyさん2010/12/13(月) 13:13:46ID:???
MySQLのビューって、LEFT JOINみたいにキーが一致するものを取得するんだと思ってたけど
実際には一度全てのパターンマッチを取得してからWHEREでキーの一致する部分を検索してたんだな
そりゃ思いはずだ
0655nobodyさん2010/12/13(月) 17:57:30ID:???
ゴバ━━━━(゚∀゚)━━━━ク!!!!
MySQL 総合 Part18
http://hibari.2ch.net/test/read.cgi/db/1276247839/l50
0656nobodyさん2010/12/13(月) 19:51:50ID:3wG2VAx5
Windows7(32bit)
PHP5.3.3
Apache2.2.17
この環境で拡張子htmlのファイルからテキストデータを拡張子phpのスクリプトに送信すると何故かダウンロードダイアログが出てしまいます
php→phpだと特に問題ないのですが何か設定するべき箇所はありますか?
0657nobodyさん2010/12/13(月) 20:04:02ID:???
キャッシュ削除してみると幸せになれるかも

あとはエスパーに任せたw
0658nobodyさん2010/12/13(月) 20:31:58ID:X4P4A1O7
>>656

> テキストデータを拡張子phpのスクリプトに送信する

 この部分についての具体的な記載をお願いします。

>> テキストデータを送信する、拡張子phpのスクリプトに

 どの様な方法で、どの様なテキストデータを送信しているかが判然としません。
0659nobodyさん2010/12/13(月) 20:33:41ID:???
追加して書けば…

>> 拡張子phpのスクリプトで受信する

 考えがあると思いますが、どのようなテクストデータを
 どの様に受信する考えでしょうか?

 質問が漠然とし過ぎていて、回答が得難いと考えます。

0660nobodyさん2010/12/13(月) 20:47:57ID:3wG2VAx5
>>658-659
漠然としすぎましたね申し訳ないです
具体的なソースを書くと

A.html
<FORM method='post' action='B.php'>"
<input type='text' name='a'>"
<BR>"
<input type='submit' value='送信'>"
</FORM>"
このフォームで作ったテキストデータを

B.php
<?php
print $_POST["a"];
?>
このスクリプトにPOSTで送信して表示させたかったのですがAがhtmlだとダウンロードダイアログが開いてしまいます
A.htmlを
<?php
echo "<FORM method='post' action='uke.php'>";
echo "<input type='text' name='a'>";
echo "<BR>";
echo "<input type='submit' value='送信'>";
echo "</FORM>";
?>
の様にphpソースに書き換えるとB.phpに問題無く送信出来て表示も出来るのでapacheのhttpd.conf等に何か記述漏れがあるのかと思い質問させて頂きました
0661nobodyさん2010/12/13(月) 21:00:56ID:???
どう見ても下はBに送ってないが
0662nobodyさん2010/12/13(月) 21:05:18ID:???
A.htmlにダブルクオーテーションが混入してるように見えるが
0663nobodyさん2010/12/13(月) 22:09:59ID:3wG2VAx5
すみません自己解決しました
原因はhtmlファイルにhttp://localhost/〜経由でアクセスしていたのではなくhtmlなのをいいことに直接ファイルをクリックしていたのが悪かったみたいです
0664nobodyさん2010/12/13(月) 22:11:53ID:???
はぁ?
0665nobodyさん2010/12/13(月) 22:20:58ID:???
つまりhttp://ではなくりC:\\name.htmlを開いて実行していたんでしょw

自鯖でR15秒更新のチャートをGDで作っているんだけどたまに重いときがあるんだ。
理由がさっぱりわからない。だれか理由はわかりませんか?
0666nobodyさん2010/12/13(月) 22:28:55ID:???
>>665
>>1
0667nobodyさん2010/12/13(月) 22:45:49ID:???
IEを相手にContent-Dispositionのfilename=で日本語ファイルを設定するにあたり、

1 SJISでファイル名を返す
2 URL EncodeしたUTF8文字列を返す

双方試したのですが、ファイル名に半角スペースを含む場合

1はアンダーバーに変更される
2は+のままになる

という症状になってしまいます。
スペースのままファイル名を付けるいい方法はないでしょうか?
0668nobodyさん2010/12/13(月) 22:53:46ID:???
>>667
>>1
0669nobodyさん2010/12/13(月) 23:04:39ID:???
ごめんなさい、PHP使ってるけどPHP関係ありませんでした、移動します。
0670nobodyさん2010/12/14(火) 04:13:11ID:???
最近「>>1」厨がウザいのですが、
何か良い解決法はありませんでしょうか?
0671nobodyさん2010/12/14(火) 05:19:17ID:???
>>1厨厨
0672nobodyさん2010/12/14(火) 06:41:40ID:l3lG4ooA
入力したデータを送信してPHPで処理するのを作ってるんですが(主に文書)
その際のエラーチェックやセキュリティはPHPで行うのと、JavaScriptで行うのどっちがいいのでしょうか?

自分的にはクライアント側でやったほうがサーバーの負荷が少なくて済むと思うのですが
サーバー側でやった方がセキュリティ方面で良かったりします?
0673nobodyさん2010/12/14(火) 06:56:20ID:???
クライアントなんてJavaScriptきってれば抜けられるわけだが
JavaScriptで送信するようにしてもクライアントのみのチェックはやってはいけない
最終的に判断するのはサーバであるべき
クライアント側はあくまでも補佐であることを忘れてはならない
(送信→失敗→再送信→失敗→再送信・・・といったことを少なくするための)
0674nobodyさん2010/12/14(火) 07:08:01ID:P37GDDtJ
>>672

> エラーチェックやセキュリティ

何を基準にエラーやセキュリティと述べているかが判然としません。
0675nobodyさん2010/12/14(火) 07:19:58ID:l3lG4ooA
>>673
なるほど!ありがとうございます!
0676nobodyさん2010/12/14(火) 07:23:12ID:???
俺としてはJavaScriptで確認、PHPで再確認するのがいいかな
Javascriptだけのチェックじゃ>>673の言うとおり切ってりゃすぐ抜けられる
だけどJavaScriptでもチェックできるようにしたらサーバーへの負担も少なくなるしクライアントも楽
サーバーの補佐としてJavaScriptを入れておくことを薦める
0677nobodyさん2010/12/14(火) 08:13:37ID:???
俺としてはPHPでのチェックがネックになるようなサーバなら捨てちまえ
0678nobodyさん2010/12/14(火) 09:11:52ID:???
大規模なところだとそういうの気にした方がいいんじゃね?
mixiとか
0679nobodyさん2010/12/14(火) 09:38:52ID:???
何をチェックするかによるだろ
データベースに照合してかぶってないか確認するような場合はそもそもJavaScriptじゃ無理だし
文字数やら型やら調べるだけなら負荷とか考える必要もない
0680nobodyさん2010/12/14(火) 09:40:48ID:???
入力間違いとかユーザに起因するエラーチェックはクライアント側(JavaScript)
セキュリティなど悪意のあるユーザ対策はサーバー側(PHP)
かな
0681nobodyさん2010/12/14(火) 09:43:33ID:???
分けるんじゃなくて必ずサーバ側でやらないとだめ
入力間違いをJavaScriptを無効化されてすり抜けた場合間違ったまま登録できてしまう
0682nobodyさん2010/12/14(火) 10:12:25ID:???
本来、JavaScript を使用してクライアント側でチェックするのは、使用者をサポートすることを目的として使います。
サーバー側で処理をする上でのチェックは、使用者をサポートすることは考えません。
サーバー側での処理を考えてのチェックであり、チェックする目的が違っています。
0683nobodyさん2010/12/14(火) 10:28:05ID:???
Ajaxが主流の時代に何言ってんだよ。
サーバーでのチェックなんて時代遅れ。
全てJavascript+Ajaxでやるのが正解。
0684nobodyさん2010/12/14(火) 10:30:06ID:???
>>683
頭悪いの丸出しだぞ
Ajaxの定義をしっかり持ってこい

どちらにせよ、サーバーサイドで全て行い、クライアントにも使いやすいようにJavaScriptでもするのがいいんじゃないかな?
0685nobodyさん2010/12/14(火) 10:44:43ID:???
Javascript+Ajax(キリッ

ひさびさに笑わせてもらった
0686nobodyさん2010/12/14(火) 10:45:55ID:???
>>683は釣りだよな?
素で言ってるならとてもこの板の住人とは思えない
0687nobodyさん2010/12/14(火) 10:49:11ID:???
はぁ?サーバーサイドとか意味ないし。
Ajaxで十分。
0688nobodyさん2010/12/14(火) 10:50:27ID:???
ちょっと待て、何言ってるんだ
0689nobodyさん2010/12/14(火) 10:50:50ID:???
Ajaxはサーバと通信しないとでもいいたいようだなw
0690nobodyさん2010/12/14(火) 10:51:56ID:???
サーバーへの負荷が少なくファイルが存在するのかチェックする方法はあるのでしょうか?
file_get_contentsで内容までは読む必要はありません。

>>683
それは何処からどうみても間違い
0691nobodyさん2010/12/14(火) 10:54:30ID:???
get_headers
しかし関数名とは裏腹にGETリクエストしてるって数スレ前で指摘されてたのが気になるところ
curlでheadリクエストしたほうがいいかも
0692nobodyさん2010/12/14(火) 10:55:25ID:???
>>690
質問ならIDを出すように。

Ajaxの事よく知りもしないで適当なこと言ってんじゃねぇよ。
0693nobodyさん2010/12/14(火) 10:55:50ID:???
file_exists
0694nobodyさん2010/12/14(火) 10:57:15ID:???
>>691,693
ID出さない奴に答えてんじゃねぇよ。荒らしかよクズが
0695nobodyさん2010/12/14(火) 10:57:23ID:???
誰かスレ違いだけど>>687に教えてやれよ
0696nobodyさん2010/12/14(火) 10:58:06ID:???
何か変なのが沸いてしまった
0697nobodyさん2010/12/14(火) 10:58:49ID:???
低能さを自ら晒して顔真っ赤になっちゃってかわいいのうwww
0698nobodyさん2010/12/14(火) 10:59:45ID:???
うわ、IDを出せと煽っていた人のスキルがここまで酷いものだとは思わなかった
0699nobodyさん2010/12/14(火) 11:09:48ID:???
>>695
誰も質問してねぇし。

おもいら揃いも揃ってクズだな。ここまでひどいとは思わなかったよ。
PHPなんかもう古いだろ。これからはAjaxらしいから勉強したほうがいいぞ。
0700nobodyさん2010/12/14(火) 11:14:38ID:???
>>691
>curlでheadリクエストしたほうがいいかも

こちらで作りました
ありがとう
0701nobodyさん2010/12/14(火) 11:16:41ID:???
>>699
お前ちょっと自分が思ってるAjaxを説明してみろ
0702nobodyさん2010/12/14(火) 11:16:51ID:???
>>700
最後までID出さずじまいか。最悪だな。
0703nobodyさん2010/12/14(火) 11:17:41ID:u6a6HqKY
今質問してもよろしいのでしょうか・・・?
0704nobodyさん2010/12/14(火) 11:17:51ID:???
>>701
質問ならIDを出すように。
Ajaxくらいググればいくらでも調べられるだろ。
人に頼ってんじゃねぇよ。
0705nobodyさん2010/12/14(火) 11:18:19ID:???
ヴァカが1人湧いてるだけなので気にせず質問してね
0706nobodyさん2010/12/14(火) 11:19:10ID:???
ヴァカって言った奴がヴァカとはよく言ったものだ
0707nobodyさん2010/12/14(火) 11:20:16ID:???
うわぁ・・・
本当にいつもの脳がメルトダウンしてるやつだったか
こんな低レベルが煽りに駐留してるなんてもうPHPスレもだめかもわからんね
0708nobodyさん2010/12/14(火) 11:24:34ID:???
いやそれ以前にAjaxもろくに知らないおまいらのレベルが終わってんだろ
0709nobodyさん2010/12/14(火) 11:30:37ID:u6a6HqKY
入力するときはUTF-8
入力された文字を保存するテキストファイルはANSIで保存
そんでそのテキストファイルを表示する時はまたUTF-8という感じにしたいのですが

ANSIで表示できないUTF-8の特殊文字(例:?)だけを?と変換して保存し
更にソレをUTF-8とかでブラウザーでちゃんと元の特殊文字で表示されるようにするにはどうしたらよいのでしょう?
0710nobodyさん2010/12/14(火) 11:30:49ID:???
病院連れて行かないでこのスレに常駐させておく親も親だな
0711nobodyさん2010/12/14(火) 11:31:23ID:???
もう誰が誰だかよくわかんない
ID???とかマジで油豚みたいなの擁護してるだけとしか思えん
0712nobodyさん2010/12/14(火) 11:33:29ID:???
この板Unicode対応してないから特殊文字使えんよ
0713nobodyさん2010/12/14(火) 11:37:56ID:???
>>709

> 入力するときはUTF-8
 これはクライアント側で入力するときにUTF-8と言う意味ですか?
 サーバー側で受け、PHPに渡されるときのコード体系がUTF-8と言う意味ですか?

> 入力された文字を保存するテキストファイルはANSIで保存
 これはサーバー側でPHPにて、テキストファイルとして保存することを述べていますか?

> そんでそのテキストファイルを表示する時はまたUTF-8という感じにしたいのですが
 「テキストファイルを表示する」とはPHPで表示するという意味ですか?
 サーバー側でサーバーの端末に表示するんですか?
 それとも入力に使用したクライアント側で表示することを意図していますか?

どこでPHPが関わってくるのか、クライアント側、サーバー側がどこで関わるのか、
それらを明確にすることで、あなたが意図する回答も得やすいと思います。
0714nobodyさん2010/12/14(火) 11:40:33ID:???
>>709
素直にAjaxを使ってください。
0715nobodyさん2010/12/14(火) 11:42:28ID:???
>>714 `;:゙;`;・(゚ε゚ )ブッ!! 微妙な流れに牛乳噴いちゃいました。
0716nobodyさん2010/12/14(火) 11:44:49ID:u6a6HqKY
>>713
すみません、説明不足でした

入力する時というのはクライアント側で、という意味です。そしてその文字列をPHPでサーバーに送ります
そしてサーバーにテキストファイルとして保存する時ANSIで、という事です
PHPでテキストファイルを読み込んで表示するという意味です
0717nobodyさん2010/12/14(火) 11:45:52ID:???
こーいう初心者スレって大抵初心者うぜぇ死ねって展開なのに
逆なんだよなぁココ
0718nobodyさん2010/12/14(火) 11:45:59ID:???
>>709
ANSIで保存というのはどういうことでしょうか。
実は別に変換して保存しなくてもいいのではないですか?
utf8そのまま表示すればいいんだし。
文字コード変換で、指定されたコードで変換できない文字を別の表現に変えて保存したりすることはありますが。
なんでそんな変換をしないといけないと思ったか書いてもらえるといいかも。
0719nobodyさん2010/12/14(火) 11:49:59ID:???
そろそろajaxネタ自重してくれ
0720nobodyさん2010/12/14(火) 11:50:34ID:???
深読みして容量節約のためなら単に圧縮すればいいよ
それでPHPで読むとき解凍すればいい
0721nobodyさん2010/12/14(火) 11:51:12ID:u6a6HqKY
>>718
UTF-8だと全角文字の容量が3バイトだったりして100MBの全角文字が150Mになったりするので
だけどUnicodeの特殊文字も使いたい、という訳です
そんで記号とか普通の文字はANSIでそのまま、Unicode特有の特殊文字は#8492とか変換してANSIのテキストファイルで保存したいな
という事です
0722nobodyさん2010/12/14(火) 11:53:01ID:???
無理だろ新しい武器なんだぜ?
池沼にとっては足りない脳みそを補うために必要なものだ

回答者が質問者に追加情報聞き出すために質問→質問はID出せ
質問者への回答→Ajax使え
煽りへの対抗→Ajax知らねえだけだろ自分でググレ
07237182010/12/14(火) 11:54:36ID:???
>>721
まずANSIってのやめましょうよ。
>>720のエスパーに敬意を表して、ファイルごと圧縮すれば?
たとえば3バイト文字だけ選んで記号化しても3バイトで収まらないっすよ?
0724nobodyさん2010/12/14(火) 11:59:34ID:???
>>721

サーバーでの容量を気にしている時点でPHPうんぬんから視点を変えることをお勧めします。
サーバーの容量をPHPプログラミングで救済するよりはサーバーの増強を検討した方が良いと思います。
容量が大きなファイルを取り扱うのならば見合ったサーバー構成にすることが望ましいです。
0725nobodyさん2010/12/14(火) 12:04:20ID:???
2chのunicodeがonになってる所ってどーなってんだっけ?
2chのログってJISで保存してたと思うけど
unicodeがonになってる板はutf8とかでログ保存してんの?
0726nobodyさん2010/12/14(火) 12:07:43ID:???
ただの数値実体参照だろ
0727nobodyさん2010/12/14(火) 12:17:45ID:???
shiftjisに変換して漢字を2バイトに収めたうえで変換できない文字だけを
別表記(たとえば数値実体参照)でって方法もあるけど。
mb_substitute_characterでlong指定とか。
0728nobodyさん2010/12/14(火) 12:35:08ID:???
あ、もしかして参照したいのか?
2chみたいに
ログ→数値
ブラウザ→表示
でも入力する時コードで入力しないとダメだけど
0729nobodyさん2010/12/14(火) 12:40:56ID:???
>数値実体参照
>数値実体参照
>数値実体参照
0730nobodyさん2010/12/14(火) 12:43:15ID:???
だっけどさーわざわざ?ってログ作るよりunicodeでそのまま保存したほうが容量軽いんじゃねー?って思ったりするんだが
ログも全部UTF-8でいいよJISなんて携帯が足引っ張ってるだけなんだし
0731nobodyさん2010/12/14(火) 12:45:39ID:???
数値実体参照変換はphpじゃ無縁なんじゃない?
0732nobodyさん2010/12/14(火) 13:06:00ID:???
つまりまとめるとphpで文字実体参照したいですって事か。
どっちが数値でどっちが文字かわかんねぇが。
0733nobodyさん2010/12/14(火) 13:16:48ID:???
お前ら本当に得意不得意ハッキリしてんな
0734nobodyさん2010/12/14(火) 13:17:19ID:???
数字実体参照ってのはまあ間違いだな。
0735nobodyさん2010/12/14(火) 13:19:27ID:???
軽い話題じゃないとついていけないからなしょうがない
0736nobodyさん2010/12/14(火) 13:22:06ID:???
JISなんか使ってたっけ?
0737nobodyさん2010/12/14(火) 13:36:45ID:???
JISはまた容量増えるしな。
あ1で8バイトだ
0738nobodyさん2010/12/14(火) 13:38:58ID:???
うっそマジで、もうメリット無いじゃん
0739nobodyさん2010/12/14(火) 13:43:33ID:???
ajax厨はなんなんだ
0740nobodyさん2010/12/14(火) 13:46:05ID:???
お前ら文字コードの参照くらいAjaxでできるだろ
時代はAjaxだろ
0741nobodyさん2010/12/14(火) 13:47:59ID:???
ANSIって
あいうえお→10バイト
あ1→3バイトじゃないの?
ちょっとまた容量増えるってどういうことだ、ANSIとJISの違いがわからない俺に説明してくれ
0742nobodyさん2010/12/14(火) 13:49:04ID:???
AJAXのXの部分はPHPが担当するんだけどな
0743nobodyさん2010/12/14(火) 13:51:03ID:???
>>741
ごめん1バイト間違えたのでついでに解説
こっから漢字な:1B 24 42
あ:24 22
漢字ここまでな:1B 28 4A
1:31
で9バイトっす
0744nobodyさん2010/12/14(火) 13:53:48ID:???
俺、
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
↑
テキストは自動的にANISで保存される

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
↑
テキストは自動的にUTF-8で保存される

っていう無知無知ギャルな認識してんだけどコレ合ってんの?
0745nobodyさん2010/12/14(火) 13:55:25ID:???
受け取った文字列のencodingをdumpしてみればいいじゃないか
0746nobodyさん2010/12/14(火) 13:56:39ID:???
>>744
文字コードを指定すると、自動でそのタグ書いてくれる
アプリなら見たことあるけど、それを書くと自動で
文字コードを変更してくれるアプリは見たこと無い。
あるの?
0747nobodyさん2010/12/14(火) 13:59:05ID:???
>>744
それはブラウザで表示するテキストの文字コードじゃないか?
保存されている文字コードに合わせて、そのタグを書いてやるとブラウザがそれを参考に出力してくれる。
0748nobodyさん2010/12/14(火) 13:59:21ID:???
>>744
上のなら、 このファイルはShift_JISだぞ、そのつもりで読めよってブラウザに知らせるだけだよ。
0749nobodyさん2010/12/14(火) 14:01:17ID:???
>>746
笑って良いがutf-8で行うとテキストが勝手にUTF-8で保存されてて
Shift_JISで行うとテキストが勝手にANSIで保存されてたっていう体験談でそう決めてた

まぁutf-8の場合unicode形式の文字送ったらテキストがUTF-8になって
Shift_JISでunicode形式の文字送ったらそのままANSIで数値実体参照変換されたんだろうって事だろうけど
0750nobodyさん2010/12/14(火) 14:02:23ID:???
>>749
後者で正解・・・・・・だと思う。
0751nobodyさん2010/12/14(火) 14:02:44ID:???
勘違いしてるとこがあるけど、説明がめんどくさいw
■ このスレッドは過去ログ倉庫に格納されています