Mon 31 Jul 2006 18:32:58
ให้เช็คว่า Folder นั้นๆ มีหรือยัง ถ้ายังก็ให้สร้างแล้ว cmod เป็น 777 แล้ว copy ไพล์ภาพไปยังห้องนั้นๆ
$y =date("Y");
$m =date("m");
$d =date("d");
$dir_test ="../news/image_news/$y$m$d/";
if (!is_dir($dir_test)){
mkdir($dir_test);
}else{
echo "ÁÕ Folder ../news/image_news/$y$m$d ¹Ñé¹ÍÂÙèáÅéÇ";
}
chmod ($dir_test,0777);
$fileicon=$_FILES['fileicon'] ['tmp_name'];
$fileicon_name=$_FILES['fileicon'] ['name'];
$fileicon_size=$_FILES['fileicon'] ['size'];
$fileicon_type=$_FILES['fileicon'] ['type'];
if ($fileicon) {
$array_last=explode (".",$fileicon_name);
$c=count($array_last)-1;
$lastname=strtolower($array_last[$c]);
if ($lastname == "gif" or $lastname =="jpg" or $lastname =="jpeg") {
if (move_uploaded_file ( $fileicon, $dir_test )){
echo "complete";
}
echo " Upload ä¾ÅìàÃÕºÃéÍÂáÅéÇ<BR>";
echo "<img src='../news/image_news/$y$m$d$/fileicon_name'><BR>";
unlink ($fileicon);
}else{
echo " äÁèÊÒÁÒö Upload ä¾Åì ä´é";
}
}else{
echo " äÁèÊÒÁÒö Upload ä¾Åì ä´é";
}
--------------------------------------
มันเกิด Error
Warning: move_uploaded_file(../news/image_news/20060731/): failed to open stream: Is a directory in /home/virtual/site76/fst/var/www/html/mods/addrecord.php on line 70
Warning: move_uploaded_file(): Unable to move '/tmp/phpqFHGXD' to '../news/image_news/20060731/' in /home/virtual/site76/fst/var/www/html/mods/addrecord.php on line 70
รบกวนดูไพลฺให้หน่อยนะครับ
อันที่ 2 คุณพยายามย้ายไฟล์แต่ว่าคุณไม่ได้แจ้งชื่อไฟล์ปลายทางครับ
Tue 1 Aug 2006 19:38:23
Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 4516 is not allowed to access /home/virtual/site76/fst/var/www/html/news/image_news/06August01 owned by uid 48 in /home/virtual/site76/fst/var/www/html/mods/addrecord.php on line 66
Warning: copy(../news/image_news/06August01/auditoinlogo01.jpg): failed to open stream: No such file or directory in /home/virtual/site76/fst/var/www/html/mods/addrecord.php on line 66
ปัญหาข้างบนแก้ได้แล้วครับ ขอบคุณมากครับ แต่เจอปัญหาใหม่อีกแล้ว นั้นก็คือ สั่งให้ สร้าง Folder ขึ้นมาใหม่ แล้ว Chmod เป็น 777 หลังจากนั้นก็ copy ไพล์เข้าไป
ถ้าเป็นห้องที่สร้างผ่านทาง FTP ก็จะ copy ได้ไม่มีปัญหา แต่ถ้าเป็นห้องที่ สร้างผ่านคำสั่ง PHP จะเกิด Error แบบข้างบนนะครับ จนปัญญาจริงๆ ไม่รู้เกิดจากอะไร
umask(0);
mkdir("dirname", 0777);
ใน php นั้น recommended ให้ใช้ move_uploaded_file() แทนครับ ซึ่งสามารถใช้ได้ทั้งบน SAFE_MODE และ NORMAL_MODE ครับ
Tue 1 Aug 2006 21:12:29
Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 4516 is not allowed to access /home/virtual/site76/fst/var/www/html/news/image_news/06August01 owned by uid 48 in /home/virtual/site76/fst/var/www/html/mods/addrecord.php on line 92
แก้เป็น คำสั่ง move_uploaded_file(): แล้ว
พอ php สร้างห้องเสร็จ ก็ไปเช็คแล้วว่า เป็น Chmod 777 ได้
แต่คำสั่ง move_uploaded_file(): ก็ยัง Error
เรื่องสร้างห้อง และ Chmod เป็น 777 อันนี้ผ่านแล้ว มีปัญหาก็คือ คำสั่ง move_upload_file(); มีปัญหา
** ถ้าห้องสร้างเองผ่าน FTP คำสั่ง move_upload_file(); ผ่านไม่มีปัญหา
** ถ้าสร้างผ่าน PHP คำสั่ง move_upload_file(); จะเจอ Error ทันที
Tue 1 Aug 2006 23:51:44
-ขอบคุณครับ ว่าแต่ไม่ค่อยรู้เรื่องอะครับ มีคู่มือภาษาไทยไหมครับ ^^ (ศึกษา PHP มา 3 สัปดาเอง ยัง งง อยู่เลย)
Wed 2 Aug 2006 00:16:15
$y =date("Y");
$m =date("m");
$d =date("d");
$ftp_user_name = "???";
$ftp_user_pass = "???";
$ftp_server = "???";
$dir_test ="../news/image_news/$y$m$d";
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// try to create the directory $dir
if (ftp_mkdir($conn_id, $dir_test)) {
echo "successfully created $dir_test\n";
} else {
echo "There was a problem while creating $dir\n";
}
// close the connection
ftp_close($conn_id);
?>
ใส่ตามตัวอย่างเลย เช็ค$login_result แล้วก็เป็นจริง แสดงว่าติดต่อข้อมูลได้ แต่เจอ Error
Warning: ftp_mkdir(): ../news/image_news/20060802: No such file or directory in /home/virtual/site76/fst/var/www/html/mods/mkdirftp.php on line 20
There was a problem while creating
น่าจะไม่ใช่ Error ที่ยาก แต่ไม่เข้าใจ ดูให้หน่อยนะครับ
เคยเห็นมีคนเอามาแปลขายนะครับ แต่จำไม่ได้ว่าชื่อหนังสือว่าอะไรครับ
Wed 2 Aug 2006 18:28:24
ลองใช้ ftp_pwd() แล้ว ผลก็คือ
/home/admin นะ แต่ไม่รู้มันเป็นส่วนไหน
แล้วก็ลองใช้คำสั่ง ftp_chdir($conn_id,"..");
มันก็จะเหลิอ /home เฉยๆ
ผมต้องการให้มัน ไปสร้างใน /var/www/html/news/image_news/ นะครับ ไม่รู้ว่าจะต้องพิมพ์ยังไง
ถ้ารู้ว่า /home คือ ส่วนไหน ก้น่าจะไปต่อได้ รบกวนหน่อยนะครับ
Wed 2 Aug 2006 20:15:12
ผมใช้คำสั่ง ftp_chmod ไม่ได้อ่ะครับ ปกติเวลาเขียน php บน Dream ถ้าเป็นคำสั่ง php ต้องขึ้นตัวสีฟ้า แต่ คำสั่ง ftp_chmod มันเป็นสีดำ เหมือนกับไม่รู้จักคำสั่งนี้เลย งง จัง
สรุปตอนนี้ ยังไงก็ยังทำไม่ได้เริ่มท้อแระ กะว่า จะไปทำตัวอื่นก่อนดีกว่า ติดมานานมากแล้ว
^^
ftp_chmod() จะมีใช้งานใน
PHP5 ครับซึ่ง DW จะมี list ของ PHP4 เท่านั้นครับ ซึ่งคุณสามารถใช้คำสั่ง
ftp_site() เพื่อส่งคำสี่งไปยัง ftp ได้ตามต้องการครับ
ftp_site($conn, 'CHMOD 0600 /home/user/privatefile');
Wed 2 Aug 2006 21:36:11
$y =date("Y");
$m =date("m");
$d =date("d");
ftp_site($conn_id, 'CHMOD 0777 /var/www/html/news/image_news/$y$m$d/');
เจอ Error Warning: ftp_site(): /var/www/html/news/image_news/$y$m$d/: No such file or directory in /home/virtual/site76/fst/var/www/html/mods/mkdirftp.php on line 25
คือ ทำไม มันมองไม่เห็นตัวแปลอ่ะครับ ลองเปลี่ยน $y$m$d เป็น 20060802 มันก็ chmod ได้ตามปกติ ลองมั่วๆ ใส่
ftp_site($conn_id, 'CHMOD 0777 "/var/www/html/news/image_news/$y$m$d/"');
ก็เจอ Error แบบเดิมเลย
ต้องแก้ยังไงหรอครับ มันถึงจะเห็นค่า $y$m$d เป็นตัวแปร
Wed 2 Aug 2006 21:55:44
ftp_site($conn_id, "CHMOD 0777 /var/www/html/news/image_news/$y$m$d"); ลองเปลี่ยนมาเป็นแบบนี้ สรุปว่ามัน ผ่านแล้ว ทั้งสร้างห้องเอง Chmod เป็น 777 และ copy ลงไป
ขอบคุณมากๆ เลยครับ
แต่....................
ปัญหาที่ไม่เคยเกิดก็ดันมาเกินขึ้นอีก นั้นก็คือ
Warning: unlink(): SAFE MODE Restriction in effect. The script whose uid is 4516 is not allowed to access /tmp owned by uid 0 in /home/virtual/site76/fst/var/www/html/mods/addrecord.php on line 126
คำสั่งนี้ไม่เคยไปยุ่งกับมันตั้งแต่มันผ่าน แต่อยู่ๆ ก็มี error เฉยเลย รบกวนดูให้หน่อยนะครับ
Thu 3 Aug 2006 00:28:38
อ่า จริงๆแล้วคำสั่ง ผมก็เอาพวก Code ต่างๆ มาจากหนังสือนะครับ แล้วในนั้นเขาก็มีคำสั่ง unink ด้วย ซึ่งพอไปหาหนังสืออ่านก็พอรู้ว่า เป็นคำสั่งลบไพล์ต้นฉบับ ซึ่ง อันนี้ผมก็ไม่รู้ว่า มันจำเป็นหรือเปล่า เพียงแต่เขาให้มา แล้วมัน Error เลยมาถามดูครับ แต่ถ้าคุณบอกแบบนี้ ก็แสดงว่า ไม่จำเป็นต้องลบก็ได้ งั้นไม่เป็นไรครับ ^^ เด๊ยวไปเอาคำสั่ง unlink ออก ^^ ตอนนี้กับ Happy เลย ท่านช่วยจน ตอนนี้ปัญหาทั้งหมด เคลียร์หมดแล้วครับ ทำผ่านหมดแล้ว ขอบคุณมากๆ ครับ
BosnoS
Wed 11 Jun 2008 20:55:43
Warning: move_uploaded_file(./image/rmphoto/pic (38).jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\Project\Website\AHTASIA.CO.TH\PHP\rmupload.php on line 55
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\phpA1.tmp' to './image/rmphoto/pic (38).jpg' in D:\Project\Website\AHTASIA.CO.TH\PHP\rmupload.php on line 55
รอบกวนช่วยดูให้หน่อยครับ ใน ./ มี folder พร้อมทั้งเปิด permission เรียบร้อยแล้วครับ พอถึง move แล้วมันไม่ไปครับ
Wed 11 Jun 2008 22:03:36
Thu 12 Jun 2008 08:50:36
เป็น permission ในระดับไหนครับ เพราะว่าผมเปิดเป็น full permission เฉพาะ folder ที่ต้องการ move files เข้าไปเท่านั้นครับ ไม่แน่ใจว่าใน temp ต้องเปิดด้วยหรือเปล่าครับ
Thu 12 Jun 2008 09:03:29
Thu 12 Jun 2008 23:58:22

















