Autor Zpráva
Darker
Profil
Mám zip archiv s touto strukturou
changelog.xml
DIR class
   - soubor1.php
   - soubor2.php
V souboru, který to parsuje mám specifikovány cílové cesty pro soubory 1 a 2. Chtěl bych udělat:
extrahuj($path1 (="inc/soubor1.php"), "class/soubor1.php")
A dostat soubor do dané složky a přepsat původní.
Udělám toto:
$archive->extractTo("inc/soubor1.php", "class/soubor1.php");  
Dostanu inc/soubor1.php/class/soubor1.php. To se mi moc nelíbí. jak přikážu třídě ignorovat vnitřní cesty a jména a pracovat se zadanými?
Davex
Profil
Ovlivnit metodu extractTo asi nepůjde, ale stačí si udělat vlastní a dát do cyklu něco jako

file_put_contents("inc/soubor1.php", $archive->getStream("class/soubor1.php"));
Darker
Profil
Omlouvám se, zapoměl jsem napsat, že už jsem to vyřešil - přesně tak, jak píšeš.
        function updateFile($fp ,$path) {
          $contents = "";
      while (!feof($fp)) {
          $contents .= fread($fp, 2);
      }
      fclose($fp);
      file_put_contents($path,$contents);
        }
updateFile($archive->getStream("class/soubor1.php"),"inc/soubor1.php");
Davex
Profil
Ten cyklus while je ale úplně zbytečný.
Darker
Profil
Davex:
File put contents umí pracovat s file pointerem místo dat?
Davex
Profil
Nejenom.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: