Visualizzazione dei risultati da 1 a 8 su 8

Discussione: upload files

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804

    upload files

    salve ragazzi devo inserire un upload nel sito, adeso ho un problema , siccome che invio i dati al php tramite ajax , non riesco ad inviare i files che allego qualcuno mi saprebbe dare un consiglio?
    Codice PHP:

    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES $HTTP_POST_FILES;
    if(!isset(
    $_SERVER)) $_SERVER $HTTP_SERVER_VARS;


    $dimensione_massima=51200//dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb $dimensione_massima/1024;
    $cartella_upload="../public/"//cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1//filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse

    if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){    
       echo 
    "Nessun file selezionato per l'upload";
    }elseif(
    $_FILES['file1']['size']>$dimensione_massima){    
       echo 
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
       
     }else{    
     
    $nome_file=$_FILES['file1']['name'];  
      
    $errore=""
       if(
    $filtrare==1){        
       
    $estensione strtolower(substr($nome_filestrrpos($nome_file"."), strlen($nome_file)-strrpos($nome_file".")));
       
       
       if(!
    in_array($estensione,$array_estensioni_ammesse)){            
       
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."
    "
    ;        
           }    
       }
       
      if(!
    file_exists($cartella_upload)){
              
    $errore.="La cartella di destinazione non esiste</br>";    
            } 
       
       if(
    $errore==""){        
       if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
        
    chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
        
    echo "Operazione eseguita con successo. Upload riuscito.";
      }else{ 
       
       echo 
    "Impossibile effettuare l'upload del file";        
       }    
          }else{        
             echo 
    $errore;    
             }
             } 
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    Inserisci all'inizio del tuo codice:

    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    e posta qui gli errori che vengono visualizzati a seguito del tentativo di upload.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ciao filippo la cosa strana,e che non mi da errori , ma sembrerebbe che non riceva nesun files
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #4
    Hai inserito il codice indicato all'inizio dello script?
    Hai tentato di inviare allo script una form con i dati?
    Che risultati hai ottenuto?
    Quali messaggi vengono visualizzati dallo script?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    mi da Nessun file selezionato per l'uploadok
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #6
    Inserisci all'inizio dello script:

    <?php
    print_r($_FILES);
    ?>

    Sei sicuro di aver creato la form per l'upload nel modo corretto?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    si ti posto il form e dai un occhiata

    Codice PHP:
    <div id='result'></div>
    <script type="text/javascript" src="../script-javascript/ahahText.js"></script>    
    <form name='formName'id='formName' action="javascript:completeAHAH.likeSubmit('inc/inc_sett.php','POST', 'formName', 'result');"   ENCTYPE="multipart/form-data">

    <table class="partemodulisettinglogo"cellpadding="0" cellspacing="0" border="0">
      <tr>
         <td class="iconasettingcangelogo">[img]img/icon_info.gif[/img]</td>
         <td class="descriptionsettingcangelogo"><?php echo "logo:";?></td>
          <td class="imgsettinglogo"><?php echo "[img]$path_site/admin/logo/$logosito[/img]"?></td>
         <td class="modulesettingcangelogo"><input type="file"name="file1" class="inputfilesetting" value="" />

    </td>
      </tr>  
    </table>


    queta invece e la classe ajax

    codice:
    var completeAHAH = {
    
    	loading : 'loading data...',
    
    	ahah : function (url, target, delay, method, parameters) {
    
    	  if ( ( method == undefined ) || ( method == "GET" ) || ( method == "get" ) ){
    			
    			this.creaDIV(target, this.loading);
    			
    			if (window.XMLHttpRequest) {
    				req = new XMLHttpRequest();
    			} 
    			else if (window.ActiveXObject) {
    				req = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			if (req) {
    				req.onreadystatechange = function() {
    					completeAHAH.ahahDone(url, target, delay, method, parameters);
    				};
    				req.open(method, url, true);
    				req.send("");
    			}
    		}
    		if ( (method == "POST") || (method == "post") ){
    
    			this.creaDIV(target, this.loading);
    
    			if (window.XMLHttpRequest) {
    				req = new XMLHttpRequest();
    			} 
    			else if (window.ActiveXObject) {
    				req = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			if (req) {
    				req.onreadystatechange = function() {
    					completeAHAH.ahahDone(url, target, delay, method, parameters);
    				};
    				req.open(method, url, true);
    				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    				req.send(parameters);
    			 }
    		}
    	},
    	
    	creaDIV : function (target, html){
    
    	   if (document.body.innerHTML){
    			   document.getElementById(target).innerHTML = html;
    	   }
    	   else if (document.getElementById){
    			   var element = document.getElementById(target);
    			   var range = document.createRange();
    
    			   range.selectNodeContents(element);
    			   range.deleteContents();
    			   element.appendChild(range.createContextualFragment(html));
    
    	   }
    	},
    
    	execJS : function (node) {
    
    		var st = node.getElementsByTagName('SCRIPT');
    		var strExec;
    
    		var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
    		var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
    		var bMoz = (navigator.appName == 'Netscape');
    
    		for(var i=0;i<st.length; i++) {     
    			if (bSaf) {
    			  strExec = st[i].innerHTML;
    			}
    			else if (bOpera) {
    			  strExec = st[i].text;
    			}
    			else if (bMoz) {
    			  strExec = st[i].textContent;
    			}
    			else {
    			  strExec = st[i].text;
    			}
    			try {
    			  eval(strExec);
    			} catch(e) {
    			  alert(e);
    			}
    		}
    
    	},	
    
    	ahahDone : function (url, target, delay, method, parameters) {		
    		if (req.readyState == 4) { 
    			element = document.getElementById(target);
    			if (req.status == 200) {
    
    				//this.creaDIV(target, req.responseText);
    				output = req.responseText;
    				document.getElementById(target).innerHTML = output;
    				var j = document.createElement("div");
    				j.innerHTML = "_" + output + "_";
    				this.execJS(j);
    
    			} 		
    			else {
    				this.creaDIV(target, "ahah error:\n"+req.statusText);
    			}
    		}
    	},
    
    	/*
    
    	@@ parameters : 
    	fileName	= name of your cgi or other
    	method		= GET or POST, default is GET
    	formName	= name of your form
    	dynamicTarget	= name of your dynamic Target DIV or other
    
    	@@ usage : 
    	<form id="formName" action="javascript:completeAHAH.likeSubmit('fileName', 'method', 'formName', 'dynamicTarget');">
    
    	*/
    
    	likeSubmit : function ( file, method, formName, target ) {
    
    		var the_form = document.getElementById(formName);
    		var num = the_form.elements.length;
    		var url = "";
    		var radio_buttons = new Array();
    		var nome_buttons = new Array();
    		var check_buttons = new Array();
    		var nome_buttons = new Array();
    
    
    		// submit radio values
    		var j = 0;
    		var a = 0;
    		for(var i=0; i<the_form.length; i++){
    			var temp = the_form.elements[i].type;
    			if ( (temp == "radio") && ( the_form.elements[i].checked) ) { 
    				nome_buttons[a] = the_form.elements[i].name;
    				radio_buttons[j] = the_form.elements[i].value; 
    				j++; 
    				a++;
    			}
    		}
    		for(var k = 0; k < radio_buttons.length; k++) {
    			url += nome_buttons[k] + "=" + radio_buttons[k] + "&";
    		}
    
    		// submit checkbox values
    		var j = 0;
    		var a = 0;
    		for(var i=0; i<the_form.length; i++){
    			var temp = the_form.elements[i].type;
    			if ( (temp == "checkbox") && ( the_form.elements[i].checked) ) { 
    				nome_buttons[a] = the_form.elements[i].name;
    				check_buttons[j] = the_form.elements[i].value; 
    				j++; 
    				a++;
    			}
    		}
    		for(var k = 0; k < check_buttons.length; k++) {
    			url += nome_buttons[k] + "=" + check_buttons[k] + "&";
    		}
    
    		// submit all kind of input		
    		for (var i = 0; i < num; i++){	
    			var chiave = the_form.elements[i].name;
    			var valore = the_form.elements[i].value;
    			var tipo = the_form.elements[i].type;
    
    			if ( (tipo == "submit") || (tipo == "radio") || (tipo == "checkbox") ){}
    			else {
    				url += chiave + "=" + valore + "&";
    			}
    		}
    
    		var parameters = url;
    		url = file + "?" + url;
    
    		if (method == undefined) { 
    			method = "GET"; 	
    		}
    		if (method == "GET") { 
    			this.ahah(url, target, '', method, ''); 
    		}
    		else { 
    			this.ahah(file, target, '', method, parameters); 
    		}
    	}
    
    };
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ho fatto come mi hai detto e mi da un array() vuoto
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

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 © 2025 vBulletin Solutions, Inc. All rights reserved.