Gå til innhold

Hende ut bilde fra fil, og lagre den på server


Anbefalte innlegg

Skrevet (endret)

Jeg har en fil (ligger ved dette innlegget) som inneholder et bilde. Filen kan åpnes i WinZip, men er ikke en ZIP-fil. Er det mulig å hente ut bildet som ligger i filen, for så å for eksempel lagre bildet på serveren med PHP?

Untitled.utz

Endret av simenss
Videoannonse
Annonse
Gjest Slettet-df17e
Skrevet

Tror ikke helt jeg skjønte hva du mente !

 

Ehm.. Tenkte du på om du kunne hente ut bilde fra den fila med php om fila ligger på servern ?

Skrevet
Sjekk ut zip-funksjonene i PHP-manualen.

Med scriptet under får jeg følgende feilmelding: Warning: zip_open() [function.zip-open]: Cannot open zip archive zip.zip in E:\xampplite\htdocs\filer\zip\index.php on line 3

 

<?php
function unpackZip($dir,$file) {
  if ($zip = zip_open($dir.$file.".zip")) {
    if ($zip) {
      mkdir($dir.$file);
      while ($zip_entry = zip_read($zip)) {
        if (zip_entry_open($zip,$zip_entry,"r")) {
          $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
          $dir_name = dirname(zip_entry_name($zip_entry));
          if ($dir_name != ".") {
            $dir_op = $dir.$file."/";
              foreach ( explode("/",$dir_name) as $k) {
                $dir_op = $dir_op . $k;
                if (is_file($dir_op)) unlink($dir_op);
                if (!is_dir($dir_op)) mkdir($dir_op);
                $dir_op = $dir_op . "/";
                }
              }
          $fp=fopen($dir.$file."/".zip_entry_name($zip_entry),"w");
          fwrite($fp,$buf);
          zip_entry_close($zip_entry);
      } else
          return false;
      }
      zip_close($zip);
    }
 } else
    return false;

 return true;
}

unpackZip(NULL,'zip');
?> 

Skrevet
Finnes filen i den banen, og er den skrivebeskyttet?

Verken ZIP-filen eller index.php (som er i ZIP-filen) er skrivebeskyttet. Og filen ligger der ja.

Skrevet

Hmm. Var jo en veldig lite beskrivende feilmelding, da. Har aldri opplevd det før, men noen andre har kanskje det? Søk litt på google med feilmeldingsteksten, og se om du finner noen andre som har hatt samme problem.

Skrevet

Følgende fungerte:

 

<?php
function unpackZip($dir,$file) {
  if ($zip = zip_open($dir.$file.".zip")) {
    if ($zip) {
      mkdir($dir.$file);
      while ($zip_entry = zip_read($zip)) {
        if (zip_entry_open($zip,$zip_entry,"r")) {
          $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
          $dir_name = dirname(zip_entry_name($zip_entry));
          if ($dir_name != ".") {
            $dir_op = $dir.$file."/";
              foreach ( explode("/",$dir_name) as $k) {
                $dir_op = $dir_op . $k;
                if (is_file($dir_op)) unlink($dir_op);
                if (!is_dir($dir_op)) mkdir($dir_op);
                $dir_op = $dir_op . "/";
                }
              }
          $fp=fopen($dir.$file."/".zip_entry_name($zip_entry),"w");
          fwrite($fp,$buf);
          zip_entry_close($zip_entry);
      } else
          return false;
      }
      zip_close($zip);
    }
 } else
    return false;

 return true;
}

unpackZip(getcwd()."/",'zip');
?> 

 

Lagg merke til getcwd() i unpackZip(getcwd()."/",'zip');

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...