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

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

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

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0511nobodyさん2008/10/01(水) 18:31:45ID:???
だからファイル自体のパーミッションを変えろと

ってか、自動生成するファイルを手動で更新する、という事が妙
0512nobodyさん2008/10/01(水) 18:43:10ID:YIHO5yeH
>>508
サンクス

PECLってPEARと同じようなものだと思ってたけど全然違うのな
0513たまちゃん ◆ExGQrDul2E 2008/10/01(水) 19:23:22ID:ZUcHfGMW
PHP 配列
list.txtには、5人の名前とナンバーが保存されています。
1<>田中<>
2<>西田<>
3<>山中<>
4<>鈴木<>
5<>山田<>
これを
$list = file("./list.txt");
foreach ($list as $view){
list($no,$name) = explode('<>', $view);
echo "ナンバー{$no}:{$name}";
}
で表示するんですが、このままだとすべて表示されます。それで、今回は、会員ファイルにいる会員のみに特別にメッセージを表示するスクリプトを考えています。メンバーファイルのメンバーは、かならず
リストファイルの中の人が保存されています。
member.txt
2<>西田<>
5<>山田<>
list.txtの中身を表示するときに、member.txtのなかに同じナンバーがあれば『メンバーです』と表示させたいのですがどうしたらよいのでしょうか?
【続く】
0514たまちゃん ◆ExGQrDul2E 2008/10/01(水) 19:24:48ID:ZUcHfGMW
【続き】
私はこう考えましたがうまく動かないです。

$list = file("./list.txt");
$member = file("./member.txt");

foreach ($list as $listview){
list($no,$name) = explode('<>', $listview);

foreach ($member as $memberview){
list($memberno,$membername) = explode('<>', $memberview);

if{$no == $memberno){
$mes="あなたはメンバー";}else{
$mes="";
}


echo "{$mes}ナンバー{$no}:{$name}";
}
}

