Что такое функция 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 Ответить |