上传一个php文件到服务器使用php
问题描述:
我有下面的代码...这是第二个文件正在上传的形式,但我不断收到错误。我正在尝试上传.php文件。我使用相同的代码来上传一个.jpg并且它工作正常!上传一个php文件到服务器使用php
$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";
}
答
上传.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,扩展...
这是一个坏主意。 – Daedalus
以一种形式上传2个文件? – user3015838
真是个坏主意......就像在胖人身边留下一块蛋糕...... – jycr753