Загрузка нескольких файлов не работает и не является is_upload_file - PullRequest
0 голосов
/ 20 декабря 2011

Кажется, я не могу заставить эту вещь работать правильно, я подумаю, что она у меня есть, и что-то еще не будет работать.Посмотрите ...

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

include('image.php');
$image = new SimpleImage();

foreach(array_keys($_FILES['ref']['name']) as $i) { 

    if (is_uploaded_file($_FILES['ref']['name'][$i])) {
        $time = date("fYhis");
        $destination="./../img/treatments/" .$pageid. "/refimgs";
        $tdestination="./../img/treatments/" .$pageid. "/refimgs/thumbs";
        $image->load($_FILES['ref']['name'][$i]);
        $image->save($destination . '/' .$time . $i . '.jpg');    
        $image->resizeToWidth(140); 
        $image->save($tdestination . '/' .$time . $i . '.jpg');

    }else{ echo "Possible file upload attack: ";
        echo "filename '". $_FILES['ref']['name'][$i] . "'.";
    }
}

1 Ответ

1 голос
/ 20 декабря 2011

Вы должны использовать $_FILES['ref']['tmp_name'] в функции is_uploaded_file.Обновленная строка кода будет выглядеть следующим образом:

include('image.php');
$image = new SimpleImage();
foreach(array_keys($_FILES['ref']['name']) as $i) { 

    if (is_uploaded_file($_FILES['ref']['tmp_name'][$i])) {
        $time = date("fYhis");
        $destination="./../img/treatments/" .$pageid. "/refimgs";
        $tdestination="./../img/treatments/" .$pageid. "/refimgs/thumbs";
        $image->load($_FILES['ref']['name'][$i]);
        $image->save($destination . '/' .$time . $i . '.jpg');      
        $image->resizeToWidth(140);   
        $image->save($tdestination . '/' .$time . $i . '.jpg');

   }else{ echo "Possible file upload attack: ";
       echo "filename '". $_FILES['ref']['name'][$i] . "'.";
   }
}

Примечание: name файла на клиентском компьютере недопустим на сервере, и вместо него необходимо использовать tmp_name.Надеюсь, это поможет вам разобраться в проблеме.

...