Приветствую всех! Прошу помощи. Ситуация в следующем: есть скрипт на PHP. Скрипт загружает фотографии на сервер, после копирует в установленную дирректорию. За время существования этого скрипта (1 год) всё работало, и работает сей час. НО с одного компьютера начинаются проблемы. На компе установлена Windows XP. Система имет двух пользователей, один из которых имеет пароль для доступа. 1) Во-первых, с этого комьютера не всегда получается зайти на сайт и в систему управления. 2) Во-вторых, при загрузке фотографии на сервер происходит следующее: фото загружается на сервер во временную папку, а копирование в установленную дирректорию не происходит. С любого другого компьютера ( где Win XP и один пользователь ) всё работает. А после того как с проблемного компа происходит ошибка , с других также происходит ошибка - файл, после загрузки на сервер не копируется. Хотя в другие дирректории всё копируется и всё работает. Пока туда не произведёт загрузку проблемный комп.
Прочитал ... Попробую по-другому PHP: // ОБРАБАТЫВАЕМ ФОТОГРАФИЮ if ( ($HTTP_POST_FILES['c_photo']['size'] < 1048576) AND ($HTTP_POST_FILES['c_photo']['size'] > 0) ) { // создаём папку, если она не существует $dir = "content/photo_catalogue" . PDB . "/album/" . $C_CATALOGUE . "/"; if ( ! is_dir("../" . $dir) ) mkdir("../" . $dir, 0777); // извлекаем расширение файла $ext = strrchr($HTTP_POST_FILES['c_photo']['name'], "."); $p_name = $dir . date("YmdHis",time()); // переименовываем файл $photo = $p_name . $ext; // устанавливаем имя маленькой фотографии $small = $p_name . "_small" . $ext; // устанавливаем имя большой фотографии $normal = $p_name . "_normal" . $ext; // копируем фото в нашу папку, и удаляем фото из папки TEMP if ( copy($HTTP_POST_FILES['c_photo']['tmp_name'], "../" . $photo) ) { chmod("../" . $photo, 0644); unlink($HTTP_POST_FILES['c_photo']['tmp_name']); $msg = 'ok'; } else { $msg = 'Фотография не скопированна'; unlink($HTTP_POST_FILES['c_photo']['tmp_name']); } ... Требуемая папка существует, параметры для записи установлены, а переданный файл не копируется. ПОЧЕМУ?
Несовсем подходящее решение, но оно уже рассматривалось. А может ли загружаемый файл иметь какой-нибудь атрибут, кот. помешает в дальнейшем его обработку на сервере?
Только IE7. Так самое интересное в том, что с того же компа Х в другие папки загрузка и обработка осуществляется полностью. А в один прекрасный момент возникает эта проблема. И в установленную папку файл не копируется. И с других компов тоже.
Хорошо. Попробую и расскажу. На последок. Что может помешать копированию файла из временной дирректоории в установленную, кроме "Permission" дирректории?
Вирус? Деление на имя.расширение делается по одной точке. Возможно какой-то вирус вместо того, чтобы залить на сервер pic.jpg - заливает pic.jpg.exe и совсем не картинку, а себя.
Было у меня предположение на вирус, но как он мог влиять не знал. Благодарю за предположение. Буду проверять. Хотя и в этом случае он должен бы скопировать файл в указанную папку как datetime.jpg.exe