Maison > php教程 > PHP开发 > Comment publier des données d'un fichier php vers une autre adresse sans utiliser de formulaires ni de variables cachées

Comment publier des données d'un fichier php vers une autre adresse sans utiliser de formulaires ni de variables cachées

高洛峰
Libérer: 2016-12-23 16:30:33
original
1217 Les gens l'ont consulté

可以使用以下函数来实现:  

function posttohost($url, $data) { 
$url = parse_url($url); 
if (!$url) return "impossible parse url" ; 
if (!isset($url['port'])) { $url['port'] = ""; } 
if (!isset($url['query'])) { $url['query'] = ""; }  

$encoded = "";  

while (list($k,$v) = each($data)) { 
$encoded .= ($encoded ? "&" : ""); 
$encoded .= rawurlencode($k)."=".rawurlencode($v); 
}  

$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80); 
if (!$fp) return "Échec de l'ouverture du socket sur $url[host]" ;  

fputs($fp, sprintf("POST %s%s%s HTTP/1.0n", $url['path'], $url['query'] ? "?" : "", $url['requête'])); 
fputs($fp, "Hôte : $url[host]n"); 
fputs($fp, "Content-type : application/x-www-form-urlencodedn"); 
fputs($fp, "Content-length: " . strlen($encoded) . "n"); 
fputs($fp, "Connexion : closenn");  

fputs($fp, "$encodedn");  

$line = fgets($fp,1024); 
if (!eregi("^HTTP/1.. 200", $line)) return ;  

$results = "" ; $inheader = 1 ; 
while(!feof($fp)) { 
$line = fgets($fp,1024); 
if ($inheader && ($line == "n" || $line == "rn")) { 
$inheader = 0; 

elseif (!$inheader) { 
$results .= $line; 


fclose($fp);  

retour $résultats ; 

?> 
-------------------------------------------------------------- -------------------------------------------------- - 
也可以这样  

$URL="www.mysite.com/test.php"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"https://$URL"); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "Data1=blah&Data2=blah"); 
curl_exec ($ch); 
curl_close ($ch); 
?> 


更多如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的相关Il n'y a aucun problème avec PHP !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal