Forum

Discussione: Problema upload PHP

Visualizzazione risultati 1 fino 3 di 3

  1. 28-06-2011, 06.56.11

    #1
    andread25
    andread25 non è connesso Neofita
    Data registrazione
    02-08-2010
    Messaggi
    1

    Predefinito Problema upload PHP

    Salve a tutti.
    Premetto che sono alle prime armi:
    Ho messo sul mio portfolio un uploader per gli amici seguendo un tutorial.
    Ora volevo personalizzarlo un po' ma non ci riesco. C'è anche un problema, cioè che mettendo il form (sfoglia, carica) dentro a un div esso non funziona più, cliccando su carica o sfoglia o sul campo di testo dove va il percorso del file non succede niente. In più volevo che nell'output restituito mi venisse fuori l'immagine appena caricata e che mi vengano fuori sotto codice il link da copiare per postare l'immagine sui forum. Altra cosa è che quando voglio selezionare il testo del link diretto che risulta nell'ouput non mi fa selezionare il testo.

    questo il sito:
    http://andread25.altervista.org/
    questa la pagina con l'uploader:
    http://andread25.altervista.org/hosting.html
    e di seguito i codici della prima pagina e di quella dell'output:
    Codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    <head>
      
     <title>ANDREA D - Mangacars Portfolio</title>
    
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    
      <meta name="description" content="My Mangacars Portfolio" />
    
      <meta name="title" content="ANDREA D - Mangacars Portfolio" />
    
      <meta name="keywords" content="Mangacar, Mangacars, Pixelcar, Pixelcars, Pixel art, MCI, auto, tuning" />
    
     <link rel="StyleSheet" href="code.css" type="text/css" />
    
    </head>
    
    <body class="doublefade">
    
    <div id="universal">
    <div id="header_right"></div>
    <div id="everything">
    <div id="header_left"></div>
    <div id="header">
    <h2><a href="index.html" target="_blank">ANDREA D portfolio</a></h2>
    </div>
    <div id="main">
    <div class>
    <div id="main_wrapper">
    <div id="nav">
    <ul>
    <li><a href="index.html">HOMEPAGE</a></li>
    <li><a href="stock.html">STOCK</a></li>
    <li><a href="tune.html">TUNE</a></li>
    <li><a href="parts.html">PARTS</a></li>
    <li><a href="team.html">TEAM</a></li>
    <li class="on"><a a class="on" href="hosting.html">HOSTING</a></li>
    </ul>
    </div>
    <div id="content">
    <div id="content_wide">
    <div id="mainheading">
    <h1 class="smaller">ANDREA D - Hosting</h1>
    </div>
    <ul id="breadcrumbs">
    <li>MANGACARS IMAGE HOSTER v 0.2</li>
    </ul>
    <center>
    
    <br>
    
    <form name="upload" method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="uploadfile">
    <input type="submit" name="go" value="Carica"></form>
    
    
    </center>
    </div>
    </div>
    <div id="content_right"></div>
    </div>
    </div>
    </div>
    <center>
    </center><br>
    </div>
    </div>
    </div>
    </body>
    </html>
    e pagina di output:
    Codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    <head>
      
     <title>ANDREA D - Mangacars Portfolio</title>
    
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    
      <meta name="description" content="My Mangacars Portfolio" />
    
      <meta name="title" content="ANDREA D - Mangacars Portfolio" />
    
      <meta name="keywords" content="Mangacar, Mangacars, Pixelcar, Pixelcars, Pixel art, MCI, auto, tuning" />
    
     <link rel="StyleSheet" href="code.css" type="text/css" />
    
    </head>
    
    <body class="doublefade">
    
    <div id="universal">
    <div id="header_right"></div>
    <div id="everything">
    <div id="header_left"></div>
    <div id="header">
    <h2><a href="index.html" target="_blank">ANDREA D portfolio</a></h2>
    </div>
    <div id="main">
    <div class>
    <div id="main_wrapper">
    <div id="nav">
    <ul>
    <li><a href="index.html">HOMEPAGE</a></li>
    <li><a href="stock.html">STOCK</a></li>
    <li><a href="tune.html">TUNE</a></li>
    <li><a href="parts.html">PARTS</a></li>
    <li><a href="team.html">TEAM</a></li>
    <li class="on"><a a class="on" href="hosting.html">HOSTING</a></li>
    </ul>
    </div>
    <div id="content">
    <div id="content_wide">
    <div id="mainheading">
    <h1 class="smaller">ANDREA D - Hosting</h1>
    </div>
    <ul id="breadcrumbs">
    <li>MANGACARS IMAGE HOSTER v 0.2</li>
    </ul>
    <div id="home_content">
    <div class="intro">
    <center>
    
    <br>
    
    <?php
    // controllo che non ci siano stati errori nell'upload (codice = 0) 
    if ($_FILES['uploadfile']['error'] == 0){
    // upload ok
    // controllo che il file sia in formato gif
    if ($_FILES['uploadfile']['type'] != "image/png") die("Formato file non valido, è permesso solo il formato png"); 
    // copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale 
    copy($_FILES['uploadfile']['tmp_name'], "_altervista_ht/Hosting/".$_FILES['uploadfile']['name']) or die("Impossibile caricare il file");
    // upload terminato, stampo alcune info sul file
    echo "Upload terminato con successo:<br>";
    echo "Nome file: ".$_FILES['uploadfile']['name']."<br><br>";
    echo "Direct Link: http://andread25.altervista.org/_altervista_ht/Hosting/".$_FILES['uploadfile']['name']."<br>";
    }
    else{
    // controllo il tipo di errore
    if ($_FILES['uploadfile']['error'] == 2){
    // errore, file troppo grande (> 1MB)
    die("Errore, impossibile caricare il file.");
    }
    else{
    // errore generico
    die("Errore, impossibile caricare il file");
    }
    }
    ?> 
    
    
    </center>
    </div>
    <div id="text">
    </div>
    </div>
    </div>
    </div>
    <div id="content_right"></div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </body>
    </html>

  2. 04-07-2011, 12.22.51

    #2
    flashproducts
    flashproducts non è connesso Neofita
    Data registrazione
    22-03-2011
    Residenza
    Bergamo
    Messaggi
    17

    Lightbulb New Script

    Potresti utlizzare, in alternativa, questo mio script:
    Codice PHP:
    <?  


    class Upload {  
          
        
    ## Variabili editabili ##  
          
        
    public $upload_dir '/files/'// Nome della directory dove verranno salvati i file  
        
    public $deletable false// I file possono essere eliminati da tutti?
        
    public $file_extensions  = array('.zip','.jpg','jpeg','.png','.gif','.doc','.html','.txt','.htm','.rar','.exe','.mp3'); // Estensioni di file che possono essere caricati  
        
    public $max_size 20000000// Dimensione massima del file (in Byte)  
          
        ## Non modificare altri parametri se non conosci il PHP ##  
          
        
    function index() {  
            if (isset(
    $_REQUEST['delete'])) {  
                
    $this->delete($_REQUEST['delete']);  
            }  
            if (isset(
    $_REQUEST['action']) && $_REQUEST['action'] == 'upload') {   
                
    $this->do_upload();  
            } else {  
                echo 
    '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
                <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">  
                <head>  
                <title>Upload di immagini dei progetti</title>  
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
                <style type="text/css">body {margin: 0 auto;padding: 0;color: #3C475B;font-family: "segoe ui", tahoma, sans-serif;font-size: small;}a:link    { color: #0a4e96; }a:visited { color: #0a4e96; }a:hover   { color: #333; }a:active  { color: #000; }#content {    margin: 0 auto;    padding: 1em 2em 1em 2em;}#content table {    border:1px solid #ccc;    min-width:600px;    text-align:center;}#header h1 {    margin: 0;    padding: 25px 0 0 0;}#header p {    font-weight: bold;    margin: 0;    padding: 0 0 80px 0;}#footer {    border-top: 1px dashed #ccc;    font-size: 11px;    color: #999;    align:center;}</style>  
                </head>  
                <body>  
                <div id="content">  
                <div id="header">  
                <h1>Modulo di upload</a></h1>
                  
                <p>Con il modulo sottostante potrete caricare le foto dei vostri progetti, che successivamente verranno postati sul sito</p>
                <p>Io vi consiglio di comprimere un file rar o zip e inserirgli un file txt con una berve descrizione e la foto della realizzazione</p> 
                </div>'
    ;  
                
    $this->show_message();  
                
    $this->show_upload_form();  
                
    $this->show_files();  
                if(isset(
    $_GET['message'])) {echo '<meta http-equiv="refresh" content="50; '.$_SERVER['PHP_SELF'].'"';}  
                echo 
    '<p id="footer"></p></div></body></html>';  
            }  
        }  
          
        function 
    do_upload() {  
            
    $site_name $_SERVER['HTTP_HOST'];  
            
    $url_dir "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);  
            
    $url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];  
            
    $upload_dir $this->upload_dir;  
            
    $upload_url $url_dir.$this->upload_dir;  
            
    $temp_name $_FILES['userfile']['tmp_name'];  
            
    $file_name $_FILES['userfile']['name'];   
              
    $file_name str_replace("\\","",$file_name);  
              
    $file_name str_replace("'","",$file_name);  
            
    $file_path $this->upload_dir.$file_name;  
            
    $file_ext strtolower(substr($file_name,strrpos($file_name,".")));  
            
    $file_type $_FILES['userfile']['type'];   
            if ( 
    $file_name == "") {   
                
    $message "Nome del file non valido";  
                
    header("Location: ".$url_this.'?message='.$message);  
            }  
            elseif (
    $_FILES['userfile']['size'] > $this->max_size) {  
                 
    $message "Il file è più pesante di 20MB.";  
                 
    header("Location: ".$url_this.'?message='.$message);  
            }  
              elseif (!
    in_array($file_ext$this->file_extensions)) {  
                  
    $message "Scusate, $file_name($file_type) non è stato uplodato.";  
                  
    header("Location: ".$url_this.'?message='.$message);  
              }  
            else {  
                
    $result  =  move_uploaded_file($temp_name$file_path);  
                if (!
    chmod($file_path,0777)) $message "Controllare il codice php."; else $message = ($result)?"$file_name é stato caricato sul sito correttamente." "Qualcosa è andato storto durante l'upload del file";  
                
    header("Location: ".$url_this.'?message='.$message);  
            }  
        }  
          
        function 
    show_message() {  
            if(isset(
    $_REQUEST['message'])) {  
                echo 
    $_REQUEST['message'];  
            }  
        }  
          
        function 
    show_upload_form() {  
            echo 
    '<form action="'.$_SERVER['PHP_SELF'].'?action=upload" name="upload" id="upload" enctype="multipart/form-data" method="post">  
            Upload File <input type="file" id="userfile" name="userfile" />  
            <input type="submit" name="upload" value="Upload" />  
            </form>'
    ;  
        }  
          
        function 
    show_files() {  
            
    $handle=opendir($this->upload_dir);  
            
    $url_dir "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);  
            
    $upload_url $url_dir."/".$this->upload_dir;  
            
    $filelist "<h3>Files caricati</h3>";  
            
    $filelist .= '<table class="table"><tr><th>Nome file</th><th>Aggiunto in data</th><th>Azioni</th></tr>';  
                while (
    $file readdir($handle)) {  
                if(!
    is_dir($file) && !is_link($file)) {  
                    
    $filelist .= '<tr><td>'.$file.'</td>';  
                    
    $filelist .= '<td>'.date("d-m-Y H:i"filemtime($this->upload_dir.$file))."</td>"."";  
                    
    $filelist .= '<td><a style="text-decoration:none; font-weight:bold" href="'.$upload_url.$file.'" target="_blank">Visualizza</a> ';  
                    if (
    $this->deletable) {      
                        
    $filelist .= "<a style='text-decoration:none; font-weight:bold'  href='?delete=$this->upload_dir".urlencode($file)."' title='delete'>Elimina</a></td></tr>";  
                    } else {  
                        echo 
    '</td>';  
                    }  
                }  
            }  
            
    $filelist .= '</table>';  
            echo 
    $filelist;  
        }  
          
        function 
    delete($todelete) {  
            if (
    strpos($todelete,"/.")>0);  
            else if (
    strpos($todelete,$this->upload_dir) === 0) { 
                if(
    unlink($todelete)) {  
                    
    $message 'File eliminato con successo!';  
                    
    header('Location: '.$_SERVER['PHP_SELF'].'?message='.$message);  
                }  
            }  
        }  
    }  


    $upload = new Upload();  
     
    $upload->index();  
    ?>
    Ciao e spero di esserti stato di aiuto!
    Ultima modifica di flashproducts : 04-07-2011 alle ore 12.23.55

  3. 19-08-2011, 16.26.33

    #3
    idodici
    idodici non è connesso Neofita
    Data registrazione
    28-12-2009
    Messaggi
    1

    Predefinito problema script

    Ciao flashproducts,
    io sono alle prime armi con php. Ho letto la conversazione e ho pensato che il tuo script poteva essere utile anche a me. Ho provato a farlo funzionare ma non mi carica i files e mi scrive 'controllare il codice php'. Non riesco a capire perchè e non so se sia colpa delle mie impostazioni, perchè ho provato con altri script a caricare files ma non ci riescono. Tu sai da cosa può derivare quell'errore?

Thread Information

Regole di scrittura

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

SEO by vBSEO