2013-06-26 3 views
1

У меня есть почтовый файл с именем project.zip со следующей структурой:Удалить файл из каталога в почтовом

project.zip 
    \project 
    \file.pdf 

Мне нужно удалить файл file.pdf. Я попробовал следующий код, но я получаю сообщение об ошибке.
Благодаря

$zip = new ZipArchive(); 

    $zip_name = 'path\to\project.zip'; 

    $zip->open($zip_name); 

    $zip->deleteName('project\file.pdf'); 

    $zip->close(); 

Я также попытался с ведущим обратной косой черты, но без успеха,

$ zip-> deleteName ('prject \ file.pdf');

+0

Пожалуйста, сообщите нам точное сообщение об ошибке, так как мы не можем вам помочь. – hexafraction

+0

Также вы написали «prject» вместо «project». –

+0

У вас есть достаточно прав на zip-файл? – luchosrock

ответ

1

использовать прямую косую черту:

$zip->deleteName('project/file.pdf'); 
+0

Нет, это тоже не делает. – Mosaic

+0

может быть, есть еще одна проблема. но в любом случае следует использовать косые черты. Можете ли вы распаковать почтовый индекс и опубликовать структуру каталогов? Тогда я мог бы помочь вам найти ошибку – hek2mgl

+0

Внутри project.zip У меня есть папка с названием project и внутри проекта. У меня есть файл .pdf – Mosaic

2

Это странно, но мне кажется, что вам нужно включить базовое имя файла почтового индекса в имени файла, как это:

$zip->deleteName('project/project/file.pdf'); 

попробовать что-то вроде это, чтобы посмотреть, как выглядят значения имени файла в вашем почтовом индексе:

for ($i = 0; $i < $zip->numFiles; $i++) { 
    $filename = $zip->getNameIndex($i); 
    echo $filename . "<br>"; 
} 

Также не забудьте закрыть почтовый индекс, когда вы закончите

$zip->close(); 
+0

Я получаю проект \ file1.pdf project \ file2.pdf project \ file3.pdf – Mosaic

+0

So обратная косая черта правильная для вас - вы должны быть в окнах, и я попробовал ее в Linux. Вы можете попытаться убежать с двойным обратным слэшем. Также не забудьте закрыть zip. – bitfiddler

+0

Я закрыл его и попробовал все, что он еще не работает. Получил тот же результат, когда попробовал? – Mosaic