Toon posts:

[PHP] Bestand uploaden, filename behouden? + browsen map?

Pagina: 1
Acties:
  • 55 views sinds 30-01-2008

Verwijderd

Topicstarter
ik heb een scriptje gevonden voor mn site. deze werkt nu, alleen geeft hij elke file een andere (nieuwe naam)
Dit vind ik erg onprettig, omdat het dan onherkenbaar word, maar ik heb echt geen idee hoe ik het goed kan krijgen :|
code:
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<html>
<head><title>Uploaden</title>
<link href="../styler.css" rel="stylesheet" type="text/css">
</head>
<body>

<? 

// De variabelen 

$path = "../../uploads/"; 
$file_size_max = 2000 * 1600; 
$possible_size = round($file_size_max / 1600); 
$possible_extensions = array ('jpg', 'jpeg', 'pjpg', 'gif', 'bmp', 'html', 'php', 'txt', 'doc', 'png', 'ai', 
'zip', 'rar', 'mp3' , 'wav', 'ogg', 'gba', 'sav'); 
$count_possible_extensions = count($possible_extensions); 

if (!$case) 
{    
$case = 1;    
}    
switch ($case) 
{ 
    
case 1: 
?> 
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> 
<table border="1" cellspacing="0" cellpadding="4"> 
<tr> 
<td> 
<b>Bestand uploaden</b> 
<br> 
<br> 
<b>Maximaal:</b> <? echo "$possible_size"; ?> kb 
<br> 
<b>Extensies:</b> 

<? 
for ($i = 0; $i < $count_possible_extensions; $i++ ) 
{ 
echo $possible_extensions[$i] . "&nbsp;&nbsp;"; 
} 

?>   
<br> 
<br> 
<input type="file" name="plaatje" size="40"> 
<br> 
<br> 
<input type="hidden" name="case" value="2"> 
<input type="submit" value="Upload"> 
</td> 
</tr> 
</table> 
</form> 
<? 
break; 

case 2: 

if(!$_FILES[plaatje]) 
{ 
echo"Je hebt geen bestand geselecteerd"; 
} 
if($_FILES[plaatje]) 
{ 
$file_size = round($_FILES[plaatje][size] / 1024); 
$file_type = $_FILES[plaatje][type]; 
$file = basename($_FILES[plaatje][name]); 
$ext = explode(".", $file); 
$file_extension = $ext[1]; 
$file_name = $ext[0]; 

if($file_size > $possible_size) 
{ 
echo "<b>Fout:</b> Uw plaatje is groter dan <b>$possible_size</b> kb"; 
} 
if (!in_array(strtolower($file_extension),$possible_extensions)) 
{ 
echo "<b>Fout:</b> Uw plaatje is niet van het type: "; 

for ($i = 0; $i < $count_possible_extensions; $i++ ) 
{ 
echo "<b>$possible_extensions[$i]<b>&nbsp;&nbsp;"; 
} 

} 
else 
{ 

// De naam van de file veranderen in bv. artikel_pic0 

$file_name = "upload";    
$n = 0; 
$temp_name = $file_name; 

// Check of file al bestaat, zo ja, filename verhogen 

while (file_exists($path . $temp_name . $n . "." . $file_extension)) 
{ 
$n = $n + 1; 
} 
$file_name = $file_name . $n; 

if(move_uploaded_file($plaatje, $path . $file_name . "." . $file_extension)) 
{ 
echo"Het bestand <b>$file</b> van <b>$file_size</b> kb, met de extensie 

<b>$file_extension</b> is geupload naar 
<b>$path</b> als <b>$file_name</b>"; 
} 
else 
{ 
echo"Het uploaden van <b>$file</b> is niet gelukt"; 
} 
} 
} 
break; 
} 
?> 
</body>
</html>


en meteen nog maar een vraag. kan ik met een scriptje alle bestanden die in een map weergeven (zonder moeilijkheden, alleen filenaam, en grootte, zegmaar zoals de standaard browsing.)

