Я работал над этой проблемой в течение нескольких часов и использовал много ресурсов из Интернета и переполнения стека, но, похоже, я не могу обойти эту последнюю вещь.Я пытаюсь получить содержимое файла csv, сохранить его в массиве и распечатать результаты на другой странице через сеанс.
index.php (показывает форму для загрузки файла)
<html>
<form action="http://mysite.org/~me/upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br />
<input type="submit" value="Now upload it!">
</form>
</html>
upload.php (если CSV, размер выходного файла, print_r массив, который должен содержать все данные)
<?php
session_start();
if (($_FILES["file"]["type"] == "application/vnd.ms-excel"))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
$file = fopen($_FILES["file"]["tmp_name"], 'r');
while (($line = fgetcsv($file)) !== FALSE) {
//$line is an array of the csv elements
print_r($line);
$_SESSION['line']=$line;
}
fclose($file);
}
}
else
{
echo "Invalid file";
}
echo "<a href='http://mysite.org/~me/yes.php'>Yes</a>";
?>
yes.php
<?php
session_start();
$data = $_SESSION['line'];
print_r($data);
?>
The print_rсо страницы загрузки должен быть таким же, как print_r со страницы да, но это не так.Это только показывает последний массив.Я не понимаю, как бы я решил эту проблему.
В качестве примечания: я программирую на php всего 2 недели, поэтому, пожалуйста, будьте достаточно внимательны, чтобы объяснить свои ответы.Это действительно помогает!Спасибо =)