當前位置:首頁 » 文件管理 » 上傳多張圖片代碼

上傳多張圖片代碼

發布時間: 2023-01-06 19:49:33

A. 如何理解上傳多張圖片的代碼(如下)關鍵是我不知道, $key的值是哪來的!

$key是索引,默認從0開始。

B. php上傳多張圖片代碼

<?php } function news(){?>
<form action="?type=proctNews" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td> </td></tr><tr><td height="30"><label>名稱A:
<input name="title" type="text" id="title" size="30" />
</label></td></tr><tr><td height="30"><label>名稱B:
<input name="title_en" type="text" id="title_en" size="30" />
</label></td></tr><tr><td height="30"><label>分類:
<select name="ptype" id="ptype">
<?php $conn = new db_conn();
$sql = "SELECT * FROM proct_type";
$result = $conn->db_query($sql);
while($rows=mysql_fetch_assoc($result)){?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']." / ".$rows['name_en']; ?></option>
<?php } $conn->db_close(); ?>
</select>
</label></td></tr><tr><td height="30"><label>圖片:<br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
</label></td></tr><tr><td>說明A:
<input name="text" type="text" id="text" size="30" /></td>
</tr><tr><td>說明B:
<input name="en_text" type="text" id="en_text" size="30" /></td>
</tr><tr><td align="center"><label>
<input type="submit" name="button" id="button" value="提交" />
</label></td></tr><tr><td> </td></tr></table></form>
<?php }function proctNews(){
extract($_POST);
$upimage = "upimage/".date("Ym")."/";//上傳位置
if(!is_dir($upimage)){
mkdir($upimage); }

$filenum=count($_FILES['file']['tmp_name']);
for($i=0;$i<$filenum;$i++){

$file = "";
if(is_uploaded_file($_FILES['file']['tmp_name'][$i])){//是否用POST上傳
if($_FILES['file']['type'][$i] != ("image/jpeg" || "image/pjpeg")){
die(printTop("只能上傳jpg圖像!")); }
$im = imagecreatefromjpeg($_FILES['file']['tmp_name'][$i]);
$file = $upimage.date("YmdHis").rand(1000,9999);
$w = imagesx($im);
$h = imagesy($im);
if($w > 800 || $h > 800){
ResizeImage($im,800,800,$file.".jpg");
}else{ move_uploaded_file($_FILES['file']['tmp_name'][$i],$file.".jpg");}

//以下為增加行
//設置水印類型 1字元串 2圖片 請自行設置
$watertype=1;
//設置水印字元串 請自行設置
$waterstring="MY hand MY mouth";
//設置水印圖片名 請自行設置
$waterimage="water.gif";
$destination=$file.".jpg";
$image_size = getimagesize($destination);

$iinfo=getimagesize($destination,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255);
$black=imagecolorallocate($nimage,0,0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);

$simage =imagecreatefromjpeg($destination);
image($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,120,$image_size[1],$white);

switch($watertype)
{
case 1: //加水印字元串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break;
case 2: //加水印圖片
$simage1 =imagecreatefromgif("xplore.gif");
image($nimage,$simage1,0,0,0,0,85,15);
imagedestroy($simage1);
break;
}
imagejpeg($nimage, $destination);
imagedestroy($nimage);
imagedestroy($simage);
//以上為增加行//

ResizeImage($im,130,130,$file."n.jpg");}
$date = date("Y-m-d H:i:s");
$conn = new db_conn();
$sql = "INSERT INTO proct (ptype,title,title_en,image,text,text_en,date) VALUES ($ptype,'$title','$title_en','$file','$text','$text_en','$date')";
$result = $conn->db_query($sql);
if($result){
echo printTop("添加成功!");}else{
echo printTop("添加失敗!");}
$conn->db_close();}
}
function types(){?>

C. struts上傳多張圖片怎麼做,要求可以說上傳中文的,而且圖片可以重復上傳不被覆蓋

你指的是一次上傳多張嗎?我這有個自己寫的例子:
//上傳實體類
public class Upload {
private File photoes; //封裝上傳文件的屬性
private String photoesFileName; //封裝上傳文件的名稱屬性
private String photoesContentType; //封裝上傳文件的類型屬性
private String targetdir; //保存路徑
private String targetfilename; //保存的文件名

public File getPhotoes() {
return photoes;
}
public void setPhotoes(File photoes) {
this.photoes = photoes;
}
public String getPhotoesFileName() {
return photoesFileName;
}
public void setPhotoesFileName(String photoesFileName) {
this.photoesFileName = photoesFileName;
}
public String getPhotoesContentType() {
return photoesContentType;
}
public void setPhotoesContentType(String photoesContentType) {
this.photoesContentType = photoesContentType;
}
public String getTargetdir() {
return targetdir;
}
public void setTargetdir(String targetdir) {
this.targetdir = targetdir;
}
public String getTargetfilename() {
return targetfilename;
}
public void setTargetfilename(String targetfilename) {
this.targetfilename = targetfilename;
}
}
這是上傳圖片的Action類中的部分代碼
//獲得伺服器上保存上傳文件的目錄images的絕對路徑
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
//設置保存文件的目錄
uld.setTargetdir(realpath);
//設置目標文件名
uld.setTargetfilename(generateFileName(uld.getPhotoesFileName()));
//把doc內容復制到target
FileUtils.File(uld.getPhotoes(), new File(uld.getTargetdir(),uld.getTargetfilename()));

D. asp.net多張圖片上傳!!

邏輯錯誤,把所有或關系換成and關系.下面的||換成&&.

if (Path.GetExtension(filename[t]) != "jpg" || Path.GetExtension(filename[t]) != "JPG" || Path.GetExtension(filename[t]) != "png" || Path.GetExtension(filename[t]) != "PNG" || Path.GetExtension(filename[t]) != "gif" || Path.GetExtension(filename[t]) != "GIF")

E. 用java如何一次性上傳多張圖片到資料庫

你說的這個問題,其實是表的設計問題。
只要在t_b中,設計列為3列即可。
id
,
t_a_id
,
picture
添加多個圖片,不過是sql、語句。
最簡單的辦法,是利用for()循環,如:
for(int
i
=
0;i<圖片數;i++){
//你的sql操作語句如。
//insert
圖片i
into
t_b..
}
分給偶吧。。
^
^!

F. php一次上傳多張圖片並生成相應的縮略圖的代碼

這里壓縮為61x61

<?php
/*
作者:遙遠的期待
QQ:15624575
個人主頁:www.phptogether.com www.d1php.info
*/

function upload_multi($path,$photo,$i){
$uploaddir = './'.$path;//文件存放目錄
if(!file_exists($uploaddir))//如果目錄不存在就新建
$uploaddir=mkdir($uploaddir);

$piece = explode('.',$photo['name'][$i]);
$uploadfile = $uploaddir . '/'.md5($piece[0]).'.'.$piece[1];
$result = move_uploaded_file($photo['tmp_name'][$i], $uploadfile);
if(!$result){
exit('上傳失敗');
}
list($width_orig, $height_orig) = getimagesize($uploadfile);
if ($width_orig!=61||$height_orig!=61) {
$image_p = imagecreatetruecolor(61, 61);
if($piece[1]=="jpg"||$piece[1]=="jpeg"){
$image = imagecreatefromjpeg($uploadfile);
imageresampled($image_p, $image, 0, 0, 0, 0, 61, 61, $width_orig, $height_orig);
imagejpeg($image_p,$uploadfile);
}else if($piece[1]=="gif"){
$image = imagecreatefromgif($uploadfile);
imageresampled($image_p, $image, 0, 0, 0, 0, 61, 61, $width_orig, $height_orig);
imagegif($image_p,$uploadfile);
}
}
return basename($uploadfile);
}

if($_POST['tijiao']){
extract($_POST);
$i=0;
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
upload_multi($email,$_FILES["pictures"],$i);
}
$i++;
}
}
?>
<script language="javascript">
function go_up(){
document.getElementById('new_up').innerHTML+='<input type="file" name="pictures[]" /><br>';
}
</script>
<form action="php.php" method="post" enctype="multipart/form-data">
<p>多圖片上傳<br>
<input type="text" name="username" /><br>
<input type="text" name="email" /><br>
<input type="file" name="pictures[]" /><br>
<div id="new_up"></div>
<input type="button"" name="add_img" value="新增上傳" onclick="go_up()"/><br>
<input type="submit" value="Send" name="tijiao"/><br>
</p>
</form>

