我正在做一个web项目,在这个项目中,用户应该能够将Asana项目导出并导入生成的。csv文件,以便打印特定的行。
我实际上可以导入文件:
if ( isset($_POST["submit"]) ) {
if ( isset($_FILES["file"])) {
//error while uploading the file
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else {
//error message if file already exists
if (file_exists("upload/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
}
else {
//Uploads file in the upload/ folder
$storagename = "uploaded_file.txt";
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $storagename);
echo "<strong>Stored in:</strong> " . "upload/" . $_FILES["file"]["name"] . "<br />";
}
}
} else {
echo "No file selected <br />";
}
}
,然后转储数据:
$row = 1;
if (($handle = fopen("upload/" . $storagename, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>'n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />'n";
}
}
fclose($handle);
}
所以,为了打印一些特定的行,我想到了这个,这将从11,12,13 &14行:
$kilometrage = $data[11];
$stationnement = $data[12];
$perdiem = $data[13];
$depenses = $data[14];
但遗憾的是,我没能弄明白。
有人有线索/想法/提示吗?任何帮助都将不胜感激。谢谢你!
实际上,我通过循环、设置和回显变量来解决这个问题。我仍然不知道这是不是最好的方法,但它确实有效:
$row = 1;
if (($handle = fopen("upload/" . $storagename, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
$kilometrage = $data[11];
$stationnement = $data[12];
$perdiem = $data[13];
$depenses = $data[14];
for ($c=0; $c < 1; $c++) {
echo "<table style='min-width:1000px;'><tbody><tr>";
echo "<td style='width:25%'>" . $kilometrage . "</td>";
echo "<td style='width:25%'>" . $stationnement . "</td>";
echo "<td style='width:25%'>" . $perdiem . "</td>";
echo "<td style='width:25%'>" . $depenses . "</td>";
echo "</tr></tbody></table>";
}
}
fclose($handle);
}