A-AA+then

ใช้คำสั่ง copy แล้วแต่ไม่ไปเก็บให้ตาม path

2,639
ตัวอย่างนะคับ

copy($fileupload[tmp_name],  "images\filename.pdf");

ปัญหา
ซึ่งมัน copy ได้นะคับและชื่อไฟล์จะเป็น "images\filename.pdf" อย่างนี้เลย
และจะอยู่ใน dir เดียวกันกับ file คำสั่ง


ความต้องการ
ซึ่งจริง ๆ ผมต้องการให้ไปไว้ข้างในห้อง images/7/ และชื่อไฟล์
filename.pdf
ลองเปลี่ยนจาก \ มาเป็น / หรือ// ก้อไม่ได้มันฟ้อง error

ปล. ก่อนหน้าผมได้สร้าง dir ไว้แล้วคือห้อง 7

5 ความคิดเห็น

$ThumbnailPictureName = "filename.pdf";

if(copy($_FILES["inputThumbnailPicture"]["tmp_name"],$Path_ThumbnailPicture."/".$ThumbnailPictureName)) {
     chmod($Path_ThumbnailPicture."/".$ThumbnailPictureName,0777);
}

ต้องดู path ดีๆ นะครับ
1

ตอนนี้ลองเช็คดูแล้วน่าจะเป็นปัญหาที่ owner ครับ
คือในการสร้าง dir พอเช็ค owner เป็น apache มันเลย copy ไม่ได้
แต่อีก dir ที่เป็น owner root มันได้

คำถามครับ
เวลาที่เราใช้คำสั่ง copy แล้วให้ owner เป็น root ทำไงครับ
หรือ set user apache ให้มีสิทธิ์ก้อได้คับ
ตอนนี้ผมใช้ 

chown($path$user_name);

แต่ไม่ได้
2

 555+++

windows หรือ linux ครับ

ถ้า windows ลองใช้ \ ครับ

ถ้า linux ใช้ / ครับ

ส่วนอัปโหลดไม่ผ่าน ก็มีหลายกรณี ที่พบบ่อยๆก็คือ
1.ตามบทความเกี่ยวกับ ไฟล์และไดเร็คทอรี่เลยครับ ถ้าหากไดเร็คทอรี่ที่เก็บไฟล์ถูกสร้างบน server แล้ว สามารถอัปโหลดผ่าน PHP ได้แน่นอน
2.path ไม่ถูกต้อง อันนี้การกำหนด path ปลายทาง ต้องกำหนดนับจากไฟล์ที่มำการอัปโหลดครัับ ไม่ว่าจะอยู่ที่ใด (ผมหมายถึงฟล์ที่ฟอร์ม post ไปนะครับ)

การทดสอบว่าไดเร็คทอรี่จะอัปโหลดได้มั้ย ก็ให้ลองสร้าวงไฟล์ในไดเร็คทอรี่นั้นๆครับ เช่น

<?php
  mkdir('test/');// สร้างไดเร็คทอรี่ในโฟลเดอร์เดียวกันกับโฟลเดอร์ที่ไฟล์นี้อยู่
 
 $f = fopen('test/index.php','w'); // สร้างไฟล์ในโฟลเดอร์ใหม่
  fclose($f);

  unlink('test/index.php'); //ลบไฟล์
 
  rmdir('test/'); //ลบไดเร็คทอรี่
?>

ขั้นตอนไหนไม่ต้องการให้ลบออกนะครับ ถ้าไม่พบ error ใดๆเลย แสดงว่าตั้งแต่โฟลเดอร์ที่ไฟล์นี้อยู่ไปจนถึงโฟลเดอร์ที่สร้างใหม่สามารถเขียนได้ทั้งหมดครับ
3

ตอนนี้ผมเช็คที่ owner ของ folder มันเป็นปัญหาครับ

คือถ้าสร้างจาก php                ---  owner จะเป็น apache
แต่ถ้าสร้างจากโปรแกรม ftp   ---  owner จะเป็น root


ซึ่งถ้าตัวไหนที่สร้างจาก ftp จะได้ copy ได้แต่ถ้า folder นั้นสร้างจาก php จะ copy ไม่ได้

ตอนนี้ผมลอง chown มันไม่ได้ กะว่าจะเปลี่ยนจาก apache มาเป็น root
4

ลืมบอกไป  server เป็น linux ครับ
5
^