トップページ⇒php
986コメント361KB

【PHP】質問スレッドpart27【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/03/03 22:41:23ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
 http://www.php.net/
■日本 PHP ユーザ会
 http://www.php.gr.jp/
■PHP マニュアル
 http://www.php.net/manual/ja/
■PEAR マニュアル
 http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-10辺り
0166nobodyさん05/03/19 00:58:41ID:???
>>165
まず試せ。
wcはUNIX系OSのシステムコマンド。
0167nobodyさん05/03/19 01:00:14ID:???
え、、と…
PHPでできないと少々具合が悪いのですが…
0168nobodyさん05/03/19 01:04:41ID:???
>>167
fileで読み込む以外不可能だとおもうよ。
悲惨なことになったらまたおいで。
0169nobodyさん05/03/19 01:05:17ID:???
>>168
わかりました…
どうもありがとうございます、試してみますね(。・ω・。)ノ
0170nobodyさん05/03/19 01:06:21ID:???
>>167
でかいってどれくらい?
具体的な数字をどうぞ。サイズと行数くらいかな?
あと平均カラム数も。
0171nobodyさん05/03/19 01:11:39ID:???
>>167
あとファイルで使ってる文字コードも。
0172nobodyさん05/03/19 01:14:24ID:???
>>170
7万行くらいで、50MBくらいです。
文字コードはSJISです
0173nobodyさん05/03/19 01:18:16ID:???
fopenしてfgetsを繰り返して(取った内容は棄て)カウントでもいいと思うよ。
1行がよっぽど長くなければメモリも食わん。
0174nobodyさん05/03/19 01:21:03ID:???
>>173
なるほど!!
そうすれば効率的ですね。
どうもありがとうございました<(_ _)>
0175nobodyさん05/03/19 07:56:37ID:???
>そうすれば効率的ですね。


∠( ゚д゚)/「え?」


釣りですかそうですか
λ..........
0176nobodyさん05/03/19 08:27:15ID:???
>>169
>>168みたいなうそつきの言うことは聞かないで
<?php
$file = 'C:\Program Files\Apache Group\Apache2\logs\access.log';
$fp = fopen($file, "r");
$count = 0;
while(!feof ($fp)) {
if ($line = fgets($fp) and substr($line, -1) == "\n") $count++;
}
fclose($fp);
echo $file."の行数は".$count."です";
?>
最後の行に改行が無いと1行少なくなる
0177nobodyさん05/03/19 10:32:13ID:???
たぶんちょー基本的な質問なんだけど、
ここに出て来る @ ってなに?

$fp = @fopen($file, "w");
$write = @fputs($fp, $contents);
@fclose($fp);
0178nobodyさん05/03/19 10:41:48ID:???
そのまま$fileの部分を$filesにして試してみ
@があるとないの違いがわかる。
017917705/03/19 10:45:34ID:???
ttp://us2.php.net/manual/ja/function.fopen.php
で見つけたけど、warning を出さなくする修飾子ってこと?
0180にーchan05/03/19 10:54:51ID:XBx83jBt
phpにてメールを送信するプログラムで送信テストをしているのですが
Warning: mb_send_mail(): Failed to connect to mailserver at "192.168.11.100" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\home\mail\a.php on line 10
とエラーが出てしまいます。
portはwebで開いているか確認できるページで確認したら開いてました。
php.iniでもsmtp_port = 25と記述もしてみたのですがだめでした。
php.iniのSMTPをniftyのSMTPサーバー名にしても同じく・・・
他に考えられる原因は何があるでしょうか?
0181nobodyさん05/03/19 11:21:46ID:???
>180
・SMTPサーバが動いていない
・SMTPサーバを勝手に使えないよう制限されている
のどちらか。
0182nobodyさん05/03/19 11:40:40ID:???
>>180
>portはwebで開いているか確認できるページで確認したら開いてました。
例示がローカルアドレスなのに、webでのチェッカーで確認したというのが怪しい。
0183にーchan05/03/19 12:06:15ID:???
>181
・SMTPサーバが動いていない
・SMTPサーバを勝手に使えないよう制限されている
とはメールサーバを立てているのですがそれの設定が違ってるってことでしょうか?

