【问题标题】:How to know if "fputcsv" has been successfully executed如何知道“fputcsv”是否已成功执行
【发布时间】:2016-02-22 10:07:57
【问题描述】:

我一直在使用 php 脚本使用 MySQL 查询从表中导出一些数据,然后想从表中删除这些数据。下面的脚本将数据导出到 CVS 文件。到目前为止它工作正常,但我想添加一个条件来知道是否所有数据都已成功保存到 CSV 文件,然后运行 ​​php 脚本从表中删除这些数据。

while($row = $result->fetch_assoc()) {
    fputcsv($fp, $row) or die('can not create file 2');
}

我该怎么办?

【问题讨论】:

  • 返回写入字符串的长度,失败则返回 FALSE。
  • 你能说明怎么做吗?

标签: php export-to-csv


【解决方案1】:
while($row = $result->fetch_assoc()) {
    if(!fputcsv($fp, $row))
        die('can not create file 2');
}

给你,但在尝试写之前最好检查一下

if(fopen("yourfile.csv", "w+")) {
    while($row = $result->fetch_assoc()) {
        if(!fputcsv($fp, $row))
            die('Something happened during the write of the line '. $row);
    }
}

【讨论】:

  • 我应该使用 "fputcsv($fp, $row) ;"上面的 if 语句还是像你在这里提到的那样重写整个过程?
  • 需要注意的是,文档说明 fputcsv 的返回值是写入的字节数,因此接收到真值并不总是意味着调用完全成功。为了知道它是否成功,您需要知道预期写入的字节数,并将其与 fputcsv 的结果进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 2014-12-28
  • 2011-07-02
  • 2011-08-10
  • 2010-11-02
相关资源
最近更新 更多