2015-12-17 20 views
5

Tôi có một ứng dụng web php mà buils trên laravel5. tôi dùng nginx. trong trang web của tôi có một biểu mẫu liên hệ nơi người dùng có thể tải lên nhiều tệp. Vấn đề của tôi là bất cứ khi nào người dùng tải lên nhiều tệp mà nó không tải lên thay vì hiển thị tải của nó trong thời gian rất dài. nếu tải lên một tệp thì tải lên ngay lập tức. Tôi không chắc tại sao chính xácnginx parllel tải lên biểu mẫu vấn đề tải lên

OS: ubuntu 14.04 x64 
nginx/1.8.0 , PHP 5.6.14-1 

bất kỳ đề xuất nào?

nginx.conf:

   ` 
worker_rlimit_nofile 40000; 

http { 

## 
# Basic Settings 
## 

proxy_connect_timeout 600s; 
proxy_send_timeout 600s; 
proxy_read_timeout 600s; 
fastcgi_send_timeout 600s; 
fastcgi_read_timeout 600s; 

sendfile on; 
tcp_nopush on; 
tcp_nodelay on; 
keepalive_timeout 65; 
types_hash_max_size 2048; 
server_tokens off; 
client_max_body_size 512m; 

server_names_hash_bucket_size 64; 
# server_name_in_redirect off; 
## 
# Gzip Settings 
## 

    gzip on; 
    gzip_disable "MSIE [1-6]\.(?!.*SV1)"; 

    gzip_vary on; 
    gzip_proxied any; 

      ` 

sites-enabled default.conf:

fastcgi_connect_timeout 140; 
    fastcgi_send_timeout 400; 
    fastcgi_read_timeout 400; 
    fastcgi_buffer_size 128k; 
    fastcgi_buffers 4 256k; 
    fastcgi_busy_buffers_size 256k; 
    fastcgi_temp_file_write_size 256k; 
+0

bạn gặp phải bất kỳ lỗi nào khi xem bảng điều khiển? có lẽ bạn nhận được lỗi từ laravel vì CSRF và js của bạn nhận được một số lỗi –

+0

không có lỗi trong giao diện điều khiển .. nếu tôi tải lên tập tin duy nhất của nó làm việc .. nếu tải lên nhiều tập tin yêu cầu thậm chí không đi đến máy chủ – Dev

+0

Bạn có thể hiển thị đoạn mã phụ trợ php tệp tải lên? – Deep

Trả lời

0

Đối đầu - xin lỗi cho tiếng Anh xấu của tôi, oh Globish))

Bạn không thể Hãy cho thêm thông tin. Nhưng tôi thử giải thích.

Nếu bạn muốn tải lên tập tin duy nhất:

<input type="file" name="upload_file"> 

và cho backend:

$_FILES['upload_file']['tmp_file'] 

Nếu bạn muốn upload nhiều file: QUAN TRỌNG! Hai trường hợp này!

Trường hợp một (tôi đoán đây là trường hợp hiện tại của bạn):

<input type="file" name="upload_file[]"> 

và cho backend:

$_FILES['upload_file'][$arrKey]['tmp_file'] 

Trường hợp hai:

<input type="file" name="upload_file" multiple="multiple"> 

và cho backend:

$_FILES['upload_file']['tmp_file'] 

Tìm trường hợp hai - mã phụ trợ tương đương để tải lên một lần. Cách hoạt động? Vì trình duyệt gửi nhiều tệp với các yêu cầu được tách riêng, một tệp cho mỗi yêu cầu. Và bạn có thể hiển thị trạng thái tải lên cho tất cả các tệp và/hoặc cho tệp tải lên hiện tại.

+0

Thực tế trong câu hỏi của tôi là Trong một biểu mẫu, nhiều tệp có thể được tải lên một trường tệp duy nhất nhưng chúng tôi có thể gửi hai trường tệp trong cùng một biểu mẫu tới máy chủ tại cùng một trường hợp không? Tôi đã thử và máy chủ không chấp nhận cả hai yêu cầu cùng một lúc. – Dev

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