Visualizzazione risultati 1 fino 3 di 3

Discussione: Problema upload PHP

  1. #1
    Guest

    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. #2
    Guest

    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 11.23.55

  3. #3
    Guest

    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?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •