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 > จะทำยังไงให้ใช้ Function Random ชื่อไฟล์เมื่ออัพโหลดไฟล์ (สุ่มชื่อไฟล์เนื่องจากอาจซํ้ากัน)



 

จะทำยังไงให้ใช้ Function Random ชื่อไฟล์เมื่ออัพโหลดไฟล์ (สุ่มชื่อไฟล์เนื่องจากอาจซํ้ากัน)

 



Topic : 065652



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



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



รบกวนอ่านด้านล่างแล้วขึ้นมาพิจราณาโค้ดให้หน่อยนะครับ
Upload images
<?php ini_set("memory_limit", "200000000"); // for large images so that we do not get "Allowed memory exhausted"?>
<?php
// upload the file
if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) {

// file needs to be jpg,gif,bmp,x-png and 4 MB max
if (($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg" || $_FILES["image_upload_box"]["type"] == "image/gif" || $_FILES["image_upload_box"]["type"] == "image/x-png") && ($_FILES["image_upload_box"]["size"] < 4000000))
{


// some settings
$max_upload_width = 2592;
$max_upload_height = 1944;

// if user chosed properly then scale down the image according to user preferances
if(isset($_REQUEST['max_width_box']) and $_REQUEST['max_width_box']!='' and $_REQUEST['max_width_box']<=$max_upload_width){
$max_upload_width = $_REQUEST['max_width_box'];
}
if(isset($_REQUEST['max_height_box']) and $_REQUEST['max_height_box']!='' and $_REQUEST['max_height_box']<=$max_upload_height){
$max_upload_height = $_REQUEST['max_height_box'];
}


// if uploaded image was JPG/JPEG
if($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]);
}
// if uploaded image was GIF
if($_FILES["image_upload_box"]["type"] == "image/gif"){
$image_source = imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]);
}
// BMP doesn't seem to be supported so remove it form above image type test (reject bmps)
// if uploaded image was BMP
if($_FILES["image_upload_box"]["type"] == "image/bmp"){
$image_source = imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]);
}
// if uploaded image was PNG
if($_FILES["image_upload_box"]["type"] == "image/x-png"){
$image_source = imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]);
}


$remote_file = "image_files/".$_FILES["image_upload_box"]["name"];
imagejpeg($image_source,$remote_file,100);
chmod($remote_file,0644);



// get width and height of original image
list($image_width, $image_height) = getimagesize($remote_file);

if($image_width>$max_upload_width || $image_height >$max_upload_height){
$proportions = $image_width/$image_height;

if($image_width>$image_height){
$new_width = $max_upload_width;
$new_height = round($max_upload_width/$proportions);
}
else{
$new_height = $max_upload_height;
$new_width = round($max_upload_height*$proportions);
}


$new_image = imagecreatetruecolor($new_width , $new_height);
$image_source = imagecreatefromjpeg($remote_file);

imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
imagejpeg($new_image,$remote_file,100);

imagedestroy($new_image);
}

imagedestroy($image_source);


header("Location: submit.php?upload_message=image uploaded&upload_message_type=success&show_image=".$_FILES["image_upload_box"]["name"]);
exit;
}
else{
header("Location: submit.php?upload_message=make sure the file is jpg, gif or png and that is smaller than 4MB&upload_message_type=error");
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=utf-8" />
<title>Image Upload with resize</title>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
color: #333333;
font-size: 12px;
}

.upload_message_success {
padding:4px;
background-color:#009900;
border:1px solid #006600;
color:#FFFFFF;
margin-top:10px;
margin-bottom:10px;
}

.upload_message_error {
padding:4px;
background-color:#CE0000;
border:1px solid #990000;
color:#FFFFFF;
margin-top:10px;
margin-bottom:10px;
}

-->
</style></head>

<body>

<h1 style="margin-bottom: 0px">Submit an image</h1>


