使用ftp模拟上传下载文件,举一个php上传文件到ftp服务器的例子。
注意,上传时要有写入权限,不然会返回:permission deny。
例子:
<?php
/**
* ftp上传下载文件
* edit www.
*/
$ftp_server='www.';//服务器
$ftp_user_name='';//用户名
$ftp_user_pass='password';//密码
$ftp_port='21';//端口
$ftp_put_dir='data/photo/thumb/data2';//上传目录
$ftp_conn_id = ftp_connect($ftp_server,$ftp_port);
$ftp_login_result = ftp_login($ftp_conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$ftp_conn_id) || (!$ftp_login_result)) {
echo "连接到ftp服务器失败";
exit;
} else {
ftp_pasv ($ftp_conn_id,true); //是否被动模式
ftp_chdir($ftp_conn_id, $ftp_put_dir);
$ftp_upload = ftp_put($ftp_conn_id, '3c264461abdf49de2ddaabc3426ceb65.jpg', 'data\\3c264461abdf49de2ddaabc3426ceb65.jpg', FTP_BINARY);
//var_dump($ftp_upload);//看看写入成功否?
ftp_close($ftp_conn_id); //断开
}
?>
下载文件的代码,大家参照这个自己写吧,关键在于理解透php中的ftp上传与下载函数。
代码如下:
<?php
/**
* php跨站刷票代码
* edit www.
*/
function curlrequest($url, $postfield,$referer='',$cookie='') {
//by www.
$ip= rand(100, 244).'.'.rand(100, 244).'.'.rand(100, 244).'.'.rand(100, 244);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfield);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$ip, 'CLIENT-IP:'.$ip)); //构造IP
curl_setopt($ch, CURLOPT_REFERER, $referer); //构造来路
$data = curl_exec($ch); //运行curl
curl_close($ch);
return $data;
}
$url='http://xxxxx/vote.php';
$ref='http://xxxxx/index.php';
$cookies='';//构造cookies
$postfield=array(
'information_id'=>201306191839164950
);
$postfield = http_build_query($postfield);
$result = curlrequest($url, $postfield,$ref,$cookies);
echo $result;
?>代码如下:
<?php
/**
* 简单洗牌算法
* edit www.
* at 2013/6/19
*/
$card_num=54; //牌数
print_r(wash_card($card_num));
function wash_card($card_num)
{
$cards=$tmp=array();
for($i=0;$i<$card_num;$i++){
$tmp[$i]=$i;
}
for($i=0;$i<$card_num;$i++){
$index=rand(0,$card_num-$i-1);
$cards[$i]=$tmp[$index];
unset($tmp[$index]);
$tmp=array_values()($tmp);
}
return $cards;
}
?>
挺简单的一段代码,主要是帮助大家理解洗牌算法,希望对您有所帮助。