文件未在PHP中上载

文件未在PHP中上载,php,html,Php,Html,我正在尝试使用html和PHP上传3个文件,在本地服务器上它可以工作,但当我托管它时,这段代码不起作用。有什么问题吗 以下是我的HTML和PHP代码: HTML代码: <form name="test" id="test" action="pet_up.php" enctype="multipart/form-data" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="5097152" />

我正在尝试使用html和PHP上传3个文件,在本地服务器上它可以工作,但当我托管它时,这段代码不起作用。有什么问题吗

以下是我的HTML和PHP代码:

HTML代码:

<form name="test" id="test" action="pet_up.php" enctype="multipart/form-data" method="POST">
  <input type="hidden" name="MAX_FILE_SIZE" value="5097152" /> 
   Upload File 1:<input type='file' id='f1' name='f1'/>
   Upload File 2:<input type='file' id='f2' name='f2'/>
   Upload File 3:<input type='file' id='f3' name='f3'/>
  <input type="submit" value="Update"/>
</form>

上载文件1:
上载文件2:
上载文件3:
PHP代码:

if(isset($_FILES['f1']['name']))
{
$image1 = $_FILES['f1']['name']; 
$tmp1 = $_FILES['f1']['tmp_name']; 
$pathAndName1 = "uploads/".$image1;
if(!empty($_FILES) && file_exists($tmp1) && is_uploaded_file($tmp1)) 
{
    move_uploaded_file($tmp1,$pathAndName1);      
} 
else
{
    $pathAndName1="";
}
echo"<script>alert(".$pathAndName1.");</script>";
$qry="update petition set f1='".$pathAndName1."'";
$result=mysql_query($qry);
}


if(isset($_FILES['f2']['name']))
{
$image2 = $_FILES['f2']['name']; 
$tmp2 = $_FILES['f2']['tmp_name']; 
$pathAndName2 = "uploads/".$image2;
if(!empty($_FILES) && file_exists($tmp2) && is_uploaded_file($tmp2))
{
    move_uploaded_file($tmp2,$pathAndName2);      
} 
else
{
    $pathAndName2="";
}
echo"<script>alert(".$pathAndName2.");</script>";
$qry="update petition set f2='".$pathAndName2."'";
$result=mysql_query($qry);
}

if(isset($_FILES['f3']['name']))
{   
$image3 = $_FILES['f3']['name']; 
$tmp3 = $_FILES['f3']['tmp_name']; 
$pathAndName3 = "uploads/".$image3;
if(!empty($_FILES) && file_exists($tmp3) && is_uploaded_file($tmp3)) 
{
    move_uploaded_file($tmp3,$pathAndName3);      
} 
else
{
    $pathAndName3="";
}
echo"<script>alert(".$pathAndName3.");</script>";
$qry="update petition set f3='".$pathAndName3."'";
$result=mysql_query($qry);
}
if(isset($\u文件['f1']['name']))
{
$image1=$_文件['f1']['name'];
$tmp1=$_文件['f1']['tmp_名称'];
$pathAndName1=“uploads/”$image1;
如果(!empty($_FILES)&&file_存在($tmp1)&&is_上传了文件($tmp1))
{
移动上传的文件($tmp1,$path和name1);
} 
其他的
{
$pathAndName1=“”;
}
回显“警报(“.$pathAndName1”);”;
$qry=“更新申请集f1=””$pathAndName1。“”;
$result=mysql\u查询($qry);
}
如果(isset($_文件['f2']['name']))
{
$image2=$_文件['f2']['name'];
$tmp2=$_文件['f2']['tmp_名称'];
$pathAndName2=“uploads/”$image2;
如果(!empty($_FILES)&&file_存在($tmp2)&&is_上传了文件($tmp2))
{
移动上传的文件($tmp2,$pathAndName2);
} 
其他的
{
$pathAndName2=“”;
}
回显“警报(“.$pathAndName2”);
$qry=“更新申请集f2=””$pathAndName2。“”;
$result=mysql\u查询($qry);
}
如果(isset($\u文件['f3']['name']))
{   
$image3=$_文件['f3']['name'];
$tmp3=$_文件['f3']['tmp_名称'];
$pathAndName3=“uploads/”$image3;
如果(!empty($_FILES)&&file_存在($tmp3)&&is_上传了文件($tmp3))
{
移动上传的文件($tmp3,$path和name3);
} 
其他的
{
$pathAndName3=“”;
}
回显“警报(“.$pathAndName3”);
$qry=“更新申请集f3=””$pathAndName3。“”;
$result=mysql\u查询($qry);
}

请使用此简化查询版本。。这将帮助您更轻松地调试

$count = count($_FILES);
for ($i = 1; $i <= $count; $i++)
{
    if (isset($_FILES['f' . $i]['name']))
    {
        $image . $i= $_FILES['f' . $i]['name'];
        $tmp . $i= $_FILES['f' . $i]['tmp_name'];
        $pathAndName . $i= "uploads/" . $image . $i;
        if (!empty($_FILES) && file_exists($tmp . $count) && is_uploaded_file($tmp . $count))
        {
            move_uploaded_file($tmp . $i, $pathAndName . $i);
            echo 'error uploading file'.$i;
        }
        else
        {
            $pathAndName . $i= "";
        }
    }
    if ($pathAndName . $i!= '')
    {
        echo"<script>alert(" . $pathAndName . $i. ");</script>";
    }
    $qry = mysql_query("update petition set f" . $i. "='" . $pathAndName . $i. "'");
    if(!$qry)
    {
        echo 'error in query'.$i;
    }
}
$count=count($\u文件);

对于($i=1;$i默认情况下,您可以上载一个2Mb大小的文件,如果您希望上载更大的文件,请更改您的php.ini文件并设置您要上载的值。

如果您不告诉我们上载尝试的结果是什么错误消息/日志文件条目,我们无法猜测原因是什么,因为有很多可能的原因。将您的评论带到Nishants下面的答案,很明显您达到了某些服务器限制。可能是上载大小限制或类似限制,因此最有可能是php设置。我们/您确实需要日志文件中的错误消息,或者您必须盲目尝试。如果您无法访问日志文件,那么您应该d通过使用著名的
phpinfo()
函数创建一个测试脚本,确定php的限制。检查uploads文件夹是否存在,以及folder@DeepakMane看看老年退休金计划对Nishants“答案”的评论下面:上传了一个文件,所以这不是问题。是的,事实上,OP应该在问题中提供这些信息。我想,http POST仅限于php设置中的一个文件上传。但是只有你才能知道你的限制。你必须检查一下。Em,确实这是一个可能的原因,是什么让你这么确定他的问题就在眼前?为什么你认为OP可以通过ftp访问该系统和手头的特定应用程序?另外,
777
的许可从来都不是一个好主意,也不是真的需要。感谢你的回复,当我在服务器上测试此代码时,有时3个文件中只有一个成功上传,有时没有文件上传已加载,因此我认为这不是权限问题…抱歉,但在此处发布答案不应被视为猜测游戏。请尝试找出手头的问题,然后才发布答案。从OPs评论中可以看出,您的答案完全错误。有时需要猜测@arkascha@arkascha我不是上帝,所以我来知道所有的答案。我们在这里提供建议。如果这不起作用,我会给出另一个解决方案。所以没有任何理由的投票,我认为这不是你的好选择。请考虑帮助别人不要发现他们的错误。我认为这不是解决办法。因为在我尝试上传那些几乎没有900kb,b的文件之前。但问题是一样的。是否有必要添加:??