Allora ragazzi, innanzitutto ciao!
Sto creando questo script PHP perchè devo fare una galleria dove per motivi prettamente layouttistici devo avere una misura fissa in altezza. Dopo aver risolto il problema postero il codice pulito pulito di modo che chiuque voglia possa usarlo. ovviamente uso librerie GD.
Il mio problema attuale è in locale (forse si manifesta solo in locale?) con EasyPhp dove gli upload funzionano. File Upload sul php ini è gia ON.
ecco il codice (è un lavoro in corso quindi non notate i vari print_r e print per debug):
Codice PHP:
<?
$uploaddir = 'upload/';
$userfile_tmp = $_FILES['uppato']['tmp_name'];
$userfile_name = $_FILES['uppato']['name'];
$tipofile=$_FILES['uppato']['type'];
print_r($_FILES);
$img = $userfile_tmp; // percorso al file dell'immagine
$dest = "upload/"; // directory di salvataggio delle immagini create
$hmax=200;
$grandimg=getimagesize($img);
$rappscala=$grandimg[1]/$hmax;
print "
$grandimg[0]
$grandimg[1]
$rappscala";
$imgl=round($grandimg[0]/$rappscala);
$imgh=round($grandimg[1]/$rappscala);
$imgcomp=80;
$imgfin= imagecreate($imgl,$imgh) or die ("impossibile creare");
print"
$imgl X $imgh";
$src = imagecreatefromjpeg($img) or die ("Impossibile aprire l'immagine originale");
imagecopyresized($imgfin, $src, 0, 0, 0, 0, $imgl, $imgh, imageSx($src), imageSy($src)) or die("Impossibile ridimensionare l'immagine");
imagejpeg($imgfin, $uploaddir, $imgcomp) or die("Impossibile salvare la miniatura");
?>
e questo è il codice HTML del campo input/file:
Codice PHP:
<form enctype="multipart/form-data" id="VetriForm" action="admin.php" method="post" ><div id="adgalleria">
<input type="file" name="uppato" size="16"/>
<input type="text" size="16" name="titolo">
<input type="submit" name="submit" value="Inserisci"/></p>
</div>
<div id="adnews"></div></form>
il mio problema è che eseguendo lo script mi da il seguente errore:
Warning: imagejpeg(): Unable to open 'C:\Programmi\EasyPHP1-8\www\prove\upload' for writing in c:\programmi\easyphp1-8\www\prove\admin.php on line 23
Impossibile salvare la miniatura
Sapete da cosa può dipendere? Dite che prima è meglio spostare il file dalla directory temp?