Mappen aanmaken en foto's in deze map weergeven
Alle foto's die dan in deze map geupload worden ik willen tonen. Iemand die weet hoe ik dit kan doen?
Welke functies?
Eventueel een voorbeeld script?
Alvast bedankt !
Maar zou graag weten hoe je die bestanden uit deze map kunt lezen en dan kunt uitprinten op de pagina?
Bedankt
Frank van sloten op 04/01/2012 20:36:53:
Zet jij de deur altijd open voor hackers met 0777?
Verder ook geen: die('Failed to create folders...'); doen maar op de juiste plaats een fout loggen.
- Aar - op 04/01/2012 22:00:41:
Zet jij de deur altijd open voor hackers met 0777?
Frank van sloten op 04/01/2012 20:36:53:
Zet jij de deur altijd open voor hackers met 0777?
Als $_POST['naam'] niet is gecontroleerd op geldigheid is het script toch al open voor hackers.
Tevens strek ik dit stukje ook zomaar van internet via Google.nl 2 hit.
Was was bedoelt als kleine voorbeeld.
Gewijzigd op 05/01/2012 00:06:19 door Frank WD
Code (php)
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
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
<?php
# De map:
$directory = 'testmap/ test';
# Hiermee haal je alle niet numerieke of letters uit $directory.
# Dit gebruik je al je wilt dat hij eerst de map testmap aanmaakt, dan test enzovoort:
$directory = preg_replace('/[^a-zA-Z0-9\/\s]/', '', $directory);
# Dit gebruik je als je wilt dat hij maar één map aanmaakt:
$directory = preg_replace('/[^a-zA-Z0-9\s]/', '', $directory);
# Nu verander spaties in onderliggende streepjes:
$directory = str_replace(' ', '_', $directory);
# Je zou nog een soort van random nummer kunnen toevoegen, zodat de kans kleiner is
# op dezelfde mapnamen.
# Dit zou dan zoiets zijn:
# $directory .= rand(1000000,9999999);
# Kijk eerst of het bestand al dan niet bestaat (map):
if(!file_exists($directory)) {
# Maak de directory, voor meerdere mappen:
mkdir($directory, 0, true);
# Voor een map:
mkdir($directory);
# Laat alleen mensen toe om de foto's te zien:
chmod($directory, 0644);
}
# Als het al bestaat:
else {
echo 'De map bestaat al!';
}
# Wanneer de map gemaakt is en dat succesvol verlopen is, zul je dit samen
# met de info van het huis in een database moeten stoppen.
# Wanneer je dan iemand een nieuwe foto laat toevoegen, haal je gewoon
# de locatie op waar de map zich bevind en kun je gewoon met dit:
# move_uploaded_file($tmp_name, $directory.$pictureName); de bestanden uploaden
# naar de juiste directory.
# $tmp_name is bijvoorbeeld: $_FILES['picture']['tmp_name'] en
# $pictureName is gewoon de naam van je foto, maak zeker dat alle niet gewone
# tekens geschrapt worden!
# En check de foto's of andere bestanden ook eerst goed voordat je ze upload...
?>
# De map:
$directory = 'testmap/ test';
# Hiermee haal je alle niet numerieke of letters uit $directory.
# Dit gebruik je al je wilt dat hij eerst de map testmap aanmaakt, dan test enzovoort:
$directory = preg_replace('/[^a-zA-Z0-9\/\s]/', '', $directory);
# Dit gebruik je als je wilt dat hij maar één map aanmaakt:
$directory = preg_replace('/[^a-zA-Z0-9\s]/', '', $directory);
# Nu verander spaties in onderliggende streepjes:
$directory = str_replace(' ', '_', $directory);
# Je zou nog een soort van random nummer kunnen toevoegen, zodat de kans kleiner is
# op dezelfde mapnamen.
# Dit zou dan zoiets zijn:
# $directory .= rand(1000000,9999999);
# Kijk eerst of het bestand al dan niet bestaat (map):
if(!file_exists($directory)) {
# Maak de directory, voor meerdere mappen:
mkdir($directory, 0, true);
# Voor een map:
mkdir($directory);
# Laat alleen mensen toe om de foto's te zien:
chmod($directory, 0644);
}
# Als het al bestaat:
else {
echo 'De map bestaat al!';
}
# Wanneer de map gemaakt is en dat succesvol verlopen is, zul je dit samen
# met de info van het huis in een database moeten stoppen.
# Wanneer je dan iemand een nieuwe foto laat toevoegen, haal je gewoon
# de locatie op waar de map zich bevind en kun je gewoon met dit:
# move_uploaded_file($tmp_name, $directory.$pictureName); de bestanden uploaden
# naar de juiste directory.
# $tmp_name is bijvoorbeeld: $_FILES['picture']['tmp_name'] en
# $pictureName is gewoon de naam van je foto, maak zeker dat alle niet gewone
# tekens geschrapt worden!
# En check de foto's of andere bestanden ook eerst goed voordat je ze upload...
?>
Je kan beter checken op welke characters je wél toestaat. Nu kan er nog steeds rommel tussen zitten.
Ik heb het nu alpha numeriek gemaakt. Maar ik deed dat eerst niet omdat je anders geen onderliggende mappen kon aanmaken.
Maar ik heb er even vlug een preg_replace aan toegevoegd zodat dat wel kan!
@Daan C
Dus normaal zou het nu toch wel veilig moeten zijn. Natuurlijk weet ik niet hoe je je bestanden controleert wanneer je ze opslaat enzovoort!
Gewijzigd op 07/01/2012 01:58:11 door Daan C