G. 求ASP多張圖片上傳的詳細代碼

<%Server.ScriptTimeOut=5000%>
<!--#include file="conn.asp"-->
<!--#include file="upload_5xsoft.inc"-->
<html>
<head>
<title>文件上傳</title>
<link rel="stylesheet" href="images/style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%
dim upload,file,formName,formPath,iCount,exeec,wjm,lm
set upload=new upload_5xsoft

formPath="pictures/"
wjm=upload.form("file")
wjdx=0
for each formName in upload.objFile

if upload.form("zclj")="" then
set file=upload.file(formName)
wjdx = file.filesize
kzm = right(file.filename,4)
else
kzm = right(wjm,4)
end if

if lcase(kzm)<>".gif" and lcase(kzm)<>".bmp" and lcase(kzm)<>".jpg" then response.Redirect("add_pic.asp")

if upload.form("zclj")<>"" or wjdx<819200 then
set rs=server.CreateObject("adodb.recordset")
name=formPath + replace(cstr(date()),"-","") + replace(cstr(time()),":","") + kzm

'定義記錄集,把用戶輸入的數據插入到數據表中
sql="select * from message"
rs.open sql,conn,1,3
rs.addnew
rs("add_date")=right(cstr(date()),len(cstr(date()))-2)
rs("add_time")=time

if upload.form("zclj")="" then
rs("zp")=name
dx=cstr(file.filesize/1024)
if len(dx) >6 then dx=left(dx,6)
rs("wjdx") = dx +"K"
else
rs("zp")=wjm
rs("wjdx") = "0K"
end if

small_class_id=upload.form("small_class_id")
rs("small_class_id")=small_class_id
rs("big_class_id")=small_class_id

zt=upload.form("zt")
rs("zt")=zt

title=upload.form("title")
rs("title")=title

if wjdx>0 and wjdx<819200 and upload.form("zclj")="" then
file.SaveAs Server.mappath(name)
end if

iCount=iCount+1
rs.update
rs.close
cg="1"
end if
set file=nothing
next

set upload=nothing '刪除此對象
sub HtmEnd(Msg)
set upload=nothing
response.end
end sub
if cg="1" then response.redirect "add_pic.asp"
%>

不能上傳大於800K的文件(0.8M)!
</body>
</html>

=========

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="images/style.css" -->
<body>
<form name="dd" method="post" action="scfile.asp" enctype="multipart/form-data" >

<input type="hidden" name="act" value="upload">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr><td>圖片主題:<input name="zt" type="text" class="inputtext" size="30" maxlength="100"></td></tr>
<tr><td>標題:<input name="title" type="text" class="inputtext" id="title" size="65"></td></tr>

<tr>
<td colspan="2" align="left" id="upid2">
<label>
<select name="small_class_id" id="small_class_id">
<option value="52">第1-8類商品</option>
<option value="44">第9-14類商品 </option>
<option value="79">第15-19類商品</option>
<option value="124">第20-22類商品</option>
</select>
</label> </td>
</tr>
<tr height="25">
<td colspan="2" align="left" id="upid"><input type="file" name="file1"></td>
</tr>

<tr height="25">
<td colspan="2" align="left" id="upid"></td>
</tr>

<tr height="25">
<td colspan="2" align="center">
<input type="submit" value=" 發 送 " name="cmdOk" class="inputbox" style="font-family: 宋體; font-size: 9pt;">

<input type="reset" name="Submit2" value=" 重 設 " class="inputbox" style="font-family: 宋體; font-size: 9pt;"> </td>
</tr>
</table>
</form>
</body>
</html>

H. php中上傳多張圖片,如何解決

使用swfupload上傳代碼,它是把swf和javascript結合起來,做成上傳代碼。功能應該是當前最豐富的。

