使用php将php文件上载到服务器
我有下面的代码。。。这是表单上传的第二个文件,但我一直收到一个错误。我正在尝试上载一个.php文件。我用同样的代码上传了一个.jpg,效果很好使用php将php文件上载到服务器,php,file-upload,upload,Php,File Upload,Upload,我有下面的代码。。。这是表单上传的第二个文件,但我一直收到一个错误。我正在尝试上载一个.php文件。我用同样的代码上传了一个.jpg,效果很好 $allowedExts = array("php"); $temp = explode(".", $_FILES["file2"]["name"]); $extension = end($temp); if ((($_FILES["file2"]["type"] == "image/php")) && in_array($extens
$allowedExts = array("php");
$temp = explode(".", $_FILES["file2"]["name"]);
$extension = end($temp);
if ((($_FILES["file2"]["type"] == "image/php"))
&& in_array($extension, $allowedExts))
{
if ($_FILES["file2"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file2"]["error"] . "<br>";
}
else
{
echo "<br /><br />Upload: " . $_FILES["file2"]["name"] . "<br>";
echo "Type: " . $_FILES["file2"]["type"] . "<br>";
echo "Size: " . ($_FILES["file2"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file2"]["tmp_name"] . "<br>";
if (file_exists("trip/" . $_FILES["file2"]["name"]))
{
echo $_FILES["file2"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file2"]["tmp_name"],
"trip/" . $_FILES["file2"]["name"]);
echo "Stored in:" . "trip/" . $_FILES["file2"]["name"];
}
}
}
else
{
echo "Invalid file2";
}
$allowedExts=array(“php”);
$temp=explode(“.”,$_文件[“文件2”][“名称”]);
$extension=end($temp);
如果(($_FILES[“file2”][“type”]=“image/php”))
&&in_数组($extension$allowedExts))
{
如果($\u文件[“文件2”][“错误”]>0)
{
回显“返回代码:”.$\u文件[“文件2”][“错误”]。
;
}
其他的
{
echo“
上传:“.$\u文件[“文件2”][“名称”]。”
”;
回显“类型:”.$\u文件[“文件2”][“类型”]。
”;
回显“大小:”($_文件[“文件2”][“大小”]/1024)。“kB
”;
回显“临时文件:.”文件[“文件2”][“tmp_名称”]。“
”;
如果(文件u存在(“trip/”$\u文件[“file2”][“name”]))
{
echo$\u文件[“文件2”][“名称”]。“已存在。”;
}
其他的
{
移动上传的文件($文件[“文件2”][“tmp文件名”],
“trip/”$_文件[“file2”][“name”]);
echo“存储在:“.trip/”$_文件[“file2”][“name”];
}
}
}
其他的
{
回显“无效文件2”;
}
上传.php文件确实不安全,我不建议这样做。
但是,如果您真的想这样做是为了学习或任何其他原因,错误如下:
"image/php"
PHP的MIME类型不是“image/PHP”
。请尝试“text/php”
删除此选项
if ((($_FILES["file2"]["type"] == "image/php"))
&& in_array($extension, $allowedExts))
{
或者正确编写扩展,因为没有带有php扩展的图像
会是这样的
if (
($_FILES["file2"]["type"] == "image/jpeg")
($_FILES["file2"]["type"] == "text/php")
)
{
这里的图像有jpeg、png等扩展名,。。。文本有php、html等扩展名,可以用一种形式上传两个文件?真是个坏主意。。。这就像给胖人留下蛋糕一样…@user3015838 No.允许用户将php文件上传到您的服务器。另外,我上次检查时发现,image/php
不是有效的MIME类型。啊,这只是为了让更新更容易。会有密码保护等