Ergebnis 1 bis 3 von 3

Thema: [PHP] GLib-Funktionen für mehrere Dateien

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [PHP] GLib-Funktionen für mehrere Dateien

    Jo, weder auf Selfphp noch auf der PHP-Referenz Seite fund ich eine geeignete Funktion. Auf der Referenz Seite nur für eine Datei.

    Ich brauche dringend eine Funktion mit der ich mehrere Dateien ( am besten sogar Ordner) in ein komprimiertes Format bringe. GLib viel mir als erstes ein, wenn jemand was genauer weiß über bz2 oder zip, kann er mir auch bescheid geben...

  2. #2
    Zitat Zitat von Crash-Override
    Jo, weder auf Selfphp noch auf der PHP-Referenz Seite fund ich eine geeignete Funktion. Auf der Referenz Seite nur für eine Datei.

    Ich brauche dringend eine Funktion mit der ich mehrere Dateien ( am besten sogar Ordner) in ein komprimiertes Format bringe. GLib viel mir als erstes ein, wenn jemand was genauer weiß über bz2 oder zip, kann er mir auch bescheid geben...
    Wenn du mit PHP zugriff auf die auf Shellebene agierenden Funktionen hast, verwende system("zip -r zieldatei ./quellpfad/");
    Das spart sicherlich erheblich Performance im Gegensatz zu einem PHP-Batch.

    ansonsten schau dir mal die Funktion gzencode() an. Ich hab nie versucht mit einer solchen Funkion ein Archiv aus einer oder mehrerer Datei(en) zu erstellen. Ich hatte bisher immer Shell-Zugriff.

  3. #3
    Zitat Zitat von Chocwise
    Wenn du mit PHP zugriff auf die auf Shellebene agierenden Funktionen hast, verwende system("zip -r zieldatei ./quellpfad/");
    Das spart sicherlich erheblich Performance im Gegensatz zu einem PHP-Batch.

    ansonsten schau dir mal die Funktion gzencode() an. Ich hab nie versucht mit einer solchen Funkion ein Archiv aus einer oder mehrerer Datei(en) zu erstellen. Ich hatte bisher immer Shell-Zugriff.
    Dummerweise habe ich weder Zugriff auf System noch auf Exec. Und wie es scheint schaft GLib nur Strings zu verschlüsseln. Also hab ich so gemacht:

    PHP-Code:
    $dir_to_pack "archive";
    $verz=opendir($dir_to_pack);
    while (
    $file readdir ($verz))  {
      if(
    $file != "." && $file != "..") { 
        
    $filei substr($file0strlen($file) - 4);
        
    $f fopen($dir_to_pack."/".$file,"r");
        
    $data fread($f,filesize("blogs/".$file));
        
    $outputer=$outputer."#**`&&".$dir_to_pack."/".$file."\n".$data;
      }

    closedir($verz);

    $fp fopen("x.temp""w");
    fwrite($fp$outputer);
    fclose($fp);

    $data1 implode(""file("backup.temp"));
    $gzdata gzencode($data19);
    $fname=$dir_to_pack.".gz";
    $fp fopen($fname"w");
    fwrite($fp$gzdata);
    fclose($fp);

    unlink("x.temp");
    echo 
    '<a href="'.$fname.'">'.$dir_to_pack.'.gz downloaden</a>'
    Zum verpacken, wobei $dir_to_pack das zu packende Verzeichnis enthält...

    PHP-Code:
    $file_to_unpack "x.gz";
    $zp gzopen($file_to_unpack"r");
    $inhalt "";
    while (
    $data gzread($zp8192)) $inhalt .= $data;
      
    $outputer $inhalt;
    $outputer explode("#**`&&",$outputer);
    for(
    $x=0;$x<count($outputer);$x++) {
      
    $out explode("\n",$outputer[$x]);
      if(
    $out[0] != '') {
        
    $f fopen($out[0],"w");
        for(
    $i=1;$i<count($out);$i++)
          
    fwrite($f,$out[$i]."\n");
      }

    Zum Entpacken. $file_to_unpack enthält den Dateinamen.

    Ich habe die Quelltexte 1:1 aus meinem Blog (sieh Sig ) übernommen, und hier schnell etwas allgemeiener umgeschrieben. Sie müssten funktionieren, sind aber nicht getestet.

    Ich übernehme Support falls die Skripte nicht gehen nur per PN.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •