通过表单提交文件并在php函数中处理
我需要上传一个文件(本例中为csv文件)并将其内容加载到以下函数中:通过表单提交文件并在php函数中处理,php,csv,Php,Csv,我需要上传一个文件(本例中为csv文件)并将其内容加载到以下函数中: function csv2xml($file, $container = 'data', $rows = 'row') { $r = "<{$container}>\n"; $row = 0; $cols = 0; $titles = array(); while (($data = fgetcsv($file, 1000, ','
function csv2xml($file, $container = 'data', $rows = 'row')
{
$r = "<{$container}>\n";
$row = 0;
$cols = 0;
$titles = array();
while (($data = fgetcsv($file, 1000, ',')) !== FALSE)
{
if ($row > 0) $r .= "\t<{$rows}>\n";
if (!$cols) $cols = count($data);
for ($i = 0; $i < $cols; $i++)
{
if ($row == 0)
{
$titles[$i] = $data[$i];
continue;
}
$r .= "\t\t<{$titles[$i]}>";
$r .= $data[$i];
$r .= "</{$titles[$i]}>\n";
}
if ($row > 0) $r .= "\t</{$rows}>\n";
$row++;
}
$r .= "</{$container}>";
return $r;
}
在表单中,输入框的名称为file
我得到以下警告:
fgetcsv() expects parameter 1 to be resource, null given
您需要先打开文件,例如:
$filePointer = fopen($file, "r"); // read-only
然后使用:
while (($data = fgetcsv($filePointer, 1000, ',')) !== FALSE)
检索您的数据
请注意,您可能需要查看PHP的信息,以确保使用$\u文件数组获取上载的文件。不仅仅是$_POST。@richsage已经回答了这个问题。如果您仍然有问题,请举一个工作示例。我只想指出你的函数调用:
csv2xml($_POST['file'], $container = 'wholething', $rows = 'item');
虽然它可以工作,但这不是调用函数的方式
csv2xml($_POST['file'], 'wholething', 'item');
这就是你想做的
csv2xml($_POST['file'], 'wholething', 'item');