powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как переименовать распакованный файл PCLZip
11 сообщений из 11, страница 1 из 1
Как переименовать распакованный файл PCLZip
    #37858686
ToRReDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте гуру php. помогите решить задачку
Файл на сервере распакован с помощью PCLZip
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function myPreExtractCallBack($p_event, &$p_header)
  {
    $info = pathinfo($p_header['filename']);
    if ($info['extension'] == 'xls') {
      $p_header['filename'] = '../price/price.xls';
      return 1;
    }
  }
require_once('func/pclzip.lib.php');
$archive = new PclZip('../price/'.$archive.'.zip');
    $list = $archive->extract(PCLZIP_OPT_PATH, '../price/',
                            PCLZIP_CB_PRE_EXTRACT, 'myPreExtractCallBack');
 


мне надо чтобы вместо "price.xls" была переменная $archive. в переменной $archive название поставщика он находится в базе.
$archive - это ключевое значение для дальнейшей обработки прайса...
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858789
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ToRReDo,

Не совсем понял. Тебе надо в функцию myPreExtractCallBack передать значение $archive (имя поставщика) и вместо '../price/price.xls' сделать '../price/'.$arhive.'.xls'; ????
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858875
ToRReDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да да да
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858879
ToRReDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это мне и нужно я вчера пол ночи просматривал http://php.russofile.ru/ru/authors/unsort/zip/ ничего похожего не нашел
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858915
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ToRReDo,

А где ты пишешь в переменную $archive поставщика? Ты потом пере затираешь ее вот этим если я правильно понял
Код: php
1.
$archive = new PclZip('../price/'.$archive.'.zip');



попробуй задать по умолчанию имя фала в переменной функции.

function myPreExtractCallBack($p_event, &$p_header, $name = $archive) {

бла бла...

$p_header['filename'] = '../price/'.$name.'.xls';

}

дальше делаем
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858943
ToRReDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня в файле с формой unzip.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?php
if(isset($_POST["go"]))
{
    $archive = $_POST["go"];
    include( 'func/extract_archive.php' );
}
?>
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td>Распаковать архив:
            <form method="post">
               <input type="hidden" name="go" value="<?=$sklad?>" />
               <input type="submit" value='ZiP' />
            </form>
        </td>
    </tr>
</table>




extract_archive.php

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?PHP
function myPreExtractCallBack($p_event, &$p_header, $name=$archive)
  {
    $info = pathinfo($p_header['filename']);
    if ($info['extension'] == 'xls') {
      $p_header['filename'] = '../price/'.$name.'.xls';
      return 1;
    }
  }
require_once('func/pclzip.lib.php');
$zip = new PclZip('../price/'.$archive.'.zip');
    $list = $zip->extract(PCLZIP_OPT_PATH, '../price/',
                            PCLZIP_CB_PRE_EXTRACT, 'myPreExtractCallBack');
?>


$sklad - имя поставщика он берет из базы напрямую
$archive я сейчас заменил на $zip вставил - $name=$archive
пишет ошибку
Parse error: syntax error, unexpected T_VARIABLE in X:\home\localhost\www\newsite\admin\func\extract_archive.php on line 3
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858949
ToRReDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ToRReDoParse error: syntax error, unexpected T_VARIABLE in X:\home\localhost\www\newsite\admin\func\extract_archive.php on line 3

точнее "on line 2"
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858955
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ToRReDo,

Код: php
1.
$name=$archive;


а если так?
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37858979
ToRReDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu,

тоже самое
делал значит
function myPreExtractCallBack($p_event, &$p_header, $name='ttt')
сохраняет как ttt.xls

ставлю вместо $name='ttt' - $name=$archive ошибка
ставлю вместо $name='ttt' - $name='$archive' сохраняет как $archive.xls

перед function с помощь echo пробую выводить $archive все выводит
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37859001
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ToRReDo,

а че париться. Вот так:

Код: php
1.
$p_header['filename'] = '../price/'.$_POST["go"].'.xls';
...
Рейтинг: 0 / 0
Как переименовать распакованный файл PCLZip
    #37859017
ToRReDo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu,

Спасибо огромнейшее!!!!!! заработало!!!!!!!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как переименовать распакованный файл PCLZip
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]