jQuery+PHP实现剪切板粘贴上传图片并返回URl显示图片。
效果如下图
比如在做在线聊天系统的时候,单纯的文字沟通满足不了需求,如果能有截图粘贴发送就好了,本文就是为了解决这个问题的。直接上demo,
jQuery部分可以看源代码,PHP部分是普通的文件上传,成功返回图片地址。
后端PHP代码如下:
if(empty($_FILES["file"])){die();} if ( (($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/pjpeg")) //&& ($_FILES["file"]["size"] < 20000) ){ if ($_FILES["file"]["error"] <=0){ unlinkbefore(); $extend = substr($_FILES["file"]["name"],strripos($_FILES["file"]["name"], ".")-1); $newname = uniqid().$extend; $newname = "upload/".$newname; @move_uploaded_file( $_FILES["file"]["tmp_name"], $newname ); $info = fun_urlinfo(); echo $info['path'].'/'.$newname; } } function fun_urlinfo(){ $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://'; $host=$_SERVER['HTTP_HOST']; $root=$_SERVER['DOCUMENT_ROOT']; $self=$_SERVER['PHP_SELF']; $url = $http_type.$host.$self; $path = substr($url,0,strripos($url,'/')); $info = array( 'type'=>$http_type, 'host'=>$host, 'root'=>$root, 'self'=>$self, 'url'=>$url, 'path'=>$path, ); return $info; } function unlinkbefore(){ //清空现有测试目录 $path = 'upload'; $fullpath = getcwd().'/'.$path; $handle = opendir($fullpath); while(($entry = readdir($handle))!==false){ if($entry!=='.' && $entry!=='..'){ @unlink($path.'/'.$entry); } } closedir($handle); }