Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: upload

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    upload

    ciao a tutti,

    come posso controllare se l'immagine caricata è un file jpg o meglio un file d'immagine ho provato con un semplice if ma non và :master:

    codice:
    <?PHP
    $path="C:\AppServ\www\img";
    	if( $UploadedFile != none )
    	{
    		//print("Nome del file: $UploadedFile_name 
    \n");
    		//print("Dimensione del file: $UploadedFile_size 
    \n");
    		//print("Tipo di file: $UploadedFile_type 
    \n");
    		if (copy( $UploadedFile , "$path/$UploadedFile_name" )){
    			//print "$UploadedFile_name copiato con successo!
    ";
    			if ($UploadedFile_type = "jpg") { 
    			   print "Il file è valido, e inviato con successo."; 
    			} else {
    			   print "IL FILE NON E' VALIDO"; 
    			}
    		}else{
    			print "Errore.. upload non riuscito
    ";
    		}
    		unlink($UploadedFile);
    	}else{
    		print "Errore.. nessun file.
    ";
    	}
    ?>

    Grazie mille a tutti

  2. #2
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110
    http://forum.html.it/forum/showthrea...hreadid=842312

    in qst topic, nella pagina due trovi qualcosa che ti può essere utile ... penso

  3. #3
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    io faccio così:

    1) prendo il nome del file
    $nome = $_FILES['userfile']['name'];

    2)

    estraggo l'estensione

    $estensione = explode(".", $nome);

    3) verifico

    switch($estensione[1])
    {
    case 'jpg'; break;
    case 'gif'; break;
    case 'pdf'; break;

    default: //errore
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    mm.. non riesco ad adattarlo mica hai un'esempio ho puoi aiutarmi

    grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    mm...

    sto facendo cosi ma adesso ricevo errore alla linea 15 (quella grassetto ma sinceramente rileggendonon capisco :master: )

    codice:
    <?php
    
    $uploaddir = 'C:\AppServ\www\imaginemenu\\';
    print "<pre>";
    if ($_FILES['type'] = 'jpg'){ 
    	print "file valido\n";
    		if  (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
       		print "Il file è valido, e inviato con successo.  Ecco alcune informazioni:\n";
       		print_r($_FILES);
      		 print_r ($_FILES['type']);
    		 }
    		} else {
      		 print "Possibile attacco tramite file upload! Alcune informazioni:\n";
      		 print_r($_FILES);
    	}else{
    	print "formato non valido";
    	}
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ops risolto solo che non ho capito perchè ilfile è sempre valido

    codice:
    <?php
    
    $uploaddir = 'C:\AppServ\www\imaginemenu\\';
    print "<pre>";
    if ($_FILES['type'] = 'jpg'){ 
    	print "file valido\n";
    		if  (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
       		print "Il file è valido, e inviato con successo.  Ecco alcune informazioni:\n";
       		print_r($_FILES);
      		 print_r ($_FILES['type']);
    		 }
    		} else {
      		 print "Possibile attacco tramite file upload! Alcune informazioni:\n";
      		 print_r($_FILES);
    		 print "formato non valido";
    	}
    ?>

    anchequando non è una jpg

  7. #7
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    codice:
    <?php
    
    $uploaddir = 'C:\AppServ\www\imaginemenu\';
    print "<pre>";
    if ($_FILES['nome_campo_file']['type'] = 'jpg'){
    	print "file valido\n";
    		if   (move_uploaded_file($_FILES$_FILES['nome_campo_file'][
    'tmp_name'], $uploaddir . $_FILES$_FILES['nome_campo_file']['name'])) {
       		print "Il file è valido, e inviato con successo.  Ecco alcune informazioni:\n";
       		print_r($_FILES);
      		 print_r ($_FILES$_FILES['nome_campo_file']['type']);
    		 }
    		} else {
      		 print "Possibile attacco tramite file upload! Alcune informazioni:\n";
      		 print_r($_FILES);
    		 print "formato non valido";
    	}
    ?>
    il parametro di array type DIPENDE dal browse io farei come ti ho detto io...

    prima con la funzione is_uploaded_file verifichi che fai è uploadto e poi verifichi le estensioni...

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    con l'upload ho risolto diversamente grazie mille soloche adesso non capisco perchèla query che prima funzionava perfettamente adesso da

    Query was empty

    :master:

    codice:
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    //VARIABILI IMPOSTABILI DALL'UTENTE
    
    $uppath = "C:\AppServ\www\universita\img\imaginemenu"; //PATH DOVE VERRANNO UPLOADDATI GLI AVATAR
    $dimlim = "si"; //LIMITE DI DIMENSIONE [si o no]
    $formatolim = "si"; //LIMITE DI FORMATO [si o no]
    $size = $_POST['size']; //LIMITE DI DIMESIONE
    $larg= $_POST['larg']; //LIMITE LARGHEZZA
    $alte= $_POST['alte']; //LIMITE ALTEZZA
    
    //Tutti i tipi di imagini
    $tipo1 = "image/pjpeg"; //Jpeg type 1
    $tipo2 = "image/jpeg"; //Jpeg type 2
    $tipo3 = "image/gif"; //Gif type
    $tipo4 = "image/png"; //Png type
    $tipo5 = "image/bmp"; //Bmp Type
    
    $log = "";
    
    //INIZIO UPLOAD
    
    //CONTROLLA SE LA STRINGA E' VUOTA
    if ($img1_name == "") 
      {
        $log .= "Nessun file selezionato per l'upload
    ";
      }
    
    if ($img1_name != "") 
      {
        //CONTROLLA SE IL FILE E' GIA' ESISTENTE
        if (file_exists("$uppath/$img1_name")) 
          {
            $log .= "Il File esiste già
    ";
          } 
        else 
          {
    
            //CONTROLLA LA DIMEZIONE DEL FILE
    	$errore=0;
            if ($dimlim == "si") 
              {
                if ($img1_size > $size) 
                  {
                    $errore=1;
    	        $log .= "Il file è troppo grande! Non deve superare i $size byte
    ";
    
                  }
              }
            //CONTROLLA IL FORMATO DELL'IMMAGINE
            if ($formatolim == "si")
              {
                list($width, $height) = @getimagesize($img1);
                if(($width>$larg)or($height>$alte))
                  {
                    $errore=1;
              	$log .= "Il formato dell'immagine è più grande del limite $larg x $alte";
                  }
              }
    	if ($errore==0)
    	  {
                //CONTROLLA SE IL FILE E' UNA IMMAGINE
                if (($img1_type == $tipo1) or ($img1_type == $tipo2) or ($img1_type == $tipo3) or ($img1_type == $tipo4) or ($img1_type == $tipo5)) 
                  {
                    @copy($img1, "$uppath/$img1_name") or $log .= "Impossibile copiare l'immagine nel server
    ";
                    if (file_exists("$uppath/$img1_name")) 
                      {
                        $log .= "Immagine uploaddata
    ";
    					$insertSQL = sprintf("INSERT INTO docenti (nome, descrizione, curriculum, foto) VALUES (%s, %s, %s, %s)",
                           GetSQLValueString($_POST['nome'], "text"),
                           GetSQLValueString($_POST['descrizione'], "text"),
                           GetSQLValueString($_POST['curriculum'], "text"),
                           GetSQLValueString($_POST['foto'], "text"));
                      }
                  } 
                else 
                  {
                    $log .= "Il file scelto non è una immagine [$tipo2, $tipo3, $tipo4 o $tipo5]
    ";
                  }
               }
          }
      }
    
      mysql_select_db($database_conn, $conn);
      $Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());
    
      $insertGoTo = "../success.php?cosa=DOCENTE%20INSERITO%20CON%20SUCCESSO!";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    ?>

  9. #9
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    prima ti sei solo dimenticata un uguale nella tastiera

    Codice PHP:
    if ($_FILES['nome_campo_file']['type'] = 'jpg'){ 
    deve essere:

    Codice PHP:
    if ($_FILES['nome_campo_file']['type'] == 'jpg'){ 
    altrimenti è logico che ti fa passare sempre.. stai assegnando il valore e controllando se è pieno.. certo che sì... così invece controlli che la variabile contenga proprio jpeg...
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ciao ci sei sempre..


    ho seguito il tuo consiglio e adesso ho un'errore alla riga evidenziata sai aiutarmi

    codice:
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    					   	// UPLOAD
    						$uploaddir = 'C:\AppServ\www\img\staff';
    						print "<pre>";
    						if ($_FILES['UploadedFile']['type'] == 'jpg'){
    							print "file valido\n";
    							if   (move_uploaded_file($_FILES['UploadedFile']['tmp_name'], $uploaddir . $_FILES['UploadedFile']['name'])) {
      								$insertSQL = sprintf("INSERT INTO docenti (nome, descrizione, curriculum, foto) VALUES (%s, %s, %s, $UploadedFile_name)",
                          			GetSQLValueString($_POST['nome'], "text"),
                           			GetSQLValueString($_POST['descrizione'], "text"),
                           			GetSQLValueString($_POST['curriculum'], "text"));
                           		  //GetSQLValueString($_POST['foto'], "text"));   							
    							print "Il file è valido, e inviato con successo.  Ecco alcune informazioni:\n";
       							print_r($_FILES);
      		 					print_r ($_FILES['type']);
    		 					}
    						} else {
      		 					print "Possibile attacco tramite file upload! Alcune informazioni:\n";
      		 					print_r($_FILES);
    							}else{
    							print "formato non valido";
    					}
      mysql_select_db($database_conn, $conn);
      $Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());
    
      $insertGoTo = "../success.php?cosa=DOCENTE%20INSERITO%20CON%20SUCCESSO!";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.