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

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

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

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

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

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0002nobodyさん2008/12/23(火) 19:09:38ID:???
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0003nobodyさん2008/12/23(火) 19:11:33ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
0004nobodyさん2008/12/23(火) 19:12:21ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0005nobodyさん2008/12/23(火) 19:13:07ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0006nobodyさん2008/12/23(火) 19:13:41ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0007nobodyさん2008/12/23(火) 19:14:51ID:???
さまざまな言語仕様について熱く語る闘技場
http://pc11.2ch.net/test/read.cgi/php/1228709756/
0008nobodyさん2008/12/23(火) 19:17:56ID:???
日常五心

「有難う」と言う
 感謝の心


「すみません」と言う
 反省の心


「おかげ様」と言う
 謙虚な心


「私がします」と言う
 奉仕の心


「はい」と言う
 素直な心
0009nobodyさん2008/12/23(火) 19:33:00ID:???
わからない5大理由
 
1.読まない
2.調べない
3.試さない
4.理解力が足りない
5.人を利用することしか頭にない
0010nobodyさん2008/12/23(火) 19:39:10ID:???
Smartyマニュアルのリンク切れてんぞ
0011nobodyさん2008/12/23(火) 19:41:32ID:???
ttp://www.smarty.net
0012nobodyさん2008/12/23(火) 19:47:21ID:???
http://www.smarty.net/manual/ja/
ここまで貼ってやれよ気が利かないな
0013nobodyさん2008/12/23(火) 19:49:02ID:???
そんなんは、smartyスレに行けばよろし
0014nobodyさん2008/12/23(火) 19:50:12ID:???
このスレってなんのためにあるの?
ググレ、ググレって覚えたての言葉をうれしそうに連呼する猿を見ると吐き気がする。
手元にある書籍で思いっきりひっぱたいてやりたい気分。氏ねw
日本のphpが終わってるのはコミュニケーション能力のないキモヲタしかつかわないから。
そういう豚は「ググレググレググレ」ばっか。だからユーザーが育たない。
0015nobodyさん2008/12/23(火) 20:02:17ID:???
そういう風にしか受け取れないですか。
ググレってのはググった方が力になるし、理解も速いってことだと思うけどな。
ドキュメントを読む力、Webの情報を正しく解釈する力ってのは宝になる。

すまんね、こんなジジィなこと書いて。

すくなくとも、みんな、「うれしそうに連呼」してるわけじゃないってことはわかってやれ
0016nobodyさん2008/12/23(火) 20:03:15ID:???
答えを教えてもらって育ててもらう気満々なんだなw
0017nobodyさん2008/12/23(火) 20:04:06ID:???
> このスレってなんのためにあるの?

そこに疑問を持つなら来なきゃいい。
2chのすべてのスレに当てはまる。
存在意義のわからないスレを訪れる意味などどこにもない。
0018nobodyさん2008/12/23(火) 20:06:36ID:???
>>14
君が来なければ、このスレは健全になる。
試しに、1年間ROMってろ。
そしたらわかるから。
0019nobodyさん2008/12/23(火) 20:20:33ID:???
「日常五心」

一、有り難うという感謝の心 
一、済みませんと言う反省の心
一、お陰様でと言う謙虚な心 
一、私がしますと云う奉仕の心
一、ハイという素直な心   

(「何でも相談室」に寄せられたメイルより、1998.10.29)
0020nobodyさん2008/12/23(火) 21:12:47ID:59V79J7s
圧縮問題、昨日のつづきです。

昨日、結局、サーバにZIP関数のモジュールがないためと
判明しました。なので、必死になって、
PECLのインストールを試みましたが、できません。

先にPEARをインストールせよと書いてあって、
それはできました。
で、PECLをインストールしようとすると、
コマンドが見つからないと出ます。

サーバーはXREAで、なんかbashというのに制限があるらしい。
で、回避する方法が書いてあるhpがあるのですが、
この通りにやっても、うまく回避できません。
http://hain.jp/index.php/tech-j/2007/06/11/p154

Xreaで、PECLのインストールできた人、
やり方、教えてもらえませんか。
0021nobodyさん2008/12/23(火) 21:21:16ID:???
それくらい調べろ
0022nobodyさん2008/12/23(火) 21:26:15ID:59V79J7s
調べても、わからない。

