script per upload file

  • Creatore Discussione Creatore Discussione Yak
  • Data di inizio Data di inizio

Yak

Nuovo Utente
31 Lug 2015
5
0
0
NON riesco a capire perchè non funziona.. mi continua a dire dimensione file troppo grandi...:confused:

allego i 2 script

form...html e script php:


HTML:
<form enctype="multipart/form-data" action="http://otherzone.altervista.org/upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="20971520">
Invia questo file: <input name="userfile" type="file">
<input type="submit" value="Invia File">
</form>


PHP:
<? 
$uploaddir = '/memri/otherzone/otherzone.altervista.org/uploadfile'; 
$FILE_MAX_SIZE = '20971520'; 
if ($_FILES['userfile']['size'] < $MAX_FILE_SIZE) { 
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {  
        print "Il file è valido, e inviato con successo."; 
    } else { 
        print "Possibile attacco tramite file upload!";  
    } 
} else { 
    print "Dimensioni del file eccessive, il file non può superare i ".$MAX_FILE_SIZE." bytes."; 
} 
?>
 
Ultima modifica di un moderatore:
ciao
metti un var_dump per verificare
PHP:
<?php 
$uploaddir = '/memri/otherzone/otherzone.altervista.org/uploadfile/'; //ATTENTO manca lo /
$FILE_MAX_SIZE = '20971520'; 
var_dump($_FILES['userfile']['size']);
if ($_FILES['userfile']['size'] < $MAX_FILE_SIZE) { 
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {  
        print "Il file è valido, e inviato con successo."; 
    } else { 
        print "Possibile attacco tramite file upload!";  
    } 
} else { 
    print "Dimensioni del file eccessive, il file non può superare i ".$MAX_FILE_SIZE." bytes."; 
} 
?>

poi non usare lo shorttag <? ma <?php e quando scrivi del codice usa gli appositi bccode
 
questo l'output dopo la modifica:

int(2071) Dimensioni del file eccessive, il file non può superare i bytes.
 
l'ho modificato cosi.. ma ora mi da messaggio " upload non valido" :crying:
PHP:
<?php
//percorso della cartella dove mettere i file caricati dagli utenti
$uploaddir = 'http://otherzone.altervista.org/uploaddir';

//Recupero il percorso temporaneo del file
$userfile_tmp = $_FILES['userfile']['tmp_name'];

//recupero il nome originale del file caricato
$userfile_name = $_FILES['userfile']['name'];

//copio il file dalla sua posizione temporanea alla mia cartella upload
if (move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name)) {
  //Se l'operazione è andata a buon fine...
  echo 'File inviato con successo.';
}else{
  //Se l'operazione è fallta...
  echo 'Upload NON valido!'; 
}
?>
 
Ultima modifica di un moderatore:
ciao
mi sembra che manchi uno slash, mettilo qui
PHP:
$uploaddir = 'http://otherzone.altervista.org/uploaddir/';
oppure qui
PHP:
if (move_uploaded_file($userfile_tmp, $uploaddir ."/". $userfile_name)) {
 
no proprio non riesco a farlo andare.. con quelle modifiche stesso errore..:quote:
 
ciao
intanto spero che tu non abbia messo lo slash su entrambe le righe (avevo detto oppure)
comunque così a naso non vedo altri errori sintattattici, eventualmente metti dei var_dump per vedere se quanto risulta è quello che deve essere
PHP:
 <?php
//percorso della cartella dove mettere i file caricati dagli utenti
$uploaddir = 'http://otherzone.altervista.org/uploaddir/';
//Recupero il percorso temporaneo del file
$userfile_tmp = $_FILES['userfile']['tmp_name'];

//recupero il nome originale del file caricato
$userfile_name = $_FILES['userfile']['name'];
echo "<pre>";//poi da <pre> a </pre> togli
var_dump($userfile_tmp);
var_dump($userfile_name);//attento a questa che non risulti tutto il percorso
var_dump($uploaddir . $userfile_name);//dovrebbe darti qualcosa del genere: "http://otherzone.altervista.org/uploaddir/pinco.jpg"
echo "</pre>";
//copio il file dalla sua posizione temporanea alla mia cartella upload
if (move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name)) {
  //Se l'operazione è andata a buon fine...
  echo 'File inviato con successo.';
}else{
  //Se l'operazione è fallta...
  echo 'Upload NON valido!'; 
}
?>
se il var_dump($userfile_name) ti da anche il percorso correggi
PHP:
<?php
//....
$userfile_name = basename($_FILES['userfile']['name']);
//....
?>
la cartella uploaddir esiste spero?
poi per la prossima: ATTENTO quando fai caricare i file, devi verificare che siano file consentiti (es .gif o .jpg o .png), se non verifichi e non blocchi qualcuno potrebbe caricare cancella_tutto.exe
 
CIao
questo l'output dove le modifiche da te suggerite :crying:
string(29) "/membri/.dummy/temp/phpMBvCaV"
string(25) "2411726944_9e1d14c774.jpg"
string(80) "http://otherzone.altervista.org/uploaddir/file_inviati/2411726944_9e1d14c774.jpg"

Upload NON valido!
 

Discussioni simili