>182
外部へポートが開いていた場合でもローカルは閉じている場合はあるのでしょうか?
0184nobodyさん05/03/19 12:07:10ID:0sO4bGN4
php の error log に任意を文字列を出力する方法ってある??
0185nobodyさん05/03/19 12:19:00ID:???
>>184
使ったことないけど、trigger_error()あたり。
0186nobodyさん05/03/19 12:40:14ID:???
>>184
マニュアルの
XXX. エラー処理およびログ記録関数
0187nobodyさん05/03/19 14:05:22ID:oXb2sDzY
個人情報だのパスワードだのって、暗号化とかしてる?
暗号化してDBに保存、読み出して複合化とかしたいんだけどPHP中やDBに複合化の
Keyとかプレーンで書いておいたら意味が無いかとも思うしかといってKey暗号化しておいたら
Keyの複合化どーすんのよっつーか
0188nobodyさん05/03/19 14:12:54ID:???
復号しなくていいようにすればいいじゃない
0189nobodyさん05/03/19 14:20:54ID:oXb2sDzY
>>188
比較だけなら暗号化したもの同士で行えば良いんだろうけど
例えば会員がパスワード忘れて問い合わせてきた場合は?
もっかい登録しなおせって訳にもいかないだろうし、個人情報についても
保護法絡みで共有サーバなんかの場合暗号化しときたいんだけど
0190nobodyさん05/03/19 16:04:52ID:???
>>189
もう一回登録させるのに何か問題でも?
0191nobodyさん05/03/19 17:43:17ID:???
>>189
そういう時は、自動生成したパスワードを再発行してやり変更が必要ならそっちで勝手に変えてね
とすればよい。
0192nobodyさん05/03/19 18:21:51ID:Mh3YU28A
ISAPIでHTTP_REFERERとHTTP_USER_AGENTが取得出来ないんですが
なぜでしょう?
0193nobodyさん05/03/19 18:35:39ID:???
>>192
基本的には通常通りサーバが吐いてれば取れるはずだが、
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/21b3be8f-d4ed-4059-8e21-6cba2c253006.asp
AN-httpdとISAPI版PHPとではバージョン違いの組み合わせで
取れたり取れなかったしてた時があったな。
CGI版だと取れたり。
0194nobodyさん05/03/19 18:37:27ID:???
>>192
anhttpdだろ?
作者に聞け
0195nobodyさん05/03/20 03:54:17ID:34HEFa63
FAQがなかったのでよくある質問っぽいんですが書きます。

Ver.4.3.10を使っていてphpinfoをみると
--enable-mbstring=shared
という一文があるのですが、mb_string系の関数がundifinedといわれて困っています。

どうすればmb_string系の関数を使用できるのでしょうか?
0196nobodyさん05/03/20 04:12:49ID:???
>>195
たぶん dl()
0197nobodyさん05/03/20 04:21:53ID:34HEFa63
>>196
ちょっと意味がわからないのですがどういう意味でしょう?
0198nobodyさん05/03/20 04:28:43ID:???
>>197
関数を使って動的にロードしろってことだろ。
0199nobodyさん05/03/20 04:32:48ID:34HEFa63
>>198なるほど。
ちなみにロードするファイル名は何でしょうか?
教えて君ですいません
0200nobodyさん05/03/20 05:39:18ID:???
>>199
すみません、マニュアルって知ってますか?
0201nobodyさん05/03/20 05:45:12ID:???
>>199
http://jp2.php.net/manual/ja/function.dl.php

