2016-02-07 58 views
-2

我一直在尋找一種方法來使用HTML和PHP上傳視頻和照片。 我發現這個作品和代碼,它一直工作正常,但是當我從iPhone上傳東西時,他們只是上傳'Image'這個名字。無論如何,如果一個同名的文件已經存在,是否會在最後添加一個數字,以便它們不再相同?使用HTML和PHP上傳視頻文件

HTML:

<html> 
    <body> 
    <form action="upload_file.php" method="post" enctype="multipart/form-data"> 
     <label for="file">Filename:</label> 
     <input type="file" name="file" id="file" /> 
     <br /> 
     <input type="submit" name="submit" value="Submit" /> 
    </form> 
    </body> 
</html> 

PHP:

<?php 
$allowedExts = array(
    "jpg", 
    "jpeg", 
    "gif", 
    "png" 
); 
$extension = end(explode(".", $_FILES["file"]["name"])); 
if ((($_FILES["file"]["type"] == "image/gif") || 
($_FILES["file"]["type"] == "image/jpeg") || 
($_FILES["file"]["type"] == "image/pjpeg")) && 
($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts)) { 
    if ($_FILES["file"]["error"] > 0) { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
    } else { 
     echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
     echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
     echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />"; 
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; 

     if (file_exists("upload/" . $_FILES["file"]["name"])) { 
      echo $_FILES["file"]["name"] . " already exists. "; 
     } else { 
      move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); 
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
     } 
    } 
} else { 
    echo "Invalid file"; 
} 
?> 

此外,當我嘗試這個軟件與MOV文件,則返回上線10的想法的錯誤?

回答

1

因爲它已被早前指出,在回答你的第一個任務是在這裏找到:How to rename uploaded file before saving it into a directory?

由於本財富狀態,您可以使用

$temp = explode(".", $_FILES["file"]["name"]); 
$newfilename = round(microtime(true)) . '.' . end($temp); 
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename); 

至於第二個問題,只要你上傳.mov文件,腳本檢查文件擴展名是否處於$allowedExts陣列,其被這樣定義:

$allowedExts = array("jpg", "jpeg", "gif", "png"); 

您需要做的是在其中添加.mov:

$allowedExts = array("jpg", "jpeg", "gif", "png", "mov");