<?php if(isset($_REQUEST['upload_message'])){?>
<div class="upload_message_<?php echo $_REQUEST['upload_message_type'];?>">
<?php echo htmlentities($_REQUEST['upload_message']);?>
</div>
<?php }?>


<form action="submit.php" method="post" enctype="multipart/form-data" name="image_upload_form" id="image_upload_form" style="margin-bottom:0px;">
<label>Image file, maximum 4MB. it can be jpg, gif, png:</label><br />
<input name="image_upload_box" type="file" id="image_upload_box" size="40" />
<input type="submit" name="submit" value="Upload image" />

<br />
<br />


<label>Scale down image? (2592 x 1944 px max):</label>
<br />
<input name="max_width_box" type="text" id="max_width_box" value="1024" size="4">
x

<input name="max_height_box" type="text" id="max_height_box" value="768" size="4">
px.
<br />
<br />
<p style="padding:5px; border:1px solid #EBEBEB; background-color:#FAFAFA;">
<strong>Notes:</strong><br />
The image will not be resized to this exact size; it will be scalled down so that neider width or height is larger than specified.<br />
When uploading this script make sure you have a directory called &quot;image_files&quot; next to it and make that directory writable, permissions 777.<br />
After you uploaded images and made tests on our server please <a href="delete_all_images.php">delete all uploaded images </a> :)<br />
</p>



<input name="submitted_form" type="hidden" id="submitted_form" value="image_upload_form" />
</form>




<?php if(isset($_REQUEST['show_image']) and $_REQUEST['show_image']!=''){?>
<p>
<img src="image_files/<?php echo $_REQUEST['show_image'];?>" />
</p>
<?php }?>




</body>
</html>

ผมอยากให้สคริปด้่านบน สามารถใช้ฟังก์ชั่นด้านล่างนี้ เมื่ออัพโหลดรูปอ่าครับ

Random
<?php

function alphanumeric_rand($num_require=8) {
$alphanumeric = array('a','b','c','d','e','E','f','g','h','i','M','j','k','l','m','A','n','o','p','q','r','X','s','t','P','u','v','I','w','x','y','z','C',0,1,2,3,4,5,6,7,8,9);
if($num_require > sizeof($alphanumeric)){
echo "Error alphanumeric_rand(\$num_require) : \$num_require must less than " . sizeof($alphanumeric) . ", $num_require given";
return;
}
$rand_key = array_rand($alphanumeric , $num_require);
for($i=0;$i<sizeof($rand_key);$i++) $randomstring .= $alphanumeric[$rand_key[$i]];
return $randomstring;
}

echo alphanumeric_rand(12);

?>


ตามโค้ดแรก เมื่ออัพโหลดภาพจะอยู่ใน image_files และชื่อภาพจะเป็นไปตามที่เราอัพเลย
แต่ชื่อภาพอาจซํ้ากันได้ ผมเลยอยากให้มันแรนด้อมชื่อภาพโดยการใช้ฟังก์ชั่นด้านบนนี้อ่าครับ
จะทำยังไงให้เมื่ออัพโหลดแล้วเปลี่ยนชื่อภาพโดยการใช้ฟังก์ชั่นด้านบนเพื่อสุ่มชื่ออ่าครับ T^T รบกวนหน่อยนะครับ
ขอบคุณครับ

หรือไม่ก็ให้สุ่มโฟเดอร์ที่จะแสดงก็ได้ครับ เช่น สุ่มไปแสดงที่โฟเดอร์ a/01 , a/02 , b/05 ฯลฯ ไรงี้อ่าครับ
ขอบคุณสำหรับทุกคำตอบครับ



Tag : PHP, HTML/CSS, JavaScript









ประวัติการแก้ไข
2011-08-30 22:06:45
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-08-30 22:05:14 By : OtakuROB View : 3254 Reply : 17
 

 

No. 1



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

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

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


ใช้ time() ดีกว่าไม่ซ้ำแน่






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-30 22:50:03 By : ikikkok
 


 

No. 2



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

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

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

ใช่ครับ

