Ⅰ 请问 在php+juqery+ajax的情况下上传头像并浏览时,用户多次上传头像图片后还是不满意
这个,可以这样,文件上传后,并不是马上就保存到了指定的目录下
而是在服务器端的一个缓存副本中,(这个缓存副本目录是由php.ini指定的,这里可以不用管他)
这个时候,把这个副本读取出来并显示于网页上,如果用户满意,就点击保存,这个时候才真正保存到你所谓的服务器上的某一个目录,如果用户不满意,那就重新上传呗, 缓存副本中的文件,并不是永久的,只要没有保存,都是会消失的,这不就解决了你的问题吗?
Ⅱ php中上传文件的方法有多少种
一、传统的php写的上传类。
写一个php的上传类,这个方法用到的知识全部是php的,而且技术的难点也不多。
<form method="post" action="upload.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">//隐藏域。这里name必须设置成MAX_FILE_SIZE,其值就是上传文件的最大长度,单位是B,这里我限制成2M
<input name="file" type="file" value="浏览" >
< input type="submit" value="上传" name="B1">
</table>
</form>
服务端利用php的$_FILES['file']['name']来获取文件后缀名,具体的代码自己查找资料看看,这里就不多说了。
总结;这个方法可以用来上传小于2M的文件或者是图片,基本的功能可以实现。
二、利用uploadify插件
这个是利用jQuery的上传插件,上传可以带进度条,容易配置。
总结:可以上传一些大文件,和图片,而且带进度条,可以多文件上传,在WEB中会经常用。
三、利用网络的webupload
WebUploader 是由 Bai FEX 团队开发的一款以 HTML5 为主,FLASH 为辅的现代文件上传组件。在现代的浏览器里面能充分发挥 HTML5 的优势,同时又不摒弃主流IE浏览器,沿用原来的 FLASH 运行时,兼容 IE6+,iOS 6+, Android 4+。采用大文件分片并发上传,极大的提高了文件上传效率。
四、swfupload的插件
这是一个jquery的上传插件,功能也非常强大,开发也比较容易,网上有很多的资料,可以自行查找。
Ⅲ php怎么实现头像上传到客户端
php根据APP的上传方式来决定PHP端的获取方式,多数都是表单式上传。
$_FILES; file_get_contents('php://input')都可以。
还有的是先在客户端读取了文件内容,再base64编码,再上传。
比较简单的大文件断点上传,其实就可以靠APP处理。
Ⅳ 求PHP+jquery的uploadify插件实现完整的图片上传实例,要连接数据库的,并且可以选择相册来上传,如图
w3school上的例子,如果要做的好点,就要结合JS和AJAX,还有使用MYSQL把文件的路径保存来
http://www.w3school.com.cn/php/php_file_upload.asp
http://www.neatstudio.com/show-1343-1.shtml,这里有详细的讲解,关于文件上传,整个项目,最关键的是上传部分,使用JQERUY插件可以使JS部分变的很简单
Ⅳ jquery 上传文件插件uploadify jsp版本
1、下载最新的zip压缩包 http://www.uploadify.com
2、从其中提取文件。
下载插件安装包后,可以看到官方给出的例子。里面文件夹的几个主要文件:jquery.uploadify.js(完成上传功能的脚本文件,在调用页面引
用)、uploadify.css(外观样式表)、uploader.swf(上传控件的主体文件,flash控件)、upload.php(服务器端处
理文件,官方仅提供了php版的)。
下面我使用的是在MyEclipse部署的java版。注意:需要加入三个commons.jar包:io、logging、fileupload。
3、导入default.css,uploadify.css,jQuery脚本,swfobject脚本和Uploadify插件。并且添加调用插件使用$,在您的网页的<head>部分ready事件:
<%@pagelanguage="java"contentType="text/html;charset=utf-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>">
<title>Upload</title>
<!--装载文件-->
<linkhref="css/default.css"rel="stylesheet"type="text/css"/>
<linkhref="css/uploadify.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript"src="scripts/jquery-1.3.2.min.js"></script>
<scripttype="text/javascript"src="scripts/swfobject.js"></script>
<scripttype="text/javascript"src="scripts/jquery.uploadify.v2.1.0.min.js"></script>
<!--ready事件-->
<scripttype="text/javascript">
$(document).ready(function(){
$("#uploadify").uploadify({
'uploader':'uploadify.swf',
'script':'servlet/Upload',//后台处理的请求
'cancelImg':'images/cancel.png',
'folder':'uploads',//您想将文件保存到的路径
'queueID':'fileQueue',//与下面的id对应
'queueSizeLimit':1,
'fileDesc':'rar文件或zip文件’,
'fileExt':'*.rar;*.zip',//控制可上传文件的扩展名,启用本项时需同时声明fileDesc
'auto':false,
'multi':true,
'simUploadLimit':2,
'buttonText':'BROWSE'
});
});
</script></head>
<body>
<divid="fileQueue"></div>
<inputtype="file"name="uploadify"id="uploadify"/>
<p>
<ahref="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>
<ahref="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>
</p>
</body>
</html>
4、后台处理的upload.java
packagecom.xzit.upload;
importjava.io.File;
importjava.io.IOException;
importjava.util.Iterator;
importjava.util.List;
importjava.util.UUID;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.commons.fileupload.FileItem;
importorg.apache.commons.fileupload.FileUploadException;
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
importorg.apache.commons.fileupload.servlet.ServletFileUpload;
@SuppressWarnings("serial")
{
@SuppressWarnings("unchecked")
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
StringsavePath=this.getServletConfig().getServletContext()
.getRealPath("");
savePath=savePath+"/uploads/";
Filef1=newFile(savePath);
System.out.println(savePath);
if(!f1.exists()){
f1.mkdirs();
}
DiskFileItemFactoryfac=newDiskFileItemFactory();
ServletFileUploapload=newServletFileUpload(fac);
upload.setHeaderEncoding("utf-8");
ListfileList=null;
try{
fileList=upload.parseRequest(request);
}catch(FileUploadExceptionex){
return;
}
Iterator<FileItem>it=fileList.iterator();
Stringname="";
StringextName="";
while(it.hasNext()){
FileItemitem=it.next();
if(!item.isFormField()){
name=item.getName();
longsize=item.getSize();
Stringtype=item.getContentType();
System.out.println(size+""+type);
if(name==null||name.trim().equals("")){
continue;
}
//扩展名格式:
if(name.lastIndexOf(".")>=0){
extName=name.substring(name.lastIndexOf("."));
}
Filefile=null;
do{
//生成文件名:
name=UUID.randomUUID().toString();
file=newFile(savePath+name+extName);
}while(file.exists());
FilesaveFile=newFile(savePath+name+extName);
try{
item.write(saveFile);
}catch(Exceptione){
e.printStackTrace();
}
}
}
response.getWriter().print(name+extName);
}
}
5、配置处理的servlet
Web.xml文件
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appversion="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>upload</servlet-name>
<servlet-class>com.xzit.upload.Upload</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>upload</servlet-name>
<url-pattern>/servlet/Upload</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
6.完成。
Ⅵ php怎么上传头像
php上传头像的功能需要掌握的就是有关文件上传类的php知识,需要知道的图片的格式,图片上传大小的限制,需要用到的函数有is_uploaded_file(文件上传的方式)等等,这里举个例子:
$allowType = array('image/png', 'image/jpeg', 'image/gif');
//做上传图片的验证
//使用try/catch来做判断
try{
if ( !is_uploaded_file($_FILES['thumb']['tmp_name']) ) {
throw new Exception('缩略图上传错误'); //抛出错误
}
if ( !is_uploaded_file($_FILES['img']['tmp_name']) ) {
throw new Exception('大图上传错误'); //抛出错误
}
if ( !in_array($_FILES['thumb']['type'], $allowType) ) {
throw new Exception('缩略图格式错误'); //抛出错误
}
if ( !in_array($_FILES['img']['type'], $allowType) ) {
throw new Exception('大图格式错误'); //抛出错误
}
if ( !($_FILES['thumb']['size'] <= 2*1024*1024) ) {
throw new Exception('缩略图大小错误'); //抛出错误
}
if ( !($_FILES['img']['size'] <= 2*1024*1024) ) {
throw new Exception('大图大小错误'); //抛出错误
}
$thumb_filename = time().mt_rand().substr($_FILES['thumb']['name'], strrpos($_FILES['thumb']['name'], '.'));
$img_filename = mt_rand().time().substr($_FILES['img']['name'], strrpos($_FILES['img']['name'], '.'));
if ( !move_uploaded_file($_FILES['thumb']['tmp_name'], UPLOAD_PATH.'/goods/'.$thumb_filename) ) {
throw new Exception('缩略图上传失败'); //抛出错误
}
if ( !move_uploaded_file($_FILES['img']['tmp_name'], UPLOAD_PATH.'/goods/'.$img_filename) ) {
throw new Exception('大图上传失败'); //抛出错误
}
} catch ( Exception $e ) {
$message = $e->getMessage();
}
这个函数实现了对图片的类型的判断,大小的判断,还有上传图片的命名。
Ⅶ 请问ASP要如何使用jquery的插件uploadify,官网上的只有PHP的
Uploadify简单说来,是基于Jquery的一款文件上传插件。它的功能特色总结如下:
支持单文件或多文件上传,可控制并发上传的文件数
在服务器端支持各种语言与之配合使用,诸如PHP,.NET,Java……
通过参数可配置上传文件类型及大小限制
通过参数可配置是否选择文件后自动上传
易于扩展,可控制每一步骤的回调函数(onSelect, onCancel……)
通过接口参数和CSS控制外观
更多……
相关链接
Uploadify主页地址:http://www.uploadify.com/ 在该页面你可以了解到关于他的更多内容。
Uploadify在线演示:在线Demo
Uploadify配置参数及接口文档:http://www.uploadify.com/documentation
Uploadify插件下载地址:http://www.uploadify.com/download
使用方法
下载插件安装包后,可以看到里面的几个主要文件:jquery.uploadify.js(完成上传功能的脚本文件,在调用页面引用)、uploadify.css(外观样式表)、uploader.swf(上传控件的主体文件,flash控件)、upload.php(服务器端处理文件,官方仅提供了php版的)
引用了插件文件后,在页面中做如下调用:
//声明一个普通的html文件上传控件,并指定id
<input type="file" name="fileInput" id="fileInput" />
//将声明的普通上传控件与Uploadify插件绑定
<script type="text/javascript">
$(document).ready(function() {
$('#fileInput').fileUpload ({
//以下参数均是可选
'uploader' : 'uploader.swf', //指定上传控件的主体文件,默认‘uploader.swf’
'script' : 'upload.php', //指定服务器端上传处理文件,默认‘upload.php’
'cancelImg' : 'cancel.png', //指定取消上传的图片,默认‘cancel.png’
'auto' : true, //选定文件后是否自动上传,默认false
'folder' : '/uploads' //要上传到的服务器路径,默认‘/’
'muti' : true, //是否允许同时上传多文件,默认false
'fileDesc' : 'rar文件或zip文件' //出现在上传对话框中的文件类型描述
'fileExt' : '*.rar;*.zip', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
'sizeLimit': 86400 //控制上传文件的大小,单位byte
'simUploadLimit' :5 //多文件上传时,同时上传文件数目限制
});
});
</script>
上面列出了我认为常用的配置选项,此外还有很多参数可配置,参考官方文档
通过调用相关功能函数,声明功能按钮。
例如声明上传功能按钮(自动上传时不需要):
<a href="javascript:$('#fileInput').fileUploadStart();">上传文件</a>
声明取消多文件上传时上传队列:
<a href="javascript:$('#fileInput').fileUploadClearQueue();">取消上传队列</a>
文章来自中国建站:http://www.jz123.cn/text/2419333.html
Ⅷ php上传文件如何实现上传头像的时候可以显示出头像
两种方案:
前端直接使用 FileReader可以直接读取图片在前端显示,可以在用户点击确定后再通过 ajax上传到后端(当然,你也可以直接通过 form表单 submit提交)
用户点击上传文件的时候,直接用 ajax把图片是传到后端,后端回传图片在服务器中的地址,前端把这个图片显示出来。
Ⅸ 求一款jQuery或js多图上传插件
你好,你的问题其实包含三个方面。
一个是前端异步上传还是同步上传,关于异步上传,方案有很多种,ajax或者iframe。这类插件也很多,如Uploadify,但一般比较大,个人觉得有点杀鸡用牛刀的感觉,给你推荐一款笔者自己写的的插件,jquery.attach.js,本身才3kb不到,支持zip/rar/mp4/mp4/png/jpg/bmp等。下载地址 http://www.imwinlion.com/archives/143
另一个是多图上传,多图可以上传本质上是多个单图上传问题,像这种,kindeditor 的多图上传插件,网络的uedit 多图上传插件,都可以解决问题,swfupload也可以。
最后是后端处理程序,如果你是thinkphp 写的,可以用thinkphp 的upload 包。
希望对你有帮助
Ⅹ 移动端网页如何使用JqueryMobile+PHP实现上传图片的功能
<html>
<body>
<formaction="upload_file.php"method="post"
enctype="multipart/form-data">
<labelfor="file">Filename:</label>
<inputtype="file"name="file"id="file"/>
<br/>
<inputtype="submit"name="submit"value="Submit"/>
</form>
</body>
</html>
<?php
if($_FILES["file"]["error"]>0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."Kb<br/>";
echo"Storedin:".$_FILES["file"]["tmp_name"];
}
?>