Ошибка при загрузке файла! С ПРИМЕРОМ! CURL!

1. Константин (05.12.2010 / 00:02)
Удалите пожалуйста предыдущую тему!
Во общем вот пример сделал под конкретный сайт:
<?php
$file = '@D:\homepage.gif';
$url = 'http://upwap.ru/upload/index.php';
$ch = curl_init();
$data = array ('desc'=>'Описание к файлу','file' => ''.$file.'', 'password'=>'','send'=>'Отправить!' );

curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, '1');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_exec($ch);
curl_close($ch);
?>

Добавлено через 02:27 сек.
При выполнение этого кода, все происходит успешно, как и должно, как только делаю $file = '@D:\фото.gif';
сразу же ПУСТАЯ БЕЛАЯ страница.
Как заставить выполняться с $file = '@D:\фото.gif';

2. Константин (05.12.2010 / 20:43)
Что никто не может помочь?

3. JustZero (05.12.2010 / 21:19)
А 'file' => $file не катит?

4. Константин (05.12.2010 / 21:50)
Нет, так вообще не будет выполняться.

5. Александр (05.12.2010 / 21:55)
4, а ты проверь.

6. Константин (05.12.2010 / 21:57)
Проверял, просто так бы не говорил.
P.S "Ошибка загрузки файла"

7. Сааааа-нёёёёё-к (05.12.2010 / 22:04)
хм..............

8. Константин (05.12.2010 / 22:11)
Вот какую ошибку возвращает.
CURLE_READ_ERROR (26)

There was a problem reading a local file or an error returned by the read callback.

и curl_error
failed creating formpost data

9. Саня (05.12.2010 / 22:14)
Не может прочитать файл (может путь неправильно задан)

10. Константин (05.12.2010 / 22:27)
В корне диска D два файла: homepage.gif И фото.gif.
$file = '@D:\homepage.gif'; // Работает без ошибок
$file = '@D:\фото.gif'; //Не работает выдает ошибку

11. Александр (05.12.2010 / 22:43)
10, попробуй в другой кодировке сохранить.

12. Вантуз-мен (05.12.2010 / 22:52)
1. HOUSTON, какие заголовки возвращает сайт?
попробуй так
<?
$headers = array('Content-type: text/html; charset=utf-8'); 
и добавить перед curl_exec
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
ну и сразными кодировками поиграйся

13. Константин (05.12.2010 / 23:25)
Status=OK - 200
Server=nginx
Date=Sun, 05 Dec 2010 20:27:14 GMT
Content-Type=text/html; charset=utf-8
Transfer-Encoding=chunked
Connection=keep-alive
Set-Cookie=sid=fae3d7910814ceed791cb692d175ac8c; path=/
Expires=Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control=no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma=no-cache
Content-Encoding=gzip
------------------------------------
Перепробовал кодировки, ничего не подходит.

14. Lugaro (06.12.2010 / 00:07)
$file = iconv('UTF-8', 'windows-1251', '@D:\фото.gif'); так работает
А причина того что не работало в том что сам рнр файл в утф, а с диска файл с рус именем нужно запрашивать в win иначе выбирается файл которого нет

15. Константин (06.12.2010 / 01:21)
Эхх... думал заработает, а увы, я так уже делал и именно через iconv и подругому, то что загружает это да. но после загрузки имя файла на upwap такого вида 'Файл «.gif»'

16. Вантуз-мен (06.12.2010 / 06:29)
ссылку на upwap кинь с файлов который уже закинул

17. Саня (06.12.2010 / 09:55)
Попробуй просто запросить имя файла и сохранить его в переменную, убедись что оно выводиться и потом формируй при отправке '.$filename.'.gif

18. Удаленный (06.12.2010 / 11:16)
Зачем замарачиваться, транслитерируй названия

19. Константин (06.12.2010 / 12:05)
http://upwap.ru/1163011 вот ссылка на файл.

18, если бы мне нужно было на выходе латиница, так бы и делал, но на выходе нужна кириллица.

20. Александр (06.12.2010 / 15:02)
как то делал, подобную схему в hiasm.
И там такая же проблема.
Посмотрел что передаётся.
"POST /upload/ HTTP/1.0
Host: upwap.ru
Accept: */*
Cookie: PHPSESSID=G:\Users\???»?µ??N??°????N€\Desktop\???µN€?µ??????.docx
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Content-Length: 32174
Content-Type: multipart/form-data; boundary=----------h0M5kYAbf3nwgrDxHe7WKB


------------h0M5kYAbf3nwgrDxHe7WKB
Content-Disposition: form-data; name="send"


------------h0M5kYAbf3nwgrDxHe7WKB
Content-Disposition: form-data; name="file"; filename="ia?aaia.docx"
Content-Type: application/octet-stream
Меняю кодировку у параметра file, а меняется только тут G:\Users\???»?µ??N??°????N€\Desktop\???µN€?µ??????.docx,а тут вся та же неведомая win-1251 filename="ia?aaia.docx". Посмотри может у тебя тоже из-за этого проблема.

21. Константин (06.12.2010 / 20:49)
Так нигде мне и не помогли устранить ошибку, ни на php.su, ни тут, ни на wen.ru.
Одним из ответов является, что типо невозможно такое сделать. С помощью CURL невозможно, только через сокеты. Уныло sad

22. Александр (06.12.2010 / 21:02)
21, вот вот. Только через сокеты.

URL: https://visavi.net/topics/16235