Hoi,

In een script om foto's up te loaden wil ik controleren of een directory aanwezig is of dat hij aangemaakt moet worden. Hiervoor gebruik ik het volgende script, maar hij werkt niet. Ziet iemand wat ik fout doe?

$dirschooljaarslashes= "public_html/fotos/".$_POST["schooljaar"];
$dirschooljaar = stripslashes($dirschooljaarslashes);
if(is_dir($dirschooljaar)){
echo("Deze directory bestaat al! public_html/fotos/".$_POST["schooljaar"]."<br>");
}else{
ftp_mkdir ($con, $dirschooljaar);
echo("Directory $dirschooljaar aangemaakt!<br>");}
Geef volgende keer ook even je foutmelding aan, dat is al gelijk een stuk makkelijker voor ons.
Geeft je script geen foutmelding, echo dan af en toe wat, dan zie je waar je script uitkomt... Net zo makkelijk

1) Probeer met het volledige path te werken (vanaf de root gezien)
2) ftp_mkdir? Waarom niet mkdir?

Elwin
Laat maar ben er al uit...
Geen dank hoor..

Anyway, misschien wil je de oplossing met ons delen, zodat het probleem (en de oplossing) in de toekomst door andere gevonden kan worden...

Elwin
Normaal gesproken zou ik dat doen, maar in dit geval was het gewoon een domme fout...

Het bestand stond al in de map: public_html/
daarom mocht dat er niet meer voor staan in de is_dir functie...

bedankt voor het meedenken in ieder geval...
Nog een vraagje dan:
Als ik wil tellen hoeveel bestanden er in die directory staan, welke functie gebruik ik daarvoor?
Ik had zelf bedacht dat dit kon met:

count(file_exists(fotos/".$_POST["schooljaar"]));

Maar dan telt ie alleen de directory zelf...
Dat zal altijd 1 opleveren inderdaad.

<?php
$Pad = '.';
$D = Dir ($Pad);
$Aantal = 0;
while (false !== ($Entry = $Dir->read()))
{
if (is_file ($Entry))
{
$Aantal++;
}
}

echo "Er zitten {$Aantal} bestanden in directory {$Pad}";
?>

Zoiets zat ik aan te denken.
Ik krijg nu de volgende foutmelding:

Fatal error: Call to a member function on a non-object in /home/korhoen/public_html/admin.php on line 151

Komt dit omdat de string $Dir nergens aangemaakt wordt?

Reageren