Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ขอความช่วยเหลือการจัดการและตั้งค่าไดเรคเทอรี่ upload ของ php



 

ขอความช่วยเหลือการจัดการและตั้งค่าไดเรคเทอรี่ upload ของ php

 



Topic : 075657



โพสกระทู้ ( 35 )
บทความ ( 0 )



สถานะออฟไลน์




พอดีตอนนี้ผมได้่ทำการปรับแจ่งหน้าเพิ่มข้อมูลให้สามารถ UPLOAD รูปไปพร้อมข้อมูลได้แล้วครับ

แต่อยากให้รูปที่อัพโหลดนั้น สร้างไดเรกทอรี่ตั้งชื่อจาก TEXTBOX แล้วให้นำรูปที่ได้ใส่ลงใน ไดเรคเทอรี่นั้น

และให้ค่าไดเรกเมอร์รี้ พร้อมชื่อไฟล์ ระบุลงในดาต้าเบส

ผมมีคำสั้ง ให้มันสร้างไดเรกเทอรรี่ได้แล้วครับ แต่มันไม่เก็บ





Code (PHP)
 <input name="txtUsername" type="text" id="txtUsername"  OnChange="JavaScript:doCallAjax();" OnKeyPress="return chkNumber(this)" maxlength="13">
	  <span id="mySpan"></span>

      <form name="form2" method="post" action="phpMultiUploadResizeToMySQL2.php" enctype="multipart/form-data">
      <label>	<input type="file" name="fileUpload[]"><br>
	<input type="file" name="fileUpload[]"><br>
	<input type="file" name="fileUpload[]"><br>
    <p>===================</p>
	<input type="file" name="fileUpload2[]"><br>
	<input type="file" name="fileUpload2[]"><br>
    <input type="file" name="fileUpload2[]"><br>
	<input type="file" name="fileUpload2[]"><br></label>
    </form>






การอัพโหลด

Code (PHP)
<?
//upload image 1
	for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
	{
		if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
		{
			$images = $_FILES["fileUpload"]["tmp_name"][$i];
			$new_images = $_FILES["fileUpload"]["name"][$i];
			
			mkdir("MyResize/".$_POST['txtUsername']);
			
			
			copy($_FILES["fileUpload"]["tmp_name"][$i],$_POST['txtUsername'].$_FILES["fileUpload"]["name"][$i]);
			
			
			$width=640; //*** Fix Width & Heigh (Autu caculate) ***//
			$size=GetimageSize($images);
			$height=round($width*$size[1]/$size[0]);
			$images_orig = ImageCreateFromJPEG($images);
			$photoX = ImagesX($images_orig);
			$photoY = ImagesY($images_orig);
			$images_fin = ImageCreateTrueColor($width, $height);
			ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
			ImageJPEG($images_fin,"MyResize/".$new_images);
			ImageDestroy($images_orig);
			ImageDestroy($images_fin);
			
			
			
			//User Make No Echo
			//echo "Resize Successful.<br>";

			//*** Insert Record ***//
			$objConnect = mysql_connect("localhost","library","xxxxxx") or die("Error Connect to Database");
			$objDB = mysql_select_db("library");
			$strSQL = "INSERT INTO book_image";
			$strSQL .="(image_id,image_path,book_isbn,image_type) VALUES 
			('".$new_images."','"."MyResize/".$_POST['txtUsername'].$_FILES["fileUpload"]["name"][$i]."','".$_POST['txtUsername']."','1')";
			//('".$new_images."','".$_FILES["fileUpload"]["name"][$i]."','".$_POST['txtUsername']."')";
			$objQuery = mysql_query($strSQL);
		}
		
		
	}
//end upload image 1
?>



