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

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

レス数が1000を超えています。これ以上書き込みはできません。
00012009/10/11(日) 21:18:54ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0959nobodyさん2009/11/13(金) 11:37:12ID:???
>>958
日本語読めますか?

my.iniの文字コードの設定とか確認しろ屋ksg
あとphpとmysqlのバージョンぐらい書け出来損ない
skip-character-set-client-handshakeでもmy.iniに設定してろks
0960nobodyさん2009/11/13(金) 11:40:50ID:???
>>958
だったらMySQL関係ない
HTMLの文字コード宣言かスクリプトの文字コードが違う
0961nobodyさん2009/11/13(金) 11:43:35ID:???
>>960
え?
0962nobodyさん2009/11/13(金) 11:47:37ID:???
print '社員番号:';

これが文字化けするならDB関係無い
0963nobodyさん2009/11/13(金) 11:57:23ID:TXCm92bg
>>962

単純に上記のコードだけの入力なのですが、HTMLの文字コード宣言かスクリプトの文字コードが影響しているのでしょうか?
それともmbstringの設定がおかしいのでしょうか?
一応、
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = auto;
mbstring.script_encoding = EUC-JP
が自分の設定です
上でも書きましたが、SQLite3ではこのような事は起きませんでした


>>959
書き込み中でした
skip-character-set-client-handshake設定しても変化なしです
PHP Version 5.2.10、MySQLは最新版で5.1です
0964nobodyさん2009/11/13(金) 12:02:48ID:???
mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
mbstring.http_input = pass
mbstring.http_output = SJIS
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = auto;
;mbstring.script_encoding = EUC-JP
0965nobodyさん2009/11/13(金) 12:02:54ID:???
>>963
スクリプト自体の文字コードとHTMLの文字コード宣言はどうなってる?
0966nobodyさん2009/11/13(金) 12:18:08ID:TXCm92bg
>>964
すみません、そのようにコメントアウトしたのですが、改善されませんでした

>>965
ごめんなさい、あまり良く分かっていないもので、「スクリプト自体の文字コードとHTMLの文字コード宣言」という意味が分かりませんでした
上記のコードを、http://localhost/から行っただけです
<? php 〜 ?>の中に<html>コード等を記入したわけではないです
また、逆に<html>コード内で<?php 〜 ?>を記入したわけでもございません

それとも、何か他に「スクリプト自体の文字コードとHTMLの文字コード宣言」というのがあるのでしょうか?


0967nobodyさん2009/11/13(金) 12:25:10ID:TXCm92bg
簡単なコードで試してみましたが、確かにDBの問題ではなく、PHPの問題だと分かりました

例えば、test.phpを作り、http://localhost/test.phpとすると、

<? php
print 'Good Bye';
?>
とするとブラウザにはGood Byeと表示されますが、

<? php
print 'ようこそ';
?>
とすると、ブラウザには ???? と出力されます

どう解決すれば宜しいのでしょうか?
0968nobodyさん2009/11/13(金) 12:26:10ID:???
>>966
スクリプト自体の文字コードというのは
そのphpのソースをエディタで書いて保存する時に、何の文字コードで保存しているかって事
0969nobodyさん2009/11/13(金) 12:37:37ID:TXCm92bg
>>968

上記のコードは書籍の問題に載ってるコードなので、それをそのまま使ったので分かりません
一応右クリックしてプロパティとかで調べても自分には分かりませんでした

自分のテキストエディタはTeraPad使っているのですが、初期文字コードはSHIFT-JISになっているようです
保存文字コードは自動に設定されています
0970nobodyさん2009/11/13(金) 12:50:07ID:???
>>969
php.ini変えたらwebサーバの再起動してる?
0971nobodyさん2009/11/13(金) 12:52:33ID:???
TeraPadは使うな!!!!!!!!!!!!!!!!
サクラエディタUnicode版をおとなしく使え!!!!
0972nobodyさん2009/11/13(金) 13:00:04ID:???
>>966
960で965じゃないけど、
>ごめんなさい、あまり良く分かっていないもので、「スクリプト自体の文字コードとHTMLの文字コード宣言」
>という意味が分かりませんでした
自分がよく分からないからといって、もらった回答をシカトするのは最悪の行為だと思うよ

以下のページなども参照のこと。
http://d.hatena.ne.jp/next49/20081107/p1
>指導教員が一番がっかりするのは、一生懸命指導した内容に対して無視されること。それが、故意あるいは
>そうでないとしても「無視した」という結果が重視されるという点をよく理解するべき。理解できない場合、納得で
>きない場合は必ず指導教員に問い合わせるのが重要。

で本題だけど、あと思い当たるのは、
970か、php.iniのコメントを外してないか、
違うphp.iniを編集してるか(phpinfo関数で確認)か、
Apacheの文字コードが変なことになってるか、など
0973nobodyさん2009/11/13(金) 13:13:01ID:???
>>969
php.iniなどを見直したら、あとは出力する時に
content-typeもしっかり書くようにしてね

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<? php
print 'ようこそ';
?>
</body>
</html>
0974nobodyさん2009/11/13(金) 13:23:38ID:LpZjQz1C
質問です。

post.phpから
data.txtへ

<img src="fds.jpg"><br>
<img src="ffgg.jpg"><br>
<img src="fdfgd.jpg"><br>
<img src="htrds.jpg"><br>

などとランダムな*.jpgを表示させる行を自動書き込みするようにして

<?php readfile("data.txt"); ?>
で表示させ、表示させたらdata.txtを空にしたい場合どう記述すれば良いでしょうか?

宜しくお願いします。
0975nobodyさん2009/11/13(金) 13:27:06ID:???
宿題乙
0976nobodyさん2009/11/13(金) 13:30:31ID:???
1)data.txtを生成する
2)data.txtを読む
3)読んだ内容をクライアントに送出
4)data.txt消す

