当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请教:ubuntu下PHP上传代码问题!
帖子发表于 : 2010-11-28 20:59 

注册: 2010-09-23 17:22
帖子: 38
送出感谢: 0 次
接收感谢: 0 次
下面为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"]可以获取到文件名称!实在是糊涂了!还望大家一起讨论!谢了!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请教:ubuntu下PHP上传代码问题!
帖子发表于 : 2010-11-29 15:14 
头像

注册: 2010-08-27 15:53
帖子: 803
送出感谢: 0 次
接收感谢: 1
1. 建议发到编程论坛,例如csdn什么的
2. 不熟php,推断是apache的设置不同引起的问题,你对照win2003下的apache和ubuntu下的apache的配置文件,看哪个键值有出入的,修改为一致后试试


_________________
基础问题,请看入门手册http://people.ubuntu.com/~happyaron/udc-cn/lucid-html/

Acer aspire 4736G / Ubuntu 10.04LTS
Asus eeepc900 / Xandros
Nokia N900 / Maemo 1.2.12


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请教:ubuntu下PHP上传代码问题!
帖子发表于 : 2010-11-30 21:19 

注册: 2006-07-12 11:05
帖子: 23
送出感谢: 0 次
接收感谢: 0 次
你试试在前面加上一些调试信息如:
<?php print_r($_FILES);?>
看看.
很多年不写程序了.呵呵.
我记得上传文件有个什么move_upload_file 还是什么的函数。记不清了,你查一下文档好了.


fengyun520 写道:
下面为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"]可以获取到文件名称!实在是糊涂了!还望大家一起讨论!谢了!


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 请教:ubuntu下PHP上传代码问题!
帖子发表于 : 2010-12-01 16:57 
头像

注册: 2009-01-23 19:28
帖子: 296
送出感谢: 0 次
接收感谢: 0 次
我觉得可能是文件名编码的问题,ubuntu是utf8的,win上传的是gb18030的,要转码.
另外存储上传的文件是用move_upload_file,怎么用copy?


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 请教:ubuntu下PHP上传代码问题!
帖子发表于 : 2010-12-01 19:03 

注册: 2006-07-12 11:05
帖子: 23
送出感谢: 0 次
接收感谢: 0 次
我觉得应该不是文件名问题.不过有时输入的资料后面可能会跟一个回车.用chop去删除掉试试.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译