giikMedlem sedan mars 2002112 inlägg Jag har fått till en inloggning och så nu. Men nu är det så att medlemmarna ska kunna ladda upp bilder. Jag hade tänkt göra en mapp då som heter upload. Men då kom jag att tänka på.
Om medlemmarna laddar upp en bild som heter likadant? Hur gör man för att förhindra det?
Om du har ett inloggnings system och användarna måste vara inloggade för att kunna ladda upp så ksulle du ju kunna göra så att bilderna bytar namn till användarens ID med
rename();
giikMedlem sedan mars 2002112 inlägg Smart!
Du, det var ju inte sån dum idé. Ska ta och kolla upp det dära!
Smurto duh! :birp
MungoMedlem sedan jan. 2000372 inlägg Eller lägg filerna i en databas istället för i filsystemet.
giikMedlem sedan mars 2002112 inlägg jaha
Vad tjänar jag på att lägga in bilderna i en databas då? Det kan jag inte ens heller ;)
Fick inte ut nåt vettigt av själva rename funktionen iaf.
är det typ.
rename("gamla namnet", "nya namnet");
Fundelurar :p
Jag hade laddat upp bilden till en speciell katalog och sedan bara lagt in adressen till bilden i databasen.
Description
bool rename ( string oldname, string newname)
Attempts to rename oldname to newname.
Returns TRUE on success, FALSE on failure. Example 1. Example with rename()
<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>
http://www.php.net/manual/en/function.rename.php
giikMedlem sedan mars 2002112 inlägg okej, men jag har läst den där skiten på php.net men förstår likt förbannat inte..... :x
Lek lite med den så kommer du lyckas!
$fileext är filtypen på din bild!!! om du ska tillåta flera olika filtyper så skulle du kunna använda switch methoden...
Lycka till!
$nyttNamn = $_SESSION['id'].$fileext;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "FULL PATH TILL KATALOGEN".$nyttNamn)){
echo "Filen är uppladdad under namnet ".$nyttNamn;
} else echo "Filuppladdningen misslyckades !!";
} else {
giikMedlem sedan mars 2002112 inlägg okej!
Nu funkar det iaf att ladda upp filer. Så här ser koden ut.
<?
$dir ="Path till mappen";
?>
<?
if($send){
if(!($bild==""||$bild=="none")){
copy($bild,$dir.$bild_name);
echo "Din bild laddades upp utan problem";
echo "<br>";
}
}
?>
Det som saknas nu är just det att döpa om filen till userns id.
giikMedlem sedan mars 2002112 inlägg Haha, Det klöras ganska bra. Nu har jag fått till så filen byter namn....Men det blir inte .jpg eller .gif
Måste jag fixa en kod som kollar vad det är för filtyp. Om vi säger att bara .jpg och .gif ska kunna laddas upp?
Kan man använda sig av $fil_type nånstans tro?
*fundelurar* :D
startailMedlem sedan sep. 2000155 inlägg Kan ge dig ett exepel på ett sätt jag använt mig av i ett av mina gamla projekt.
if ($file != "none") {
if (eregi(".jpg|.png|.gif|.jpeg",$file_name)) {
$file_type = explode(".", $file_name);
$final_file = "$id.$file_type[1]";
copy($file, "members/$final_file");
unlink($file);
} else $final_file = "";
} else $final_file = "";
Dock märkte jag att det funkar inte så bra om folk har "." i filnamnet mer än den som skall vara mellan namnet å filtypen. Men hur många har det :h
Ska tilägga oxå att jag använder $final_file till att lägga in i en databas lite senare i koden om nån undrar vad jag pysslar med :)
Till koden jag skickade till dig skulle du kunna använda:
switch ($_FILES['userfile']['type']){
case "image/gif":
$fileext = ".gif";
break;
case $_FILES['userfile']['type']="image/jpeg" ||$_FILES['userfile']['type']="image/pjpeg":
$fileext = ".jpg";
break;
case $_FILES['userfile']['type']="image/png" ||$_FILES['userfile']['type']="image/x-png":
$fileext = ".jpg";
break;
ThACRoWMedlem sedan dec. 2001314 inlägg
Mungo skrev:
Eller lägg filerna i en databas istället för i filsystemet.
Kan du förklara det där lite närmre?
U2KMedlem sedan jan. 2000224 inlägg Jag lägger in bildsökvägen i en databas och då kan man skita i om den skulle heta upload eller ej.
Jag har ett uppladdning system!!!!! Bytar namn till användarens ID, sen lägger in sökväg i MySQL´en m.m
giikMedlem sedan mars 2002112 inlägg hey
Nu har jag varit frånvarande ett tag. ursäkta. Men nu har jag fått till att koden kopierar och byter namn på filen. Men nu tänkte jag lägga in sökvägen till bilden i databasen...Men de funkar inte riktigt.
Så här ser det ut:
$sql ="INSERT INTO banner(bild) VALUES('$dir') WHERE nick ='$user'";
Tar jag bort WHERE nick = user grejen. Då kommer sökvägen in i tabellen. Men i ett nytt fält. Nån som ser felet? ;)
$sql ="UPDATE banner SET bild = '$dir' WHERE nick ='$user'";