Problema nel Caricare file e spostarlo con la funzione move_uploaded_file

c02y

Utente Attivo
30 Nov 2012
30
0
0
Buona sera a tutti.

Ho un problema con la funzione move_uploaded_file, almeno questo credo sia il problema :D

Devo creare uno script che una volta caricato un file, quest'ultimo deve essere salvato in una specifica cartella.

Il file viene caricato, ma non riesco ad ottenere il salvataggio dello stesso in una cartella da me scelta.

Inoltre una volta fatto ciò mi servirebbe ottenere il percorso del file in quella cartella, così che in seguito possa salvarlo in un database. Ma questa parte non l'ho ancora cominciata, perché ho problemi nello spostare il file.

Sto lavorando in locale, non so se può essere utile.

Posto il codice php

PHP:
<?php
		$_FILES["img"]["tmp_name"];
		
		//Se il caricamento non va a buon fine, stampami l'errore
			if ($_FILES["img"] ["error"] >0) 
			
				{
				echo" Errore nell'upload" . $_FILES["img"] ["error"]  ."<br>";
				}
			
			else
			
				{
				echo "Upload ok","<br>";
				
				echo "Il nome dl file caricato è" .$_FILES["img"] ["name"] ."<br>";
				
				echo" " .$_FILES["img"] ["tmp_name"];
				
				}
			
			$pathAndName = "C:\upload";
			
			move_uploaded_file($_FILES["img"]["tmp_name"],$pathAndName);

?>

Mi esce questo:

Upload ok
Il nome dl file caricato è0d980764a8b7564f28a70e5ec8d94b22.png
C:\xampp\tmp\phpFB9C.tmp
Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in C:\Users\Gianni\public_html\PROGETTO\upload_file.php on line 30

Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\phpFB9C.tmp' to 'C:\upload' in C:\Users\Gianni\public_html\PROGETTO\upload_file.php on line 30

la variabile pathandname l'ho presa da unos cript su internet, dovevo concatenare anche il nome del file, perciò si chiama così.
 
Ultima modifica di un moderatore:

c02y

Utente Attivo
30 Nov 2012
30
0
0
Prova cambiando così:
PHP:
$pathAndName = "C:\upload\{$_FILES['img']['name']}";
move_uploaded_file($_FILES['img']['tmp_name'], $pathAndName);
E assicurati di avere i permessi per scrivere in C:\upload.

Come faccio a sapere se ho i permessi?

mi esce questo:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\Users\Gianni\public_html\PROGETTO\upload_file.php on line 28

La linea 28 è: $pathAndName = "C:\upload\{$_FILES['img']['name']}";
 
Ultima modifica:

c02y

Utente Attivo
30 Nov 2012
30
0
0
Ops. Correggi così:
PHP:
$pathAndName = "C:\\upload\\{$_FILES['img']['name']}";

Grande funziona! :D

Curiosità: perché nella variabile oltre all'indirizzo nel quale dovrà essere spostato il file, va anche il file stesso?

Il primo passo è stato fatto :D C'è un modo per salvare il percorso di questo file in una variabile? Perché così facendo ogni volta che carico un file, vado a salvare l'indirizzo in un database.

Mi serve solo sapere come salvare l'indirizzo.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
alla seconda domanda: ma a che ti serve salvare l'indirizzo? lo cambi ad ogni file che carichi o è sempre lo stesso?
eventualmente da salvare (penso) è il nome del file.

poi salvarlo dove, in una tabella db mysql?
 

c02y

Utente Attivo
30 Nov 2012
30
0
0
ciao
alla seconda domanda: ma a che ti serve salvare l'indirizzo? lo cambi ad ogni file che carichi o è sempre lo stesso?
eventualmente da salvare (penso) è il nome del file.

poi salvarlo dove, in una tabella db mysql?

Penso di aver capito. La variabile pathAndName contiene l'indirizzo del file.

Mi serve perché voglio inserire in un database mysql varie immagini. Al posto di caricare le immagini, mi è stato consigliato di caricare gli indirizzi(che sono sempre gli stessi, cambierebbe solo il nome del file).

In modo tale che tramite query posso visualizzare le immagini.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se l'indirizzo è sempre lo stesso puoi fare a meno di caricarlo, ti basterebbe caricare il nome dell'immagine.
comunque ti faccio uno schema uno schema collegandomi a quello che hai fatto per l'upload
PHP:
<?php
//........
$pathAndName = "C:\\upload\\{$_FILES['img']['name']}";
//move_uploaded_file($_FILES["img"]["tmp_name"],$pathAndName);//questa la elimini e la sostuiisci con le seguenti righe
if(move_uploaded_file($_FILES["img"]["tmp_name"],$pathAndName)){
	//ati di connessione
	$q=mysql_query("INSERT INTO tabella(immagine) SET($pathAndName)") or die "errore....";
}else{
	echo "errore nel caricamento";
}
//......
?>
poi dove ti serve con SELECT estai il nome e lo inserisci nel tag <img src="nome"......
(nome sarà una variabile php)
 

