Ik probeer voor het eerst een systeempje te maken waarmee ik avantars kan uploaden. Maar op de een of andere manier slaat hij hem niet op. Weet iemand wat ik fout gedaan heb.
if(isset($_POST['avantaropslaan'])) {
//kijken of er een bestand is geselecteerd
if(isset($_FILES['bestand'])) {
//het bestand verplaatsten naar de juiste map op de server
move_uploaded_file($_FILES['bestand']['tmp_name'], "/httpdocs/login/avantar/");
//berichtje om te laten zien dat het bestand is opgeslagen
echo "Het bestand is opgeslagen";
}
}
Er moet ook een doel-bestandsnaam worden opgegeven in move_uploaded_file. Nu is er enkel een directory ingevuld ("avantar/") waarin het overigens moet zijn toegestaan om hier naar te schrijven.
oops type foutje whahaha ja dat bedoelde ik hier boven.
ja inderdaad de map even CMOD naar 755 doen meen ik en het zou moeten werken. CMOD kan je via ftp ook via het cmod commando (php)
PHP.net: rename PHP.net: move_uploaded_file
De 2e functie moet je altijd gebruiken, om het van een tmp map naar een gewone map te verplaatsen.
En dan kun je ook meteen de naam veranderen.
en dit is de error: Warning: rename(1,ava_'1'.'/tmp/phpcMTxKs') [function.rename]: No such file or directory in /home/media/domains/fi-media.net/public_html/jeroen/leden/avatar.php on line 19
waarom rename je hem?
je kan toch zelf een naam opgeven... bijvoorbeeld gebaseerd op de gebruiker?
"./map/".$username."id".$id.".gif"
dan zou het plaatje zijn:
/map/Warbringerid1.gif
bijvoorbeeld. Heb je altijd een uniek plaatje want de ID haal je uit je SQL met "SELECT COUNT()" en de naam is lijkt me ook uniek ten alle tijden toch?
maar ik geef hem een bepaalde naam om hem handiger te maken dan bv een lange naam, en ik plaats dezelfde naam in de DB is best handig maar hoe doe ik dat dan in dit script: de naam moet als volgt zijn:
ava_{user_id} . ext (user id zit in de sessie $_SESSION['user_info']['id']
dan krijg je als naam bijv: ava_21.jpg
maar ik raad aan dit toch op basis van username te doen, aangezien cookies ook "dood" gaan en je dan een tweede ava_21.jpg zou kunnen krijgen
maar de naam van het bestand blijft het zelfde, bv file_naam.gif en veranderd niet naar de juiste naam en als de file is geuploud krijg ik dit als resultaat :
Uw bestand ava_1/tmp/php4UUGe0 is geupload en dit staat in de DB : ava_1/tmp/php4UUGe0
dus klopt ook niet helemaal kan iemand mij helpen ?
Ik heb de code van kickasgamer gebruikt maar ik loop bij het onderstaande stukje vast
elseif(!move_uploaded_file($_FILES['afbeelding']['tmp_name'],$locatie.$_FILES['afbeelding']['name'])){
echo" het bestand kan niet worden verplaatst";
exit;
en krijg dus de foutmelding: bestand kan niet verplaatst worden