Upload immagine

ahmadpour

Utente Attivo
10 Nov 2013
35
0
0
Ciao ho creato un upload di immagine che quando uno carica l'immagine gli appare sullo schermo e viene anche dentro una cartella. Nel database ho creato un altra colonna che si chiama image, li mi viene l'url dell'immagine. Il problema é che quando carico un immagine mi viene l'url su una nuova riga e non dove c'é l'utente.
Vorrei che l'url dell' immagine me lo metta sulla colonna image in base all' utente che l'ha caricata, e che quando l'utente cambia immagine l'url viene sostituito con quello della nuova immagine. Questo é il codice dell' upload:


HTML:
<?php 

if (mysql_query ($query, mysql_connect($host, $uname, $psw))) {
if (isset($_POST['upload'])) { 


 
	$user = 'users/'. $login->get_username(). "/profile_image";  
	mkdir("$user",0777); 
	
		
	$pathAndName = "$user/{$_FILES['img']['name']}"; 

    $query="INSERT INTO users (image) VALUES('$pathAndName',now())";
    if (move_uploaded_file($_FILES["img"]["tmp_name"], $pathAndName)) { 
		
		echo "<img src='$user/{$_FILES['img']['name']}' height='150' width='150' /><br>\n";
		mysql_query("INSERT INTO `users` (`image`) VALUES('$pathAndName')") or die(mysql_error());

    } else { 
        echo "Error"; 
    } 

} 

}

?>  


<form enctype='multipart/form-data' method='post' action='<?php echo $_SERVER['PHP_SELF'] ?>'> 

    <p><input name="img" type="file" size="40" enctype='multipart/form-data'/></p> 

    <p><input name="upload" type="submit" value="Carica immagine" /></p> 
</form>

Quando carico l'immagine me la visualizza peró vorrei che nella cartella l'immagine venga sostituita con l' username dell' utente, quindi nella cartella alla fine ci sara solamente un immagine visto che viene sostituita dall'ultima immagine caricata. Come posso fare? Ciao e grazie
 
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
da quello che ho capito tu vuoi esempio
l'utente "sofonisba" carica una foto chiamata pinco.jpg nella cartella
users/sofonisba/profile_image
e che la foto nella cartella diventi
sofonisba.jpg
giusto?
se è così ti basta (non sto a scrivere tutto)
PHP:
move_uploaded_file($_FILES["img"]["tmp_name"], "user/".$username."/profile_image".$username.".jpg");
però stai attento ad alcune cose
1) nella tabella user campo image devi inserire il nome modificato
2) fai l'insert solo la prima volta, tanto il nome dell'immagine non cambia, analogo discorso lo farei per la creazione della cartella
3)se è possibile caricare anche altri tipi di immagine come gif o png devi verificarne l'estenzione anche perche se lutente carica un'altra immagine con estenzione diversa le trovi entrambe cioè non sovrascrive

p.s.
abbandona le vecchie istruzioni mysql e passa alle mysqli o alla classe PDO
 

ahmadpour

Utente Attivo
10 Nov 2013
35
0
0
ciao
da quello che ho capito tu vuoi esempio
l'utente "sofonisba" carica una foto chiamata pinco.jpg nella cartella
users/sofonisba/profile_image
e che la foto nella cartella diventi
sofonisba.jpg
giusto?
se è così ti basta (non sto a scrivere tutto)
PHP:
move_uploaded_file($_FILES["img"]["tmp_name"], "user/".$username."/profile_image".$username.".jpg");
però stai attento ad alcune cose
1) nella tabella user campo image devi inserire il nome modificato
2) fai l'insert solo la prima volta, tanto il nome dell'immagine non cambia, analogo discorso lo farei per la creazione della cartella
3)se è possibile caricare anche altri tipi di immagine come gif o png devi verificarne l'estenzione anche perche se lutente carica un'altra immagine con estenzione diversa le trovi entrambe cioè non sovrascrive

p.s.
abbandona le vecchie istruzioni mysql e passa alle mysqli o alla classe PDO

Ciao ho scritto come hai detto tu peró invece di modificarmi il nome del file mi crea un' altra carella dentro profile_image cioé cosi
users/nome_utente/profile_image/nome_utente.jpg/immagine.jpg";

mi crea una cartella con il nome dell'utente.jpg, ma l'immagine rimane con lo stesso nome. Come posso fare?

Quando carico un immagine mi crea una nuova riga nella tabella mysql, io vorrei che mi inserisca l'url dell'immagine dove c'é le informazioni dell'utente e che cambi l'url quando l'utente cambia immagine. Scusa é che sono alle prime armi...
Ciao e grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
a parte che mi sono dimenticato uno slash
move_uploaded_file($_FILES["img"]["tmp_name"], "user/".$username."/profile_image/".$username.".jpg");

