当我将文件上传到网站时,它不会接受我上传到网站的文件!
问题是每次我尝试将图片上传到服务器时都会显示“错误”。
我想要它只是采用图像类型的png,jpg和jpeg文件。
图片仅 105 KB
我有
enctype="multipart/form-data"
在我的表格上
PHP
<?php
if(isset($_POST["TYupdater2"]))
{
$allowedExts = array("jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if((($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts))
{
echo "Are now upload to server.";
}
else
{
?>
<div id="error">Error!</div>
<?php
}
}
?>
HTML
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post" name="bruger-info" enctype="multipart/form-data">
<table width="90%" cellpadding="1" cellspacing="1">
<tr>
<td>Billede</td>
<td><input type="file" name="file" id="uploadimg"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="TYupdater2" class="click kliknu" value="Upload"></td>
</tr>
<?php
$mitpanelimg = $mebe->mitpanelimg();//Upload picture here //uploader billedet her
?>
</table>
答案 0 :(得分:0)
此脚本可能会有效地上传到您的服务器。但是,到临时文件夹。当脚本结束删除上传的文件时,此文件夹将被清空。
你需要将你的文件move_uploaded_file()移到你要保存的地方。
需要考虑的其他事项: 正在上传多少个文件? 用户是否有可能上传具有相同名称的文件? 很多相机都像IMG0001那样命名
文件上传很可怕。如果脚本说...一个.php扩展名,那么脚本是否会失败?
我可以上传一个只包含以下代码的php文件吗? 我不知道这是否有效。通过它理论上删除根目录。
这是一本很好的读物。 http://www.php.net/manual/en/features.file-upload.php
Dony害怕手册!没有move_uploaded_file你的脚本永远不会工作 - 给它一个读取!
答案 1 :(得分:0)
您的问题只是文件大小检查。
如手册所述:
$_FILES['userfile']['size']
The size, in bytes, of the uploaded file.
所以你的if语句有:($_FILES["file"]["size"] < 20000)
这意味着如果你的文件大于〜20Kb,那么〜20kb总是会变错
如果您的文件是105 KB,则必须将此部件更改为更大的尺寸
($_FILES["file"]["size"] < 512000)
表示512Kb
答案 2 :(得分:0)
:)尝试计算($ _FILES [“file”] [“size”]&lt; 20000)。它的&lt; 20K。您上传图片(105K)。