下面为PHP上传代码!
<html>
<head>
<title>上传文件</title>
</head>
<body>
<form enctype="multipart/form-data" name="form1" method="post" action="?act=ddd">
<input type="file" name="file" >
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
<?php
if(isset($_GET["act"])&&$_GET["act"]=='ddd')
{
echo $_FILES["file"]["tmp_name"]."@@@"; //这里无法获取到值,在WINDOWS下代码一切正常!
$filename =$_FILES['file']['name'];
$path ="./uploads/".$_FILES['file']['name'];
$date =date("Y-m-d");
if($filename!="")
{
if(copy($_FILES['file']['tmp_name'],$path))
{
echo "上传成功!";
}
else
{
echo"上传失败!";
}
}
else
{
echo "无法获取到FILE控件的值!";
}
}
?>
该代码在WIN2003的服务器中一切正常,不管是ubuntu还是windows的系统都能正常操作访问!也就是能轻易把本地端的文件上传到服务端!
但是如果把平台换到UBUNTU的LAMP下 ,其他操作系统的机器就无法访问了。提示各种奇怪的错误!
我在WIN2003下访问UBUNTU服务器里的PHP代码结果是: $_FILES["file"]["tmp_name"]这个取不到值,但 $_FILES["file"]["name"]可以获取到文件名称!实在是糊涂了!还望大家一起讨论!
<html>
<head>
<title>上传文件</title>
</head>
<body>
<form enctype="multipart/form-data" name="form1" method="post" action="?act=ddd">
<input type="file" name="file" >
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
<?php
if(isset($_GET["act"])&&$_GET["act"]=='ddd')
{
echo $_FILES["file"]["tmp_name"]."@@@"; //这里无法获取到值,在WINDOWS下代码一切正常!
$filename =$_FILES['file']['name'];
$path ="./uploads/".$_FILES['file']['name'];
$date =date("Y-m-d");
if($filename!="")
{
if(copy($_FILES['file']['tmp_name'],$path))
{
echo "上传成功!";
}
else
{
echo"上传失败!";
}
}
else
{
echo "无法获取到FILE控件的值!";
}
}
?>
该代码在WIN2003的服务器中一切正常,不管是ubuntu还是windows的系统都能正常操作访问!也就是能轻易把本地端的文件上传到服务端!
但是如果把平台换到UBUNTU的LAMP下 ,其他操作系统的机器就无法访问了。提示各种奇怪的错误!
我在WIN2003下访问UBUNTU服务器里的PHP代码结果是: $_FILES["file"]["tmp_name"]这个取不到值,但 $_FILES["file"]["name"]可以获取到文件名称!实在是糊涂了!还望大家一起讨论!
解决方案 »
- TinyMEC 编辑器图片上传的问题
- 针对某个用户显示的页面一定不能缓存么?
- 用php的ODBC连access时提示内存溢出,请问如何解决?
- phpphp空间不支持iconv函数,请问还有其他办法编码gb与utf-8相互转化
- 为什么复制文件总是失败???
- 有关变量传递的问题
- 讨论:文本数据库的弊端??大家进来探讨!
- 我要支持php,asp空间,哪有?(给前10位有效者加分)
- 急SOS▲▲▲有谁能给小弟一个类似Yahoo Calendar的日历代码?
- 新版的zend studio11.0创建PHP文件没有结尾的标示符
- 我想把一条数据的标题、姓名、内容读出来,这样写怎么不行呢,给个意见
- 数据库表内内容循环相加
@@@ Warning: copy(): Filename cannot be empty in /home/phpstudy/1.php on line 22 上传失败!
第22行就是这行:if(copy($_FILES['file']['tmp_name'],$path))
ubuntu下,现在WEB根目录和TMP目录的权限所有者都是root。如果是权限问题,那该怎么修改呢?
对ubuntu系统也不是很熟,只是知道点皮毛而已!
这个就绝对不可能了。如果是这个原因。本地端不可能能测试成功的!对吧!
//试试设置php.iniupload_max_filesize
post_max_sizepost_max_size比upload_max_filesize大
我感觉这3个关系不大吧:
upload_max_filesize
post_max_sizepost_max_size比upload_max_filesize大如果有问题,那本地端测试也不可能可以上传的!
看看是否路径出错。 linux 路径和windows路径的斜杠有区别路径的斜杠我喜欢这么用define('DS', DIRECTORY_SEPARATOR);
upload_max_filesize
post_max_sizepost_max_size比upload_max_filesize
上传文件大于设置了 这个我2天前也出了这个问题