ugrás a tartalomhoz

ZIP állományból fájl törlése PHP-vel

peachman · 2011. Jan. 29. (Szo), 16.09
Egy PHP által összerakott állományból szeretnék időnként 1-1 fájlt törölni.
Gondolom nem bonyolult dolog megoldani, de valamilyen okból csak beletenni, illetve olvasni sikerül belőle.
Nem találtam semmi működő leírást róla.
Örülnék pici segítségnek, hogy miként oldható meg a probléma.

Köszönöm!
 
1

ZipArchive::deleteIndex,

Poetro · 2011. Jan. 29. (Szo), 16.19
2

ZipArchive::deleteName

peachman · 2011. Jan. 29. (Szo), 18.57
Igen, erre gondoltam én is, de nem tudom milyen okból, nem töröl ki semmit.
Név alapján próbáltam, az index dolgot nem egészen értem.
Egy sorszámot ad a fájloknak és ez alapján törölhetek?

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteName('kep1.jpg');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
Ezzel próbáltam, de a kép benne maradt.

-----------------------------------------

// belepakoló
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('kep1.jpeg', 'kep1.jpeg');
    $zip->addFile('kep2.jpeg', 'kep2.jpeg');
    $zip->addFile('kep3.jpeg', 'kep3.jpeg');
    $zip->addFile('kep4.jpeg', 'kep4.jpeg');
    $zip->addFile('kep5.jpeg', 'kep5.jpeg');
    $zip->close();
    echo 'ok<br />';
} else {
    echo 'failed<br />';
}

// töröl
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteName('kep1.jpeg');
    $zip->deleteName('kep2.jpeg');
    $zip->deleteName('kep3.jpeg');
    $zip->deleteName('kep4.jpeg');
    $zip->deleteName('kep5.jpeg');
    $zip->close();
    echo 'ok<br />';
} else {
    echo 'failed<br />';
}

Ezzel próbálkozok, de nem töröl.
3

jpg != jpeg

TeeCee · 2011. Jan. 30. (V), 09.35
Ezt láttad?
4

Láttam

peachman · 2011. Jan. 30. (V), 11.54
Igen, akkor az volt a fájl neve.
Közben az derült ki, hogy az utolsó fájlt valamiért nem képes kitörölni.
Csináltam bele fixen egy txt fájlt, ami mindig benne marad, aztán így az összes képet ami belekerül e mellé ki is tudja törölni.
Valamiért 1db-nak benne kell maradnia.