*mbstring*なファイル名。最もmbstringはdlできたんだっけ?
0202nobodyさん05/03/20 17:42:42ID:???
みかんと林檎と梨の値段を計算するプログラムを作ってみようと試みています。
最初にチェックボックス形式でチェックした品名だけをドロップダウンリスト形式で表示させ
ドロップダウンリストから選択した品名の個数を入力して値段を計算させる、という感じで作ろうとしています。
↓-----index.phpの一部-----↓
<form method="POST" action="test.php">
<input type="checkbox" name="check[]" value="みかん">みかん<br>
<input type="checkbox" name="check[]" value="林檎">林檎<br>
<input type="checkbox" name="check[]" value="梨">梨<br>
<input type="submit" value="OK">
↑----------↑
↓--test.phpの一部--↓
echo "<form method=POST action=" . {$_SERVER['PHP_SELF']} . ">\n";
echo "<select name=name>\n";
for( $i=0; $i<count($_POST['check']); $i++) {
echo " <option value=$_POST['check'][$i]>$_POST['check'][$i]\n";
}
echo "</select><br>\n";
echo "個数:<input type=text size=6 name=pieces value=" . {$_POST['pieces']} . ">\n";
echo "<input type=submit value=計算>\n";
echo "</form>\n";
↑----------↑

ドロップダウンリストから選択して計算までは出来るのですが、
計算を実行したあとドロップダウンリストの中身が空っぽになってしまいます。
このドロップダウンリストの中身を保持して欲しいのですが、どの様にすればよいのでしょうか?
0203nobodyさん05/03/20 17:58:06ID:???
>>202
> ドロップダウンリストから選択して計算までは出来るのですが
いや、どうみても出来てないっしょ、そのソースを見る限り。
それは置いておくとして、
1回目のtest.phpで<select name="name">の指定があるので
2回目のtest.phpでは $_POST['name'] と $_POST['pieces']の2つの変数がセットされます。
従って、for($i=0;$i<count($_POST['check']);$i++)の内部が実行されることはありません。
020420205/03/20 19:06:41ID:???
>>203
速レス有り難うございます。
すいません、よく分からなくなってしまったのでソース全部晒します。
################test.php################
<?php
include_once("display.inc");
include_once("input.inc");
include_once("calc.inc");
include_once("result.inc");
if (empty($_POST['pieces'])):
$_POST['pieces'] = "";
endif;
display_input_area();
if (!empty($_POST['pieces']) && input_is_valid()):
$result = calc_mikan();
display_result($result);
endif;
?>
################item_data.inc################
<?php
$check = $_POST['check'];
$item_data = array(
"みかん" => array(
"price" => "26",
"tax" => "0"
),
"林檎" => array(
"price" => "30",
"tax" => "0"
)
);
?>
0205nobodyさん05/03/20 19:08:08ID:???
################display.inc################
<?php
function display_input_area()
{
require("item_data.inc");
print <<<__EOD1__
<form method=POST action="{$_SERVER['PHP_SELF']}">
<table><tr><td>
__EOD1__;
echo "<select name=name>\n";
for( $i=0; $i<count($check); $i++) {
echo " <option value=$check[$i]>$check[$i]\n";
}
echo "</select>\n";
print <<<__EOD2__
</td><td>個数:<input type=text size=6 name=pieces value="{$_POST['pieces']}">
</td><td>税率(%):<input type text size=4 name=tax value="{$_POST['tax']}">
</td></tr></table><br><input type=submit value="計算"></form>
__EOD2__;
}
################calc.inc################
<?php
function calc_mikan()
{
require("item_data.inc");
$name = $_POST['name'];
$char_tax = $_POST['tax'];
$base_price = $item_data[$name]['price'];
$mikan = $base_mikan * (1 + $char_tax / 100);
return (integer)$mikan;
}
?>
0206nobodyさん05/03/20 19:13:18ID:???
################input.inc################
<?php
function input_is_valid()
{
if ($_POST['pieces'] > 0):
return TRUE;
endif;
return FALSE;
}
?>
################result.inc################
<?php
function display_result($result)
{
require("item_data.inc");
print <<< __EEE__
<table border=0 cellpadding=2 cellspacing=1 bgcolor=#696969><tr>
<td width=120 align=center bgcolor=#e6e6fa>品名</td>
<td align=center bgcolor=#e6e6fa>個数</td>
<td align=center bgcolor=#e6e6fa>値段</td></tr><tr>
<td width=120 bgcolor=white>{$_POST['name']}</td>
<td bgcolor=white>{$_POST['pieces']}</td>
<td bgcolor=white>{$result}</td></tr></table>
__EEE__;
}
?>
徹底攻略見ながら作ったのがバレバレで恥ずかしい・・・
>2回目のtest.phpでは $_POST['name'] と $_POST['pieces']の2つの変数がセットされます。
>従って、for($i=0;$i<count($_POST['check']);$i++)の内部が実行されることはありません。
なぜ、2度目以降ではforループの内部が実行されないのでしょうか。
0207nobodyさん05/03/20 19:27:47ID:???
endif; ???
0208nobodyさん05/03/20 19:40:30ID:???
>>207
制御構造に関する別の構文
ttp://www.php.net/manual/ja/control-structures.alternative-syntax.php
これって、マニュアルでしか見た事なかったよ。。実際に使っている人がいたのか(笑)
0209nobodyさん05/03/20 19:43:11ID:???
>>208
おぉ、そんなのが有ったのか、一つ賢くなった。
0210nobodyさん05/03/21 00:42:45ID:???
出力する際にHTMLを書くのが面倒になってきたのですが、
連想配列を渡すとリストとして返ってくる関数とか無いですか?
0211nobodyさん05/03/21 00:44:11ID:???
そういう関数作ってみてはいかが?
0212nobodyさん05/03/21 01:23:52ID:???
>>210
配列渡すとテーブルとかリストで吐くような機能を持った
テンプレートクラスがあった気がする。
0213nobodyさん2005/03/21(月) 09:29:01ID:???
ある web から引っ張ってきた文字列から
例えば strip_tags()した後、  だけ取り除きたい時って
どうすればいいの?
02142132005/03/21(月) 09:33:40ID:???
アフォでした。

