E' uno script diviso in 2 parti, ti posto quella relativa all'upload che è quella che sto cercando di verificare adesso, l'altra si riferisce alla possibilità di richiamare le immagini per cancellarle dal server quando le tolgo dalla nes (ma se non mi funziona questa non potrò andare a verificare l'altra.
Codice PHP:
<?php
$url = 'images/'.time()."_".$_FILES['upload']['name'];
$allowtype = array('bmp', 'gif', 'jpg', 'jpe', 'png'); // elenco estensioni accettate
if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
{
// se non trova il file
$message = "Nessuna immagine caricata.";
}
else if ($_FILES['upload']["size"] == 0)
{
// se il file risulta vuoto c'è stato un errore nel caricamento
$message = "Il file ha una dimensione pari a 0.";
}
else if (($_FILES['upload']["type"] != "image/pjpeg") AND ($_FILES['upload']["type"] != "image/jpeg") AND ($_FILES['upload']["type"] != "image/gif") AND ($_FILES['upload']["type"] != "image/png"))
{
// se il file non rispetta il formato da noi specificato
$message = "Il formato deve essere JPG PNG o GIF. Per favore controlla di aver selezionato un formato immagine corretto.";
}
else if (move_uploaded_file($_FILES['upload']["tmp_name"]))
{
// in caso di altri errori
$message = "Non è stato possibile caricare il file, qualcosa è andato storto";
}
else
{
// se non ci sono errori procediamo e annulliamo la variabile di errore
$message = "";
// Creo la variabile $uploadedfile e le dò il valore del file caricato
$uploadedfile=$_FILES['upload']['tmp_name'];
// Creo l'immagine da rielaborare
$src = imagecreatefromjpeg($uploadedfile);
// Leggo i valori larghezza e altezza dell'immagine caricata
list($width,$height)=getimagesize($uploadedfile);
// imposto la larghezza a 250px
$newwidth=250;
// con questo calcolo ottengo la larghezza giusta in base all'aspetto dell'immagine e della mia larghezza impostata
$newheight=($height/$width)*$newwidth;
// ora creo il contenitore con la nuova dimensione ottenuta
$tmp=imagecreatetruecolor($newwidth,$newheight);
// copio l'immagine e la ridimensiono nel nuovo contenitore
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
// creo il jpg con qualità al 100%
imagejpeg($tmp,$url,100);
// elimino il file da rielaborare in quanto non più necessario
imagedestroy($src);
// ora elimino il file temporaneo
imagedestroy($tmp);
// Se ci sono dei problemi durante la creazione del file probabilmente i permessi di scrittura non sono corretti quindi effettuiamo un ultimo controllo
if(!$tmp)
{
$message = "Errore durante lo spostamento del file. Potrebbe essere un problema di permessi in lettura/scrittura.";
}
// Associamo il numero funzione di CkEditor a una variabile
$funcNum = $_GET['CKEditorFuncNum'] ;
// ora lo script si occuperà di passare il messaggio generato o la foto caricata a CkEditor
echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($funcNum, '$url', '$message');</script>";
}
?>
Il file lo carica e mi riconosce l'url, infatti nella directory trovo un'immagine col nome del file caricato, però quando la apro mi da l'errore di cui h oscritto sopra, mentre nella textarea dell'editor mi segna un quadrato bianco al posto dell'immagine