もしかしたら、できないのかなとも思うのですが、
できた人、いませんか?

コマンドがちょびっとしかないんです。
困ります。
0023nobodyさん2008/12/23(火) 21:31:12ID:???
ここで聞くより、XREAならサポ板で聞いてみるのが早いし確実。
0024nobodyさん2008/12/23(火) 21:45:27ID:59V79J7s
xreaは禁止しているんじゃないかと思うので、たぶん。

あと、ZIP関数はあきらめて、PEARでやる場合、
HTTPなんたらというのと、アーカイブなんたらというのがあるようですが、
どっちがいいか、やった人いませんか?

やりたいこと=複数ファイル+透過的書込み
0025nobodyさん2008/12/23(火) 21:46:45ID:???
xrea の件の人は、友達いないの?w
0026nobodyさん2008/12/23(火) 21:51:01ID:???
9 名前: nobodyさん [sage] 投稿日: 2008/12/23(火) 19:33:00 ID:???
わからない5大理由
 
1.読まない
2.調べない
3.試さない
4.理解力が足りない
5.人を利用することしか頭にない
0027nobodyさん2008/12/23(火) 21:51:47ID:59V79J7s
友だちいません。文系なので
0028nobodyさん2008/12/23(火) 21:54:00ID:59V79J7s
昨日から丸1日、研究してもわからないわけです。
0029nobodyさん2008/12/23(火) 21:55:24ID:???
丸1日くらいでどうしたの?
0030nobodyさん2008/12/23(火) 22:07:50ID:???
zlibじゃねーの?必要なのって
0031nobodyさん2008/12/23(火) 22:14:43ID:???
>>26
人力検索奴隷さん、発見できなくて言い訳乙
0032nobodyさん2008/12/23(火) 22:17:11ID:59V79J7s
zlibは、元々入っています。
0033nobodyさん2008/12/23(火) 23:28:05ID:???
xreaで個人が勝手にpeclインストールできるわけねーだろ
0034nobodyさん2008/12/23(火) 23:38:00ID:59V79J7s
>>33
ほんとうですか?
ダメなんですか。

xreaのやや高いコアサーバーはできるんでしょうか。
0035nobodyさん2008/12/23(火) 23:50:35ID:???
zmxで借りればいいよ
あそこの女管理人はユーザーの要望によく答えてくれる
0036nobodyさん2008/12/23(火) 23:59:16ID:???
zmx いいね。
0037nobodyさん2008/12/24(水) 00:15:33ID:???
http://mamono.2ch.net/test/read.cgi/newsplus/1230036593/
0038nobodyさん2008/12/24(水) 02:57:36ID:sZzY7XPX
ちょっとSQLと曖昧なんだけど。質問させてください。

あるテーブルにこのようなデータがあるとします。
・fruite テーブル
fr_id fr_name
1 りんご
2 みかん
3 ぶどう
4 もも
・person テーブル
name fr1 fr2
田中 1 2
佐藤 3 1
中島 2 4

こんな感じでfruiteテーブルのidカラムをキーにして内部結合したいのですが。
SELECT name,fr_name from person INNER JOIN fruite fruite.id = person.fr1 and fruite.id = person.fr2
これだと 結果を連想配列で受け取ると fr1 も fr2 も同じ値が帰ってきます。(fruite_id が重複してしまう)。
これを回避する方法はありますか?
0039382008/12/24(水) 03:01:36ID:sZzY7XPX
読み直してみて自分でも聞いてることがわかんなくなってしまった。
整理して質問しなおします。スルーしてくださって結構です。