<?
//upload image 2
	for($i=0;$i<count($_FILES["fileUpload2"]["name"]);$i++)
	{
		if(trim($_FILES["fileUpload2"]["tmp_name"][$i]) != "")
		{
			$images = $_FILES["fileUpload2"]["tmp_name"][$i];
			$new_images = $_FILES["fileUpload2"]["name"][$i];
			
			copy($_FILES["fileUpload2"]["tmp_name"][$i],"MyResize/".$_FILES["fileUpload2"]["name"][$i]);
			
			// จาก Upload 1 ได้ทำการสร้าง      mkdir("MyResize/".$_POST['txtUsername']); แล้วเฝนจะให้ใส่รูปเพิ่มเข้าไปเลยครับ
			$width=640; //*** Fix Width & Heigh (Autu caculate) ***//
			$size=GetimageSize($images);
			$height=round($width*$size[1]/$size[0]);
			$images_orig = ImageCreateFromJPEG($images);
			$photoX = ImagesX($images_orig);
			$photoY = ImagesY($images_orig);
			$images_fin = ImageCreateTrueColor($width, $height);
			ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
			ImageJPEG($images_fin,"MyResize/".$new_images);
			ImageDestroy($images_orig);
			ImageDestroy($images_fin);
			
			
			
			//User Make No Echo
			//echo "Resize Successful.<br>";

			//*** Insert Record ***//
			$objConnect = mysql_connect("localhost","library","xxxxxx") or die("Error Connect to Database");
			$objDB = mysql_select_db("library");
			$strSQL = "INSERT INTO book_image";
			$strSQL .="(image_id,image_path,book_isbn,image_type) VALUES 
			('".$new_images."','".$_FILES["fileUpload2"]["name"][$i]."','".$_POST['txtUsername']."','2')";
			//('".$new_images."','".$_FILES["fileUpload"]["name"][$i]."','".$_POST['txtUsername']."')";
			$objQuery = mysql_query($strSQL);
		}
		
		
	}
//end upload image 2
?>




Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax









ประวัติการแก้ไข
2012-03-16 17:02:20
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-03-16 17:00:46 By : numprick View : 988 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (PHP)
copy($_FILES["fileUpload"]["tmp_name"][$i],$_POST['txtUsername']."/".$_FILES["fileUpload"]["name"][$i]);


น่าจะแบบนี้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-16 21:50:58 By : webmaster
 


 

No. 2



