อัพโหลดไฟล์แล้วมันขั้น error คะ Warning: move_uploaded_file(myfile/cd.png) Permission denied in - Mac OS
ลองใช้ copy แทนได้หรือเปล่าครับ
Date :
2013-06-30 07:25:12
By :
mr.win
ลอง chmod โฟเดอร์นั้นให้เป็น 777 ก่อนครับ
Date :
2013-06-30 10:22:48
By :
randOmizE
ลอง chmod โฟเดอร์นั้นให้เป็น 777 ก่อนครับ
ต้องทำยังไงหรอคะ? เกี่ยวมั้ยที่ใช้ MAC รึป่าวคะ
ประวัติการแก้ไข 2013-06-30 10:33:37 2013-06-30 10:38:14
Date :
2013-06-30 10:32:57
By :
mrronalz
ติด permission รึป่าวครับ เปลี่ยนโฟล์เดอร์ เป็น 777 ยังครับ
ลงเป็นเป็นใช้ฟังก์ชั่นมั้ยครับ
Code (PHP)
<?php
function upimg($img,$imglocate){
if($img['name']!=''){
$fileupload1=$img['tmp_name'];
$g_img=explode(".",$img['name']);
$file_up=time().".".$g_img[1]; // เปลี่ยนชื่อไฟล์ไหม่ เป็นตัวเลข
if($fileupload1){
$array_last=explode(".",$file_up);
$c=count($array_last)-1;
$lastname=strtolower($array_last[$c]);
@copy($fileupload1,$imglocate.$file_up);
}
}
return $file_up; // ส่งกลับชื่อไฟล์
}
?>
// การนำไปใช้
<?php
if($_POST['Submit']){
if($_FILES['filUpload']['name']!=""){
$my_filename=upimg($_FILES['filUpload'],"myfile/");
$strSQL="INSERT INTO file (FilesName) VALUES ('$my_filename')";
$objQuery = mysql_query($strSQL);
echo "<font color=#0000FF>Upload Complete !</font>";
}
}
?>
Date :
2013-06-30 10:38:39
By :
compiak
คือไม่รู้ค่ะว่าต้องเปลี่ยนตรงไหนค่ะ พอดี เสิท google แล้วหาไม่เจอเลยค่ะ พอดีใช้ mac อยู่คะ
Date :
2013-06-30 10:54:19
By :
mrronalz
อัพขึ้นโฮสเลย หรือว่า localhost ครับ
ถ้าอัพขึ้นโฮสเลย ก็สร้าง Folder --> myfile แล้วใช้โปรแกรมเช่น filezilla คลิกขวา chmod โฟเดอร์นั้นให้เป็น 777 ครับ
ปล.ใช้ ฟังก์ชันที่ผมให้ก็ได้ ง่ายดี
Date :
2013-06-30 11:02:23
By :
compiak
ได้แล้วค่ะ ขอบคุณพี่ๆมากนะคะที่ให้คำแนะนำ
sudo chmod -R 777 /Applications/Xammp/htdocs/โฟลเดอร์ของเรา
Date :
2013-06-30 11:08:53
By :
mrronalz
พี่คะมีคำถามค่ะมันต่างยังไงคะ ระหว่าง
Code (PHP)
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
Code (PHP)
if(copy($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
Code (PHP)
if($_FILES["File"]["name"] != "")
{
//*** Read file BINARY ***'
$fp = fopen($_FILES["File"]["tmp_name"],"r");
$ReadBinary = fread($fp,filesize($_FILES["File"]["tmp_name"]));
fclose($fp);
$FileData = addslashes($ReadBinary);
รบกวนขอเกล็ดความรู้หน่อยนะคะ
Date :
2013-06-30 11:11:16
By :
mrronalz
move_file_upload() จะใช้ได้กับการอัพโหลดไฟล์ผ่านฟอร์ม ส่วน copy() มันจะใช้ได้ตลอดไม่ว่าที่ไหนขอแค่บอกไฟล์ต้นฉบับและปลายทางครับ
Date :
2013-06-30 11:53:27
By :
randOmizE
แล้วสองตัวนี้อันไหนมันดีกว่ากันคะ?
Date :
2013-06-30 12:36:26
By :
mrronalz
ไม่รู้เหมือนกันนะ ถนัดตัวไหนก็ใช้ตัวนั้น
Date :
2013-06-30 12:44:58
By :
randOmizE
move_file_upload() จะช่วยในส่วนของ security มากกว่า
เพราะเป็นการระบุว่าต้องอัพโหลดผ่านฟอร์ม ถึงจะใช้ได้
ความคิดเห็นส่วนตัวน่ะครับ
Date :
2013-06-30 15:33:42
By :
iieszz
มีวิธีที่เราจะ fix ประเภทไฟล์มั้ยคะ อย่างเช่น .zip .rar ค่ะ
Date :
2013-06-30 19:31:57
By :
mrronalz
Code (PHP)
<script type="text/javascript">
function chk(){
var fty=new Array(".gif",".jpg",".jpeg",".png"); // ประเภทไฟล์ที่อนุญาตให้อัพโหลด อยากใส่ชนิดไหน
var a=document.form1.file.value; //กำหนดค่าของไฟล์ใหกับตัวแปร a
var permiss=0; // เงื่อนไขไฟล์อนุญาต
a=a.toLowerCase();
if(a !=""){
for(i=0;i<fty.length;i++){ // วน Loop ตรวจสอบไฟล์ที่อนุญาต
if(a.lastIndexOf(fty[i])>=0){ // เงื่อนไขไฟล์ที่อนุญาต
permiss=1;
break;
}else{
continue;
}
}
if(permiss==0){
alert("อัพโหลดได้เฉพาะไฟล์ gif jpg jpeg png");
return false;
}
}
}
</script>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="return chk();">
<input type="file" name="file" id="file" />
<input type="Submit" name="button" id="button" value="Upload" />
</form>
Date :
2013-06-30 19:46:44
By :
compiak
Code (PHP)
$ext = explode('.',$_FILES['file']['name']); // ตัดหานามสกุลไฟล์ด้วย .
$ext = strtolower(end($ext)); // เอาอาร์เรย์สุดท้าย
$allow = array('jpg','png','doc','docx','ppt','pptx','xls','xlsx','pdf','zip','rar'); // ไฟล์ที่อนุญาต
if(in_array($ext,$allow)){
// upload -----------
}else{
die('Not allow type');
}
Date :
2013-06-30 19:48:17
By :
randOmizE
ได้แล้วนะค่ะ ขอบคุณมากๆเลยค่ะ
มีวิธีที่เราจะ alert แบบอื่นโดยใช้ jquery ไปใช้มั้ยค้ะ?
คือไม่รู้ว่าจะต้องเอามันไปวางไว้ตรงไหนน่ะค่ะ ถ้าใช้
Code (PHP)
<script type="text/javascript">
function chk(){
var fty=new Array(".gif",".jpg",".jpeg",".png"); // ประเภทไฟล์ที่อนุญาตให้อัพโหลด อยากใส่ชนิดไหน
var a=document.form1.file.value; //กำหนดค่าของไฟล์ใหกับตัวแปร a
var permiss=0; // เงื่อนไขไฟล์อนุญาต
a=a.toLowerCase();
if(a !=""){
for(i=0;i<fty.length;i++){ // วน Loop ตรวจสอบไฟล์ที่อนุญาต
if(a.lastIndexOf(fty[i])>=0){ // เงื่อนไขไฟล์ที่อนุญาต
permiss=1;
break;
}else{
continue;
}
}
if(permiss==0){
alert("อัพโหลดได้เฉพาะไฟล์ gif jpg jpeg png");
return false;
}
}
}
</script>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="return chk();">
<input type="file" name="file" id="file" />
<input type="Submit" name="button" id="button" value="Upload" />
</form>
ร่วมกันน่ะค่ะ ขอบคุณมากๆนะค้าาา
Date :
2013-07-01 14:10:46
By :
mrronalz
แบบนั้นก็ได้ แต่ไฟล์ php ก็ต้องเช็คเหมือนกันนะครับ ถ้าไม่เช็คที่ไฟล์ php อีกรอบ เค้า disable javascript ไม่ให้เบราว์เซอร์ประมวลผลจาวาสริปต์ เค้าก็อัพไฟล์อะไรก็ได้อยู่ดี javascript ทำงานฝั่งผู้ใช้ เค้าจะเปลี่ยนอะไรก็ได้ php เช็คดักให้หมดปลอดภัยที่สุดครับ
Date :
2013-07-01 20:49:27
By :
randOmizE
เข้าใจแล้วค่ะขอบคุณมากเลยนะค่ะ ช่วยเพิ่มความรู้ให้เยอะขึ้นเลยค่า
Date :
2013-07-02 07:37:55
By :
mrronalz
Load balance : Server 02