Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > เพิ่มรูปลง ดาต้าเบส แล้วขึ้น ERROR [function.copy]: failed to open stream



 

เพิ่มรูปลง ดาต้าเบส แล้วขึ้น ERROR [function.copy]: failed to open stream

 



Topic : 073875



โพสกระทู้ ( 73 )
บทความ ( 0 )



สถานะออฟไลน์




พอทำโปรเจค เกี่ยวกับการเพิ่มรูปภาพ อ่า แล้ว ขึ้น ERROR แบบนี้อ่าค่ะ

Code
Warning: copy(img/img_pro/Click LIKE.png) [function.copy]: failed to open stream: No such file or directory in C:\AppServ\www\ths_fb\admin\addpro.php on line 13


ฝากดู โค๊ดให้หน่อยได้ไหมค่ะ มันผิดพลาด ตงไหน ยังไง

Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?	include("../connect.php"); 
	
	$pro_topic = $_POST['pro_topic'];
	$pro_detail = $_POST['pro_detail'];
	$pro_start = $_POST['pro_start'];
	$pro_end = $_POST['pro_end'];
	$pro_img = $_POST['pro_img'];
	$pro_link = $_POST['pro_link'];
	

	if(copy($_FILES["pro_img"]["tmp_name"],"img/img_pro/".$_FILES["pro_img"]["name"]))	{

		echo "Copy/Upload Complete<br>";

		$result = "INSERT INTO promotion ";
		$result .="() VALUES ('','$pro_topic','$pro_detail','$pro_start','$pro_end','".$_FILES["pro_img"]["name"]."')";
		
		}
	
		if($result) {
			echo "<center> เพิ่มโปรโมชั่น เรียบร้อยแล้ว <br><br><< <a href='fshw_pro.php'> กลับไปหน้าหลัก </a> >></center>"; 
		}
		else{
			echo "<center> เพิ่มโปรโมชั่น ไม่สำเร็จ <br><br><< <a href='javascript:history.back();'> ย้อนกลับ </a> >></center>";
		}

?>




Tag : PHP, MySQL, HTML/CSS







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-15 13:07:57 By : sajok View : 1086 Reply : 7
 

 

No. 1



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


path ที่ copy ไปรึเปล่าครับ


ไฟล์นี้อยู่ใน โฟลเดอร์ admin อีกที
สังเกตุจาก ที่เรียกใช้ไฟล์ include("../connect.php");
แปลว่า ไฟล์ connect.php อยู่ที่
localhost/ths_fb/connect.php

ใช่หรือไม่ครับ

ถ้าใช่
แล้วโฟลเดอร์ที่ต้องการ save ไฟล์ที่อัพโหลดมาอยู่ตามนี้รึเปล่า
localhost/ths_fb/img/img_pro/

ถ้าใช่งั้นน่าจะแก้ตรงคำสั่ง copy เป็นแบบนี้ครับ
Code (PHP)
copy($_FILES["pro_img"]["tmp_name"],"../img/img_pro/".$_FILES["pro_img"]["name"]);

เพราะแบบเดิม img/img_pro/".$_FILES["pro_img"]["name"]
มันน่าจะสื่อถึงว่า โฟลเดอร์ img/img_pro นั้นอยู่ที่ path
localhost/ths_fb/admin/img_pro แบบนี้รึเปล่า

ลองดูครับเพราะ error ที่แจ้ง น่าจะประมาณว่า หา folder ที่ใช้เก็บรูปภาพที่ อัพโหลดไม่เจอ หรือยังไงสักอย่าง
แล้วก็ไม่แน่ใจว่า มันมีปัญหากับ ชื่อไฟล์รึเปล่า ที่มี เว้นวรรค img/img_pro/Click LIKE.png

เพราะปกติผมจะ rename ไฟล์ที่อัพโหลดมาก่อนทุกครั้ง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-15 13:14:50 By : Likito
 


 

No. 2



โพสกระทู้ ( 73 )
บทความ ( 0 )



สถานะออฟไลน์


ไฟล์ย้ายได้แล้วค่ะ ขอบคุณสำหรับคำแนะนำ

