Naam meegeven bij uploaden van een afbeelding.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Olivier

Olivier

31/07/2006 15:54:00
Quote Anchor link
Graad had ik geweten hoe ik een afbeelding dat zowel in de map genaamd 'map/' als 'map/thumbs/' een eigen naam kan meegeven m.b.v. dit script?

De naam moet niet via een form ingevuld kunnen worden. Ik beslis de naam zelf met een ID die uit een cookie komt, en daarachter nog een reeks getallen die ik zelf zal bepalen.

Om dit kort samen te vatten;
De naam van de afbeelding die upgeload moet worden moet gelijk zijn aan de waarde van de variabele die ik zelf bepaald heb.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php

// Mappen CHMOD 777 !

if(isset($_POST['uploaden'])){

    $dir = "map/";  // map voor images
    
    $thumb_dir = "map/thumbs/"; // map voor thums
    
    $maxsize = 256000; // maximum groote images
    
    $max_y = 64; // maximum hoogte thumbs
    
    $max_x = 84; // maximum breedte thumbs
    
    $pathinfo = pathinfo($_FILES['bestand']['name']);
    
    $ext =  $pathinfo["extension"];
    
    switch($ext){
    
    case
"jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
    break;
    
    case
"jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
    break;
    
    case
"gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
    break;
    
    case
"png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
    break;
    
    
    default :
$wrongext = 1;
    
    }

    
    if(isset($wrongext)){
    
        $error = "Verkeerde Extensie";
    
    }
else{
    
        if($_FILES['bestand']['size'] > $maxsize){
        
        $error = "Bestand is te groot";
        
        }
else{
        
        $succes = true;
        
        }
    
    }

    
    if(!isset($succes) || isset($error)){
    
        echo "<b>Er is een fout op getreden:</b><br>";
    
        echo $error;
    
        imagedestroy($thumb);
    
    }
else{
    
        move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$_FILES['bestand']['name']) or die("Kan niet uploaden");
        
        $x = imagesx($thumb);
        
        $y = imagesy($thumb);

        if(($max_x/$max_y) < ($x/$y)){
        
                $eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");
            
            }
else{

                $eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");
            
            }

        
        imagecopyresampled($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");
        
        imagegif($eind, $thumb_dir.$_FILES['bestand']['name']) or die("Fout: imagegif()");
        
        imagedestroy($thumb);
        
        imagedestroy($eind);
        
        echo "<a href=\"".$dir.$_FILES['bestand']['name']."\" target=\"_blank\"><img src=\"".$thumb_dir.$_FILES['bestand']['name']."\" border=\"0\"></a>";
    
    }
    
}


echo "<b>Image Upload</b>";

echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" enctype=\"multipart/form-data\" name=\"form\" id=\"form\">";

echo "<input name=\"bestand\" type=\"file\" id=\"bestand\">";

echo "<input name=\"uploaden\" type=\"submit\" id=\"uploaden\" value=\"Uploaden\">";

echo "</form>";

?>


Ik dank u bij voorbaat voor uw hulp !!
Mocht ik onduidelijk geweest zijn, twijfel dan niet om nog vragen te stellen.


Vriendelijke groeten,
Olivier
 
PHP hulp

PHP hulp

22/11/2024 06:08:25
 
Gerben G

Gerben G

31/07/2006 16:06:00
 
Roy Bongers

Roy Bongers

31/07/2006 16:09:00
Quote Anchor link
Je moet die $_FILES['bestand']['name'] vervangen door je eigen naam.
 
Olivier

Olivier

31/07/2006 16:15:00
Quote Anchor link
Allereerst, bedankt voor het snelle antwoord !

Ik heb het aangepast, en het werkt !
Kan het kwaad dat hij geen extensie meer meegeeft omdat ik een eigen naam eraan geef?

Hij geeft de afbeeldingen alleszins perfect weer..
Als test heb ik het upgeloade bestand 'naam2' genoemd. En deze staat dus opgeslaan als 'naam2' en niet 'naam2.jpg' of een andere extentie.
 
Roy Bongers

Roy Bongers

31/07/2006 17:00:00
Quote Anchor link
Je kan zelf de extentie er nog achter zetten. Dan moet van je naam gewoon naam2.jpg maken. Of je zoekt server side uit welk type de afbeelding is en zet er dan de extensie achter.

$filename . '.' . $extension;
 
Olivier

Olivier

31/07/2006 17:14:00
Quote Anchor link
Is gebeurd, dankje.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.