Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011

    se questa operazione è andata a buon fine fai questo...in php

    Ragazzi, ho questa piccola funzione...dopo ho del codice che mi aggiorna il database, però vorrei che lo eseguisse solamente nel caso questa funzione mi andasse a buon fine (cioè facesse l'upload del file), la soluzione che ho trovato io è di mettere il codice nell'ultimo "if", però secondo me esiste qualche soluzione + raffinata per farlo.

    Codice PHP:
    if (!is_writable($upl_path)){
            
    printf(__("It doesn't look like you can use the file upload feature at this time because the directory you have specified (<code>%s</code>) doesn't appear to be writable by WordPress. Check the permissions on the directory and for typos."), ABSPATH.'/'.get_settings('upload_path').$rel_path);
            }
            else {
                    
    $allowed_types explode(' 'trim(strtolower($imagesallowed)));
                    
    $img1_name $_FILES['upl_file']['name'];
                    
    $img1 $_FILES['upl_file']['tmp_name'];
                    
                        
    $imgtype explode(".",$img1_name);
                        
    $imgtype strtolower($imgtype[count($imgtype)-1]);
            
    //check that this is an image, no funnybusiness
            
    $checkthatimage getimagesize($img1);
            if (
    $checkthatimage == FALSE) {
            
    unlink($img1);
            die (
    __("Not a valid image file."));
            
            }
            
    //end check
                    
                        
    if (in_array($imgtype$allowed_types) == false) {
                           echo 
    sprintf(__('File %1$s of type %2$s is not allowed.') , $img1_name$imgtype);
                        }
                        else {
                        if( 
    $_FILES['upl_file']['size'] > ($maxuploadsize*1024))
                            echo 
    __("File is larger than allowed limit!");
                        else {
    //filesize is OK
                            
    if($_FILES['upl_file']['size'] > 0){//larger than 0 is allowed:o)
                                
    $pathtofile2 $upl_path.$img1_name;
                                if(
    file_exists($pathtofile2)){
                                    
    printf(__("The filename '%s' already exists!"), $img1_name);
                                    }
                                    else {
                                            
    //let's move the file
                                            
    $moved move_uploaded_file($img1$pathtofile2);
                                            
    // if move_uploaded_file() fails, try copy()
                                            
    if (!$moved) {
                                                
    $moved copy($img1$pathtofile2);
                                            }
                                            if (!
    $moved) {
                                                
    printf(__("Couldn't upload your file to %s."), $pathtofile2);
                                            } else {
                                                
    chmod($pathtofile20666);
                                                @
    unlink($img1); 

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Esiste la funzione is_uploaded_file() per verificare l'upload di un file valuta questa come condizione iniziale prima di fare spostamenti, resize ecc.

    Ciao.

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Ma is_uploaded_file mi sembra di capire che faccia un controllo sul file temporaneo, siccome il mio file viene postato poi su un'altra directory, mi servirebbe sapere se c'è una specie di comando tipo "if file exist" per fare un controllo di verifica sul file uplodato

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    a quanto vedo dal mio codice esiste il comando file_exist

  5. #5
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Originariamente inviato da The knight
    a quanto vedo dal mio codice esiste il comando file_exist

  6. #6
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Così funziona però essendo due if separati quando trova un errore sul primo (quello che carica i file) mi esegue lo stesso il codice del secondo....non si può fare niente ?

    Non si possono creare due funzioni separate con la prima che restituisce "true" se la funzione viene eseguita tutta, e la seconda che parte solo se la prima è corretta ?

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.