file Upload con ridimensionamento

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Se lo modifico così mi da i soliti errori e mi dice impossibile salvare la miniatura
PHP:
<form action="php/Upload.php" method="post" enctype="multipart/form-data">
<input name="Filedata" type="file" id="Filedata" size="40"><br>
<input name="invia" type="submit" id="invia" value="invia">
</form>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.041
149
63
PR
www.borgo-italia.it
ciao
per scrupolo sono andati a riprovarlo e a me funzia.

The requested URL /dir/%3C?php%20echo%20htmlspecialchars($_SERVER[%27PHP_SELF%27]);?%3E was not found on this server.
un dubbio: ha messo il form nella stessa pagina php o hai messo il form in un'altra pagina tra l'altro con estenzione .htm (mi sembra probabile visto il tipo di errore)?
sia il form che la parte php devono stare nella stessa pagina php
se li dividi in due pagine al posto di
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post" enctype="multipart/form-data">
devi mettere il nome della pagina che ti fa l'immagine ridotta e cioè
<form action="pagina_che_riduce.php" method="post" enctype="multipart/form-data">

ricorda se la pag non ha estenzione .php l'interbrete non la prende in considerazione quindi quello che è compreso tra <?php ... ?> (tag compresi) viene interpretato dal bw come un semplice testo e nel caso tuo cerca una pagina che abbia quel nome assurdo
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Ho provato ma mi da sempre gli stessi errorri :O
ho inserito questo nella pagina questa volta con estensione.php
PHP:
<form action="php/Upload.php" method="post" enctype="multipart/form-data">
<input name="Filedata" type="file" id="Filedata" size="40"><br>
<input name="invia" type="submit" id="invia" value="invia">
</form>

ma mmi da sempre gli stessi errori e mi dice impossibile salvare la minuatura
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Questa è la pagina php cge contiene il form per Upload:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>prova upload</title>
</head>
 <body>
 <div class="up">
<form action="php/Upload.php" method="post" enctype="multipart/form-data">
<input name="Filedata" type="file" id="Filedata" size="40"><br>
<input name="invia" type="submit" id="invia" value="invia">
</form>  
 </body>
</html>

Questo è lo script php per uppare rinominare e ridimensionare la foto:

PHP:
<?php 
if(isset($_POST['invia'])){
    $percorso = '../Images/thumb/';
    $nome_file=basename( $_FILES['Filedata']['name'] );
    //qui necessita un controllo
    if($nome_file !=""){
        //echo"$nome_file";
        $uploadfile = $percorso.$nome_file;
        $sposta=move_uploaded_file( $_FILES['Filedata']['tmp_name'] ,$uploadfile );
        $thumbComp = 100;
        list($width, $height, $type, $attr) = getimagesize($uploadfile);
        $max_w=130;
        $max_h=130;
        $ratio = @min($max_w/$width,$max_h/$height);
        if ($ratio < 1){
            $w = @floor($ratio*$width);
            $h = @floor($ratio*$height);
            $thumb = imagecreatetruecolor($w,$h);
            $source = imagecreatefromjpeg($uploadfile);
            imagecopyresized($thumb, $source, 0, 0, 0, 0,$w,$h,$width,$height);
            $dir=$percorso."1.jpg";
            imagejpeg($thumb,$dir,$thumbComp)or die("Impossibile salvare la miniatura");
            unlink($uploadfile);
        }else{
            $renome = $percorso."1.jpg";
            //cancello le vacchia 1.jpg
            unlink($renome);
            //e carico la nuova
            $sposta=rename( $uploadfile ,$renome);
        }
    }else{
        echo "file non indicato<br /<";
    }
 }
?>

SCHEMA

httpdocs il file provaUpload.php contenente il form per l'upload
in una cartella chiamata php c'è lo script per ridimensionare la foto che si chiama Upload.php
poi c'è una cartlla chiamata Images che contiene una cartella chiamata thumb con dentro la foto 1.jpg

httpdocs
provaUpload.php
php
Uplaod.php
Images
- thumb
1.jpg
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.041
149
63
PR
www.borgo-italia.it
ciao
se è così
httpdocs
...|- provaUpload.php
...|- php
.......| - Uplaod.php
.........|Images
............|thumb
...............| - 1.jpg
il percorso da upload.php a 1.jpg è
PHP:
$percorso = 'Images/thumb/'; //images e thumb sono sottocartelle di php
se invece è cosi
httpdocs
...|- provaUpload.php
...|php
...|..- Uplaod.php
...|Images
........|thumb
..........|.. 1.jpg
PHP:
$percorso = '../Images/thumb/'; //images è allo stesso livello di php
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
è giusto il secondo ma mmi da sempre problemi
soliti errori e dice impossibile salvare la miniatura
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.041
149
63
PR
www.borgo-italia.it
ciao
piccolo dubbio: le librerie GD sono attive? guarda su ini.php se stai lavorando in locale le puoi attivare, se stai lavorando in remoto devi chiedere al tuo provider
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Ciao Borgo, scusa la mancata risposta ma attendevo la risposta del provider prima di dirti.
Si ho attive le librerie.
Lo script che sembra essere piu' adatto è questo mi da un solo errore ovvero questo alla riga 24 che non riesco ad interpretare:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '../Images/thumb/1.jpg' for writing: Permission denied in /home/site/domains/site.com/public_html/dir/php/Upload.php on line 24
Impossibile salvare la miniatura

