อัพโหลดไฟล์รูปใน localhost ไม่ได้ครับทำไงดี รบกวนด้วยครับ
จาวาสคริป
Code (JavaScript)
<script type="text/javascript">
$(document).ready(function(){
$('#file').uploadify({
'buttonText' : 'BROWSE...',
'uploader' : '<?=PATH_URL?>/module/jquery/jquery.uploadify/uploadify.swf',
'script' : '<?=PATH_URL?>/module/upload.php',
'cancelImg' : '<?=PATH_URL?>/module/jquery/jquery.uploadify/cancel.png',
'folder' : '<?=PATH_URL?>/content/upload/product',
'auto' : true,
'multi' : true,
'fileDataName' : 'file',
'onComplete' : function(event,ID,fileObj,response,data) {
var obj = '<br /><img src="<?=PATH_URL?>/content/upload/product/'+response+'" style="width:200px;height:auto;" /><br />';
$("#view").append(obj);
var val = $("#file_upload").val();
val = (val=="") ? response : val+','+response ;
$("#file_upload").val(val);
}
});
ที่ทำการอัพโหลดครับ
ปัญหาคือ ผมใส่ไฟล์ไปแล้วแต่ไฟล์ไม่ถูกเก็บไว้ใน path url ที่กำหนด หรือไม่มีไฟล์นั้นยุเลยครับ พอไม่มีไฟล์ก้อไม่สามารถเพิ่มรูปภาพได้อะครับ รบกวนผู้รู้ช่วยทีครับTag : PHP, HTML/CSS, JavaScript, Ajax, jQuery
Date :
2016-05-03 10:44:33
By :
bosprogammer1
View :
1069
Reply :
23
Code (PHP)
upload.php
ลองเช็คดูครับว่า ไฟล์ถูกอัพโหลดมาจริงหรือเปล่า?
Code (PHP)
echo $_POST
หรือ เช็คฟอร์มด้วยว่ามี tag enctype="multipart/form-data" แล้วหรือยัง?
Date :
2016-05-03 11:09:11
By :
ALTELMA
สิ่งที่ต้องเช็ค
Code (PHP)
<?=PATH_URL?>
ได้ค่าอะไรออกมา ถูกต้องหรือไม่? ถ้าถูกต้องปกติ ลองเช็คค่าทั้งหมด
Code (PHP)
<?=PATH_URL?>/module/upload.php
ว่า URL ถูกต้องเข้าได้มั้ย?
ปล. รบกวนครอบโค้ดด้วยเครื่องมือ Syntax ของทาง ThaiCreate ที่มีอยู่ให้อ่านง่ายขึ้นด้วยครับ :D
Date :
2016-05-03 16:09:57
By :
ALTELMA
ส่วนจาวา
(PHP)[/head]
$('#file').uploadify({
'buttonText' : 'BROWSE...',
'uploader' : '<?=PATH_URL?>/module/jquery/jquery.uploadify/uploadify.swf',
'script' : '<?=PATH_URL?>/module/upload.php',
'cancelImg' : '<?=PATH_URL?>/module/jquery/jquery.uploadify/cancel.png',
'folder' : '<?=PATH_URL?>/content/upload/product',
'auto' : true,
'multi' : true,
'fileDataName' : 'file',
'onComplete' : function(event,ID,fileObj,response,data) {
var obj = '<br /><img src="<?=PATH_URL?>/content/upload/product/'+response+'" style="width:200px;height:auto;" /><br />';
$("#view").append(obj);
var val = $("#file_upload").val();
val = (val=="") ? response : val+','+response ;
$("#file_upload").val(val);
}
});
ส่วนรับข้อมูลครับ
Code (PHP)
<form role="form" id="frm2" name="frm2" onsubmit="return false;">
<div class="form-group">
<label>รูป (700px × 700px)</label><br />
<input type="file" id="file" name="file" class="form-control"/>
<br />
<div id="view">
<?php
$sql = "SELECT * FROM ".TBL_PRODUCT_IMG." WHERE `product_id`='".$id."' ORDER BY `id` ASC;";
$query = mysqli_query($oconn,$sql);
$file="";
while($row=mysqli_fetch_assoc($query)){
$file .= $row['file'].",";
?>
<div id="<?=$row['id']?>" style="width:200px;">
<img src="<?=PATH_URL?>/content/upload/product/<?=$row['file']?>" style="width:200px;height:auto;" />
<div style="color:red; text-align:center;cursor:pointer;" onclick="del_img('<?=$id?>','<?=$row['id']?>','<?=$row['file']?>');">ลบรูป</div>
</div>
<?php
}mysqli_free_result($query);
?>
</div>
<input type="hidden" id="file_upload" name="file_upload" value="<?=substr($file,0,-1)?>"/>
</div>
<input type="hidden" id="product_id" name="product_id" value="<?=$id?>" />
<div class="box-footer">
<button type="submit" class="btn btn-primary" id="btn-submit">Submit</button>
</div>
</form>
ส่วนเพิ่มข้อมูล
Code (PHP)
if($type=="product_img"){
$product_id = trim($_POST['product_id']);
$by = $_SESSION['ss_admin'];
$ip = getIp();
$arr = explode(",",trim($_POST['file_upload']));
$sql=array();
$sql[] = "DELETE FROM ".TBL_PRODUCT_IMG." WHERE `product_id`='".$product_id."';";
foreach($arr as $key){
if($key!=""){
$sql[] = "INSERT INTO ".TBL_PRODUCT_IMG." (`product_id`,`file`,`create_date`,`create_by`,`create_ip`) VALUES ('".$product_id."','".$key."',NOW(),'".$by."','".$ip."');";
}
}
foreach($sql as $key){
mysqli_query($oconn,$key);
}
$data=1;
}
ผมทำแล้วเปอเซนไปแต่ข้อมูลไม่เข้าเลยครับไม่รู้ว่าผิดส่วนไหนครับรบกวนด้วยครับ
ประวัติการแก้ไข 2016-05-03 16:17:12 2016-05-03 16:19:07
Date :
2016-05-03 16:15:29
By :
bosprogammer1
Code (PHP)
'script' : '<?=PATH_URL?>/module/upload.php',
ผมคิดว่าอาจะผิดตรงนี้ ถึงได้ให้เช็คว่า URL ถูกต้องหรือเปล่า?
เพราะถ้าผิดทำยังไงก็ไม่ไป ข้อมูลก็ไม่มาครับ
ลองเช็คให้ด้วยครับ ผมจะได้มีข้อมูลเพิ่ม ถ้าไม่รู้วิธีเช็ค URL ที่ js ส่งไป
ลอง Echo อะไรก็ได้ในไฟล์ upload.php ว่ามีอะไรออกมามั้ย?
Date :
2016-05-03 16:41:46
By :
ALTELMA
Code (PHP)
<?php
error_reporting(0);
if(!empty($_FILES)) {
$new_name = time();
$filename = $_FILES['file']['name'];
$name_arr = split ("\.", basename($filename));
list($file_extension,$upload_filename) = array_reverse($name_arr);
$file_extension = strtolower($file_extension);
$new_name = $new_name.".".$file_extension;
$upload_file_arr['name'] = $new_name;
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $upload_file_arr['name'];
if(move_uploaded_file($_FILES['file']['tmp_name'],$targetFile)){
$file = $upload_file_arr['name'];
}
echo $file;
exit;
}
?>
ในไฟล์ upload.php ครับ
Date :
2016-05-03 17:02:06
By :
bosprogammer1
Code (PHP)
$_FILES['file']['tmp_name']
ได้อะไรครับ? มีข้อมูลมั้ย?
Date :
2016-05-03 17:23:12
By :
ALTELMA
เขียนฟอร์ม ใหม่มาทดสอบ upload.php ว่าสามารถอัพไฟล์แบบปกติได้มั้ย?
Date :
2016-05-04 09:00:56
By :
ALTELMA
ถ้าตั้งสติไล่แก้ตามที่ คุณ ALTELMA ไปทีละขั้นตอน ติดอะไรตรงไหนทำไม่ได้ ก็หาทางมันมีหนทางครับ โดยส่วนตัวถ้าตอบโจทย์ตามที่ ALTELMA ถามผมว่าก็น่าจะแก้ได้นะ ส่วนคำถามล่าสุดไม่น่าจะเกี่ยวหรอกครับ
พักผ่อนสมองสบาย ๆ โล่ง ๆ แล้วค่อยกลับมาแก้ใหม่ เดี๋ยวก็แก้ได้
Date :
2016-05-04 10:05:15
By :
Kin-Kee
Code (PHP)
// คิดว่าต้องการแยกระหว่าง ชื่อไฟล์ กับ นามสกุลไฟล์
// ตรงนี้ทำให้ error
$name_arr = split ("\.", basename($filename));
// เปลี่ยนมาลองใช้แบบนี้
$name_arr = explode (".", basename($filename));
ผมทดสอบโดยเขียน form ธรรมดาอัพโหลดไป เช็ค ซึ่งยังไม่ได้เช็คทั้งหมด จากนี้ จขกท ต้องไปไล่ต่อว่า
โฟลเดอร์ที่ทำการอัพโหลดถูกต้องมั้ย?
ช่วยแนะนำเพิ่ม เดี๋ยวจะท้อซะก่อนนะครับ อย่างไรก็ตาม ลองดูอีกสักตั้ง
https://www.thaicreate.com/php/php-upload-and-add-logo-to-image.html
http://www.9lessons.info/2009/03/upload-and-resize-image-with-php.html
https://www.thaicreate.com/php.html <<< ที่นี่ มีทุกอย่างจริงๆ นะครับ ลองไล่หาดู Admin ทำไว้เป็นตัวอย่างเยอะเลยนะครับ
ประวัติการแก้ไข 2016-05-04 10:27:27
Date :
2016-05-04 10:27:14
By :
ALTELMA
Server ที่ไหนครับ? ถ้าโค้ดเดียวกันผมยัง error เลยครับ
คงไม่ได้หมายถึงจากหน้าเว็บของ uploadify หรอกนะครับ
Date :
2016-05-04 10:37:58
By :
ALTELMA
Code (PHP)
http://php.net/manual/en/function.split.php
บน server PHP version อะไรครับ?
ผมอาจจะ error เพราะ function split ถูกยกเลิกในเวอร์ชันใหม่แล้ว 5.3 ขึ้นไป
ผมสงสัยว่าบน server PHP version เก่าเลยทำงานได้ปกติ
Date :
2016-05-04 11:46:22
By :
ALTELMA
กด F12 ดู error ในส่วนของ console ดูครับ
สรุปแก้โค้ดในไฟล์ upload.php หรือยังครับ?
Date :
2016-05-06 15:29:12
By :
ALTELMA
Load balance : Server 05