远程拷贝的代码。如果不限定权限的话,后果很严重的。
<?php
set_time_limit(0);
if(isset($_GET['url']) && isset($_GET['filename'])){
if(httpcopy($_GET['url'], $_GET['filename'])){
echo("Done.");
}else{
echo("Down Error.");
}
}else{
die('Input error.');
}
function httpcopy($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) && @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);
if(function_exists('curl_init')) {
echo "curl ";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(@file_put_contents($file, $temp) && !curl_error($ch)) {
return $file;
} else {
return false;
}
} else {
echo "copy ";
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@copy($url, $file, $context)) {
//$http_response_header
return $file;
} else {
return false;
}
}
}
?>
<?php
$data = array(
'foo'=>'bar',
'baz'=>'boom',
'site'=>'www.example.net',
'name'=>'nowa magic');
$data = http_build_query($data);
//$postdata = http_build_query($data);
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $data
//'timeout' => 60 * 60 // 超时时间(单位:s)
)
);
$url = "http://127.0.0.1/test2.php";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;
?>
test2.php里的代码为:
<?php
$data = $_POST;
echo '<pre>';
print_r( $data );
echo '</pre>';
?>
请问,最后的输出结果是什么?
|