Ciao a tutti!
Vorrei sapere come convertire un file con estensione .php (con header "image") in uno .png utilizzando il PHP.
Vi ringrazio.
Ciao a tutti!
Vorrei sapere come convertire un file con estensione .php (con header "image") in uno .png utilizzando il PHP.
Vi ringrazio.
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.
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.
Non comprendo, tu hai uno script PHP che genera un'immagine PNG e vorresti salvare quest'ultima in un file nel tuo spazio web?
Che libreria stai usando per generare l'immagine?
Ultima modifica di karl94 : 14-06-2012 alle ore 17.57.18
È 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
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.
Per ogni immagine:
- la mandi in output
- raccogli il contenuto del file con l'output buffering
- aggiungi il contenuto come nuova immagine allo zip con addfromstring()
Ultima modifica di dreadnaut : 14-06-2012 alle ore 18.12.17
Ecco il codice, io ho provato senza riuscirci.
EDIT PER dreadnaut: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)
?>
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