内容は一度CSVファイルをダウンロードしてきて、作成するプログラミングとCSVファイルを同じ階層に置きます。 ここからHTTPヘッダーやfputcsvもしくはfputなどで、CSVファイルを上書きしたいのですが、なかなか上手くいきません。 CSVファイルは15列の3000行ほどあります。 更新ペースは1日1回ほどです。 みなさんの知識を貸して下さい。 よろしくお願いします。
・fputcsvやfputが出来ないのですか?具体的にどうなるのですか?
・fputcsvやfputにはfopenが必要ですが、できていますか?fopenがうまく出来ているかチェックしていますか?
・ファイルはどのように指定していますか?
・ファイルを書きだす前に読み込む必要がありますが、具体的にどうしているのですか?
・現状は実行するとどうなるのですか?エラーは出ないのですか?何か変化はしないのですか?
何がどうなるか教えてください。
具体的には
function download_file($path_file)
{
if (!file_exists($path_file)) {
die("Error: File(".$path_file.") does not exist");
}
if (!($fp = fopen($path_file, "r"))) {
die("Error: Cannot open the file(".$path_file.")");
}
fclose($fp);
if (($content_length = filesize($path_file)) == 0) {
die("Error: File size is 0.(".$path_file.")");
}
header("Content-Disposition: inline; filename=\"".basename($path_file)."\"");
header("Content-Length: ".$content_length);
header("Content-Type: application/octet-stream");
if (!readfile($path_file)) {
die("Cannot read the file(".$path_file.")");
}
}
CSVファイルからデータベースに格納するプログラミングは出来ていますので、ここから上書き、もしくは追加してデータベースに格納をしたくて質問しました。
同じ階層にあるCSVファイルを自動更新させたかったので。
この問題でCSVのURLを取得できましたので、
$csvurl = "csvのURL";
$file=fopen($csvurl,'r');/
for($i=0;!feof($file);$i++){
$csv=fgets($file);
$str[$i]=explode("\t",$csv);
}
fclose($file);
からデータベースに格納させてファイルの自動更新ができました。
コメントいただき、ありがとうございました☆