失礼しました。
0040nobodyさん2008/12/24(水) 03:05:14ID:???
>>39
了解
しかし、>>2は見てね、スレチだから
0041nobodyさん2008/12/24(水) 03:19:06ID:???
>>38
1次正規形になっていないので俺だったら分割する。
あくまでその形で取りたい場合は、サブクエリ使うかANDじゃなくてOR使えば良いかと。
0042nobodyさん2008/12/24(水) 03:35:33ID:???
>>41
スレチの上に誤答
1次正規形にはなってる、3次が出来てない。
正規化にこだわるなら、ステータス付きの多対多参照テーブルを作ってもよいが、
Web用ならそれは冗長だから正規化にこだわる必要はない。
>>38は単にクエリが間違ってるだけ。
正解は "personテーブルでエイリアス"だ
0043nobodyさん2008/12/24(水) 03:42:33ID:???
>1次正規形にはなってる、3次が出来てない
そうか?なんで?
0044nobodyさん2008/12/24(水) 03:49:21ID:???
1次正規形ってのは、たとえばpersonテーブルの同一カラムに
りんご、みかん等のデータが直接入っている場合のこと。
これは分割出来てるので、すでに1次正規形。
fr1、fr2のように同じ参照先を持つカラムが複数ある場合は、
テーブルをpersonテーブル、person-fr1参照テーブル、person-fr2参照テーブル
のように分割するのが3次正規形
0045nobodyさん2008/12/24(水) 03:59:22ID:???
つ ttp://pc11.2ch.net/test/read.cgi/db/1223525474/
0046nobodyさん2008/12/24(水) 04:12:12ID:???
>>44
適当にぐぐって上の方にあった解説サイト
http://www.kogures.com/hitoshi/webtext/db-seikika/index.html
>第1正規化
>第1正規化とは,繰り返しの部分を複数のレコードにして,繰り返しを排除する操作です。第1正規化をした結果を第1正規形といいます。
とありますが?
0047nobodyさん2008/12/24(水) 04:17:51ID:???
それは、カラムが単純な繰り返しであることが明白である場合のみを
初心者向けに説明しただけ。
fr1 fr2 がfr1は好きなくだもの、fr2は嫌いなくだものだったとして、
それを同じカラムに入れるのが1次正規系だとでも思ってるの?
0048nobodyさん2008/12/24(水) 04:21:33ID:???
今回の質問は単純な繰り返しであることが明白じゃん
0049nobodyさん2008/12/24(水) 04:25:02ID:???
どこが明白?それはおいといて、もう少し説明しとくと、
主キーにすべきものが重複してる時に、主キー化するのが第1正規化 だよ
フルーツがカラムとして重複してるときにfruitsIDを振って独立させるのが
第1正規化。つまり、fruiteテーブルが正規化されたテーブル
外部キー側で複数カラム持ってる場合を一緒にするなよ
0050382008/12/24(水) 04:30:19ID:xtfjZM1O
ID変わっちゃってますが、>>38です。
>>40,45
スレチ、申し訳ありません。以後気をつけます。

>>42
ありがとうございます。
SQLのミスでしたか。
教えられたとおりやってみます。

スレチにも関わらずご回答いただき、ありがとうございました。
0051nobodyさん2008/12/24(水) 05:01:04ID:???
データーベースの教科書読むと、よく
正規系がどうのこうの、第一次がどうの、
三次がどうの、とか書いてあるが、あそこの章って
重要なのか?

キモヲタのざれごとだと思って、いままで
読まないで飛ばしてた。
0052382008/12/24(水) 05:50:33ID:???
できました。
こんなことできるんですね。
(文には自信がありませんが、一応動く)。

SELECT name, f.fr_id as ok_id, f.fr_name as ok_name, f2.fr_id as ng_id, f2.fr_name as ng_name FROM person p
inner join fruite f on p.ok_id = f.fr_id
inner join fruite f2 on p.ng_id = f2.fr_id
order by ok_id;

ok_id,ng_id は上で挙げたf1,f2です。わかりにくいのでこうしました。

ありがとうございました。
0053nobodyさん2008/12/24(水) 05:50:36ID:???
140 :名無しさん@九周年 [sage] :2008/12/24(水) 05:16:22 ID:IlO7k8r00 (2/3) [PC]

firefoxの欠陥を見つけたお
JavascriptでPOST出来やがるお


141 :名無しさん@九周年 [sage] :2008/12/24(水) 05:18:56 ID:IlO7k8r00 (3/3) [PC]

