下面为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"]可以获取到文件名称!实在是糊涂了!还望大家一起讨论!
解决方案 »
- 大家有没有发现一个问题
- 如何分文件处理
- 新手,1天整合,批量上传 缩略图 水印 高手明示其中问题
- mysql 存放二进制文件(pdf)用php怎么读取啊?
- 求指教怎么用php 实现在线预览word文档
- 请大家帮帮忙,Apache2.2配置php4.4.2
- 日期显示为2005-08-02 17:33:48,我之想要2005-08-02
- 关于编码问题,在线等待,十万火急!!!!高分相送.
- PHP的地址彩蛋
- 请大家帮忙提供一点有关php与Mysql的工具(Mysql_Font.phpmyadmin最好是中文注册版)谢谢
- 我想把一条数据的标题、姓名、内容读出来,这样写怎么不行呢,给个意见
- 数据库表内内容循环相加
@@@ 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天前也出了这个问题