c02y

Utente Attivo
30 Nov 2012
30
0
0
ciao
se l'indirizzo è sempre lo stesso puoi fare a meno di caricarlo, ti basterebbe caricare il nome dell'immagine.
comunque ti faccio uno schema uno schema collegandomi a quello che hai fatto per l'upload
PHP:
<?php
//........
$pathAndName = "C:\\upload\\{$_FILES['img']['name']}";
//move_uploaded_file($_FILES["img"]["tmp_name"],$pathAndName);//questa la elimini e la sostuiisci con le seguenti righe
if(move_uploaded_file($_FILES["img"]["tmp_name"],$pathAndName)){
	//ati di connessione
	$q=mysql_query("INSERT INTO tabella(immagine) SET($pathAndName)") or die "errore....";
}else{
	echo "errore nel caricamento";
}
//......
?>
poi dove ti serve con SELECT estai il nome e lo inserisci nel tag <img src="nome"......
(nome sarà una variabile php)

Grazie mille! Funziona :D

Però ora mi chiedo..quando voglio cancellare un'immagine dal database, come faccio a cancellarla anche dalla cartella?

Lo so sono un pò rompiscatole, ma ne approfitto perché mi va di imparare :D
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
la funzione dovrebbe essere unlink()
PHP:
 <?php
//........
unlink('$pathAndName');
//....
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
R problema nel caricare i file sul server Web Server 1
S Problema nel ciclare un json Javascript 0
A Problema nel passare la variabile PHP 0
M Problema inserimento parole con apostrofo nel db PHP 5
A Problema nel passaggio di una animazione da flash a animate Flash 9
fulviozecchin Problema Visualizzazione tabelle HTML nel Browser HTML e CSS 9
giuseppe_123 [WordPress] Problema inserimento widget nel footer WordPress 0
N Problema nel fissare gli oggetti alla pagina in Adobe Muse Mac e Software 5
G [PHP] Problema nel passaggio del valore mese PHP 8
L [WordPress] Problema Javascript nel log del browser WordPress 1
S Problema nel modificare un record PHP 3
gandalf1959 problema nel posizionamento di un div HTML e CSS 1
L problema nel richiamare gli id HTML e CSS 2
M Problema nel coding PHP 4
P Problema di Undefined variable nel codice PHP PHP 5
Emix Problema nel concatenare jquery ed ajax nella stessa pagina Javascript 15
C Problema: salvare indirizzo file in un database(mancanza delle backslash nel percorso) PHP 13
F Problema con selezione di un file nel database PHP 5
A galleria jquery: problema nel caricamento di una immagine da un'anteprima HTML e CSS 10
S [ACCESS] Problema nel creare le tabelle da codice. MS Access 4
M Problema con disposizioni immagini e testi nel sito HTML e CSS 0
C AJAX FORM MAIL - problema con gli a capo nel messaggio Javascript 0
asevenx problema inserimento database nel sito online MySQL 3
asevenx problema con l'inserimento di un record nel database (caratteri non consentiti) PHP 11
E problema link nel menù XML 0
C Problema con il doppio invio nel form con onsubmit HTML e CSS 9
R Problema nel $_POST di dati per ricerca su DB PHP 12
T Problema nel salvataggio dei dati dopo il form. PHP 7
emanuelevt Problema nel visualizzare l'img dal database mysql PHP 1
S Problema di visualizzazione nel web PHP 6
G problema nel pubblicare un file di 10 minuti Flash 7
JellyBelly Problema con xsl con html nel db XML 2
G problema nel pubblicare in html da flash Flash 8
F Problema con scrittura dati nel DB Classic ASP 16
L problema nel ridimensionare un immagine... Classic ASP 2
cosov Problema con numeri nel form Classic ASP 2
lupin3m [help] problema nel controllare il filmato con i simboli Flash 7
I Problema SPAM nel forum Supporto Mr.Webmaster 1
giorgione_tg MySql semplice problema nel creare una tabella... Database 2
F Problema nel posizionare popup... Javascript 3
metalgemini Problema: non mi salva i dati nel db Classic ASP 11
S problema redirect e js nel mio sito Supporto Mr.Webmaster 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 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

Discussioni simili