ขอรบกวนอีกนิดนึ่งว่าถ้าต้องการเปลี่ยนชื่อไฟล์ เมื่ออับโหลดไปแล้ว ต้องทำยังไง ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-15 13:34:22 By : sajok
 

 

No. 3



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

$new_image = "ชื่อที่เปลี่ยน".$_FILES["pro_img"]["name"]
แล้วเอา $new_image ไปใช้งานครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-15 14:31:54 By : Dragons_first
 


 

No. 4



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


เพิ่มเติมจากคุณ อ้นคุง ให้ครับ

function copy();

นั้น
copy("ที่อยู่ไฟล์ต้นฉบับ","เป้าหมายที่ต้องการบันทึก");

ที่อยู่ไฟล์ต้นฉบับนั้นใช้เป็น $_FILES["pro_img"]["tmp_name"] ถูกต้องแล้วครับ

เพราะตอนอัพโหลด ผมเข้าใจว่าจริงๆแล้ว ระบบมันจะ บันทึก ไฟล์เป็น tmp ไว้ซักที่นึง ในเครื่องเราซึ่งไม่ใช่ในโฟลเดอร์ project เพราะถ้าลอง echo $_FILES["pro_img"]["tmp_name"]; ออกมาดู มันจะเป็นชื่อไฟล์ แปลกๆหน่อย

แล้วเราใช้คำสั่ง copy(); เพื่อ copy ไฟล์ที่อัพโหลดขึ้นมานั้น มันจะ copy จาก Path อันแรก ไป ไว้ตามที่เรากำหนด

เช่น "../img/img_pro/".$_FILES["pro_img"]["name"]
ซึ่งหมายถึงว่า มันจะ copy ไฟล์นั้น ไปไว้ที่

localhost/ths_fb/img/img_pro/ชื่อไฟล์


เช่นถ้าเกิดชื่อไฟล์ ก่อนอัพโหลดนั้นเราชื่อ Click LIKE.png
มันก็จะได้เป็น
localhost/ths_fb/img/img_pro/Click LIKE.png ครับ

เพียงแค่เราเปลี่ยน Click LIKE.png เป็นชื่ออื่นแค่นั้นก็ได้ครับ

ซึ่งหลักการทำงาน เราต้องมา แยก $_FILES["pro_img"]["name"]
ออกมาก่อน เพื่อจะเอา นามสกุลของไฟล์ นั้นออกมาครับ
เช่น Click LIKE.png เราต้องมาแยกก่อน เพื่อให้ได้ .png
ส่วนชื่อไฟล์นั้นเราอาจจะตั้งใหม่ โดยใช้วิธีการ เอาวันเดือนปี เวลาปัจจุบัน มาตั้งชื่อไฟล์ ก็ได้
เช่น
2012_02_15_145725.png
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-15 14:53:25 By : Likito
 


 

No. 5



โพสกระทู้ ( 73 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณค่ะสำหรับความรู้ใหม่ ^^

โหวตให้นะค่ะ ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-15 14:57:23 By : sajok
 


 

No. 6



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

เพิ่มเติมจากคุณ Likito หน่อยนะครับ ฟังชั่น copy(); ให้เปลี่ยนไปใช้ move_uploaded_file(); แทนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-15 15:09:48 By : Dragons_first
 


 

No. 7



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

เพิ่มเติมให้
Code (PHP)
if(trim($_FILES["fileUpload"]["tmp_name"]) != ""){
$path="./images";
$images = $_FILES["fileUpload"]["name"];
$tmp = $_FILES["fileUpload"]["tmp_name"];
$rand = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ23456789_'),0,10);สร้างชื่อใหม่โดยการแรนดอมมา 10 ตัว
$new_images = $rand.$_FILES["fileUpload"]["name"];นำมาต่อเป็นชื่อใหม่
move_uploaded_file($tmp,$path."/".$new_images);ย้ายรูปไปเก็บไว้ใน พาร์ท
}
เวลาบันทึกก็เอา $new_images ไปใช้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-15 15:13:58 By : Dragons_first
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เพิ่มรูปลง ดาต้าเบส แล้วขึ้น ERROR [function.copy]: failed to open stream
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่