resize anticipato

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
salve a tutti sono sempre presente con nuovi (?) ed entusiasmanti problemi
sempre e comunque caricamento foto

Ho fatto uno script con cui uploado delle foto e con l'ottimo suggerimento di eliox & C rinomino la foto col nome del record che vado ad inserire
e sin qui nessum problema (anche perchè utilizzo solo jpg).
Preparo la/le foto sul mio computer riducendole entro la grandezza che mi serve (250x190).
Quindi prima di caricare devo comunque fare il (noioso) lavoro di ridimensionamento, per tre o quattro ok, ma quando diventano di più....

Ho pensato di resizarle, NON fare una tumb ed avere foto grande + una piccola, ma solo una e caricarla gia resizata.
Ho provato prima la via più semplice facendo la tum e mi trovo (giustamente) nel server locale pic_99.jpg e 99.jpg.
Sto cercando di conoscere, prima di caricare, le dimensioni della foto e tramite lo scripit che ho copiato da garau (che funziona nel caso sopra detto)
ridimensionarle

ma se scrivo (ho tolto le @ per vedere i messaggi di errore) per ricavare W e H

list($width, $height, $type, $attr) = getimagesize($_FILES['foto']['name']); //(linea 74)

mi dice che in

Warning: getimagesize(barche.jpg) [
function.getimagesize
]: failed to open stream: No such file or directory in C:\AppServ\www\gianni\catalogo\per_login\insertArticoliConResize.php on line 74

pur essendo un po' duro di comprendonio mi sembra di aver capito che getimagesize() funziona
se ho di gia la foto grande nella cartella del server (?)

forse potrei

eliminare (1) la foto grande che non mi serve e occupa spazio inutile
e cambiare i nomi degli src nella tabella db o rinominare la foto piccola
(nel campo FOTO della tabella ho: <img src="catalogoNuovo/77.jpg">
con (circa) echo $row['FOTO'];

un consiglio

(1) esiste la funzione delete(nome_file) , penso di si ma quale è il nome?

p.s.
quando mi collego al forum il programma mi ringrazia del collegamento, ma si sa i programmi non sono intelligenti, chissa cosa pensano i moderatori
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
I moderatori ormai tremano solo a vedere il tuo nome comparire nella lista dei 3D :);
getimagesize funziona correttamente anche con immagini inviate tramite metodo ($_FILE), prova a fare una stampa di $_FILES['foto']['name'] magari è vuota.

Delete in PHP non esiste, ma puoi usare unlink
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
e allora tremate

questo è il codice

echo "<br> stampo il nome file<br>";
echo $_FILES['foto']['name'];
echo "<br>";
echo "<br> stampo il size file<br>";
echo $_FILES['foto']['size'];
echo "<br>";
echo "<br> stampo il tipo file<br>";
echo $_FILES['foto']['type'];
echo "<br>";

list($width, $height, $type, $attr) = getimagesize($_FILES['foto']['name']); //line 82

echo "<br>AA".$width."x".$height."-T-".$type."--Att-".$attr;


e questo il risultato

stampo il nome file
sapori-15.JPG

stampo il size file
99041

stampo il tipo file
image/pjpeg

Warning: getimagesize(sapori-15.JPG) [
function.getimagesize
]: failed to open stream: No such file or directory in C:\AppServ\www\gianni\catalogo\per_login\insertArticoliConResize.php on line 82

AAx-T---Att-0 x 0
A
sapori-15.JPG

/catalogoNuovo

verificare i permessi //questa non la capisco in quanto nel momento in cui caricavo senza cercare di resizare le foto
vengono caricate normalmente


dal form i dati arrivano, ma si bloccano, sembra, su getimagesize
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
fatto un piccolo passetto tra l'altro può essere utili ad imbranati come me

list($width, $height, $type, $attr) = getimagesize($_FILES['foto']['tmp_name']); //line 82

ci vuole il tmp_name

ora il problema (che sembrava da poco) è quel verificare i permessi

questa funziona (almeno sembra non so come verificare)

@imagecopyresized($thumb,$_FILES['foto']['name'],0,0,0,0,$w,$h,$width,$height);

cioè copio l'immagine dentro $thumb (è così?)

if(@is_uploaded_file($_FILES['foto']['tmp_name'])){
@move_uploaded_file($thumb,"catalogoNuovo/".$nuovo_nome)
or die("verificare i permessi");


}
è giusto mettere $thumb in quella posizione?


sono ben accetti oboli ma soprattutto suggerimenti
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
OK ma ho un piccolo dubbio.
il resizze usa le librerie GD, ma, se non ho capito male, aruba su piatt windows non le ha attivate
non vorrei fare tutto il lavoro per nulla. o spabglio

grazie sempre e comunque
ormai ritemnno i 3D come 3cani (intesa come enciclopedia)
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Metti on lune un file, ad esempio info.php, con questo codice:
PHP:
<?php
phpinfo();
?>
così puoi controllare se le GD sono abilitate
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ho provato, masembra che non ci sia nemmeno la sezione quasi non esistessero le librerie (sul mio subito dopo fpt trovo gd), su aruba gd non esiste
mi sa che ho fatto del lavoro per nulla a meno (da quello che ho intraletto) non passi a piattaforma unix (ma non so cosa comporti)

comunque indipendentemente

auguri di buona pasqua a te e a tutti i moderatori
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
auguroni anche a te Borgo!

P.S.: subito dopo le feste ti banno
 

Discussioni simili