有的服务器不喜欢开启FTP,也不想图片远程调用,但又必须使用图片本地化,那么怎么办呢?软件更新了第二个功能:PHP上传图片方法。
首先,点击:下载位置,选择图片临时下载在电脑里的位置。
然后,输入替换图片远程地址为本地地址的路径,这里的路径默认的是/images/,后面可以使用时间变量:{yyyy}{mm}{dd}做为日期目录、
再者,点击:上传设置,进入详细设置,
选择PHP上传方式,保存以下代码为uploadimg.php的代码文件到某一个目录里,代码如下:
/**
此代码用于孤狼采集软件里上传图片的中间件。
此代码下方使用了当前服务器时间作为文件夹名称存储图片。
请在软件上【设相对路径】和【上传位置】等设置,也使用{yyyy}{mm}{dd}的格式调用当前时间来对应上。否则会出现,图片上传了,文章图片路径不对而不显示。
**/
header("Content-type: text/html; charset=utf-8");
ini_set('date.timezone','Asia/Shanghai');
$password = 'admin';
//接口密码密码如果不对将返回404,密码一定要自己改过。
if (!isset($_GET['pw']) || $_GET['pw'] !== $password) {
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
die;
}
if ($_FILES) {
$file = $_FILES['file'];
//得到文件名称
$name = $file['name'];
$type = strtolower(substr($name, strrpos($name, '.') + 1));
//得到文件类型,并且都转化成小写
$allow_type = array('jpg', 'jpeg', 'gif', 'png');
//定义允许上传的类型
if (!in_array($type, $allow_type)) {
//如果不被允许,则直接停止程序运行
return;
}
if (!is_uploaded_file($file['tmp_name'])) {
//如果不是通过HTTP POST上传的
return;
}
$imgsize = $_FILES["file"]["size"];
if($imgsize < 1024*10){ //判断图片大小,小于10kb,就不上传,可自行修改
echo "Failed!";
exit();
}
$path_temp = "/images/" . date("Y") . date("m") . date("d") . "/";
$upload_path = "." . $path_temp;
//上传文件的存放路径
function mkdirs($dir, $mode = 0777)
{
if (is_dir($dir) || @mkdir($dir, $mode)) {
return TRUE;
}
if (!mkdirs(dirname($dir), $mode)) {
return FALSE;
}
return @mkdir($dir, $mode);
}
mkdirs($upload_path);
//开始移动文件到相应的文件夹
if (move_uploaded_file($file['tmp_name'], $upload_path . $file['name'])) {
$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
echo "Success,[". $http_type . $_SERVER['HTTP_HOST'] . $path_temp . $name . "]";//返回绝对路径的完整图片地址
//echo "Sucess,[".$path_temp.$name."]";//返回相对路径图片地址
} else {
echo "Failed!";
}
//警告:上传成功返回固定格式+网址,禁止修改,否则软件无法识别上传后的图片路径
}else{
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
die();
}
注意:代码里的上传位置,upload_path,就是上传到服务器上的位置,要写对存储的位置。不然连我都不知道他上传到哪里去了。
最后回到软件设置里,输入你的之前上传到服务器上的http://你的网站/uploadimg.php?pw=admin
如果设置了多个网站的站群,可以用{host}变量代替这里的网址,比如
软件设置里,输入你的之前上传到服务器上的{host}/uploadimg.php?pw=admin
勾选启动。保存
通过这样设置后,软件就会以PHP组件的形式上传图片到指定位置了。那么如果网站不是用php的语言环境呢,asp或者.net呢,同样的,软件会提交图片数据表单过去,您需要去找一个asp的标准上传保存图片的代码就可以了。
未经允许不得转载:www.gulangu.com孤狼工作室 » 孤狼采集器利用PHP上传图片方式说明