Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

xóa tệp đã tải lên khỏi một mảng id khi chúng được xóa trong joomla?

Bạn có một số vấn đề trong mã của mình:

  1. $uploadedfile không bao giờ được khai báo nhưng nó được sử dụng để tìm đường dẫn tệp. Tôi giả sử điều này giống với $getdeleted .
  2. Bạn có một vòng lặp foreach xung quanh các phần tử trong mảng của mình, vòng lặp này sẽ lần lượt lấy từng phần tử. Tuy nhiên, bạn lập mô hình chức năng deleteGreetings lấy toàn bộ mảng. Bạn nên loại bỏ lệnh gọi hàm này khỏi vòng lặp của bạn, nếu không nó sẽ được gọi từng hàm cho mọi phần tử trong mảng. Bạn chỉ muốn gọi điện thoại này một lần.
  3. Chỉ ở cuối bộ điều khiển của bạn, bạn mới kiểm tra xem thông số cid của mình có rỗng không ... điểm mấu chốt là gì? Bạn nên kiểm tra mã này trước khi thử chạy bất kỳ mã nào khác.

Tôi sẽ làm một cái gì đó như thế này:

$arrayIDs = JRequest::getVar ( 'cid', null, 'default', 'array' );
if ($arrayIDs === null) { //Make sure the cid parameter was in the request
  JError::raiseError ( 500, 'cid parameter missing from the request' );
}
$model = & $this->getModel ( 'greetings' );
jimport ( 'joomla.filesystem.file' );
if (is_array ( $arrayIDs ) && count ( $arrayIDs ) > 0) {
  $del = $model->deleteGreetings ( $arrayIDs );
  // check this outside the loop, if it is inside you are checking it for 
  // each element in the array. Here we check once and then go forward.
  if ($del) {
    foreach ( $arrayIDs as $k => $id ) {
      $uploadedfile = $model->getUploadpic ( $id );
      $deletefile = JPATH_COMPONENT . DS . "uploads" . DS . $uploadedfile;
      JFile::delete($deletefile);
      //unlink ( $deletefile );
    }
  }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Hiểu các bảng ánh xạ

  2. PDO Không thể thực thi các truy vấn trong khi các truy vấn không có bộ đệm khác đang hoạt động

  3. LỖI:Lỗi 1005:Không thể tạo bảng 'cat10e.recording' (errno:150)

  4. Hai khóa chính được chỉ định trong cơ sở dữ liệu MySQL

  5. Cách sao chép bảng trong MySQL