使用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; } ?>
挺简单的一段代码,主要是帮助大家理解洗牌算法,希望对您有所帮助。