Je viens de construire un plugin qui fait ça. Ce n'est pas parfait mais ça fait son boulot.
Vous pouvez le trouver dans mon Github: https://github.com/pontusab/wp-ftp-media-library
Vous devez donc modifier certaines choses dans le fichier sur la ligne 28:
/**
* Change this to match your server
* You only need to change the those with (*)
* If marked with (-) its optional
*/
$settings = array(
'host' => 'ip or hostname', // * the ftp-server hostname
'user' => 'username', // * ftp-user
'pass' => 'password', // * ftp-password
'cdn' => 'cdn.example.com', // * This have to be a pointed domain or subdomain to the root of the uploads
'path' => '/', // - ftp-path, default is root (/). Change here and add the dir on the ftp-server,
'base' => $upload_dir['basedir'] // Basedir on local
);
Qu'est - ce que ce plugin fait est, il change la structur de téléchargement de / année / mois seulement télécharger sur la machine locale dans notre cas le serveur A . Ensuite, il utilise php pour se connecter au ftp via: ftp_connect . La fonction se déclenche lorsque wp_generate_attachment_metadata s'exécute. Il exécute ensuite une vérification dans le dossier de téléchargement pour voir s'il y a des images , le cas échéant, il les téléchargera toutes sur le serveur ftp via ftp_put . Une fois le téléchargement terminé, les fichiers seront supprimés de la machine locale à l'aide de la fonction de dissociation .
Ensuite, le plugin change l'url des images en ip "public" ou nom d'hôte pointé vers le serveur ftp. Je suggère d'utiliser quelque chose comme static.mydomain.com ou cdn.mydomai.com. Ils doivent être dirigés vers le serveur ftp (serveur B), ce qui vous permet de charger les images depuis le serveur ftp.
Comme les autres membres disent que vous ne devriez pas utiliser un serveur ftp pour cela, c'est mieux avec un vrai cdn, monté par fusible ou quelque chose comme Amazon S3.