Все ленты — последние статьи

PHP и XML

Итак, поговорим об XML. Что же это такое и почему многие профессиональные программисты предпочитают его всем другим форматам? И почему так много хвалебных отзывов со стороны тех, кто с ним столкнулся? И почему, наконец, так мало негативных отзывов от тех, кто с ним не сталкивался :-)? XML как язык (а это именно язык, только не программирования, а разметки) сформировался сравнительно недавно — официально первая редакция его спецификации была опубликована в 1998 году. Формат этот оказался настолько удачным, что сразу пришелся ко двору, и его реализации разошлись практически по всем языкам программирования (правда, пока еще в виде внешних модулей или обработчиков) — от Delphi до PHP. Однако русскоязычной документации по нему мало, а сам язык настолько масштабируем и гибок, что описать все области его применения просто невозможно. Поэтому отечественные программисты еще только начинают постигать тайны XML и пока лишь пытаются применять его на практике.

Аббревиатура XML расшифровывается и переводится как «расширяемый язык разметки». И в этом вся его суть. В принципе, программист сам определяет формат файла и сам пишет его обработчик, используя для этого предоставляемые языком средства или разрабатывая собственные. Теперь никому не нужны километры исходного кода для обработки сотен текстовых файлов — все это легко заменяется одним XML-файлом и одним парсером (обработчиком).

Подробнее: PHP и XML

*Список файлов в папке

function list_file ( $dir )
{
if ( $dir [ strlen( $dir ) — 1 ] != '/' )
{
$dir .= '/'; //добавляем слеш в конец если его нет
}

$nDir = opendir( $dir );
while ( false !== ( $file = readdir( $nDir ) ) )
{
if ( $file != "." AND $file != ".." )
{
if ( !is_dir( $dir . $file ) )
{
//если это не директория
$files [] = $file;
}
}
}

closedir( $nDir );
return $files;
}

Архивация документов

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
на странице сайта идёт раздача документов в формате Ворд
эти файлы я вручную закидываю на хост, те кто по умнее хотели бы эти документы скачивать в заархированом виде, так вот, чтобы мне этим не парится мне можно архивацию возложить на сервер?
или это я загнул? если можно то как?
код напишите, спасибо

Консультирует Коцюрбенко Алексей aka Жерар (Советник):

Здравствуйте, Ципихович Эндрю!

Подробнее: Архивация документов

*Создание документа MS PowerPoint

Удивительно, но при помощи COM технологии в PHP можно создавать не только статистические документы, но и мультимедийные презентации MS PowerPoint.

<?php

// создаем новый объект COM — powerpoint.application
$powerpnt = new COM("powerpoint.application");

//Создание новой презентации
$pres=$powerpnt->Presentations->Add();

//Добавление первого слайда
$pres->Slides->Add(1,12);

//Добавление другого слайда
$pres->Slides->Add(2,10);

//Добавление текстового окна
$pres->Slides[1]->Shapes->AddTextbox(1,20,50,300,40);

//Добавление звезды
$pres->Slides[1]->Shapes->AddShape(94,100,200,300,300);

//Сохранение презентации
$powerpnt->Presentations[1]->SaveAs("C:byeworld.ppt")
;
//Выход из MS PowerPoint
$powerpnt->quit();

?>

*Создание и откр. документа MS Excel

<?php

//создаем новый объект COM — excel.application
$excel = new COM("excel.application");

// Скрываем приложение MS Excel
$excel->Visible = 1;

$file = 'http://test1.ru/excel123.xls';

if (!copy($file, $newfile)) {
echo "не удалось скопировать $file…n";
}


$wkb = $excel->Workbooks->open("C:excel123.xls");

$sheet = $wkb->Worksheets(1);

//Выбираем активный лист и устанавливаем курсов в область ячейки (2, 4)
$sheet->activate;
$cell = $sheet->Cells(10,3);
$cell->Activate;

//Записываем в ячейку текст
$cell->value = 'Test2222';

//Сохраняем документ
$wkb->SaveAs("C:excel123.xls");

//Завершаем работу с MS Excel
$wkb->Close(false);
$excel->Workbooks->Close();
$excel->Quit();
unset($sheet);
unset($excel);

?>