<!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>
<form action="b.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<p>
<input name="upf" type="file" id="upf" />
</p>
<p>
<input type="submit" name="Submit" value="提交" />
</p>
</form>
</body>
</html>b.php<?php
$upfile=$_FILES['upf'];
if ($upfile['name']<>"") {
if(file_exists($upfile['name'])){ //这里应该怎么先判断文件路径是否有效?
if (copy($upfile['tmp_name'],"upfile/".$upfile['name'])) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
}
else echo "no file ";
}
?>
怎么先判断文件路径是否有效??
用file_exists或$upfile['size']<>0都没反应。
谢谢
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<form action="b.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<p>
<input name="upf" type="file" id="upf" />
</p>
<p>
<input type="submit" name="Submit" value="提交" />
</p>
</form>
</body>
</html>b.php<?php
$upfile=$_FILES['upf'];
if ($upfile['name']<>"") {
if(file_exists($upfile['name'])){ //这里应该怎么先判断文件路径是否有效?
if (copy($upfile['tmp_name'],"upfile/".$upfile['name'])) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
}
else echo "no file ";
}
?>
怎么先判断文件路径是否有效??
用file_exists或$upfile['size']<>0都没反应。
谢谢
{
//move the file to some place what u want.
}
<title>上载文件表单</title></head>
<body>
<form enctype="multipart/form-data" action="" method="post">
请选择文件: <br><input name="upload_file" type="file"><br><input type="submit" value="上传文件">
</form>
</body>
</html> <?
$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];if($upload_file){
$file_size_max = 1000*1000;// 1M限制文件上传最大容量(bytes)
$store_dir = "d:/";// 上传文件的储存位置
$accept_overwrite = 1;//是否允许覆盖相同文件
// 检查文件大小
if ($upload_file_size > $file_size_max) {
echo "对不起,你的文件容量大于规定";
exit;
}// 检查读写文件
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
Echo "存在相同文件名的文件";
exit;
}//复制文件到指定目录
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
echo "复制文件失败";
exit;
}}Echo "<p>你上传了文件:";
echo $_FILES['upload_file']['name'];
echo "<br>";
//客户端机器文件的原名称。 Echo "文件的 MIME 类型为:";
echo $_FILES['upload_file']['type'];
//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
echo "<br>";Echo "上传文件大小:";
echo $_FILES['upload_file']['size'];
//已上传文件的大小,单位为字节。
echo "<br>";Echo "文件上传后被临时储存为:";
echo $_FILES['upload_file']['tmp_name'];
//文件被上传后在服务端储存的临时文件名。
echo "<br>";
$Erroe=$_FILES['upload_file']['error'];
switch($Erroe){
case 0:
Echo "上传成功"; break;
case 1:
Echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break;
case 2:
Echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"; break;
case 3:
Echo "文件只有部分被上传";break;
case 4:
Echo "没有文件被上传";break;
}
?>
在php5中if ($upload_file_size > $file_size_max) 应该用$_FILES['upload_file']['size']吧to Fufay(☆梅笑寒☆ MSN: [email protected])
当在 <input type="file">中随便填上几个字符没有盘符提交时,
if($upfile['size'] > 0)就不能判断了。