【发布时间】:2017-05-27 07:10:26
【问题描述】:
我的表单中有一个“上传文件”字段供网站访问者上传图片。
<input type="file" name="fileToUpload" id="fileToUpload">
目前,文件以与上传时相同的“名称”保存到我的服务器。
我想在我的表单中添加一个输入字段(如下所示),以便用户可以为 [image] 文件输入一个新的“名称”。
<input name="imageRename" id="imageRename">
在将文件保存到我的服务器之前,我需要一些关于更改当前 php 代码以重命名文件的建议。
这是当前用于图像处理的 php 代码:
<?php
$target_dir = "articles/article-images/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if(isset($_POST["submit"]))
{
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false)
{
echo "". $check[""].""; $uploadOk = 1;
}
else
{
echo "× FILE IS NOT AN IMAGE"; $uploadOk = 0;
}
}
if(file_exists($target_file))
{
echo "× THIS IMAGE ALREADY EXIST ON SERVER"; $uploadOk = 0;
}
if ($_FILES["fileToUpload"]["size"] > 500000)
{
echo "× FILE IS TOO LARGE"; $uploadOk = 0;
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" )
{
echo "× ONLY JPG, JPEG, PNG & GIF FILES ARE PERMITTED"; $uploadOk = 0;
}
if ($uploadOk == 0)
{
echo "× IMAGE WAS NOT UPLOADED";
}
else
{
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
{
echo '<img class="fixed-ratio-resize" src="../../articles/article-images/'. basename( $_FILES["fileToUpload"]["name"]). '">';
}
else
{
echo "× IMAGE WAS NOT UPLOADED";
}
}
?>
【问题讨论】:
-
如果要重命名文件,请使用“move_uploaded_file”。您的目标文件名“$ target”将是您要保存文件的新名称和路径。
标签: php forms file-upload image-uploading buffering