Как реализрвать? (на php)

Модератор: Модераторы разделов

Shield
Сообщения: 20
ОС: Ubuntu 9.10

Как реализрвать?

Сообщение Shield »

Люди, подскажите каким образом можно скопировать через пхп архив rar
вот пример

Код: Выделить всё

$filename = "test.rar"; //рар архив
$handle = fopen($filename, "r");
$file = fread($handle, filesize($filename)); //закрепляем содержимое рара в строке
fclose($handle); //закрываем
$fileT = "";
$q = strlen($file);
while($i<$q) {
$i++;
$fileT .= chr(ord($file[$i]));
}

$filename = "test2.rar"; //рар архив
$handle = fopen($filename, "w"); //создаём файл
fwrite($handle, $fileT);
fclose($handle); //закрываем

суть в том, что при такой системе архив становится битым, а нужно чтобы работало оба.
(соержимое файла ввиде строки обязательно нужно переправить через чар & орд или как нибудь по другому но с перепрвлением)
ЗЫ:пост исправлен в 30мин
Зачем мне это нужно? для реализации другой вещи(не обсуждается) нужно именно так сделать..(
Спасибо сказали:
Аватара пользователя
nuclear17
Сообщения: 117
ОС: linux/mac/win

Re: Как реализрвать?

Сообщение nuclear17 »

strlen не покатит. она определяет конец строки по 0х0. а в раре бинарные строки и на строку может быть несколько 0х0. + считывать лучше построчно, а то ни одной памяти не хватит
Спасибо сказали:
jura12
Сообщения: 275
ОС: ubuntu 11.04

Re: Как реализрвать?

Сообщение jura12 »

документацию читаете? http://www.php.net/manual/en/ref.filesystem.php

Код: Выделить всё

<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "failed to copy $file...\n";
}
?>
Спасибо сказали:
jura12
Сообщения: 275
ОС: ubuntu 11.04

Re: Как реализрвать?

Сообщение jura12 »

кроме этого http://www.php.net/manual/en/book.rar.php ничего делать нельзя
Спасибо сказали:
Shield
Сообщения: 20
ОС: Ubuntu 9.10

Re: Как реализрвать?

Сообщение Shield »

Скасибо, ещё один вопрос чтобы не создавать новую тему:
Как можно вывести изображение(и в какой формат лучше) чтобы качество было идеальный, чтобы каждый пиксель имел точное RGB(полностью совпадающее с тем что было на нём нарисовано)
Пример:

Код: Выделить всё

$im = imagecreatetruecolor(1, 1); //создали
$color = imagecolorallocate($im, ord("A"), ord("B"), ord("C")); //приписали цвет ввиде ордов фразы ABC
imagesetpixel ($im, 0, 0, $color); //покрасили пиксель
header ("Content-type: image/****");//начинаем вывод
image****($im); //выводим!!!
imagedestroy($im);//освобождаем память

//дальше следующая часть, когда мы уже сохранили этот пиксель на диск:

$im = imagecreatefrom****("image.***");
$color = imagecolorsforindex ($im, imagecolorat($im, 0, 0));
if(chr($color["red"]) == "A" && chr($color["green"]) == "A" && chr($color["blue"]) == "C") {
echo "ура!";
} else {
echo "Мде..";
}

Нужно сделать вывод+сохранение+загрузка БЕЗ ПОТЕРИ КАЧЕСТВА.
Заранее спасибо. Всем участникам беседы "спасибо" гарантированно.

Зачем? Хочется так вот сделать, вид хранения инфы.
Спасибо сказали: