|
|
|
สอบถามเกี่ยวกับPHP Upload รูปภาพลงในฐานข้อมูล MySQL (ลองทำบน host จริงติดปัญหาครับ) |
|
|
|
|
|
|
|
คือผมลองทำตาม บทความนี้ครับ https://www.thaicreate.com/community/php-upload-file-mysql-edit-form.html
แล้วติดปัญหาคือมันไม่ Copy/Upload Complete คืออยากทราบว่าถ้าเอาไปอัพบน host จะต้องแก้ตรงไหนบ้าง
นอกจาก การเชื่อมต่อกับ host
และ if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
บรรทัดนี้มีความหมายว่าอย่างไร
อันนี้เป็นโค๊ดหน้าแรกครับ
Code (PHP)
<form name="form1" method="post" action="PageUploadToMySQL2.php" enctype="multipart/form-data">
Name : <input type="text" name="txtName"><br>
Picture : <input type="file" name="filUpload"><br>
<input name="btnSubmit" type="submit" value="Submit">
</form>
หน้า 2
Code (PHP)
<?php
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","mydata","********") or die("Error Connect to Database");
$objDB = mysql_select_db("mydata");
$strSQL = "INSERT INTO files ";
$strSQL .="(Name,FilesName) VALUES ('".$_POST["txtName"]."','".$_FILES["filUpload"]["name"]."')";
$objQuery = mysql_query($strSQL);
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
หน้า 3
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","mydata","**********") or die("Error Connect to Database");
$objDB = mysql_select_db("mydata");
$strSQL = "SELECT * FROM files";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="340" border="1">
<tr>
<th width="50"> <div align="center">Files ID </div></th>
<th width="150"> <div align="center">Picture</div></th>
<th width="150"> <div align="center">Name</div></th>
<th width="150"> <div align="center">Edit</div></th>
</tr>
<?php
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?php echo $objResult["FilesID"];?></div></td>
<td><center><img src="myfile/<?php echo $objResult["FilesName"];?>"></center></td>
<td><center><?php echo $objResult["Name"];?></center></td>
<td><center><a href="PageUploadToMySQL4.php?FilesID=<?php echo $objResult["FilesID"];?>">Edit</a></center></td>
</tr>
<?php
}
?>
</table>
<?php
mysql_close($objConnect);
?>
หน้าที่ 4
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","mydata","**********") or die("Error Connect to Database");
$objDB = mysql_select_db("mydata");
$strSQL = "SELECT * FROM files WHERE FilesID = '".$_GET["FilesID"]."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
?>
<form name="form1" method="post" action="PageUploadToMySQL5.php?FilesID=<?php echo $_GET["FilesID"];?>" enctype="multipart/form-data">
Edit Picture :<br>
Name : <input type="text" name="txtName" value="<?php echo $objResult["Name"];?>"><br>
<img src="myfile/<?php echo $objResult["FilesName"];?>"><br>
Picture : <input type="file" name="filUpload"><br>
<input type="hidden" name="hdnOldFile" value="<?php echo $objResult["FilesName"];?>">
<input name="btnSubmit" type="submit" value="Submit">
</form>
หน้าที่ 5
Code (PHP)
<?php
//*** Update Record ***//
$objConnect = mysql_connect("localhost","mydata","**********") or die("Error Connect to Database");
$objDB = mysql_select_db("mydata");
$strSQL = "UPDATE files ";
$strSQL .=" SET NAME = '".$_POST["txtName"]."' WHERE FilesID = '".$_GET["FilesID"]."' ";
$objQuery = mysql_query($strSQL);
if($_FILES["filUpload"]["name"] != "")
{
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
//*** Delete Old File ***//
@unlink("myfile/".$_POST["hdnOldFile"]);
//*** Update New File ***//
$strSQL = "UPDATE files ";
$strSQL .=" SET FilesName = '".$_FILES["filUpload"]["name"]."' WHERE FilesID = '".$_GET["FilesID"]."' ";
$objQuery = mysql_query($strSQL);
echo "Copy/Upload Complete<br>";
}
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
ขอคำชี้แนะด้วยครับ
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2015-11-25 16:13:24
|
|
|
|
|
Date :
2015-11-25 16:11:30 |
By :
sarun09945282xx |
View :
1573 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$_FILES["ชื่ออินพุตไฟล์"]["tmp_name"] = ตำแหน่งไดเรกทอรี่ที่เก็บไฟล์นี้ไว้ชั่วคราว
$_FILES["ชื่ออินพุตไฟล์"]["name"] = ชื่อไฟล์ที่ถูกอัพโหลดมา
เวลาจะใช้กับ host จริงต้องปรับ set 777 permissions ให้ folder ที่จะ upload ครับ code ไม่น่าจะต้องปรับอะไรแล้ว
|
ประวัติการแก้ไข 2015-11-25 16:31:34 2015-11-25 16:48:42
|
|
|
|
Date :
2015-11-25 16:30:28 |
By :
zadstoms |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ไข permission สำหรับ Folder ตามคุณ Tommy ครับ
แต่ศึกษาเรื่อง permission ให้ดีครับ การเปิด 777 ไม่ใช่เรื่องที่ดีครับ
ถ้าจะไว้ทดสอบ พอไหว แต่ใช้งานจริงไม่เหมาะครับ
|
|
|
|
|
Date :
2015-11-25 16:54:35 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆ ครับ
|
|
|
|
|
Date :
2015-11-25 19:54:14 |
By :
sarun09945282xx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|