2016-01-23 65 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

你认为我可以阅读想法吗?你做了什么,什么不起作用? –