Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

plg
2003-08-17 18:16:49

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

antoine
2003-08-14 13:46:42

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.

Pied de page des forums

Propulsé par FluxBB

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