โพสกระทู้ ( 35 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : webmaster เมื่อวันที่ 2012-03-16 21:50:58
รายละเอียดของการตอบ ::


ผมได้ใส่เข้าไปแล้ว ครับ



เป็น ดังต่อไปนี้
Code (PHP)
<?
//upload image 1
	for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
	{
		if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
		{
			$images = $_FILES["fileUpload"]["tmp_name"][$i];
			$new_images = $_FILES["fileUpload"]["name"][$i];
			
			mkdir("MyResize/".$_POST['txtUsername']);
			
			// Place image in the folder 
			//mkdir("images/$pid", 0700); //สร้างโฟลเดอร์
			//$newname = $fileUpload."_im.jpg";
			
			copy($_FILES["fileUpload"]["tmp_name"][$i],"MyResize/".$_POST['txtUsername']."/".$_FILES["fileUpload"]["name"][$i]);
			
			$width=640; //*** Fix Width & Heigh (Autu caculate) ***//
			$size=GetimageSize($images);
			$height=round($width*$size[1]/$size[0]);
			$images_orig = ImageCreateFromJPEG($images);
			$photoX = ImagesX($images_orig);
			$photoY = ImagesY($images_orig);
			$images_fin = ImageCreateTrueColor($width, $height);
			ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
		                     	ImageJPEG($images_fin,"MyResize/$txtUsername".$new_images);  //ผมยัง งง อันนี้เป็น Path ดึงรูปมั้ยครับ
			ImageDestroy($images_orig);
			ImageDestroy($images_fin);
			
			
			
			//User Make No Echo
			//echo "Resize Successful.<br>";

			//*** Insert Record ***//
			$objConnect = mysql_connect("localhost","library","compaq") or die("Error Connect to Database");
			$objDB = mysql_select_db("library");
			$strSQL = "INSERT INTO book_image";
			$strSQL .="(image_id,image_path,book_isbn,image_type) VALUES 
			
			
			
			('".$new_images."','"."MyResize/".$_POST['txtUsername'].$_FILES["fileUpload"]["name"][$i]."','".$_POST['txtUsername']."','1')"; // มีปัญหาครับ 			MyResize/54645463567357.JPG
			$objQuery = mysql_query($strSQL);
		}
		
		
	}
//end upload image 1
?>



ผมได้ทำการลองดูครับพี่

txtUsername = 5464546356735

ไฟล์ชื่อ = 7.jpg

ผมลัพท์ที่ได้

1 มีการสร้าง โฟลเดอร์ ชื่อ 5464546356735 ใหม่ขึ้นใน MyResize/xxxxxxxxxxxxx

2 มีการ เอาไฟล์ต้นฉบับ ปรับขนาดแล้วมาเก็บไว้ใน MyResize/5464546356735

3 มีการ นำไฟล์ที่ผ่านการปรับขนาดและเปลี่ยนชื่อ 54645463567357.jpg เข้าไปยัง MyResize

4 ในดาต้าเบสมีการเก็บไฟล์ที่ชื่อ MyResize/54645463567357.JPG

5 ในกรณีที่เคยใส่ไฟล์ 7.jpg ไปแล้ว พออัพครั้งต่อไปใน txtUsername ค่าอื่นๆ กะไม่เขียนลงในดาต้าเบส ครับ

ทั้งหมดมันดูขัดกันไปหน่อยครับ


ผมเลยขอคำแนะนำ

1 ทำอย่างไรให้ดาต้าเบสเขียนชื่อที่เป็น MyResize/xxxxxxxxxxxxx/xxx.jpg

2 ทำอย่างไรให้สามารถเขียนไฟลฺที่มีชื่อซ้ำกันลงดาต้าเบสได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-16 23:20:26 By : numprick
 

 

No. 3



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


1 ทำอย่างไรให้ดาต้าเบสเขียนชื่อที่เป็น MyResize/xxxxxxxxxxxxx/xxx.jpg

แนะนำให้เก็บชื่อโฟลเดอร์ของแต่ละ user ครับ แล้วใน table ไฟล์ก็เก็บ user_id เอา เวลาแสดงผลก็ join กันจะได้ path ที่ถูกต้องเอง

2 ทำอย่างไรให้สามารถเขียนไฟลฺที่มีชื่อซ้ำกันลงดาต้าเบสได้
แยกโฟลเดอร์ตาม user แล้วไม่น่าจะเกิดปัญหาที่ว่าได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-17 01:50:24 By : ikikkok
 


 

No. 4



โพสกระทู้ ( 35 )
บทความ ( 0 )



สถานะออฟไลน์


1 ทำอย่างไรให้ดาต้าเบสเขียนชื่อที่เป็น MyResize/xxxxxxxxxxxxx/xxx.jpg

แนะนำให้เก็บชื่อโฟลเดอร์ของแต่ละ user ครับ แล้วใน table ไฟล์ก็เก็บ user_id เอา เวลาแสดงผลก็ join กันจะได้ path ที่ถูกต้องเอง

+++
อันนี้ผมได้ทำการแยก เป็น Table ของ Image มาครับ
ภายในเก็บ ID(PK)(auto) Image_PATH ISBN

ในตอนนี้ปัญหานี้คือ

ต้องการให้ MyResize/xxxxxxxxxxxxx/xxx.jpg

แต่ตอนนี้เป็น MyResize/xxxxxxxxxxxxxN.jpg อยู่ ครับ

Code (PHP)
<?

"MyResize/".$_POST['txtUsername']."/".$_FILES["fileUpload"]["name"][$i]


Code (PHP)
'"."MyResize/".$_POST['txtUsername'].$_FILES["fileUpload"]["name"][$i]."'




2 ทำอย่างไรให้สามารถเขียนไฟลฺที่มีชื่อซ้ำกันลงดาต้าเบสได้
แยกโฟลเดอร์ตาม user แล้วไม่น่าจะเกิดปัญหาที่ว่าได้

อันนี้ผมก็สงสัย ครับ

ไฟล์ มัน แยากกันอยู่ด้วยครับ

ไฟล์มันเป็น 2 อัน

อันแรกสร้างโฟล์เดอร์ใหม่ และเอาไฟล์ ต้นฉบับ เข้าใน โฟล์เดอร์

อันที่สอง รูป ที่มีการเปลี่ยนชื่อ อยู่ ด้านนอก โฟล์เดอร์ ที่สร้างใหม่ ละมีการเป็ลี่ยนชื่อเป็น xxxxxxxxxxและชื่อไฟล์ต้นฉบับ


รายละเอียดเทเบิล แล้วก็ โฟล์เดอร์ ครับ
ตัวอย่างปัญหาUPLOADPHP
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-17 08:57:45 By : numprick
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอความช่วยเหลือการจัดการและตั้งค่าไดเรคเทอรี่ upload ของ php
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่