Code (PHP)
$strDate = date("YmdHis");

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-31 06:21:42 By : webmaster
 

 

No. 3



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



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

ขอบคุณทุกๆเรปมากครับ
แต่ไม่เข้าใจว่าจะเอามาใช้กับตัวอัพโหลดยังไงอ่าครับ
ถ้าเป็นไปได้ช่วยบอกทีนะครับว่าให้แก้ตรงไหนอ่า
ยังไม่ค่อยเข้าใจเท่าไหร่ ขออภัยด้วยนะครับ T^T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-31 06:37:36 By : OtakuROB
 


 

No. 4



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

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

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

ตรงชื่อไฟล์ตรงไหน ก็วางตรงนั้นแหละครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-31 08:42:14 By : webmaster
 


 

No. 5



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

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

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


Code (PHP)
if($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){	
$image_source = imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]);
$image_ext = '.jpg';
}	
// if uploaded image was GIF
if($_FILES["image_upload_box"]["type"] == "image/gif"){	
$image_source = imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]);
$image_ext = '.gif';
}	
// BMP doesn't seem to be supported so remove it form above image type test (reject bmps)	
// if uploaded image was BMP
if($_FILES["image_upload_box"]["type"] == "image/bmp"){	
$image_source = imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]);
$image_ext = '.bmp';
}	
// if uploaded image was PNG
if($_FILES["image_upload_box"]["type"] == "image/x-png"){
$image_source = imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]);
$image_ext = '.png';
}


$remote_file = "image_files/". time() . $image_ext;
imagejpeg($image_source,$remote_file,100);
chmod($remote_file,0644);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-31 10:26:38 By : ikikkok
 


 

No. 6



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



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

ขอลองหน่อยนะครับ
ขอบคุณมากครับ ^^"

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-31 18:13:14 By : OtakuROB
 


 

No. 7



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



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

ตรงชื่อไฟล์ตรงไหน ก็วางตรงนั้นแหละครับ
นั่งแก้ไปแก้มาก็ยังไม่ได้อยู่ดีอ่าครับ T^T

@PlaKriM :: ยังไม่ได้อยู่ดีอ่าครับ ลองแก้ไปแก้มาตรงส่วนชื่อไฟล์แล้วแต่ก็ไ่ม่ได้ซักที TT
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-01 06:41:52 By : OtakuROB
 


 

No. 8



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



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

ขออภัยด้วยนะครับหากผมถามมากเกินไป
แต่เมื่อวานลองหลายแบบแล้วไม่ได้ซักทีอ่าครับ T^T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-01 07:35:25 By : OtakuROB
 


 

No. 9



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



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

ขออภัยที่หลายเรปนะครับ ยังอยู่ไหมอา่ครับ (ชื่อพี่วินอ้ะปล่าว อิอิ )
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-01 18:50:18 By : OtakuROB
 


 

No. 10



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


ใช้ตัวนี้มั้ย http://www.okvee.net/articles/vfileup-php-upload-class
แล้ว config เอา จะเข้ารหัสชื่อไฟล์, จะให้อัพไฟล์ซ้ำได้ซ้ำไม่ได้, จำกัดขนาด, ตั้งชื่อไฟล์ใหม่, ลบ space ออกจากชื่อไฟล์ ทำได้หมด

Code (PHP)
<?php
if ( isset($_FILES['file']['name']) && $_FILES['file']['name'] != null ) {
     include(dirname(__FILE__)."/vfileup.php");
     $vfileup = new vfileup($_FILES['file']);
    // config upload
    $vfileup->allowed_types = "jpg|gif|png|txt";
    $vfileup->encrypt_name = true;
    $vfileup->filename = '';// กำหนดชื่อเฉยๆ ไม่ต้องมี .ext
    $vfileup->max_size = "";// size in byte
    $vfileup->overwrite = false;
    $vfileup->remove_space = true;
    $vfileup->upload_path = dirname(__FILE__);
     // upload
    $upload_result = $vfileup->do_upload();
    if ( $upload_result !== true ) {
        $form_status = "<div class=\"block-error\">" . $vfileup->error_msg . "</div>";
    } else {
        $form_status = "<div class=\"block-success\">success</div>";
        $data = $vfileup->data();
        echo "ชื่อไฟล์ที่อัพโหลดสำเร็จแล้วคือ " . $data['file_name'] . " มีขนาด " . $data['file_size'] . " bytes, ประเภทไฟล์ " . $data['file_type'];
     }
 }