利用したサイトも見つけたお
表示しただけで掲示板にスパム書き込みするお
0054nobodyさん2008/12/24(水) 05:58:34ID:???
まあ俺はよくいる女子にキモがられるタイプだった。
俺が何かするたびに女子に笑われまくった。
で、もういい加減イライラしてたんだ。
そんなとき俺を一番馬鹿にしてた女が誰が見ても俺とわかる落書き
を前の黒板に書いてた・・・そしてみんな笑う
怒りは頂点に達した。そして1に至る。
全く後悔はしてないし、殺意もあった。
0055nobodyさん2008/12/24(水) 07:29:47ID:???
http://www.mogurin.net/index/php.obj.inc.html

このページわかりやすい
0056nobodyさん2008/12/24(水) 07:47:39ID:???
「病身舞(ピョンシンチュム)」とは身障者や病人を嘲笑する朝鮮半島の伝統芸能で
日本統治下に合ったときは日本政府によって廃止されたが
韓国、北朝鮮が独立して復活したものである
0057nobodyさん2008/12/24(水) 10:41:42ID:???
>51
大事。理論の話に見えてあれは実践。

正規化は要するにDBの持つデータの量を、情報量をと一致させるため(なるべく少ないデータで済ますため)の技術。
完全な正規化がなされていると、送受信するデータが最小になるし、最適化もしやすくなる。
正規化がなされていないと、本来SELECT一発で済むものを、ややこしい検索条件を含めないと取れなかったり、
あるいは取得結果をもっかい処理しないと欲しいデータが手に入らなかったりする。
突き詰めると、性能を満たすために一部正規化を崩す場合もあるのだが、その判断も完全に正規化された状態からの方がしやすいし。
ある程度の経験がないとピンと来にくい場所ではあるけどな。
0058nobodyさん2008/12/24(水) 11:56:31ID:AHayykgc
【OS名】centos5
【PHPのバージョン】php5.28
【連携ソフトウェア】mysql
【質問内容】
Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... /usr/lib
checking for xml2-config path... /usr/bin/xml2-config
checking whether libxml build works... no
configure: error: build test failed.  Please check the config.log for details.

ここで止まっちゃうんだけど、ぐぐってもよくわかりませんでした
0059nobodyさん2008/12/24(水) 12:04:08ID:9cQH1zL0
Parse error: syntax error, unexpected T_STRING, expecting ')' in *** on line 41

というエラーがとあるタイミングで出ます。
正常に表示されていたはずなのに、F5を押しまくると、たまに上記のエラーが出て、
またF5を押すと、エラーが表示され続け、またすぐに正常に戻ります。
一体なんなんでしょうか・・・。

41行目はクラス変数を配列で初期化している部分で、
41行目をコメントアウトすると、また別のクラス変数でエラーが出るんですが、
そこをコメントアウトすると、次はまた別の場所で

Parse error: syntax error, unexpected T_STRING in *** on line 70

というエラーがでます。
ここはコメントアウトしても変わりません(70行目がエラーだとずっと言う)
そして、正常表示される場合もあるのです。
0060592008/12/24(水) 12:06:43ID:9cQH1zL0
テンプレ忘れていました。
【OS名】CentOS 5 
【PHPのバージョン】 5.26
PHPは下記の設定でコンパイルしています。
 './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--enable-mbstring' 
'--enable-mbregex' '--enable-zend-multibyte' '--with-mysql' '--with-gd' 

PHPのソースファイルは全てUTF-8で書いています。


0061nobodyさん2008/12/24(水) 12:11:41ID:???
>>59
ソースを確認しないとわからないけど、
F5でエラーが変わるのは文字コードの問題があるときに起きることがある。
文字コード周りの設定と、ソースファイルの中に問題のある文字コードが
混入していないか調べてみるのもいいかもよ。

