Проблем с качване на големи снимки

vinsbg

Registered
Здравейте,

опитвам се да направя една форма за качване на снимки. Трябва да може да се качват големи, като обем снимки от порядъка на 10мб и да им създава тъмбове.
В момента 1 снимка 7мб няма проблем да се качи, но когато опитам с 2 нещо не се случва.
Снимките се записват в базата, сейват се в папката, но в папката с тъмбовете се запаметява само 1 снимка вместо 2 примерно.

Проблема го има на хостинга, а на локалния няма проблем да кача дори и 5 снимки по 7мб.

Настроил съм следните параметри на хостинга ( същите са и на локалния )
Код:
max_execution_time: 300;
max_input_time: 300;
memory_limit: 96;
upload_max_filesize: 50;
post_max_size: 50;
Някаква идея кое още в php.ini трябва да променя?
 
Щом не дава грешка при качването, значи проблема е другаде - може би в кода за създаването на тъмбовете
 
raiden каза:
Щом не дава грешка при качването, значи проблема е другаде - може би в кода за създаването на тъмбовете
Да, но при положение, че на локалния работи абсолютно същия?
За тъмбовете използвам - PHP Image Magician
А това по време на качване.
Код:
if (isset($_POST["sub2"])) {
  // include resized library
  require_once('php-image-magician/php_image_magician.php');
  $msg = "";
  $valid_image_check = array("image/gif", "image/jpeg", "image/jpg", "image/png", "image/bmp");
  if (count($_FILES["user_files"]) > 0) {
    $folderName = "uploads/";

    $sql = "INSERT INTO images (image_name) VALUES (:img)";
    $stmt = $pdo->prepare($sql);

    for ($i = 0; $i < count($_FILES["user_files"]["name"]); $i++) {

      if ($_FILES["user_files"]["name"][$i] <> "") {

        $image_mime = strtolower(image_type_to_mime_type(exif_imagetype($_FILES["user_files"]["tmp_name"][$i])));
        // if valid image type then upload
        if (in_array($image_mime, $valid_image_check)) {

          $ext = explode("/", strtolower($image_mime));
          $ext = strtolower(end($ext));
          $filename = rand(10000, 990000) . '_' . time() . '.' . $ext;
          $filepath = $folderName . $filename;

          if (!move_uploaded_file($_FILES["user_files"]["tmp_name"][$i], $filepath)) {
            $emsg .= "Грешка при качване на - <strong>" . $_FILES["user_files"]["name"][$i] . "</strong>. Моля, опитайте отново. <br>";
            $counter++;
          } else {
            $smsg .= "Снимка <strong>" . $_FILES["user_files"]["name"][$i] . "</strong> е добавена успешно. <br>";

            $magicianObj = new imageLib($filepath);
            $magicianObj->resizeImage(100, 100);
            $magicianObj->saveImage($folderName . 'thumb/' . $filename, 100);

            try {
              $stmt->bindValue(":img", $filename);
              $stmt->execute();
              $result = $stmt->rowCount();
              if ($result > 0) {
                // file uplaoded successfully.
              } else {
                // failed to insert into database.
              }
            } catch (Exception $ex) {
              $emsg .= "<strong>" . $ex->getMessage() . "</strong>. <br>";
            }
          }
        } else {
          $emsg .= "Файлът <strong>" . $_FILES["user_files"]["name"][$i] . "</strong> не е снимка. <br>";
        }
      }
    }
 
Само да спомена, че има нещо, което не можеш да промеиш на хостинга. Аз така имах проблем като се опитвам да кача около 50-100 наведнъж, които бяха по 1мб някъде. До 15 и другите не се качваха. Питай хостинга ти дали имат лимит при качване, те ще ти кажат. Защото само с редактирането на php.ini няма да се оправи, поне при мен беше същия случай. Казаха ми, че не можело да се качва по над 20МБ наведнъж. Успех! :)
 
swlight каза:
Само да спомена, че има нещо, което не можеш да промеиш на хостинга. Аз така имах проблем като се опитвам да кача около 50-100 наведнъж, които бяха по 1мб някъде. До 15 и другите не се качваха. Питай хостинга ти дали имат лимит при качване, те ще ти кажат. Защото само с редактирането на php.ini няма да се оправи, поне при мен беше същия случай. Казаха ми, че не можело да се качва по над 20МБ наведнъж. Успех! :)
След няколко часа разговори със съпорта.. казаха, че от тяхна страна нямало проблем и всичко било коректно..
Разглеждаха и двата файла за качване на снимки и в тях нямало проблем.

Тоест ... никъде нямало проблем, но все пак не се качват :idea:
 
Проблема се оказа в PHP Image Magician, докато създава тъмбовете. Като го махнах от скрипта ( да не прави тъмбове ) и си качва всичко коректно.
 

Back
Горе