Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
alexsamos33
592 / 572 / 192
Регистрация: 26.04.2014
Сообщений: 1,879
#1

Странное добавление к имени файла при загрузке его на сервер - PHP

21.07.2015, 21:45. Просмотров 360. Ответов 4
Метки нет (Все метки)

Когда я на сервер загружаю какой-нибудь .jpg файл (картинку) имя файла само преобразовывается.
Например загружаю filename.jpg, а в итоге получаю файл xfilename.jpg.ic.oWSUHkebpF.jpg.
Из-за скрипта это не зависит, так как происходит это обсолютно при любом коде. Например:
PHPHTML
1
2
3
4
5
6
7
8
9
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
 
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Файл корректен и был успешно загружен.\n";
} else {
    echo "Возможная атака с помощью файловой загрузки!\n";
}
В массиве $_FILES всё нормально, имя оригинальное, а вот уже на сервере после перемещения файла имя изменяется. Это как бы не мешает, но просто интересно узнать откуда такое поведение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2015, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Странное добавление к имени файла при загрузке его на сервер (PHP):

закачка файла на сервер и изменение его имени - PHP
Такая задача... Закачать файл на сервер, и переименовать его имя там.... $adress = &quot;goods/$name_cat/$name_pod_cat/$dirrectory/&quot;; ...

Название файла при загрузке на сервер - PHP
&lt;? $filew = $_FILES; $filename = $_FILES; if(!empty($filew)) { ini_set('memory_limit', '32M'); $maxsize = &quot;100000000&quot;; ...

При загрузке файла на сервер меняется кодировка - PHP
Здравствуйте, возник такой вопрос: Написал код для загрузки на сервер, файлы загружаются все хорошо, только когда загружаю файлы с русским...

при загрузке файла на сервер выдает ошибку 500 - PHP
Всем доброго времени суток, помогите решить проблемму, пытаюсь загрузить на сайт файл .xls через php скрипт, файл размером 748кб, мне...

Замена пробелов на "_" при загрузке файла на сервер - PHP
Не подскажите, почему файловые хостинги проделывают данную операцию? Думал, что php выбивает какие-то ошибки, но только что написал...

PHP. Загрузка файлов на сервер. Максимальная длинна имени файла - PHP
Здравствуйте уважаемые коллеги. :hi Расскажу о своей ситуации для общего рассмотрения. Итак: FreeBSD 8.2, Веб-сервер апач 2_2, php 5.x....

4
pav1uxa
1846 / 1698 / 644
Регистрация: 23.01.2014
Сообщений: 6,078
Завершенные тесты: 1
22.07.2015, 00:30 #2
alexsamos33,
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
 
echo '<pre>';
echo $uploadfile.PHP_EOL;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Файл корректен и был успешно загружен.\n";
} else {
    echo "Возможная атака с помощью файловой загрузки!\n";
}
Что выводит?
Цитата Сообщение от alexsamos33 Посмотреть сообщение
basename($_FILES['userfile']['name'])
Для чего тут basename()? В переменно $_FILES['userfile']['name'] только название файла на компьютере пользователя, пути к нему там нет.
0
alexsamos33
592 / 572 / 192
Регистрация: 26.04.2014
Сообщений: 1,879
22.07.2015, 07:17  [ТС] #3
pav1uxa, Выводит нормальное имя, например photo001.jpg,
но уже на сервере файл приобразовывается в xphoto001.jpg.pagespeed.ic.oWSUHkebpF.jpg.
Пробовал также копировать через copy - результат одинаковый.

Добавлено через 2 минуты
Вот ещё что заметил. Если размер файла маленький, имя файла остаётся оригинальным, но если картинка весит 1 мб или больше, то уже идёт приобразование. Я думаю это какой-то модуль на сервере, который ускоряет загрузку страниц, так как pagespeed.
0
Para bellum
Эксперт PHP
3027 / 2788 / 598
Регистрация: 06.01.2011
Сообщений: 8,125
22.07.2015, 07:44 #4
Цитата Сообщение от alexsamos33 Посмотреть сообщение
Я думаю это какой-то модуль на сервере
Ну да, а иначе бы мы тут с Вами не разговаривали. mod_pagespeed наверное установлен. Честно говоря, я сам про него только узнал.
0
alexsamos33
592 / 572 / 192
Регистрация: 26.04.2014
Сообщений: 1,879
22.07.2015, 08:10  [ТС] #5
Цитата Сообщение от Para bellum Посмотреть сообщение
Честно говоря, я сам про него только узнал.
Я тоже
0
22.07.2015, 08:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2015, 08:10
Привет! Вот еще темы с ответами:

Переименовать файлы при загрузке на сервер - PHP
Коллеги! Есть хороший скрипт - парсит почту, записывает ее в MySQL, вложения сохраняет на сервере. ...

Уменьшение веса картинки при загрузке на сервер - PHP
Всем привет . При создании новости на сайте , делается уменьшенное изображение , но ВЕС изображения не меняется , меняется только размер...

Исключение ненужных форматов при загрузке на сервер - PHP
Не секрет, что если при загрузке файлов на сервер не менять имена загружаемых файлов и если пользователь знает место хранения загружаемых...

Выбор директории при загрузке фотографий на сервер - PHP
Как сделать выбор директории при загрузки фотографий на сервер


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru