php 上传问题
写个上传文件代码。但是不起作用,本地2003系统配置,目录权限可写,php.ini配置完成!如下代码![code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>文件上传</title>
</head>
<body>
<table width="80%" border="1">
<form method="post" enctype="multipart/form-data" name="myform">
<tr>
<td><label>文件上传
<input name="myfile" type="file" id="myfile" />
</label></td>
</tr>
<tr>
<td><label>
<input type="submit" name="submit" value="上传" />
</label></td>
</tr>
</form>
<?php
//echo("你没有上传任何文件");
if(isset($submit)){
if($myfile != "none") {
$upload_dir = "d:\1";
$up=copy($myfile,$upload_dir);
if($up==1) {
print("文件上传成功!");
}
else{
print("文件上传失败!");
}
unlink($myfile);
}
else {
echo("你没有上传任何文件");
}
}
?>
</table>
</body>
</html>
[/code] 1,$submit ==> $_POST['submit'];
2,$mufile ==> $_FILES['myfile'];
3,判断是否有上传文件应该是if($_FILES['myfile']);
4,$up没有定义永远都不会等于1,当然永远都是输出"文件上传失败"
5,建议不要用copy用move_uploaded_file
可以说这个程序服务端部分没可取之处,建议学好基础^_^ 谢版主解答啊,修改后还是不行,再帮忙看一下代码;[code]<?php
//echo("你没有上传任何文件");
if($_POST['submit']){
if($_FILES['myfile']) {
$upload_dir = "D:\1";
$up=move_uploaded_file($_FILES['myfile'],$upload_dir);
if($up==true) {
print("文件上传成功!");
}
else{
print("文件上传失败!");
}
}
else {
echo("你没有上传任何文件");
}
}
?>[/code]
另外
1,看书上说:form表单传递过来的值会自动复制给同名变量,所以就用了$submit,难道那样错了吗;
2. 看到网上很多用php上传的都用了copy函数,斑竹能否从自己使用的方面说一下为什么不用copy函数吗?
3. copy函数返回true ,用if判断是true不就是1吗,不正确吗?
最简单的
[code]<?php
//echo("你没有上传任何文件");
if($_POST['submit']){
if($_FILES['myfile']) {
$upload_dir = "D:/xxx.jpg";
$up=move_uploaded_file($_FILES['myfile']['tmp_name'],$upload_dir);
if($up==true) {
print("文件上传成功!");
}
else{
print("文件上传失败!");
}
}
else {
echo("你没有上传任何文件");
}
}
?>
[/code] 呵呵。。不错啊 这个是我写的 一个,其中有些是已经定义好的变量
$date = date('Ymd');
$attach_dir= date('Ymd').'_'."attach";//非图片上传路径
$r = count($_FILES['attach']['name']);
$attach_nu=$r-2;
for($i=1; $i <= $attach_nu; $i++ )
{ $dir= ATTACH_URL.$date."/";
$dir_R= ATTACH_URL.$attach_dir."/";
$IMG_SIZE="4169764";
$extname=strtolower(substr($_FILES['attach']['name'][$i],(strrpos($_FILES['attach']['name'][$i],'.')+1)));
if($_FILES['attach']['size'][$i] < $IMG_SIZE )
{
$filename= $date."_".$_FILES['attach']['name'][$i];
$md = date('Ymd').'_'.md5(microtime());
$FILE= $_FILES['attach']['name'][$i];
$uploadfile = $dir.$md.".".$extname;
$uploadfile_R = $dir_R.$filename;
$img_url=attach_url.$date."/".$md.".".$extname; //图片路径
$attach_url=attach_url.$attach_dir."/".$filename;//非图片路径
if("jpg" == $extname || "gif" == $extname || "png" == $extname )
{ if ( !is_dir($dir))
{mkdir ($dir);}
if(move_uploaded_file($_FILES['attach']['tmp_name'][$i],$uploadfile))
{
$localattach='/\[localimg=(\d{1,3}),(\d{1,3})\]'.$localid[$i].'\[\/localimg\]/is';
preg_match($localattach, $text, $matches);
$attachimg= "<img src=".$img_url." width=".$matches[1]." height=".$matches[2]."></img>";
$text = preg_replace($localattach,$attachimg,$text );
}
else{ echo "失败!" ; return false; }
}
else if("rar"==$extname || "zip"==$extname||"torrent"== $extname)
{ if ( !is_dir($dir_R) ){mkdir($dir_R);}
if(move_uploaded_file($_FILES['attach']['tmp_name'][$i],$uploadfile_R))
{
$local_attach='/\[local\]'.$localid[$i].'\[\/local\]/is';
$attach_img= "<a href=".$attach_url.">".$filename."</a>";
$text = preg_replace($local_attach,$attach_img,$text );
echo $local;
}
else{echo "error!";return false;}
}
else{echo "不支持该类型文件上传!"; return false;}
}
else { echo $_FILES['attach']['name'][$i]."这个文件超过论坛要求大小,如有需要请返回操作!"; return false;}
}
页:
[1]
