J'ai une situation où j'ai besoin de déplacer des fichiers d'un endroit à un autre. En utilisant cURL, il est facile de télécharger les fichiers, puis de les télécharger en utilisant le symbole "sweet", par exemple "file_box" => "@/path/to/myfile.jpg" Ce que je cherche à faire maintenant, c'est contourner au milieu et juste "flux" le fichier de l'un à l'autre. Est-ce possible?cURL php télécharger et télécharger sans enregistrer au milieu
Répondre
Bien sûr, vous pouvez le faire. Je ne suis pas sûr que vous pouvez utiliser cURL pour le POST cependant. Vous devriez regarder dans ses méthodes pour voir si elle vous permettra de rappeler pour la prochaine partie de données.
http://curl.haxx.se/libcurl/php/examples/callbacks.html
$ch = curl_init();
curl_set_opt($ch, CURLOPT_HEADERFUNCTION, 'read_header');
curl_set_opt($ch, CURLOPT_WRITEFUNCTION, 'read_body');
function read_header($ch, $data) {
// Ok, so the header is going to come in here.
// I assume you will need data, such as MIME type and what not.
print_r($data);
return strlen($data); //This means that we handled it, so cURL will keep processing
}
function read_body($ch, $data) {
// This is where the body of the content will be, in chunks.
// This function will be called multiple times.
print_r($data);
return strlen($data); //Again, if we don't do this, cURL will cancel.
}
Maintenant, pour la partie envoi, il semble que vous devrez implémenter vous avec HTTP fsockopen
. Voir ici pour plus d'informations: PHP How To Send Raw HTTP Packet
Je travaille actuellement avec un problème similaire maintenant. et dans la mesure où mon expérience, vous devrez ouvrir un handle de fichier, et enregistrer les données en local avant de pouvoir le télécharger sur un autre serveur.
Je sais ce que vous entendez par streaming, car vous voulez streamer/canaliser le fichier que vous téléchargez vers PUT ou POST vers un autre serveur.
Je ne pense pas que le streaming est possible avec Php curl. Vous devez enregistrer le fichier localement. puis ouvrez-le et téléchargez-le.
J'ai fait un travail similaire avec Java, avec que vous utilisez réellement des flux, donc cela pourrait fonctionner mais je n'ai pas essayé.
- 1. PHP Curl - Wistia API Télécharger
- 2. Télécharger une image avec PHP et cURL
- 3. recevoir et télécharger le fichier sans enregistrer PHP
- 4. Démarrer Télécharger Headers/Curl PHP
- 5. php curl télécharger sur megaupload
- 6. php - télécharger le fichier zip avec curl et décompressez-le?
- 7. Télécharger le fichier gzip via php cURL
- 8. Curl pour télécharger et télécharger le même fichier simultanément
- 9. PHP Curl télécharger des fichiers PDF
- 10. PHP Curl File Upload envoie vide Télécharger
- 11. cUrl Connectez-vous ensuite cUrl Télécharger
- 12. PHP - Comment se connecter via curl et télécharger des fichiers?
- 13. cURL RTSP Télécharger
- 14. Télécharger moodle mainpage using cURL
- 15. Comment enregistrer et télécharger l'image
- 16. fichier SFTP télécharger en utilisant CURL et PHP
- 17. Télécharger plusieurs fichiers PDF en utilisant cURL et PHP
- 18. PHP - Fetch fichier et télécharger en utilisant CURL
- 19. Télécharger les fichiers protégés htaccess en utilisant PHP et CURL
- 20. FTP Télécharger et télécharger via PHP
- 21. Filepicker.io - télécharger via URL et cURL
- 22. télécharger une page sans télécharger de fichiers image ou css ou javascript avec curl
- 23. télécharger l'image et télécharger
- 24. problème enregistrer l'image télécharger dans php
- 25. C# - Télécharger et enregistrer des images au dossier
- 26. Web Start Télécharger et enregistrer au format .jar?
- 27. arrête un transfert curl au milieu
- 28. Liens pour télécharger et imprimer un document PDF (sans PHP)
- 29. télécharger automatiquement sans URL
- 30. RewriteRule et php télécharger contre
À quoi chargez-vous? – Brad
Vous ne pouvez pas utiliser curl pour qu'un serveur distant communique avec un autre, à moins que l'un de ces serveurs distants n'expose une fonctionnalité pour le faire. –
@MarcB Pourquoi cela ne fonctionnerait-il pas s'il utilisait l'emplacement temporaire du fichier téléchargé comme chemin d'accès au script cURL? –