18.01 2010

Вообщем зделал

Автор: admin | Категории: С других источников


Вообщем зделал

вообщем зделал. но всеравно зип в начале нужно сохранить а потом только удалить! может еще что подскажите горе програмисту(зачем учится языку програмирования, когда можно посматреть как это делают другие!). $value ) { $$key=$value; } } else { foreach ( $HTTP_GET_VARS as $key => $value ) { $$key=$value; } } if (!$lang) { if (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) == ‘ru’) { $lang=ru; } else { $lang=en; } } require(“config. php”); require(“lang/”.$lang.”.php”); // Устанавливаем соединение с FTP-сервером if ($ftp_server) { if ($ftp_port) { if(!$connect = @ftp_connect($ftp_server, $ftp_port)) { error_mes(LANG_NO_CON); } else { if (!$loginOn = @ftp_login($connect, $ftp_user, $ftp_password)) error_mes(LANG_NO_REG); } } else { error_mes(LANG_PORT); } } else { error_mes(LANG_SERVER); } // Запрос файла на передачу if ($get) { @ftp_chdir($connect, $dir) or error_mes(LANG_ERROR_LOST); file_get($connect, $get, $tempdir, $dir); } // Если нет запроса, то продолжаем вывод списка $list = @ftp_rawlist($connect, $dir) or error_mes(LANG_ERROR_LOST); print “”; print “”.LANG_NAME.”".LANG_SIZE.”".LANG_DATA.”".LANG_TIME.”\n”; list_ftp($list); @ftp_close($connect) or error_mes(LANG_ERROR_LOST); print ” “; $time = date(“U”); print “$time”; function list_ftp($list) { // Получаем все файлы выбранного каталога, указаного в config. php // Выводим содержимое каталога foreach($list as $file) { // Разбиваем строку по пробельным символам // Примечание: файлы не могут содержать пробелы в имени list($acc, $bloks, $group, $user, $size, $month, $day, $time, $file) = preg_split(“/[\s]+/”, $file); if(substr($acc, 0, 1) == ‘-’) { print “”; print “”. $file. “”; print “”.file_size($size).”"; print “”. $month. “,” . $day. “”; print “” . $time. “”; print “\n”; } } } // Приобразовываем в нормальный размер function file_size($size) { $gb = 1024*1024*1024; $mb = 1024*1024; if ($size >= $gb) {$size = sprintf (“%01.2f”,$size/$gb) . ” GB”;} else if ( $size >= $mb ) {$size = sprintf (“%01.2f”,$size/$mb) . ” MB”;} else if ( $size >= 1024 ) {$size = sprintf (“%01.2f”,$size/1024) . ” KB”;} else {$size = $size. ” byte”;} return $size; } // Вывод ошибок function error_mes($mes) { print “Time: “. date(“U”) .”Message: $mes”; exit; } function file_get($connect,$get,$tempdir,$dir) { $fp = fopen($tempdir. $get, “w”); @ftp_fget($connect, $fp, $get, FTP_BINARY) or error_mes(LANG_ERROR_DOWN); fclose($fp); @ftp_close($connect) or error_mes(LANG_ERROR_LOST); $zip = new ZipArchive; $zipfile = $get.”.zip”; $res = $zip -> open($tempdir. $zipfile, ZIPARCHIVE::CREATE); $zip -> addFromString(“string. txt”, “Это строка, которая будет записана в файл string. txt, а сам файл помещен в архив”); // Файл file. txt будет помещен в архив под именем file_zip. txt $zip -> addFile($tempdir. $get, “$get”); $zip -> close(); header(“Content-disposition: attachment; filename=\”$zipfile\”"); header(“Content-type: application/octetstream”); readfile($tempdir. $zipfile); unlink($tempdir. $get); unlink($tempdir. $zipfile); exit; } ?> так в месте с отладкой и доработкой!

Понравилась статья? Получай обновления и будь всегда в курсе событий!
Подпишись на RSS или
blog comments powered by Disqus