[ Voor 39% gewijzigd door Verwijderd op 19-05-2004 00:06 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Ehm, het is niet de bedoeling van dit forum dat je andermans code gaat posten en vraagt of wij het ff voor je aanpassen (waar dit topic wel op neerkomt). Verder zijn er zat scripts te vinden op Hotscripts die wel precies doen wat je wil, dus waarom je nou net dit script genomen hebt is mij een raadsel. :)

Om je niet helemaal met een kluitje in het riet te sturen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
$file_name = "upload";    
$n = 0; 
$temp_name = $file_name; 

// Check of file al bestaat, zo ja, filename verhogen 

while (file_exists($path . $temp_name . $n . "." . $file_extension)) 
{ 
$n = $n + 1; 
} 
$file_name = $file_name . $n;

Hier moet je iets mee doen. In principe kan dit hele stuk eruit, maar dat betekent wel dat je bestanden die al bestaan gaat overschrijven. Maar je hebt sowieso al geen bijster goed script, dus dat zal ook zoveel verschil niet maken. :)

[ Voor 48% gewijzigd door NMe op 19-05-2004 00:13 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
NMe84 schreef op 19 mei 2004 @ 00:08:
Ehm, het is niet de bedoeling van dit forum dat je andermans code gaat posten en vraagt of wij het ff voor je aanpassen (waar dit topic wel op neerkomt). Verder zijn er zat scripts te vinden op Hotscripts die wel precies doen wat je wil, dus waarom je nou net dit script genomen hebt is mij een raadsel. :)

Om je niet helemaal met een kluitje in het riet te sturen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
$file_name = "upload";    
$n = 0; 
$temp_name = $file_name; 

// Check of file al bestaat, zo ja, filename verhogen 

while (file_exists($path . $temp_name . $n . "." . $file_extension)) 
{ 
$n = $n + 1; 
} 
$file_name = $file_name . $n;

Hier moet je iets mee doen. In principe kan dit hele stuk eruit, maar dat betekent wel dat je bestanden die al bestaan gaat overschrijven. Maar je hebt sowieso al geen bijster goed script, dus dat zal ook zoveel verschil niet maken. :)
Het is een script dat iedereen gewoon mag gebruiken :? (phpfreakz.nl) maar daar was dit het simpelste wat ik kon vinden (file uploaden, verder niks eigenlijk)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 19 mei 2004 @ 00:18:
[...]

Het is een script dat iedereen gewoon mag gebruiken :? (phpfreakz.nl) maar daar was dit het simpelste wat ik kon vinden (file uploaden, verder niks eigenlijk)
De scripts op HotScripts.com mag ook gewoon iedereen gebruiken dus ik kan je aanraden daar eens te kijken. En dit script is brak omdat je geen bestanden met meer dan 1 punt kan uploaden. Hernoem maar eens een bestand naar foo.bar.jpg, dan krijg je het niet geupload, omdat dit script denkt dat het bestandstype 'bar' is... Rotscript dus. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
NMe84 schreef op 19 mei 2004 @ 00:21:
[...]

De scripts op HotScripts.com mag ook gewoon iedereen gebruiken dus ik kan je aanraden daar eens te kijken. En dit script is brak omdat je geen bestanden met meer dan 1 punt kan uploaden. Hernoem maar eens een bestand naar foo.bar.jpg, dan krijg je het niet geupload, omdat dit script denkt dat het bestandstype 'bar' is... Rotscript dus. :)
files met 2 punten wil ik sowiso niet denk ik :P, dan krijg ik virus.exe.jpg :P. (niet dat het nu veilig is :P, maar ik zoek het ook niet op)

Ik zal daar eens kijken.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

• Debuggen van 122 regels code mag je zelf doen, kom maar terug als je het probleem geisoleerd hebt tot 10 regels.
• Support op andermans' scripts doen we niet aan, mail de maker.
• Vragen naar nieuwe code doen we ook niet aan, Programming & Webscripting gaat over zelf programmeren.

Zie stickies in Programming & Webscripting voor verdere toelichting ;)

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.