切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
最近的一个程序[复制链接]
发表于 2013-5-16 12:46:22 | 显示全部楼层 |!read_mode!
本帖最后由 王子不是我 于 2013-5-16 18:31 编辑

貌似很久木在这个模块发帖子了

就发一个前几天一老乡叫我给写一个同步更新网站图片的程序       3个网站采用的都是ecMall 商城程序      

我们 首先把图片上传到各个网站的指定目录  然后将相应的图片相对路径插入到数据库中

还是比较容易实现的  


本机测试代码如下:


//update.php

<?php
//################说明###################################################################
// 在两台虚拟机上搭建了两套ecmall环境
// ip分别为192.168.1.111  192.168.1.112
// curl分别向两个网站根目录中的upload.php提交数据
// 分别在每个网站根目录下建立了 img文件夹 用来接收上传的图片
// 同步更新了用户的头像作为测试 数据表:ecm_member 更新字段:portrait   表以及字段 可自行选择
//#######################################################################################
//本地图片地址
$local_image="./test.jpg";
//主机列表  可添加主机
$hosts=array(
  array("host"=>"192.168.1.111","user"=>"root","pass"=>"xx","DB"=>"fire","table"=>"ecm_member","image"=>$local_image),
  array("host"=>"192.168.1.112","user"=>"root","pass"=>"xx","DB"=>"fire","table"=>"ecm_member","image"=>$local_image)
);
$flag=0;//更新标志位
foreach($hosts as $datas){
  $hostname=$datas["host"];
  //echo $hostname."<br>";
  $username=$datas["user"];
  $password=$datas["pass"];
  $database=$datas["DB"];
  $tablename=$datas["table"];
  $local_img=$datas["image"];
  Update($hostname,$username,$password,$database,$tablename,$local_img);

}
//更新函数
function Update($host,$username,$password,$database,$tablename,$local_img){
  //利用curl将图片上传到host
  $url=$host."/ec/"."upload.php";//远程接收文件
  //echo $url."<br>";
  $post_data = array(
   //所要上传的本地图片文件
   "file"=> "@".$local_img,
   "host"=>$host,
   "username"=>$username,
   "password"=>$password,
   "database"=>$database,
   "tablename"=>$tablename
  );
  $ch=curl_init();
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch,CURLOPT_POST,1);
  curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
  $output=curl_exec($ch);
  curl_close($ch);
  //echo $output;

}



//upload.php

<?php
if($_FILES["file"]["error"] > 0){
  switch($_FILES["file"]["error"]){
   case 1:
    echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值";
    break;
   case 2:
    echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";
    break;
   case 3:
    echo "文件只有部分被上传";
    break;
   case 4:
    echo "没有文件被上传";
    break;
   default:
    echo "Unknow error!!!";
  }
  exit;
}
$maxsize=500000;
if($_FILES["file"]["size"] > $maxsize){
  echo "The file can not more than {$maxsize} bytes!!";
  exit;
}
$allowtype=array("jpg","jpeg","png","gif");
$arr=explode(".",$_FILES["file"]["name"]);
$hz=$arr[count($arr)-1];
if(!in_array($hz,$allowtype)){
  echo "Please upload a picture!!!";
  exit;
}
//每个网站根目录下建立 img 文件夹 接收图片
$filepath="./img/";
$randname=date("Y").date("m").date("d").date("H").date("i").date("s").rand(100,999).".".$hz;
//step5
if(is_uploaded_file($_FILES["file"]["tmp_name"])){

  if(move_uploaded_file($_FILES["file"]["tmp_name"],$filepath.$randname)){
   echo "Upload success!!";
  }else{
   echo "UpLoad failed!!!";
  }
}else{

  echo "This is not a uploaded file!!!";
}
//更新数据
$host = $_POST["host"];
$username= $_POST["username"];
$password=$_POST["password"];
$database=$_POST["database"];
$tablename=$_POST["tablename"];
$mysql=mysql_connect($host,$username,$password);
if(mysql_error()){
  echo "connect to ".$host."error :".mysql_error()."<br>";
  exit;
}
mysql_select_db($database,$mysql);
$data=$filepath.$randname;
$sql="update `$tablename` set portrait='$data'";
mysql_query($sql);
if(mysql_errno()){
  echo "更新".$host."出错";
  exit;
}
mysql_close($mysql);







发表于 2013-5-16 18:31:56 | 显示全部楼层
刚刚编辑了一下用    代码模式贴代码  以便大家阅读。
发表于 2013-5-16 19:44:13 | 显示全部楼层
王子不是我 发表于 2013-5-16 18:31
刚刚编辑了一下用    代码模式贴代码  以便大家阅读。

谢谢肋  嘿嘿
发表于 2013-5-18 02:11:19 | 显示全部楼层
不错  感谢分享
dusing 该用户已被删除
发表于 2013-9-13 02:33:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-7-27 11:29:27 | 显示全部楼层
屌渣了的说

代码区

GMT+8, 2019-11-13 03:44

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部