例えば strip_tags()した後、&ンBSP;だけ取り除きたい時って

って書きました…
0215nobodyさん2005/03/21(月) 09:37:09ID:???
>>214
str_replaceでも使えば?
02162142005/03/21(月) 09:42:15ID:???
だね。自分でも発見した。

ttp://www.softinn.jp/doc/lib/
これって使った事ある人いる?ググったらでてきた。
今んとこ str_replace で充分そうだけど、もしかしたら後で使いたいかも。
どう?
02172022005/03/21(月) 10:44:09ID:???
セッション使ってみたらとりあえずドロップダウンリストが空っぽにならなくなったよ。
少しだけど前進した。スレ汚しスマンカッタ
0218nobodyさん2005/03/21(月) 20:52:21ID:???
Vodafoneで着メロのダウンロードさせたいんだけど
音楽ファイルよみこんでバイナリで吐き出しても
音楽は聴けるけど保存できません・

header("Accept-Ranges: none");
header("Content-Length: $filesize");
header("Content-Type: application/x-smaf");
header("Content-Disposition: attachment; filename=".$strMusicname);
i18n_http_output("pass");

$fp=fopen($strPath,"rb");
fpassthru($fp);
fclose($fp);

こんな感じで書いてるけどDocomoは再生・登録ともにできました。
何かヘッダー情報たりないんでしょうか?

02192182005/03/21(月) 20:53:20ID:???
ちなみにメールで同じファイルを
Vodafone端末に送付したら登録はできました

