Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Архивы tar.gz
 
 автор: gumplen   (04.09.2009 в 19:01)   письмо автору
 
 

Здравствуйте. Нужно разархивировать архив на сервере средствами пхп.
Делаю следующим образом:
system("tar zvfx путь_к_файлу/файл.tar.gz");

После этого мне выводится список файлов архива и все.
Делал так:
exec("tar zvfx путь_к_файлу/файл.tar.gz");

вообще никакой реакции.

В общем не судите строго, подскажите что не так?

  Ответить  
 
 автор: heed   (04.09.2009 в 23:45)   письмо автору
 
   для: gumplen   (04.09.2009 в 19:01)
 

var_dump(ini_get('disable_functions'));
показывает что-то отличное от string(0) "" ?
и каким образом выводится результат , если нет echo , и нет присвоения переменной

  Ответить  
 
 автор: Free_World   (07.09.2009 в 06:39)   письмо автору
 
   для: gumplen   (04.09.2009 в 19:01)
 

Попробуйте с ключом -xf, т.е
system("tar -xf dir/file.tar.gz");

  Ответить  
 
 автор: gumplen   (07.09.2009 в 13:56)   письмо автору
 
   для: Free_World   (07.09.2009 в 06:39)
 

1. var_dump(ini_get('disable_functions')); показывает string(0)
2.
>Попробуйте с ключом -xf, т.е
>
system("tar -xf dir/file.tar.gz");

Результат тот же.
Делаю так:
if(system("tar -xf /путь/nazvanie_arhiva.tar.gz")) {
echo "Пашет";
}else {echo "Не пашет";}
Выводит "Не пашет".

  Ответить  
 
 автор: gumplen   (07.09.2009 в 16:58)   письмо автору
 
   для: gumplen   (07.09.2009 в 13:56)
 

Что, никто не знает, в чем дело?
Пробовал разные комбинации ключей, но ничего не выходит. Получается только вывести содержимое архива через ключ v.

  Ответить  
 
 автор: Eugene77   (07.09.2009 в 19:26)   письмо автору
 
   для: gumplen   (07.09.2009 в 16:58)
 

Вам, кажется, вместо system надо использовать shell_exec

  Ответить  
 
 автор: heed   (07.09.2009 в 19:52)   письмо автору
 
   для: gumplen   (07.09.2009 в 16:58)
 

кстати Да ,)
я там немного неточно сказал насчёт echo , ввели в заблуждение примеры из старого мануала к php.
потом заглянув в новый увидел отличия описания функций

escapeshellarg — Escape a string to be used as a shell argument
escapeshellcmd — Escape shell metacharacters
exec — Execute an external program
passthru — Execute an external program and display raw output
proc_close — Close a process opened by proc_open and return the exit code of that process
proc_get_status — Get information about a process opened by proc_open
proc_nice — Change the priority of the current process
proc_open — Execute a command and open file pointers for input/output
proc_terminate — Kills a process opened by proc_open
shell_exec — Execute command via shell and return the complete output as a string
system — Execute an external program and display the output


и понял почему у меня echo exec('....'); выводит только последнюю строку
, но поднимать вверх тему не посчитал нужным

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования