Torna indietro   AlterVista > L'angolo del webmaster > PHP, MySql e Apache (.htaccess)

Rispondi
 
LinkBack Strumenti discussione Modalità visualizzazione
  #1 (permalink)  
Vecchio 28-06-2011, 04.56.11
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>
Rispondi citando

Crea Sito Web Gratis

Espandibile all'infinito. Joomla e altri applicativi già pronti. E guadagna con la pubblicità!

Crea Blog Gratis

WordPress con temi professionali. Nessun limite di spazio o plugin. Guadagni con i banner.

  #2 (permalink)  
Vecchio 04-07-2011, 10.22.51
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 10.23.55
Rispondi citando
  #3 (permalink)  
Vecchio 19-08-2011, 14.26.33
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?
Rispondi citando
Rispondi

Strumenti discussione
Modalità visualizzazione

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

BB code is Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks are Attivato
Pingbacks are Attivato
Refbacks are Disattivato



Tutti gli orari sono GMT +1. Adesso sono le 02.16.14.