Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][cURL] MIME
pyro
post 2.07.2008, 19:55:40
Post #1





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Czy cURL ma jakąś opcję, dzięki której można przekazać nagłówek MIME wysyłanego pliku? Najlepiej by było bez użycia exec/system/passthru, jednak jeśli nie ma innej możliwości... ;/

Pozwolę se odświeżyć temat...

Próbowałem z CURLOPT_HTTPHEADER ustawiając Content-type: ale albo źle to robie albo nie działa... widze, że pomimo kilkudziesięciu odsłonięć nadal cisza... ;/ ale czekam dalej... może ktoś wpadnie na jakiś pomysł

Ten post edytował pyro 2.07.2008, 20:10:11


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
Kicok
post 3.07.2008, 08:31:35
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


Zakładając, że na stronie jest taki formularz:
  1. <form action="" method="post" enctype="multipart/form-data">
  2. <input type="text" name="text1" /><!-- Wpisujemy "TEST1" -->
  3. <input type="text" name="text2" /><!-- Wpisujemy "TEST2" -->
  4.  
  5. <input type="file" name="file1" /><!-- Wpisujemy "TEST3.txt" -->
  6. <input type="file" name="file2" /><!-- Wpisujemy "TEST4.jpg" -->
  7.  
  8. <input type="submit" value="Ślij" />
  9. </form>


do serwera zostaną wysłane najprawdopodobniej takie dane:
Kod
Content-Type: multipart/form-data; boundary=----------aabbccddee
Content-Length: 12345

----------aabbccddee
Content-Disposition: form-data; name="text1"

TEST1
----------aabbccddee
Content-Disposition: form-data; name="text2"

TEST2
----------aabbccddee
Content-Disposition: form-data; name="file1"; filename="TEST3.txt"
Content-Type: text/plain

Treść pliku TEST3.txt wstawiona bezpośrednio do pliku.
Jeśli będzie kodowana przy użyciu base64_encode() to należy to uwzględnić w nagłówkach pliku
Treść nie może zawierać ciągu boundary: "----------aabbccddee"


Mogą za to być entery;]
----------aabbccddee
Content-Disposition: form-data; name="file2"; filename="TEST4.jpg"
Content-Type: image/jpeg

JPG&^$*^*#
453$%34trgreG34g$#4#%^436$##$34
;34%#$^#$ER::;:$#:$#:$#>$#>;[43;543534?>:#$%:[[?/][43/%>?34
/3

'!!,.'45/43'5/34'5'/43'5/'34//.'34
(...)
;';324@#$%@>#{%
----------aabbccddee


Problem leży pewnie w tym, że nagłówki z CURLOPT_HTTPHEADER lądują na samej górze (jeszcze przed pierwszym boundary), a ty chcesz je mieć przypisane do konkretnego pliku.
Nie mam zielonego pojęcia jak to zrobić w cURL. Jedyne co mogę doradzić, to użycie jakiegoś skanera pakietów na trasie:
SERWER_Z_CURL <---> SERWER_DO_KTÓREGO_WYSYŁANE_SĄ_PLIKI
I testowanie różnych metod, aż żądanie wysłane przez cURL będzie zbliżone do tego, co podałem na górze.

Jeśli nie wyjdzie, to pozostaje fsockopen" title="Zobacz w manualu PHP" target="_manual, które z tym zadaniem poradzi sobie na pewno ;]


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
pyro
post 3.07.2008, 09:03:00
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


ok, jest to jakieś rozwiązanie winksmiley.jpg plus, czekam na jakieś propozycje z cURL'em


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
cycofiasz
post 15.01.2011, 18:49:10
Post #4





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dziś również szukałem odpowiedzi na to pytanie i znalazłem ją w komentarzach w manualu.
Dodajemy ";type=MIME" po ścieżce do pliku, np:

  1. '@/home/user/test.png;type=image/png'
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 17:32