PHP:
<?php 
 header('Cache-Control: no-cache');
 header('Pragma: no-cache');
 
 $foto="1.jpg"; 
 echo"$foto<br>";
 $percorso = '../Images/thumb/';
 $uploadfile = ''.$percorso.basename( $_FILES['Filedata']['name'] );
 $sposta=move_uploaded_file( $_FILES['Filedata']['tmp_name'] ,$uploadfile );
 $nomefileimmagine=$percorso.$foto;
 if($sposta){
 if (file_exists($nomefileimmagine)){
 unlink($nomefileimmagine);}
 $nuovofile=''.$percorso.$_FILES['Filedata']['name'];
 rename($nuovofile,$nomefileimmagine);
 echo($nomefileimmagine);
 }
 $img =$percorso.$foto;
 $thumbComp = 100; 
 list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
 $thumb = imagecreatetruecolor(130,130);
 $source = imagecreatefromjpeg($img);
 imagecopyresized($thumb, $source, 0, 0, 0, 0,130,130,imageSx($source),imageSy($source));
 imagejpeg($thumb, $img, $thumbComp) or die("Impossibile salvare la miniatura");
 
?>

Non è che per caso l'errore sta nel fatto che la variabile foto l'ho scritta prima della variabile percorso?
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Ora ho riprovato il tuo script mi carica la foto nella directori giusta ma non la rinomina ne ridimensiona :(
Comunque preferisco il tuo script è di gran lunga migliore e completo :)
Complimenti! se si elimina sto errore è fatta ma non riesco a codificarlo :(
credo che mi dica che non ci sono permessi ma ho dato permessi a tutto :O
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.041
149
63
PR
www.borgo-italia.it
ciao
credo di no
Warning: imagejpeg() [function.imagejpeg]: Unable to open '../Images/thumb/1.jpg' for writing: Permission denied in /home/site/domains/site.com/public_html/dir/php/Upload.php on line 24
verifica i permessi di scrittura delle cartelle
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Ciao Borgo, grazie mille funziona perfettamente.
Il tuo script ha sempre funzionato! il problema era che la foto 1.jpg non aveva i permessi 777
e il programma non riusciva evidentemente a lavorarci su appena ho dato i permessi alla foto
il programma ha elaborato perfettamente tutto :)
Grazie mille sempre geniale e disponibilissimo come al solito :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
D Upload file in cartella con progress bar PHP 6
xone Form con campi input text e upload file PHP 4
F Problema con upload di file PHP 1
M Adattare script di "form mail con upload file" al mio form mail HTML! PHP 7
G UPLOAD con controllo esistenza file Classic ASP 0
M upload file con progress bar PHP 10
S Upload file con IIS7? Web Server 0
M upload con nome file impostato PHP 4
Z Upload file con XMLHttpRequest Javascript 0
F Problema Upload file con Internet Explorer PHP 29
nicocade [help] upload file con php!!! PHP 1
L Modifica file upload in ASP Classic ASP 2
S Upload file senza doverlo selezionare PHP 2
G Upload file error Apache 0
R Modifica codice per l'upload di più file PHP 0
S [PHP] Upload stesso file PHP 14
G [PHP] upload file in server: percorso cartella PHP 2
M Upload 4 file php PHP 11
M [ASP] Upload file da form controllo Classic ASP 5
M [PHP] Nome file, upload e rinominare PHP 2
M [PHP] upload di un file esistente overwrite PHP 1
N [PHP] Test per l'upload di file attraverso un bot Telegram PHP 2
C [PHP] Problema upload file (multiplo) PHP 1
S [PHP] Upload file... PHP 6
P Barra upload file jQuery 1
giancadeejay [PHP] Aggiornare DB tramite UPLOAD file .csv PHP 39
V [PHP] upload di file in cartella e sua sicurezza PHP 137
T [ASP] upload file Classic ASP 3
V File upload.php della guida, ma ha un errore PHP 8
M Fare upload di file scegliendo la cartella di destinazione PHP 78
M rinominare file in upload PHP 3
Y script per upload file PHP 9
Devil-94 rimuovere i spazi del file in upload... PHP 1
R Problema upload file PHP 1
S Indicare una directory di destinazione per l'upload di un file PHP 1
M Errore nell'Upload di un file PHP 0
Nik Implementare script "upload file" nel proprio sito web... tramite google drive Javascript 1
francesco7 [Problema] esecuzione script Upload file in php PHP 0
I upload file php / javascript / mysql PHP 0
R upload file php PHP 5
P upload e rename file PHP 2
A Upload in App Android (sfoglia file) Sviluppo app per Android 1
F Errore filezilla upload file Hosting 1
R upload multiplo di file PHP 7
F upload file PHP 1
M Upload di n solo file in due cartelle diverse PHP 4
C ridurre dimensione file immagine prima dell'upload Javascript 0
P Upload file html speciale HTML e CSS 3
F pagina bianca upload file Joomla 0
A upload file PHP 14

Discussioni simili