|
|
- Подробности
-
Категория: PHP. Файлы
Прежде всего, нужно сразу сказать, что отправить (загрузить) на сервер файл с помощью AJAX нельзя, поэтому приходится прибегать к некоторым хитростями, а конкретно — использовать скрытый фрейм iframe.
Итак, мы создаем скрытый фрейм iframe, и в атрибуте target тега form указываем имя этого фрейма. Отправка файла будет выполнена обычным способом. Но с точки зрения посетителя загрузка будет выглядеть асинхронной — страница, которую он видит, перезагружена не будет.
- Подробности
-
Категория: PHP. Файлы
Возникла нужда создавать Excel-файлы средствами PHP. О существовании PEAR::Spreadsheet_Excel_Writer я уже знал — видел статью Создание таблиц Excel средствами PHP на http://phpclub.ru. Поиск в Google помог установить PEAR и Spreadsheet_Excel_Writer. Пример использования класса:
// We give the path to our file here
$workbook = new Spreadsheet_Excel_Writer('test.xls');
$worksheet =& $workbook->addWorksheet('My first worksheet');
$worksheet->write(0, 0, 'Name');
$worksheet->write(0, 1, 'Age');
$worksheet->write(1, 0, 'John Smith');
$worksheet->write(1, 1, 30);
$worksheet->write(2, 0, 'Johann Schmidt');
$worksheet->write(2, 1, 31);
$worksheet->write(3, 0, 'Juan Herrera');
$worksheet->write(3, 1, 32);
// We still need to explicitly close the workbook
$workbook->close();
?>
Подробнее: Создание файлов Excel средствами PHP
- Подробности
-
Категория: PHP. Файлы
В PHP 5.2.0 был добавлен встроенный класс для работы с zip архивами на запись и чтение. Сегодня мы рассмотрим несколько примеров его использования. Прежде всего, убедитесь, что включена поддержка библиотеки php_zip.dll. Для этого в файле php.ini нужно убрать символ комментария (;) в начале строки
extension=php_zip.dll
и перезапустить Apache.
Теперь переходим к созданию архива. Все операции с архивом выполняются с помощью объекта ZipArchive. После создания экземпляра класса создаем файл архива с помощью метода open(), который в качестве параметров принимает имя архива и константу, указывающую способ открытия.
Чтобы добавить в архив файл, используем метод addFile(), который принимает два параметра: имя исходного файла и имя, под которым файл будет добавлен в архив. Завершает работу с архивом метод close().
Подробнее: Класс для работы с zip-архивами
- Подробности
-
Категория: PHP. Файлы
Наверное каждому приходилось сталкиваться с временными ссылками при скачивании фильмов, музыки, программ и т.п. Зачем это делается? Да чтобы другие сайты не размещали ссылки на файлы, которые расположены на нашем сайте. Давайте посмотрим, как написать скрипт, который будет генерить временные ссылки.
В качестве хранения информации о файлах и временных ссылках, будем использовать БД. Таблица files хранит информацию о файлах:
CREATE TABLE `files` (
`id` INT(10) PRIMARY KEY,
`title` VARCHAR(255) NOT NULL DEFAULT '',
`description` TEXT NOT NULL DEFAULT '',
`filename` VARCHAR(64) NOT NULL DEFAULT '',
`mimetype` VARCHAR(8) NOT NULL DEFAULT ''
) ENGINE=INNODB DEFAULT CHARSET=cp1251;
Здесь
Подробнее: Скачивание файлов по временным ссылкам
- Подробности
-
Категория: PHP. Файлы
Сегодняшний урок я скорее всего назвал бы не уроком, а ответом на вопрос, заданном на сайте evgeniypopov.com.
Исходников нет, т.к. реализация очень простая:
demo
Итак, как это делается. Далеко ходить не будем. Рассмотрим как реализовано в CMS Joomla. В файле index.php корневой директории в самом начале есть такая строчка:
define( '_JEXEC', 1 );
А в файлах подключаемых компонетов, модулей и т.д. (тоже в самом начале) такая:
defined('_JEXEC') or die('Restricted access');
Собственно все. В index.php в корневой директории создается константа командой define c именем " _JEXEC" и значением "1". В файлах подключаемых компонетов при помощи функции defined("_JEXEC") мы проверям существование константы "_JEXEC". Если константа не найдена результат работы функции будет false, в этом случае пишем сообщение "Доступ запрещен" и останавливаем скрипт с помощью функции die (пcевдоним функции exit()).
По аналогии также делаем и у себя. Вот код демо-страницы:
файл index.php
<?php define( '_JEXEC', 1 );?>
<h2>Напишите как защитить файлы инклюда от прямого вызова! </h2>
<br />
<h4 style="color:#090">Ответ:
<?php include("inc/response.php"); ?>
</h4>
Инклюд-файл inc/response.php:
<?php
defined('_JEXEC') or die('Ай-яй-яй, сюда нельзя!');
echo 'очень просто. Этот ответ находится в "инклюдированном" файле, попробуйте обратиться к нему напрямую, дописав в строке
браузера /inc/response.php'
?>
Все очень просто. В коде я привел имя константы и ее значение в том виде, как написано в файлах Joomla. Имя константы и ее значение могут быть любыми, так что желательно придумать свое. Помните только, что имена констант пишутся в верхнем регистре.
Вот и все. по остальным вопросам ответы тоже будут, но позже. Всему свое время :)
|
|
|
|