PHP klassi ichida Jquery

PHP orqali bizning tarmoqimizga API-ga ba'zi XML-lar yuborish kerak. Odatda, men bilaman, buni bilish uchun Curl-dan foydalansam yaxshi ishlaydi, lekin serverdan skriptlarim ishlamaydi va serverda boshqa muhim ishlab chiqarish ilovalarini buzgani uchun o'rnatib bo'lmaydigan barcha ma'lumotlarni kiritmasdan.

Ba'zi fikrlardan so'ng XML-ni jQuery orqali API-ga yuborish umididaman. Agar jqueryga PHP sinfidan kirish imkoni bo'lganida, kimdir knoew-ni tanlaganmi? Bilaman, bu aqldan ozgan va ishonchim komilki, kimdir buni men nima qilishim kerakligini aytolmaydi, lekin men uchun bu oqilona echim kabi ko'rinadi.

Othwerwise Men sinfga borib, xmlni tekshirish va XML-ni yuborish uchun sinfdan foydalanadigan sahifani qayta-qayta sinab ko'rishim mumkin.

P.S biz ishlaydigan muammoni hal qilish uchun buyruq satrini burish uchun harakat qildik, lekin URL so'rovlar URL uzunligi bilan muammoni keltiramiz, chunki xml juda katta va urldan o'tish uchun juda uzoq bo'lishi mumkin.

Har qanday fikr bormi?

0
webmasterworld.com/php/3220360.htm harakat qilib ko'ring ...
qo'shib qo'ydi muallif Val, manba
rahmat uchun hozirgi kunga harakat qilaman ^^
qo'shib qo'ydi muallif azzy81, manba
Bu juda yaxshi echim emas, balki biz uni aylantirmoqdamiz, xmlni yaratadigan serverda yangi db jadvali yaratdik va asosan xml bilan jadvalda bir qator hosil qilamiz. Biz buyruq satri curl (php curl emas, balki) dan foydalanib, biz qo'shgan satr idini api yuboramiz. api ma'lumotlar bazasidan xmlni yuklaydi, ajratadi va javob beradi.
qo'shib qo'ydi muallif azzy81, manba
u doimiy echim uchun juda ko'p nuqsonli nuqta bor, lekin kelgusi haftada bizning dev nusxasi bo'yicha yanada yaxshiroq echimga erishish uchun, dushanba uchun bir ishchi kerak. ^ D ga yordam berish uchun vaqt ajratgan barcha odamlar uchun rahmat
qo'shib qo'ydi muallif azzy81, manba

2 javoblar

Uning o'rniga soketlari ni ishlating.

@Val havolasidan ko'chirib olingan:

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp)
{
echo 'Could not open connection.';
}
else
{
$xmlpacket ='<?XML version="1.0"?>

';

$contentlength = strlen($xmlpacket);

$out = "POST /script_name.php HTTP/1.0\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Keep-Alive\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Content-length: $contentlength\r\n\r\n";
$out .= "XML=$xmlpacket";

fwrite($fp, $out);
while (!feof($fp))
{
$theOutput .= fgets($fp, 128);
}
fclose($fp);

// $theOutput is the response returned from the remote script
}
?>
1
qo'shib qo'ydi
Natijada mening fikrimcha :( loool yaxshi javob uchun tho: p
qo'shib qo'ydi muallif Val, manba
Sizning javobingiz uchun sizga rahmat. Men bu usulni sinab ko'rdim, ammo bizga fsockopen errosini berdi. urlni brauzerda yaxshi ko'rishni istasak ham, so'ralgan urlni ocholmaymiz. Boshqa tomondan, yaxshi xabar men yuqorida tushuntirib beradigan, hozirgi paytda ishlaydigan ajoyib echim topdi.
qo'shib qo'ydi muallif azzy81, manba
Bu echimdan foydalanmagan bo'lsak-da, bu muammoni hal qilish uchun eng yaxshi yechim deb qarashadi. Shunday qilib, men buni javob sifatida qabul qilaman.
qo'shib qo'ydi muallif azzy81, manba

Siz qilolmaysiz. jQuery serverda emas, mijozning brauzerida ishlaydi. Siz Javascriptni mijozga yuborishingiz va o'zingizning narsalaringizni shu erda qilishingiz mumkin. Lekin file_put_contents bilan siz ma'lumotlarni boshqa tarafga ham yuborishingiz mumkin , agar uni GETga qabul qilsa.

1
qo'shib qo'ydi
PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin