[PHP e FTP upload] controllo file allegato

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho fatto questo script tramite vari tutorial..

l'unico che mi manca il controllo dei file jpg , png , gif.

mi dite come posso fare??

uso classi esterne e settaggi esterni..

ecco il codice:

PHP:
if(isset($_POST['submit']))
{

$filep=$_FILES['userfile']['tmp_name'];   // <--  più meno forse devo controllare questi giusto?
$fname=$_FILES['userfile']['name']; // <--  più meno forse devo controllare questi giusto?
// make a connection to the ftp server
$conn_id = ftp_connect($ftp_server);


// login with username and password
$login_result = ftp_login($conn_id , $ftp_user_name , $ftp_user_pass);

// check connection
if((!$conn_id)||(!$login_result)){
echo "FTP connection has failed!" ;
echo "Attempted to connect to $ftp_server for user $ftp_user_name" ;
exit;
}else{
//echo "Connected to $ftp_server, for user $ftp_user_name" ;
}

/// upload a file
if (ftp_put($conn_id, ''.$ftp_remote_dir.'/'.strtolower(photo_dir($_POST["_intSezioneID"])).'/img_tmp/'.$fname, $filep, FTP_BINARY)) {
 $msg =  "successfully uploaded $fname\n";
 
	$img = new Image('../public/media/photo/'.strtolower(photo_dir($_POST["_intSezioneID"])).'/img_tmp/'. $fname);

    //creo l'immagine sorgente

    $result = $img->CreateSourceImage();
	$img->SaveProportionateImage('../public/media/photo/'.strtolower(photo_dir($_POST["_intSezioneID"])). '/img_big/' . $fname, IMAGE_QUALITY, IMAGE_HEIGHT);

        //salvo l'immagine con altezza 75 lasciandola proporzionata

    $img->SaveProportionateImage('../public/media/photo/'.strtolower(photo_dir($_POST["_intSezioneID"])). '/img_thumb/' .$fname, THUMB_QUALITY, THUMB_HEIGHT);
	//libero la memoria cancellando l'immagine sorgente
    $img->Free();
 
 
 
} else {
$error = "There was a problem while uploading $name\n";
}

// close the FTP stream
ftp_close($conn_id); 

}

vi ringrazio molto..

buona serata.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, puoi provare ad usare la funzione pathinfo()

ti restituisce un array con delle informazioni sul file

puoi recuperare l'estensione in questo modo

PHP:
$pathinfo = pathinfo($_FILES['userfile']['name']);

if($pathinfo['extension'] == 'png') {
    echo "questa è un immagine png";
}
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Ciao, puoi provare ad usare la funzione pathinfo()

ti restituisce un array con delle informazioni sul file

puoi recuperare l'estensione in questo modo

PHP:
$pathinfo = pathinfo($_FILES['userfile']['name']);

if($pathinfo['extension'] == 'png') {
    echo "questa è un immagine png";
}

ciao.. non devo recuperare nessun estensione dovrei controllare se l'utente manda l'immagine giusta ed invece se manda un programma (zip,exe,tar,gz,rar) il sistema dice che non può uplodare il file... etc..

come posso fare?

grazie mille e buona serata..
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
è dall'estensione del file che ne riconosci il tipo:

PHP:
    $array_file_consentiti = array('png', 'jpg', 'gif');
    
    $pathinfo = pathinfo($_FILES['userfile']['name']);

    if (!in_array($pathinfo['extension'], $array_file_consentiti)) {

        echo "questo file non è consentito";

    } else {

        echo "ok file corretto";

    }
 
Ultima modifica:

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ok, ma vedendo questo tutorial:
http://www.ebug.it/upload-file-con-php/#more-687

e il codice:

PHP:
$tipo_file = $_FILES['carica_file']['type'];

if ( $tipo_file == "image/jpg" || $tipo_file == "image/gif" || $tipo_file == "image/png" ) {
}else
} else {

echo "Tipo di file non riconosciuto";

}

non era questo?

non ci sto cappendo nulla qual'è il codice giusto.

che dici??

grazie mille e buona notte a domani..

caoo.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Va bene anche quello ma hai messo un else di troppo

PHP:
$tipo_file = $_FILES['userfile']['type'];

if ($tipo_file == "image/jpg" || $tipo_file == "image/gif" || $tipo_file == "image/png") {
    
} else {

    echo "Tipo di file non riconosciuto";
}

e prima lo hai chiamato userfile ora carica_file Attento a mettere sempre lo stesso name che hai dato all'input del form

Buonanotte:fonzie:
 
Discussioni simili
Autore Titolo Forum Risposte Data
peppoweb Upload FTP da PHP - Domanda PHP 1
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
N PHP e FTP PHP 9
L Ftp php webclient Altri Annunci 3
C prelevare immagine e caricarla tramite ftp in php PHP 2
C 10GB Free Hosting ASP/PHP/JSP/FTP MYSQL/MSSQL Hosting 0
diodo PHP e Server FTP PHP 1
Y FTP in php PHP 4
diodo PHP e gestione FTP PHP 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0

Discussioni simili