どなたか宜しくお願いします;−;
0220nobodyさん2005/03/21(月) 21:34:19ID:???
phpじゃないじゃない。
0221nobodyさん2005/03/21(月) 21:53:40ID:???
じゃないじゃないじゃない
02222182005/03/21(月) 22:33:01ID:???
もうちょっと調べてみます
ありがとうございました
0223nobodyさん2005/03/22(火) 21:34:33ID:FZjBD8FM
PHPのカラー表示できるテキストエディタってありますか?
PHPのエディタってあんまりないですよね。。。
0224nobodyさん2005/03/22(火) 21:41:44ID:???
>>223
PHPエディタって、どうよ?
http://pc8.2ch.net/test/read.cgi/php/1079460638/
0225nobodyさん2005/03/23(水) 00:55:18ID:???
phpに出来てcgiに出来ないこと、またはその逆はありますか?

もしないのであれば、何故両立している状態があるのでしょうか?
0226nobodyさん2005/03/23(水) 00:56:49ID:???
春だなぁ
02272252005/03/23(水) 00:58:04ID:???
>>226
スミマセン。。。社会人っす。。。素朴に疑問なんです。。。
0228nobodyさん2005/03/23(水) 01:00:58ID:???
>>227
ttp://e-words.jp/w/CGI.html
02292252005/03/23(水) 01:04:23ID:???
>>228
http://e-words.jp/w/PHP.html
これも読みました。。。
理解できていないと思うのですが、PHPの解説サイトとか見てみると、「cgiより軽い」とか「cgiよりサーバーへの負担が少ない」とか書いてあって。
cgiで出来てphpで出来ないことがないとしたら、両立している理由が分からないのです。。。 orz...
0230nobodyさん2005/03/23(水) 01:15:31ID:???
まぁPHPもCGIなはず
02312252005/03/23(水) 01:20:23ID:???
もっと勉強してきます orz...

>>230
アリガトゴザイマシタ!!
0232nobodyさん2005/03/23(水) 01:25:25ID:???
CGIに出来てPHPに出来ないこと。

CやPerl、RubyなどもちろんPHPも含めてあらゆる言語を利用できる。

って、答えたらよかったのかなぁ?
0233nobodyさん2005/03/23(水) 02:03:24ID:???
PHPは言語だからCGIと比較するのはおかしい。
レースドライバーと耕運機を比較するくらいズレてる。
そもそもPHPはCGIとして動かすことも可能。
0234nobodyさん2005/03/23(水) 02:27:10ID:???
>>229
巷の初心者に毛が生えたのが解説してるPHPサイトとかも
ちゃんと理解できていないからその記述になってるので安心汁。
(CGI=Perlらしい)
0235nobodyさん2005/03/23(水) 06:46:05ID:???
>>233
君の頭は四角いな
0236nobodyさん2005/03/23(水) 09:15:07ID:???
クラスの外部で定義された変数をクラス内部で使いたい場合、
PHP5では
public $mona = array(0,1,2);
class giko {
}
PHP4では
$mona = array(0,1,2);
class giko {
 global $mona;
}
という認識であってますか?
0237nobodyさん2005/03/23(水) 10:00:02ID:???
PHP→mod_PHP、CGI版PHP
PHP自体が速いのではなく、Apacheモジュールとして立ち上げたPHPが(既にPHPが起動しているので)CGI版PHPより速い。
Perl→mod_Perl、CGI版Perl
多くのレン鯖はCGI版Perlで、Perlの起動に時間がかかるからmod_PHPと比べるとたいてい遅くなる。だからPHPはPerlより速くて負荷が小さいですよ、とか紛らわしい書き方をしている。mod_Perlとmod_PHPなら差はほとんどない。 であってるのかな。

