Ciao a tutti,
ho preso un dominio con aruba e quando provo ad inserire un file superiore di 3mb mi viene fuori questo errore:
il mio script di download immagini è questo:codice:Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 16000 bytes) in /web/htdocs/www..it/home/upload-file.php on line 37
da quello che ho capito l'errore avviene perchè uso più memoria di quella che ho a disposizione...codice:<?php session_start(); // se la sessione non è attivata reindirizza alla home page if(empty($_SESSION['u_name']) && empty($_SESSION['passw'])) header("Location:index.php"); $uploaddir = './Img/'; $file = $uploaddir . basename($_FILES['uploadfile']['name']); //controllo che è stato selezionato un file if(!is_uploaded_file($_FILES['uploadfile']['tmp_name'])){ echo "Non hai selezionato nessun immagine da inviare al server! Selezionane uno e riprova!"; exit(); } //controllo se il file esiste già sul server if (is_file($file)){ echo "Esiste già un immagine con lo stesso nome! Rinomina o cambia l' immagine e tenta nuovamente!"; exit(); } $w = 1280; $h = 1024; $src_tmp = $_FILES['uploadfile']['tmp_name']; $src = basename($_FILES['uploadfile']['name']); $size = getimagesize($src_tmp); //Prelevo l'estensione del file originale $est = substr($src, -3); $est = strtolower($est); //Creo la risorsa immagine GD2 $image = NULL; switch ($est) { case "jpg":{ if (imagetypes() & IMG_JPG) $image = imagecreatefromjpeg($src_tmp); } break; case "png":{ if (imagetypes() & IMG_PNG) $image = imagecreatefrompng($src_tmp); } break; case "gif":{ if (imagetypes() & IMG_GIF) $image = imagecreatefromgif($src_tmp); } break; } if ($image == NULL) { return FALSE; } $newwidth = $size[0]; $newheight = $size[1]; if( $newwidth > $w ){ $newheight = ($w / $newwidth) * $newheight; $newwidth = $w; } if( $newheight > $h ){ $newwidth = ($h / $newheight) * $newwidth; $newheight = $h; } $new = imagecreatetruecolor($newwidth, $newheight) or die("Problemi nella creazione dell'immagine"); imagecopyresampled($new, $image, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]); //Salvo la nuova immagine switch ($est) { case "jpg":{ if( imagejpeg($new, $file, 80) ){ echo "success"; } else { echo "error"; } } break; case "png":{ if ( imagepng($new, $file) ){ echo "success"; } else { echo "error"; } } break; case "gif":{ if( imagegif($new, $file) ){ echo "success"; } else { echo "error"; } } break; } imagedestroy($image); imagedestroy($new); ?>
ho guardato su phpinfo alle voci:
memory_limit 64M
upload_max_filesize 25M
in poche parole sbaglio qualcosa nello script per l'upload, o cos'altro?
Come posso risolvere?
Grazie ciao

Rispondi quotando