Visualizzazione risultati 1 fino 10 di 10

Discussione: [php] Convertire file.php in file.png

  1. #1
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Question [php] Convertire file.php in file.png

    Ciao a tutti!
    Vorrei sapere come convertire un file con estensione .php (con header "image") in uno .png utilizzando il PHP.
    Vi ringrazio.

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Vuoi forse fare in modo che sia accessibile da un URL in cui si legge come nome del file uno avente estensione png?
    Puoi usare modRewrite, oppure potresti spiegare ad Apache che i file (o uno specifico) con estensione png devono essere interpretati dal motore PHP.

  3. #3
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Scusatemi, il problema è cambiato.
    Adesso dovrei salvare un file immagine in .php in una cartella come un file con estensione .png.
    Quindi avendo sempre img.php?number=1 - con header "image" -, dovrei salvare questo file in una cartella come img_1.png.

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Non comprendo, tu hai uno script PHP che genera un'immagine PNG e vorresti salvare quest'ultima in un file nel tuo spazio web?

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    vorresti salvare quest'ultima in un file
    Sì, ma vorrei salvarla in una cartella.

    Mi spiego meglio: http://sito.it/img.php?num=1 andrebbe a finire in http://sito.it/cartella/img_1.png.

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Che libreria stai usando per generare l'immagine?
    Ultima modifica di karl94 : 14-06-2012 alle ore 17.57.18

  7. #7
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    È difficile da spiegare, è proprio così importante?
    Ecco un piccolo riassunto: sto usando uno script per dividere un'immagine. Dato che devo permettere il download di tutte le parti delle immagini, ho ottenuto un'array che contiene "slice.php?n=1, slice.php?n=2, slice.php?n=3 ecc.", solo che, quando creo un archivio ZIP per metterci dentro i files, lui non trova dei file che si chiamano effettivamente slice.php?n=1, slice.php?n=2..., poiché c'è un solo file che si chiama slice.php, e anche se, scaricherebbe il codice PHP della pagina. Quindi dovrei creare un file immagine "vero" che verrà salvato in una cartella, in modo da inserire il file corretto nell'archivio.
    (...e doveva essere un "piccolo riassunto"!)
    Grazie!
    Ultima modifica di radiodelmomento : 14-06-2012 alle ore 18.03.48

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Allora sarebbe meglio fornire alla libreria che comprime non i nomi dei file, ma il loro contenuto. Mi sembra improbabile che non ti permetta di fare una cosa simile.

  9. #9
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Per ogni immagine:
    1. la mandi in output
    2. raccogli il contenuto del file con l'output buffering
    3. aggiungi il contenuto come nuova immagine allo zip con addfromstring()
    Ultima modifica di dreadnaut : 14-06-2012 alle ore 18.12.17

  10. #10
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ecco il codice, io ho provato senza riuscirci.
    Codice PHP:
    <?
    /* creates a compressed zip file */
    function create_zip($files = array(),$destination = '',$overwrite = false) {
    //if the zip file already exists and overwrite is false, return false
    if(file_exists($destination) && !$overwrite) { return "Errore 1"; /*return false;*/ }
    //vars
    $valid_files = array();
    //if files were passed in...
    if(is_array($files)) {
    //cycle through each file
    foreach($files as $file) {
    //make sure the file exists
    if(file_exists($file)) {
    $valid_files[] = $file;
    }
    }
    }
    //if we have good files...
    if(count($valid_files)) {
    //create the archive
    $zip = new ZipArchive();
    if(
    $zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
    return
    "Errore 2";
    //return false;
    }
    //add the files
    foreach($valid_files as $file) {
    $zip->addFile($file,$file);
    }
    //debug
    //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;

    //close the zip -- done!
    $zip->close();

    //check to make sure the file exists
    //return file_exists($destination);
    return "Nessun errore";
    }
    else
    {
    return
    "Errore 3";
    //return false;
    }
    }
    ?>

    <!-- POI RICHIAMO CON -->
    <?
    $files_to_zip
    = $slice->show_zip(); // array che conterrebbe "img.php?n=1, img.php?n=2..."
    $result = create_zip($files_to_zip , 'my-archive.zip');
    echo
    $result; // Mi da errore 3 ("if we have good files", dunque capisce che quel file non esiste realmente)
    ?>
    EDIT PER dreadnaut:
    Quindi utilizzando ZipArchive::addFromString non c'è bisogno ti tutto quel codice che ho scritto qui sopra?!?
    Ultima modifica di radiodelmomento : 14-06-2012 alle ore 18.15.37

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •