Archief - PHP : Uploadsysteem voor foto's

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Bertold

Legacy Member
Ik ben bezig aan een website voor een vereniging en die site maakt gebruik van een CMS en daarmee zou het moeten mogelijk zijn om foto's te uploaden.
Dit zou niet te ingewikkeld moeten zijn. Het zou mogelijk moeten zijn mappen aan te maken met daarin foto's.
Ik heb echter geen idee hoe ik er zou moeten aan beginnen.
Kan iemand mij (op weg) helpen?

MVG.

orez

Legacy Member
php.net:
- mkdir
- $_FILES

dit zou genoeg moeten zijn qua hint ... de rest vind je zelf wel :p, met uitgewerkte voorbeelden zelfs...

Dece

Legacy Member
- is_uploaded_file()
- move_uploaded_file() of copy()

niet vergeten ;)

Bertold

Legacy Member
Kben al aardig op weg maar kheb een probleempje nu:

PHP:
<html>
<head>
<title>upload-systeem</title>
</head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post">
<select name="map">
<?php
if ($handle = opendir("fotos"))
	{
   		while (false !== ($file = readdir($handle)))
		{
            echo '<option value="'.$file.'">'.$file.'</option>';
   		}
	}
?>
</select>
<input type="text" name="dir" />
<input type="file" name="file" />
<input type="submit" value="submit" />
</form>
</body>
</html>
Ik zou graag alle mappen in de map fotos willen weergeven in een selectie lijstje.
Maar de eerste twee options die worden weergegeven zijn . en .. terwijl er niet zo'n mappen in mn map staan ... hoe kan ik dat weg krijgen? bij voorbaat dank ;)
screentje : http://brecht.cheapass.be/foutje.JPG

Fr3aK

Legacy Member
PHP:
<?php
if ($handle = opendir("fotos")) {
  while (false !== ($file = readdir($handle))) {
    if (($file != ".") && ($file != "..")) {
      echo '<option value="'.$file.'">'.$file.'</option>';
    }
  }
}
?>

Bertold

Legacy Member
nog een vraagje: moet je bij de functie move_uploaded_file() ook de bestandsnaam geven of enkel het pad?
dus als de img foto.jpg is moet het dan
move_uploaded_file($_FILES['file']['tmp_name'],mapwaarhetbestandmoet/foto.jpg);
of
move_uploaded_file($_FILES['file']['tmp_name'],mapwaarhetbestandmoet/);
zijn?

orez

Legacy Member
1ste, en dan geefde ipv foto meestal pad + $_FILES['name'] mee :), tenzij je een eigen uitgedokterd filename algoritme schrijft natuurlijk..

|M°B|Morbuus

Legacy Member
ipv te kijken voor die "." en ".." zoude beter serieus doen en al u output onder

if (is_file ($file)) {

brengen

Bertold

Legacy Member
$result = mysql_query("SELECT*FROM images WHERE map=".$map." ")
hier heb ek een foutje en ik weet niet wat?
de $map staat zeker in de database in de kolom map en toch komt dit :

Onbekende kolom 'Fotos' in where clause

p.s. $map = Fotos

wie weet wat er mis is?

xml

Legacy Member
PHP:
$result = mysql_query("SELECT * FROM images WHERE map='".$map."'")

Let op de ' die ik toegevoegd heb. ;)

killgore

Legacy Member
als ge u bestand geupload hebt altijd chmodden (liefst naar 777) via php zelf

anders kunde nie meer via ftp verwijdere :).

Fr3aK

Legacy Member
|M°B|Morbuus zei:
ipv te kijken voor die "." en ".." zoude beter serieus doen en al u output onder

if (is_file ($file)) {

brengen
Hij wil mappen weergeven dus is het normaal is_dir maar dan gaat hij "." en ".." ook weergeven omdat dat ook "mappen" zijn... ;)

Bertold

Legacy Member
Coax zei:
Gallery heeft een banglijk upload systeem. Met applets enzo...
Als ge gpl gaat kunt ge het pikken. :)

Thx maar kzou het eigenlijk liever zelf maken. Ook om beetje te kijken hoe ver ik al sta met php (ben er nu al zo'n 2maandjes mee bezig) dus maak ek et liever zelf, toch bedankt ;)

orez

Legacy Member
killgore zei:
als ge u bestand geupload hebt altijd chmodden (liefst naar 777) via php zelf

anders kunde nie meer via ftp verwijdere :).

755 is meer of genoeg ;)

*edit: voor php chmod functie te gebruiken dien je wel telkens een 0 voor de chmod code te zetten

chmod(bestand, 0755);

bv ..

killgore

Legacy Member
ru`orez zei:
755 is meer of genoeg ;)

*edit: voor php chmod functie te gebruiken dien je wel telkens een 0 voor de chmod code te zetten

chmod(bestand, 0755);

bv ..
dunno, heeft 5 de mogelijkheid tot deleten? Kdenk da ge daar write rights voor nodig hebt, dus 6

dJeez

Legacy Member
Wat Unix (en dus ook Linux) betreft :
Om een bestand te kunnen deleten heb je enkel schrijfrechten nodig op de folder waar het bestand staat (dat bestand hoeft daarom niet eens lees- of schrijfbaar te zijn voor u). Om een bestand te kunnen lezen/schrijven heb je lees-/schrijfrechten nodig op het bestand.

Dat is tenminste het geval voorzover je geen gebruik maakt van een extra ACL layer (zoals SELinux), waar je de toegangsrechten nog stricter in kan stellen.

orez

Legacy Member
killgore zei:
dunno, heeft 5 de mogelijkheid tot deleten? Kdenk da ge daar write rights voor nodig hebt, dus 6

die eerste 7 staat tot de account van de ftp... alé, als het zo deftig is ingesteld btw, de volgende 2 staan op je bezoekers/groups :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan