ช่วยดูโค๊ดให้หน่อยค่ะว่าขาดตรงไหนหรือตรงไหนผิดทำไมอัพโหลดที่ละหลายรูปไม่ได้
Code (PHP)
<?
//ทำ resize รูป
for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
{
if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
{
$images = $_FILES["fileUpload"]["tmp_name"][$i];
$new_images = "Thumbnails_".$_FILES["fileUpload"]["name"][$i];
copy($_FILES["fileUpload"]["tmp_name"][$i],"MyResize/".$_FILES["fileUpload"]["name"][$i]);
$width=100; //*** Fix Width & Heigh (Autu caculate) ***//
$size=GetimageSize($images);
$height=round($width*$size[1]/$size[0]);
$images_orig = ImageCreateFromJPEG($images);
$photoX = ImagesX($images_orig);
$photoY = ImagesY($images_orig);
$images_fin = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
ImageJPEG($images_fin,"MyResize/".$new_images);
ImageDestroy($images_orig);
ImageDestroy($images_fin);
echo "Resize Successful.<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","root","123456") or die("Error Connect to Database");
$objDB = mysql_select_db("gallery");
$strSQL = "INSERT INTO picture ";
$strSQL .="(Thumbnails,PicName,album_id,count) VALUES ('".$new_images."','".$_FILES["fileUpload"]["name"][$i]."','$album_id','$count')";
$objQuery = mysql_query($strSQL);
}
}
?>
<HTML>
<HEAD>
<TITLE>upload</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-874">
</HEAD>
<BODY>
<FORM name="F1" onSubmit="" action="<?=$PHP_SELF;?>"
method="post" encType="multipart/form-data">
<INPUT type="hidden" name="add" id="add" value="1">
<SCRIPT language="javascript" type="text/javascript">
var n = 1;
var w = 1;
function mknormal(){
w = 1;
n = 1;
document.getElementById("tx").innerHTML= '<input name="file1" type="file" /><br />';
//document.F1.action = "";
}
function plus(){
if (w==1) { plusnormal(); }
if (w==2 && n<5){ plusremote(); }
}
function plusremote() {
n = n+1;
var main = document.getElementById("tx");
document.getElementById("dasminus").style.visibility='visible';
document.getElementById("dasminus").style.fontSize='20px';
var newnode = document.createElement("input");
newnode.type="text";
newnode.name="link";
main.appendChild(newnode);
main.appendChild(document.createElement("br"));
}
function plusnormal() {
n = n+1;
document.getElementById("dasminus").style.visibility='visible';
document.getElementById("dasminus").style.fontSize='20px';
var main = document.getElementById("tx");
var newnode = document.createElement("input");
newnode.type="file";
newnode.name="file"+n;
main.appendChild(newnode);
main.appendChild(document.createElement("br"));
}
function minus() {
if (n>1) {
n = n-1;
var main = document.getElementById("tx");
main.removeChild(main.lastChild);
main.removeChild(main.lastChild);
}
if (n==1){
document.getElementById("dasminus").style.visibility='hidden';
document.getElementById("dasminus").style.fontSize='1px';
}
}
</SCRIPT>
<TABLE width="100%" border="0" style="MARGIN-BOTTOM: 0px">
<TBODY>
<TR>
<TD width="50" align="center" valign="top">
<A href="javascript:plus();" style="color:#009900; font-size:20px;
font-weight:bold; text-decoration:none;">+ </A>
</TD>
<TD width="705" rowSpan="2" valign="top">
<DIV id="tx"><!--<script language="javascript">mknormal();</script>-->
<input type="file" name="fileUpload[]"><br /></DIV>
</TD>
</TR>
<TR>
<TD align="center" valign="bottom">
<DIV id="dasminus" style="visibility:hidden;">
<A style="color:#FF0000; font-size:20px; font-weight:bold;
text-decoration:none;" href="javascript:minus();">- </A>
</DIV>
</TD>
</TR>
</TBODY>
</TABLE>
<input name="submit" type="submit" value="upload...">
<input name="reset" type="button" value="refresh" onClick="window.location.href='upload.php';">
</FORM>
</BODY>
</HTML>
ตอนนี้อัพโหลดได้ครั้งละรูปอย่างเดียวTag : PHP, JavaScript
Date :
2010-09-28 14:37:15
By :
nongjar
View :
688
Reply :
3
ผิดที่ Java คับ
เวลาจะสร้าง fileField แบบหลายๆ ตัวให้ใส่ [] หลังชื่อถูกต้องแล้วคับ
เป็นการสร้าง Array อัตโนมัติ
แต่ว่าฟังชั่น plusnormal()
ตรง
newnode.name="file"+n;
มันจะสร้าง fileField ชื่อว่า fileX
ซึ่งปกติใส่ [] หลังชื่อไปเลยคับ ไม่ต้องใส่เลขกำกับท้าย
แล้ว fileField ตัวแรกมันชื่อ fileUpload[]
fileField ที่สร้างใหม่กลับชื่อ fileX
มันกลายเป็นคนละตัวแปรกันคับ ไม่ใช่ตัวแปร Array
พี่สั่งให้ PHP รับตัวแปรชื่อ fileUpload มันเลยเจอเป็นค่าเดียวตลอดไงคับ
ต้องเปลี่ยนเป็นแบบนี้คับ
Code (JavaScript)
function plusnormal() {
n = n+1;
document.getElementById("dasminus").style.visibility='visible';
document.getElementById("dasminus").style.fontSize='20px';
var main = document.getElementById("tx");
var newnode = document.createElement("input");
newnode.type="file";
newnode.name="fileUpload[]";
main.appendChild(newnode);
main.appendChild(document.createElement("br"));
}
ลองดูคับ
Date :
2010-09-28 15:05:23
By :
petzaza009
ขอบคุณที่ช่วยนะคะ
Date :
2010-09-28 16:47:48
By :
nongjar
คับ ^^
Date :
2010-09-28 19:02:28
By :
petzaza009
Load balance : Server 05