non capisco cosa intendi, move_uploaded_file non crea una cartella ma sposta il file nella cartella (percorso) indicato, la cartella la crei prima con mkdir, a parte che non capisco perchè crei una cartella per ogni utente dato da quello che dici le immagini dell'utente sono solo una, quindi nella stessa cartella ci possono stare le immagini di diversi utenti
 

ahmadpour

Utente Attivo
10 Nov 2013
35
0
0
ciao
a parte che mi sono dimenticato uno slash
move_uploaded_file($_FILES["img"]["tmp_name"], "user/".$username."/profile_image/".$username.".jpg");

non capisco cosa intendi, move_uploaded_file non crea una cartella ma sposta il file nella cartella (percorso) indicato, la cartella la crei prima con mkdir, a parte che non capisco perchè crei una cartella per ogni utente dato da quello che dici le immagini dell'utente sono solo una, quindi nella stessa cartella ci possono stare le immagini di diversi utenti

Ciao ho scritto cosi il codice per l

HTML:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">


<?php
if(isset($_FILES['file']['tmp_name'])) {
	
	$user = 'users/'. $login->get_username(). "/profile_image/";  
	mkdir("$user",0777); 
	
$fileCount =  $login->get_username();
$newName = $user . ( $fileCount) . '.png';
move_uploaded_file($_FILES['file']['tmp_name'], $newName);
echo $newName;
echo "<img src='$newName' width='150' height='170' /><br>\n";
		mysql_query("INSERT INTO `users` (`image`) VALUES('$newName')") or die(mysql_error());
}
?>

Nella colonna image sulla tabella users mi viene l'url dell' immagine peró voglio che mi venga nella stessa riga dove c'é scritto username, nome, cognome ecc. Quando carico un immagine l'url dell'immagine mi viene in un altra riga, come posso fare? Vorrei che quando l'utente carica un altra immagine l'url dell'immagine sulla tabella cambia in base all'immagine che ha caricato.
Ciao e grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Upload immagine con javascript problemi con FormData() Javascript 1
L Upload di un'immagine all'interno di un database usando php PHP 6
jailbait [PHP] Upload immagine e stampa a schermo PHP 0
G PHP upload dati ed immagine PHP 7
C [PHP] Upload immagine in un form con target _blank: non funziona PHP 7
Marcello.Fiore UPLOAD IMMAGINE AJAX Ajax 1
B Upload immagine con ajax post Ajax 5
MarcoGrazia Come si carica un'immagine in upload? PHP 1
L Upload immagine e update dati DB PHP 2
M Rinominare filename immagine prima di fare l'upload PHP 2
xone Rinominare immagine upload PHP 3
K Upload immagine su server remoto Sviluppo app per Android 1
IImanuII Modificare immagine in evidenza in upload. WordPress 0
L [php] upload controllo dimensione immagine PHP 8
A Immagine ricaricata dopo il refresh (upload) PHP 2
A Upload immagine profilo utente PHP 4
F resize di un'immagine dopo l'upload. PHP 0
F [Risolto] upload immagini con la classe di Baol74 con size immagine Classic ASP 15
K [PHP] multi upload immagine da form PHP 60
C ridurre dimensione file immagine prima dell'upload Javascript 0
L Passare ad uno script PHP i dati di un form incluso l'upload di un'immagine Ajax 0
giancadeejay upload immagine profilo utente PHP 3
giancadeejay upload immagine su profilo utente PHP 0
P Risuscito un vecchio script di upload immagine multiplo PHP 10
P [JSP] Upload Immagine Java 0
helpdesk Problema Upload non ridimensiona l'immagine PHP 4
S upload immagine multiple da inserire PHP 8
G inserire watermark su immagine in upload PHP 2
Y problema nell'upload di un'immagine PHP 7
J upload immagine PHP 0
S Problema upload immagine Classic ASP 4
M aiuto upload testo e immagine Classic ASP 1
A asp upload immagine Classic ASP 2
R upload e ridimensionamento immagine non funzionante PHP 0
Z Upload protetto e sicuro PHP 1
L Modifica file upload in ASP Classic ASP 2
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
Cosina Upload multiplo con invio allegati per email PHP 0
Cosina Upload multiplo con archiviazione in cartella PHP 16
P Script upload immagini jQuery 0
L upload image tramite url e cache PHP 10
W Non fa l'upload PHP 0
S Upload file senza doverlo selezionare PHP 2
P Upload foto cover e profilo jQuery 0
G Upload file error Apache 0
R Modifica codice per l'upload di più file PHP 1
S Problemi con modulo upload video php (help!) PHP 0
S [PHP] Upload stesso file PHP 14
max1974 [Javascript] dropzone upload to server Javascript 0

Discussioni simili