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
Nog geen reacties.