|
|
|
ถามเรื่องการ uploadรูปคับ ผมใส่ไฟล์ไป มักจะมีเงื่อนไขว่า ต้องเปน jpg ขนาดไม่เกิดเท่านี้ ตลอดทั้งๆที่ทำตามเงื่อนไขแล้วก็ยังไม่ผ่าน งง |
|
|
|
|
|
|
|
ไม่ว่าจาทำตามเงื่อนไขอย่างไร ก็ขึ้น ..ต้องเป็นภาพชนิด .jpg หรือ .png หรือ .gif เท่านั้น (บรรทัดที่ 34)
upload_img.php
Code (PHP)
<?php
session_start();
if(!isset($_SESSION['user_id']) || !isset($_SESSION['user_name'])) {
header("Location: user_login.php");
exit;
}
$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];
?>
<!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=windows-874" />
<title>Blog: Upload Image</title>
<link rel="stylesheet" href="../css/style.css" />
</head>
<body>
<?php
include("header.inc.html");
include("blog.inc.php");
my_connect();
?>
<center><p />
<h3 align="center">อัปโหลดภาพสำหรับสร้างบล็อกใหม่</h3>
<?php
//ถ้าเป็นการอัปโหลดไฟล์ขึ้นมา ให้จัดเก็บลงในฐานข้อมูลก่อน
if($_FILES) {
$errmsg = "";
$type = strtolower($_FILES['file']['type']);
$pattern = "((jpe?g)|(png)|(gif))$";
if(eregi("$pattern", $type)) {
$errmsg .= "ต้องเป็นภาพชนิด .jpg หรือ .png หรือ .gif เท่านั้น <br />";
}
$size = getImageSize($_FILES['file']['tmp_name']);
if($size[0] > 300) {
$errmsg .= "ขนาดของภาพต้องไม่เกิน 300 พิกเซล <br />";
}
if($_FILES['file']['error'] != 0) {
$errmsg .= "เกิดข้อผิดพลาดในการอัปโหลดภาพ <br />";
}
if($errmsg != "") {
echo "<font color=red>$errmsg</font><p />";
echo "<a href=\"javascript: history.back()\">ย้อนกลับไปแก้ไข</a>";
exit;
}
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
//อ่านเนื้อหาของไฟล์
$upfile = $_FILES['file']['tmp_name'];
$file = fopen($upfile, "r");
$content = fread($file, filesize($upfile));
$content = addslashes($content);
fclose($file);
$sql = "INSERT INTO img VALUES
(0, $user_id, '$name', '$type', '$size', '$content');";
@mysql_query($sql) or die(mysql_error());
echo "การบันทึกไฟลภาพ์เสร็จเรียบร้อย <br />";
}
?>
<p />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
ไฟล์ที่จะอัปโหลดต้อง...<br />
- เป็นภาพชนิด .jpg หรือ .png หรือ .gif <br />
- มีขนาดความกว้างไม่เกิน 300 พิกเซล<br />
<br />
<input name="file" type="file" id="file" size="50" />
<br />
<input name="Submit" type="submit" value="อัปโหลด" />
<br />
<br />
<a href="new_entry.php">กลับไปที่หน้าสร้างบล็อกใหม่</a>
</form>
<hr width="680" />
<?php
$sql = "SELECT img_id, user_id FROM img
WHERE user_id = $user_id ORDER BY img_id DESC;";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0) {
echo "ภาพที่อัปโหลดขึ้นไปแล้วโดย: $user_name <p />";
while($data = mysql_fetch_array($result)) {
$img_id = $data['img_id'];
echo "<img src=read_img.php?imgid=$img_id /> <p />";
}
}
?>
</center><p> </p>
</body>
</html>
read_img.php
Code (PHP)
<?php
include("blog.inc.php");
my_connect();
$img_id = $_GET['imgid'];
$sql = "SELECT type, content FROM img WHERE img_id = $img_id;";
$result = mysql_query($sql);
$type = mysql_result($result, 0, "type");
$content = mysql_result($result, 0, "content");
header("Content-type: $type");
echo $content;
?>
Tag : PHP, Ms Access, MySQL
|
ประวัติการแก้ไข 2011-09-01 17:46:00 2011-09-01 17:46:29
|
|
|
|
|
Date :
2011-09-01 17:35:58 |
By :
yag00za |
View :
978 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำสั่งชุดนี้ $_FILES['file']['type'] <= มันไม่ได้ออกมาเป็นนามสกุลของรูปที่สามารถนำไปเช็คได้นะครับ
มันจะออกมาประมาณว่า
image/gif
image/png
ต้อง Split เอาสามนามสกุลจริงๆของมันออกมาครับ
บางคนอาจจะตั้งชื่อ picture.01.jpg ต้องหาวิะีเอา หลัง . สุดท้ายมา
|
|
|
|
|
Date :
2011-09-01 18:00:10 |
By :
adaaugusta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมใส่ /*if(eregi("$pattern", $type)) {
$errmsg .= "ต้องเป็นภาพชนิด .jpg หรือ .png หรือ .gif เท่านั้น <br />";
}*/
ก็ใช้ได้แล้วครับ
แต่แปัญหาที่เกิดดันไม่จบคับ ออกมาเป็น http://localhost/phpmydream/project26/read_img.php?imgid=4
ซึ่งลิงค์ที่ออกมานี้ เหมือนจาเป็นลิงค์เสียคับ ไปยังภาพไม่ได้ รบกวนชี้แนะทีคับ จาส่งโปรเจคแล้ว ขอบคุณคับ
บรรทัดที่ 96 คับ
Code (PHP)
<?php
session_start();
if(!isset($_SESSION['user_id']) || !isset($_SESSION['user_name'])) {
header("Location: user_login.php");
exit;
}
$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];
include("blog.inc.php");
my_connect();
if($_POST) {
if(get_magic_quotes_gpc()) {
foreach($_POST as $k => $v) {
$_POST[$k] = stripslashes($v);
}
}
$cat_id = $_POST['cat'];
$title = htmlspecialchars($_POST['title'], ENT_QUOTES);
$content = $_POST['content'];
$sql = "INSERT INTO entry VALUES
(0, '$cat_id', $user_id, NOW(), '$title', '$content', '$user_name', 0);";
@mysql_query($sql) or die(mysql_error());
header("Refresh: 3; url=index.php");
echo "บล็อกของท่านถูกจัดเก็บแล้ว และจะไปยังหน้าหลักใน 3 วินาที";
exit;
}
?>
<!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=windows-874" />
<title>Blog: New Entry</title>
<link rel="stylesheet" href="../css/style.css" />
<script src="../openwysiwyg/wysiwyg.js"> </script>
</head>
<body>
<?php
include("header.inc.html");
?>
<p />
<h3 align="center">สร้างบล็อกใหม่</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1" id="form1">
<table border="0" cellspacing="3" cellpadding="0" align="center">
<tr>
<td>หมวด:</td>
<td>
<select name="cat" id="cat">
<?php
foreach($BLOG_CATS as $key => $value) {
echo "<option value=$key>$value</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>หัวข้อ:</td>
<td><label>
<input name="title" id="title" type="text" size="60" />
</label></td>
</tr>
<tr>
<td>รายละเอียด:</td>
<td>
<textarea name="content" id="content"> </textarea>
<script> generate_wysiwyg('content'); </script>
</td>
</tr>
<tr>
<td> </td>
<td align="right">[<a href="upload_img.php">อัปโหลดรูปภาพ</a>] [<a href=#>วิธีการแทรกรูปภาพใน Editor</a>]</td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="Submit1" value="สร้างบล็อกใหม่" />
<input type="button" name="Button1" value="ตัวอย่างผลลัพธ์" onclick="alert('ส่วนนี้ให้ทำเพิ่มเติมเอง'); return false;" />
</label></td>
</tr>
</table>
</form><hr align="center" /><center>
<?php
$sql = "SELECT img_id, user_id FROM img
WHERE user_id = $user_id ORDER BY img_id DESC;";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0) {
echo "ภาพที่อัปโหลดขึ้นไปแล้วโดย: $user_name <p />";
while($data = mysql_fetch_array($result)) {
$img_id = $data['img_id'];
$url = "http://localhost/phpmydream/project26/";
$url .= "read_img.php?imgid=" . $img_id;
echo "<img src=$url /><br />
URL:<input type=text size=80 value=$url /><p />";
}
}
?>
</center><p> </p>
</body>
</html>
|
ประวัติการแก้ไข 2011-09-01 18:27:30 2011-09-01 18:28:20
|
|
|
|
Date :
2011-09-01 18:25:50 |
By :
yag00za |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|