ขอความช่วยเหลือครับ Form ส่งข้อมูลไปฐานข้อมูล ที่มี Browse เพื่อ Upload รูปภาพ ส่งข้อคาวม+รูป ส่งได้ ส่งรูปอย่างเดียว ก็ได้
Form_upload.php
Code (PHP)
<html>
<body>
<form name="frmMain" method="post" action="NewQuestion_insert.php" enctype="multipart/form-data">
<table width="660" border="1" cellpadding="1" cellspacing="1">
<tr>
<td>Question</td>
<td><input name="txtQuestion" type="text" id="txtQuestion" value="" size="70"></td>
<td> </td>
</tr>
<tr>
<td width="71">Details</td>
<td><textarea name="txtDetails" cols="50" rows="5" id="txtDetails"></textarea></td>
<td> </td>
</tr>
<tr>
<td width="71">Name</td>
<td width="448"><input name="txtName" type="text" id="txtName" value="" size="50"></td>
<td width="123"><input type="file" name="filUpload"></td>
</tr>
<tr>
<td>Fleet</td>
<td><select name="txtFleet" type="text" id="txtFleet" size="1"style="width:220px;">
<option value="" selected="selected">- Select a Category -</option>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("ots_data");
$strSQL = "SELECT * FROM fleet_table ORDER BY ID ASC";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["fleet"];?>">
<?=$objResuut["ID"]." ".$objResuut["fleet"];?>
</option>
<?
}
?>
</select></td>
<td> </td>
</tr>
</table>
<input name="btnSave" type="submit" id="btnSave" value="Submit">
</form>
</body>
</html>
NewQuestion_insert.php
<html>
<body>
<?php
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name,Fleet,FilesName)
VALUES ('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."',
'".$_POST["txtFleet"]."','".$_FILES["filUpload"]["name"]."') ";
$objQuery = mysql_query($strSQL);
echo " Topic Upload Completed<br>";
}
?>
<a href="webboard.php">View files</a>
</body>
</html>
(file tmp "myfile" เก็บรูป)
Tag : PHP
Date :
2016-06-01 13:54:19
By :
panya@ots
View :
1126
Reply :
11
ใส่ช่อง input ซ่อนไว้ โดยการเป็น ส่งชื่อไปแทนภาพจริงๆครับ แล้วใน sql ก็ if ซะหน่อย ว่าถ้าช่องอัพโหลดว่าง ก็ให้ใช้ช่องที่ซ่อนชื่อภาพส่งมา ไปบันทึกแทนครับ
Date :
2016-06-01 15:00:22
By :
Dragons_first
ตรงนี้ครับ
Code (PHP)
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name,Fleet,FilesName)
VALUES ('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."',
'".$_POST["txtFleet"]."','".$_FILES["filUpload"]["name"]."') ";
$objQuery = mysql_query($strSQL);
echo " Topic Upload Completed<br>";
}
โค้ดด้านบน
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
ตรงนี้จะทำการตรวจสอบเงื่อนไขว่า ถ้าหากมีการ move ไฟล์ที่ upload ได้สำเร็จจะทำการบันทึกข้อมูลครับ
หากต้องการให้บันทึกข้อความอย่างเดียว โดยไม่จำเป็นต้องเลือกรูปปรับตามนี้คับ
Code (PHP)
$filename = ""; // เก็บชื่อไฟล์ข้อมูล
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"])) {
$filename = $_FILES["filUpload"]["name"];
}
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name,Fleet,FilesName)
VALUES ('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."',
'".$_POST["txtFleet"]."','".$filename."') ";
$objQuery = mysql_query($strSQL);
echo " Topic Upload Completed<br>";
Date :
2016-06-02 11:44:14
By :
mm2mail
ปรับโค๊ดให้ครับ อันนี้มันยาวไป
Code (PHP)
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name,Fleet,FilesName)
VALUES ('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."',
'".$_POST["txtFleet"]."','".$_FILES["filUpload"]["name"]."') ";
$objQuery = mysql_query($strSQL);
echo " Topic Upload Completed<br>";
}
โค้ดด้านบน
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
ตรงนี้จะทำการตรวจสอบเงื่อนไขว่า ถ้าหากมีการ move ไฟล์ที่ upload ได้สำเร็จจะทำการบันทึกข้อมูลครับ
หากต้องการให้บันทึกข้อความอย่างเดียว โดยไม่จำเป็นต้องเลือกรูปปรับตามนี้คับ
$filename = ""; // เก็บชื่อไฟล์ข้อมูล
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"])) {
$filename = $_FILES["filUpload"]["name"];
}
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name,Fleet,FilesName)
VALUES ('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."',
'".$_POST["txtFleet"]."','".$filename."') ";
$objQuery = mysql_query($strSQL);
echo " Topic Upload Completed<br>";
อันนี้แบบสั้นๆครับ ใช้ได้เหมอืนกันขอแค่เข้าใจมันครับ
$fileUpload = $_FILES["filUpload"]["name"]; //// ตรงนี้คือช่องอัพโหลดที่ส่งค่ามาครับ
$oldpic = $_POST['oldpic']; /// ตรงนี้คือช่อง input ที่ hidden แล้วส่งมาแต่ชื่อรูปครับ
if($fileUpload==''){
$filename = $oldpic;
}else{
$filename = $fileUpload;
move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"])
}
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name,Fleet,FilesName)
VALUES ('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."',
'".$_POST["txtFleet"]."','".$filename."') ";
$objQuery = mysql_query($strSQL);
echo " Topic Upload Completed<br>";
Date :
2016-06-02 15:26:47
By :
Dragons_first
Code (PHP)
function resize($image,$path,$type){
$image = $image;
$new_images = $path.'/'.$image;
$width=800; //*** Fix Width & Heigh (Autu caculate) ***//
$size=GetimageSize($path.'/'.$image);
$height=round($width*$size[1]/$size[0]);
switch($type){
case 'image/jpg' : $im = ImageCreateFromJpeg($path.'/'.$image);break; // Path From Upload Tempbreak;
case 'image/jpeg' : $im = ImageCreateFromJpeg($path.'/'.$image);break; // Path From Upload Tempbreak;
case 'image/png' : $im = ImageCreateFromPng($path.'/'.$image); break;// Path From Upload Tempbreak;
case 'image/gif' : $im = ImageCreateFromGif($path.'/'.$image);break; // Path From Upload Tempbreak;
return $im;
}
$photoX = ImagesX($im);
$photoY = ImagesY($im);
$images_resize = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_resize, $im, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
switch($type){
case 'image/jpg' : imageJpeg($images_resize,$new_images);break;
case 'image/jpeg' : imageJpeg($images_resize,$new_images);break;
case 'image/png' : imagePng($images_resize,$new_images);break;
case 'image/gif' : imageGif($images_resize,$new_images);break;
}
ImageDestroy($im);
ImageDestroy($images_resize);
}
กำหนดขนาดในโค๊ดได้เลยครับ เวลาครอบก็ใช้แบบนี้
$file = resize($image,$path,$type)
Date :
2016-06-03 11:18:26
By :
Dragons_first
ที่ error มันรันได้ป่าวครับ เพราะของผมไม่แสดงส่วน error นี้นะครับ
resize($fileUpload,'uploaded','.jpg');
Date :
2016-06-03 17:34:25
By :
Dragons_first
ตอบความคิดเห็นที่ : 10 เขียนโดย : Dragons_first เมื่อวันที่ 2016-06-03 17:34:25
รายละเอียดของการตอบ ::
อย่างนี้คงไม่ถูกแน่ เพราะ upload ได้ทุกขนาด ช่วยปรับให้ถูกต้องหน่อยครับ ผมพยายาม ใส่ resize($fileUpload,'uploaded','.jpg'); และ
$file = resize($image,$path,$type) แล้วมัน error ครับ
code ที่ยังไม่สมบูรณ์
<?
function resize($image,$path,$type){
$image = $image;
$new_images = $path.'/'.$image;
$width=100; //*** Fix Width & Heigh (Autu caculate) ***//
$size=GetimageSize($path.'/'.$image);
$height=round($width*$size[1]/$size[0]);
switch($type){
case 'image/jpg' : $im = ImageCreateFromJpeg($path.'/'.$image);break; // Path From Upload Tempbreak;
case 'image/jpeg' : $im = ImageCreateFromJpeg($path.'/'.$image);break; // Path From Upload Tempbreak;
case 'image/png' : $im = ImageCreateFromPng($path.'/'.$image); break;// Path From Upload Tempbreak;
case 'image/gif' : $im = ImageCreateFromGif($path.'/'.$image);break; // Path From Upload Tempbreak;
return $im;
}
$photoX = ImagesX($im);
$photoY = ImagesY($im);
$images_resize = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_resize, $im, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
switch($type){
case 'image/jpg' : imageJpeg($images_resize,$new_images);break;
case 'image/jpeg' : imageJpeg($images_resize,$new_images);break;
case 'image/png' : imagePng($images_resize,$new_images);break;
case 'image/gif' : imageGif($images_resize,$new_images);break;
}
ImageDestroy($im);
ImageDestroy($images_resize);
}
$filename = ""; // เก็บชื่อไฟล์ข้อมูล
if(move_uploaded_file($_FILES["fileUpload"]["tmp_name"],"myfile/".$_FILES["fileUpload"]["name"])) {
$filename = $_FILES["fileUpload"]["name"];
}
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "INSERT INTO webboard ";
$strSQL .="(CreateDate,Question,Details,Name,Fleet,FilesName)
VALUES ('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."',
'".$_POST["txtFleet"]."','".$filename."') ";
$objQuery = mysql_query($strSQL);
echo " Topic Upload Completed<br>";
?>
Date :
2016-06-03 19:19:42
By :
panya@ots
Load balance : Server 03