Espace restant sur ftp

Résolu
par quelle commande via un client ftp , peut on connaitre l'espace disponible sur un ftp

12 réponses

  • Votes
  • Date
  • Date décroissante
  1. Voici le script php pour ceux qui le veulent.

    <?php
    
    //////////////////////////////////////////////////////////////////////////
    // Disk Usage
    //
    // Purpose: Calculates the used bytes in a directory and its files and subdirectories.
    //
    // Version: 1.0 (27. April 2005)
    //
    // Copyright (c) 2005 by SmartFTP
    
    
    //////////////////////////////////////////////////////////////////////////
    // class CDiskUsage
    //
    class CDiskUsage
    {	
    	var $m_Debug = false;
    	var $m_nFiles = 0;
    	var $m_nDirectories = 0;
    
    	// ctor
    	function CDiskUsage()
    	{
    	}
    
    	function SetDebug($val)
    	{
    		$this->m_Debug = $val;
    	}
    
    	function GetFiles()
    	{
    		return $this->m_nFiles;		
    	}
    
    	function GetDirectories()
    	{
    		return $this->m_nDirectories;
    	}
    
    	function Reset()
    	{
    		$this->m_nFiles = 0;
    		$this->m_nDirectories = 0;
    	}
    
    	function CalculateUsage($dir)
    	{
    		$this->Reset();
    		return $this->_CalculateUsage($dir);
    	}
    
    	// called recursively
    	function _CalculateUsage($dir) 
    	{
    		$size = 0;
    		if ($dh = opendir($dir)) 
    		{
    			while (($item = readdir($dh)) !== false) 
    			{
    				if ($item !== '.' 
    					&& $item !== '..') 
    				{
    					$file = $dir."/".$item;
    					$this->Log($file."  ".filesize($file));
    					if (is_file($file)) 
    					{
    						$size += filesize($file);
    						$this->m_nFiles++;
    					} 
    					else if (is_dir($file)) 
    					{
    						$size += $this->_CalculateUsage($file);
    						$this->m_nDirectories++;
    					}
    				}
    			}
    		}
    		return $size;
    	}
    
    	function Log($str)
    	{
    		if($this->m_Debug)
    		{
    			print($str);
    			print("<br>");                 	
    		}
    	}
    
    }
    
    //////////////////////////////////////////////////////////////
    // Entry Point
    
    if($_REQUEST["dir"])
    	$dir = $_REQUEST["dir"];
    else
    	$dir = getcwd();
    
    // header
    print("<html><head><title>Disk Usage of ".$dir."</title></head><body>\r\n");
    print("<h1>Disk Usage Calculator</h1>\r\n");
    
    // form
    print("<form method=\"GET\" action=\"".$_SERVER["PHP_SELF"]."\">");
    print("Directory: <input type=\"text\" name=\"dir\" value=\"".$dir."\" size=\"100\"><br>\r\n");
    
    // show details checkbox
    print("<input type=\"checkbox\" name=\"showdetails\"");
    if($_REQUEST["showdetails"] == "1")
    	print(" CHECKED");
    print(" value=\"1\">Show Details<br>\r\n");
    
    print("<input type=\"submit\" value=\"Calculate\"></form>");
    
    print($dir);
    print("<br>");
    
    $obj = new CDiskUsage();
    
    if($_REQUEST["showdetails"] == "1")
    	$obj->SetDebug(true);
    
    $size = $obj->CalculateUsage($dir);
    
    print("<br>");
    print("<table>");
    print("<td>Number of files</td><td>".$obj->GetFiles()."</td></tr>\r\n");
    print("<td>Number of directories</td><td>".$obj->GetDirectories()."</td></tr>\r\n");
    print("<td>Disk usage</td><td>".sprintf("%.2f", $size/1024/1024)." MB</td></tr>\r\n");
    print("</table>");
    
    // footer
    print("</body></html>");
    
    ?>
    1. Nickel, merci bcp pour ce script, propre et efficace !
    2. Merci pour ton script, BlackNight.
      Çà marche impec.
  2. je confirme pour l'utilisation de ce script PHP pour les sites Free! :o)))
    1. Modérateur
      ça n'existe pas à ma connaissance.

      C'est juste le serveur FTP qui peut te répondre avec une erreur au moment d'envoyer le fichier, je le crains.
      1. si cette commande existe
        je l'ai deja utilise
        le pb je ne m'en rapelle plus
        1. J'ai un doute la dessus mais si c comme en unix. j'utilise la commande {1} % vdiskuse pour connaître l'espace de tous les sous-répertoire du répertoire parent.

          Lionel.
          si ca peut t'aider, c tant mieux
          1. autrement, j'utilise des instructions Telnet
            1) -s /www/htdocs/votredomaine
            2) -s ~ftp/votredomaine.com
            3) -s $HOME
            4) * www/* anonftp/* -c

            Je sais pas si c ca comme info que tu recherches mais soit plus precis. C pas simple de cerner ton problème.
            1. Modérateur
              Peut-être un quota -v si tu as un compte shell sur la machine ?
              1. Le lien suivant permet de télécharger un fichier PHP ou ASP. Il suffit de mettre un de ces fichiers à la racine de votre site puis d'y accéder par votre navigateur.
                https://www.smartftp.com/en-us/support/kb/2552
                1. Merci beaucoup RizThon pour le lien... !!!!

                  C'est exactement ce que je voulais !!!!

                  Connaitre l'espace que comportait mes photos sur compte Free....

                  Merci encore !!!!

                  A++
              2. hmmmm
                je sais pas si une telle commande existe
                car les fichiers d'un ftp sont sur le dur du gars qui les partge
                donc on a pas vraiment accès partout (sauf s'il est niais)
                mais je suis raiment pas sûr de ce que j'avavnce