モジュールとして動作→速い、モジュール限定機能あり
CGIとして動作→SuEXECが効く、Perlが落ちてもHTTPDまで落ちない
0238nobodyさん2005/03/23(水) 10:24:37ID:???
>>237
mod_perl > mod_php > Perl(CGI) > PHP(CGI) のようです
0239nobodyさん2005/03/23(水) 10:35:10ID:???
>>236
publicはclass内でpublic変数を定義するもの
classの外で使うとエラーになります
0240nobodyさん2005/03/23(水) 10:44:39ID:???
取りあえず巷にはCGI=perl(言語)と思ってる馬鹿が溢れかえってるので、それを前提に話しをするとヨロシ
>>230みたいな勘違いしてる人は結構珍しいかも。
0241nobodyさん2005/03/23(水) 10:51:38ID:???
>>218
そのPHPを記述したファイルの拡張子(.php)を着メロ用ファイルの拡張子(何かは知らんが仮に.xxxとする)にし、
htaccess使うとかして、.xxxというファイルがPHPとして動作するようにしてみ。
試してないので上手くいくかどうかは知らんが。

あとPHPのバージョン(3使ってる?)の関係であえてそうしてるのだとは思うけど、
5行目 ⇒ mb_http_output('pass');
7〜9行目 ⇒ readfile();
一応、バージョン4以降使ってる人の為に。。
02422232005/03/23(水) 10:55:20ID:???
>>224
そんなスレあったのですね。
逝ってきます
0243nobodyさん2005/03/23(水) 11:08:37ID:???
foreach ($arr as $k => $v) {
 foreach ($arr[$k] as $key => $value) {
  echo $key.$value;
 }
}

エラー出る。なんで?
02442432005/03/23(水) 11:18:24ID:???
おう、配列のほうに問題あったみたい。
ごめん。
0245nobodyさん2005/03/23(水) 11:41:30ID:7EAkLlhU
初めてfopen()とかcopy()とか使うことになって、壁にぶちあたりました。

Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 574 is not allowed to access / owned by uid 0 in

↑こんなエラーがでるのは、レンサバの設定がセーフモードだからってことですか?
そんなときは、どうやって、fopenしたりmkdirしたりするんですか?
PHP Version 4.3.8
0246nobodyさん2005/03/23(水) 11:45:34ID:???
>>245
mkdirを使わないようにプログラムする
必要なディレクトリはあらかじめFTPで作っておく
02472452005/03/23(水) 11:52:15ID:???
なるほど。
ディレクトリは最悪、事前に準備することが可能なんですが、動的にHtmlファイルを生成(書き換え)したいと思っていまして、そんなとき、fopen()使わずにいけますか?
0248nobodyさん2005/03/23(水) 11:57:35ID:???
>>247
あらかじめ作ったディレクトリ(所有者がPHPスクリプトの所有者と同じ)内であれば特に制限は無いのでfopenでもcopyでも好きにやってくれ。
02492452005/03/23(水) 12:15:22ID:???
>>248
ありがとうございます。
試してみました。↓
$result2 = copy("test_dummy/test.txt","test_dummy/test2.txt");
。。。でもダメでした。(同じメッセージ)
かなり初歩的なことだと思いますが、引き続きご指南いただけませんか。
0250nobodyさん2005/03/23(水) 12:49:38ID:???
>>249
test_dummyの属性(permission)と所有者(owner)を述べよ
0251nobodyさん2005/03/23(水) 14:29:11ID:???
>>238
>mod_perl > mod_php > Perl(CGI) > PHP(CGI)
その順番は一般にPHPは最初から拡張モジュールてんこ盛りでビルド
Perlは最初から余り入れずプログラムで必要に応じて採用する傾向のよるもの。
(PHPでdl()させてるところって殆どないやん)
実際に測ると総合力は余り変わらんよ。
0252nobodyさん2005/03/23(水) 14:30:45ID:???
mod_perlちょっぱやよ。
0253nobodyさん2005/03/23(水) 15:37:48ID:ZnAQR4mO
特定のディレクトリのファイル容量を取得する方法は、ありますか?
0254nobodyさん2005/03/23(水) 15:48:08ID:???
>>253
OSによる
0255nobodyさん2005/03/23(水) 16:04:12ID:???
>>253
PHPスレで聞いたって事はPHPにそういう関数はないかってことやね
無い と思う
linuxならduコマンド呼べ
0256nobodyさん2005/03/23(水) 16:23:40ID:???
disk_total_space()とdisk_free_space()をゴニョゴニョすれば出そうな気もするなぁ。
0257nobodyさん2005/03/23(水) 16:28:09ID:???
ecs.php
http://www.itmedia.co.jp/enterprise/articles/0502/28/news003_2.html
view.php
http://www.itmedia.co.jp/enterprise/articles/0502/28/news003_3.html