簡単じゃん。
0977nobodyさん2009/11/13(金) 13:38:12ID:TXCm92bg
>>972
?????
しかとしてませんよ?
>>963で「HTMLの文字コード宣言かスクリプトの文字コードが影響しているのでしょうか? 」って書いてます

>>957の事でしたら、書き込み中だったのと、それについて調べたり実行中だったので
後でちゃんと謝っています

php.iniのパスコードなど全部見直しましたが、間違っていませんでした


>>970
reStartは一応毎回しております


>>973
わかりました、今からちょっと試してみます
0978nobodyさん2009/11/13(金) 13:45:01ID:???
ブラウザの 表示のエンコードのとこが今どうなってて、変えて文字が出る選択はない?
0979nobodyさん2009/11/13(金) 13:53:56ID:TXCm92bg
>>971
なんか色んなところでTeraPadは使うなという事を書かれているので、ちょっと試してみます


>>978
自分、FireFoxの一番新しいのを使っているのですが、変えても文字化けは変わりませんでした

しかし、今昼食を食べてから、>>968さんのアドバイスを受けて、TeraPadの保存文字コードをEUCに変えたところ、やっとブラウザにて日本語が表示されました
今までデフォルトの自動ばかりでやっていたのですが、保存文字コードの重要性を初めて実感いたしました
0980nobodyさん2009/11/13(金) 13:58:55ID:???
Content-TypeのcharsetはShift-JISにしてるんじゃなかったの?
0981nobodyさん2009/11/13(金) 13:59:03ID:TXCm92bg
今考えてみて分かったのですが、>>964で自分はEUC-JPを設定しているようです
だからTeraPadでEUCで保存しなければ駄目だったのですね?
こういう部分の知識が乏しかったようです

色々と勉強になりました
皆様、有難うございました
0982nobodyさん2009/11/13(金) 14:03:17ID:TXCm92bg
>>980

>>973の教えてくれた方法でしょうか?
それとも自分が<html>を使う時のことでしょうか?
またはphp.iniやブラウザなどの設定でしょうか?

>>973さんの教えてくれたコードをそのまま実行してみたのですが、エラーも出ずに、真っ白なままで出力されました

また、今回ちゃんと日本語が出たコードは>>955のコードをそのままhttp://localhost/から実行しました
0983nobodyさん2009/11/13(金) 14:07:28ID:???
いや、ごめん、もういいよ・・・
0984nobodyさん2009/11/13(金) 22:04:04ID:qPMadgrN
>>944
ありがとうございました。無事に実装出来ました。
この正規表現は私の力では無理でした。
0985手柄横取りくん2009/11/13(金) 23:54:45ID:???
いいってことよ
0986nobodyさん2009/11/14(土) 04:44:15ID:???
>>963とか>>964みたいなmbstringの変な設定が出回ってるのって、何が原因なんだろうな
0987nobodyさん2009/11/14(土) 06:33:14ID:???
UTF-8に統一したらいいのに
0988nobodyさん2009/11/14(土) 06:48:33ID:???
>>986
携帯は殆どS-JISなんだそうな。
0989nobodyさん2009/11/14(土) 07:15:19ID:???
あうはUTF-8でもEUCでもほとんど関係なく使えるね、CSSも読んでくれる。でもDoCoMoは・・
0990nobodyさん2009/11/14(土) 09:10:46ID:???
SJISに統一するべきだろ UTF8は転送量が増える。
0991nobodyさん2009/11/14(土) 09:14:37ID:???
絵文字を扱っていればUTF-8が楽
PHPもDBもついでにOSもUTF-8に統一しておいて
出力の時にキャリア別にsjisかutf-8かわけるだけ。

cssはHTML_CSS_Mobileを使うと外部CSSをインラインにしてくれる。

0992nobodyさん2009/11/14(土) 11:54:26ID:???
SJIS(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
0993nobodyさん2009/11/14(土) 12:18:54ID:???
UTF-8に統一して、出力するときに必要に応じてエンコードを換えるのが一番楽かと思った
0994nobodyさん2009/11/14(土) 13:03:45ID:???
携帯向けも今はもうUTF-8で問題なくね
mailtoのsubject,bodyは細工せんとだめだけどね
ただむしろ携帯向けは簡単な細工で済むけど
PC向けはあっちを立てればこっちが立たずで困る
0995nobodyさん2009/11/14(土) 14:47:55ID:???
HTML_CSS_Mobileってopenpearの?
0996nobodyさん2009/11/14(土) 15:08:11ID:GdfWs/uY
プログラミングで大切じゃないのって5つの項目の中のどれですか?

1. 「わかりやすく書こう」
2. 「ライブラリ関数を使おう」
3. 「入力の妥当性,現実性をテストしよう」
4. 「速く動くように書こう」
5. 「意味のある変数名を使おう」
0997nobodyさん2009/11/14(土) 16:11:30ID:3aAklpl5
WindowsでPHP4を使ってるのですが
move_uploaded_fileでアップロードしたファイル(例えば画像)をブラウザで閲覧しようとすると
「このページを表示する権限がありません」となってしまいます
もともと置いてある画像は問題なく見ることができます
何がいけないのでしょうか?
0998nobodyさん2009/11/14(土) 16:47:53ID:???
PHP4を使うことが原因w
0999nobodyさん2009/11/14(土) 16:58:17ID:3aAklpl5
なるほど・・・しかし使ってるスクリプトがphp5に対応してないんです・・・
PHP4で直すことってできませんか?
1000nobodyさん2009/11/14(土) 16:59:40ID:???
なおせよwwwwwwwwwwwwwwwwww
いまどきphp4使ってるとか時代後れ杉wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。