05154782008/10/01(水) 19:27:23ID:Zwlv2Kek
>>510
ありがとうございます。
所有者ってところにこだわりすぎてました。
>私の環境では所有者がrootであってもファイルに適切な書き込み権限があれば
ftpで上書き更新できました。
これでやっと理解でき
image_graphでの作成の過程でchmod(aa.png",0707)としたら上書きができました。
かなり長い間迷っていたのでほんとうにありがとうございますm(__)m

>>511
>自動生成するファイルを手動で更新する
数日に一度たまにやる超高負荷な部分を自宅PC数台で処理させて
日々のすこしの処理はレンタルサーバー上でやるって感じです。

0516nobodyさん2008/10/01(水) 19:29:46ID:???
>>514
in_array
05172112008/10/01(水) 19:32:25ID:bvCNIVPX
>>514
$member の foreach ループで、$mes に値をセットしても
ブレイクするなどしないとまたブランクに戻ってしまう可能性が
ありますね。
0518nobodyさん2008/10/01(水) 20:23:11ID:???
>>478
いまさらだが
http://jp.php.net/chown
0519nobodyさん2008/10/01(水) 20:38:27ID:3YFA2aVn
掲示板などのフォームでhtmlタグを一部だけ許可するときに
自分でイチから書くと死ねるとおもうんですが、
そういうライブラリとかって、どなたか作られてないですかね・・
0520nobodyさん2008/10/01(水) 20:39:19ID:???
487の人?
0521nobodyさん2008/10/01(水) 20:44:26ID:???
>>519
そんなに許可するタグ多いのか???
0522nobodyさん2008/10/01(水) 20:47:30ID:???
20も無いと思うんだが
0523nobodyさん2008/10/01(水) 21:13:46ID:3YFA2aVn
いや別人です。。
許可は10個くらいです。
0524nobodyさん2008/10/01(水) 21:18:49ID:???
488でいけそうです
0525nobodyさん2008/10/01(水) 21:23:56ID:???
>>524
誰?
0526nobodyさん2008/10/01(水) 22:26:04ID:3YFA2aVn
524=519です。

strip_tagsでやると顔文字とかが消えることがあるということなんですが
うまく回避できるようなものはないでしょうか?
許可タグは <blink> <hr> <marquee> <font> <div> <a> <br> だけです
0527nobodyさん2008/10/01(水) 22:47:29ID:???
一旦そのタグだけ別の文字に変換
タグすべて排除
変換を復帰
でいいんじゃね?
0528nobodyさん2008/10/01(水) 22:57:13ID:???
>>526
>>492じゃなんでだめなの?
0529nobodyさん2008/10/01(水) 23:14:21ID:3YFA2aVn
みおとしてました。 見てみます。。
0530nobodyさん2008/10/02(木) 09:25:56ID:???
test
0531nobodyさん2008/10/02(木) 13:41:16ID:BKOS1nt/
http://ww7.tiki.ne.jp/~inabah/php/002_004.htm

いまWEB上の解説を見てるんだが、これってまちがってるよね?

$a = 10;
$b = $a;
$c = &$a; // 参照渡しによる代入
$a = 20;

print "$a = $a<br>"; // $a の値は当然 20
print "$b = $b<br>"; // $b の値は 10 のまま
print "$c = $c<br>"; // $c の値は 20 になっている
0532nobodyさん2008/10/02(木) 14:24:40ID:???
参照の説明としてなら、合ってる

出力は 10=10 みたいになるがな
0533nobodyさん2008/10/02(木) 15:01:45ID:???
サブルーチン作るときに、
定義するときも、
呼び出すときも、

()

って絶対つけないとだめなの?

perlだったらつけなくてもよかったんだが。
0534nobodyさん2008/10/02(木) 15:32:33ID:BKOS1nt/
質問

http://ww7.tiki.ne.jp/~inabah/php/004_004.htm

ここのページみて、

<?php
print "ここは元のファイルから書かれています。<br>\n";
include 'http://www.php.gr.jp/';
print "<br>ここも元のファイルから書かれています。<br>\n";
?>

これをやってみたんだが、
(インターネット上にあるファイルを読み込んでくる処理ね)

Warning: include() [function.include]:
URL file-access is disabled in the server
configuration in C:\xampp\htdocs\php\6.php on line 3

というエラーが出る。グーグルでエラーメッセージを検索して

https://www.google.com/adsense/support/bin/answer.py?hl=jp&answer=70494
「PHP サーバーの設定内の allow_url_fopen と allow_url_include を有効にしてください。」

という記述を見つけて、その通りにした。
しかし、エラーがまだでる。

なぜ?
0535nobodyさん2008/10/02(木) 15:58:11ID:BKOS1nt/
xampp1.6.8のバグなのかな、、、

\xampp\apache\bin\php.ini

↑これを編集して、
ちゃんと
allow_url_fopen と
allow_url_include を有効にしたんだが、

php.infoを見ると
allow_url_include Off
になってる。あれ?と思って

C:\xampp\php\php.ini

を見たら、書き換わってない。

allow_url_include=offになってる。

\xampp\apache\bin\php.ini

を書き換えたら、その設定が自動的に

C:\xampp\php\php.ini

に反映されるのではないのか?
0536nobodyさん2008/10/02(木) 16:13:53ID:BKOS1nt/
自己解決した。
アパッチのhttpd.confに
PHPIniDir C:/xampp/php/php5.ini
って書いて、上書き保存して、アパッチを再起動したら
動いた。

PHPスイッチを使ったら、
C:/xampp/php/php5.ini
ってファイルができたので、それを強制的に
指定したらうまくいった。
0537nobodyさん2008/10/02(木) 16:19:43ID:BKOS1nt/
xamppなんだけど、
php.iniの読込先の指定は、
アパッチのhttpd.confに

PHPIniDir C:/xampp/php/php5.ini

と書く、
このやり方でいいの?

php5.iniはPHPスイッチを使ったら自動で生成された。
オリジナルのファイルは
\xampp\apache\bin\php.ini
を見ているとおもう。そのファイルを自動でコピーして
生成したみたいだ。
0538nobodyさん2008/10/02(木) 16:48:14ID:BKOS1nt/
>>537
は自己解決した。
どうやら設定を間違えていたようだ
アパッチのhttpd.confに設定するのは
PHPIniDir C:\xampp\apache\bin\php.ini
こっちが正解だったようだ。
0539nobodyさん2008/10/02(木) 17:31:01ID:BKOS1nt/
原因がわかった。
以前、自力で単独でインストールしていた
PHPがあって、その設定がレジストリに残っていた。
修正方法は、PHPをアンインストールして、
regeditでその該当のキーをxamppのものに
変更して、Windowsをシャットダウンしてコールドブートしたら
反映された。

参考URL
http://ajiblog.sblo.jp/archives/200802-1.html
php.iniの設定が反映しない
デフォルトでは以下のphp.iniが使用されます。
c:\xampp\apache\bin\php.ini

しかし、手動でPHPを一度インストールして、その後にxamppをインストールした場合、
読み込まれるphp.iniの位置が以前のままになっている場合があり、この場合php.iniを
変更しても設定が反映されないという現象が起こります。

原因は、古いphp.iniファイルのパス指定がレジストリに残っていることです。新しい
php.iniのパスに変更するにはregedit.extを起動し、"php.ini”で検索して書き換
可能です。

例. 以前、C:\PHPにインストール、php.iniのデフォルトパスが c:\PHP\php.ini の場合
キー: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersionInstaller
\UserData\S-1-5-18\Components\7226D23B061375D47942B053CD215891
\00000000000000000000000000000000
値: C:\PHP\php.ini
これを xamppのデフォルトに合わせて "c:\xampp\apache\bin\php.ini" などに変更して
apacheを再起動すすれば反映されるようになります。
-----------------------------
なお、レジストリを変更したばあい、windowsの再起動が必要になります。
0540nobodyさん2008/10/02(木) 17:34:03ID:???
>>533
perlperlうるせえな
お前がやってんのはphpだろ
どの言語も仕様が一緒だと思うなよタコ
言語的にはperlもphpも異端なんだよ
0541nobodyさん2008/10/02(木) 18:17:59ID:???
>>539
糞レス垂れ流すな。
そんなんで詰まるなら最初からxampp使うな
0542nobodyさん2008/10/02(木) 19:30:47ID:???
ちょと質問

echo strlen ("亜w背drtfgyふじこlp;@:「」");

この文字列は36byte なのに返り値は 53 と出力される不思議。
strlen の数えている文字数って何?
文字列のバイト数を得たいんだけど使い物にならないという ('A`)
文字コード? でもUTF8で書いてるんだけどな・・・
0543nobodyさん2008/10/02(木) 19:32:38ID:???
>この文字列は36byte なのに

その根拠は何だ。まさか全角文字列が全部2byteとか思ってないだろうな。
0544nobodyさん2008/10/02(木) 19:47:23ID:???
>>542
ユニコードの場合、一文字3バイトとか
普通にありうる。

しかも”(だくてん)も一文字としてカウントされるので、
たとえば

「が」

は、
「か」+「”」
(か+だくてんのちょんちょん)

と解釈されるので、
3バイト+3バイト=6バイト
とか普通にありうる。それがユニコード。
0545nobodyさん2008/10/02(木) 19:56:12ID:???
>>543 >>544

�d
俺がヴァカですた orz
0546nobodyさん2008/10/02(木) 20:16:40ID:???
>>544

> 「か」+「”」
> (か+だくてんのちょんちょん)
>
> と解釈されるので、

知ったかレスうざい。
0547nobodyさん2008/10/02(木) 21:16:12ID:???
utf-8はstrlenじゃなくてmb_strlenつかえ
0548たま ◆ExGQrDul2E 2008/10/03(金) 03:41:27ID:hbK/EmaX
PHP proxyのチェック
プロ串をチェックするため、こんな関数を使っています。



$HTTP_CONNECTION = $_SERVER["HTTP_CONNECTION"];
$HTTP_REFERER = $_SERVER["HTTP_REFERER"];
$HTTP_USER_AGENT = $_SERVER["HTTP_USER_AGENT"];
$HTTP_CLIENT_IP = $_SERVER["HTTP_CLIENT_IP"];
$HTTP_FORWARDED = $_SERVER["HTTP_FORWARDED"];
$HTTP_IF_MODIFIED_SINCE = $_SERVER["HTTP_IF_MODIFIED_SINCE"];
$HTTP_MAX_FORWARDS = $_SERVER["HTTP_MAX_FORWARDS"];
$HTTP_PROXY_CONNECTION = $_SERVER["HTTP_PROXY_CONNECTION"];
$HTTP_SP_HOST = $_SERVER["HTTP_SP_HOST"];
$HTTP_TE = $_SERVER["HTTP_TE"];
$HTTP_VIA = $_SERVER["HTTP_VIA"];
$HTTP_X_FORWARDED_FOR = $_SERVER["HTTP_X_FORWARDED_FOR"];
$HTTP_X_LOCKING = $_SERVER["HTTP_X_LOCKING"];
$HTTP_XONNECTION = $_SERVER["HTTP_XONNECTION"];
$HTTP_XROXY_CONNECTION = $_SERVER["HTTP_XROXY_CONNECTION"];

しかし、携帯版の最強な串
http://sv0436.dc01.axelmark.net/
でアクセスした場合。何一つproxyの環境変数を吐かないため、弾きようがありません。他にもproxyを示す決定的な環境変数があるのでしょうか?
0549nobodyさん2008/10/03(金) 04:06:16ID:???
それに限らず環境変数吐かないproxyは検出しようがない
0550たま ◆ExGQrDul2E 2008/10/03(金) 04:14:44ID:hbK/EmaX
>>549
携帯で
http://sameha.net/
にアクセスしてください。
拒否されているのですよ...
どうやっているのでしょうか...
0551たま ◆ExGQrDul2E 2008/10/03(金) 04:15:43ID:hbK/EmaX
携帯でとういうのは、携帯で串を経由して
という意味です。
わかりにくくてすいません。
0552nobodyさん2008/10/03(金) 04:28:08ID:???
逆引きできるか調べて見れ
0553nobodyさん2008/10/03(金) 04:47:08ID:agLBvyd6
掲示板のログを保存する場合、データベースを使う方法と、
テキスト形式のログファイルに書き込む方法があると思いますが、
両者の利点、欠点は何ですか?
0554nobodyさん2008/10/03(金) 04:49:20ID:???
ぐぐれば一瞬で分かんだろ
0555nobodyさん2008/10/03(金) 04:50:44ID:???
>>553
ファイル形式に保存する場合は、容量はOSの制限を受けるため、
上限が生じるのが欠点ですが、速度が速いのが利点。

逆に、データベースに保存する場合、容量が2PB(2PTとは2000TBのこと)と実質上容量の制限が
ないのが利点ですが、速度が遅いのが欠点かな。
05565532008/10/03(金) 05:08:55ID:???
>>555
素早く、かつ大変ご丁寧なレスをありがとうございます。
ポイントは「速度」と「ファイルの容量」なのですね。

ということは、例えば「1月の書き込み」「2月の書き込み」…などと
ファイルを分けて保存すれば、1つ1つのファイルの容量は大きくならないので、
ファイル形式で十分ということでしょうか?

(正直、データベースの使い方がよく分からないので、
ファイル形式で良ければそれで済ませたい、という思いから質問させていただいてます)
0557nobodyさん2008/10/03(金) 05:13:16ID:???
一度DB使ったらログファイルなんて使ってらんないな
0558nobodyさん2008/10/03(金) 05:20:21ID:???
>>556
いいえ違います。
DBは膨大なデータを扱うことを想定して設計されているので、
データが多くなれば多くなるほどDBのほうがデータの検索速度は高速です。
ファイルの場合、ファイルシステムにもよりますが、データの検索速度はDBに比べ低速です。
またファイルの場合、効率的に読み込む手段が用意されていない言語の場合、
データが多くなると読み込みだけで時間を要します。
ファイルの利点はSQLを必要としないことぐらいです。
これはSQLを覚える必要がないのと、
SQLインジェクション等のSQL特有の攻撃を意識しなくてすむことぐらいです。
特段理由がなかったらDBを使うべきです。
0559553,5562008/10/03(金) 05:42:13ID:???
>>558
分かりやすいレスでとても感謝しています。
DBの利点がよく理解できました。

今日からDBを勉強することにします。
どうもありがとうございました。
0560nobodyさん2008/10/03(金) 06:07:45ID:???
>>558
2chがどうして、DBを使っていないのか、そこからお勉強しましょう。
明らかに経験不足です。
05615532008/10/03(金) 06:21:24ID:???
>>560
すみません、>>559で書き込んだ手前、質問しにくいのですが、
理由を教えていただけますでしょうか?簡単で構いませんので・・・。
2chはdatファイル(=テキストファイル?)ですよね。

また、検索や読み出し(ログの表示)をあまり必要としない場合は、
データベースの利点は少ないということでしょうか?
0562nobodyさん2008/10/03(金) 07:32:23ID:???
>>561
2chがどうして、DBを使っていないのか、そこからお勉強しましょう。
明らかに経験不足です。
0563nobodyさん2008/10/03(金) 08:00:21ID:???
>>562
2chってDB管理だと思ってた
専ブラで取得しやすいようにdatでも見れるようにしてるのかと・・・
0564nobodyさん2008/10/03(金) 08:03:43ID:???
DBは「有能な協力者を1人雇う」と考えればいい。
便利だが、いろいろ気遣いも必要になる。

datファイルの場合は、少し心細いが好きなようにやれて小回りがきく。
0565nobodyさん2008/10/03(金) 08:27:22ID:???
>>562
どうみても経験不足はあなたです。
本当にありがとうございました。
2chがどうしてDBを使ってないのか説明してみw
0566nobodyさん2008/10/03(金) 08:43:29ID:???
>>565
てめぇの馬鹿さ加減には、父ちゃん情けなくて涙が出てくらぁ
0567nobodyさん2008/10/03(金) 08:45:08ID:???
>>566
ごめんね馬鹿なのw
だからどうして2chがDB使ってないか説明してよw
0568nobodyさん2008/10/03(金) 08:50:18ID:???
>>567
2chがどうして、DBを使っていないのか、そこからお勉強しましょう。
明らかに経験不足です。
0569nobodyさん2008/10/03(金) 08:51:33ID:???
ルールを守ってない時点でお前は質問者じゃない。ただの玩具。
0570nobodyさん2008/10/03(金) 08:54:42ID:???
>>582
2chは負荷かかるし検索機能とかないだろ
ただ書き込んで表示してるだけ
ようするに掲示板につける機能によりけり
2chの話を出すのはマヌケ
あとあと掲示板にいろいろな機能を持たせたいのなら
最初からDBで設計しておいたほうがいい
2chは速さを追求した結果前時代的なシステムで拡張が困難
0571nobodyさん2008/10/03(金) 08:55:44ID:???
>>582に期待
05725702008/10/03(金) 08:57:51ID:???
>>562だ
顔洗ってくる
0573nobodyさん2008/10/03(金) 09:05:34ID:???
>>570
色々とピント外れだな。

> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
0574nobodyさん2008/10/03(金) 09:13:45ID:???
>>561
DBに興味があるならやってみなよ
両者の比較なんて大規模システム運用するわけじゃないんだから
パフォーマンスに目に見える差異は出てこない
ファイルは専用の関数だけ覚えれば扱えるけど
DBはいろいろ覚えることがあるから
どういうものか触れて勉強するのもいいと思う
Rapid開発になるとフレームワークを使うようになるし
そうするとDBが必須になってくるからね
慣れれば高速に開発できるのもDBの利点

>>573
だって無いだろ
0575nobodyさん2008/10/03(金) 09:21:00ID:???
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
0576nobodyさん2008/10/03(金) 10:09:02ID:???
2chは負荷かからず、検索機能とかがある説が急上昇
0577nobodyさん2008/10/03(金) 10:16:28ID:???
find.2ch.net
0578nobodyさん2008/10/03(金) 10:22:59ID:???
>>577
何ゆえにPHP版を
0579nobodyさん2008/10/03(金) 10:29:20ID:???
>>577
投稿をDBにいれるのと、
検索エンジンがインデックスをDBに作るのとはまた別の話だろ
0580nobodyさん2008/10/03(金) 10:32:24ID:???
>>579
誰も同じ話とは言っていないような???
0581nobodyさん2008/10/03(金) 10:33:20ID:???
>>576
しまいにはDB使わずナマズさん使ったほうが速いお
とか言いだしそうだな(わらう)
0582nobodyさん2008/10/03(金) 10:37:06ID:???
>>579
find.2ch.netがDBかどうかなんて話してないだろw
0583nobodyさん2008/10/03(金) 10:49:34ID:???
ひろゆきや狐やrootがDB分かんないからログファイルなんじゃね
0584nobodyさん2008/10/03(金) 10:55:46ID:???
>>583
お前は本当にその3人だけでやってると思ってんのか?
ってか、ひろゆきはDBわかるだろ
0585nobodyさん2008/10/03(金) 11:45:30ID:???
ドラゴンボールが何だっての?
0586nobodyさん2008/10/03(金) 11:58:56ID:/eEzlvvL
ディレクトリ構造?ってどうしてますか
phpファイルを機能別に分けたりしてますか?
0587nobodyさん2008/10/03(金) 12:20:21ID:???
好きにしろ
0588nobodyさん2008/10/03(金) 15:56:15ID:xSW6clzh
すみません。普通のPHPファイルとAjaxの部分とで同じSESSION変数を使いたいんですが、
データの整合性とか、大丈夫ですか?
0589nobodyさん2008/10/03(金) 16:06:53ID:rpr6AsK7
PHPからMySQLに格納すると文字化けするので、コネクトするたびに、
$sql = "SET NAMES utf8";
$result = mysql_query($sql);
とクエリを投げるようにして、とりあえず解決したのですが、
あまりスマートじゃないですよね?

上のPHP2文がある/無い で、文字化けする/しない という結果になるんですが、
この結果から、どの部分で文字コードがおかしくなっているのか予想ってできますでしょうか?
0590nobodyさん2008/10/03(金) 16:21:01ID:???
>>589
コネクトするたびにって、、、1ページ読み込むのに何回もコネクトしてるってこと?
DBのホストを分散しているとかは別だけど、もしそうならスクリプトを1から作り直したほうがいい
それかmysqlのコンフィグを書き換えデフォをUTFにする
0591nobodyさん2008/10/03(金) 16:53:27ID:rpr6AsK7
>>590
いや、データベースのクラスがあって、
そのクラスをnewするたびにconnectしています。

基本的に1ページには1回newして、そのオブジェクトを使うので、
1ページ=1connectです。

PHPのファイルがUTF-8で、my.cnfの設定もUTF-8に統一している
(コンソールからMySQLにつないで、statusで確認済み)のですが、
あと文字コードに関わる部分ってどこがあるでしょうか?
0592nobodyさん2008/10/03(金) 17:13:26ID:???
>>591
クラスにしているなら特にSET NAMEを複数書く必要もないしスマートだと思うけど
格納するクエリが文字化けしてなく、格納した時にすでに文字化けしているなら他に原因は思いあたらない
0593nobodyさん2008/10/03(金) 18:08:56ID:???
>>588
javascriptはアクセス先のPHPへ同じセッションIDを通知するから、
ページ全体を表示する際に生成したセッションと同一と言える
0594nobodyさん2008/10/03(金) 18:10:44ID:???
>>591
何にせよmysql側で対応したいなら、
MySQL「サーバ」とMySQL「クライアント」の文字コードを統一しないとな
PHPの文字コードじゃないから注意だぞ(PHPからMySQLクライアント(ドライバ)に渡る際に変換されるから)
0595nobodyさん2008/10/03(金) 18:38:33ID:???
>>589
その説明は、俺がmy.cnfの設定方法を含めて前レスで詳しく説明したから、
それを見てくれ。
05962112008/10/03(金) 19:14:51ID:XpYjXbv/
もう誰も興味ないと思いますが・・・というか、結果的にかなり場違いな
質問でしたが、一応解決したので書いておきます。
結果的には oci8.so をユニバーサルバイナリにしてみたら動きました。
理由は説明できないので聞かないでください。

最初に書かないといけなかったような気がしていますが、環境は、
$ uname -a
Darwin macbook.example.com 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386
です。

いろいろ試行錯誤していて、以前指摘された "DYLD_PRELOAD"に相当する
ものは"DYLD_INSERT_LIBRARIES"ではないかと思い、試していると、
$ export DYLD_LIBRARY_PATH=/usr/local/instantclient_10_2
$ php ocitest.php
(成功)
$ /usr/sbin/httpd
dyld: could not load inserted library: /usr/local/instantclient_10_2/libclntsh.dylib.10.1

Trace/BPT trap
こうなりました。全然理解できませんが。

ユニバーサルバイナリにしたら良いかもと勝手に思い、
$ pecl bundle oci8
$ CFLAGS='-arch i386 -arch x86_64 -arch ppc -arch ppc64' LDFLAGS='-arch i386 -arch x86_64 -arch ppc -arch ppc64' ./configure --with-oci8=instantclient,/usr/local/instantclient_10_2 --disable-dependency-tracking
$ sudo make install

これで試したらすんなり動きました。
おわり。
05972112008/10/03(金) 19:23:49ID:XpYjXbv/
>>596
途中一行抜けてました。
$ export DYLD_LIBRARY_PATH=/usr/local/instantclient_10_2
$ export DYLD_INSERT_LIBRARIES=/usr/local/instantclient_10_2/libclntsh.dylib.10.1
$ php ocitest.php

あと、せっかくなのでちょっと追記。
$ file oci8.so
oci8.so: Mach-O universal binary with 4 architectures
oci8.so (for architecture i386): Mach-O bundle i386
oci8.so (for architecture x86_64): Mach-O 64-bit bundle x86_64
oci8.so (for architecture ppc7400): Mach-O bundle ppc
oci8.so (for architecture ppc64): Mach-O 64-bit bundle ppc64
$ file oci8.so.orig (動かなかったoci8.so)
oci8.so.orig: Mach-O bundle i386
$ file libclntsh.dylib.10.1
libclntsh.dylib.10.1: Mach-O dynamically linked shared library i386
0598nobodyさん2008/10/03(金) 19:25:49ID:???
自分のblogに書いといてくれ
0599nobodyさん2008/10/03(金) 19:26:25ID:???
ごくろうさん
06002112008/10/03(金) 20:00:31ID:XpYjXbv/
すみません。。。
http://pc11.2ch.net/test/read.cgi/mac/1216824430/
に似たような事例があって、いくつかわかりました。
標準でインストールされている httpd は x86_64 で動作しているようです。
アクティビティモニタ上で "Intel (64ビット)" と表示されていました。

で、oci8.so はユニバーサルバイナリにすることでロードされましたが、
その中で使っている libclntsh.dylib は i386 のバイナリしかないわけで
ocitest.php をapacheに実行させたら Trace/BPT trap で失敗してました。。。

なかなか上手くいかないもんだのう。。。
0601nobodyさん2008/10/03(金) 20:28:26ID:???
嫌がらせか
06025882008/10/03(金) 21:05:21ID:???
>>593
どうも同一のセッションIDを送ってくれるので、大丈夫ということを知り安心しました。

回答つかないかと思ってあせってたんです(;´д`)

本当にありがとうございました。助かりました。
0603nobodyさん2008/10/03(金) 22:38:52ID:19ebb2MR
$array[0]["name"]
$array[1]["name"]
$array[2]["name"]

となっている配列があったとして、
nameの中が空の場合、その配列を削除したいと思っています。
ひとつずつIFで条件分岐する以外で方法はないでしょうか?
0604nobodyさん2008/10/03(金) 23:42:28ID:???
機能別にすることもあるし分けないこともある。
本体とログとかさらにいくつもファイル複数あるなら分けたほうがいい気はする。
0605nobodyさん2008/10/03(金) 23:58:50ID:???
>>603
なさげ。
普通にif文でやってください。
で、ついでに配列に格納する段階でどうにかするという方向性でいったら?
0606nobodyさん2008/10/04(土) 00:02:17ID:qepvww6d
フレームワーク使ってるかってどうやってわかるんでしょうか?
0607nobodyさん2008/10/04(土) 00:25:18ID:???
>>606
デフォルトのまま使えば特徴は出るがそんなのはいくらでも隠蔽できるし
使ってる本人がこのサイトはなんたらのフレームワークで構築されてます
みたいな自己紹介してないとわからない
0608nobodyさん2008/10/04(土) 00:29:35ID:qepvww6d
>>607
なるほど。 ご回答ありがとうございました
0609nobodyさん2008/10/04(土) 09:35:14ID:???
どうしてもモジュール単位でクラス化していくと、
require_onceの数が多くなってしまいます。
ファイルをインクルードするためのオーバーヘッドは気にしなくて大丈夫でしょうか?

0610nobodyさん2008/10/04(土) 11:25:40ID:???
>>609
ファイル数が多いならrequire_onceよりrequireを。
onceは重複チェックの分オーバーヘッドがrequireよりありんす。
■ このスレッドは過去ログ倉庫に格納されています