2012-11-06 85 views
0

這是我的圖片上傳頁面。我想要的是位版本。我想形象的名字看起來像(文件夾)的圖像/ userid_time.jpg將圖片上傳至圖片文件夾並以獨特名稱

,所以我要上傳圖片到圖片文件夾,

,我希望所有的圖像有新的名稱,或者我們可以說唯一的名稱。

在此請求任何adition。

<?php // upload2.php 
echo <<<_END 
<html><head><title>PHP Form Upload</title></head><body> 
<form method='post' action='upload2.php' enctype='multipart/form-data'> 
Select a JPG, GIF, PNG or TIF File: 
<input type='file' name='filename' size='10' /> 
<input type='submit' value='Upload' /></form> 
_END; 
if ($_FILES) { 
    $name = $_FILES['filename']['name']; 
    switch ($_FILES['filename']['type']) { 
     case 'image/jpeg': 
      $ext = 'jpg'; 
      break; 
     case 'image/gif': 
      $ext = 'gif'; 
      break; 
     case 'image/png': 
      $ext = 'png'; 
      break; 
     case 'image/tiff': 
      $ext = 'tif'; 
      break; 
     default: 
      $ext = ''; 
      break; 
    } 
    if ($ext) { 
     $n = "image.$ext"; 
     move_uploaded_file($_FILES['filename']['tmp_name'], $n); 
     echo "Uploaded image '$name' as '$n':<br />"; 
     echo "<img src='$n' />"; 
    } else 
     echo "'$name' is not an accepted image file"; 
} else 
    echo "No image has been uploaded"; 
echo "</body></html>"; 
?> 

謝謝:)

回答

1

假設你可以得到用戶ID到一個名爲$ userId的變量,你可以如前面建議的改變的$ n變量。

$timestamp = time(); 
$n = "image/$userId_$timestamp.$ext"; 

當您執行move_uploaded_file()以法,該文​​件將被移動到相對於你的上傳腳本位置的圖像目錄。您可能想確保圖像文件夾已經存在,並且是可寫的。

+0

很好,謝謝:) – deerox

1

你可以有文件名,然後你可以用uniqid("{$filename}_")其追加。所以輸出會是這樣的filename_4b3403665fea6,然後你可以添加擴展:)

文檔瀏覽:http://uk.php.net/manual/en/function.uniqid.php

編輯:我很抱歉,我錯看了你的問題。

+0

感謝我現在修我的代碼:) – deerox

+0

NP,記得要接受的答案,如果我確實回答您的問與答:) – Prash

1

只需更改$n。由於您始終將其設置爲"image.$ext",因此您將始終使用相同的文件名。

相反,您需要將其命名爲您想要的名稱。類似於$userid."_".time().".".$ext,假設用戶的ID在$userid

+0

感謝我現在修我的代碼:) – deerox

1

您可以使用uploadify因爲:

  • 多文件上傳
  • 拖放
  • 實時進度指示器
  • 自定義上傳限制
  • 至尊定製

和......

...$verifyToken = md5('unique_salt' . $_POST['timestamp']);... 

看到demo

+0

我想在本地主機上。我不知道所有文件上傳的位置。什麼是數據庫設置? – deerox