|
|
|
| Не как не могу подключить расширение =(
; Каталог, в котором хранятся динамически загружаемые расширения.
extension_dir = "/usr/local/php/extensions"
; Следующая директива разрешает или запрещает использование функции dl().
; Функция dl() работает неправильно в многопоточных Web-серверах,
; например, в IIS или Zeus, и автоматически отключается для них.
enable_dl = On
В каталоге оно лежит, но в phpinfo его нет. Что делать? | |
|
|
|
|
|
|
|
для: Akira
(15.07.2005 в 21:54)
| | extension=php_zip.dll
Вопрос снят. | |
|
|
|
|
|
|
|
для: Akira
(15.07.2005 в 22:11)
| | Теперь появился новый. Не работает. Пишет не могу открыть зип файл, в чем может быть дело? | |
|
|
|
|
|
|
|
для: Akira
(15.07.2005 в 22:41)
| | У меня тоже не получилось ни разу... у меня есть подозрение, что он под какой-то формат заточен - иногда zip архивированный одним архиватором не открывается другим - может в этом дело... | |
|
|
|
|
|
|
|
для: cheops
(15.07.2005 в 23:30)
| | Ха-ха а вот и нет :( Решил, чем черт не шутит, запущу на хостинге, :(( заработало, рвал волосы на голове, понял почему большинство программистов лысые...
Думаю собирать в ручную mysql apache php. | |
|
|
|
|
|
|
|
для: Akira
(16.07.2005 в 00:48)
| | Я юзаю свой класс zip и он не привязан ни к каим dll а просто в PHP коде и зипует отлично, на локалке раззиповываю без проблемм.
Мне это надо когда прога автоматом дампы на мыло шлет раз в два дня.
Правда я поленился писать код раззиповки на серваке, а только зазиповки, но если время будет и народу понадобится, то могу дописать. | |
|
|
|
|
|
|
|
для: XPraptor
(16.07.2005 в 03:30)
| | я все это видел, мне нужно именно пользоваться zip.dll т.к. на хостинге именно он. | |
|
|
|
|
|
|
|
для: Akira
(16.07.2005 в 11:57)
| | Дык, я тебе и говорю, что на хостинге хоть конь в валенках, клас не привязан к .dll он зипует алгоритмом на PHP. На любом бесплатном хостинге нет zip.dll а классом можно зиповать везде. | |
|
|
|
|
|
|
|
для: XPraptor
(16.07.2005 в 15:20)
| | Мне не zip надо , а unzip. | |
|
|
|
|
|
|
|
для: Akira
(16.07.2005 в 15:25)
| | Дык, и про это я тебе говорил - что мне не надо было, я и не писал, но написать могу. Какая мне разница зазиповывать кодом текст или раззиповывать из зазипованного мною же кода в текст. | |
|
|
|
|
|
|
|
для: XPraptor
(17.07.2005 в 21:48)
| | XPraptor а вы действительно напишите, а мы это в downloads выложим - вещь-то нужная... | |
|
|
|
|
|
|
|
для: cheops
(17.07.2005 в 21:56)
| | ОК cheops! Немного бессонницы и постараюсь решить данный момент. Скорее всего код будет привязан к своему формату и многие внешние zip-ы понимать не будет, потому как они стандарты меняли уже раз 10 а у меня описание формата четырехлетней давности от которого отталкиваться можно. | |
|
|
|
|
|
|
|
для: XPraptor
(18.07.2005 в 04:19)
| | будем ждать :) | |
|
|
|
|
 12.4 Кб |
|
|
для: cheops
(18.07.2005 в 12:20)
| | Знал бы что такие грабли с этим зипом - не брался бы за писаниину.
Я думал что я все знаю о регистрах и стэке, а также об операциях в памяти - оказалось что ничего!
Был унижен французскими братьями хацкерами, оскарблен и опозорен.
Млина, ну не знаю я как создать средствами PHP в памяти двойной непрерывный поток и потом призвести смещение между двумя массивами не используя переменных. В C++ или асме на раз это делается, а в PHP пререыл все - даже близко не нашел. Еще получил головную боль с реализацией на PHP функций с callback вызовом - но потом вроде справился.
В принципе, можно теперь любой код из C++ и VB переводить в PHP без проблемм.
Пришлось братьям французам (за что им скажем большое спасибо) объяснять мне на пальцах как это делать и писать за меня часть кода. Так что господа - 30% кода - это заслуга коллег хацкеров из доброй страны Франция, а только 70% моя.
Зато теперь можно с байтами извращаться как угодно - создавать архивы, удалять файлы внутри архивов, добавлять файлы внутрь архива, распаковывать весь архив или определенные файлы, паковать каталоги с файлами и подкаталогами, сохранять пути при распаковке каталогов, и не сохранять пути - в общем все что умеет WinZip7.0 умеет и данный класс.
Понимает все форматы архивов вплоть до zip8.0.
Так как народу просто надо было раззиповать, то пока напишу как разархивировать файлы из архива, потом будет время напишу хэлпик по классу.
Юзать так: создаем файл например test.php в нем пишем код и при его вызове будет распакован архив по указанным параметрам.
<?php
//инклюдим класс
include_once("xpraptorzip.php");
//указываем путь к архиву
$flname=$_SERVER["DOCUMENT_ROOT"] . "/folder_gde_zip_legit/name_zip_file.zip";
//получаем хэдр нашего архива
$archive = new XPRAPTORZIP($flname);
//'zips' - это в какую папку распаковывать файл относительно положения вызывающего файла.
//Если не указать ничего то архив будет распакован в тот же каталог откуда вызван класс, вот так
//if ($archive->extract() == 0){die("Ошибка: " . $archive->errorInfo(true));}
if ($archive->extract(XPrptrZIP_OPT_PATH, 'zips') == 0){die("Ошибка: " . $archive->errorInfo(true));}
print "Распаковка завершена!<BR>\n";
?>
|
| |
|
|
|
|
|
|
|
для: XPraptor
(16.07.2005 в 15:20)
| | Вообще смысл был с том, что бы закачивать зип файлы, а они потом распоковывались на сервере. | |
|
|
|
|
|
|
|
для: Akira
(15.07.2005 в 22:41)
| | Выяснил, полноченная работа возможна тольлко под Юникс.
В windows возможно только чтение не сжатых zip файлов | |
|
|
|
|
|
|
|
для: Akira
(17.07.2005 в 13:32)
| | Это понять можно - читать то как? Или можно читать только архивы заархивированные самим расширением, а не сторонними программами? | |
|
|
|