Доброго времени суток. Распишу по пунктам, для простоты: 1. Есть скрипт, который заливает файл на сервер. 2. Заливает нормально, но файлы оказываются битыми. Кроме текста. 3. Пробовал другие, скрипты - все нормально, но не устраивает их функционал. 4. Не предлагать: , ибо см. пункт 3. 5. Я так понимаю, что ошибка в этих строчках: Code: $type = strtolower(substr($filename, 1+strrpos($filename,"."))); $new_name = fopen("zayavka-$rand.$type", "w+"); Вот сам скрипт: Code: <?php $file = $_FILES['file']['tmp_name']; $filename = $_FILES['file']['name']; if(!empty($file)) { ini_set('memory_limit', '32M'); $rand=date("d.m.Y-G.i.s"); $maxsize = "1000000"; $extentions = array( "zip", "rar","7z","jpg"); $size = filesize ($_FILES['file']['tmp_name']); $type = strtolower(substr($filename, 1+strrpos($filename,"."))); $new_name = fopen("zayavka-$rand.$type", "w+"); if($size > $maxsize) { echo "Файл больше 1 мб. Уменьшите размер вашего файла или загрузите другой. <br><a href='' onClick=window.close();>Вернуться назад</a>"; } elseif(!in_array($type,$extentions)) { echo ' <b>Файл имеет недопустимое расширение</b>. Допустимыми являются форматы "zip", "rar","7z","jpg".<br>'; } else { if (copy($file, "../zajvka/".$new_name)) echo "<b>Заявка отправлена!</b><br> Вернуться на <a href='/'>сайт</a>"; else echo "Файл НЕ был загружен."; } } ?> Тема закрыта - нашел ошибку. Кому интересно - строки должны быть такими: Code: $type = strtolower(substr($filename, 1+strrpos($filename,"."))); $new_name = 'zayavka-'.$rand.'.'.$type;