Mục tiêu của tôi ở đây là tải lên tệp .txt trên một biểu mẫu (duyệt), đăng tệp lên một trang php khác và sau đó đọc tệp đó theo từng dòng.Làm cách nào để tải lên tệp .txt trong PHP và đọc từng dòng trên một trang khác?
Mã của tôi cho đến thời điểm này. FILE 1: HTML UPLOAD:
<form action="TestParse.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label> <input type="file" name="file" id="file"/>
<input type="submit" value="Submit">
</form>
FILE 2: đọc các tập tin
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
elseif ($_FILES["file"]["type"] !== "text/plain")
{
echo "File must be a .txt";
}
else
{
$file_handle = fopen($_FILES["file"]["name"], "rb");
}
Như tôi đã nhìn thấy nó, tập tin thứ hai sẽ xác minh rằng không có lỗi và rằng tập tin tải lên là a. txt. Sau đó nó sẽ fopen() tập tin và sau đó tôi sẽ có thể đọc với fgets() (Tôi đã quản lý để có được tất cả điều này để làm việc).
Tuy nhiên, mã này chỉ hoạt động nếu tệp .txt đang được tải lên xảy ra trong cùng thư mục với tệp PHP. Nếu không, tôi nhận được rất nhiều thông báo lỗi. Và khi bạn không thể tải lên một tệp không có trong thư mục của tệp PHP, nó sẽ đánh bại mục đích của việc có hệ thống tải tệp lên ở vị trí đầu tiên.
Ai đó có thể cho tôi biết điều gì sai với mã này?
Bạn không bao gồm mã lưu tệp; đó là cố ý hay giám sát? – sarnold
'fopen ($ _ FILES [" tệp "] [" tên "]," rb ");' - dòng này khiến tôi nghĩ rằng anh ấy không lưu tệp. Bạn không thể mở '['name']' - chỉ mục đó giữ tên tệp gốc đã được tải lên. –