Обрезайте несколько изображений по одному с помощью JCrop и сеанса в php


У меня есть скрипт обрезки изображений, который обрезает по одному изображению за раз с помощью плагина Jquery Jcrop. теперь я хочу загрузить больше изображений и обрезать их одно за другим, используя цикл for.

Как лучше всего это сделать?

Я установил для своего поля ввода значение несколько, чтобы оно могло загружать более одного.

РЕДАКТИРОВАТЬ:

Я отредактировал свой код ниже с помощью $max и count. и я думаю, что делаю это неправильно. как я могу это исправить, чтобы, когда я нажимаю "обрезать", он обрезал их после друг-друга.

Это мой uploaded.php:

    <?php 
         session_start();
         $max = count($_FILES['userfile']['name']);
         for($i = 0; $i < $max; $i++){
            $target = $_FILES['file'][$i];
         }

         $target = "data/uploads/"; 
         $target = $target . basename( $_FILES['filename']['name']) ; 
         $_SESSION['target_path'] = $target;

         $ok=1; 
         if(move_uploaded_file($_FILES['filename']['tmp_name'], $target)) 
         {
             echo "De afbeelding *". basename( $_FILES['filename']['name']). "* is geupload naar de map 'uploads'";
         } 
         else 
         {
             echo "Sorry, er is een probleem met het uploaden van de afbeelding.";
         } 
    ?> 

Спасибо!

Author: Wilt, 2013-03-14

2 answers

Вам нужно проверить несколько вещей

1) Чтобы загрузить файлы, прочитайте: http://php.net/manual/en/features.file-upload.multiple.php - в частности, input name="userfile[]" в HTML и файлах на сервере отображаются как $_FILES['userfile']['name'][0],...,$_FILES['userfile']['name'][N]

2) move_uploaded_file() это проверка безопасности, чтобы убедиться, что файлы действительны, не выходите из дома без нее:-)

3) Я бы рекомендовал imagemagick библиотеку (http://php.net/manual/en/imagick.cropimage.php ), я знаю, демонстрация Jcrop использует библиотеку GD, но стоит того, чтобы вы посмотрели imagemagick.

4) Наконец, если все не удается, используйте print_r($variable), чтобы убедиться, что файлы попадают на ваш сервер.

5) Иногда это может быть проблема системного администратора, такая как недоступная для записи папка/tmp, заполненный диск, ограничение размера загрузки в php.ini и встроенный тайм-аут веб-сервера. Проверка phpinfo() тоже помогает

 1
Author: Alvin K., 2013-03-21 06:19:51

Я думаю, вы хотите чего-то большего, чем это:

<?php 
session_start();

$upload_dir = "data/uploads/"; 
for($i = 0; $i < 5; $i++){
     $target = $upload_dir . basename( $_FILES['file']['name'][$i]);
     if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $target)) {
         echo "De afbeelding *". basename( $_FILES['file']['name'][$i]). "* is geupload naar de map 'uploads'";
     } else {
         echo "Sorry, er is een probleem met het uploaden van de afbeelding.";
     }
}
 1
Author: Rob Cozzens, 2013-03-18 06:04:19