อยากสอบถามเรื่อง ไฟล์ Upload คะ หนูทำสคริป Upload ขึ้นมาแต่ ชื่อไฟล์ insert ลง DB แต่ทำไม
Code (PHP)
<?
include "../../../chksession.php";
if ($sess_status=="Super Administrator"or $sess_status=="admin") {
$fileupload=$_FILES['fileupload']['tmp_name'];
$fileupload_name=$_FILES['fileupload']['name'];
$fileupload_size=$_FILES['fileupload']['size'];
$fileupload_type=$_FILES['fileupload']['type'];
$banner_group=$_POST['banner_group'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Banner add2</title>
<link href="../../addmin.css" rel="stylesheet" type="text/css" />
<meta http-equiv=refresh content=2;URL='imgleft_listbantest.php'>
</head>
<body>
<? include " ../../../../../include/topmenu-admin.php"; ?>
<h1>Banner Add<h1> <br>
<?
if (!$fileupload) {
echo "<h3>ERROR : ไม่สามารถ Uploadbanner ได้ครับ</h3>";
} else {
include "../../../connect.php";
$array_last=explode(".",$fileupload_name);
echo "Fileuploadname = $fileupload_name<BR>";
$c=count($array_last)-1;
$lastname=strtolower($array_last[$c]) ;
echo "Last name = $lastname<BR>";
if ($lastname=="gif" or $lastname=="jpg" or $lastname=="jpeg" or $lastname=="png") {
copy($fileupload,"../../../images/".$fileupload_name);
$sql="insert into slide1bannerdb values('','$banner_group','$fileupload_name','<img src=\"../../../images/$fileupload_name\"/>')";
$query=mysql_db_query($dbname,$sql);
echo "<a href='imgleft_add.php'><h3>Upload banner เรียบร้อยครับ</h3></a>";
}else if( $lastname=="swf"){
copy($fileupload,"../../../images/".$fileupload_name);
$sql="insert into slide1bannerdb values('','$leftbanner_group','$fileupload_name','<object id=\"FlashID\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"766\" height=\"193\">
<param name=\"movie\" value=\"../../../images/$fileupload_name\" />
<param name=\"quality\" value=\"high\" />
<param name=\"wmode\" value=\"opaque\" />
<param name=\"swfversion\" value=\"6.0.65.0\" />
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don't want users to see the prompt. -->
<param name=\"expressinstall\" value=\"Scripts/expressInstall.swf\" />
<!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]>-->
<object type=\"application/x-shockwave-flash\" data=\"../../../images/$fileupload_name\" width=\"766\" height=\"193\">
<!--<![endif]-->
<param name=\"quality\" value=\"high\" />
<param name=\"wmode\" value=\"opaque\" />
<param name=\"swfversion\" value=\"6.0.65.0\" />
<param name=\"expressinstall\" value=\"Scripts/expressInstall.swf\" />
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><a href=\"http://www.adobe.com/go/getflashplayer\"><img src=\"http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif\" alt=\"Get Adobe Flash player\" width=\"112\" height=\"33\" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>')";
$query=mysql_db_query($dbname,$sql);
echo "<a href='imgleftbanner_add.php'><h3>Upload banner เรียบร้อยครับ</h3></a>";
} else{
echo "<h3>ERROR : เฉพาะรูปภาพนามสกุล *.gif , *.jpg , *.jpeg *.png *.swfเท่านั้นครับ</h3>";
}
unlink($fileupload);
mysql_close();
}
?>
อยากสอบถามว่า หนูทำสคริป Upload ขึ้นมาแต่ ชื่อไฟล์ insert ลง DB แต่ทำไม ไฟล์ รูปไม่ยอมมา คะTag : PHP
Date :
2014-07-21 20:24:44
By :
noony
View :
923
Reply :
28
ขออนุญาตเอาโคดลงแทกก่อนนะครับ
Code (PHP)
<?
include "../../../chksession.php";
if ($sess_status=="Super Administrator"or $sess_status=="admin") {
$fileupload=$_FILES['fileupload']['tmp_name'];
$fileupload_name=$_FILES['fileupload']['name'];
$fileupload_size=$_FILES['fileupload']['size'];
$fileupload_type=$_FILES['fileupload']['type'];
$banner_group=$_POST['banner_group'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Banner add2</title>
<link href="../../addmin.css" rel="stylesheet" type="text/css" />
<meta http-equiv=refresh content=2;URL='imgleft_listbantest.php'>
</head>
<body>
<? include " ../../../../../include/topmenu-admin.php"; ?>
<h1>Banner Add<h1> <br>
<?
if (!$fileupload) {
echo "<h3>ERROR : ไม่สามารถ Uploadbanner ได้ครับ</h3>";
} else {
include "../../../connect.php";
$array_last=explode(".",$fileupload_name);
echo "Fileuploadname = $fileupload_name<BR>";
$c=count($array_last)-1;
$lastname=strtolower($array_last[$c]) ;
echo "Last name = $lastname<BR>";
if ($lastname=="gif" or $lastname=="jpg" or $lastname=="jpeg" or $lastname=="png") {
copy($fileupload,"../../../images/".$fileupload_name);
$sql="insert into slide1bannerdb values('','$banner_group','$fileupload_name','<img src=\"../../../images/$fileupload_name\"/>')";
$query=mysql_db_query($dbname,$sql);
echo "<a href='imgleft_add.php'><h3>Upload banner เรียบร้อยครับ</h3></a>";
}else if( $lastname=="swf"){
copy($fileupload,"../../../images/".$fileupload_name);
$sql="insert into slide1bannerdb values('','$leftbanner_group','$fileupload_name','<object id=\"FlashID\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"766\" height=\"193\">
<param name=\"movie\" value=\"../../../images/$fileupload_name\" />
<param name=\"quality\" value=\"high\" />
<param name=\"wmode\" value=\"opaque\" />
<param name=\"swfversion\" value=\"6.0.65.0\" />
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don't want users to see the prompt. -->
<param name=\"expressinstall\" value=\"Scripts/expressInstall.swf\" />
<!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]>-->
<object type=\"application/x-shockwave-flash\" data=\"../../../images/$fileupload_name\" width=\"766\" height=\"193\">
<!--<![endif]-->
<param name=\"quality\" value=\"high\" />
<param name=\"wmode\" value=\"opaque\" />
<param name=\"swfversion\" value=\"6.0.65.0\" />
<param name=\"expressinstall\" value=\"Scripts/expressInstall.swf\" />
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><a href=\"http://www.adobe.com/go/getflashplayer\"><img src=\"http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif\" alt=\"Get Adobe Flash player\" width=\"112\" height=\"33\" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>')";
$query=mysql_db_query($dbname,$sql);
echo "<a href='imgleftbanner_add.php'><h3>Upload banner เรียบร้อยครับ</h3></a>";
} else{
echo "<h3>ERROR : เฉพาะรูปภาพนามสกุล *.gif , *.jpg , *.jpeg *.png *.swfเท่านั้นครับ</h3>";
}
unlink($fileupload);
mysql_close();
}
?>
Date :
2014-07-21 21:38:55
By :
soghband
ไม่ได้ คะ
Date :
2014-07-22 10:26:20
By :
noony
ไม่ทราบว่าตั้งค่าไฟล์เพอมิทชั่น โฟลเดอปลายทางไว้เป็น 755 หรือไม่ครับ
Date :
2014-07-22 10:50:52
By :
soghband
ปัญหาเกิดจาก chmod ครับทำการเปิด permission ก่อนทำการอัพโหลด file นะครับ
Syntax
chmod(file,mode)
Parameter Description
file Required. Specifies the file to check
mode Required. Specifies the new permissions.
The mode parameter consists of four numbers:
The first number is always zero
The second number specifies permissions for the owner
The third number specifies permissions for the owner's user group
The fourth number specifies permissions for everybody else
Possible values (to set multiple permissions, add up the following numbers):
1 = execute permissions
2 = write permissions
4 = read permissions
Example
Code (PHP)
<?php
// Read and write for owner, nothing for everybody else
chmod("test.txt",0600);
// Read and write for owner, read for everybody else
chmod("test.txt",0644);
// Everything for owner, read and execute for everybody else
chmod("test.txt",0755);
// Everything for owner, read for owner's group
chmod("test.txt",0740);
?>
cradit : w3school.com
ประวัติการแก้ไข 2014-07-22 11:04:27
Date :
2014-07-22 11:00:31
By :
Ex-[S]i[L]e[N]t
ตั้งเปน 755 แล้ว คะรูปก้อยังไม่มา แต่หนูลองอับโหลดไปวาง host อื่นปกติคะ
Date :
2014-07-22 12:57:38
By :
noony
งั้นลองตั้งเป็น 777 ที่โฟลเดอร์ปลายทางนะครับ ถ้าไม่ได้อาจจะต้องตรวจสอบซีเคียวริตี้ของเครื่องหละครับ ตัวอย่าง คห.6 เป็นการตั้งที่ไฟล์นะครับเราคสรตั้งที่โฟลเดอร์ด้วย
Date :
2014-07-22 13:35:34
By :
soghband
ได้แล้วค่า ตั้งที่ images เปน 755 คะ ขอบคุณค่า
ขอสอบถามอีกเรื่องคะ
Slide Banner
Code (PHP)
<div id="slider">
<img src="images/01.jpg" title="" alt="" />
<img src="images/02.jpg" title="" alt="" />
<img src="images/03.jpg" title="" alt="" />
<img src="images/04.jpg" title="" alt="" />
<img src="images/05.jpg" title="" alt="" />
<img src="images/06.jpg" title="" alt="" />
<img src="images/07.jpg" title="" alt="" />
</div>
แต่หนูทำ CMS
โดยเปลี่ยน เป็น
Code (PHP)
<div id="slider">
<ui>
<li>
<? include "include/slide1.php"?>
</li>
<li>
<? include "include/slide2.php"?>
</li>
<li>
<? include "include/slide3.php"?>
</li>
<li>
<? include "include/slide4.php"?>
</li>
<li>
<? include "include/slide5.php"?>
</li>
<li>
<? include "include/slide1.php"?>
</li>
<li>
<? include "include/slide2.php"?>
</li>
</ul>
ซึ่งตอนแรก รูป Effect Slide ทำงานเลือนปกติ แต่พอเปลี่ยน เปนการทำ CMS โดยการ Insert จาก backend ทำให้ รูปไม่ทำงานเลย เพราะอะไร คะ
Date :
2014-07-22 15:29:35
By :
noony
ลองเอาแทก <ul> <li> ออกยังครับ
Date :
2014-07-22 15:40:48
By :
soghband
ลองหมดแล้ว คะ มึนๆ
Date :
2014-07-22 15:56:29
By :
noony
ขอดูสคริปใน slideX.php หน่อยครับ
Date :
2014-07-22 16:08:06
By :
soghband
<body>
<?
include "connect.php";
//if(!isset($pageid))
//$pageid=0;
$sql="select * from slide1bannerdb_selected natural join slide1bannerdb where id=1";
$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_array($result);
$id_banner =$r[id_banner];
$group_banner=$r[group_banner];
$name_banner=$r[name_banner];
$value_banner=$r[value_banner];
//echo"$name_banner";
echo"$value_banner"
?>
</body>
Select รูปขึ้นมา คะ
Date :
2014-07-22 16:25:53
By :
noony
คือตัว slideX.php สร้างแทกผิดนะครับ อย่างแรกควรเอาแทก <body> และ </body> ออกครับแล้วก็ผมไม่ทราบว่าในฐานข้อมูลเก็บเป็นแทกรูป <img> ด้วยรึเปล่า ถ้าไม่ตรง echo ควรสร้างแทค <img> ครอบเข้าไปด้วยครับ
Date :
2014-07-22 16:46:26
By :
soghband
ในฐานข้อมูลสร้างแทก <img> ด้วยคะ
Date :
2014-07-22 20:23:05
By :
noony
ถ้าสร้างไว้ที่ value_banner ก็เอาแค่ <body></body> ออกครับ แล้วลองรันดู
Date :
2014-07-22 21:53:21
By :
soghband
<?
include "connect.php";
//if(!isset($pageid))
//$pageid=0;
$sql="select * from slide2bannerdb_selected natural join slide2bannerdb where id=1";
$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_array($result);
$id_banner =$r[id_banner];
$group_banner=$r[group_banner];
$name_banner=$r[name_banner];
$value_banner=$r[value_banner];
//echo"$name_banner";
echo"$value_banner"
?>
ไม่ได้อะคะ
Date :
2014-07-23 08:52:51
By :
noony
ขอดูข้อมูลในฐานข้อมูลหน่อยครับ
Date :
2014-07-23 10:07:42
By :
soghband
Date :
2014-07-23 12:01:31
By :
noony
ไฟล์หน้าเว็บที่เรียกแรกสุดอยู่ที่โฟลเดอใหนเหรอครับ เข้าใจว่าตัวจัดการรูปภาพจะอยู่ในโฟลเดอ administratior/manag_web/slide1/
แต่สมมุติตัวที่เรียกแรกสุดอยู่ที่ public_html ก็ต้องเอา ../../../ ออกครับ เพราะถือว่าเป็นข้อมูลที่ผู้ใช้จะนำไปใช้เรียกรูปไม่ใช้ข้อมูลที่จะให้ระบบจัดการครับ
ประวัติการแก้ไข 2014-07-23 13:22:35
Date :
2014-07-23 13:18:32
By :
soghband
Code (PHP)
<?
include "connect.php";
//if(!isset($pageid))
//$pageid=0;
$sql="select * from slide2bannerdb_selected natural join slide2bannerdb where id=1";
$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_array($result);
$id_banner =$r[id_banner];
$group_banner=$r[group_banner];
$name_banner=$r[name_banner];
$value_banner=$r[value_banner];
//echo"$name_banner";
//echo"$value_banner"
?>
<img src="images/<?php echo"$name_banner;?>" title="" alt="" />
Date :
2014-07-23 14:01:35
By :
WawdoG
<img src="images/<?php echo"$name_banner;?>" title="" alt="" />
SYntax ผิดอ่า คะ
Date :
2014-07-23 15:12:19
By :
noony
<img src="images/<?php echo $name_banner;?>" title="" alt="" />
เอา " หลัง echo ออกก็ได้ครับ
Date :
2014-07-23 15:19:16
By :
soghband
ไม่มีวิธีอื่นแล้วหรอคะ
Date :
2014-07-23 17:42:58
By :
noony
การ Echo ตัวประกาศตัวแปรออก มา นอกจาก คำสั่งนี้
<img src="images/<?php echo $name_banner;?>" title="" alt="" />
แต่เรียก ไฟล์ Include มาเพียวๆก้อ ขึ้นปกติคะ
Date :
2014-07-23 17:43:54
By :
noony
แสดงว่าขึ้นแล้วยินดีด้วยครับ
ประวัติการแก้ไข 2014-07-23 19:46:13
Date :
2014-07-23 17:45:36
By :
soghband
ขึ้นแล้วคะ แต่ silde เพี้ยน มันวนลูปบ้างไม่วนบ้าง งะ
Date :
2014-07-24 08:42:10
By :
noony
งั้นต้องถามเจ้าของโคดแล้วครับ ^^ มีวิธีตรวจสอบแทกนะครับถ้าใช้ Chrome / Firefox คลิกขวาที่ออปเจคที่จะตรวจสอบแล้วเลือก Inspect Element / ตรวจสอบองค์ประกอบ
Date :
2014-07-24 10:04:36
By :
soghband
Load balance : Server 04