การ Upload File ครับ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
Ballz
PHP Sr. Member
PHP Sr. Member
Posts: 78
Joined: 01/01/1970 7:00 am

การ Upload File ครับ

Post by Ballz »

ผมเขียนโค้ด upload file ครับ ทดลองรันแบบ localhost ที่เครื่องก็สามารถทำได้ปกติดีไม่ติดอะไร แต่พอ upload ไปวางที่ server แล้วปรากฎว่าไม่สามารถ upload file ได้ครับ

ผมตัดมาเฉพาะส่วนที่จัดวางไฟล์นะครับ (code ชุดนี้ทำงานที่เครื่องผมก็ปกติดีนะครับ)

if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "The file ". basename( $_FILES['uploaded']['name']). " has been uploaded";
}
else
{
echo "Sorry, there was a problem uploading your file. <br><br>";
echo "Error Code: " . $_FILES["uploaded"]["error"];
}

ปรากฎว่ามันเข้า else ครับ แต่ว่า Error Code ดันแสดงค่า 0 ซึ่งเป็นค่าที่หมายความว่า upload success อีก - -" ผมเลยงงเลย

รบกวนผู้รู้ชี้แนะข้าน้อยทีครับ
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 26714
Joined: 22/09/2008 6:18 pm
Contact:

Post by mindphp »

ลอง เช็ค ว่า Folder ที่ จะเอา $target ไป ไว้ สามารถ เขียนได้หรือเปล่า
เช็ค ด้วย function นี้ก่อน move ไฟล์
https://www.mindphp.com/modules.php?name ... nt&tid=615
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
User avatar
Ballz
PHP Sr. Member
PHP Sr. Member
Posts: 78
Joined: 01/01/1970 7:00 am

Post by Ballz »

ผมลองดูแล้ว

$target = "upload/";
if (is_writable($target))
{
echo "The $target is writable";
}
else
{
echo "The $target is not writable";
}

มันก็ขึ้นว่า The upload/ is writable นะครับ

แต่ไม่มีไฟล์ไปวางในโฟลเดอร์นั้นเลยครับ

ขอบคุณมากนะครับ
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 26714
Joined: 22/09/2008 6:18 pm
Contact:

Post by mindphp »

move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)
ตามรูปแบบ ของ function
move_uploaded_file(ตำแหน่งไฟล์ที่ upload ขึ้นไป,ตำแหน่ง และ ชื่อ ไฟล์ ที่เราต้องการเก็บ )
ท่านต้องใส่ ชื่อไฟล์ ที่ต้องการ move ไปด้วยครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
User avatar
Ballz
PHP Sr. Member
PHP Sr. Member
Posts: 78
Joined: 01/01/1970 7:00 am

Post by Ballz »

ตอนกำหนด $target ก่อนจะ move_uploaded_file( ... ผมได้ใส่ name ต่อท้ายไปด้วยแล้วครับ

ตอนนี้พบว่าค่า $_FILES['uploaded']['tmp_name'] จากการที่ echo บน server ดูมันไปไว้ที่ C:\WINNT\TEMP\php4127.tmp ซึ่งผมคิดว่า user ที่ผมใช้คงไม่มีสิทธิไปเอาไฟล์จากนั้นน่ะครับ (ดู path แล้วไม่น่าจะได้นะครับ)

แต่ก็แปลกใจเพราะ phpinfo() ดูแล้วค่า upload_tmp_dir มันก็เป็น d:\PHP\uploadtemp
(ซึ่งตรงนี้ดู path แล้วน่าจะมีสิทธิ) แต่ทำไม $_FILES['uploaded']['tmp_name'] ถึงกำหนดไว้ที่ drive C หว่า ผมก็กำลังจะโทรไปถาม hosting ดูน่ะครับ
User avatar
ลองใช้ชื่อยาวๆภาษาไทยดู
PHP Newbie
PHP Newbie
Posts: 1
Joined: 01/01/1970 7:00 am

Post by ลองใช้ชื่อยาวๆภาษาไทยดู »

ได้ความรู้มากๆครับ :lol:
User avatar
Ballz
PHP Sr. Member
PHP Sr. Member
Posts: 78
Joined: 01/01/1970 7:00 am

Post by Ballz »

เป็นดังที่สันนิษฐานครับ ตอนนี้ admin เค้า grant สิทธิให้แล้ว ก็ upload ไฟล์ไปวางได้ปกติแล้วครับ
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: Bing [Bot] and 16 guests