2016-01-23 73 views
-1

我有php代碼來上傳照片。在照片的類型可以使用代碼$check["mime"]提及,結果是這樣的:The file image/png has been uploaded. 我想把它變成文件.png已經上傳。 這可能是什麼?修改MIME在上傳照片

如果很難,也許除了使用MIME還有其他方法嗎?

下面是代碼:

<?php 
$target_dir = image/"; 
$imglo = $check["mime"]; 
$target_file = $target_dir . $imglo; 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
if(isset($_POST["submit"])) { 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
    if($check !== false) { 
     echo "File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else { 
     echo "File is not an image."; 
     $uploadOk = 0; 
    } 
} 
// Check if file already exists 
if (file_exists($target_file)) { 
    echo "Sorry, file already exists."; 
    $uploadOk = 0; 
} 
// Check file size 
if ($_FILES["fileToUpload"]["size"] > 500000) { 
    echo "Sorry, your file is too large."; 
    $uploadOk = 0; 
} 
// Allow certain file formats 
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
&& $imageFileType != "gif") { 
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
    $uploadOk = 0; 
} 
// Check if $uploadOk is set to 0 by an error 
if ($uploadOk == 0) { 
    echo "Sorry, your file was not uploaded."; 
// if everything is ok, try to upload file 
} else { 
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
     echo "The file ". $imglo . " has been uploaded."; 
    } else { 
     echo "Sorry, there was an error uploading your file."; 
    } 
} 
?> 

<form method="post" enctype="multipart/form-data"> 
    Select image to upload: 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 
+0

'$ target_dir = image /「;'這是一個徹頭徹尾的語法錯誤,正在拋出語法突出顯示 - 它應該讀作'$ target_dir =」image /「;'。如果這是你的真實代碼,那麼可能是問題的根源。如果沒有,那麼這是一個權限問題和/或文件大小超過服務器上允許的。 –

+0

製作字典'mime-type => caption'並選擇一個適當的字典。 –

回答

0
創建

一些字典,例如

$mime_captions = array(
    'image/png' => '.png', 
    'image/jpg' => '.jpg', 
    // other mimes 
); 

之後,知道MIME類型,你可以得到適當的標題:

echo $mime_captions['image/png']; 

和代碼可以改爲:

echo "The file ". $mime_captions[$imglo] . " has been uploaded."; 

或者,如果你的默劇總是image/子開始 - 使用str_replace

echo "The file ". str_replace('image/', '.', $imglo) . " has been uploaded."; 
+0

它不起作用 – Kangsigit

+0

你認爲我可以閱讀想法嗎?你做了什麼,什麼不起作用? –