Php 如果文件已存在,请使用其他名称创建CSV

Php 如果文件已存在,请使用其他名称创建CSV,php,csv,Php,Csv,我一直在使用数据数组创建CSV,如果CSV已存在于同一位置,则当前它将返回一个错误 因此,我有可能让它在同一位置创建另一个 示例:如果有一个名为report.csv的csv,则使用自动生成的名称创建一个新的csv,如report(1.csv 代码 工作示例最后。。谢谢你的想法 $exportBaseDir = 'C:/Users/myflder'; $fileD = "report".csv"; $basePath = "$exportBaseDir/weeklyReport/$fileD";

我一直在使用数据数组创建CSV,如果CSV已存在于同一位置,则当前它将返回一个错误

因此,我有可能让它在同一位置创建另一个

示例:如果有一个名为report.csv的csv,则使用自动生成的名称创建一个新的csv,如report(1.csv

代码


工作示例最后。。谢谢你的想法

$exportBaseDir = 'C:/Users/myflder';
$fileD = "report".csv";
$basePath = "$exportBaseDir/weeklyReport/$fileD";
if(file_exists($basePath) == false){
$fp = fopen($basePath, 'w');
$header = array("XXX","XX","XX","XX","XX","XX","XX","XX");
fputcsv($fp, $header, ',');
foreach ($tables as $fields) {
    fputcsv($fp, $fields,',');
}
}
else{
    $time_start = time();
    $exportBaseDir = 'C:/Users/myflder';
    $fileD = "report"."#".$time_start.".csv";
    $basePath = "$exportBaseDir/weeklyReport/$fileD";
        $fp = fopen($basePath, 'w');
        $header = array("XXX","XX","XX","XX","XX","XX","XX","XX");
        fputcsv($fp, $header, ',');
        foreach ($tables as $fields) {
            fputcsv($fp, $fields,',');
        }
}

您需要检查文件是否已经存在于要保存csv的文件路径中;您可以简单地使用php的file_exist()函数。如果(file_exist($basePath)){#进行一些处理以创建新的文件名}否则{#保留原始文件名}您也可以始终向文件添加
time()
前缀。在这种情况下,文件名匹配的可能性非常小。。是的,我也认为时间是一个独特的变量,所以也会非常可靠:)谢谢你描述得很好的剧本谢谢你不用担心!!:)
$exportBaseDir = 'C:/Users/myflder';
$fileD = "report".csv";
$basePath = "$exportBaseDir/weeklyReport/$fileD";
if(file_exists($basePath) == false){
$fp = fopen($basePath, 'w');
$header = array("XXX","XX","XX","XX","XX","XX","XX","XX");
fputcsv($fp, $header, ',');
foreach ($tables as $fields) {
    fputcsv($fp, $fields,',');
}
}
else{
    $time_start = time();
    $exportBaseDir = 'C:/Users/myflder';
    $fileD = "report"."#".$time_start.".csv";
    $basePath = "$exportBaseDir/weeklyReport/$fileD";
        $fp = fopen($basePath, 'w');
        $header = array("XXX","XX","XX","XX","XX","XX","XX","XX");
        fputcsv($fp, $header, ',');
        foreach ($tables as $fields) {
            fputcsv($fp, $fields,',');
        }
}