- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema script php e upload immagini
-
Ciao gabriele1986,
intanto nella funzione mkdir dovresti impostare i permessi della cartella a 777.
Dopo verifica che i permessi siano realmente impostati a 777, in quanto a seconda della configurazione del server impostare i permessi delle cartelle con questa procedura potrebbe non essere possibile.
In seguito utilizzi la variabile che non contiene il percorso di upload bensi il valore restituito dalla funzione mkdir, quindi tenti di copiare nella cartella sbagliata.Ti sconsiglio l'utilizzo delle @ che ti nascondono gli errori e ovviamente non riesci a capire dove sono, ultimamente usarle sta diventando una moda, niente di più sbagliato...
-
Soto tornato ho provato sostituendo
$path_img = mkdir("upload",0700); $path_img = "c://programmi/EASYPHP35/sito_personale/portfolio/upload"
Ma nemmeno così le immagini sono visibili
-
Devi fare:
[php]
$path_img = mkdir("upload",0777);[/php]
-
Ho riprovato come hai detto tu ma non mi visualzza le immagini l'upload avviene correttamente ma anzichè caricare l'immagine nella cartella creata viene caricata nella cartella principale del sito web.
-
Devi modificare il percorso di destinazione della funzione copy.
-
Grazie ora funziona in parte ma non crea le miniature.
-
Stai passando il percorso corretto dell'immagine alla funzione makeThumb?
-
Ecco il codice della funzione per le migniature
<?php function makeThumb($path_img,$pic,$n,$t){ @list($width, $height, $type, $attr) = @getimagesize($pic); $max_w = 100; $max_h = 200; $ratio = @min($max_w/$width,$max_h/$height); // Verifico che l'immagine originale sia più grande delle dimensioni massime 100*100pxl if ($ratio < 1){ // Individuo le nuove dimensioni da assegnare all'immagine $w = @floor($ratio*$width); $h = @floor($ratio*$height); // creo una nuova immagine con le dimensioni appena calcolate $thumb = @imagecreatetruecolor($w,$h); if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);} elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);} elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);} // ridimensiono l'originale e salvo nella cartella di destinazione @imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$width,$height); if ($t == 'image/jpeg'){@imagejpeg($thumb,"$path_img/tb_".$n, 75);} elseif ($t == 'image/gif'){@imagegif($thumb,"$path_img/tb_".$n, 75);} elseif ($t == 'image/png'){@imagepng($thumb,"$path_img/tb_".$n, 75);} } } ?>
-
Nella variabile $pic hai controllato che ti arrivi il percorso corretto? Che con il file che richiama la funzione, secondo me, hai fatto un pò di confusione.
-
Si arriva il percorso corretto lo script funzionava poi da un momento all'altro a smesso di visualizarmi le miniature.
-
Magari togli tutte le @ che nascondono gli errori, cosi vediamo che errori genera e facciamo prima.
-
Tolte tutte le @ non genere nessun errore ma non mostra le miniature che non sia colpa di easyphp?