【PHP】下らねぇ質問はここに書き込みやがれ 50
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/07/11(水) 17:50:01ID:fYd+34USPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 49
http://pc11.2ch.net/test/read.cgi/php/1182794620/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0302275
2007/07/17(火) 10:12:03ID:7P0i756Lありがとうございます。
難しそうですが試行錯誤してみます。(実はチンプンカンプンです・・・orz)
0303nobodyさん
2007/07/17(火) 10:27:38ID:???0305nobodyさん
2007/07/17(火) 10:57:54ID:???ifconfigじゃたぶんムリ
たぶんLinuxの場合ioctl(2)とかを叩く必要があるはず。
その手のユーティリティがあるかもしれないけど。
それと、TCP/IPのソケットから相手先のMACアドレスを知る方法ってあるの?
つか、MACアドレスってイーサネットのルーティングでしか使わん情報で、
PPPとか、IPを経由した時点で消えると思っていたけど...
IPv6ならサフィックスとしてMACアドレスを使う場合もあるはずだから取れるかも。
0306nobodyさん
2007/07/17(火) 11:04:17ID:uhiZpK63そういう関数ってありますか?
0307nobodyさん
2007/07/17(火) 11:15:28ID:???0309nobodyさん
2007/07/17(火) 13:38:28ID:uhiZpK63Bページを開いたときに「音楽ファイル」を開いて
で、AページとBページを行き来すると、
ページを開くたびにファイルを読み込むのも負荷が気になるんです。
別ページに移動してまた同じページにもどってもinclude_onceはまたファイルを読み込みますよね?
Cookieだとさすがに量が多いので別の方法ってないでしょうか?
0310nobodyさん
2007/07/17(火) 13:47:26ID:???サーバーサイドなPHPでクライアントのメモリはどうこう出来ないだろ。
クライアント側に置きたいならクッキー以外無いでしょ。
いまいちやりたい事が分からないから、やりたい事と想定しているファイルの容量と種類を晒せば何か助言があるかもね。
0311nobodyさん
2007/07/17(火) 13:52:53ID:???それはクライアント側が決めることだから無理。
0312nobodyさん
2007/07/17(火) 13:59:28ID:???ただし更新させるのが難しくなるがな
0313nobodyさん
2007/07/17(火) 14:04:09ID:???そんなに気になるなら、PHP無関係なように静的なhtmlを吐き出しておけばいいやん。
それ以前に、サーバ側でキャッシュ使って改善できんのかとも思う。
0315nobodyさん
2007/07/17(火) 14:11:52ID:uhiZpK63ファイルの更新日時をクッキーに記録して、クッキーに保存されている記録と照らし合わせて
新しかったら読み込ませず、古かったらinclude_onceをかませようと思います。
いろいろと助言くださって助かりました。ありがとうございます
0317nobodyさん
2007/07/17(火) 14:26:43ID:???目的が不明瞭だが もし使って良いのなら、
ajax + レスポンスでhtmlを返して、<div id="hoge"></div> の間をinnerhtml書き換えすることでうまくいく。
(部分更新するデータのみ読み込み出来る。)
0318nobodyさん
2007/07/17(火) 15:14:48ID:???0319nobodyさん
2007/07/17(火) 15:58:21ID:R00cIuyl絵文字を表示するときは、Unicodeでの表示が良いのでしょうか?
3キャリア対応でキャリア別に絵文字を表示させたいのですが、
何かアドバイスがあればよろしくお願いします。
0320nobodyさん
2007/07/17(火) 16:37:38ID:???うちも似たようなことやってる。include(require)は結構応用がきいて便利。
メソッド内部でよみこめば$this参照ができてメソッドを使えるし、部品ごとにわけれてソースが綺麗になる。
なにより分解していくとかなり使い回しを意識してコードを書けてる気がする。
>>319
なんでもいい気がする。Unicodeにすれば
?(SJIS)と?xE63E;(Unicode)で同じ文字になってたらそれでいいんじゃない
0321nobodyさん
2007/07/17(火) 19:04:22ID:k2OQL4pVforの繰り返し処理で値を参照し、数字が出た場合
その要素を、その数字のキーを持つ配列の直後に並べ変えたいのですが、
可能ですが?
(例)
rei[1]="いぬ"
rei[2]="ねこ"
rei[3]="こねこ"
rei[4]="1"
rei[5]="ぬこ"
を
rei[1]="いぬ"
rei[2]="1"
rei[3]="ねこ"
rei[4]="こねこ"
rei[5]="ぬこ"
こんな感じです。
宜しくお願いします。
0322nobodyさん
2007/07/17(火) 19:09:18ID:???0323nobodyさん
2007/07/17(火) 19:12:15ID:???・配列のキーを取得
・キーに1を足す
・配列の値に↑の値があるかチェック
あとは自分で考えろ
0324nobodyさん
2007/07/17(火) 19:14:54ID:???phpからプロクシ的に操作したいのですが、
どのようにすればよいでしょうか?
readfile( 'http://example.com/hoge.cgi?m=test' );
としてみましたが
script not found or unable to stat: /home/taro/public_html/hoge.cgi
となぜかphpを設置したサーバーのパスで、「ファイルが存在しない」というエラーが出ます
0325nobodyさん
2007/07/17(火) 19:21:19ID:???0326nobodyさん
2007/07/17(火) 19:56:28ID:???0327nobodyさん
2007/07/17(火) 20:37:42ID:???今、php5.2.3をインストールしてphp.iniの編集をしてたんですが、
mbstring.script_encoding の指定がありません
(以前使ってた5.2.0ではあって、euc-jpを指定しています)
これは気にしなくていいものなんですか?
0328nobodyさん
2007/07/17(火) 20:45:29ID:???0329nobodyさん
2007/07/17(火) 21:49:25ID:iq9KHvpN基本は理解できているのですが、
classを利用したプログラミング、また、
オブジェクト指向の概念が理解できません。
本を買ってclassの基本構造などは理解しましたが、
自分で書くとなるとどのような場面で
どういったclassを書けば良いのか
さっぱり検討がつかない状態です。
このような段階(レベル)から一段ステップアップする為には
どうしたらよいでしょうか?
習得にあたって参考になった書籍や、
経験に基づく習得方法などを教えてください。
購入した書籍
■はじめてのPHP5プログラミング エキスパート編 (単行本)
■いちばんやさしい オブジェクト指向の本 (新書)
0330nobodyさん
2007/07/17(火) 21:56:16ID:???に対する内容をテンプレに入れたらどうだ
0331nobodyさん
2007/07/17(火) 22:06:09ID:???オブジェクト指向分析・設計関連の本でも探してみては
あとは経験かなぁ
補助本としてなら
デザインパターン入門 結城浩
リファクタリング入門 結城浩
UMLモデリングのエッセンス マーチン・ファウラー
0332nobodyさん
2007/07/17(火) 22:09:59ID:???自分の経験と記述を比較してみるってこともしないとね。
オブジェクト指向って、実践知の最たるものだから。
ごちゃ混ぜの中から自分の経験をパターンの合わせてトレースしてみること。
0333329
2007/07/17(火) 22:24:46ID:iq9KHvpN早速のレスありがとうございます。
経験が重要ということですね。
仕事で書いているわけではないので、参考書籍を紐解く以外に
なかなか経験値を積めないのが悩みです。
各種ライブラリやフレームワーク(MVC)などの
次のステップに早く進みたいので、
classを利用したプログラミングをなんとかマスターしたいです。
また、Rubyでオブジェクト指向を理解したという人や、
Objective-Cなどでweb以外ものを作るとわかるかもという意見もあるようですが、その他にも分かり易い方法などがあればアドバイスをお願いします!
0334nobodyさん
2007/07/17(火) 22:32:46ID:???意識しすぎて無闇に不必要な物まで小分けして可読性が低くなったら本末転倒だしね。
>>332の言ってるように実際に概念的な事柄だけ頭の隅に置いておいて
幾つか自分で作ってから本を読んで当てはまりそうな部分を掘り下げて
リファクタリングしていったほうがいいんじゃないかと
オブジェクト指向を理解していない俺様が講釈たれにきましたよ。
0337nobodyさん
2007/07/17(火) 22:37:12ID:???ライブラリやフレームワークなんてオブジェクト指向の最たるものだから
順番やステップとかきにしないでやりたいことを
とりあえずやってみた方が飛び越えてから理解できるってこともあるし
やってみてもいいんじゃまいか?
0338nobodyさん
2007/07/17(火) 22:37:38ID:???だからウダウダ言ってないで
PEARみたいなライブラリなりFWなりのソースひたすら読んで
自分でとにかく書いて気づいていくしかねーんだよこのタコ
「OOPを理解した!」なんてもんはそんな気がするだけだ
OOPに近道なんざねーよ
0340nobodyさん
2007/07/17(火) 22:50:15ID:???OOPは自分が必要に思えるようになるまで必要ない。(仕事の場合は除く)
0345nobodyさん
2007/07/18(水) 00:50:01ID:???俺たちは殺生していないと詭弁を弄するアホな坊主とオマエら一緒だな。
恥を知れよ。
0346nobodyさん
2007/07/18(水) 00:53:21ID:???0347nobodyさん
2007/07/18(水) 00:58:57ID:???オマエモナー
0350nobodyさん
2007/07/18(水) 01:29:22ID:???指定することで、mbstring.script_encodingディレクティブが有効になる。
これはソースをSJISで書いているときに必要になるぐらいのもの。
0351nobodyさん
2007/07/18(水) 02:02:13ID:PiKxEDAI以下の様にpreg_replaceで$srchtmlに格納されてますタグの置換を行っています。
$styleには
color="#FF0000" size="4"
がちゃんと取り出されてるのですが、サブルーティンでexplodeしようとすると
検索されません。
Array[0]=' color="#FF0000" size="4"'
となってしまいます。試しに、ほかのキー「FF」で試しても同じでした。
試しにfunction fontcss内で
$myarray = explode(" ","hoge hoge huga huga");
としますと、こちらは問題なく、検索されて配列になります。
ど、どなたかお知恵を。。。
$search = array ('/<font(.[^>]*)>/','!<div id="([0-9][0-9])">!');
$replace = array ($this->fontcss("$1"),$this->divconv("$1"));
preg_replace($search, $replace, $srchtml);
function fontcss($style){
$myarray = explode(" ",$style);
....
}
0352nobodyさん
2007/07/18(水) 02:08:55ID:???0353nobodyさん
2007/07/18(水) 02:10:46ID:???0354nobodyさん
2007/07/18(水) 02:42:34ID:???それだと$replaceにはその時点での関数の返り値が入るだけになってしまうから、
おそらくあなたがしたいのはこちらではないかな?
http://jp.php.net/preg_replace_callback
0357nobodyさん
2007/07/18(水) 12:58:43ID:FfDpKpOgmixiでは「c:\hoge\123.jpg」と確認ページに出てるのですが。
print_r($_FILES);
print_r($_REQUEST);
print_r($_POST);
ファイル名しか見当たりません…
0358nobodyさん
2007/07/18(水) 13:02:33ID:???0359nobodyさん
2007/07/18(水) 13:05:23ID:EIaU60X90360nobodyさん
2007/07/18(水) 13:15:56ID:???どこにも格納されていない
なのでJS使って自前でPOST
>>359
何のボタンなのかわからんので答えられない
0361nobodyさん
2007/07/18(水) 13:23:47ID:EIaU60X9追加ボタンを押したらSQL文を使ってデータベースに追加したいんです
0363nobodyさん
2007/07/18(水) 13:48:29ID:EIaU60X9そのSQL文がよくわからないんです
一応参考書どおりに書いたんですけど反映されません
0364nobodyさん
2007/07/18(水) 13:53:31ID:???0365nobodyさん
2007/07/18(水) 14:01:56ID:2QFnxZCZ0366nobodyさん
2007/07/18(水) 14:01:59ID:???0367nobodyさん
2007/07/18(水) 14:02:56ID:???肝の「正規表現で改行部分を修正」というのが自信がありません。
$text_data = preg_replace("/\r\n$/m", "\n", $text_data);
↑これでモウマンタイでしょうか?
0369nobodyさん
2007/07/18(水) 14:09:50ID:???hoge_tblという名前のテーブルにhogei(int型)とhoget(text型)というカラムに入れる場合は
INSERT INTO hoge_tbl(hogei,hoget)values(1,'ああああああ')
を実行する
テーブル名とカラム名は時分の設計したDBにあわせて変更すること
あとは試行錯誤するか他の暇なやつが現れるのまて
0370nobodyさん
2007/07/18(水) 14:15:01ID:FfDpKpOg>>なのでJS使って自前でPOST
onclickで複合技なのですね、ありがとうございます。
0371nobodyさん
2007/07/18(水) 14:20:39ID:???暇じゃないが、一言いっておくと、そのSQLだとvaluesが小文字になっているから動かないよ。
あと、テーブル名も大文字にしておかないと、Windowsでは動くけどLinux上では動かなくて慌てる。
どうしてかは、もう分かったよね?
0372nobodyさん
2007/07/18(水) 14:24:50ID:EIaU60X9ありがとうございます
SQL文はできたと思うんですが
ほかに足りないステートメントがあるんでしょうか
0373nobodyさん
2007/07/18(水) 14:26:26ID:???0374nobodyさん
2007/07/18(水) 14:27:50ID:bXBOiS7Y<?xml version="1.0" encoding="Shift_JIS"?>
header('Content-Type: application/xhtml+xml');
を記述すると、どうしてもファイルのダウンロードになってしまうんですが、
どうすればちゃんと表示できるのでしょうか?
0376374
2007/07/18(水) 14:36:13ID:bXBOiS7Y自分でも何がしたいのかわかんね
0377nobodyさん
2007/07/18(水) 14:41:07ID:???ソースくれ
少なくとも今俺の手元にあった5.0.38では
INSERT INTO (〜) values (〜) でも動作している
0380nobodyさん
2007/07/18(水) 14:48:16ID:???371がいったことも考慮して
まだ入らないなら
1、DB接続チェック
2、カラム名のスペルチェック
3、インサートのVALUESのチェック
intは未入力はデフォルトが設定されていないとエラーになる0かNULLを入れること
textとdateはシングルクォートが必要
4、文字コードのチェック
>>375
へぇ〜MySQLってそうなんだ
0381nobodyさん
2007/07/18(水) 14:48:34ID:???INSERT INTO T_SAMPLE values(1, '半井は、最近調子に乗りすぎ');
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'values' at line 1
0382nobodyさん
2007/07/18(水) 14:51:54ID:???PHPだと逆だけどね・・・
0383nobodyさん
2007/07/18(水) 14:59:51ID:???予約語のとこにも載ってない
てかSQLでそんなケースセンシティブなことってあるか?
予約語で使われてる同名の識別子を
バッククォートしてないとかならともかく
>>381
integerとtextカラムのtableで試したけどそれでINSERTできるよ
そっちのバージョンは?
0384nobodyさん
2007/07/18(水) 15:01:21ID:???0385nobodyさん
2007/07/18(水) 15:29:03ID:EIaU60X9入りました
でも1行目に入ってしまうんですがどうすればいいのでしょうか
入れたいのは4行目なんです
0387nobodyさん
2007/07/18(水) 15:32:53ID:???知る方法があれば教えてください
0388nobodyさん
2007/07/18(水) 15:34:50ID:???auto_incrementのこといっているのか?
一回、内部インデックスをクリアーしないと駄目じゃないか?
0389nobodyさん
2007/07/18(水) 15:40:19ID:EIaU60X9入ってませんでした;;
何がいけないんでしょうか
0390nobodyさん
2007/07/18(水) 15:40:57ID:???__FILE__とか使えばイモっぽい方法で分かりますが
もっとクールに知りたいです
0391nobodyさん
2007/07/18(水) 15:44:56ID:???DB内の並び順は当てにしない
386の言う通り取り出し時にソートする
並び替えが必要ならユニークなシーケンスをふって取り出すときに
order by(ソート) すれば入れた順に並び替えができる
任意番号をふってもOKでその場合も取り出し時にソートをすればいい
SQLの方が早いが最悪PHPでソートするという手もあるにはある…
ちなみに内容が板違いになっていっているのでDB板で聞いたほうが
良いと思う
0392nobodyさん
2007/07/18(水) 15:45:16ID:???php パス 区切り
で google 検索したら 4番目に出てきませんか?
0395nobodyさん
2007/07/18(水) 15:56:53ID:???0396nobodyさん
2007/07/18(水) 16:02:49ID:bXBOiS7YDoCoMoでCSSを使いたいのですが、XHTML形式じゃないとダメみたいなんです。
これは、形式をxhtmlにしなくてもheaderでxhtmlを宣言していれば大丈夫ということなのでしょうか?
metaでxhtml+xmlで試してみたのですが、DoCoMoではうまくCSSが使えません。
headerでxhtml+xmlを宣言した場合、なぜかPCで見るとファイルのダウンロードになります。
どなたかアドバイスお願いします。
0397nobodyさん
2007/07/18(水) 16:02:57ID:???0398nobodyさん
2007/07/18(水) 16:07:17ID:???「docomo css」で検索したらそれらしいのがゴロゴロ出てきたけど。
ヘッダーがそもそも違うみたいだからUAとかで判別してヘッダー出せばいいんじゃないの?
とちょろっと検索しただけで適当に言ってみる。
0399nobodyさん
2007/07/18(水) 16:11:30ID:bXBOiS7Y有難うございます。
UAで判別して携帯のみheaderでxhtml宣言することにします。
当方auなので確認する術がありませんので、知人にテストしてもらいます・・・。
0400nobodyさん
2007/07/18(水) 16:28:12ID:sSp2i6sO負荷はあんまり気にしないほうがいいでしょうか?
0401nobodyさん
2007/07/18(水) 16:31:06ID:???■ このスレッドは過去ログ倉庫に格納されています