- Home
- Categorie
- Coding e Sistemistica
- PHP
- Questo script di ridimensionamento è ok?
-
Questo script di ridimensionamento è ok?
Ciao a tutti. Volevo sapere se è giusto dove ho inserito questo script e se così funziona. A me interessa che l'utente inserisca un immagine di qualsiasi dimensione e lui la ridimensioni con una larghezza massima di 550 px.
Grazie[php]$filename = '.$nomefile.'.'.$formato';
$width = 550;
$height = 600;header('Content-type: image/jpeg');
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);imagejpeg($image_p, null, 100);
[/php]pagina.php
[php]<?php
error_reporting(0);
$dimensionemassimaimmagine='6000000';
$larghezzamassimaimmagine='3100';
$altezzamassimaimmagine='2000';//testo
$nomecognome=$_POST["nome_cognome"];
$stato=$_POST["stato"];
$localita=$_POST["localita"];
$data=$_POST["data"];
$commento=$_POST["commento"];if($nomecognome=="")
{
echo("
<p align='left'><font face='Arial' color='#FFCC00' size='3'><b>ERRORE</b></font></p>
<p align='left'><font face='Arial' size='2' color='#FFCC00'>Devi inserire il tuo nome e cognome.</font></p>
<p align='left'><font face='Arial' size='2' color='#FFCC00'><a href=java-script:history.back()>Torna indietro</a></font></p>");
}
else
{//immagine
include('connessione.php');
$result=mysql_query("select max(codice_viaggio)as massimo from viaggi", $conn);
$row=mysql_fetch_array($result);
$nomefile=$row["massimo"]+1;
if ($_FILES["file"]["type"] == "image/gif")
{
$formato='gif';
}if ($_FILES["file"]["type"] == "image/jpg")
{
$formato='jpg';
}if ($_FILES["file"]["type"] == "image/pjpeg")
{
$formato='jpeg';
}$filename = '.$nomefile.'.'.$formato';
$width = 550;
$height = 600;header('Content-type: image/jpeg');
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);imagejpeg($image_p, null, 100);
if (($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
&& ($_FILES["file"]<=$dimensionemassimaimmagine)
&& $larghezza<=$larghezzamassimaimmagine && $altezza<=$altezzamassimaimmagine)
{
$result=mysql_query("insert into viaggi(codice_viaggio, data_viaggio, nomeCognomeUtente_viaggio, codice_stato, localita_viaggio, commento_viaggio, pubblicato_viaggio, formatoImmagine_viaggio) values ('$nomefile', '$data', '$nomecognome', '$stato', '$localita', '$commento', 'n', '$formato')", $conn);copy($_FILES['file']['tmp_name'],'public/immagini_caricate/'.$nomefile.'.'.$formato); echo("
<p align='left'><font face='Arial' color='#FFCC00' size='3'><b>IMMAGINE CARICATA CORRETTAMENTE</b></font></p>
<p align='left'><font face='Arial' size='2' color='#FFCC00'>$nomecognome, la tua foto è stata salvata correttamente.</font></p>
<p align='left'><font face='Arial' size='2' color='#FFCC00'><a href=java-script:history.back()>Carica una nuova foto</a></font></p>
");
unlink($_FILES['file']['tmp_name']);
}
else
{
echo("
<p align='left'><font face='Arial' color='#FFCC00' size='3'><b>ERRORE</b></font></p>
<p align='left'><font face='Arial' size='2' color='#FFCC00'>$nomecognome, la tua foto non è stata caricata, controlla la dimensione, la lunghezza e l'altezza dell'immagine.</font></p>
<p align='left'><font face='Arial' size='2' color='#FFCC00'><a href=java-script:history.back()>Torna indietro</a></font></p>
");
}
}
?> [/php]
-
si, no, booo?
-
Non ci credo che nessuno sa darmi una mano...
-
Ciao gio4colo,
dicci prima qualcosa tu hai provato ad usare lo script? Funziona o da' qualche errore?
Facci sapere!
-
A me da una pagina vuota, con grafica ma senza scritte e/o errori e la foto non c'è nell'album
-
Ok, vediamo un po'..
Mi sembra che questa definizione
[PHP]$filename = '.$nomefile.'.'.$formato';[/PHP]
non vada bene.Prova con
[PHP]$filename = $nomefile.'/'.$formato;[/PHP]e fatti stampare la variabile con
[PHP]echo $filename;[/PHP]
-
Mi stampa
48/jpegIl chè è giusto, visto che assegna un nome numerico progressivo ad ogni immagine caricata, ma poi sullo stato non c'è..
Questo è la sezione kumbuka.it/flash.php
e qui dove si caricano le foto kumbuka.it/caricafoto.php
-
ma non deve essere 48.jpg?
quindi la stringa esatta è
$filename = $nomefile.'.'.$formato;
-
@Skyline said:
ma non deve essere 48.jpg?
quindi la stringa esatta è
$filename = $nomefile.'.'.$formato;
Hai ragione, ho fatto un po' di confusione, ma volevo dire questo.
Ora dovrebbe funzionare.
-
Non ho capito cosa è cambiato dal codice iniziale...
-
Il tuo codice contiene la sintassi errata
[php]$filename = '.$nomefile.'.'.$formato'; [/php]mentre la forma corretta e'
[php]$filename = $nomefile.'.'.$formato;[/php]come vedi son diverse
-
Non va, pagina vuota: nessun errore, nessun messaggio, nessuna foto.