本地调试上传下载都没问题,源码上传到空间后,进入上传页面,上传文件总是失败!也不提示错误! 以下是部分关键代码!是路径的问题吗?本地和远程??
<form enctype="multipart/form-data" action="uploadgo.php" method="post" name="form_load">
<input type="hidden" name="max_file_size" value="1000000">
<input name="user_file[]" type="file">
<div id="new_up_down"></div><br />
<input type="button" name="add_file" value="新增上传" onclick="go_up()"/>
<input type="submit" name="submit" value="上传文件">
</form>
if($_POST['submit']=='上传文件')
{
foreach ($_FILES["user_file"]["error"] as $key => $error)
{
switch($error)
{
case 0:
$tmp_name = $_FILES["user_file"]["tmp_name"][$key];
$name = $_FILES["user_file"]["name"][$key];//上传文件的名称
$size = $_FILES['user_file']['size'][$key];//上传文件的大小
$error=$_FILES['user_file']['error'][$key];
$uptime=date("Y-m-d H:i:s",strtotime("now")+8*60*60);;
$ext = substr($name,strrpos($name,"."));
$upload_dir='up_down_load/upload/'.(empty($_SESSION['loginname'])? 'public':$_SESSION['loginname']).'/';
$targetname=$name;
uploadfile($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_dir); echo $name."上传成功!"; 下面是上传方法
function uploadfile($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_dir)
{
$MAX_SIZE = 2000000;
$FILE_MIMES = array('data/jpeg','data/jpg','data/gif','data/png','application/msword');//默认的是image不是data
$FILE_EXTS = array('.jpg','.gif','.png','.JPG','.GIF','.PNG','.TXT','.txt','.rar','.chm');
$file_path = $upload_dir.$targetname;
if(!is_dir($upload_dir))
{
if(!mkdir($upload_dir))
die("文件上传目录不存在并且无法创建文件上传目录");
if(!chmod($upload_dir,0755))
die("文件上传目录的权限无法设定为可读可写");
}
elseif($size == 0)
{
echo "请选择上传的文件";
die("<script language=javascript>this.history.go(-1);</script>");
//echo "<meta http-equiv=\"refresh\" content=\"1;url=up_down_t.php?load=upload\">";
}
elseif(!in_array($type,$FILE_MIMES) && !in_array($ext,$FILE_EXTS))//默认的是||不是&&
{
echo "请上传符合要求的文件类型";
die("<script language=javascript>this.history.go(-1);</script>");
//echo "<meta http-equiv=\"refresh\" content=\"1;url=up_down_t.php?load=upload\">";
}
elseif($size>$MAX_SIZE)
{
echo "上传的文件大小超过了规定大小";
die("<script language=javascript>this.history.go(-1);</script>");
//echo "<meta http-equiv=\"refresh\" content=\"1;url=up_down_t.php?load=upload\">";
}
elseif(!move_uploaded_file($tmp_name, $file_path))
{
echo "复制文件失败,请重新上传";
die("<script language=javascript>this.history.go(-1);</script>");
}
}
<form enctype="multipart/form-data" action="uploadgo.php" method="post" name="form_load">
<input type="hidden" name="max_file_size" value="1000000">
<input name="user_file[]" type="file">
<div id="new_up_down"></div><br />
<input type="button" name="add_file" value="新增上传" onclick="go_up()"/>
<input type="submit" name="submit" value="上传文件">
</form>
if($_POST['submit']=='上传文件')
{
foreach ($_FILES["user_file"]["error"] as $key => $error)
{
switch($error)
{
case 0:
$tmp_name = $_FILES["user_file"]["tmp_name"][$key];
$name = $_FILES["user_file"]["name"][$key];//上传文件的名称
$size = $_FILES['user_file']['size'][$key];//上传文件的大小
$error=$_FILES['user_file']['error'][$key];
$uptime=date("Y-m-d H:i:s",strtotime("now")+8*60*60);;
$ext = substr($name,strrpos($name,"."));
$upload_dir='up_down_load/upload/'.(empty($_SESSION['loginname'])? 'public':$_SESSION['loginname']).'/';
$targetname=$name;
uploadfile($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_dir); echo $name."上传成功!"; 下面是上传方法
function uploadfile($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_dir)
{
$MAX_SIZE = 2000000;
$FILE_MIMES = array('data/jpeg','data/jpg','data/gif','data/png','application/msword');//默认的是image不是data
$FILE_EXTS = array('.jpg','.gif','.png','.JPG','.GIF','.PNG','.TXT','.txt','.rar','.chm');
$file_path = $upload_dir.$targetname;
if(!is_dir($upload_dir))
{
if(!mkdir($upload_dir))
die("文件上传目录不存在并且无法创建文件上传目录");
if(!chmod($upload_dir,0755))
die("文件上传目录的权限无法设定为可读可写");
}
elseif($size == 0)
{
echo "请选择上传的文件";
die("<script language=javascript>this.history.go(-1);</script>");
//echo "<meta http-equiv=\"refresh\" content=\"1;url=up_down_t.php?load=upload\">";
}
elseif(!in_array($type,$FILE_MIMES) && !in_array($ext,$FILE_EXTS))//默认的是||不是&&
{
echo "请上传符合要求的文件类型";
die("<script language=javascript>this.history.go(-1);</script>");
//echo "<meta http-equiv=\"refresh\" content=\"1;url=up_down_t.php?load=upload\">";
}
elseif($size>$MAX_SIZE)
{
echo "上传的文件大小超过了规定大小";
die("<script language=javascript>this.history.go(-1);</script>");
//echo "<meta http-equiv=\"refresh\" content=\"1;url=up_down_t.php?load=upload\">";
}
elseif(!move_uploaded_file($tmp_name, $file_path))
{
echo "复制文件失败,请重新上传";
die("<script language=javascript>this.history.go(-1);</script>");
}
}
<input name="user_file[]" type="file">
你确定本地没问题?
foreach ($_FILES["user_file"]["error"] as $key => $error)
如果是linux,有什么问题吗? 大小写敏感,我的路径和创建的文件夹全都是小写