- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正要提出与此处提出的问题相同的问题.... Forcing fputcsv to Use Enclosure For *all* Fields
问题是
When I use fputcsv to write out a line to an open file handle, PHP will add an enclosing character to any column that it believes needs it, but will leave other columns without the enclosures.
For example, you might end up with a line like this
11,"Bob ",Jenkins,"200 main st. USA ",etc
Short of appending a bogus space to the end of every field, is there any way to force fputcsv to always enclose columns with the enclosure (defaults to a ") character?
答案是:
No, fputcsv() only encloses the field under the following conditions
/* enclose a field that contains a delimiter, an enclosure character, or a newline */
if (FPUTCSV_FLD_CHK(delimiter) ||
FPUTCSV_FLD_CHK(enclosure) ||
FPUTCSV_FLD_CHK(escape_char) ||
FPUTCSV_FLD_CHK('\n') ||
FPUTCSV_FLD_CHK('\r') ||
FPUTCSV_FLD_CHK('\t') ||
FPUTCSV_FLD_CHK(' ')
)
There is no "always enclose" option.
我需要创建一个 CSV 文件以包含每个字段...什么是最佳解决方案?
提前致谢...
最佳答案
滚动你自己的函数 - 这并不难:
function dumbcsv($file_handle, $data_array, $enclosure, $field_sep, $record_sep)
{
dumbescape(false, $enclosure);
$data_array=array_map('dumbescape',$data_array);
return fputs($file_handle,
$enclosure
. implode($enclosure . $field_sep . $enclosure, $data_array)
. $enclosure . $record_sep);
}
function dumbescape($in, $enclosure=false)
{
static $enc;
if ($enclosure===false) {
return str_replace($enc, '\\' . $enc, $in);
}
$enc=$enclosure;
}
(以上是使用unix风格的转义)
C.
关于php fputcsv 和封闭字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2514597/
这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件。 复制代码代码如下: // 输出Excel文件头,可把user.csv换成你要的文件名
使用此代码,我创建了 CSV 导出文件: foreach ($data_for_export as $row) { $data = []; array_push($data, $row
我在使用 fputcsv 导出 CSV 文件时遇到一些问题。文件已下载,但内容为空。我尝试导出到 xls,它工作得很好,但我想使用带有自定义字段标题的 csv,如下面的代码所示。我不确定我是否做错了什
我有这段 PHP 代码,旨在从 mySQL 数据库检索数据,并将其导出到 CSV 文件,该文件在创建后必须自动下载。 $connection = mysqli_connect($host, $user
我有一个加密和存储用户条目的表单。然后,我有一个导出功能,允许管理员解密并导出所有条目的 csv。 它解密得很好,如果我将数组打印到页面上,一切看起来都很好,但是当我生成 CSV 时,它会在一些数据后
我正在使用这个 fputcsv 代码: $result = mysql_query('SELECT * FROM `mash`'); if (!$result) die('Couldn\'t fetc
我正在使用 PHP 脚本从结果集查询生成 Excel CSV 文件。一切正常,但当我读取我的 excel 文件时,我无法显示前导零。 这是我的代码: $rows = $this->Query($sql
我正要提出与此处提出的问题相同的问题.... Forcing fputcsv to Use Enclosure For *all* Fields 问题是 When I use fputcsv to w
我想将我的 mysql 数据库的部分(和不同排列)保存在 CSV 文件中。为此,我写了这段代码: $headerDisplayed = false; foreach ($arr as &$currNa
我正在开始一个项目,该项目需要我获取多个数组并将它们放入一个 csv 文件中。然而,虽然它正在生成文件,但它通常是完全空的(0 b 文件大小)。有时,如果我遗漏了什么,它会将错误消息放入文件中,或者有
这一定很简单...按照这里和 php.net 上的示例,我尝试从 mysql 查询中获取记录,将它们转换为 csv 格式,并将此数据分配给变量以供程序使用我创造了。我想在不创建临时文件的情况下完成此操
我用 fputcsv 生成 csv 文件,它工作得很好,但是当我在记事本 (Windows) 中查看 csv 文件时,没有新行。所有行都只有 1 行,在应该换行的地方有一个正方形(损坏的字符)。例如,
所以我正在尝试使用 fputcsv,它可以正常工作,几乎就像它的意图一样。我有这个奇怪的问题,我似乎无法解决,而且我找不到任何好的文档,甚至找不到遇到这个问题的人。 当有一个字符串被放入 csv 中时
我在 PHP 中使用 fputcsv 输出数据库查询的逗号分隔文件。在 Ubuntu 的 gedit 中打开文件时,它看起来是正确的——每条记录都有一个换行符(没有可见的换行符,但你可以看出每条记录是
所以我有一行我想对其执行 fputcsv,它有一些整数(我需要将其视为字符串,但它们是数字)。这些整数有前导零,当我执行 fputcsv 时它们会被截断,但我不希望这种情况发生,有什么办法可以解决这个
我一直在使用 PHP 脚本从使用 MySQL 查询的表中导出一些数据,然后想从表中删除这些数据。下面的脚本将数据导出到 CVS 文件。到目前为止它工作正常,但我想添加一个条件来知道如果所有数据都已成功
我正在寻找一种即时导出到 csv 的方法并遇到了这个问题。 $list = array ( array('aaa', 'bbb', 'ccc', 'ddd
未在 csv 文件中输出任何内容。请帮忙!! 这个print_r($list)。 以正确的格式输出数据库中的所有内容但是当我尝试将其放入csv文件中时,仅输出一行。 $sql = "select *
我想将数据从数据库导出到 CSV 文件。 我的PHP代码是这样的 $members = Db::getResult('select * from '.MEMBERS_TABLE_NAME.' orde
嘿,我正在尝试使用数组中的值填充 csv。我怎样才能做到这一点? $sql = "SELECT accountNumber, Name,studentManager,contract,
我是一名优秀的程序员,十分优秀!