Главная » Записи с тегом "Файлы" (страница 2)

Рубрики с меткой ‘Файлы’

Как делать UPLOAD файлов на сервер и о возможных глюках

Что такое FILE UPLOAD в PHP?

Это возможность передать файлы с компьютера посетилеля в вашу ПХП программы. Это значит, вы получаете файл(ы) от посетителя и что-либо с ними делаете: Читать далее »

PHP скрипт для скачивания файлов

Недавно я столкнулся с интересной проблемой. На одном сайте нужно было реализовать прослушивания (онлайн) и скачивания mp3 файлов.  Вроде ничего сложного – все сделал, реализовал скрипт на php загрузки файлов с подсчетом количества скачиваний, все работает – файлы проигрываются и даже скачиваются без проблем. Но через некоторое время выяснилось, что со скачиванием есть одна маленькая, но очень обидная, проблема. Так как я пользуюсь браузером Опера, я этого сначала не заметил, поскольку опера скачивала все как надо – спросила: открыть или скачать, все ок. А Интернет Эксплорер выявился не такой вежливый – он не спрашивал, он просто по умолчанию запускал Медиа-плеер. А для рядового пользователя скачать этот mp3-файл оказывается довольно тяжело.

Такая проблема может возникнуть и с другими типами файлов (doc,  pdf, xls, jpg, gif и т.д.), будет запускаться, ассоциируемая с этим типом файла,  программа. А не всегда это удобно, и это нам нужно.

Пришлось не мало перелопатить интернета, чтобы найти подходящее решение (точнее подходящий php-скрипт) для меня.

Провожу  вашему вниманию — PHP скрипт для скачивания файлов:

 

<?php
$filename = $_GET['filename'];
 
 // нужен для Internet Explorer, иначе Content-Disposition игнорируется
if(ini_get(‘zlib.output_compression’))
  ini_set(‘zlib.output_compression’‘Off’);
 
$file_extension = strtolower(substr(strrchr($filename,«.»),1));
 
if$filename == «» )
{
          echo «ОШИБКА: не указано имя файла.»;
          exit;
elseif ( ! file_exists( $filename ) ) // проверяем существует ли указанный файл
{
          echo «ОШИБКА: данного файла не существует.»;
          exit;
};
switch$file_extension )
{
          case «pdf»$ctype=«application/pdf»break;
          case «exe»$ctype=«application/octet-stream»break;
          case «zip»$ctype=«application/zip»break;
          case «doc»$ctype=«application/msword»break;
          case «xls»$ctype=«application/vnd.ms-excel»break;
          case «ppt»$ctype=«application/vnd.ms-powerpoint»break;
          case «mp3″$ctype=«audio/mp3″break;
          case «gif»$ctype=«image/gif»break;
          case «png»$ctype=«image/png»break;  
          case «jpeg»:
          case «jpg»$ctype=«image/jpg»break;
          default: $ctype=«application/force-download»;
}
header(«Pragma: public«); 
header(«Expires: 0″);
header(«Cache-Control: must-revalidate, post-check=0, pre-check=0″);
header(«Cache-Control: private«,false); // нужен для некоторых браузеров
header(«Content-Type: $ctype«);
header(«Content-Disposition: attachment; filename=\»«.basename($filename).»\«;» );
header(«Content-Transfer-Encoding: binary»);
header(«Content-Length: ».filesize($filename)); // необходимо доделать подсчет размера файла по абсолютному пути
readfile(«$filename«);
exit();
?>


 Данный скрипт поможет вам управлять скачиванием файлов с вашего сайта. Не допускать браузерам запускать ассоциированную программу с данным файлом по умолчанию (mp3, doc, pdf и т.д.),  а всегда спрашивать у пользователя что нужно делать (открыть или сохранить).

Создайте файл dl_save.php скопируйте туда код.

Ссылку на скачивания файла оформлять нужно (примерно) так:

<a href=»dl_save.php?filename=file.mp3″>Скачать</a>

Где file.mp3 – заменяйте своим файлом, если нужно, прописывайте полный путь к файлу (и путь к dl_save.php).

Если через редирект:

header(«Location:  dl_save.php?filename=file.mp3″);

Источник:  sitear.ru

Не работают комментарии DLE

