php模拟远程上传图片,php抓取远程图片到本地

本文目录一览:

php如何实现,远程传一张照片回来,在数据库进行比对识别,有相同的就取出相关信息

数据库,你可能保存有图片的文件名,大小,格式化,来本地文件路径,

把传过来的图片的这三个特征在数据库查找一下,如果存在,就几乎可以判断是同一个文件,

如果你要更准确一些,就用file_get_contents()把文件内容读出来进行对比。

怎样用php实现上传图片到数据库

php实现上传图片保存到数据库的方法。具体分析如下:

php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)

如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。

首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。

mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。

BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的。可根据需要使用不同的类型。

TinyBlob       最大 255B

Blob              最大 65K

MediumBlob  最大 16M

LongBlob      最大 4G

数据表photo,用于保存图片数据,结构如下:

CREATE TABLE `photo` (  

  `id` int(10) unsigned NOT NULL auto_increment,  

  `type` varchar(100) NOT NULL,  

  `binarydata` mediumblob NOT NULL,  

  PRIMARY KEY  (`id`)  

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

upload_image_todb.php代码如下:

?php  

// 连接数据库  

$conn=@mysql_connect(“localhost”,”root”,””)  or die(mysql_error());  

@mysql_select_db(‘demo’,$conn) or die(mysql_error()); // 判断action  

$action = isset($_REQUEST[‘action’])? $_REQUEST[‘action’] : ”; 

// 上传图片  

if($action==’add’){  

    $image = mysql_escape_string(file_get_contents($_FILES[‘photo’][‘tmp_name’]));  

    $type = $_FILES[‘photo’][‘type’];  

    $sqlstr = “insert into photo(type,binarydata) values(‘”.$type.”‘,'”.$image.”‘)”;  

    @mysql_query($sqlstr) or die(mysql_error());  

    header(‘location:upload_image_todb.php’);  

    exit();  

// 显示图片  

}elseif($action==’show’){  

    $id = isset($_GET[‘id’])? intval($_GET[‘id’]) : 0;  

    $sqlstr = “select * from photo where id=$id”;  

    $query = mysql_query($sqlstr) or die(mysql_error());  

    $thread = mysql_fetch_assoc($query);  

    if($thread){  

        header(‘content-type:’.$thread[‘type’]);  

        echo $thread[‘binarydata’];  

        exit();  

    }  

}else{  

// 显示图片列表及上传表单  

?  

!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “”  

html  

 head  

  meta http-equiv=”content-type” content=”text/html; charset=utf-8″  

  title upload image to db demo /title  

 /head  

  

 body  

  form name=”form1″ method=”post” action=”upload_image_todb.php” enctype=”multipart/form-data”  

  p图片:input type=”file” name=”photo”/p  

  pinput type=”hidden” name=”action” value=”add”input type=”submit” name=”b1″ value=”提交”/p  

  /form  

  

?php  

    $sqlstr = “select * from photo order by id desc”;  

    $query = mysql_query($sqlstr) or die(mysql_error());  

    $result = array();  

    while($thread=mysql_fetch_assoc($query)){  

        $result[] = $thread;  

    }  

    foreach($result as $val){  

        echo ‘pimg 

src=”upload_image_todb.php?action=showid=’.$val[‘id’].’t=’.time().'”

 width=”150″/p’;  

    }  

?  

/body  

/html  

?php  

}  

?

程序运行截图和数据库截图:

php通过api接口上传远程图片,图片不完整。

sybase_connect连上数据库。

语法: int sybase_connect(string [servername], string [username], string [password]);

返回值: 整数函数种类: 数据库功能 本函数用来打开与 Sybase 数据库的连接。

参数 servername 为欲连上的数据库服务器名称。

参数 username 及 password 可省略,分别为连接使用的帐号及密码。

使用本函数需注意早点关闭数据库,以减少系统的负担。

连接成功则返回数据库的连接代号,失败返回 false 值。

php怎么把远程图片通过api接口传到另外一个站点上?

本地传图片到服务器叫上传,服务器从别的网站获取图片,这叫下载,这比上传还简单

$content = file_get_contents(图片地址);

file_put_contents(保存的路径文件名, $content);

用php的imagecreatefrompng创建图像,怎么直接上传到远程服务器

使用imagepng函数把图像输出到浏览器或者文件中。

bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )

Outputs or saves a PNG image from the given image.

用输出缓冲ob_start等函数截获imagepng对浏览器的输出,保存在变量中,作为字节数据发送到其他服务器即能实现上传。

php如何上传图片到远程服务器

可以使用curl这个扩展来实现。

PHP 支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。

libcurl支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

curl_close() 关闭一个cURL会话。

curl_copy_handle()复制一个cURL句柄和它的所有选项。

curl_errno()返回最后一次的错误号。

curl_error()返回一个保护当前会话最近一次错误的字符串。

curl_escape()返回转义字符串,对给定的字符串进行URL编码。

curl_exec()执行一个cURL会话。

curl_file_create()创建一个CURLFile对象。

curl_getinfo()获取一个cURL连接资源句柄的信息。

curl_init()初始化一个cURL会话。

curl_multi_add_handle()向curl批处理会话中添加单独的curl句柄。

curl_multi_close()关闭一组cURL句柄。

curl_multi_exec()运行当前cURL句柄的子连接

curl_multi_getcontent()如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流。

curl_multi_info_read()获取当前解析的cURL的相关传输信息。

curl_multi_init()返回一个新cURL批处理句柄。

curl_multi_remove_handle()移除curl批处理句柄资源中的某个句柄资源。

curl_multi_select()等待所有cURL批处理中的活动连接。

curl_multi_setopt()设置一个批处理cURL传输选项。

curl_multi_strerror()返回描述错误码的字符串文本。

curl_pause()暂停及恢复连接。

curl_reset()重置libcurl的会话句柄的所有选项。

curl_setopt_array()为cURL传输会话批量设置选项。

curl_setopt()设置一个cURL传输选项。

curl_share_close()关闭cURL共享句柄。

curl_share_init()初始化cURL共享句柄。

curl_share_setopt()设置一个共享句柄的cURL传输选项。

curl_strerror()返回错误代码的字符串描述。

curl_unescape()解码URL编码后的字符串。

curl_version()获取cURL版本信息。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/200583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-05 20:02
下一篇 2024-12-05 20:02

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • 用Python绘制酷炫图片

    在本篇文章中,我们将展示如何使用Python绘制酷炫的图片。 一、安装Python绘图库 在使用Python绘制图片之前,我们需要先安装Python绘图库。Python有很多绘图库…

    编程 2025-04-29
  • 使用axios获取返回图片

    使用axios获取返回图片是Web开发中很常见的需求。本文将介绍如何使用axios获取返回图片,并从多个方面进行详细阐述。 一、安装axios 使用axios获取返回图片前,首先需…

    编程 2025-04-29
  • Python 图片转表格

    本文将详细介绍如何使用Python将图片转为表格。大家平时在处理一些资料的时候难免会遇到图片转表格的需求。比如从PDF文档中提取表格等场景。当然,这个功能也可以通过手动复制、粘贴,…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python缓存图片的处理方式

    本文将从多个方面详细阐述Python缓存图片的处理方式,包括缓存原理、缓存框架、缓存策略、缓存更新和缓存清除等方面。 一、缓存原理 缓存是一种提高应用程序性能的技术,在网络应用中流…

    编程 2025-04-29
  • Python如何抓取图片数据

    Python是一门强大的编程语言,能够轻松地进行各种数据抓取与处理。抓取图片数据是一个非常常见的需求。在这篇文章中,我们将从多个方面介绍Python如何抓取图片数据。 一、使用ur…

    编程 2025-04-29
  • Python利用Image加图片的方法

    在Python中,利用Image库可以快速处理图片,并加入需要的图片,本文将从多个方面详细阐述这个操作。 一、Image库的安装和基础操作 首先,我们需要在Python中安装Ima…

    编程 2025-04-28
  • Avue中如何按照后端返回的链接显示图片

    Avue是一款基于Vue.js、Element-ui等技术栈的可视化开发框架,能够轻松搭建前端页面。在开发中,我们使用到的图片通常都是存储在后端服务器上的,那么如何使用Avue来展…

    编程 2025-04-28
  • 使用CKSlide实现图片轮播

    CKSlide是一个基于jQuery的插件,可以方便地为网页添加幻灯片和图片轮播效果。使用CKSlide可以让网站更加生动、活泼,给用户带来更好的体验。 一、CKSlide基本用法…

    编程 2025-04-28

发表回复

登录后才能评论