สอบถามเรื่องการอัพโหลดไฟล์รูปภาพ พอดีลองเขียนบนเครื่องของตัวเองสามารถอัพโหลดได้ แต่พอลง host จริง อัพไม่ได้
พอดีลองเขียนบนเครื่องของตัวเองสามารถอัพโหลดได้ แต่พอลงhost จริง อัพไม่ได้ แล้วก็ลบไม่ได้ค่ะ โค้ดมีดังนี้นะค่ะ
โค้ด upload
<?php
include "fcUpImage.php";
$my_filename=upimg($_FILES['pic'],"../html/PicFile/");
?>
fcUpImage
<?php
function upimg($img, $imglocate)
{
if($img['name']!= '')
{
$fileupload1=$img['tmp_name'];
$g_img = explode(".",$img['name']);
$file_up = time().".".$g_img[1];
$sizefile = $img['size'];
//echo "size=".$sizefile."<br>";
if($fileupload1 && ($sizefile < 204800))//1024= 1Kb 204800=200KB
{
$array_last = explode(".", $img['name']);
$c = count($array_last)-1;
$lastname=strtolower($array_last[$c]);
if($lastname == "gif" || $lastname == "jpg" || $lastname == "jpeg")
{
@copy($fileupload1, $imglocate.$file_up);
}//close if($lastname==gif)
else
{
echo "<script>alert('ERROR!!!<br> รูปภาพที่อัพโหลดไม่ใช่ไฟล์นามสกุล *.gif, *.jpg, *.jpeg');</script>";
exit();
}
}//close if($fileupload1 && $sizefile<204800)
else
{
echo "<script>alert('ขนาดของไฟล์รูปภาพที่อัพโหลดต้องไม่เกิน 200 kb');</script>";
exit();
}
}//close if($img['name']!= '')
return $file_up;
}
?>
ตรงส่วนที่เป็นการอัพโหลดคือ @copy($fileupload1, $imglocate.$file_up); แล้วลองใส่แบบไม่มี @
copy($fileupload1, $imglocate.$file_up); ก็ไม่อัพให้ค่ะ
ส่วนการลบก็ใช้โค้ดนี้ค่ะ
Code (PHP)
<?php
$picNames = $dbarr[picFileName];
@unlink("../PicFile/".$picNames);
?>
มันก็ไม่ลบให้ เป็นเพราะอะไรค่ะ ที่การที่เราทำจำลองในเครื่องแล้วสามารถทำได้ แต่พอทำบนโฮสจริงแล้วกลับไม่ได้ผลลัพธ์ที่ต้องการ
รบกวนผู้รู้ช่วยให้คำแนะนำหน่อยค่ะTag : PHP, MySQL
Date :
2013-06-25 10:28:39
By :
Nws_Nax
View :
749
Reply :
8
เช็คง่ายๆก่อนว่า folder ใน local กับ host สร้างเหมือนกันหรือป่าว แล้วถ้าอับไม่ได้มันก็ไม่มีอะไรให้ลบอยู่แล้วนี่
Date :
2013-06-25 10:36:00
By :
dds
อ้างอิงพาทถูกต้องหรือไม่ @unlink("../PicFile/".$picNames); $my_filename=upimg($_FILES['pic'],"../html/PicFile/"); มีอยู่จริงใน host หรือไม่
Date :
2013-06-25 10:39:12
By :
dds
เช็ค path ถูกต้องหมดแล้วค่ะ ตอนนี้ทำอัพโหลดได้แล้ว แต่ลบไม่ได้ค่ะ
อัพโหลดเปลี่ยนจาก
Code (PHP)
@copy($fileupload1, $imglocate.$file_up);
//มาเป็น
move_uploaded_file($fileupload1, $imglocate.$file_up);
//แล้วก็เปลี่ยน permission ให้เป็น 777 ก็อัพได้แล้ว
ตอนนี้ติดตรงโค้ด ลบรูปภาพค่ะ ต้องเขียนแบบไหนดีค่ะ
Date :
2013-06-25 11:02:58
By :
Nws_Nax
ใช้เป็น jquery หรือลบแบบธรรมดาละ
Date :
2013-06-25 14:16:29
By :
เบทเทอ
echo '<form method="post">';
echo '<input type="hidden" value="'.$file.'" name="delete_file" />';
echo '<input type="submit" value="Delete image" />';
echo '</form>';
if (array_key_exists('delete_file', $_POST)) {
$filename = $_POST['delete_file'];
if (file_exists($filename)) {
unlink($filename);
echo 'File '.$filename.' has been deleted';
} else {
echo 'Could not delete '.$filename.', file does not exist';
}
}
Date :
2013-06-25 14:20:28
By :
เบทเทอ
<?php
// I save the file sources from the URL what was sent by AJAX to these variables.
$file = $_GET['file'];
function deleteFiles($id){
// If is a file then delete the file.
if(is_file($id)){
return unlink($id);
// Else show error.
} else {
echo $id . " is not a file, or there is a problem with it.<br />" ;
}
}
if(isset($file)){
deleteFiles($file);
}
?>
<div id='TrashFile'><a href="javascript:void(0)"onClick='deleteFile(<? echo $deletefile; ?>);'><img src='demo.gif'></a></div>
function deleteFile(file){
var file = encodeURIComponent(file);
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("media").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "http://www.xxx.com.php?file=\""+file, true);
xmlhttp.send();
alert(clicked);
}
Date :
2013-06-25 14:24:04
By :
เบทเทอ
Code (PHP)
@unlink("myfile/" . $filename);
Date :
2013-06-25 15:01:26
By :
Ex-[S]i[L]e[N]t
ขอบคุณนะค่ะ
Date :
2013-06-26 08:45:25
By :
Nws_Nax
Load balance : Server 02