move_uploaded_file сохранить пустой файл только в IE

#php #internet-explorer

#php #internet-explorer

Вопрос:

У меня большая проблема с Internet Explorer даже 11, в моем коде я использую функцию move_uploaded_file. И эта функция сохраняет пустой файл на сервере с 0 КБ, однако она работает в другом браузере, таком как chrome, Firefox и т.д., И функция сохраняет полный файл. у меня есть составной тип в форме и разрешение 777 в каталоге.

Может кто-нибудь помочь мне, что я должен сделать, чтобы сохранить этот файл с успехом?

 if (!empty($_FILES['INPUT']['name'])) {
        if ($_FILES["INPUT"]["type"] == "image/png" 
            || $_FILES["INPUT"]["type"] == "image/jpg"
            || $_FILES["INPUT"]["type"] == "image/jpeg"
            || $_FILES["INPUT"]["type"] == "image/JPG"
            || $_FILES["INPUT"]["type"] == "image/JPEG"
            || $_FILES["INPUT"]["type"] == "image/PNG"
            || $_FILES["INPUT"]["type"] == "image/pjpeg"
            || $_FILES["INPUT"]["type"] == "image/x-png") {
            $img = $_FILES['INPUT']['name'].".png";
            $target_file = '../assets/directory/'.$img;
            move_uploaded_file($_FILES['INPUT']['tmp_name'], $target_file);
            return "/assets/directory/".$_FILES['INPUT']['name'].".png";
        }
    }
  

Комментарии:

1. var_dump($_FILES["INPUT"]["type"]);

2. также покажите нам код загрузки

3. var_dump возвращает строку (10) «изображение /jpeg»

4. var_dump($_FILES['INPUT']);

5. INTERNET EXPLORER c array(5) {["name"]=>string(9) "test4.JPG"["type"]=>string(10) "image/jpeg"["tmp_name"]=>string(14) "/tmp/phphQplne"["error"]=>int(0)["size"]=>int(0) } CHROME c array(5) { ["name"]=> string(9) "test4.JPG" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpxbazEi" ["error"]=> int(0) ["size"]=> int(84203) }

Ответ №1:

В моем случае проблема была с target =»_blank», когда я его удалил, все работает.