Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2015, 11:53   #1
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию Загрузка файлов

Добрый день, есть форма:
Код:
<form method="POST" action="..." enctype="multipart/form-data">
<div class="input-control text full-size">
        <input type="text" name="god" value=""/>
</div>
<div class="input-control file full-size" data-role="input">
        <input type="file" name="file[]">
        <input type="file" name="file[]">
        <input type="file" name="file[]">
        <button class="button"><span class="mif-folder"></span>отправить</button>
</div>
</form>
Код:
for( $i = 0, $length = count( $_FILES['file']['name'] ); $i < $length; $i++){
    if (is_uploaded_file($_FILES['file']['tmp_name'][$i])){
здесь всегда показывает что файл загружен успешно, но если вместе загрузить txt и docx, то txt или картинка грузиться всегда, а ворд, пдф, ексель - иногда
....
    }

}
Текстовые файлы и изображения грузяться без проблем, а вот остальные (doc, docx, pdf, xls, xlsx......) через раз. Точнее когда захотят - тогда и загрузяться.

в чем может быть проблема?
maksim_serg вне форума Ответить с цитированием
Старый 21.09.2015, 12:47   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

А где код для переноса временного файла в папку для загрузки?
Arigato вне форума Ответить с цитированием
Старый 21.09.2015, 12:52   #3
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

... - это код

Код:
for( $i = 0, $length = count( $_FILES['file']['name'] ); $i < $length; $i++){
    if (is_uploaded_file($_FILES['file']['tmp_name'][$i])){
        if ($_FILES['file']['size'][$i] <= 1024*1024*5 ){// не более 5мб
            $upload_photo = $_FILES['file']['name'][$i];

            $top_folder = "uslugi/{$uid}/{$content_param}/{$new_firm_id}/";
            if (!is_dir($top_folder))
            {
                mkdir($top_folder, 0777, true);
            }

            $filepath = translit($top_folder.$upload_photo);

            if(copy($_FILES['file']['name'][$i],$filepath)){
                 $files .= $filepath. ", ";
            };



        }
    }

}
переменная $files содержит путь к загруженным файлам, даже если они не загрузились, например:
Код:
uslugi/3/17/2/xml.xml, uslugi/3/17/2/TZ_lk_novoe_222.docx,
хотя вордовского по этому адресу нет
maksim_serg вне форума Ответить с цитированием
Старый 21.09.2015, 13:14   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Ну так надо же tmp_name копировать, а не name. И вместо copy() лучше использовать move_uploaded_file().
Arigato вне форума Ответить с цитированием
Старый 21.09.2015, 13:21   #5
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Цитата:
tmp_name копировать, а не name
вот я опечатался. Даже не буду удивляться почему ОНО иногда работало. спасибо
maksim_serg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка в файлов HTTqp Компоненты Delphi 4 04.02.2014 09:07
Загрузка файлов Fahman Общие вопросы Delphi 3 12.01.2014 08:40
Загрузка файлов. Gefo JavaScript, Ajax 3 24.01.2013 17:42
Загрузка файлов renigal1 PHP 8 05.04.2012 09:09
Загрузка файлов Vladya Помощь студентам 3 01.07.2009 08:34