とりあえず、最初のエラーのソース周り出してみたら?
0062nobodyさん2008/12/24(水) 12:13:16ID:???
>>58
config.logを見ろと書いてあるけど、そこになんて書いてある?
あと、Configureオプションを削って通るかどうか試してみて
0063nobodyさん2008/12/24(水) 12:20:49ID:9cQH1zL0
>>61
秀丸で確認していますが、関連ファイル全てUTF-8(BOM無)です。。。
一体なんだろう・・・
0064nobodyさん2008/12/24(水) 12:32:36ID:???
ずっとエラーが出てて、正常表示はキャッシュが表示されてる可能性もあり
0065nobodyさん2008/12/24(水) 13:00:10ID:???
ソースもなしに、これ以上エスパーしてもな
0066nobodyさん2008/12/24(水) 13:23:03ID:9cQH1zL0
mbstringの設定まわりが怪しいので調べてみます。
0067nobodyさん2008/12/24(水) 14:12:57ID:???
>>66
まさかとは思うが開発をPHP5でやって本番はPHP4とかないよな?
あと変数の初期化はコンストラクタで行っているんであって
宣言時にarray値をぶちこんでたりしないよな?
0068nobodyさん2008/12/24(水) 14:19:03ID:???
arrayでもいけるでしょ
0069nobodyさん2008/12/24(水) 14:23:45ID:oUm0Exnm
fopen/fwriteで個々のデータをtxtに蓄積し参照してるんですが、データ数が膨大になるとどうなるんですか?
例えばtxtファイルが100MBくらいになるとか。
また既存のシステム(txt)からmysqlにアップグレード可能ですか?
0070nobodyさん2008/12/24(水) 14:26:48ID:???
ようし、エスパーしちゃうぞ!

