|
|
|
รบกวนช่วยดูโค้ด Upload ไฟล์ให้หน่อยค่ะ ติดปัญหาอัพลงโฟลเดอร์ค่ะ |
|
|
|
|
|
|
|
ตอนนี้ที่ได้คือ เวลาอัพไฟล์เอกสารเข้าไป ชื่อมันไปเก็บที่ฐานข้อมูลแล้วค่ะ แต่มันยังไม่เก็บลงโฟลเดอร์ ไม่ทราบว่าต้องเขียนโค้ดยังไงคะ ช่วยหน่อยค่ะ ติดมาหลายอาทิตย์แล้วก็พยายามลองหลายวิธีแล้วแต่ก็ยังไม่ได้ หรือตัวเองเขียนผิดก็ไม่รู้ (ช่วยอธิบายเป็นโค้ดเลยจะดีมากค่ะ ขอบคุณค่ะ)
Code (PHP)
<?php
session_start();
include("db/connect.php");//เรียกใช้ไฟล์connect.php
error_reporting (E_ALL ^ E_NOTICE); //ดัก noticeออกไป
if($_POST["Save"]){
//select pro_name
$sql_pname = "SELECT pro_name as province_name FROM province WHERE pro_id = '$pro_id' ";
$db_query_pname=mysql_query($sql_pname);
$result_pname = mysql_fetch_array($db_query_pname);
$province_name=$result_pname[province_name];
//insert into asbuit(pro_name)
$str=" insert into `asbuit`
(`asbuit_id`,`zone_asbuit`,`asbuit_name`,`file_asbuit`,`date_asbuit_up`,`asbuit_description`,`show`,`tech_id`,`p_id`,`pro_id`,`pro_name`)
values ( '$asbuit_id' , '$zone_asbuit' , '$asbuit_name' , '$file_asbuit', '$date_asbuit_up', '$asbuit_description', 'y', '$tech_id', '$p_id', '$pro_id', '$province_name') " ;
mysql_query($str) or die (mysql_error());
//echo $str;
echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
echo "<meta http-equiv ='refresh'content='0;URL=show_asbuit.php'>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form name="as1" method="post" enctype="multipart/form-data">
<table align="center">
<th colspan="2" align="center" bgcolor="#FFFF99" scope="col">เพิ่มเอกสาร Asbuit </th>
<tr>
<td align="right">โปรเจค : </td>
<td> <select name="p_id" id="p_id"><option>เลือก</option>
<?php $sql="select * from project ";
$a=mysql_query($sql);
while($objResult=mysql_fetch_array($a)){
?>
<option value="<?=$objResult['p_id']?>"><?=$objResult['pro_name']?></option>
<?php } ?></select> <font color="#FF0000">*</font></td></tr>
<tr><td align="right">ZONE :</td>
<td><label for="zone_asbuit"></label>
<select name="zone_asbuit" id="zone_asbuit">
<option selected="selected">--กรุณาเลือก--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select><font color="#FF0000"> *</font>
</td></tr>
<tr><td align="right">จังหวัด :</td>
<td> <select name="pro_id" id="pro_id">
<option value="">--เลือกจังหวัด--</option>
<?php $strDefault=$row_insert['pro_id'];
$strSQL = "SELECT * FROM province ORDER BY pro_id ASC";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{ if($strDefault == $objResuut["pro_id"])
{ $sel = "selected"; }
else{ $sel = ""; } ?>
<option value="<?=$objResuut["pro_id"];?>" <?=$sel;?>><?=$objResuut["pro_id"]." - ".$objResuut["pro_name"];?></option> <?php } ?>
</select><font color="#FF0000"> *</font> </td></tr>
<tr><td align="left">วันที่อัพเอกสาร</td>
<td><label for="date_asbuit_up"></label>
<input type="date" name="date_asbuit_up" id="date_asbuit_up" ; /></td></tr>
<font color="#FF0000"> </font>
<tr><td align="right">ชื่อเอกสาร :</td>
<td ><label for="asbuit_name"></label>
<input type="text" name="asbuit_name" id="asbuit_name" ; /> <font color="#FF0000">*</font></td> </tr>
<tr><td align="right">รายละเอียด :</td>
<td ><label for="asbuit_description"></label>
<input type="text" name="asbuit_description" id="asbuit_description" ; /><font color="#FF0000">*</font></td> </tr>
<tr><td colspan="2"> </td></tr>
<div class="upload">
<div id="queue"></div>
<tr> <td colspan="2" align="center"><div align="center">
<input id="file_asbuit" name="file_asbuit" type="file" multiple="true"><br> <input type=submit><br>
</div></td> </tr></div> </table>
<p align="center">
<input type="submit" name="Save" id="Save" value="บันทึก" />
<input type="reset" name="cancel" id="cancel" value="ยกเลิก" />
</p><table align="center" border="1" bordercolor="#FF0000"><tr><td align="center"><font color="#FF0000">*อัพโหลดได้เฉพาะไฟล์นามสกุล .pdf , .doc ครั้งละไม่เกิน 1024KB อัพโหลดได้ครั้งละ 5 ไฟล์</font></td> </tr></table></form>
</body>
</html>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2017-02-27 15:11:09 |
By :
nachon |
View :
976 |
Reply :
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีส่วนที่เป็นการอัพโหลดไฟล์ครับ
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","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .="(FilesName) VALUES ('".$_FILES["filUpload"]["name"]."')";
$objQuery = mysql_query($strSQL);
}
?>
=> PHP Uploads/Download Files To MySQL Database
|
|
|
|
|
Date :
2017-02-27 15:58:38 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2017-02-27 15:58:38
รายละเอียดของการตอบ ::
อัพลงโฟลเดอร์ได้แล้วค่ะ แต่ถ้าไฟล์เป็นภาษาไทยชื่อไฟล์ในโฟลเดอร์จะเป็นภาษาต่างด้าวค่ะ
แล้ว ถ้าอยากกำหนดชนิดของไฟล์ต้องกำหนดตรงไหน ยังไงคะ?? (ลองเขียนแบบนี้ถูกไหมคะ?)
Code (PHP)
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
include("db/connect.php");//เรียกใช้ไฟล์connect.php
error_reporting (E_ALL ^ E_NOTICE); //ดัก noticeออกไป
if($_POST["Save"]){
$file_types = array('.doc','.docx','.pdf');
if(move_uploaded_file($_FILES["file_asbuit"]["tmp_name"],"upload/technical/asbuit/".$_FILES["file_asbuit"]["name"]))
{
//select pro_name
$sql_pname = "SELECT pro_name as province_name FROM province WHERE pro_id = '$pro_id' ";
$db_query_pname=mysql_query($sql_pname);
$result_pname = mysql_fetch_array($db_query_pname);
$province_name=$result_pname[province_name];
//insert into asbuit(pro_name)
$str=" insert into `asbuit`
(`asbuit_id`,`zone_asbuit`,`asbuit_name`,`file_asbuit`,`date_asbuit_up`,`asbuit_description`,`show`,`tech_id`,`p_id`,`pro_id`,`pro_name`)
values ( '$asbuit_id' , '$zone_asbuit' , '$asbuit_name' ,'".$_FILES["file_asbuit"]["name"]."', '$date_asbuit_up', '$asbuit_description', 'y', '$tech_id', '$p_id', '$pro_id', '$province_name') " ;
mysql_query($str) or die (mysql_error());
//echo $str;
echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
echo "<meta http-equiv ='refresh'content='0;URL=show_asbuit.php'>";
}
// file type error
echo "ประเภทไฟล์ไม่ถูกต้อง - ประเภทของไฟล์ที่สามารถอัพโหลดได้: " . implode(', ',$file_types);
unlink($_FILES["file_asbuit"]["tmp_name"]);
}
?>
|
ประวัติการแก้ไข 2017-02-27 17:40:41
|
|
|
|
Date :
2017-02-27 17:39:25 |
By :
nachon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูว่าได้เปล่าครับ
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
include("db/connect.php");//เรียกใช้ไฟล์connect.php
error_reporting (E_ALL ^ E_NOTICE); //ดัก noticeออกไป
if($_POST["Save"]){
$file_types = array('.doc','.docx','.pdf');
$fileName_utf8 = iconv("tis-620", "utf-8", $_FILES["file_asbuit"]["name"]);
if(move_uploaded_file($_FILES["file_asbuit"]["tmp_name"],"upload/technical/asbuit/".$fileName_utf8))
{
//select pro_name
$sql_pname = "SELECT pro_name as province_name FROM province WHERE pro_id = '$pro_id' ";
$db_query_pname=mysql_query($sql_pname);
$result_pname = mysql_fetch_array($db_query_pname);
$province_name=$result_pname[province_name];
//insert into asbuit(pro_name)
$str=" insert into `asbuit`
(`asbuit_id`,`zone_asbuit`,`asbuit_name`,`file_asbuit`,`date_asbuit_up`,`asbuit_description`,`show`,`tech_id`,`p_id`,`pro_id`,`pro_name`)
values ( '$asbuit_id' , '$zone_asbuit' , '$asbuit_name' ,'".$_FILES["file_asbuit"]["name"]."', '$date_asbuit_up', '$asbuit_description', 'y', '$tech_id', '$p_id', '$pro_id', '$province_name') " ;
mysql_query($str) or die (mysql_error());
//echo $str;
echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
echo "<meta http-equiv ='refresh'content='0;URL=show_asbuit.php'>";
}
// file type error
echo "ประเภทไฟล์ไม่ถูกต้อง - ประเภทของไฟล์ที่สามารถอัพโหลดได้: " . implode(', ',$file_types);
unlink($_FILES["file_asbuit"]["tmp_name"]);
}
?>
|
|
|
|
|
Date :
2017-02-27 19:17:32 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ควรใช้ชื่อไฟล์ไทย คุณจะมีปัญหากับมันในอนาคต
|
|
|
|
|
Date :
2017-02-27 23:41:22 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หลีกเลี่ยงภาษาไทยนะครับ มีปัญหามาแน่นอนครับ ถ้าเลี่ยงไม่ได้ลองดูพวก iconv()
|
|
|
|
|
Date :
2017-02-28 21:11:58 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเขียนไปแบบนี้ค่ะ แต่ว่าก็ยังเป็นชื่อไฟล์ต่างด้าวเหมือนเดิม ??
ตอบความคิดเห็นที่ : 5 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-27 19:17:32
รายละเอียดของการตอบ ::
ตอบความคิดเห็นที่ : 9 เขียนโดย : mr.win เมื่อวันที่ 2017-02-28 21:11:58
รายละเอียดของการตอบ ::
Code (PHP)
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
include("db/connect.php");//เรียกใช้ไฟล์connect.php
error_reporting (E_ALL ^ E_NOTICE); //ดัก noticeออกไป
if($_POST["Save"]){
$file_asbuit='".$_FILES["file_asbuit"]["name"]."';
$fileName_tis620 = iconv("utf-8", "tis-620", $_FILES["file_asbuit"]["name"]);
$fileName_utf8 = iconv("tis-620", "utf-8", $fileName_tis620);
if(move_uploaded_file($_FILES["file_asbuit"]["tmp_name"],"upload/technical/asbuit/".$_FILES["file_asbuit"]["name"]))
{
//select pro_name
$sql_pname = "SELECT pro_name as province_name FROM province WHERE pro_id = '$pro_id' ";
$db_query_pname=mysql_query($sql_pname);
$result_pname = mysql_fetch_array($db_query_pname);
$province_name=$result_pname[province_name];
//insert into asbuit(pro_name)
$str=" insert into `asbuit`
(`asbuit_id`,`zone_asbuit`,`asbuit_name`,`file_asbuit`,`date_asbuit_up`,`asbuit_description`,`show`,`tech_id`,`p_id`,`pro_id`,`pro_name`) values ( '$asbuit_id' , '$zone_asbuit' , '$asbuit_name' ,'".$_FILES["file_asbuit"]["name"]."', '$date_asbuit_up', '$asbuit_description', 'y', '$tech_id', '$p_id', '$pro_id', '$province_name') " ;
mysql_query($str) or die (mysql_error());
//echo $str;
echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
echo "<meta http-equiv ='refresh'content='0;URL=show_asbuit.php'>";
}
}
?>
|
|
|
|
|
Date :
2017-03-01 09:42:55 |
By :
nachon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หากจำเป็นต้องใช้ภาษาไทยจริงๆ วิธีแก้ของผมก็คือ
เก็บชื่อไฟล์ไว้ใน database ครับ แต่ชื่อไฟล์ใน host ให้เป็น random name แล้วก็เก็บไว้ใน database เช่นเดียวกัน ไว้อ้างอิง
ตอนดาวน์โหลด แล้วก็เปลี่ยนชื่อไฟล์กลับเป็นภาษาไทยเหมือนเดิมในตอนดาวน์โหลด
|
|
|
|
|
Date :
2017-03-02 00:47:25 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|