2011-08-16 24 views
15

Tôi có một biểu mẫu mà tôi đăng các trường khác nhau và mọi loại trường được đăng dường như hoạt động ngoại trừ kiểu Tệp nhập.Đăng vấn đề loại tệp đầu vào Không Giá trị được đăng

Tôi đang sử dụng var_dump($_POST); và tất cả các trường khác đều có nhưng không có gì trong tệp loại đầu vào.

phần hình thức của tôi trông như thế này:

<form enctype="multipart/form-data" id="ajax-form" action="index2.php" method="POST" data-ajax="true"> 

và hoạt động tốt cho mọi thứ khác.

Nếu có bất kỳ điều gì khác biệt trong tệp loại tệp nhập liệu?

<input type="text" id="myid" name="myid" value="" /> ..This posts value 

<input id="theimage" name="theimage" type="file" /> .. does not post value 

Bất kỳ ý tưởng nào?

+5

+1 Vì nghiêm túc, câu hỏi này chưa được hỏi? Tôi nhớ đã vô cùng thất vọng khi lần đầu tiên tôi phải tìm ra. –

Trả lời

29

tập tin được lưu trữ trong $ _FILES, không $ _POST

http://php.net/manual/en/reserved.variables.files.php $ _FILES biến

http://www.php.net/manual/en/features.file-upload.php tay trên PHP File uploads.

Để xử lý các tập tin (không kiểm tra lỗi):

$ROOT = "/path/to/store/files"; 
foreach($_FILES as $file => $details) 
{ // Move each file from its temp directory to $ROOT 
    $temp = $details['tmp_name']; 
    $target = $details['name']; 
    move_uploaded_file($temp, $ROOT.'/'.$target); 
} 

Xem thêm http://www.php.net/manual/en/function.move-uploaded-file.php để biết thêm ví dụ.

+0

Vừa thử: echo @ $ _ FILES ["theimage"]; nhưng trả về mảng ... làm thế nào tôi có thể lấy tên tệp thành một biến? – Satch3000

+0

Nếu bạn var_dump mảng, bạn sẽ thấy nó được đặt ra với một số mục, một cho mỗi tập tin, sau đó một vài mẩu dữ liệu về tập tin. Tôi sẽ chỉnh sửa bài đăng của mình bằng một ví dụ. –

+0

http://www.php.net/manual/en/features.file-upload.post-method.php chi tiết cách bố trí của mảng $ _FILES. –

0

Thực ra nếu bạn dùng thử Firefox (> 13), bạn có thể nhận được giá trị đã đăng. Nhưng nếu bạn đang sử dụng Chrome hoặc Safari, bạn không thể nhận được giá trị đã đăng. Tôi nghĩ rằng nó có liên quan với các trình duyệt.

Các vấn đề liên quan