它可以實現純粹html、javascrip難以逾越的功能:
(1)可以同時上傳多個文件;
(2)類似AJAX的無刷新上傳;
(3)可以顯示上傳進度;
(4)良好的瀏覽器兼容性;

具體詳見網路:
http://ke..com/view/1332553.htm

I. input file用了multiple屬性,而且選擇了多張圖片,PHP該怎麼上傳

其實就那兩個函數x0dx0ais_uploaded_file()和move_uploaded_file()x0dx0a是循環上傳的。你列印下$_FILES這個超全局數組就明白了。下面我的測試代碼上傳圖片的:x0dx0ax0dx0ax0dx0ax0dx0a x0dx0a無標題x0dx0ax0dx0ax0dx0a

x0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0a
x0dx0ax0dx0ax0dx0ax0dx0ax0dx0a$v){x0dx0aif(is_uploaded_file($_FILES['images']['tmp_name'][$k])){x0dx0a$save=$path.$_FILES['images']['name'][$k];x0dx0aecho $save."
";x0dx0aif(move_uploaded_file($_FILES['images']['tmp_name'][$k],$save)){x0dx0aecho "上傳成功!";x0dx0a}x0dx0a}x0dx0a}x0dx0aecho "
";x0dx0aprint_r($_FILES);x0dx0aecho "
";x0dx0a}x0dx0ax0dx0a?>

J. 用java完成圖片多張批量上傳的功能,還有就是後台的應該怎麼處理上傳的照片。

環境准備

1. 下載並安裝Tomcat(已經有很多關於Tomcat安裝以及使用的文章,在這里不再介紹);

2. 下載File upload的jar包commons-fileupload-1.0-beta-1.jar,並將該文件拷貝到{$TOMCAT}/common/lib目錄下(其中{$TOMCAT}為Tomcat的安裝目錄);

3. 由於Fileupload子項目同時要用到另外一個項目commons-Beanutils,所以必須下載Beanutils,並將解壓後的文件commons-beanutils.jar拷貝到{$TOMCAT}/common/lib目錄下。

開發文件上傳頁面

文件上傳的界面如圖1所示。為了增加效率我們設計了三個文件域,同時上傳三個文件。
圖1 文件上傳界面

頁面的HTML代碼如下:

<html>
<head>
<title>文件上傳演示</title>
</head>
<body bgcolor=「#FFFFFF」text=「#000000」 leftmargin=「0」topmargin=「40」marginwidth=「0」 marginheight=「0」>
<center>
<h1>文件上傳演示</h1>
<form name=「uploadform」method=「POST」 action=「save.jsp」ENCTYPE=「multipart/form-data」>
<table border=「1」width=「450」cellpadding=「4」 cellspacing=「2」bordercolor=「#9BD7FF」>
<tr><td width=「100%」colspan=「2」>
文件1:<input name=「file1」size=「40」type=「file」>
</td></tr>
<tr><td width=「100%」colspan=「2」>
文件2:<input name=「file2」size=「40」type=「file」>
</td></tr>
<tr><td width=「100%」colspan=「2」>
文件3:<input name=「file3」size=「40」type=「file」>
</td></tr>
</table>
<br/><br/>
<table>
<tr><td align=「center」><input name=「upload」 type=「submit」value=「開始上傳」/></td></tr>
</table>
</form>
</center>
</body>
</html>

代碼中要特別注意的是黑體處。必須保證表單的ENCTYPE屬性值為multipart/form-data,這樣瀏覽器才能正確執行上傳文件的操作。

處理上傳文件信息

由於本文主要是講述如何使用Commons-fileupload,所以為了便於修改、調試,上傳文件的保存使用一個JSP文件來進行處理。我們將瀏覽器上傳來的所有文件保存在一個指定目錄下並在頁面上顯示所有上傳文件的詳細信息。保存頁面處理結果見圖2所示。
圖2 保存頁面

下面來看看save.jsp的代碼:

<%
/**
* 演示文件上傳的處理
* @author <a href=「mailto:[email protected]」>Winter Lau</a>
* @version $Id: save.jsp,v 1.00 2003/03/01 10:10:15
*/
%>
<%@ page language=「java」contentType=「text/html;charset=GBK」%>
<%@ page import=「java.util.*」%>
<%@ page import=「org.apache.commons.fileupload.*」%>
<html>
<head>
<title>保存上傳文件</title>
</head>
<%
String msg = 「」;
FileUpload fu = new FileUpload();
// 設置允許用戶上傳文件大小,單位:位元組
fu.setSizeMax(10000000);
// maximum size that will be stored in memory?
// 設置最多隻允許在內存中存儲的數據,單位:位元組
fu.setSizeThreshold(4096);
// 設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄
fu.setRepositoryPath(「C:\\TEMP」);
//開始讀取上傳信息
List fileItems = fu.parseRequest(request);
%>
<body bgcolor=「#FFFFFF」text=「#000000」 leftmargin=「0」topmargin=「40」marginwidth=「0」 marginheight=「0」>
<font size=「6」color=「blue」>文件列表:</font>
<center>
<table cellpadding=0 cellspacing=1 border=1 width=「100%」>
<tr>
<td bgcolor=「#008080」>文件名</td>
<td bgcolor=「#008080」>大小</td>
</tr>
<%
// 依次處理每個上傳的文件
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
//忽略其他不是文件域的所有表單信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals(「」)) && size==0)
continue;
%>
<tr>
<td><%=item.getName()%></td>
<td><%=item.getSize()%></td>
</tr>
<%
//保存上傳的文件到指定的目錄
name = name.replace(『:』,『_』);
name = name.replace(『\\』,『_』);
item.write(「F:\\」+ name);
}
}
%>
</table>

