ทำยังไงถึงจะเรียกใช้ไฟล์ที่เราอัพโหลดไปได้ครับ คือผมทำโปรเจ็คเป็นประมาณให้เก็บพวกงานหรือแฟ้มข้อมูล
อ่าว ติดแล้วนี่นา -*-
แล้วมันต้องใช้ไรเกี่ยวกับdatabase รึเปล่าครับ เพราะโค้ดนี่คือผมไม่ได้ยุ่งเกี่ยวกับdatabaseเลย
คือผมก็สร้างโฟลเดอร์ที่สำหรับเก็บไฟล์เวลามีคนอัพโหลด แล้วก็ใส่โค้ด ก็โอเคไม่มีปัญหาอะไร(ลองอัพโหลดดูแล้ว ไฟล์ก็มีมาอยู่ในโฟลเดอร์ที่สร้างขึ้นมา)
โปรที่ใช้ก็มี
dream CS3
appserv2.5.10
phpmyadmin-php mysql
Date :
2009-09-09 02:13:49
By :
louis1524
ก็ถ้าอัปโหลดไฟล์ภาพ เช่น a.jpg
ก็เรียกใช้งานเลยสิครับ
<img src="./upload/a.jpg">
Date :
2009-09-09 08:19:02
By :
deawx
ต้องสร้างตาราง database เก็บชื่อไฟล์ นะครับเพราะเวลาต้องการจะเรียกใช้เราต้องอ้างถึงชื่อไฟล์นั้น
เข้าใจมั้ย เอ่ย
Date :
2009-09-09 08:20:50
By :
DownsTream
ผมจะไม่ได้อัพโหลดภาพครับ จะอัพโหลดเป็นพวกไฟล์งานเลยอะครับ
เช่นพวก word excel pdf ไรพวกเนี้ยครับ
ส่วนคำแนะนำของคุณ DownsTream เดี๋ยวผมไปลองคลำๆดูก่อน ขอบคุณมากๆครับ
Date :
2009-09-09 08:58:52
By :
louis1524
ขอออกตัวก่อนเลยว่าผมหาโค้ดจากเน็ตมา แล้วเอามาปรับนิดหน่อยนะครับ
ถามเลยละกัน
อ้างถึงชื่อไฟล์ยังไงอะครับ
พอดีปรับโค้ดนิดหน่อย
ทำตามคำแนะนำของคุณ DownsTream ที่ว่าต้องสร้างดาต้าเบสแล้ว
สร้างดาต้าเบสแล้ว มี2ฟิลด์คือ name กับ file
มันอัพโหลดได้แล้ว คิดว่าไม่มีปัญหาอะไรนะครับ(เพราะมีขึ้นในlocalhost/phpmyadmin แล้ว)
Code (upload)
<?php
//global $HTTP_POST_FILES;
include("connect.php");
$target = "upload/";
$target = $target . basename( $_FILES['userfile']['name']);
//$username = $_POST['username'];
//$password = base64_encode ($_POST['password']);
//$realname = $HTTP_POST_FILES['userfile']['name'];
$name=$_POST['name'];
$file=($_FILES['userfile']['name']);
mysql_connect("localhost", "root", "admin") or die(mysql_error()) ;
mysql_select_db("regiss") or die(mysql_error()) ;
mysql_query("INSERT INTO `upfileap` VALUES ('$name','$file')") ;
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $target))
{
echo "The file ". basename( $_FILES['uploadedfile']['name']);
echo "<script>alert('?? upload complete ??');window.location='ap.php';</script>";
}
else {
echo "<script>alert('?? upload not complete ??');window.location='ap.php';</script>";
}
?>
แต่ทีนี้เวลาจะให้มันโชว์ไฟล์ที่เราอัพโหลดไป มันไม่ยอมขึ้นมาอะ
มันขึ้นมาแต่ชื่อ ไม่มีไฟล์ให้โหลด
Code (showfile)
<?php
mysql_connect("localhost", "root", "admin") or die(mysql_error()) ;
mysql_select_db("regiss") or die(mysql_error()) ;
//Retrieves data from MySQL
$data = mysql_query("SELECT * FROM upfileap") or die(mysql_error());
//Puts it into an array
while($info = mysql_fetch_array( $data ))
{
//Outputs the image and other data
echo "<img src=http://www.yoursite.com/images/".$info['photo'] ."> <br>";
echo "<b>Name:</b> ".$info['name'] . "<br> ";
}
?>
echo "<img src=http://www.yoursite.com/images/".$info['photo'] ."> <br>";
ผมคิดว่ามันต้องติดตรงบรรทัดบนเนี่ยนี้เลย คือจากตัวอย่างมันเป็นลิงค์รูปไงครับ แต่ของผมมันเป็นไฟล์ pdf ผมก็ไม่รู้จะแก้เป็นยังไงดี -*-
(ไม่รู้จะอ้างถึงชื่อไฟล์ยังไง)
Date :
2009-09-20 01:50:03
By :
louis1524
เปลี่ยนคำถามครับ
พอดีอัพโหลดและดึงให้มันแสดงได้ ไม่มีปัญหาแล้ว
แต่อยากให้มันลบชื่อไฟล์และไฟล์ที่อัพโหลดไว้ออกไปได้
แต่พอผมกดลบมันไม่มีไรเกิดขึ้นเลย(มันไม่ฟ้องเออเร่อนะ ยังขึ้นว่าลบไฟล์เรียบร้อยด้วยซ้ำ -*-) แต่ข้อมูลมันก็ยังมีอยู่
Code (PHP)
<?php
$name_del = $_GET[name];
$file_del = $_GET[userfile];
include("connect.php");
$sql="delete from upfileap where name='$name_del' ";
$result=mysql_db_query($dbname,$sql);
if($file_del<>""){
$file_del="uploadap/".$file_del;
if(file_exsits($file_del)){
unlink($file_del);
}
}
if($result){
echo "<H3>ลบโครงการเรียบร้อยแล้ว";
echo "[ <a href=ap.php>กลับหน้าหลัก</a>]";
}else{
echo "<H3>error:ไม่สามารถลบโครงการได้</H3>";
}
?>
Date :
2009-09-20 13:04:22
By :
louis1524
Load balance : Server 00