webew
Войти » Регистрация
 
PHP

Что такое функция pack?

14 июня 2013, 0:37
Автор: platedz
Как с ней работать?
Добавить комментарий
Отображение комментариев: Древовидное | Плоское

1234ru

А что требуется?
Есть конкретная задача?
То, что не убивает нас, делает нас инвалидами.
14.06.2013, 12:10
Ответить
NO USERPIC

platedz

Для начала

$retfile = pack("a1a*","f",file_get_contents("css.css")).pack("a1a*","f",file_get_contents("350.gif"));
var_dump(unpack("a1s/a*",$retfile));


Вот к примеру упаковал я два файла. А как мне их упаковать так, чтобы я мог их разделить? И имеет ли какое-либо значение в каком виде я их упаковывают. строка подойдет?
14.06.2013, 16:27
Ответить
NO USERPIC

rgbeast

Запишите содержимое файлов в массив.
$a[0] = file_get_contents("1");
$a[1] = file_get_contents("2");

Затем используйте serialize(), чтобы превратить в строку. Функция unserialize() вернет исходный массив.
14.06.2013, 17:28
Ответить
NO USERPIC

platedz

А играет ли роль, какой это файл? Это могут быть любые файлы exe, php, gif и тд.
14.06.2013, 17:40
Ответить
NO USERPIC

rgbeast

Могут быть любые файлы и вообще говоря любые массивы или хэши PHP, которые могут в качестве элемента также содержать массивы.
14.06.2013, 17:49
Ответить
NO USERPIC

platedz

Большое спасибо за ответ
14.06.2013, 17:53
Ответить
NO USERPIC

platedz

А еще такой Вопрос. Нужны ли там всякого рода метки, навроде владельца файла, времени создания и тд или они не играют роли особенно при распаковке?
14.06.2013, 18:02
Ответить
NO USERPIC

rgbeast

Упаковываете вы не файлы, а массив строк, в которых содержимое файлов. Если нужны еще какие-то параметры, запишите их тоже в массив. Если нужен просто упаковщик файлов, используйте shell-команду unix: tar.
14.06.2013, 18:07
Ответить
NO USERPIC

platedz

Как таковые данные мне не нужны. Мне главное, чтобы то, что я упаковал, можно было бы обратно записать в файлы, и эти файлы корректно работали. Файлы могут быть абсолютно любые. Подойдет ли такой способ? Не возникнет ли проблем?

Возможности шелкоманды запустить нет?
14.06.2013, 20:17
Ответить
NO USERPIC

rgbeast

Можно записать обратно в файлы. Будут работать, но вообще говоря проще это проверить на нескольких бинарниках. Проверка на реальных файлах даст больше, чем любое теоретическое подтверждение.
14.06.2013, 21:01
Ответить
NO USERPIC

platedz

Ясно. Спасибо. Попробую. Я проверить то проверю, но мало ли...
14.06.2013, 23:12
Ответить
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100