ご利用前に必ずお読みください。
フォーラムTOP > Xfree(旧無料レンタルサーバー) > csvファイルのダウンロード

csvファイルのダウンロード

by yuさん (9035a33a)
投稿数:0回
(ベストアンサー:0回)
2014/05/26 16:30
初めまして。yuと申します。ローカル環境では、csvファイルをダウンロードできていたのですが、
レンタルサーバーを使用したら、csvファイルのダウンロードができなくなってしまいました。
なにか、レンタルサーバー側でcsvやファイルのダウンロードに関する設定などをする必要があるのでしょうか?
回答する
解決済みにする
by pontaさん (10661782)
投稿数:30回
(ベストアンサー:6回)
2014/06/02 10:59
レンタルサーバー側の設定で、特定のファイルがダウンロードできなくなっている
可能性は低いと思われます。


使用できないプログラムの関数を使用しているとか
ファイルパスが間違っているなどが原因に挙げられますが、
ご質問の内容だと特定は難しいですね。


どうやってファイル作成して、どのようにダウンロード
しようとしているのかなど、やろうとしている方法を
もう少し詳しく書かれた方が良いかもしれません。
(プログラムの種類や関数など)
トピック作成者からの返信 2014/06/02 21:23 posted(9035a33a)

返信ありがとうございます。yuと申します。コードをあげると、

<?php
session_start();
session_regenerate_id(true);
if(isset($_SESSION["login"]) == false){
echo "ログインされていません<br>
<a href='../staff_login/staff_login.html'>ログイン画面へ</a>";
exit();
}else{
echo $_SESSION["staff_name"]."さんがログイン中です<br>";
}
?>

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ファイルダウンロード</title>
</head>
<body>
<?php

try{
$year = $_POST["year"];
$month = $_POST["month"];
$day = $_POST["day"];

$sql = '
SELECT
dat_sales.code,
dat_sales.date,
dat_sales.code_member,
dat_sales.name AS dat_sales_name,
dat_sales.email,
dat_sales.postal1,
dat_sales.postal2,
dat_sales.address,
dat_sales.tel,
dat_sales_product.code_product,
mst_product.name AS mst_product_name,
dat_sales_product.price,
dat_sales_product.quantity
FROM
dat_sales,dat_sales_product,mst_product
WHERE
dat_sales.code=dat_sales_product.code_sales
AND dat_sales_product.code_product=mst_product.code
AND substr(dat_sales.date,1,4)=?
AND substr(dat_sales.date,6,2)=?
AND substr(dat_sales.date,9,2)=?
';
require_once("db_init.php");

$ps = $db->prepare($sql);
$data[] = $year;
$data[] = $month;
$data[] = $day;
$ps->execute($data);

$db = null;

$csv = "注文コード,注文日時,会員番号,お名前,メール,郵便番号,住所,TEL,商品コード,商品名,価格,数量";
$csv .="\n";
while(true){

$rec = $ps->fetch(PDO::FETCH_ASSOC);

if($rec==false){
break;
}

$csv .= $rec["code"];
$csv .= ",";
$csv .= $rec["date"];
$csv .= ",";
$csv .= $rec["code_member"];
$csv .= ",";
$csv .= $rec["dat_sales_name"];
$csv .= ",";
$csv .= $rec["email"];
$csv .= ",";
$csv .= $rec["postal1"]."-".$rec["postal2"];
$csv .= ",";
$csv .= $rec["address"];
$csv .= ",";
$csv .= $rec["tel"];
$csv .= ",";
$csv .= $rec["code_product"];
$csv .= ",";
$csv .= $rec["mst_product_name"];
$csv .= ",";
$csv .= $rec["price"];
$csv .= ",";
$csv .= $rec["quantity"];
$csv .= "\n";
}
//echo nl2br($csv);

$file=fopen('./chumon.csv','w');
$csv = mb_convert_encoding($csv,'SJIS','UTF-8');
fputs($file,$csv);
fclose($file);

}catch(Exception $e){
echo "ただいま障害により大変ご迷惑をお掛けしております。";
exit();
}

?>

<p><a href='chumon.csv'>注文データのダウンロード</a></p>
<p><a href='order_download.php'>日付選択へ</a></p>
<p><a href='../staff_login/staff_top.php'>トップメニューへ</a></p>

</body>
</html>


$csvに入れた内容を、別のファイルに書いてそれをダウンロードできるようにしたかったのですが...

by pontaさん (10661782)
投稿数:30回
(ベストアンサー:6回)
2014/06/09 20:18
処理上は問題なさそうですね。


><p><a href='chumon.csv'>注文データのダウンロード</a></p>
>
こちらの記述だと「chumon.csv」と処理するphpファイルが同階層にないと
駄目だと思われます。ファイルへのリンクが間違ってはいないでしょうか。



他に考えられるのは、データの表示はされるが「ファイル」として
ダウンロードできないことでしょうか。
この場合はダウンロードするための処理をphpなどで用意する必要があります。
この回答に返信する