Ik heb een script om automatisch een mapje te maken:
(http://www.phphulp.nl/php/scripts/7/406)
<?php

function my_ftp_mkdir ($path, $dir) {
$server = "";

// connect naar de ftp server
$connection = ftp_connect ($server);

// inloggen op de ftp server
$user = "";
$pass = "";
$result = ftp_login ($connection, $user, $pass);

if ((!$connection) || (!$result)) {
return false;
}
// ga naar de dir die als argument aan de functie is meegegeven
if (!@ftp_chdir ($connection, $path)) {
ftp_close($connection); // ftp verbinding verbreken
return false;
}

// nu de map maken en de rechten goed zetten
if (!@ftp_mkdir($connection, $dir)) {
ftp_close($connection); // ftp verbinding verbreken
return false;
}

$chmod_cmd = "CHMOD 0755 " . $dir;
$chmod = ftp_site($connection, $chmod_cmd);

ftp_close($connection); // ftp verbinding verbreken

return true;
}

?>

<?php
// nieuwe map maken
if (my_ftp_mkdir ('public_html/div/cms/images/screens/', 'nieuwe_map')) {
echo 'De map is aangemaakt';
}
else {
echo 'Fout bij het aanmaken van de map';
}

?>

Maar nu wil ik dat er gelijk een submapje bij wordt gemaakt. Dus nu wordt er de map 'nieuwe_map' gemaakt. Maar ik wil er gelijk een submapje in hebben, dus bijvoorbeeld: 'nieuwe_map/submap'.
Ik heb al verschillende dingen geprobeerd, maar zonder succes en ik ben net begonnen met PHP, dus wil over deze functie wel wat meer leren...
Iemand een idee?
<?php
// nieuwe map maken
if (my_ftp_mkdir ('public_html/div/cms/images/screens/', 'nieuwe_map'))
{
if (my_ftp_mkdir ('public_html/div/cms/images/screens/nieuwe_map', 'submap'))
{
echo 'Mappen zijn aangemaakt';
}
else
{
echo 'Submap niet aangemaakt';
}
}
else
{
echo 'Fout bij het aanmaken van de mappen';
}
?>
Hmmz, het werkt wel bij vaste namen. Maar het probleem is dat ik voor die nieuwe map een variabele gebruik. Want ik voeg iets toe in de database en de nieuwe map wordt dan vernoemd naar het laatste id uit de database. Dit lukt allemaal wel, maar ik wil in dat nieuwe mapje gelijk een submapje hebben.

<?php
//Haal de laatste id uit de tabel
game = $db->Execute("SELECT id FROM tabel ORDER BY id DESC LIMIT 1");

//Start de loop
while ($dirname = $game->FetchNextObject())
{
// map maken
if (my_ftp_mkdir ('public_html/div/cms/images/screens/', "$dirname->ID"))
{
echo 'De map is aangemaakt';
}
//Niet gelukt?
else {
echo 'Fout bij het aanmaken van de map';
}
}

?>

Dit lukt dus wel, maar als ik jouw scritpje gebruik dan lukt het dus niet met dat submapje aanmaken.
Niemand? Dan maar ff verder zoeken/uitproberen...
Echt niemand ook maar 1 tip/antwoord?
wat is de error die je krijgt.
dit misschien?:
<?php
//Haal de laatste id uit de tabel
game = $db->Execute("SELECT id FROM tabel ORDER BY id DESC LIMIT 1");

//Start de loop
while ($dirname = $game->FetchNextObject())
{
// map maken
if (my_ftp_mkdir ('public_html/div/cms/images/screens/', $dirname->ID))
{
if (my_ftp_mkdir ('public_html/div/cms/images/screens/' . $dirname->ID . '/', "map"))
{
echo 'De map is aangemaakt';
}
//Niet gelukt?
else {
echo 'Fout bij het aanmaken van de map';
}
}
//Niet gelukt?
else {
echo 'Fout bij het aanmaken van de map';
}
}

?>
Wow thnx! Dat is 'm! Ik had zoiets ook al geprobeerd, maar waarschijnlijk had ik de loop niet goed in elkaar gezet en werd de 'hoofdmap' en de 'submap' tegelijk gemaakt wat niet kan omdat de hoofdmap eerst moet worden geplaatst voordat de submap erin kan.
Iig bedankt voor jullie moeite!

Reageren