รบกวนช่วยดู Code หน่อยครับ รบกวนช่วยดู Code หน่อยครับ ผมทำสคริปต์ อัพโหลดรูปภาพอยุ่ครับหน้าอัพโหลดไม่
รบกวนช่วยดู Code หน่อยครับ ผมทำสคริปต์ อัพโหลดรูปภาพอยุ่ครับหน้าอัพโหลดไม่มีปัญหาครับแต่พออัพโหลดไปมันไม่แสดงภาพขึ้นรูปกากบาทแดงครับแต่ในฐานข้อมูลมีชื่อไหล์ภาพนะครับ แนบโค้ดมาให้ดูด้วยครับ
<?
$id_title=$_GET[id_title];
include "connect3.php";
$sql="select * from tb_title where id_title='$id_title' ";
$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_array($result);
$name_title=$r[name_title];
?>
<HTML>
<HEAD><TITLE>PHOTO GALLERY II </TITLE></HEAD>
<BODY>
<H2>ADMIN : PHOTO GALLERY II</H2>
<FORM METHOD="POST" ACTION="admin_photo_add.php" ENCTYPE="multipart/form-data">
<TABLE>
<TR>
<TD><div align="right"><B>หัวข้อ :</B></div></TD>
<TD><?=$name_title?></TD>
</TR>
<TR>
<TD><div align="right"><B>รูปภาพ :</B></div></TD>
<TD><INPUT TYPE="file" NAME="photo"></TD>
</TR>
<TR>
<TD VALIGN="top"><div align="right"><B>คำอธิบายรูปภาพ :</B></div></TD>
<TD><TEXTAREA NAME="detail" ROWS="2" COLS="35"></TEXTAREA></TD>
</TR>
<TR>
<TD> </TD>
<TD><INPUT TYPE="submit" VALUE="Submit">
<INPUT TYPE="reset" VALUE="Reset">
<INPUT TYPE="hidden" NAME="id_title" VALUE="<?=$id_title?>">
</TD>
</TR>
</TABLE>
<A HREF="admin.php">คลิกเพื่อกลับ</A><BR>
</FORM>
<?
$no=0;
$sql="select * from tb_photo where ref_title='$id_title'order by id_photo";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
if($num>0) {
echo "
<TABLE BORDER=1>
<TR BGCOLOR=#EEEEEE>
<TD><B>ลำดับ</B></TD>
<TD><B>รูปภาพ</B></TD>
<TD><B>รายละเอียด</B></TD>
<TD><B>ลบ</B></TD>
</TR>";
while ($r=mysql_fetch_array($result)) {
$id_photo=$r[id_photo];
$name_photo=$r[name_photo];
$detail_photo=$r[detail_photo];
$no++;
echo "
<TR>
<TD><CENTER>$no</CENTER></TD>
<TD>
<A HREF='images_large/$name_photo' TARGET='_blank'>
<IMG SRC='images_small/$name_photo' BORDER=0></A>
</TD>
<TD>$detail_photo</TD>
<TD><A HREF='admin_photo_del.php?id_del=$id_photo&id_title=$id_title&name_del=$name_photo' onclick=\"return confirm('คุณแน่ใจที่จะลบรูป $name_photo ออกจากระบบ?')\">ลบ</A>
</TD>
</TR>";
}
}
?>
</TABLE>
</BODY>
</HTML>
พอผมลองรันสคริปต์ดูลองอัพภาพดูมันก็จะลิงก์ไปที่อีกสคริปต์หนึ่งเป็นสคริปต์ที่แจ้งให้เราทราบว่าได้อัพโหลดรูปภาพเรียบร้อยแล้ว คืออันนี้ครับ แต่สคริปต์นี้มีปัญหาเรื่องฟังก์ชั่น 2บรรทัดครับ คือ 28,50
บรรทัดที่ 28 copy($photo, "images_large/$filename");
บรรทัดที่ 50 imagejpeg($new_img,"images_small/$filename");
<?
$photo=$_FILES['photo']['tmp_name'];
$photo_name=$_FILES['photo']['name'];
$photo_size=$_FILES['photo']['size'];
$photo_type=$_FILES['photo']['type'];
$detail=$_POST['detail'];
$id_title=$_POST['id_title'];
if (!$photo) {
echo "<h3>ERROR : ไม่สามารถ Upload รูปภาพได้ครับ</h3>";
exit();
}
$ext = strtolower(end(explode('.', $photo_name)));
if ($ext == "jpg" or $ext == "jpeg" or $ext =="png" or $ext =="gif") {
//เพิ่มข้อมูลตาราง tb_photo
include "connect3.php";
$sql="insert into tb_photo values(null,' ','$detail','$id_title')";
mysql_db_query($dbname,$sql);
//หา id_photo ที่มากที่สุดของ id_photo
$sql="select max(id_photo) from tb_photo";
$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_array($result);
$id_max=$r[0];
$filename=$id_max.".".$ext;
copy($photo, "images_large/$filename");
if ($ext =="jpg" or $ext =="jpeg") {
$ori_img = imagecreatefromjpeg($photo);
} else if ($ext == "png" ) {
$ori_img = imagecreatefrompng($photo);
} else if ($ext == "gif" ) {
$ori_img = imagecreatefromgif($photo);
}
$ori_size = getimagesize($photo);
$ori_w = $ori_size[0];
$ori_h = $ori_size[1];
if ($ori_w>=$ori_h) {
$new_w =100;
$new_h = round(($new_w/$ori_w) * $ori_h);
} else {
$new_h =100;
$new_w = round(($new_h/$ori_h) * $ori_w);
}
$new_img= imagecreatetruecolor($new_w, $new_h);
imagecopyresized($new_img, $ori_img,0,0,0,0,$new_w,$new_h,$ori_w,$ori_h);
if ($ext =="jpg" or $ext == "jpeg") {
imagejpeg($new_img,"images_small/$filename");
} else if ($ext =="png"){
imagepng($new_img,"images_small/$filename");
} else if ($ext =="gif"){
imagegif($new_img,"images_small/$filename");
}
imagedestroy($ori_img);
imagedestroy($new_img);
$sql="update tb_photo set name_photo='$filename' where id_photo='$id_max' ";
mysql_db_query($dbname,$sql);
echo "<H3>Upload รูปภาพเรียบร้อยแล้ว </H3>";
echo "<A HREF='admin_photo.php?id_title=$id_title'>กลับหน้าหลัก</A>";
mysql_close();
} else {
echo "<h3>ERROR : ไม่สามารถ Upload รูปภาพได้ครับ</h3>";
}
?>
รบกวนช่วยดูให้หน่อยครับ
ขอบคุณครับ
Tag : - - - -
Date :
6 ต.ค. 2551 22:18:04
By :
name
View :
1094
Reply :
2
รบกวนดูคำสั่งอีกครั้งครับ เพราะเท่าที่ผมดู มันน่าจะผิดบ้าง เช่น
<TD><?=$name_title?></TD> ผมคิดว่า น่าจะใช้ควบคู่กับคำสั่ง echo นะครับ เพราะว่า มันไม่น่าจะอ้างเอาตัวแปรขึ้นมาได้เลย รองดูก่อนนะครับ ผมเองก็ยังไม่เก่งหรอกครับ ถ้ายังไงรบกวนสอน ๆ กันด้วยครับ
ผมชื่อเหมยครับ [email protected] ถ้ามีไร เขียนมาคุยกันแล้วกันนะครับ
Date :
8 ต.ค. 2551 16:40:13
By :
เหมย
บรรทัดที่ 28 "copy($photo, "images_large/$filename");"
จะต้องเป็นตัวแปร ไม่ใช่หรือครับ มันไม่สามารถที่จะ แทรกทั้ง Path เข้ามาอย่างนี้
บรรทัดที่ 50 ก็เช่นกัน
เดียวนะครับ แล้วไฟล์ที่เอามานี้เป็นไฟล์นามสกุลอะไรหรือครับ เห็นหัวโปรแกรมขึ้นมาเป็น php เลยอะครับ
Date :
8 ต.ค. 2551 16:53:03
By :
เหมย
Load balance : Server 05