基本 PHP 上传表单问题
Basic PHP Upload Form Issue
我希望我的表单检查文件名是否等于用户名,原则上我测试它时一切正常,但我遇到的问题是拼写检查包括图像的格式字母,因此给出了不匹配。
示例:
Username
尝试上传正确命名的图片 Username.png
系统可以正常工作,但它也考虑了 .png
,因此给出了不匹配。有没有办法尝试从 if 语句中排除图像格式名称?因为这几乎是我的函数遇到的唯一问题,所以我尝试将自己重命名为 Username.png
然后表单工作得很好,但实际上没有人会使用这样一个奇怪的用户名 lol。如果我的问题有点混乱或太长,我很抱歉,希望它像我认为的那样清楚。我将在此处包括我的一小段代码:
if ( ($_FILES["fileToUpload"]["name"]) != $ir['username'] )
{
echo "Sorry, your file is not correctly named.";
$uploadOk = 0;
}
我尝试在 $ir['username'] 之后添加一个 .png,如下所示: $ir['username'].png 但是随后表单给出了一个严重错误,所以我假设这是一个不好的地方来写它。有没有更好的方法可以做到这一点,有什么办法吗?例如,也许我可以让表单不显示 .png?我不确定此时我该如何处理,任何输入都是无价的。谢谢你的时间,祝你有美好的一天!
编辑:我也会包括表格本身:
<form action='upload.php' method='post' enctype='multipart/form-data'>
Select image to upload:
<input type='file' name='fileToUpload' id='fileToUpload'><br>
<input type='submit' value='Upload Picture' name='submit'>
</form>
有几种方法可以做到这一点。
最简单的方法是在 .
上拆分文件名,删除最后一个并重新粘贴。
$filename = explode('.', $_FILES["fileToUpload"]["name"]);
array_pop($filename);
$filemame = implode('.', $filename);
我希望我的表单检查文件名是否等于用户名,原则上我测试它时一切正常,但我遇到的问题是拼写检查包括图像的格式字母,因此给出了不匹配。
示例:
Username
尝试上传正确命名的图片 Username.png
系统可以正常工作,但它也考虑了 .png
,因此给出了不匹配。有没有办法尝试从 if 语句中排除图像格式名称?因为这几乎是我的函数遇到的唯一问题,所以我尝试将自己重命名为 Username.png
然后表单工作得很好,但实际上没有人会使用这样一个奇怪的用户名 lol。如果我的问题有点混乱或太长,我很抱歉,希望它像我认为的那样清楚。我将在此处包括我的一小段代码:
if ( ($_FILES["fileToUpload"]["name"]) != $ir['username'] )
{
echo "Sorry, your file is not correctly named.";
$uploadOk = 0;
}
我尝试在 $ir['username'] 之后添加一个 .png,如下所示: $ir['username'].png 但是随后表单给出了一个严重错误,所以我假设这是一个不好的地方来写它。有没有更好的方法可以做到这一点,有什么办法吗?例如,也许我可以让表单不显示 .png?我不确定此时我该如何处理,任何输入都是无价的。谢谢你的时间,祝你有美好的一天!
编辑:我也会包括表格本身:
<form action='upload.php' method='post' enctype='multipart/form-data'>
Select image to upload:
<input type='file' name='fileToUpload' id='fileToUpload'><br>
<input type='submit' value='Upload Picture' name='submit'>
</form>
有几种方法可以做到这一点。
最简单的方法是在 .
上拆分文件名,删除最后一个并重新粘贴。
$filename = explode('.', $_FILES["fileToUpload"]["name"]);
array_pop($filename);
$filemame = implode('.', $filename);