この場合、41行目じゃなくて、
それより前に(の後のクォートが閉じられていないんだと思うよ。
(もしくは、そのクォートが文字コードの問題でエスケープでこけてるとか。)

だから、41行目の開始クォートで逆にクォートが閉じ、
そこに期待される閉じ括弧がなくて文字列があるぞってエラー
だから、41行目をコメントアウトすると、正しいはずの別の宣言文で
同じロジックでエラーが移動していく。

59氏は恥ずかしがらずにソース貼ってみて。
0071nobodyさん2008/12/24(水) 14:28:07ID:???
>>69
とりあえず、やってみたら?
プロセスに十分なメモリが当たってれば大丈夫でしょう。

テキストから、MySQLにインポートとか、普通にできる。
0072nobodyさん2008/12/24(水) 14:30:38ID:oUm0Exnm
>>71

ありがとうございます
mysqlは『基礎からのMysql』の95ページを読み終えたレベルですが、がんばってやってみます。
0073nobodyさん2008/12/24(水) 14:34:12ID:???
>>69
100Mになる前にメモリーのリミットが限界値を越えて
テキストから全データを呼びだして配列にしたりすることが
出来なくなる
もしくはリミットが200Mとかになっているなら開くまでに
かなりの時間がかかりどうさが遅くなりタイムアウトに
ひっかかって落ちる
0074nobodyさん2008/12/24(水) 14:37:01ID:???
>>73
メモリーリミットってそこ?
fopenするだけなら、ファイルハンドルを取得するだけだから、
file()しないでfread()なら大丈夫じゃない?
0075582008/12/24(水) 14:52:51ID:AHayykgc
>>62
config.logがどこにあるかわからん初心者です
./configureだけで通しても、同様にだめでした
0076nobodyさん2008/12/24(水) 14:54:58ID:???
>>75
config.logが読めないんなら、おとなしく、yumで入れるとかしたら?
リポジトリを[centosplus]にすればPHP5だよ。
0077nobodyさん2008/12/24(水) 15:01:17ID:???
>>76
全部引出すの前提とエスパーした
0078582008/12/24(水) 15:02:54ID:AHayykgc
>>76
実験鯖でいじくりまわす練習してるので、yumだと意味がないです
参考サイトでも教えてくだされ
0079nobodyさん2008/12/24(水) 15:03:49ID:???
練習してるなら自分で調べろよw
0080nobodyさん2008/12/24(水) 15:11:53ID:???
>>78
とりあえず、config.logを探してみたら?
unixコマンドの知識0でソースからコンパイルしても何の意味もないでしょ。
まぁ、普通に./Configureした作業ディレクトリ内にあると思うけど。。
0081nobodyさん2008/12/24(水) 15:15:10ID:???
一体>>58の目標はなんだ?
鯖管にでもなりたいのか?
ならスレ違いだ
phpをやりたいのか?
なら慣れてるwindowsでとっとと環境整えて始めろ
0082nobodyさん2008/12/24(水) 15:33:03ID:???
こんなことすら自己解決できないようじゃな・・
0083nobodyさん2008/12/24(水) 15:40:57ID:Gn6DSPVu
ちょっと変な例なのですが、

$arr = array('a', 'b', 'c');
という変数から
$data['a']['b']['c']
にアクセスするような関数を作りたいと思っています。
何か良い方法はありますか?
0084nobodyさん2008/12/24(水) 15:46:29ID:???
>>83
ボクもこういう関数が必要だと思ってました
0085nobodyさん2008/12/24(水) 15:46:30ID:???
要素数は可変なんだろ?
0086nobodyさん2008/12/24(水) 15:51:00ID:???
>>83
引数をループしてアクセスすれば?
配列の要素数が決まってるなら、0 1 2でもいいと思うけど。

まぁ、遊びとしては
eval('$res = $data[\'' . implode("']['", $arr) . '\'];');
0087832008/12/24(水) 16:04:06ID:Gn6DSPVu
後出しで申し訳ありません。要素は可変です。
出来るだけ綺麗に仕上げたいのでevalは避けたいのです。

call_user_funcあたりの変数呼び出し版みたいなのがあると一番良いんですが。.
0088nobodyさん2008/12/24(水) 16:06:45ID:???
foreachなり再帰なりでできるじゃん
どれだけ綺麗さを求めてるのか知らんけど
0089582008/12/24(水) 16:24:42ID:AHayykgc
>>80

-lresolv -lm -ldl -lnsl -lxml2 -lz -lm 1>&5
/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
configure: failed program was:
#line 20123 "configure"
#include "confdefs.h"


char xmlInitParser();
int main() {
xmlInitParser();
return 0;
}

ここまでです
0090nobodyさん2008/12/24(水) 16:25:39ID:???
$sql = mysql_query("select * from test");
while($res = mysql_fetch_array( $sql )){
print "<a href='".$res["url"]."'>".$res["name"]."</a><br>";
$month = date("n月j日", $res["time"]);
print $month."<br>";
}

これでカラム名time(date型)に入ってる(2009-1-1)のようなデータを
1月1日というように表示させたいです。
上の文だと一番上のレコードの日時はきちんと表示されるんですが
以降ずっと最初の日時のみ表示されてしまいます。

なぜですか?
0091nobodyさん2008/12/24(水) 16:28:05ID:???
>>いち
0092902008/12/24(水) 16:34:44ID:???
【OS名】Windows XP
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
>>90
補足ですが
$month = date("Y:n月j日", $res["time"]);
としたら1970:1月1日 と表示されたので根本的に間違ってました。

もう一度まとめますが
カラム名time(date型)に入ってる(2009-1-1)のようなデータを
1月1日というように表示させるにはどうすればよいでしょうか?
0093nobodyさん2008/12/24(水) 16:37:32ID:???
>>89
スレチだな。
しかし、一応ヒントだけldの設定をちゃんとすればOKだと思うけど、
yum install zlib-devel
してみそ。
あとは、祈れ
0094nobodyさん2008/12/24(水) 16:38:01ID:???
>>いち
0095nobodyさん2008/12/24(水) 16:38:51ID:9cQH1zL0
>>59ですが、自己解決しました。
mbstring.script_encodingが意図しないものになり、たまにエラーになったようです。
'--enable-zend-multibyte' を消して再コンパイルしたら発生しないようになりました。
0096902008/12/24(水) 16:40:23ID:GAo/2aEb
>>94
すみません。
全然ちゃんと読んでませんでした。
0097582008/12/24(水) 16:43:00ID:AHayykgc
>>93
無事成功しました、ありがとう
0098nobodyさん2008/12/24(水) 16:44:11ID:???
>>96
date関数の第二引数はunixタイムスタンプです。日付を渡しても無理。
strtotimeかませばOK。
$month = date("Y:n月j日", strtotime($res["time"]));
0099nobodyさん2008/12/24(水) 16:44:12ID:???
>>96
sscanf
とかは?
0100902008/12/24(水) 16:47:48ID:GAo/2aEb
>>98
ありがとうございます。
きちんと表示されました。
0101nobodyさん2008/12/24(水) 17:37:15ID:???
$month = date("Y:n月j日", strtotime($res["飯島愛死亡"]));
■ このスレッドは過去ログ倉庫に格納されています