Всем привет! Сегодня, а точнее вчера, я заметил, что на моем сайте не отправляются комментарии. Правда они не добавлялись с 9 августа, а я только 9 сентября спохватился и подумал, как так, месяц и ниодного комментария=))) Сначала я попробовал добавить коммент, окно съездило вверх вниз, но его не появилось=( Я пол дня лазил по сети в поисках ответа на мой вопрос, но не найдя ничего интересного, понял, что в тот день я устанавливал репутацию для сайта и форума. Еще раз проверил всю установку, ничего ишнего там небыло. Промуяавшись несколько часов, я решил обратится к создателю модуля Репутация 6.5, благо он у меня в аське был и ни разу не отказывал в помощи, хоть и не сразу. Человек занятой — понять можно. Читать далее »

Использование DOMIT в Joomla

Статья об использовании библиотеки DOMIT для работы с файлами формата XML. В статье рассмотрены различные аспекты применения библиотеки на примере работы с файлом данных для компонента галереи изображений.

Если вы хотите сделать интересное клиентское приложение (приложение работающее на стороне клиента, т.е. в браузере), то без Ajax или Flash/Flex вам не обойтись. А, как известно, обе эти технологии любят получать данные из XML файлов.

У вас есть два варианта: Читать далее »

Ajax File Manager для TinyMCE

На просторах интернета был обнаружен интересный плагин для визуального редактора TinyMCE, представляющий собой файловый менеджер на AJAX. На сайте разработчика данный плагин представлен в двух вариантах: архив с плагином и инструкцией по установке и готовый пакет, состоящий из редактора и встроенного в него плагина. На нашем форуме возник вопрос, как же это чудо подружить с визуальным редактором TinyMCE, который входит в состав дистрибутива Joomla.

В результате серии экспериментов было найдено решение, позволяющие использовать данный плагин для загрузки изображений и файлов в визуальном редакторе TinyMCE, входящем в стандартный дистрибутив Joomla. Читать далее »

Адаптация DLE шаблонов с 9.5 в 9.6

Список изменений в шаблонах между версиями 9.5 и 9.6:

1. Скопируйте файл картинки из стандартного шаблона /templates/Default/bbcodes/typograf.gif в папку вашего шаблона.
2. Скопируйте файлы изображений button.png, loading.gif, offline.png, online.png, shadow.png, tableft.gif, tabright.gif из папки стандартного шаблона /templates/Default/images/ в папку вашего шаблона.

3. Откройте файл style/engine.css и в самый низ добавьте: Читать далее »

Недостаточная фильтрация входящих данных Dle v9.0

Проблема: Недостаточная фильтрация входящих данных.

Ошибка в версии: 9.0 и все более ранние версии

Степень опасности: Высокая

Для исправления откройте файлы engine/modules/search.php и engine/modules/fullsearch.php и найдите:

$count_result = 0; Читать далее »

Find-Info полезный скрипт показывает права доступа на файлы

Find-Info полезный скрипт показывает права доступа на файлы

Скрипт Find-Info поможет найти и проверить весь сайт на открытый доступ к чтению файлам на сайте Chmod «rwxrwxrwx» .Иногда крайне необходимо проверить права на файл , на некоторых сайтах это просто , и делается одной командой, но не на всех

Меняя rwxrwxrwx в разных вариациях, можно проверить все, что нужно в линуксе. Но на очень многих хостингах нет возможности этого сделать, а просмотреть все файлы по FTP займет много времени. Вот и побудило автора написать простенький скрипт для просмотра прав на файлы и папки всего сервера. Скрипт дает возможность фильтрации файлов и папок с разными правами, а также смену директории для сканирования.Скачать с www.dle9.com. Читать далее »

Разработка и подключение модулей

DataLife Engine предоставляет удобные механизмы для подключения разработанных вами модификаций скрипта. Данные механизмы позволяют обеспечить работоспособность и после обновления скрипта на новую версию, т.к. данные механизмы позволяют осуществлять подключение без правки файлов скрипта. Для подключения разработанных вами модулей вам необходимо в любом необходимом вам шаблоне добавить тег:

 

{include file=»engine/modules/mymod.php»} Читать далее »

Сжатие CSS файлов шаблона

Дорогие друзья,

как вы знаете, начиная с версии 8.5, в скрипте появилась возможность сжатия javascript файлов, что позволяет до 70% уменьшить их размер и тем самым существенно ускорить их загрузку в браузер. В данной статье я хочу вам рассказать о том, что данную возможность можно применить для файлов стилей CSS вашего шаблона. Для этого необходимо изменить их подключение в шаблон, допустим ваши стили подключаются в шаблоне сточками:

<link rel=»stylesheet» type=»text/css» href=»{THEME}/css/style.css» />
<link rel=»stylesheet» type=»text/css» href=»{THEME}/css/engine.css» /> Читать далее »