Maison  >  Article  >  développement back-end  >  Télécharger des fichiers sur un autre serveur PHP en utilisant PHP

Télécharger des fichiers sur un autre serveur PHP en utilisant PHP

WBOY
WBOYavant
2023-09-11 20:53:021312parcourir

Télécharger des fichiers sur un autre serveur PHP en utilisant PHP

Les fonctions fopen, fread et fwrite peuvent être utilisées pour ouvrir des flux de fichiers, lire des flux de données et écrire des données dans des fichiers.

Les ressources de fichiers ne doivent pas nécessairement pointer vers un emplacement sur la machine locale.

Voici un exemple de transfert d'un fichier d'un serveur local vers un serveur FTP :

$file = "file_name.jpg";
$destination = fopen("ftp://username:password@example.com/" . $file, "wb");
$source = file_get_contents($file);
fwrite($destination, $source, strlen($source));
fclose($destination);

L'image doit être transférée vers un serveur FTP. Le serveur est donc ouvert en mode écriture, l'image est écrite à cet emplacement et le flux est fermé.

L'extension curl utilise la bibliothèque d'URL client (libcurl) pour transférer des fichiers d'un emplacement à un autre. La logique pour implémenter la solution curl suit la logique suivante :

  • Initialisez d'abord la session.
  • Vous pouvez définir les options de transfert souhaitées.
  • La transmission peut être effectuée.
  • La session peut être fermée.

Une session curl peut être initialisée à l'aide de la fonction « curl_init ». Il renvoie des ressources qui peuvent être utilisées avec d'autres fonctions curl.

La destination des fichiers téléchargés et d'autres facteurs liés à la session de transfert peuvent être définis à l'aide de "curl_setopt".

Cela nécessite la ressource curl, qui est une constante prédéfinie représentant les paramètres et les valeurs facultatives.

Voici un exemple démontrant la même chose -

$session_begin = curl_init();
curl_setopt($session_begin, CURLOPT_POST, true);
curl_setopt($session_begin, CURLOPT_POSTFIELDS, array('file' => 'path/to/file.txt'));
curl_setopt($session_begin, CURLOPT_URL, 'http://server2/upload.php');
curl_exec($session_begin);
curl_close($session_begin);

Le deuxième serveur peut être géré comme un téléchargement de fichier normal.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer