powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / отправка файла на сервер через форму
6 сообщений из 6, страница 1 из 1
отправка файла на сервер через форму
    #32751764
galana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Возникли проблемы с перебросом файлов с клиента на сервер.
Закачиваю стандартно.

В форме:
<form method='post' action='script.php' enctype='multipart/form-data'>
<input type='file' name='file1'>
<input type='submit' value='Send'>

В скрипте принимаю данные:
$file_name = $_FILES["file1"]["name"];
$file_tmp = $_FILES["file1"]["tmp_name"];
$file_size = $_FILES["file1"]["size"];
$file_type = $_FILES["file1"]["type"];

После нужных проверок копирую:
copy ("$file_tmp", "$dir/$file_name");

Так вот, на одном сервере проблем нет! Файлы успешно перекачиваются.
На втором - с перекачкой .txt, .html проблем нет, а вот .gif и .jpg хоть и копируются, но с искажениями. Т.е. файлы в нужной директории появляются, размер и имя верное, но открыть нельзя. При сравнении кода видны глюки.
На третьем сервере копирования вообще не происходит! При этом сообщение об ошибке копирования не выдается!

Скрипт один и тот же, значит дело в настройках сервера. Может ли кто-нибудь подсказать, что это может быть?
...
Рейтинг: 0 / 0
отправка файла на сервер через форму
    #32751772
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
galanaНа втором - с перекачкой .txt, .html проблем нет, а вот .gif и .jpg хоть и копируются, но с искажениями.Искажение происходит не при копировании, а при сохранении файла. Читать PHP FAQ: Кавычки. \"Надоедливые наклонные\", слеши, экранирование кавычек. . И вообще, грамотнее было бы подсмотреть мануал и воспользоваться функцией move_uploaded_file .
...
Рейтинг: 0 / 0
отправка файла на сервер через форму
    #32751886
galana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GuestИ вообще, грамотнее было бы подсмотреть мануал и воспользоваться функцией move_uploaded_file.
Да, согласна, спасибо за замечание - файл из /tmp, конечно же, лучше переносить, а не копировать. Но проблему это не решает. Тем более, как Вы заметили, искажение происходит действительно при сохранении, а не при копировании.

GuestЧитать PHP FAQ: Кавычки. \"Надоедливые наклонные\", слеши, экранирование кавычек..
Прочла. Но судя по всему, кавычки и слэши здесь не причем. Текстовые файлы, содержащие и то и другое сохраняются корректно. А вот содержимое файлов .gif и .jpg меняется глобально, такое чувство, что кодировка меняется - одни буквы заменяются на другие.

На самом деле доступа к системе я не имею. Мне просто нужно, чтоб моя программа работала на ЛЮБОМ сервере. Либо, если это не в моей компетенции, четко понять в чем дело, о чем я должна попросить сисадмина, чтоб проблем не было.
...
Рейтинг: 0 / 0
отправка файла на сервер через форму
    #32751896
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://detail.phpclub.ru/article/upload
...
Рейтинг: 0 / 0
отправка файла на сервер через форму
    #32751940
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
А я думал, "русский апач" уже вымер ;)
...
Рейтинг: 0 / 0
отправка файла на сервер через форму
    #32762089
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решается очень просто.
Все происходит из-за того, что на сервере включена опция автоматической перекодировки файлов. Но бинарные файлы перекодировать нельзя - получается белеберда.

Чтобы избежать перекодировки, нужно в директорию, в которой лежит скрипт, использующий переброску бинарных файлов, положить файл .htaccess,
в котором запретить перекодировку:
"CharsetDisable on"
Ну, а в текстовых файлах явно указывать кодировку:
"<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>"
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / отправка файла на сервер через форму
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]