漠然とした質問で申し訳ないのですが
練習としてやっていて初っ端でつまづいております・・・。
上のソースの必要個所を修正し、
その後アップロードをしview.phpにアクセスしても真っ白で何も表示されません・・・。
サーバーはlinuxでphpは4です
よろすくおねがいします
0258nobodyさん2005/03/23(水) 16:29:44ID:???
>>256
いや できないだろう
ハードディスクの空き容量が出るだけかquotaで割り当てられた容量が出るかじゃないのか
filesize()で一個ずつ足していくのはどうかね
0259PHP初心者2005/03/23(水) 16:34:27ID:OtBPoiR1
index.htmlに検索フォームを設置し、
seach.phpでデータベースに接続して、検索結果を表示しています。

例えば、データベースは次のようなものです。
number | name | comment
1 | 太郎 | 1番足が速い
2 | 次郎 | クラスで5番目に背が高い
3 | 三郎 | 至ってhutuuな成績

検索フォームは次のようなものです。
<FORM action="search.php">
<INPUT size="20" type="text" name="key"><BR>
<INPUT type="submit" value="検索"><INPUT type="reset" value="リセット">
</FORM>

seach.php には次のようなものを記述しています。
$key = $_GET['key'];
・
・(省略)
・
$result = mysql_query("SELECT * FROM abc WHERE comment LIKE '%$key%'",$db);

「5」で検索すると、次郎君のデータが表示され、
「hutuu」で検索すると、三郎君のデータが表示されます。
しかし、「足」を入力して検索すると、検索ができません(何も表示されません)。
どうすれば、日本語でも検索できるようになるでしょうか?
何かお気付きの点がありましたら、教えていただきたいです。 m(_ _)m
0260nobodyさん2005/03/23(水) 16:36:06ID:???
>>257
view.phpの2行目に
error_reporting(E_ALL);
を入れとく。
0261nobodyさん2005/03/23(水) 16:42:32ID:???
>>259
MySQLのバージョンは?
4.0ならSELECT * FROM abc WHERE comment LIKE BINARY '%$key%'
3ならcommentフィールド自体にBINARYをつける
0262nobodyさん2005/03/23(水) 16:46:08ID:???
>>256
その両方の関数のユーザコメントでその手のが色々書いてある。
でもWindowsで試したけど、まあ上手くいかんね。
>>258の言うとおりdir()辺りで一覧とって、ファイルに限って
逐一filesize()で調べて合計出すのが良いと思う。
# du使えればそれが一番楽だけどね。
0263nobodyさん2005/03/23(水) 16:48:48ID:???
>>259
MySQLのサーバ設定で「日本語(ujis/sjis等)」ときちんと設定する。
サーバ設定が変更できない場合は、次善の策として>>261の方法で対処。

02642612005/03/23(水) 16:56:08ID:???
BINARY演算子はMySQL3.23.0から使えるようです
ただ英字のHUTUUとかがhutuuでは検索できなくなります。
0265nobodyさん2005/03/23(水) 17:27:54ID:???
>>260
レスありがとうございます
やってみましたが真っ白です・・・_| ̄|○
■ このスレッドは過去ログ倉庫に格納されています