problema upload

rella909

Nuovo Utente
8 Ago 2010
4
0
0
Salve a tutti,

problema: non mi funziona l'upload.

benché in risposta ricevo una conferma dell'avvenuto upload il file non viene copiato.

Ho provato con tutti gli script che ho trovato su google ma niente. Non mi copia il file.

Aiuto!

FORM:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="file-upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upfile">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
<input type="submit" value="Invia il file">
</form>
</body>
</html>



UPLOAD_FILE.PHP

PHP:
<?php


// QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
// DI PHP PRECEDENTI ALLA 4.1.0
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

/********************* VARIABILI DA SETTARE ********************/
// Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/upload";

echo $_SERVER["DOCUMENT_ROOT"] . "<br>";

// Eventuale nuovo nome da dare al file uploadato
$new_name = "";

// Se $new_name è vuota, il nome sarà lo stesso del file uploadato
$file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

if(trim($_FILES["upfile"]["name"]) == "") {

die("Non hai indicato il file da uploadare !");

}

if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
	
	@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name"); 
	echo "L'upload del file " . basename($_FILES["upfile"]["name"]) . " &egrave; avvenuto correttamente";

} else {

	echo "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.<br>";
	echo "Problemi nell'upload del file " . $_FILES["upfile"]["name"];
	echo "<br>";

}
?>
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
intanto quello script vallo a buttare perchè non funziona

mò te ne dò uno io tutto in una pagina
crea una cartella per le foto chiamata image

nome della pagina form-image.php
Codice:
<?php

if(!empty($_POST)){
$percorso = "./image/";
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
if (move_uploaded_file($_FILES['image']['tmp_name'], $percorso.$_FILES['image']['name'])) {
  
  } else {
  echo "si è verificato un errore durante l'upload: ".$_FILES["image"]["error"];
  }
}

echo "<img src='$percorso".$_FILES['image']['name']."'  />";
}else {
    form_file();
    }

function form_file(){
echo <<<HT
   <form action="form-image.php" method="POST" enctype="multipart/form-data">
   <!-- Campo file di nome "image" -->
   <input name="image" type="file" size="40" />    
   <br /><br />
   <!-- Pulsante -->
   <input name="upload" type="submit" value="Carica immagine" />
   </form>
HT;
}

?>

poi per verificare le foto presenti in quella cartella /image

beccati un altro script che ho trovato nella spazzatura

nome file leggere.php (o qualsiasi altro nome)
Codice:
<?
$od=opendir("./image");
if(!$od){echo"Errore apertura cartella album";exit;}
while(gettype($file=readdir($od))!=boolean){
if($file!="." && $file!="..")
echo"$file<br>";
}
closedir($od);
?>

quest'ultimo codice ti legge il contenuto della cartella /image


esempio
http://maxgiulia.altervista.org/max/08-agosto/php-agosto-10/form-image.php
invia l'immagine dal tuo pc alla cartella image nel tuo spazio web

http://maxgiulia.altervista.org/max/08-agosto/php-agosto-10/leggere.php
legge il contenuto della cartella /image

http://maxgiulia.altervista.org/max/08-agosto/php-agosto-10/image/cccc.jpg
per guardare una foto caricata... cambia il nome e vedi le altre
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ma l'utente non specifica che il file da caricare è un'immagine. Comunque "vallo a buttare" mi sembra un consiglio un po' azzardato. Intanto io rimuoverei tutte le chiocciole prima delle funzioni, e vedrei se restituisce qualche errore. In caso affermativo riportalo e cercheremo di risolvere insieme.

@max_400: il sistema che usi per leggere i file nella directory è piuttosto datato. Dai un'occhiata alla funzione glob().
 

rella909

Nuovo Utente
8 Ago 2010
4
0
0
@MAX il tuo script mi da in risultato:

HTML:
                    si è verificato un errore durante l'upload: 0

ma l'errore 0 vuol dire che non ci sono errori, no?




continuano a non funzionare. Provo con questo script più semplice:

PHP:
<?php

	if(is_uploaded_file($_FILES['file']['tmp_name'])){
		
		move_uploaded_file($_FILES['file']['tmp_name'], "./img/" . $_FILES['file']['name']);
		
		echo "success";
		
	}else{
		
		echo "error";
	}

	echo "<pre>";
	print_r($_FILES);
	echo "</pre>";

?>




ed in risposta mi viene:


HTML:
success

Array
(
    [file] => Array
        (
            [name] => IMG_0843.JPG
            [type] => image/jpeg
            [tmp_name] => /private/var/tmp/php0LDOku
            [error] => 0
            [size] => 1166421
        )

)


ma il file non viene copiato.



una domanda, le chiocciole prima delle funzioni a cosa servono?
 
Ultima modifica:

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
a me funziona benissimo

lo script che ho postato sul forum è stato preso direttamente dal mio spazio web

ne ho fatto un altra copia e funziona

http://maxgiulia.altervista.org/max/php-agosto10/form-allegato.php

PS: e inutile ripostare lo script... perchè è uguale al precendente ho cambiato semplicemente il nome del file php form-allegato.php e creato di nuovo la cartella image.

