2015-04-07 15 views
5

Tôi có một mẫu đơn giản để tạo một bài viết: Tiêu đề, hình ảnh, thể loại, nội dung, v.v. Vấn đề của tôi là với đầu vào hình ảnh.Cách giữ hình ảnh đã tải lên trước (trong db) sau khi gửi biểu mẫu mà không chọn hình ảnh mới để tải lên

Lựa chọn một cái mới và nộp tất cả mọi thứ hoạt động tốt:

  • hình ảnh đã được tải lên máy chủ
  • tiêu đề của hình ảnh đang được lưu vào db
  • và tôi có thể in nó trong bài viết.

Bằng cách chỉnh sửa toàn bộ biểu mẫu, điền tất cả các trường nhưng để trường ảnh như cũ và cuối cùng gửi, giá trị trường ảnh trong db sẽ không thay đổi.

Làm thế nào tôi có thể cấu hình các tập tin php, vì vậy mỗi khi người dùng gửi các hình thức mà không chọn một hình ảnh (nếu có một hình ảnh trước tải lên trong rằng bài viết) giữ như gửi hình ảnh trước đó (từ db) thay vì không có gì.?


Nếu những thông tin có thể được bất kỳ sự giúp đỡ:

tôi có thể in hình ảnh như thế này: <?php echo '<img src="'.$results['article']->img.'" width="100px">'; ?>

Simple lĩnh vực đầu vào cho hình ảnh:

<input type="file" name="fileToUpload" id="fileToUpload" value="<?php echo $results['article']->img ?>" /> 

Trả lời

3

gì về một cái gì đó như thế này?

if(!empty($_FILES['fileToUpload']['name'])) //new image uploaded 
{ 
    //process your image and data 
    $sql = "UPDATE table SET name=$someName, image=$someImageName,... WHERE id = $someId";//save to DB with new image name 
} 
else // no image uploaded 
{ 
    // save data, but no change the image column in MYSQL, so it will stay the same value 
    $sql = "UPDATE table SET name=$someName,... WHERE id = $someId";//save to DB but no change image column 
} 
//process SQL query in $sql 
1

Make a nếu mệnh đề kiểm tra xem đầu vào của tập tin có rỗng hay không. Nếu nó trống thì không thực thi truy vấn.

Sử dụng loại đầu vào = "tệp" không có giá trị thuộc tính.

<input type="file" name="fileToUpload" id="fileToUpload" /> 

Dưới đây là ví dụ cho mệnh đề if

if(!empty($_FILES['fileToUpload']['name'])) { 
     $origFile = $_FILES['fileToUpload']['name']; 
     $tempFile = $_FILES['fileToUpload']['tmp_name']; 
     $sizeFile = $_FILES['fileToUpload']['size']; 

     /* UPLOAD CODE GOES HERE */ 
    } 
+0

Tnx Plamen. Tôi đã làm như bạn nói nhưng bây giờ sau khi gửi (và một sự thay đổi trong tiêu đề chỉ để kiểm tra và không có hình ảnh để chọn cho thời gian chỉnh sửa thứ hai) không có bản cập nhật đang được lưu trữ để db. – Pantelis

+0

Bạn phải thêm trường Và $ _POST ['uploadedFileName'] cung cấp cho bạn tên cho hình ảnh trong mysql. Bạn có thể đặt giá trị tùy chỉnh trong trường này và cập nhật tên. –

+1

điền vào giá trị trước đó trong trường văn bản là lãng phí, bạn sẽ cập nhật cột hình ảnh có cùng giá trị! chỉ cần thêm mệnh đề ELSE và lưu các giá trị khác EXCEPT image ... – zdeniiik

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