Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [jQuery + Php] Problema con Uploadify

    Buon giorno, sono gg che cerco di far funzionare sto benedetto script per il multiupload Uploadify, ma non c'è verso.
    Ho provato a caricare un file da un semplicissimo form e non ho problemi, ma se utilizzo questo script si.
    codice:
    //nella pagina demo.php
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="swfobject.js"></script>
    <script type="text/javascript" src="jquery.uploadify.v2.0.0.min.js"></script>
    
    <body>
    <div class="demo">
    
    
    Multiple File Upload</p>
    <input id="Filedata" name="Filedata" type="file"/> Upload Files | Clear Queue</div>
    
    <script type="text/javascript">
          $(document).ready(function() {
    $("#Filedata").uploadify({
    		'uploader'       : 'uploadify.swf',
    		'script'         : 'uploadify.php',
    		'cancelImg'      : 'cancel.png',
    		'folder'         : 'example/uploads',
    		'multi'          : true
    	});
    });
    
          </script>
    </body>
    nella pagina uploadify.php
    Codice PHP:
    echo "Passo da qui";
    var_dump($_FILES['Filedata']['tmp_name']);exit;
    if (!empty(
    $_FILES)) {
        
    $tempFile $_FILES['Filedata']['tmp_name'];
        
    //$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
        
    $targetPath "example/uploads" '/';
        
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
        
         
    $fileTypes  str_replace('*.','',$_REQUEST['fileext']);
         
    $fileTypes  str_replace(';','|',$fileTypes);
         
    $typesArray split('\|',$fileTypes);
         
    $fileParts  pathinfo($_FILES['Filedata']['name']);
        
         if (
    in_array($fileParts['extension'],$typesArray)) {
            
    // Uncomment the following line if you want to make the directory if it doesn't exist
             
    mkdir(str_replace('//','/',$targetPath), 0755true);
            
            
    move_uploaded_file($tempFile,$targetFile);
            echo 
    "1";
         } else {
             echo 
    'Invalid file type.';
         }

    un'ultima cosa, come posso farmi restituire a video un eventuale errore o testo, dalla pagina uploadify.php?

    spero possiate aiutarmi, è importante
    grazie mille.

  2. #2
    nello script originale il valore dell'array per i file inviati è impostato in questo modo:
    Codice PHP:
    //cosi non funziona
    $tempFile $_FILES['Filedata']['tmp_name'];

    //cosi invece funziona, i misteri dell'infor(n)atica
    $tempFile $_FILES['Filedata']['name']; 
    poi un'altra cosa, se eseguo questo controllo:
    Codice PHP:
    //tipi di file consentiti per l'upload
    $allowedExtensions = array('pdf','txt','rar','zip','doc');

    //ciclo i file che voglio caricare per verificare se ce ne sono di non consentiti
    foreach ($_FILES as $file){
            if (@
    $file['tmp_name'] > ''){
                if (!
    in_array(end(explode(".",strtolower($file['name']))),$allowedExtensions)){
                    die(
    'Tipo di file non valido');
        
                    echo 
    "1    Il file non &egrave; di un tipo consentitoooo.
                            

                          2    Errore in fase di Copia del file [b]" 
    $tempFile "[/b] nella cartella [b]" $subDir "[/b]!!
                            

                          3    Se devi caricare altri file clicca "
    ;
                }
            }
        } 
    e mi restituisce un errore, come faccio a visualizzarlo a video attraverso jQuery?
    Perchè mi sono accorto che se, carico per esempio un file.xls, lui mi dice che è caricato ma in realtà no..perchè è stato scartato.
    Ma, vorrei visualizzare a video il messaggio d'errore "Tipo di file non valido".
    Sapete come fare?

    Grazie come sempre...

  3. #3
    praticamente se si vuole limitare il caricamente di alcuni file si fa in questo modo 'fileExt' :
    codice:
    $(document).ready(function() {
    		$("#Filedata").uploadify({
    				'uploader'       : '/uploadify_2010/swf/uploadify.swf',
    				'script'         : '/uploadify_2010/uploadify.php',
    				'cancelImg'      : '/uploadify_2010/img/cancel.png',
    				'folder'         : '/uploadify_2010/uploads',
    				'fileDataName'   : 'Filedata',
    				/*Tipi di file che visualizzo durante la scelta nella finestra di selezione del file system, escludendo dalla lista uno o più di questi file 'tipo', ne limito la scelta*/
    				'fileExt'        : '*.jpg;*.gif;*.png;*.pdf;*.txt;*.rar;*.zip;*.doc;*.xls',
    				/*Identificativo che viene visualizzato nella select option File Tipo nella finestra di selezione del file system*/
    				'fileDesc'       : 'Tipi di file',
    				'sizeLimit'      : 10240000,
    				'removeCompleted': false,
    				'displayData'    : 'speed',
    				'multi'          : true
    			});
    		});
    Questo problema risolto.

    Ora va bene che gestisce il multiupload, ma...a me servirebbe una cosa simile.
    Ho un form dove ci sono 6 input file, ogni input è identificata con nome proprio es:
    codice:
    <input id="Filedata" name="Filedata" type="file"/>
    <input id="Filedata2" name="Filedata2" type="file"/>
    <input id="Filedata3" name="Filedata3" type="file"/>
    //etc etc
    Questo perchè, all'atto del upload, devo eseguire una INSERT[SQL] in una tabella, e per ogni campo il nome specifico di ogni file caricato.
    Ma nel modo con il quale si comporta lo script, non posso farlo, perchè gestisce soltanto, un solo id:
    codice:
    $("#Filedata").uploadify({
    quindi dovrei fare tanti script quante sono le input file nel mio form.
    C'è un modo per far si che, con un unico invio possa caricare tutti i file scelti?
    grazie ancora

  4. #4
    più di qualcosa l'ho risolta...
    adesso altro giro altra corsa.non capisco come mai mi restituisce syntax error qui:
    codice:
    removeprev(
    codice:
    //questa è la funzione che vorrei richiamare per passargli dei parametri.
    <script type="text/javascript">
    snarkconf=confirm;
    			
    function removeprev(path,file){
    	if (snarkconf("Sei sicuro di rimuovere questo file?")==true){
    		self.location.href="?p=elimina_File&path="+path;
    	}
    }
    
    
    var txtCodBand 				= $("#txtCodBand").val();
    var path					= "DOC/BAND/";
    var cod = '';
    cod += '[img]'+settings.cancelImg+'[/img]';
    $("#button").append(cod);
    </script>
    ditemi per favore
    grazie mille...

  5. #5
    risolto anche questo, era un problema di apici...
    codice:
    var	cod = "[img]+settings.cancelImg+[/img]
    ";
    per il momento è ok..

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.