嘗試設置腳本以將命令發送到Win32系統上的遠程客戶端。下面是代碼:fwrite()不寫。我的代碼或遠程客戶端出錯?
$command = $_POST['command'];
$host = $_POST['host'];
$port = $_POST['port'];
$fp = @fsockopen($host, $port, $e, $s, 15);
if (!$fp) {
echo 'Error! Here\'s your problem: ' . $e . ': ' . $s;
}else{
$fw = fwrite($fp, $command);
if (!$fw){
echo 'Failed sending command.';
fclose($fp);
}else{
fclose($fp);
echo 'Successfully sent: ' . $command;
}
}
我的哥們正在遠程客戶端上,他說,這個劇本正在發送''
然而,我的劇本是呼應Successfully sent: test
難道我做錯了什麼,還是在他的最後呢?
我媽媽曾經告訴過我,你總是'fflush'非常重要。 http://php.net/manual/en/function.fflush.php – 2010-05-31 14:13:35
'var_dump($ _ POST)'會有所幫助。另外,寫完後你是否試過從'$ fp'讀取? – jeroen 2010-05-31 14:41:09
你可能想從'@fsockopen()'中刪除'@',以防萬一它抑制了一些有用的東西。 – dnagirl 2010-05-31 14:49:40