Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]curl wysyłanie plików na serwer
Forum PHP.pl > Forum > Przedszkole
bialko0019
Witam. Chciałbym połączyć dwie możliwości które osobno umiem, ale ich połączyć własnie nie winksmiley.jpg

Wgrywać plik na serwer umiem, wgrywać plik poprzez curl na inny serwer metodą post też umiem, jednak ten drugi gdy już plik wgrany jest na serwerze - ale nie ma tu logiki, bo po co wgrywać najpierw na swój serwer, a potem na inny ? Chciałbym od razu wgrać plik od siebie z dysku na inny serwer. I nie wiem jak - mój kod, który wgrywa plik, który już jest na serwerze - a chce zeby wgrać nie z serwera tylko z lokalnego dysku czyli z $_FILES :

  1. <?php
  2. $curl = curl_init();
  3. $postFields['foto'] = '@' . dirname(__FILE__) . 'startowa.png';
  4.  
  5. curl_setopt($curl, CURLOPT_URL, "http://up.programosy.pl");
  6. curl_setopt($curl, CURLOPT_POST, 1);
  7. curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
  8. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  9.  
  10. $strona = curl_exec($curl);
  11. ?>


czyli startowa.png to plik na serwerze w tym samym katalogu co skrypt. Jak wskazać ścieżkę by wgrał plik z dysku a nie z serwera ?
l0ud
Nie próbowałem, ale nie powinno być problemu w podstawieniu do curla tymczasowej nazwy przesłanego pliku:

  1. $postFields['foto'] = '@' .$_FILES['wgrany_plik']['tmp_name'];


Ew. problemem może być nazwą takiego pliku (śmieci zamiast startowa.png)
bialko0019
Dziękuję za odpowiedź, ale właśnie w taki sposób próbowałem ;/

No bo bez sensu wgrywanie jest plików na swój serwer, a potem na inny, po czym kasowanie go ze swoje serwera - tracę w ten sposób za każdym razem transfer ...

?
erix
Cytat
No bo bez sensu wgrywanie jest plików na swój serwer, a potem na inny, po czym kasowanie go ze swoje serwera - tracę w ten sposób za każdym razem transfer ...

Przecież cURL-em i tak tracisz transfer, jedna chwała.

Nie lepiej zrobić dwa formularze?
bialko0019
Co masz na myśli erix pisząc o dwóch formularzach ? winksmiley.jpg
erix
No normalnie - odpowiednie action w formularzu wysyłania pliku? Tak czytam już któryś raz Twojego pierwszego posta i nie rozumiem, po kiego chcesz tu cURL-a używać. Chyba że o czymś nie wiemy.
bialko0019
Cytat(erix @ 20.10.2010, 12:37:59 ) *
No normalnie - odpowiednie action w formularzu wysyłania pliku? Tak czytam już któryś raz Twojego pierwszego posta i nie rozumiem, po kiego chcesz tu cURL-a używać. Chyba że o czymś nie wiemy.



Jak już wcześniej wspomniałem, chcę wgrać obraz na inny serwer, niż ten, z którego jest zamieszczony skrypt - dlatego pomyślałem o cURL z tym, że mam problem, by wgrać plik z dysku lokalnego, a nie z serwera na którym jest skrypt - rozumiesz już mniej więcej?

erix
Cytat
Jak już wcześniej wspomniałem, chcę wgrać obraz na inny serwer, niż ten, z którego jest zamieszczony skrypt

No to rozumiem, ale:

Cytat
dlatego pomyślałem o cURL z tym, że mam problem, by wgrać plik z dysku lokalnego, a nie z serwera na którym jest skrypt

Dlaczego nie możesz wysłać formularzem z celem ustawionym bezpośrednio na drugi serwer? Po co utrudniać?
bialko0019
A jak to zrobić, by wysłać NIE na swój, tylko inny serwer ?
erix
A jak ustawiasz
  1. <form action="">

? winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.