這段代碼的問題是,每次我從MySQL導出到csv時,它都會覆蓋已經創建的csv。我想要這個代碼來檢查是否有一個已經創建的csv文件 - >創建一個新的。防爆。 (Sales-2012-9-8.csv)to(Sales1-2012-9-8.csv)...此代碼在從MySQL導出記錄方面效果很好..但是當涉及到導出另一個csv時,它將覆蓋當前的csv文件名。PHP檢查csv文件是否存在?
哦,是的,還有一件事..怎麼能在csv文件的第一行添加表頭。 Ex(產品編號 - 數量 - 售價 - 日期)?
謝謝
<?php
require_once('connect_db.php');
$fdate = $_POST['fdate'];
$tdate = $_POST['tdate'];
$result = mysql_query("SELECT item_no, qty, discount_price, date FROM sold_items WHERE date BETWEEN '".$fdate."' AND '".$tdate."' ORDER BY date Desc");
$filename = $name = "Sales";
$index = 1;
while(file_exists($filename)) {
$filename = $name.$index;
$index++;
echo "File Already Exists";
}
if(!$f = fopen("E:/{$filename}-{$tdate}.csv", 'w')){
?>
<script language="javascript">
alert('USB FLASH NOT INSERTED');
history.back();
</script>
<?php
}
while($row = mysql_fetch_array($result, MYSQL_NUM))
{
fputcsv($f, $row);
}
fclose($f);
?>
<center><font style="font-size:28px; font-weight:bold; color:#C00;">USB Transfer Successful</font></center>
<center><input type="button" onclick="javascript:window.close()" value="Close Window" /></center>
<?php
?>
你是什麼意思,它不起作用?請給出錯誤消息或關於什麼不起作用的更深入的描述 – Kris
瞭解SQL注入並修復您的代碼。無論'fopen()'成功,你都可以關閉文件。 –
偏離主題但很重要:'mysql_xxx()'函數被認爲已經過時,不應該被使用。 PHP手冊建議切換到等效的'mysqli_xx()'函數或PDO庫。 – Spudley