Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Переименовывание файла при загрузке

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


     15.02.2013    Все вопросы » Общие вопросы по PHP    3841

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

Ответил: 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
Юзер

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

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

DaivZ
Юзер

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

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

Yeti
Юзер

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

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

DaivZ
Юзер

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

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

Yeti
Юзер

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

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

DaivZ
Юзер

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

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

nowheremany
Эксперт

nowheremany - 16 февраля 2013 19:23 -

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

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

Yeti
Юзер

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

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

nowheremany
Эксперт

nowheremany - 16 февраля 2013 19:39 -

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

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

DaivZ
Юзер

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

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

DaivZ
Юзер

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

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

Yeti
Юзер

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

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

maggotische
Юзер

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
Юзер

stopani - 14 мая 2014 00:49 -

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

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

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

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


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

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


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

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

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

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

наверх