Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Re: [PHP] скачать файл с удаленного хоста

Здравствуйте!
Стоит такая проблема: необходимо скачать на локальный хост(где
расположен ПХП скрипт) файл, расположенный на другом сервере.
Пробовал разные способы, неполучалось.
Конкретно пробовал что-то вроде:
$f=fopen('http://server.com/file.zip', "r");
$buf=fread($f, filesize('http://server.com/file.zip'));
но, ествественно, лезет ошибка о невозможности поределить размер
файла.
Также пробовал
$f=file('http://server.com/file.zip');
for ($i=1; $i<=count($f); $i+=1) {
и т.д.

Ответить   Tue, 5 Oct 2004 19:06:34 +0300 (#240329)

 

Ответы:

Здравствуйте, keel.

Вы писали 5 октября 2004 г., 23:06:34:

А там есть ftp сервер?

Ответить   Thu, 7 Oct 2004 07:18:13 +0700 (#241378)

 

Hello,

Cуществует ли возможность поиска (и "выкусывания") текста из *.doc-файлов Microsoft
Word?

Есть куча Word-овских файлов, и нужно производить поиск по ним (просто необходимо
текст из них добавить в базу поиска, чтобы потом искать), а так как файлов очень
много
и все они большие, то кодирование текста в HTML ("Сохранить в формате HTML" не
подходит, так как
есть шаблон, в который все надо вписывать) может занять очень много времени...
Существует ли другой способ?

Заранее благодарен за помощь!

Best regards,
Alexey M

Номер выпуска : 3641
Возраст листа : 382 (дней)
Количество подписчиков : 479
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/241785
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Fri, 08 Oct 2004 18:06:11 +0400 (#241785)

 

Здравствуйте Alexey,

08.10.2004, 6:06:11 PM, Вы писали:

Microsoft

Упрощу вопрос - есть ли возможность работы с документами MS Word? Мне
это тоже крайне интересно. Но, мне кажется, в "стандартынх" модах PHP
поддержки этого формата нет.

ЗЫ Но моды для этого существую точно! Наверное, придётся просить
админа хостинга их установить :(

Ответить   Fri, 8 Oct 2004 23:55:40 +0400 (#241891)

 

Hello,

Вот в руководстве по PHP написано, что можно через COM:

<?php
// starting word
$word = new COM("word.application") or die("Unable to instanciate Word");
print "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//closing word
$word->Quit();

//free the object
$word->Release();
$word = null;

Но я как ни пытался с этим далеко так далеко и не продвинулся :(...
Может какие-то еще есть методы доступа к тексту документа?

Best regards,
Alexey M

Номер выпуска : 3655
Возраст листа : 385 (дней)
Количество подписчиков : 479
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/243126
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Mon, 11 Oct 2004 08:44:53 +0400 (#243126)

 

Здравствуйте !


Гм... а это все под винду работает ? В смысле - скрипт под
виндой запускается ? А то в *nix - ах т COM нету :-)

--
С уважением, Вахтуров Виктор.

Номер выпуска : 3658
Возраст листа : 385 (дней)
Количество подписчиков : 479
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/243158
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Mon, 11 Oct 2004 20:59:53 +0400 (#243158)

 

Hello,

Вообще-то оно даже под виндой не всегда нормально работает и запускается... :))
Но если серъезно, то да, эти функции доступны только для Windows версий интерпретатора,
причем у некоторых версий взаимодействие с COM происходит с ошибками (у меня
4.3.5 + WinXP + OfficeXP - вылетает!)

Сейчас пытаюсь действовать "в лоб":

$filename = 'your_file.doc';
if ( file_exists($filename) && ereg('DOC',strtoupper($filename)) ) {
//Read the File
$handle = fopen($filename, "r");
if (!$handle) { echo "Cannot read DOC file"; exit; }
$filesize = filesize($filename);
$handle = fopen ($filename, "r");
$doc = fread ($handle, $filesize);
fclose ($handle);
}

Ну, то есть тупо загоняю весь файл в массив, чтобы потом обращаться к каждому
байту, например так:
if(ord($doc{0}) != 0xd0 &&
ord($doc{1}) != 0xcf &&
...
ord($doc{7}) != 0xe1) {echo "Not a valid DOC file !!!"; exit;}

(формат - не уверен, надо будет глянуть на wotsit.org...)

Но есть ли еще какие-нибудь способы?

Best regards,
Alexey M

Номер выпуска : 3659
Возраст листа : 386 (дней)
Количество подписчиков : 484
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/243369
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Tue, 12 Oct 2004 08:55:22 +0400 (#243369)

 

Здравствуйте !

Может, в пхп просто кривая поддержка COM.


Кроме wotsit можно еще сюда: http://ru.openoffice.org/
посмотреть. Там есть, вроде, релизы под линукс => если
выдернуть оттуда конвертор...

Еще, вроде, в wordpad-e есть конвертилка из формата
word 6 в rtf (может, как нибудь поможет). исходники
вордпада - в примерах MSDN.

--
С уважением, Вахтуров Виктор.

Номер выпуска : 3665
Возраст листа : 386 (дней)
Количество подписчиков : 484
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/243801
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Tue, 12 Oct 2004 22:01:56 +0400 (#243801)

 

Microsoft Word?

Для этой задачи проще всего воспользоваться COM под Windows,
преобразовав документы в текст отдельной программой,
а затем добавлять в базу уже текст.

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

Возможность есть, но документация по формату довольно
объемистая. Ее можно найти в сети, по крайней
мере для Word 6 и Word 97 точно (ссылок
у меня, к сожалению, нет).

Есть библиотеки для доступа к файлам OLE2, используемым Word.
Раньше это была libole2, сейчас, насколько мне известно, проект
развивается в рамках libgsf (http://freshmeat.net/projects/libgsf/;
они как раз собирались делать обновления на основе
описания формата, обнаруженного в недрах
документации по longhorn).
Есть еще библиотека доступа к файлам OLE2
на Perl - laola. Но поддерживается ли она и
насколько хорошо написана я не знаю.

Номер выпуска : 3676
Возраст листа : 387 (дней)
Количество подписчиков : 484
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/244280
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Wed, 13 Oct 2004 18:18:05 +0400 (#244280)

 

Привет,

Попропуй CURL (See php manual).

Нужно в php.ini включить php_curl.dll

Upiter.

Номер выпуска : 3639
Возраст листа : 382 (дней)
Количество подписчиков : 479
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/241379
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   "Upiter_GOD" Thu, 7 Oct 2004 18:57:24 +0200 (#241379)

 

Здравствуйте Upiter_GOD,


Дело в том, что скрипт запускается на сервере хостера, доступа к
php.ini я не имею.

Ответить   Mon, 11 Oct 2004 18:45:44 +0300 (#243540)

 

Здравствуйте !


Может, попробовать через сокеты ?
Просто открыть сокет, ручками сформировать GET - запрос, заслать в
сокет, а потом - качать :-)

--
С уважением, Вахтуров Виктор.

Номер выпуска : 3666
Возраст листа : 386 (дней)
Количество подписчиков : 484
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/243803
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Tue, 12 Oct 2004 22:01:56 +0400 (#243803)