Attenzione il file form-allegato.php sta fuori dalla cartella image essa serve solo per lo scarico delle immagini

form-allegato.jpg


@gighen: ma chi se ne frega della funzione glob()
 
Ultima modifica:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Intanto "chi se ne frega" non è un'espressione consona ad un forum di discussione, in quanto siamo qui per scambiarci opinioni e tutti devono migliorare, quindi sei pregato di non usarla più. E poi un buon sviluppatore dovrebbe stare attento agli standard. Con la funzione glob si può fare quello che hai fatto tu molto più velocemente.

Per quanto riguarda l'errore durante l'upload... sei sicuro che lo script abbia i permessi appropriati per scrivere nella cartella dei file? Anche se mi sembra molto strano che non restituisca nessun errore, di solito ti mostra cosa non va, invece nel tuo caso sembra andare tutto bene.
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
ho provato l'altro script

.. e mi funziona pure quello però con foto piccole tipo 320x240
se l'upload ti da le informazioni inerenti alle dimensioni della foto allora l'upload è riuscito altrimenti niente...

Quindi è strano che non ti ha copiato niente...

il secondo esempio:
http://maxgiulia.altervista.org/max/php-agosto10/upload/upload.html

la verifica dei file caricati
http://maxgiulia.altervista.org/max/php-agosto10/upload/leggere2.php

mentre l'originale è proprio di una guida di questo forum
https://www.mrw.it/php/articoli/gestire-upload-tramite-form_184.html

Ci sono dei parametri che ti consentono un massimo di byte oltre la soglia non è possibile caricate foto di dimensioni maggiori...

Fatti una ricerca su google e sicuramente li troverai...

Da parte mia è tutto io personalmente uso l'altro che ho migliorato mettendo dei link alla lista delle foto più un prefisso alla foto stessa tipo album1-foto.jpg

A chi interessa qui c'è l'argomento completo e gli script

il primo esempio dove vedi la foto caricata
http://max400.forumfree.it/?t=50191244

il secondo esempio vedi solo le informazioni sulle dimensioni del file caricato
http://max400.forumfree.it/?t=50193282#entry412418249


poi ce ne sarebbe un terzo di 3 pagine ma non voglio andare troppo per le lunghe

au revoir
by max :elvis:

@gighen: scusami gighen non volevo offendere ma io sono abituato che quello che penso lo dico apertamente... me ne dolgo profondamente... un bel inchino per te.
 

rella909

Nuovo Utente
8 Ago 2010
4
0
0
ho cambiato il codice in

PHP:
<?php

	if(is_uploaded_file($_FILES['file']['tmp_name'])){
		
		if(move_uploaded_file($_FILES['file']['tmp_name'], "img/" . $_FILES['file']['name']))
			echo "success";
		else
			echo "non caricato";			
		
	}else{
		
		echo "error";
	}

	echo "<pre>";
	print_r($_FILES);
	echo "</pre>";

?>


ora funziona. perché?
 
Discussioni simili
Autore Titolo Forum Risposte Data
L [PHP] problema con upload e javascript (upload multiplo) Javascript 2
C [PHP] Problema upload file (multiplo) PHP 1
N [PHP] Problema upload immagini wordpress PHP 2
R Problema upload file PHP 1
Rikk73 Problema upload immagini PHP 4
R Problema upload PHP 1
P Problema con lettura filesystem del client da server! Upload multiplo foto. PHP 5
F Problema con upload di immagini che superano 2MB PHP 14
A Problema con Upload immagini PHP 9
francesco7 [Problema] esecuzione script Upload file in php PHP 0
L classe upload [Problema cartella] PHP 1
B Problema upload delle foto PHP 1
L problema upload: Strict Standards: Only PHP 2
F Problema con upload di file PHP 1
B Problema upload application/x-zip-compressed diventa erroneamente application/octet-stream PHP 0
A problema con upload immagini multiple PHP 0
L problema ftp upload su host windows PHP 9
N problema script php mysql multi upload immagini PHP 31
N Problema upload iis7 Classic ASP 0
helpdesk Problema Upload non ridimensiona l'immagine PHP 4
B problema upload file PHP 3
C Problema nell'upload di un file PHP 4
A upload immagini problema PHP 3
P Problema upload file PHP 2
G Problema con upload immagini e IE7 PHP 6
V Problema con Pure Asp Upload Classic ASP 4
Y problema nell'upload di un'immagine PHP 7
S Problema upload immagine Classic ASP 4
D Problema nome file su upload Classic ASP 5
F Problema Upload file con Internet Explorer PHP 29
SolidSnake4 problema upload PHP 1
N Problema upload immagini! HELP! PHP 0
S Problema Dominio su Tiscali e upload con ADSL ALICE Domini 1
U Problema script upload file... :'( PHP 7
C problema upload immagini grandi con 4images Programmazione 0
D problema con upload [Era: info] PHP 13
M Problema con l'upload PHP 0
V Problema Upload PHP 6
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11

Discussioni simili