toppojeejoのプロフィール

@toppojeejo toppojeejo
ありがとう数9
質問数1
回答数2
ベストアンサー数
0
ベストアンサー率
0%
お礼率
100%

  • 登録日2013/10/19
  • PHP 全角文字が文字化けまたは表示されない

    PHPでエクセルで作成したcsvファイルから商品一覧を表示させたいのですが。 一覧ページで日本語や大文字英数が含まれるデータが表示されません。 エンコードはいろいろ試してみたのですが、utf-8だと文字化け、EUC_JPやSJISだと表示されなくなってしまいます。 csvから呼び出す際に mb_convert_variables('utf-8', 'sjis-win', $tmp); としても文字化けします。 ちなみに、$dataでprintすると問題なく表示されます。 $data1では上手く表示されません。 なので、for($i=$start;$i<$end;$i++){ 以降でおかしいんだろうなとは思うのですが。 1ページに数件ずつで、次へ次へで移りたいので、ここの部分が必要です。 商品詳細ページで、同じcsvファイルを読みだしてますが、 while ($data = fgetcsv($fp, 10000)) { if($atai==$data[0]){ ・・・・ と書いてこちらは問題なく表示できています。 何が原因か見つけられずに困っています。 お分かりになる方、教えてください。 初心者レベルですので、なるべく具体的に書いていただけると助かります。 よろしくお願いします。 //ファイルからデータを読み込む処理 function inst_view($page=0) { //読み込むファイル名 $filename = FILE_PATH; //データ数をカウントする $row = 0; $data = array(); //CSVファイルの中身をすべて読み込む $handle = fopen($filename, "r"); while (($tmp = fgetcsv($handle, 1000, ",")) !== FALSE) {    if (!empty($choice1) && $choice1 == "4") { $num = count($tmp); if( $tmp[0] == "" ){ }else{ $data[$row]["no"] = $tmp[0]; $data[$row]["hito"] = $tmp[1]; $data[$row]["kuni"] = $tmp[2]; $data[$row]["tochi"] = $tmp[3]; $data[$row]["nen"] = $tmp[4]; $data[$row]["size"] = $tmp[5]; $data[$row]["cm"] = $tmp[6]; $row++; } } } fclose($handle); //降順にする rsort($data); //1ページに表示するデータ数を読み込む $page_length = PAGE_LENGTH; //全ページ数を求める処理 $maxpage = $row/$page_length; $tmp = (int)$maxpage; if($maxpage>$tmp){$maxpage=$tmp+1;} $maxpage--; //現在のページ数からデータ開始と終わりを求める $start = $page * $page_length; $end = ($page * $page_length) + $page_length; //データを格納する配列と、その指標 $cnt=0; $data1 = array(); //データ格納処理(スタートからエンドまで繰り返す。 for($i=$start;$i<$end;$i++){ //最大データ数を超えたら取得終了する。 if($i >= $row){break;} $data1[$cnt]["no"] = $data[$i]["no"]; $data1[$cnt]["hito"] = $data[$i]["hito"]; $data1[$cnt]["kuni"] = $data[$i]["kuni"]; $data1[$cnt]["tochi"] = $data[$i]["tochi"]; $data1[$cnt]["nen"] = $data[$i]["nen"]; $data1[$cnt]["size"] = $data[$i]["size"]; $data1[$cnt]["cm"] = $data[$i]["cm"]; $cnt++; } return $data1; } 別のファイルからinst_viewを呼び出しています。

  • ページ数が多いサイトのヘッダーファイルの書き方

    PHP初心者です。 ヘッダーファイルのインクルード時に、タイトル・メタタグ等をページ毎に違う内容に自動生成するようにしているのですが、ページ数が300ページ程と増えてきており、記述を増やしていった結果、容量オーバーになったのかサイトが見れなくなってしまいました。記述を減らすと元に戻ったのですが。 そのため、現在複数のページで同じタイトルが使われている状態です。 出来れば現在のやり方で、全てのページのタイトル・メタタグ等を違う内容にする方法をどなたか教えて下さい。宜しくお願いします。 ヘッダーファイルは以下の内容が続く感じです。 ------------------------------------------- $seo['/contents1/'] = array( 'title' => 'タイトル1が入ります', 'meta_desc' => 'ディスクリプション1が入ります', 'meta_keys' => 'メタキーワード1が入ります', ); $seo['/contents2/'] = array( 'title' => 'タイトル2が入ります', 'meta_desc' => 'ディスクリプション2が入ります', 'meta_keys' => 'メタキーワード2が入ります', ); $seo['/contents3/'] = array( 'title' => 'タイトル3が入ります', 'meta_desc' => 'ディスクリプション3が入ります', 'meta_keys' => 'メタキーワード3が入ります', ); -------------------------------------------

    • 締切済み
    • decoxxx
    • PHP
    • 回答数2