?>

<div style="border: 1px solid #eee; margin: 150px auto 0 auto; overflow: hidden; padding: 10px; width: 500px;">
        <h1 style="font-size: 20px;">vfileup : PHP vee's file upload class.</h1>
        <?php if ( isset($form_status) ) {echo $form_status;} ?>
        <form method="post" action="sample.php" enctype="multipart/form-data">
        <input type="hidden" name="MAX_FILE_SIZE" value="2097152" /><!--2097152 byte = 2MB -->
            file: <input type="file" name="file" value="" /><br />
            <button type="submit" name="btn">Upload</button>
        </form>
        <span style="color:#aaa; font-size: 11px;">&copy; <a href="http://www.okvee.net" style="color:#aaa;">okvee.net</a></span>
    </div>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-01 22:41:12 By : mr.v
 


 

No. 11



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

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

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


บอกด้วยครับว่าไม่ได้นั้น error ไหม ผลลัพธ์เป็ฯยังไง บอกแค่ไม่ได้นี่จนปัญญาครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-01 22:45:07 By : ikikkok
 


 

No. 12



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



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

ไม่ได้ีนี่คือยังเหมือนเดิมทุกอย่างอ่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-02 19:03:07 By : OtakuROB
 


 

No. 13



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



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

ขออภัยนะครับ แต่ผมต้องการที่จะใช้ตัวเดิมอ่าครับ โมไปเยอะแล้วด้วย TT
ขอบคุณสำหรับนํ้าใจที่ช่วยหาให้ครับ ^^"
หากไม่ได้จริงๆอาจจะลองดูครับ อิอิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-02 19:03:51 By : OtakuROB
 


 

No. 14



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

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

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


โมยังไงละครับ ถึงไม่มีอะไรเกิดขึ้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-02 21:57:46 By : ikikkok
 


 

No. 15



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



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

เรื่องที่ผมบอกว่าโมยังไม่ต้องสนใจหรอกครับ อิอิ
โค้ดที่เอามาให้ดูคือตัวต้นฉบับครับ
ซึ่งผมลองเอาฟังก์ชั่นบอกเวลา time() ก็แล้ว อะไรก็แล้ว มาใช้ตามที่พี่ๆบอกกัน
แต่มันก็ยังเหมือนเดิมอะครับ -.- คือไม่มีอะไรเิกิดขึ้น อัพแล้วชื่อไฟล์ก็ยังเหมือนเดิมปกติครับ อิอิ
ตอนนี้ก็ยอมนอนดึกนั่งแก้อยู่ อิอิ นั่งทำความเข้าใจโค้ด แต่ก็ยังมึนๆอยู่


ขอบคุณครับที่คอยช่วยเหลือ ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-02 22:34:44 By : OtakuROB
 


 

No. 16



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



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

จะลองดูเว็บที่ผมทำอย่ไหมอ่าครับ ที่ใช้สคริปตัวนี้อยู่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-04 20:27:23 By : OtakuROB
 


 

No. 17



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



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

นั่งโมไปโมมา
ทำได้ละครับ ขอบุคณครับ ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-06 22:15:56 By : OtakuROB
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : จะทำยังไงให้ใช้ Function Random ชื่อไฟล์เมื่ออัพโหลดไฟล์ (สุ่มชื่อไฟล์เนื่องจากอาจซํ้ากัน)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
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 อัตราราคา คลิกที่นี่