PHP Australia Conference 2015

ftp_mkdir

(PHP 4, PHP 5)

ftp_mkdirCrée un dossier sur un serveur FTP

Description

string ftp_mkdir ( resource $ftp_stream , string $directory )

ftp_mkdir() crée le dossier nommé directory sur le serveur FTP.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

directory

Le nom du dossier qui doit être créé.

Valeurs de retour

Retourne le nom du dossier créé en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_mkdir()

<?php

$dir 
'www';

// Mise en place d'une connexion basique
$conn_id ftp_connect($ftp_server);

// Identication avec un nom d'utilisateur et un mot de passe
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

// Tentative de création du dossier $dir
if (ftp_mkdir($conn_id$dir)) {
 echo 
"Le dossier $dir a été créé avec succès\n";
} else {
 echo 
"Il y a eu un problème lors de la création du dossier $dir\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
3
PINAR Musa
1 year ago
Here's the correct code for making recursive directories:

<?php

// function
function ftp_mksubdirs($ftpcon,$ftpbasedir,$ftpath){
   @
ftp_chdir($ftpcon, $ftpbasedir); // /var/www/uploads
  
$parts = explode('/',$ftpath); // 2013/06/11/username
  
foreach($parts as $part){
      if(!@
ftp_chdir($ftpcon, $part)){
        
ftp_mkdir($ftpcon, $part);
        
ftp_chdir($ftpcon, $part);
        
//ftp_chmod($ftpcon, 0777, $part);
     
}
   }
}

// usage
$path_of_storage = '/var/www/uploads';
$newftpdir = '2013/06/11/username';

$conn_id = ftp_connect($ftpserver);
ftp_login($conn_id, $login, $pass);
ftp_mksubdirs($conn_id,$path_of_storage,$newftpdir);
ftp_close($conn_id);

?>
up
2
butch AT 4RealMedia dot com
8 years ago
When trying to user the ftp_mkdir, or ftp_chdir I've noticed that some servers like the entire path such as

/usr/local/home/username/sitename/directory/

and other servers, want you to use the path from the initial login, such as just /sitename/directory/

Just wanted to pass this on
up
0
vladimir at lukianov dot name
10 years ago
For recurrent following function work better.
Some ftp servers (like WarFTP) become demented if you'll
try mkdir not from root dir and if path will be relative.
The second if one of dir (like '/') already exist You'll get access denied.

<?php
function MkDir($path)
  {
  
$dir=split("/", $path);
  
$path="";
  
$ret = true;
  
   for (
$i=0;$i<count($dir);$i++)
   {
      
$path.="/".$dir[$i];
       echo
"$path\n";
       if(!@
ftp_chdir($this->conn_id,$path)){
         @
ftp_chdir($this->conn_id,"/");
         if(!@
ftp_mkdir($this->conn_id,$path)){
         
$ret=false;
          break;
         }
       }
   }
   return
$ret;
  }
?>
To Top