Ciao a tutti! Ho un nuovo, piccolo problemino, dopo quello del str_replace()...
Questa volta gioco con le immagini. Sto cercando di creare una galleria di immagini
tramite un upload fatto dagli utenti. Idea centrale dello script è di creare
un thumbnail (una versione ridotta) del file inviato in modo da caricare le anteprime piccole
più velocemente.
Nel file dove viene effettuato l'upload, tra le prime righe, c'è:
E nel file delle funzioni (un file che viene incluso all'inizio dello script)codice:<?php if(isset($_FILES['imagewn'])) { copy( $_FILES['immagine'] , "c:\\Intepub\\wwwroot\\public\\galleria\\" ); // Gira IIS createthumb($_FILES['imagewn']['tmp_name']); } ?>
c'è la definizione della funzione createthumb().
Prima ve la descrivo in breve (perchè in effetti è un aggregato di script più
piccoli trovati qui e là su internet e adattati alle mie esigenze): alla funzione
passo come parametro il nome del file e la cartella, e lei prende questo percorso
per ridurre l'immagine richiesta:
Quello che mi ritorna è proprio una finestra js con scritto "Impossibile trovare il file source"codice:<?php function createthumb($uploaded_file) { $unic_string = md5(time()); //Lo uso per attribuire un nome unico al filename # Controllo dell'estensione per vedere quale funzione utilizzare e definizione nomeunivoco $ext = strtolower(end(explode('.', $uploaded_file))); //Definizione VARIABILI $immgrande_path = "c:\\Intepub\\wwwroot\\public\\galleria\\"; $immgrande = "1_" . $unic_string . "." . $ext; $immpiccola_path = $immgrande_path; $immpiccola = "thumb_1_" . $unic_string . "." . $ext; $grandeabs = $immaginegrande_path . $immgrande; $piccolaabs = $immpiccola_path . $immpiccola; $httpurl_big = "http://localhost/public/gallery/$immgrande"; $httpurl_small = "http://localhost/public/gallery/$immpiccola"; $hG = 97; $wG = 127; rename("$immaginegrande_path/$uploaded_file", $grandeabs); if(file_exists($grandeabs)) { if ($ext == 'jpg' || $ext == 'jpeg') { createjpg_thumb() //Questa funziona } } else create_alert("Impossibile trovare il file source!"); //Questa è un'altra funzione che crea una finestra js di errore. }
Può essere che magari è Aruba che non lascia i permessi di fare questo? (Se state per rispondere che i percorsi per Aruba sono sbagliati: Lo so, i percorsi nello script con Aruba non funzionano :P)
Grazie 1000 in anticipo
Marco

Rispondi quotando