Avatar billede boselbach Nybegynder
14. januar 2005 - 00:40 Der er 9 kommentarer og
1 løsning

upload billed

Hej
Jeg er ved at lave et billed gallari, hvor man kan uploade sine billeder, virker også fint med at uploade.
Hvis jeg så har et billed der hedder bo.gif og det vil jeg gerne uploade, hvordan laver jeg så, så php tjekker om der allerede er et billed der hedder bo.gif i min upload mappe på serveren? eller er der en smartere måde at lave det på?
Mvh
Bo
Avatar billede detox Nybegynder
14. januar 2005 - 00:48 #1
Jeg lavede engang denne funktion til formålet:

function tjekfil($filnavn) {
    $i = 0;
    $arr = explode(".", $filnavn);
    $ext = array_pop($arr);
    $navn = implode(".", $arr);
    $navn = str_replace(' ', '_', $navn);
    while (is_file($filnavn)) {
        $i++;
        $filnavn = $navn . "_" . sprintf("%06u", $i) . "." . $ext;
    }
    return $filnavn;
}

Du bruger den sådan her:

$uploaddir = "uploads/"; // Mappe til uploadede billeder
    $name = $_FILES['upfile']['name'];
    $dest = $uploaddir . $name;
    $dest = tjekfil($dest);
Avatar billede detox Nybegynder
14. januar 2005 - 00:51 #2
Den vil så lave:
bo.gif til: bo_000001.gif, bo_000002.gif, osv...
Avatar billede boselbach Nybegynder
14. januar 2005 - 01:05 #3
Jeg har prøvet at smide det ind i mit, men jeg kan ikke helt få det til at virke kan du se fejlen?

<?
function tjekfil($filnavn) {
    $i = 0;
    $arr = explode(".", $filnavn);
    $ext = array_pop($arr);
    $navn = implode(".", $arr);
    $navn = str_replace(' ', '_', $navn);
    while (is_file($filnavn)) {
        $i++;
        $filnavn = $navn . "_" . sprintf("%06u", $i) . "." . $ext;
    }
    return $filnavn;
}




$maxstr = "2048"; //2 mb
$filstr = $_FILES['fil']['size']/1024;
$tmpfil = $_FILES['fil']['tmp_name'];
$filnavn = $_FILES['fil']['name'];
$til = "./updir" . "/" . "$filnavn";

if($filstr > $maxstr){
    echo "Dit billed er for stort, beklager!";
} else {
    tjekfil($filnavn);
    move_uploaded_file($tmpfil,$til);
    echo "Dit billed er blevet uploadet!";
}
?>

Mvh Bo
Avatar billede boselbach Nybegynder
14. januar 2005 - 01:21 #4
sorry den sidste del af koden ser sådan her ud
} else {
    tjekfil($filnavn);
    $filnavn = tjekfil($filnavn);
    $til = "./updir" . "/" . "$filnavn";
    move_uploaded_file($tmpfil,$til);
    echo "Dit billed er blevet uploadet!";
}
?>
men jeg kan stadigvæk ikke få det til at virke
Avatar billede detox Nybegynder
14. januar 2005 - 01:30 #5
Du skal nok rette:

tjekfil($filnavn);

til:

$til = tjekfil($til);
Avatar billede detox Nybegynder
14. januar 2005 - 01:31 #6
Altså:

} else {
    $til = "./updir" . "/" . "$filnavn";
    $til = tjekfil($til);
    move_uploaded_file($tmpfil,$til);
    echo "Dit billed er blevet uploadet!";
}
Avatar billede boselbach Nybegynder
14. januar 2005 - 01:44 #7
nice :)
Nu virker det tak for hjælpen!
mvh Bo
Avatar billede detox Nybegynder
14. januar 2005 - 01:45 #8
Velbekommen
Avatar billede boselbach Nybegynder
14. januar 2005 - 01:46 #9
hmm hvordan giver jeg dig de point, jeg skrev en besked og trykkede svar men jeg kan ikke vælge dit navn?
Avatar billede boselbach Nybegynder
14. januar 2005 - 01:46 #10
sådan :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester