Scripts
mkdir
PHP kent een functie om mappen te maken: mkdir (). Laten we zeggen dat je een uploadfunctie programmeert en dat je tijdens het uploaden ook nieuwe mappen wilt kunnen maken. Wil je bestanden naar zo'n nieuwe map kunnen uploaden, dan moeten de rechten op 777 staan (misschien werken andere waarden ook wel). Het lijkt er op dat dat via mkdir () kan. Je kunt als tweede argument de rechten meegeven: Mij is het echter op die manier nog nooit gelukt! Laatst kwam ik een handige functie tegen om mappen te maken via FTP. Je kunt dan de rechten wél op 777 zetten, zodat je daarna bestanden naar die map kunt uploaden.
mkdir
<?php
function my_ftp_mkdir ($path, $dir) {
$server = "ftp.server.com";
// connect naar de ftp server
$connection = ftp_connect ($server);
// inloggen op de ftp server
$user = "ftp_user";
$pass = "ftp_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 0777 " . $dir;
$chmod = ftp_site($connection, $chmod_cmd);
ftp_close($connection); // ftp verbinding verbreken
return true;
}
?>
Voorbeeld gebruik:
<?php
// nieuwe map maken
if (my_ftp_mkdir ('www/images/', 'nieuwe_map')) {
echo 'De map is aangemaakt';
}
else {
echo 'Fout bij het aanmaken van de map';
}
?>
Reacties
0