WinHttpRequest загрузить файл

Я пытаюсь использовать WinHttpRequest для загрузки файла, но он не работает.

Файл PHP работает из приложения Cordova, которое я сделал.

Я не знаю, что еще делать.

Может кто-нибудь, пожалуйста, помогите.

Благодарю.

Код VFP:

filecontent = FileToStr(ficheiro)

loHTTP = CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
loHTTP.Open("POST", "http://-----.com/webspace/upload.php", .F.)
loHTTP.SetRequestHeader("content-type", "text/plain")

varrequest  = 'attachment; filename="' + JUSTFNAME(ficheiro) + '"'
loHTTP.SetRequestHeader("content-disposition", varrequest)

loHTTP.Send(filecontent)
WAIT WINDOW loHTTP.status

Код в upload.php:

<?php
$uploaddir = 'upload/';
$uploadfile = $uploaddir . $_FILES['file']['name'];

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
echo "File successfully uploaded.\n";
}

?>

Ошибки PHP:

[12-Dec-2018 12:28:02 UTC] PHP Notice:  Undefined index: file in /home/webspace/upload.php on line 3
[12-Dec-2018 12:28:02 UTC] PHP Notice:  Undefined index: file in /home/webspace/upload.php on line 5


********************************* РЕДАКТИРОВАТЬ **************** *********



я изменил код, а теперь я получаю файл как «HTTP_RAW_POST_DATA», когда я делаю var_dump в PHP

текущий код:

    loHTTP = CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
loHTTP.Open("POST", "http://www.----------.com/webspace/getfile.php", .F.)
xBOUNDARY   = "+++++"vbCrLf      = CHR(10) + CHR(13)

filecontent = "--" + xBOUNDARY + vbCrLf
filecontent = filecontent + 'Content-Disposition: form-data; name="file"; filename="' + JUSTFNAME(ficheiro) + '"' + vbCrLf
filecontent = filecontent + "Content-type: text/plain" + vbCrLf + vbCrLf
filecontent = filecontent + FileToStr(ficheiro)
filecontent = filecontent + vbCrLf
filecontent = filecontent + "--" + xBOUNDARY + "--"filecontent = filecontent + vbCrLf

loHTTP.SetRequestHeader("CONTENT_TYPE", "multipart/form-data; boundary=" + xBOUNDARY + vbCrLf)
loHTTP.SetRequestHeader("CONTENT_NAME", JUSTFNAME(ficheiro) + vbCrLf)

loHTTP.Send(filecontent)

var_dump в PHP:

array(7) {
["HTTP_RAW_POST_DATA"]=>
string(245) "--+++++

Content-Disposition: form-data; name="file"; filename="Oo2Teste.txt"
Content-type: text/plain


00000000000000|00000000000000| BASE|00|GERAL|00|00
1.1|1.1|Leiria - PD Azambuja - CMR1|00|GERAL|00|00
T|T|TESTE|00|GERAL|00|00


--+++++--

"["_GET"]=>
array(0) {
}
["_POST"]=>
array(0) {
}
["_COOKIE"]=>
array(0) {
}
["_FILES"]=>
array(0) {
}
["_SERVER"]=>
array(38) {
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"["TEMP"]=>
string(4) "/tmp"["TMP"]=>
string(4) "/tmp"["TMPDIR"]=>
string(4) "/tmp"["PWD"]=>
string(1) "/"["HTTP_ACCEPT"]=>
string(3) "*/*"["HTTP_CONNECTION"]=>
string(10) "Keep-Alive"["CONTENT_TYPE"]=>
string(25) "text/plain; Charset=UTF-8"["CONTENT_LENGTH"]=>
string(5) "20341"["HTTP_USER_AGENT"]=>
string(57) "Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)"["HTTP_CONTENT_TYPE"]=>
string(35) "multipart/form-data; boundary=+++++"["HTTP_CONTENT_NAME"]=>
string(14) "Oo2Teste.txt"["UNIQUE_ID"]=>
string(27) "XBI5X4NTz1un6WhRwU29ewAAAM0"["gzip-only-text/html"]=>
string(1) "1"["SERVER_SIGNATURE"]=>
string(0) ""["SERVER_SOFTWARE"]=>
string(6) "Apache"["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"["REQUEST_METHOD"]=>
string(4) "POST"["QUERY_STRING"]=>
string(0) ""["REQUEST_TIME_FLOAT"]=>
float(1544698207.5962)
["REQUEST_TIME"]=>
int(1544698207)
}
["GLOBALS"]=>
*RECURSION*
} 

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]