<br/><br/>
<a href=「upload.html」>返回上傳頁面</a>
</center>
</body>
</html>

在這個文件中需要注意的是FileUpload對象的一些參數值的意義,如下面代碼所示的三個參數sizeMax、sizeThreshold、repositoryPath:

FileUpload fu = new FileUpload();
// 設置允許用戶上傳文件大小,單位:位元組
fu.setSizeMax(10000000);
// maximum size that will be stored in memory?
// 設置最多隻允許在內存中存儲的數據,單位:位元組
fu.setSizeThreshold(4096);
// 設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄
fu.setRepositoryPath(「C:\\TEMP」);

這3個參數的意義分別為:

SizeMax 用來設置上傳文件大小的最大值,一旦用戶上傳的文件大小超過該值時將會拋出一個FileUploadException異常,提示文件太大;

SizeThreshold 設置內存中緩沖區的大小,一旦文件的大小超過該值的時候,程序會自動將其它數據存放在repositoryPath指定的目錄下作為緩沖。合理設置該參數的值可以保證伺服器穩定高效的運行;

RepositoryPath 指定緩沖區目錄。

使用注意事項
從實際應用的結果來看該模塊能夠穩定高效的工作。其中參數SizeThreshold的值至關重要,設置太大會佔用過多的內存,設置太小會頻繁使用硬碟作為緩沖以致犧牲性能。因此,設置該值時要根據用戶上傳文件大小分布情況來設定。例如大部分文件大小集中在100KB左右,則可以使用100KB作為該參數的值,當然了再大就不合適了。使用commons-fileupload來處理HTTP文件上傳的功能模塊很小,但是值得研究的東西很多。

熱點內容
四網通源碼 發布:2025-08-28 16:24:30 瀏覽:438
演算法而死 發布:2025-08-28 16:23:36 瀏覽:762
qt是c編譯器還是自己下載 發布:2025-08-28 16:22:53 瀏覽:657
安卓的便簽存在手機哪個目錄里 發布:2025-08-28 16:07:48 瀏覽:924
演算法匯總 發布:2025-08-28 15:56:54 瀏覽:745
linuxif判斷數字 發布:2025-08-28 15:45:32 瀏覽:213
nb編譯器 發布:2025-08-28 15:24:27 瀏覽:55
思科配置怎麼從ftp還原 發布:2025-08-28 15:22:04 瀏覽:398
python成績錄入 發布:2025-08-28 15:17:44 瀏覽:506
oppo5有方舟編譯器嗎 發布:2025-08-28 15:12:39 瀏覽:922