Annonce

  •  » Utilisation
  •  » Ftp Dans Create_listing_file.php

#1 2003-08-14 13:46:42

antoine
Membre
2003-08-11
2

Ftp Dans Create_listing_file.php

Pour simplifier un peu la gestion des galeries distantes, j'ai ajouté une fonction "envoi_ftp" en fin du script create_listing_file.php.
Elle dépose le fichier listing.xml dans le répertoire "admin" du site principal.

Peut-être une évolution pour la 1.3 ?

La fonction est :

Code:

function envoi_ftp( $phost, $pport, $plogin , $ppass , $ppassive, $pficloc, $prepdest )
{
  print "envoi_ftp";
  print ( "$phost - $pport - $plogin - $ppass - $ppassive - $pficloc - $prepdest" );
  
  $ftpstream = ftp_connect (  $phost , $pport  );
  if (  $ftpstream == FALSE  )
  {
    print "Echec connexion";
    return false;
  }
  
  if ( ftp_login ( $ftpstream , $plogin , $ppass  ) == FALSE )
  {
    print "Echec login";
    ftp_quit (  $ftpstream  );
    return (FALSE);
  }

  if ( $ppassive == 1 )
  {
    if ( ftp_pasv ( $ftpstream , TRUE ) == FALSE )
    {
      print "Echec passage en mode passif";
      ftp_quit (  $ftpstream  );
      return (FALSE);
    }
  }

  if ( ftp_chdir ( $ftpstream , $prepdest  ) == FALSE )
  {
    print "Echec chdir vers $prepdest";
    ftp_quit (  $ftpstream  );
    return (FALSE);
  }

  print ("rep : ".ftp_pwd($ftpstream) );
  print ("rep : ".ftp_size($ftpstream, $pficloc) );
  @ftp_delete ( $ftpstream, $pficloc);
  print ("rep : ".ftp_size($ftpstream, $pficloc) );
  if ( ftp_put ( $ftpstream , $pficloc, $pficloc , FTP_ASCII  ) == FALSE )
  {
    print "Echec put de $pficloc vers $pficdest";
    ftp_quit (  $ftpstream  );
    return (FALSE);
  }
  print ("rep : ".ftp_size($ftpstream, $pficloc) );

  ftp_quit (  $ftpstream  );
  return (TRUE );
} // envoi_ftp

L'appel en fin de script peut ressembler à cela :

Code:

  $fichier = "listing.xml";
  if ( envoi_ftp( $GLOBALS['ftphost'], $GLOBALS['ftpport'], $GLOBALS['ftplogin'] ,
                     $GLOBALS['ftppasswd'] , $GLOBALS['ftppassive'], $fichier, $GLOBALS['repadminmain'] ) == TRUE )
  {
    echo "Transfert ftp $fichier réussi";
  }
  else
  {
    echo "Echec transfert ftp de $fichier";
  }

Les paramètres peuvent être déclarés dans un fichier de configuration qui se siture dans un répertoire protégé par .thaccess.
Il peut contenir ceci :

Code:

<?php

  $GLOBALS['ftphost']="ftp.xxxxx";
  $GLOBALS['ftpport']=21;
  $GLOBALS['ftplogin']="xxxxx";
  $GLOBALS['ftppasswd']="xxxxx";
  $GLOBALS['ftppassive']=1;
  
  $GLOBALS['repadminmain']="/phpwebgallery/admin"; // reprertoire admin du site principal
                                                                                       // ou deposer le fichier listing
?>

Ne pas oublier l'include en début de script.

Hors ligne

#2 2003-08-17 18:16:49

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Ftp Dans Create_listing_file.php

c'est une bonne idée de MOD mais je ne l'intégrerai pas dans la version officielle.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

  •  » Utilisation
  •  » Ftp Dans Create_listing_file.php

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact