Mysql
 sql >> база данни >  >> RDS >> Mysql

да изтриете качения файл от масив от идентификатори, когато са изтрити в joomla?

Имате няколко проблема във вашия код:

  1. $uploadedfile никога не се декларира, но се използва за намиране на пътя на файла. Предполагам, че това е същото като $getdeleted .
  2. Имате foreach цикъл около елементите във вашия масив, който ще вземе всеки елемент на свой ред. Въпреки това моделирате функцията deleteGreetings поема целия масив. Трябва да премахнете това извикване на функция от вашия цикъл, иначе ще бъде извикано всеки за всеки елемент в масива. Искате да се обадите само веднъж.
  3. Само в края на вашия контролер проверявате дали вашият cid параметър е нула ... какъв е смисълът? Трябва първо да проверите това, преди да опитате да стартирате някой от другите кодове.

Бих направил нещо подобно:

$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. LAST_INSERT_ID() винаги връща 0 (RMySQL) - отделен проблем с връзката

  2. sql заявка за извличане на уникални записи

  3. Docker-compose проверява дали mysql връзката е готова

  4. Отчетите на MySQL Workbench не са валидни на тази позиция за тази грешка във версията на сървъра

  5. Заявката за избор на MySQL е ужасно бавна