Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Переименовывание файла при загрузке

Переименовывание файла при загрузке


     15.02.2013    Общие вопросы по PHP    1668

вопрос
Обратил внимание что при загрузке аттача у него убираются некоторые символы, такие как "[ ]" например, следовательно он проходит через какой то парсер. Как сделать что бы к названию файла добавлялось название моего сайта?

Ответил: Yeti


Добавляем префикс вашего сайта или любого другого слова к скачиваемым с вашего сайта файлам.

Установка:
Открываем /engine/classes/download.class.php и в нем находим:
header( 'Content-Disposition: attachment; filename="' . $this->properties['new_name'] . '";' );


Заменить на:
header( 'Content-Disposition: attachment; filename="dlepro.ru_' . $this->properties['new_name'] . '";' );


где:
dlepro.ru_

- заменить на домен своего сайта.

Все версии DLE.

Комментарии пользователей (14)

Yeti
7

14 | 14

Yeti - 16 февраля 2013 01:24 - Юзер

не указал, что префикс добавится не при загрузке, а при скачивании приаттаченного файла.

DaivZ
2

283 | 175

DaivZ - 16 февраля 2013 18:33 - Юзер

А как сделать именно при загрузке файла, это связно с тем что люди качают файлы с торентов и там присутствует в начале копирайт.

Yeti
7

14 | 14

Yeti - 16 февраля 2013 18:44 - Юзер

то что я ответил оно и есть. Демо: тут

DaivZ
2

283 | 175

DaivZ - 16 февраля 2013 18:58 - Юзер

[torrentru.net]_chempionat-mira-po-hokkeyu-2008.-final.-rossiya-kanada-2008-satrip Вот именно при загрузке нужно убрать копирайт [torrentru.net]_

Yeti
7

14 | 14

Yeti - 16 февраля 2013 19:16 - Юзер

использовать фильтрацию если префикс один и тот же, но если префиксы могут быть разные то практически это нереально.

DaivZ
2

283 | 175

DaivZ - 16 февраля 2013 19:21 - Юзер

Вот про 1 и тот же префикс и говориться. Не подскажете как сделать?

nowheremany
192

1659 | 1292

nowheremany - 16 февраля 2013 19:23 - Эксперт

$this->properties['new_name']
замените а любое имя файла да и все

Благодарность принимаю тут Связь

Yeti
7

14 | 14

Yeti - 16 февраля 2013 19:35 - Юзер

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

nowheremany
192

1659 | 1292

nowheremany - 16 февраля 2013 19:39 - Эксперт

И? что мешает это сделать при скачивании. Это и проще и проблем меньше

Благодарность принимаю тут Связь

DaivZ
2

283 | 175

DaivZ - 16 февраля 2013 19:41 - Юзер

http://torrentru.net/sport/89-chm2008-rossia-canada.html вот с данным файлом например и не выходит.

DaivZ
2

283 | 175

DaivZ - 16 февраля 2013 19:36 - Юзер

ПЕРЕИМЕНОВЫВАНИЕ ФАЙЛА ПРИ ЗАГРУЗКЕ название новости то такое. От сюда и вопрос.

Yeti
7

14 | 14

Yeti - 16 февраля 2013 19:37 - Юзер

DaivZ, Вообще нужно наверное было создать отдельный вопрос тут как бы ТС хотел наоборот добавить префикс.

maggotische
4

55 | 63

maggotische - 16 февраля 2013 20:55 - Юзер

ого :) спасибо ответевшему, методом проб и ошибок сделал следующим образом
открыть
engine/classes/uploads/upload.class.php
найти:
$filename = str_ireplace( "php", "", $filename );

после добавить:
$filename = str_ireplace( "чужой_копирайт", "", $filename );
$filename = ('[mysite.com]'.$filename);


Первая строчка удаляет чужой копирайт, вторая ставит мой. Все происходит при аплоуде, все работает. Почему нужно делать именно при скачивании?

stopani
2

114 | 21

stopani - 14 мая 2014 00:49 - Юзер

Не стал задавать отдельный вопрос. Извиняйте!

Подскажите как название сайта поставить в конце имени? вот так:

название[сайт].mp3

все варианты вроде перебрал, выдает ошибку при скачивании!


Если ставлю сюда

$this->properties['new_name']. 'сайт";');


то выводится так:

название.mp3сайт

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы