|
|
|
จากโค้ดนี้ เราจะอัพเฉพาะไฟล์ .pdf ยังไงคับ จะต้องแก้ตรงไหนบ้างคับ |
|
|
|
|
|
|
|
ผมทำแบบนี้คับ แต่มันไม่ไปเซฟที่โฟล์เดอร์ contract อ่ะคับ แต่มันเข้าไปอยู่ใน database
แล้วเราจะเรียกไฟล์ขึ้นมายังไงอ่ะคับ
<?php
include"config.inc.php";
define ("FILEREPOSITORY","./");
if (is_uploaded_file($_FILES['classnotes']['tmp_name'])) {
if ($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['name'];
$result = move_uploaded_file($_FILES['classnotes']['tmp_name'], FILEREPOSITORY."/$name.pdf");
if ($result == 1) echo "<p>ผ่านคับ</p>";
else echo "<p>ไม่ผ่าน</p>";
} #endIF
} #endIF
$target_path = "../contract/";
$sql="............";
?>
|
|
|
|
|
Date :
2009-06-11 21:51:47 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
include"config.inc.php";
define ("FILEREPOSITORY","./");
$target_path = "../contract/";
if (is_uploaded_file($_FILES['classnotes']['tmp_name'])) {
if ($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['name'];
$result = move_uploaded_file($_FILES['classnotes']['tmp_name'], $target_path . $name . ".pdf");
if ($result == 1) echo "<p>ผ่านคับ</p>";
else echo "<p>ไม่ผ่าน</p>";
} #endIF
} #endIF
$sql="............";
?>
|
|
|
|
|
Date :
2009-06-11 22:22:03 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถามต่อนะคับ ถ้าเซฟลงโฟล์เดอร์และ table แล้ว จะใช้คำสั่งเปิดไฟล์ที่ table อย่างไรอ่ะคับ ให้ส่งค่าตาม id ของฟิวส์อ่ะคับ
|
|
|
|
|
Date :
2009-06-11 22:32:05 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ไป select ชื่อไฟล์ที่บันทึกมา where ด้วย id ก็ได้ชื่อแล้ว ต่อมาก็ใส่ลิงค์ให้เปิดไฟล์
<a href="../contact/<? echo $rows["filename"]; ?>">Open</a>
|
|
|
|
|
Date :
2009-06-11 22:36:39 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากโค้ดข้างบน มันยังไม่เข้าโฟล์เดอร์เหมือนเดิมคับ เข้าแต่ในดาต้าเบส
|
|
|
|
|
Date :
2009-06-11 22:38:52 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากคำสั่งนี้ <a href="../contact/<? echo $rows["filename"]; ?>">Open</a>
ตรง "filename" นี้ใช่ชื่อฟิวส์จาก table หรือป่าวคับ
|
|
|
|
|
Date :
2009-06-11 22:47:53 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าอยู่บน serv จริง อาจจะเป็นเพราะ permission folder ต้องเปลี่ยนเป็น 777 ก่อนนะครับ
ลองดู
|
|
|
|
|
Date :
2009-06-11 22:48:32 |
By :
ss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องถามว่า contact อยู่ระดับเดียวกันกับ file นี้หรือเปล่า เข้าใจ ../ หรือไม่
|
|
|
|
|
Date :
2009-06-11 22:49:05 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โทษทีนะคับ คือผมคิดใหม่แล้ว คือจะอัพไฟล์ pdf เข้าดาต้าเบสไปเลยดีกว่า ไม่ต้องไปเก็บไว้ที่โฟล์เดอร์ contract แล้วอ่ะคับ พอเข้าไปที่ database แล้ว จะเปิดมันขึ้นมายังไง เพราะ table นี้มันมีไฟล์หลายเร็คคอร์ดอ่ะคับ อยากให้เลือกตาม id ที่เป็น pk id รับค่ามาจากอีกฟอร์มหนึ่ง
|
|
|
|
|
Date :
2009-06-11 22:55:14 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไฟล์อัพ อยู่ใน www/test/admin คับ
|
|
|
|
|
Date :
2009-06-11 23:00:32 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าอย่าคิดใหม่เลยครับ คิดดูไฟล์ pdf แต่ละไฟล์ใหญ่บรม ยัดใส่ db เข้าไป ปริแน่นอน เรื่องอัพโหลดนี่มีคนถามเยอะมาก ผมสรุปปัญหาให้ได้เลย
1. ไม่เข้าใจเรื่อง path
2. อัพขึ้น server จริง แต่ไม่ได้ปรับ attribute ให้ write ได้
3. ไฟล์ขนาดใหญ่เกินไป
ผมถามต่อว่าไฟล์ที่อัพขนาดใหญ่ขนาดไหน ดูใน php.ini แล้ว upload_max_filesize อยู่ที่เท่าไหร่
|
|
|
|
|
Date :
2009-06-11 23:01:42 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.path โฟล์เดอร์ contract คือ www/test/ และไฟล์อัพผมอยู่ใน www/test/admin/
2. ผมอัพขึ้น localhost คับ
3. ไฟล์ขนาด 62 kb คับ
ใน php.ini upload_max_filesize = 200M คับ
|
|
|
|
|
Date :
2009-06-11 23:06:44 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเห็นควรว่าต้องย้ายการ insert มาไว้ตรงนี้
include"config.inc.php";
define ("FILEREPOSITORY","./");
$target_path = "../contract/";
if (is_uploaded_file($_FILES['classnotes']['tmp_name'])) {
if ($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['name'];
if (move_uploaded_file($_FILES['classnotes']['tmp_name'], $target_path . $name . ".pdf")){
echo "<p>ผ่านคับ</p>";
$sql="............";
}
else echo "<p>ไม่ผ่าน</p>";
} #endIF
} #endIF
|
|
|
|
|
Date :
2009-06-11 23:15:31 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
include"config.inc.php";
$target_path = "../contract/";
if ($_FILES['classnotes']['tmp_name'] != ""){
if ($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['name'];
if (move_uploaded_file($_FILES['classnotes']['tmp_name'], $target_path . $name . ".pdf")){
echo "<p>ผ่านคับ</p>";
$sql="............";
}
else echo "<p>ไม่ผ่าน</p>";
} #endIF
} #endIF
|
|
|
|
|
Date :
2009-06-11 23:26:02 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคุณ PlaKrim มากคับ จะลองดูนะคับ
|
|
|
|
|
Date :
2009-06-11 23:28:21 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คราวนี้ไม่เข้าทั้งโฟล์เดอร์และดาต้าเบสเลยคับ ไม่รุ้error ตรงไหน เพราะมันไม่ขึ้น error อะไรเลย งงง
|
|
|
|
|
Date :
2009-06-11 23:42:36 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print_r($_FILE);
enctype="multipart/form-data" ใส่ใน tag form หรือยัง
|
|
|
|
|
Date :
2009-06-11 23:54:21 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print_r($_FILE);ใส่ต่อจาก method="post" เหรอคับ
|
|
|
|
|
Date :
2009-06-12 09:41:17 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enctype="multipart/form-data" ใส่ใน form
print_r($_FILE); ใส่ที่ไฟล์อัปโหลด ก่อนอัปโหลด
|
|
|
|
|
Date :
2009-06-12 10:46:31 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมใส่ <form action="<?php print_r($_FILE);?>" method="post" enctype="multipart/form-data" name="form1" id="form1"> แบบนี้ถูกไหมคับ ผมมีฟอร์มตัวเดียวไม่ได้ส่งค่าไปหน้าสองนะคับ
|
|
|
|
|
Date :
2009-06-12 11:06:58 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขึ้น error แบบนี้อ่ะคับ แปลว่าอะไรคับ
Array ( [img] => Array ( [name] => img-430162134.pdf [type] => application/pdf [tmp_name] => C:\WINDOWS\temp\php336.tmp [error] => 0 [size] => 38839 ) )
|
|
|
|
|
Date :
2009-06-12 11:18:10 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำทุกอย่างแล้วทำไมยังไม่ได้อ่ะคับ ผมทำผิดตรงไหนอ่ะ
อันนี้ form.php คับ
<form action="addform.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<label for="file" > <span class="style1"><span class="style1">ไฟล์เอกสารแนบ </span>:</span>
<input name="MAX_FILE_SIZE" type="hidden" value="300000000" />
<input type ="file" name="img" id="img" />
</label>
<span class="style2">(เฉพาะไฟล์ *.jpg, *.jpeg, *.gif เท่านั้น)</span><br>
<span class="style1">สัญญาการซื้อของห้อง :</span>
<select name="menu" id="menu">
<?
$sql="SELECT* FROM tb_room ";
$dbquery=mysql_db_query($db,$sql);
while($result=mysql_fetch_array($dbquery))
{
?>
<option value="<? echo $result[room_no]; ?>"><? echo $result[room_no]; ?></option>
<?
}
mysql_close();
?>
<option value=" "><? echo $result[room_no]; ?></option>
</select>
<br>
<span class="style1">ทำสัญญาซื้อวันที่ :</span>
<input name="date" type="text" id="date" size="20" maxlength="30">
<span class="style2">(01/05/2552)</span><br>
<p align="center"><input type="submit" name="Submit" value="-----ตกลง-----">
</p>
</form>
addform.php
<?php
include"config.inc.php";
$target_path = "../contract/";
if ($_FILES['classnotes']['tmp_name'] != ""){
if ($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['name'];
if (move_uploaded_file($_FILES['classnotes']['tmp_name'], $target_path . $name . ".pdf")){
echo "<p>ผ่านคับ</p>";
echo $sql="insert into contract_room (contract_room.cID, contract_room.room_no, contract_room.contract, contract_room.date) values ('0','$menu',' ".$target_path.$_FILES['img']['name']." ','$date')";
mysql_query("set name tis620");
}
else echo "<p>ไม่ผ่าน</p>";
} #endIF
} #endIF
?>
|
|
|
|
|
Date :
2009-06-13 11:20:27 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input type ="file" name="img" id="img" />
กับ
$_FILES['classnotes']
ต้องแก้ยังไงคิดเอา ชี้ให้แล้ว การเอาโค๊ดตัวอย่างมาใช้งานก็ควรดูและทำความเข้าใจด้วยนะครับ
|
|
|
|
|
Date :
2009-06-13 12:11:10 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนอีกรอบนะคับ ข้อมูลมันไปที่ folder contract แล้ว แต่ไม่ไปดาต้าเบสอ่ะคับ ไม่มีerro ฟ้องด้วยคับ
form.php
<?php include "config.inc.php"; ?>
<form action="addform.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<label for="file" > <span class="style1"><span class="style1">ไฟล์เอกสารแนบ </span>:</span>
<input name="MAX_FILE_SIZE" type="hidden" value="300000000" />
<input type ="file" name="classnotes" id="classnotes" />
</label>
<span class="style2">(เฉพาะไฟล์ *.jpg, *.jpeg, *.gif เท่านั้น)</span><br>
<span class="style1">สัญญาการซื้อของห้อง :</span>
<select name="menu" id="menu">
<?
$sql="SELECT* FROM tb_room ";
$dbquery=mysql_db_query($db,$sql);
while($result=mysql_fetch_array($dbquery))
{
?>
<option value="<? echo $result[room_no]; ?>"><? echo $result[room_no]; ?></option>
<?
}
mysql_close();
?>
<option value=" "><? echo $result[room_no]; ?></option>
</select>
<br>
<span class="style1">ทำสัญญาซื้อวันที่ :</span>
<input name="date" type="text" id="date" size="20" maxlength="30">
<span class="style2">(01/05/2552)</span><br>
<p align="center"><input type="submit" name="Submit" value="-----ตกลง-----">
</p>
</form>
addform.php
<?php
include"config.inc.php";
$target_path = "../contract/";
if ($_FILES['classnotes']['name'] != ""){
if ($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['tmp_name'];
print_r($_FILE);
if (move_uploaded_file($_FILES['classnotes']['tmp_name'], $target_path . $name . ".pdf")){
echo "<p>ผ่านคับ</p>";
$sql="insert into contract_room (contract_room.cID, contract_room.room_no, contract_room.contract, contract_room.date) values ('0','$menu',' ".$target_path.$_FILES['classnotes']['name']." ','$date')";
mysql_query("set name tis620");
}
else echo "<p>ไม่ผ่าน</p>";
} #endIF
} #endIF
?>
|
|
|
|
|
Date :
2009-06-13 21:50:59 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo $sql แล้วเป็นแบบนี้คับ
insert into contract_room (contract_room.cID, contract_room.room_no, contract_room.contract, contract_room.date) values ('0','101',' ../contract/aaa.pdf ','13/06/2552')
|
|
|
|
|
Date :
2009-06-13 22:17:05 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
include"config.inc.php";
$target_path = "../contract/";
if ($_FILES['classnotes']['name'] != ""){
if ($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['tmp_name'];
print_r($_FILE);
if (move_uploaded_file($_FILES['classnotes']['tmp_name'], $target_path . $name . ".pdf")){
echo "<p>ผ่านคับ</p>";
$sql="insert into contract_room (contract_room.cID, contract_room.room_no, contract_room.contract, contract_room.date) values ('0','$menu',' ". $_FILES['classnotes']['name']." ','$date')";
mysql_query($sql);
}
else echo "<p>ไม่ผ่าน</p>";
} #endIF
} #endIF
รอบคอบนิดนึงนะครับ เขียน sql command มาแล้ว ไม่ query มันจะเข้าได้ไงละครับ
|
|
|
|
|
Date :
2009-06-13 22:17:57 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณ plakrim มากๆเลยคับ ผมนี่โง่จริงๆเลย
|
|
|
|
|
Date :
2009-06-13 22:31:18 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถามอีกข้อนึงนะคับ ผมอัพไฟล์เข้าไปในโฟล์เดอร์แต่มันไม่แสดงชื่อ มีแต่ .pdf เราต้องไปเพิ่มตรงไหนเหรอคับ แต่ในดาต้าเบสมีชื่อแล้ว
|
|
|
|
|
Date :
2009-06-14 00:53:43 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วคับ ผมลืมเพิ่ม $_FILES['classnotes']['name'] ตรงคำสั่ง copy ไปคับ
|
|
|
|
|
Date :
2009-06-14 00:56:44 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดีครับ ยินดีด้วย คุณข้ามไปอีกขั้นหนึ่งแล้ว
|
|
|
|
|
Date :
2009-06-14 01:48:02 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|