【PHP】下らねぇ質問はID出して書き込みやがれ 76
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/11/13(木) 04:15:32ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0583nobodyさん
2008/11/24(月) 20:42:35ID:???実際、ブログで説明されていることはただしいのでしょうか?
http://hain.jp/index.php/tech-j/2007/02/13/p125
0584nobodyさん
2008/11/24(月) 20:58:06ID:???PHP入門の心得 1.0.10p1
・質問は霞ヶ関でも通用するような完璧な形式に。
・過去ログは紀元前までさかのぼって完全に調べる事。
・新機能ができても細部にこだわってできるだけリリースしない。
・「正しい」か「誤っている」かを結論づけないと気が済まない性格になる事。
・質問自体は無視して語句の間違いの指摘に熱中する事。
・初心者を見たらできる限り冷酷に排除。
・回答は1行以内で簡潔に。 例:「マニュアル読め」
・古いバージョンを使っていることがわかると最新にしろという。
・一日三回食後必ずperlをあざ笑う事。
・自分の状態に「自覚症状」を持たないこと。
・板違いの質問をしたperlerを徹底的に叩く事。
・forkする時はアニメ絡みの名前をつける事。
・気に入らない投稿が流れてきたらメールアドレスも含めて全文コピペ
・意味もなく全角英数字を使うやつは小一時間問い詰める事。
0586nobodyさん
2008/11/24(月) 23:08:47ID:???大体正しいけど、実際の設定はその人の設定だから
何で書いて何で出力したいか次第。
厳密に言えばPHPに内部エンコーディングが無い訳じゃない。
例えばPHPはShift_JISで書いても5cを展開しないようにも出来る。
echo "表";ってやってもエラー出ない様に出来る。
ただその場合は、mb.stringだけでは無くて
Zendエンジン側を含めて設定しなければいけない。
コンパイル時にzend multibyteをONにしてなければいけなかったと思う。
mb関数はかなりの文字コード対応してるけど作ってるの日本人だから
PHPメーリングリストにバグとか含めて詳しい情報がある。
かなり挙動に癖があって分かり難いんだけど、コンパイル時に指定できて
外部ライブラリが要らないメリットはデカイから覚えておいたほうが良い。
0587nobodyさん
2008/11/24(月) 23:17:04ID:3K7Ub6cbログの保存で悩んでいるのですが、
MySQLなどのDBに保存するのかテキストベースで保存するのか
どちらの方がアクセス解析の処理がしやすいでしょうか?
前者だと思っているのですが、ログが膨大になるとレコード数が増えて
検索しづらくなるのではないか?と危惧しています。
それに毎回クエリを発行するよりも、ファイルに追加する方が早いのかな?っと感じたり。
具体的なソースがググって見つけられないので、
どちらが適しているかわかりませんが、2ちゃんの皆さんなら知っていると思い、
質問させていただきました。よろしくお願いします。
0588nobodyさん
2008/11/24(月) 23:19:38ID:Z9Lf2PTJ0589nobodyさん
2008/11/24(月) 23:23:12ID:???勉強のためならどっちもやってみたら?
具体的なソースじゃなくてファイルベースの利点と欠点、DBの利点と欠点を調べたほうがいいと思うけど。
もしくは↓の人が丁寧に語ってくれる。
0590nobodyさん
2008/11/24(月) 23:28:56ID:???0591nobodyさん
2008/11/24(月) 23:35:47ID:3K7Ub6cb一応、単純なログ保存ならどっちも試した事があるのですが
そんなに変わらない気がします。DBを使ったログ保存でも
レコードが一定数になったら、削除したりテキスト化すると言う方法もあるし。
>>590
それは良いですね。analogとかawstatsとかおそらくアクセス毎に
ログファイルに記録してますが、そんなに遅いイメージ無いですし。
0592nobodyさん
2008/11/25(火) 11:31:32ID:DHbzqImi<select>
<option>肉</option>
<option>魚</option>
</select>
で、肉を選ばれたら肉のページ、魚を選ばれたら魚のページ、といったようにです。
簡単な雛形でいいのでどう書けばいいか教えて頂けませんか?
0594nobodyさん
2008/11/25(火) 11:51:22ID:sWMxGR9lのどっちに該当するの?
#というのが見つからんかった
0596nobodyさん
2008/11/25(火) 12:02:07ID:???文字コードのクライテリアの話をするときにJSPって(ry
0597nobodyさん
2008/11/25(火) 12:10:45ID:TqJfzk7aぼくみたいな偉いjava使いがわからないphpなんておかしいです。
こんなぼくにもわかるphpの公式ドキュメントはどこですか?
0598nobodyさん
2008/11/25(火) 12:23:12ID:???そういうのはjavascriptでやってくれたまえ
>>597
javadoc読めるならphpマニュアルだってなんとなく理解できるだろ
0599nobodyさん
2008/11/25(火) 12:24:47ID:???別にPHPでも良くね?
JavaScriptのほうが簡単なのは分かるがPHPでやるデメリットが何かあるの?
JS切ってる人も多いし
0600nobodyさん
2008/11/25(火) 12:30:56ID:???つまりいちいちメニュー選んだら送信ボタンを押せっていいたいんだな?
そんなマヌケなメニューなら最初から他の方法とったほうがいいと思うが
0601nobodyさん
2008/11/25(火) 12:35:53ID:???個人的にもイベントハンドラで勝手に画面遷移したり非同期通信したりするのはうざく感じる。
そんなとこより他の本質的な所に力使ってくれよみたいな。
あと切ってる人はどうすんの?
0603nobodyさん
2008/11/25(火) 13:16:08ID:sWMxGR9lすまん 色々見てたらわかった気がする
#mbstring.configuration.html 見てもちゃんと記述されてない気がしたから
function.func-name.html でいいのかな?>namazuしたのから探した
#JSP出したのは、いわんとしてることが、わかる人には正確に伝わると
#思っただけで意味はないよ>こういう言い方があってるかは不明だけどw
#oracleのJA16SJISTILDE 相当のは指定できないの?
#と聞いて見たかったりもしたんだけど
#あまり考えるのはやめよう>SQL鯖だし
ありがとう
0604nobodyさん
2008/11/25(火) 13:20:49ID:???そもそもそんなわかりにくいメニューを使うべきでない。
積極的にRIAを活用したほうがわかりやすいものができる。
しかしRIAのベースになるAjax(JavaScript)やFlashやSilverlightに
ブラウザが対応していない場合はどうするか?(テキストブラウザ等)
JavaScriptがOFFの場合JavaScriptをONにするように促せばいいし、
(そもそもデフォルトのままIEあたりを使うであろう高齢者やPC初心者がオフにするわけがない)
プラグインが入っていないならインストールを促すようにすればいい。
だが対応していないブラウザを使っているたかだか数%のユーザを考慮して、
あらたなコンテンツを作るのは要領が悪い。
html版やFlash版なんかを用意しているサイトもあるが、
全ての環境の全てのユーザーに100%対応させることは限界がある。
よって最初から少数派を切る覚悟はしないときりがない。
0605nobodyさん
2008/11/25(火) 16:09:40ID:QsUscf6u0606nobodyさん
2008/11/25(火) 16:26:20ID:uwgP5Nan【PHPのバージョン】PHP Version 5.2.0
【連携ソフトウェア】なし
【質問内容】
1.青空文庫のようなXHTMLをXMLとして読み込んだ後に
2-1.テキスト要素だけを取り出したい
2-2.a属性のテキストだけ取り出したい
です
1は出来ているのですが、2がわかりません
2の条件として、XMLは外部のものを使うので、テキスト要素までのパスが可変で決め打ちできません
2-2は最後の属性がaのとき、という事です
宜しくお願いします
0607nobodyさん
2008/11/25(火) 16:31:12ID:???0608nobodyさん
2008/11/25(火) 16:38:13ID:???すみません、SimpleXMLを使って読み込んでいますが、処理部がわかりません
2-2はXpathで一応出来ましたが正しいのかわかりません、2-1はさっぱりです
foreach ( $xml->xpath('//a') as $key => $val )
{
$array[] = $val;
}
0609nobodyさん
2008/11/25(火) 16:38:47ID:uwgP5NanID忘れました
0610nobodyさん
2008/11/25(火) 17:49:50ID:???0611nobodyさん
2008/11/25(火) 21:59:38ID:???こういうのは言葉で質問しづらいでしょ
実際にXMLを見せてもらわないとわからんよ。
それと、2-2の意味を掴みかねる。
0612nobodyさん
2008/11/25(火) 22:36:15ID:???SimpleXML使える環境ならどうとでもなるはずなので、
あとの事は実際にそのXMLの構造見て見ないとねぇ。。
>>605
なんか「ソケット」という言葉を激しく勘違いしてると思う。
>>598,600,602
携帯の事忘れてない?
最近は、フルブラウザならJavaScriptも動いたりするけどね。
0613nobodyさん
2008/11/25(火) 22:43:29ID:???普通はコンテンツ絞って分離するんじゃね?
0615nobodyさん
2008/11/25(火) 22:53:26ID:???適切なコンテンツを送る、って聞いたけど、本当なのかな?
0616nobodyさん
2008/11/25(火) 22:54:41ID:???プログラミングがすっごく楽しい〜(*^〇^*)
0617nobodyさん
2008/11/25(火) 23:01:38ID:???ソフトが勝手に判別というのは意味が分からないけど、聞いた事ないかな。
ASP.NETの前身の「ASP」での開発もしてた頃は、
小中規模の開発はみんなASPからPHPへと鞍替えしちゃったところが多かったよ。
最近はApacheモジュールで携帯向けの自動処理を何とかしようとするのが幾つかあるね。
どれもまだまだな感じだけど。
0618nobodyさん
2008/11/25(火) 23:54:53ID:c9fpFVNb「ボタンを押したら、画面上の数字が増える」
ってアプリを作ったんだが、ボタンを押したヤツの
IPを記録するって仕組みを作ろうと思うんだが、
さて、どんな風にしたらいいかな?
0619nobodyさん
2008/11/26(水) 00:06:02ID:???0620nobodyさん
2008/11/26(水) 00:06:33ID:9Z6KcmDEそいつのIPをトラップするような関数があるのかな?
0621nobodyさん
2008/11/26(水) 00:07:00ID:???0622nobodyさん
2008/11/26(水) 00:08:14ID:???0623nobodyさん
2008/11/26(水) 00:12:47ID:???放置しろ
0624nobodyさん
2008/11/26(水) 00:15:16ID:9Z6KcmDEこれってダメなの?
<?php
print "Hello World!";
?>
0625nobodyさん
2008/11/26(水) 00:21:49ID:???末尾の?>は省略すること
<?php
echo "Hello Again!";
0626nobodyさん
2008/11/26(水) 00:48:04ID:???<?php
echo 'Hello Again!';
0627nobodyさん
2008/11/26(水) 01:12:59ID:???Hello Again!
<?php
〜〜
0628nobodyさん
2008/11/26(水) 01:30:52ID:???Hello Again!
0629nobodyさん
2008/11/26(水) 01:35:40ID:6NDVGzGmと言う条件があったとして、「11月を抽出」させる場合、
どういう方法が一番簡単で処理が早いでしょうか?
やはり、上の状態からpreg_matchやexplodeで一旦配列に代入し、
そこからifで一致するか調べる方が良いでしょうか?
0630nobodyさん
2008/11/26(水) 01:35:44ID:???0631nobodyさん
2008/11/26(水) 01:47:12ID:???俺だったら元のunixtimeに戻してからその11月の範囲内か調べるね
0632nobodyさん
2008/11/26(水) 03:54:17ID:???まあ好きにやりなよ
0633nobodyさん
2008/11/26(水) 07:43:17ID:???0635nobodyさん
2008/11/26(水) 08:05:37ID:???失敗ってどんなんよ
0636nobodyさん
2008/11/26(水) 08:07:21ID:???0637nobodyさん
2008/11/26(水) 08:09:29ID:???0638nobodyさん
2008/11/26(水) 11:40:21ID:???文字コードは全てUTF-8で統一しています。
$s = mb_convert_encoding( mb_convert_kana( $str, "K", "UTF-8" ), "ISO-2022-JP", "UTF-8" );
って感じで半角カナを全角カナに変換してから文字コード変換を行ったんですが
その変換した文字列をmail()で送信をしたら特定の文字が化けてしまいました。
文字化けした文字
全角半角のウ、全半角のゥ、全半角のェ
この文字化けって普通は起こらないんでしょうか?
同じようなことがあった人教えてください。
0639nobodyさん
2008/11/26(水) 11:52:34ID:???それによって何が起きたかわかるかもしれない。
0640nobodyさん
2008/11/26(水) 12:19:28ID:???文字化けしたあとは
ウとゥは、
ウ瘢雹
のように末尾に不思議な文字が追加されて
ェは、
0街札・・w)・
という風に変換されてしまいます。
mb_convert_kana()で変換し、メールに合わせてエンコードした文字列は
smartyでfetchしたテンプレートにassignするように使っています。
0641nobodyさん
2008/11/26(水) 12:37:05ID:???0642nobodyさん
2008/11/26(水) 12:43:18ID:???mb_convert_kanaの結果も見てみて。
0643nobodyさん
2008/11/26(水) 12:43:38ID:???subjectが7文字までなら正常に送信できるのですが、
subjectが全角8文字以上を超えるとLFが送信するメールのどこかに含まれてしまい
RFCに準拠してないからSMTPエラーとなるので、mail()で送信するように変えました。
0644nobodyさん
2008/11/26(水) 13:08:30ID:???そういう現象にはなったことないけど、mailを使うんであれば、
エンコードは自前で?それともmb_encode_mimeheader?
その部分はチェック済みなのかな。
0645nobodyさん
2008/11/26(水) 13:24:59ID:???エンコードについてはmb_convert_encoding()とmb_encode_mimeheader()
でエンコードしました。
mb_send_mail()のsubjectの件についてはなぜ8文字以上だと
SMTPエエラーが起こるのかは詳しくわかりませんでしたが。
mail()で対処できたのでそれ以降はまだ調べていません。
文字化けについては、
assignするデータ、fetchしたデータにエンコードをしていて
2重でエンコードしたことが原因のようでした。
お騒がせしました。
0646nobodyさん
2008/11/26(水) 14:56:01ID:???0647nobodyさん
2008/11/26(水) 15:02:08ID:b+UaHm9e60 仕様書無しさん :2008/09/21(日) 22:34:33
Perler「Cとか古すぎwwwwwwメモリ管理やらせるとか何サマwwwwww」
Perler「MSの犬乙でありますwwwww」
Perler「ハッシュと配列の区別もつかねー糞言語が喋るんじゃねーよwwwwww」
Perler「ちょっとイテレーターとか使えるからって調子に乗ってんじゃねーよwwwwwendとかいちいちきもいんだよwwwww」
Perler「Javaとおんぶに抱っこなくせに出てくんなwwwwww」
俺の中だとPerlerはこのように極悪非道なやつらということになっている。
0648nobodyさん
2008/11/26(水) 23:40:10ID:uu4IqJDf(特にエラーとかでませんでした)
ttp://www.ritsumei.ac.jp/~inabam/class/dd1_07/11th/
かれこれ3時間にらめっこしてるんですが、自力で解決することができませんでした。
是非ヒントだけでも教えていただけると幸いです。
0650nobodyさん
2008/11/26(水) 23:57:19ID:uu4IqJDf0652nobodyさん
2008/11/27(木) 00:08:08ID:Y4lx+bCYhttp://www.phppro.jp/school/phpschool/vol2/3
このサイトに、
>XAMPP上で動くPHPでは初期設定で
>EUC-JP文字コードで動くようになって
>いるので、文字コードはEUC-JPに設定しよう
って書いてあるのだが、普通はUTF-8にする
ものではないのか?
0653nobodyさん
2008/11/27(木) 00:28:40ID:???ありがとうございます。
Undefined variable: PHP_SELF in C:********csvdb.php on line 8
$myself = basename($PHP_SELF); これが原因だったみたいです!
これはファイルの名前を取得するみたいなので要らないと思い削除したんですが
解決することができませんでした(汗
0654nobodyさん
2008/11/27(木) 00:30:29ID:???0655nobodyさん
2008/11/27(木) 00:30:33ID:???( ゚д゚) ・・・
(つд⊂)ゴシゴシ
(;゚д゚) ・・・
(つд⊂)ゴシゴシゴシ
_, ._
(;゚ Д゚) …!?
とりあえずregister_globals=Onにしてみたら?
0657nobodyさん
2008/11/27(木) 07:01:16ID:QDCpWLvTs200辺りからUTF-8に変わったぞ
今は全部UTF-8かも?
0658nobodyさん
2008/11/27(木) 09:57:53ID:???0659nobodyさん
2008/11/27(木) 10:14:36ID:???0660nobodyさん
2008/11/27(木) 13:27:44ID:7SaHUKLWhogehogeテーブルのpriceフィールドに格納したいのですが、
文字化けしてしまって困っています。
文字コードはSJISで
文字化けするのは"予"とか"ソ"といったいわゆる5Cを含む文字です。
1、a.phpのフォームからPOSTしてhogeテーブルに格納
2、b.phpでhogeから取得しhogehogeに格納
3、c.phpでhogehogeの内容を表示
といった動作なのですが、
1で予とPOSTしてもhogeには文字化けせずに格納されるのに
2でhogeから取得→hogehogeにINSERTすると文字化けしてしまいます。
つづく
0661nobodyさん
2008/11/27(木) 13:28:31ID:7SaHUKLWb.phpは
$sql = "select * from hoge";
$res = mysql_query($sql, $conn) or die("エラー");
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$move_price[] = $row["price"];
}
$price_count=count($move_price);
for($i=0; $i<$price_count; $i++){
$move_price = $move_price[$i];
$sql = "INSERT INTO hogehoge(price)";
$sql .= "VALUES(";
$sql .= "'" . $move_price . "'";
$sql .= ")";
$res = mysql_query($sql, $conn) or die("エラー");
}
こんな感じなのですが、、、
どなたか解決のヒントだけでもお願いしますm(__)m
0662nobodyさん
2008/11/27(木) 13:33:56ID:???0663nobodyさん
2008/11/27(木) 13:38:12ID:???エスケープ、理解してる?
0664nobodyさん
2008/11/27(木) 13:39:04ID:???0665nobodyさん
2008/11/27(木) 13:40:43ID:???INSERT INTO hogehoge(price) SELECT price FROM hoge;
とかでコピーできる。
0666nobodyさん
2008/11/27(木) 13:42:38ID:7SaHUKLWレスありがとうございます。
副問い合わせ
調べてみます。
>>663
エスケープ、、、いまいち理解していないと思います。
$move_price = stripslashes($move_price[$i]);
と試してみたのですが、文字化けは直りませんでした。。。
0667nobodyさん
2008/11/27(木) 13:56:46ID:???0668nobodyさん
2008/11/27(木) 13:56:51ID:VS9OEG/Zhttp://nonn-et-twk.net/twk/why-set-names-in-php-is-bad
のようなことではないでしょうか。
0669660
2008/11/27(木) 14:12:12ID:7SaHUKLWありがとうございます。
この方法では化けずにコピーできました。
>>667
どこで化けたか正確にわからないのですが、
b.phpのINSERT直前で var_dump($move_price); としても
化けていませんでした。
b.phpを走らせhogehogeに格納されたデータを
phpmyadminで確認したところ化けています。
c.phpでも化けて表示されてしまいます。
>>660
そのページはググって見つけました。
b.phpに
mysql_set_charset("sjis");
と記述してみたけど使い方が悪いのか文字化けは直りませんでした。
0670nobodyさん
2008/11/27(木) 14:27:38ID:???たとえば、mysql_escape_string等で。
文字化けが起きないというa.phpでもやっとくべき。
それで化けるならむしろDBとの文字コード変換部分をチェックする必要がある。
このとき、内部エンコーディングとかが影響するので、
詳細な情報がないとエスパーするにも限界がある。
0671660
2008/11/27(木) 15:40:26ID:7SaHUKLWmysql_escape_stringを調べてみて
mysql_real_escape_stringを使ってみたところ
見事文字化けは解消されました。
まだまだ基本的な事がわかっていないので、
コツコツと勉強します!!
大変勉強になりました。
皆さまどうもありがとうございました。
0672nobodyさん
2008/11/27(木) 16:15:12ID:nVMghs4xサッカー,2
テニス.3
という内容がテキストファイルに書き込まれていたとします。
例えば、野球の行の数字を2に変えたい時、どうすればいいのでしょうか?
イメージとしては、行を取得してその行の数字の部分を新しい数字に置換
すればいいのだと思っていますが、特定の行だけ取得する事って出来るのでしょうか?
0673nobodyさん
2008/11/27(木) 16:20:51ID:???0675672
2008/11/27(木) 16:26:55ID:nVMghs4xと言う事は、全部読み込んで一行ずつ処理し、
strstrなどでその行に「野球」という文字が含まれていたら
野球,2 という文字列に置換するという考え方でよろしいのでしょうか?
0676nobodyさん
2008/11/27(木) 16:29:11ID:???長さが違うと不可能だし。
0677nobodyさん
2008/11/27(木) 16:50:13ID:nsjkEY4z$output = "foo\nbar";
preg_match('/.+/m', $output, $matches);
print_r($matches); //foo
しか出力されないのですが
なんか方法ありましたっけ?
なければ行ごとに分解するか、逆に改行を何かに置換するか・・・
お願いします。
0678nobodyさん
2008/11/27(木) 16:53:03ID:???0679677
2008/11/27(木) 16:56:30ID:???0680nobodyさん
2008/11/27(木) 17:20:51ID:???そのために文字列とURLを抜き出したいのですがどうすればいいでしょうか
[[ ]]の中だけは抜き出せるようになったのですが
\[\[([^\[]+)\]\]
0681nobodyさん
2008/11/27(木) 17:50:09ID:???っていうかID出せやコラ
ていうかPukiWikiの真似ならPukiWikiのソース見れやコラ
0682672
2008/11/27(木) 18:59:09ID:nVMghs4xなるほど。
じゃ、読み込んで新規ファイルに追加し、元ファイルを削除。
って流れが一番良さそうですね。
2ちゃんのログ検索とかどうしてるんでしょうね。
たぶんDBは使って無さそうだし。でも、結構速いし。
■ このスレッドは過去ログ倉庫に格納されています