Php 使用get_file_contents()生成数组

Php 使用get_file_contents()生成数组,php,arrays,csv,Php,Arrays,Csv,我试图上传一个CSV文件并将其内容放入数组中,但我发现这是一个错误:(10后每行上该错误的倍数) 下面是我的代码示例: if ($handle = file_get_contents($_FILES["file"]["tmp_name"])) { $data = array(); while ($csv = array(file_get_contents($_FILES["file"]["tmp_name"]))) { $data = array( 'order-id

我试图上传一个CSV文件并将其内容放入数组中,但我发现这是一个错误:(10后每行上该错误的倍数)

下面是我的代码示例:

if ($handle = file_get_contents($_FILES["file"]["tmp_name"])) {

$data = array();

while ($csv = array(file_get_contents($_FILES["file"]["tmp_name"]))) {
    $data = array(
        'order-id' => $csv[0],
        'order-item-id' => $csv[1], //This is line 10.
        'purchase-date' => $csv[2],
        'payments-date' => $csv[3],
file()
打开并将每个放置为数组元素
fgetcsv()
及其函数系列在处理csv文件时非常有用

您的代码
数组(file\u get\u contents($\u FILES[“file”][“tmp\u name”])
将只有一个元素,因为file\u get\u contents返回字符串

文件()
打开并将每个文件作为数组元素放置
fgetcsv()
及其函数系列在处理csv文件时非常有用

您的代码
数组(file\u get\u contents($\u FILES[“file”][“tmp\u name”])
将只有一个元素,因为file\u get\u contents返回字符串

如果文件只有一行,则会出现此问题。 我想你需要这样做

$row = explode(",", $csv[0]);
$data = array(
    'order-id' => $fileArray[0],
    'order-item-id' => $row[1], //This is line 10.
    'purchase-date' => $row[2],
    'payments-date' => $row[3]
);
此外,您还可以使用诸如解析CSV文件之类的函数。

如果您的文件只有一行,则会出现此问题。 我想你需要这样做

$row = explode(",", $csv[0]);
$data = array(
    'order-id' => $fileArray[0],
    'order-item-id' => $row[1], //This is line 10.
    'purchase-date' => $row[2],
    'payments-date' => $row[3]
);


此外,您还可以使用诸如解析CSV文件之类的函数。

CSV文件的内容是什么?微型代码审阅
while($csv=array(file_get_contents($_FILES[“file”][“tmp_name”])){
…wtf?!@jack你的文章内容丰富。建设性的批评对作品有益。@DarylGill不确定你想看什么。听起来很积极…)@jack你的“wtf”没有解释实际需要改进的内容?csv文件的内容是什么?微小的代码检查…
while($csv=array(文件获取内容($\u文件[“文件”][“tmp\u名称])){
…wtf?!@jack你的帖子内容丰富。建设性的批评对作品有益。@DarylGill不确定你想看什么。听起来很积极…:)@jack你的“wtf”并没有解释需要改进的地方?awware文件“get\u contents()不是在返回的字符串上。我试图使用fgetcsv()有一次,我也遇到了问题。我会再试一次,看看我能从哪里得到。谢谢!@PraveenKumar我没有否决你的意见-但是你错误地建议用逗号分解csv文件是个好主意。@MikeB可能是。谢谢。将更新代码。你有什么建议吗?我们都说了,fgetcsv正确地处理了分隔符并引用了text.@PraveenKumar您可以判断是否有人对您的答案投了反对票(只有两个,您有一个嫌疑犯)…所以不要这么敏感。awware file_get_contents()是否返回了字符串。我正在尝试使用fgetcsv()有一次,我也遇到了问题。我会再试一次,看看我能从哪里得到。谢谢!@PraveenKumar我没有否决你的意见-但是你错误地建议用逗号分解csv文件是个好主意。@MikeB可能是。谢谢。将更新代码。你有什么建议吗?我们都说了,fgetcsv正确地处理了分隔符并引用了text.@PraveenKumar如果有人对你的答案投了反对票,你就知道了(只有两个,而你有一个嫌疑犯)…所以别这么敏感了。