????????????????????¨????°???¨??§????????°???????¨??????¬???????????°?????±??????????????§??????
このスレッドはクローズされています。記事の閲覧のみとなります。
PHPでのデータファイル読み込みトラブル |
|
- ????????? 2006/01/24 19:35
- ????????? はしもと
-
初めてサーバを作成したときは大変お世話になりました。早1年順調に稼動しています。
今回、『fedora core 4』で新たにサーバを構築しようと思い、作業を進めていきました。 WEBサーバ構築(apache,php)後、現在稼働中のサーバ(FC2)からデータを移したところ、 CSVデータ読み取り部分でエラーになってしまいます。CSVデータ無しの場合、正常に表示されるので 読み取り部分に何か問題があるのかと思うのですが、なかなか解決できません。 別に稼動しているFC2のサーバでは問題なく表示されます。 質問内容がこの場に合わないものかもしれませんが、どなたかご教授頂ければと思います。
|
■ コンテンツ関連情報
Re: PHPでのデータファイル読み込みトラブル ( No.1 ) |
|
- ????????? 2006/01/24 21:16
- ????????? 管理者
-
どのようなエラーが表示されますか?
また、読み取り部分のソースは公開できますか?
|
Re: PHPでのデータファイル読み込みトラブル ( No.2 ) |
|
- ????????? 2006/01/25 10:22
- ????????? はしもと
-
ご返信ありがとうございます。
エラーメッセージはありません。データ読み取り部分以降が表示されません。 読み取りデータがない状態だと、問題なく全て表示されます。 ちなみに簡単なデータ読み取りのソースを用いても同じ状況になります。 別スレッドにソースを公開しておきます。 よろしくお願いします。
|
Re: PHPでのデータファイル読み込みトラブル ( No.3 ) |
|
- ????????? 2006/01/25 10:24
- ????????? はしもと
-
<?php require_once( "common.php" ); ?> <HTML> <HEAD><TITLE>02-01</TITLE></HEAD> <BODY> <H1>アドレス帳</H1> <?php $AddressData = LoadTextFile( "./data/m_addr.txt", "EUC_JP", "SJIS" ); if ( $AddressData == false ) { echo( "データはありません。" ); } else { ?> <TABLE BORDER="1"> <?php for ( $i = 0; $i < sizeof( $AddressData ); $i++ ) { $line = explode( ",", $AddressData[ $i ] ); ?><TR> <TD BGCOLOR="#FFFFCC"><?php echo( $i + 1 ) ?></TD> <TD><?php echo( $line[ 0 ] ) ?></TD> <TD><?php echo( $line[ 1 ] ) ?></TD> </TR> <?php } ?></TABLE><?php } ?> </BODY></HTML>
【common.php】 <?php // LoadTextFile // テキストファイルの内容を配列に読み込みます。 function LoadTextFile( $FilePath, $encoding = "EUC_JP", $s_encoding = "SJIS" ) { if ( file_exists( $FilePath ) == false ) { return false; } $data = file( $FilePath ); if ( sizeof( $data ) < 1 ) { return false; } else { array_convert_encoding( $data, $encoding ); return $data; } }
// array_convert_encoding // 配列の内容すべてに対して文字コードの変換処理を行います。 function array_convert_encoding ( &$data, $encoding = "EUC_JP", $s_encoding = "SJIS" ) { for ( $i = 0; $i < sizeof( $data ); $i++ ) { $data[ $i ] = mb_convert_encoding( $data[ $i ], $encoding, $s_encoding); } } ?> 【m_addr.txt】 テスト太郎,taro@example.com てすと花子,hanako@sample.co.jp ピー・エイチ・ピー,phpdayo@example.net あ・パッチ,apache@example.ad.jp
|
Re: PHPでのデータファイル読み込みトラブル ( No.4 ) |
|
- ????????? 2006/01/25 10:28
- ????????? はしもと
-
以上のプログラム実行時
【FC2サーバの場合】 問題なく表示されます。 【FC4サーバの場合(今回構築)】 『アドレス帳』の表示のみ。エラーメッセージは無し。
|
Re: PHPでのデータファイル読み込みトラブル ( No.5 ) |
|
- ????????? 2006/01/25 12:50
- ????????? 管理者
-
まず、以下のコマンドで「php-mbstring」をインストールしてください。
# yum install php-mbstring
この後、php設定ファイル「/etc/php.ini」中の「mbstring.language」を"#"を外して有効にします。
# vi /etc/php.ini [mbstring] ; language for internal character representation. mbstring.language = Japanese
apacheを再起動すれば、ファイルを読むことが可能です。
|
Re: PHPでのデータファイル読み込みトラブル ( No.6 ) |
|
- ????????? 2006/01/26 10:59
- ????????? はしもと
-
ご教授ありがとうございました。
上記のコマンドを試みたところ、データファイルを読み込むことができました。 大変助かります。今後も、いろいろチャレンジしていきたいと思いますので、 また何かありましたら、お世話になります。 今回はありがとうございました。
|
■ その他