Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Снять защиту с doc файла средствами php

Ответить
Настройки темы
[решено] Снять защиту с doc файла средствами php

Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38


Конфигурация

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: doc changes.doc
(41.5 Kb, 7 просмотров)
Есть файл (см. вложение) он лежит на сервере и содержит замены в расписании. Я пытаюсь представить его в виде html этим способом

Проблема в том, что файл открывается в режиме защищенного просмотра, а google отказывается работать с такими файлами.
Если открыть файл и Ctrl+A, Ctrl+C, Ctrl+V то полученный новый файл обрабатывается нормально

Вопрос: как средствами php привести файл к божескому виду (чтобы он нормально обрабатывался google)?

-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 13:58, 17-05-2012

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


то как открывается файл зависит от настроек ОС, смените настройки

Отправлено: 15:09, 17-05-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


ferget, на сервере под linux открывается нормально, но скрипт с ним все равно не срабатывает, а все работает если банально создать новый файл скопировав содержимое.

сам файл создается какой-то самописной программой, для генерации расписания

-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 15:18, 17-05-2012 | #3


Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


проблема решилось таким скриптом
PHP код: Выделить весь код

<?php

header 
('Content-type: text/html; charset=utf-8');

/**
 * Чтение из не совсем русского файлика DOC
 *
 */

// Отрубаем нах сообщения по ошибкам
error_reporting(0);

// Рабочий файлец
$file_name 'changes.doc';

// Проверяем наличие
if (file_exists($file_name)) {

    
// Пробуем открыть
    
$handle = @fopen($file_name'r');

    
// Если открылось
    
if ($handle) {

        
// Ключ вывода активной строки
        
$key FALSE;

        
// Читаем построчно
        
while (($buffer fgets($handle1024)) !== false) {

            
// Найден конец вывода
            
if (stripos($bufferchr(0)) !== false) {
                if (
$key$key FALSE;
            }

            
// Найдено начало текста - ПОД ЧЕРТОЙ
            
if (stripos($buffer'ПОД ЧЕРТОЙ') !== false) {
                
$key TRUE;
                
$buffer substr($bufferstrrpos($buffer'ПОД ЧЕРТОЙ'));
            }

            
// Найдено начало текста - НАД ЧЕРТОЙ
            
if (stripos($buffer'НАД ЧЕРТОЙ') !== false) {
                
$key TRUE;
                
$buffer substr($bufferstrrpos($buffer'НАД ЧЕРТОЙ'));
            }

            
// Вывод активной строки
            
if ($key) {

                
// Имитация таблицы
                
$buffer str_replace(chr(13).chr(13), '<table><tr><td>'$buffer);
                
$buffer str_replace(chr(07).chr(07), '</td></tr><tr><td>'$buffer);
                
$buffer str_replace(chr(07), '</td><td>'$buffer);

                
// Вырезаем левые символы
                
$buffer str_replace(chr(32), ' '$buffer);      // пробел
                
$buffer str_replace(chr(07), ''$buffer);       // звонок
                
$buffer str_replace(chr(09), ' '$buffer);      // табуляция
                
$buffer str_replace(chr(13), '<br />'$buffer); // перевод строки

                
$buffer iconv("windows-1251""UTF-8"$buffer);    

                echo 
$buffer '<br />';

            }

        }

        
// Закрываем
        
fclose($handle);

    }

} else exit(
'WTF?');

-------
Information must be free!
Нет границ, есть только препятствия

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:50, 17-05-2012 | #4


Deadooshka


Сообщения: 2514
Благодарности: 690

Профиль | Отправить PM | Цитировать


По ссылке работает только с simplexml-форматом, а приаттаченый файл вроде бинарный, и указанный скрипт парсит бинарный doc.
емнип simplexml - это "сохранить как - XML-документ" с нужным расширением.

Отправлено: 04:59, 18-05-2012 | #5



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Снять защиту с doc файла средствами php

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Снять защиту с PDF файла VladimirVE Хочу все знать 5 10-09-2011 17:34
Чем снять защиту с PDF-документа? dmytro77 Хочу все знать 2 06-05-2010 21:10
Как снять защиту системы? firedevil Хочу все знать 4 26-01-2010 22:23
Вопрос - Снять защиту Glaart Защита компьютерных систем 9 31-05-2009 00:10
Как снять защиту с документов SYSANIN Хочу все знать 4 08-06-2005 03:15




 
Переход