刚刚接触php,自己搭了个apache+php的服务器
测试以下代码上传不成功,看了半天也没有找到问题(只知道好像是post的变量都没有接收到),麻烦大家帮我看看。到底是代码的问题,还是服务器配置出了问题。谢谢大家!
上传脚本<html>
<head>
<title>简易文件上传系统前台页面</title>
</head>
<body>
<font size="5" color="#ff0000">
简易文件上传系统前台页面
</font>
<p>
<table border="1">
<form action="1.php" method="post" ENCTYPE="multipart/form-data">
<tr>
<td>选择文件:</td>
<td><input type="file" name="upfile"></td>
</tr>
<tr>
<td>提交选择:</td>
<td><input type="submit" value="提交选择"></td>
</tr>
</form>
</table>
</body>
</html>
服务端脚本<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "文件上传后台处理页面";
echo "</title>";
echo "</head>";
echo "<body>";
//判断是否有文件上传
//如果没有文件上传,显示相关内容 if(!isset($_GET["page"]) || !$_POST["upfile"])
{
echo "没有选择文件!|| 上传出错!";
echo "<p>";
echo "点<a href=\"1.html\">这里</a>返回!";
echo "<p>";
echo "error code".$_FILES["upfile"]["error"];}
//如果有文件上传
else
{
//定义文件上传路径为当前目录下的temp目录
//重新定义文件路径及文件名
$name="/var/www/html/tmp/".$_FILES["upfile"]["name"];
//移动上传的临时文件,为新的文件
//如果移动成功,输出相应内容
if(move_uploaded_file($_FILES["upfile"]["tmp_name"],$name))
{
echo "名为:".$_FILES["upfile"]["name"];
echo "<p>";
echo "的文件成功上传";
echo "<p>";
echo "点<a href=\"1.html\">这里</a>返回!";
}
//如果移动文件失败,输出相应内容
else
{
echo "文件上传过程中出现错误!";
echo "<p>";
echo "文件上传失败";
echo "<p>";
echo "点<a href=\"1.html\">这里</a>返回!";
}
}
echo "</body>";
echo "</html>";
?>
测试以下代码上传不成功,看了半天也没有找到问题(只知道好像是post的变量都没有接收到),麻烦大家帮我看看。到底是代码的问题,还是服务器配置出了问题。谢谢大家!
上传脚本<html>
<head>
<title>简易文件上传系统前台页面</title>
</head>
<body>
<font size="5" color="#ff0000">
简易文件上传系统前台页面
</font>
<p>
<table border="1">
<form action="1.php" method="post" ENCTYPE="multipart/form-data">
<tr>
<td>选择文件:</td>
<td><input type="file" name="upfile"></td>
</tr>
<tr>
<td>提交选择:</td>
<td><input type="submit" value="提交选择"></td>
</tr>
</form>
</table>
</body>
</html>
服务端脚本<?php
echo "<html>";
echo "<head>";
echo "<title>";
echo "文件上传后台处理页面";
echo "</title>";
echo "</head>";
echo "<body>";
//判断是否有文件上传
//如果没有文件上传,显示相关内容 if(!isset($_GET["page"]) || !$_POST["upfile"])
{
echo "没有选择文件!|| 上传出错!";
echo "<p>";
echo "点<a href=\"1.html\">这里</a>返回!";
echo "<p>";
echo "error code".$_FILES["upfile"]["error"];}
//如果有文件上传
else
{
//定义文件上传路径为当前目录下的temp目录
//重新定义文件路径及文件名
$name="/var/www/html/tmp/".$_FILES["upfile"]["name"];
//移动上传的临时文件,为新的文件
//如果移动成功,输出相应内容
if(move_uploaded_file($_FILES["upfile"]["tmp_name"],$name))
{
echo "名为:".$_FILES["upfile"]["name"];
echo "<p>";
echo "的文件成功上传";
echo "<p>";
echo "点<a href=\"1.html\">这里</a>返回!";
}
//如果移动文件失败,输出相应内容
else
{
echo "文件上传过程中出现错误!";
echo "<p>";
echo "文件上传失败";
echo "<p>";
echo "点<a href=\"1.html\">这里</a>返回!";
}
}
echo "</body>";
echo "</html>";
?>
$name="/var/www/html/tmp/".$_FILES["upfile"]["name"];是不是这的路径问题..
好像是没有接收到变量
改成 if(empty($_FILES["upfile"]))
谢谢
if(!$_FILES["upfile"]["name"])
权限没有问题啊 而且我现在发现 /tmp/php07dZSx 这个文件根本就不存在 是不是我压根儿就没有传上去呢
如果有值的话, 你还从权限问题找找吧。临时/tmp和和目标tmp文件夹都改为0777