<?php
if ("确定"==$_REQUEST['submit']){
$up="upload/".time().strtolower(strrchr($_FILES['photo']['name'],"."));
move_uploaded_file($_FILES['photo']['tmp_name'],$up);
}else{
?>
<form name="form1" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
<input type="file" name="photo" size="40">
<input type="submit" name="submit" value="确定">
</form>
<?php
}
?>
if ("确定"==$_REQUEST['submit']){
$up="upload/".time().strtolower(strrchr($_FILES['photo']['name'],"."));
move_uploaded_file($_FILES['photo']['tmp_name'],$up);
}else{
?>
<form name="form1" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
<input type="file" name="photo" size="40">
<input type="submit" name="submit" value="确定">
</form>
<?php
}
?>
客户端机器文件的原名称。 $_FILES['userfile']['type']
文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。 $_FILES['userfile']['size']
已上传文件的大小,单位为字节。 $_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。 $_FILES['userfile']['error']
(在 PHP 4.1.0 以前版本是 $HTTP_POST_FILES)<? $file = $HTTP_POST_FILES['file']['name'];
$type = $HTTP_POST_FILES['file']['type'];
$size = $HTTP_POST_FILES['file']['size'];
$temp = $HTTP_POST_FILES['file']['tmp_name']; $size_limit = "100000"; // set size limit in bytes if ($file){
if ($size < $size_limit){ copy($temp,
"/upload/".$file);
echo "The file <tt>$file</tt> was sucessfully
uploaded";
} else {
echo "Sorry, your file exceeds the size limit of $size_limit
bytes";
}} echo "
<form enctype='multipart/form-data' action=$PHP_SELF method=post>
Upload a file: <input name='file' type='file'>
<input type='submit' value='Upload'>
</form>
";
?>
<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;
}
?>
那么就没什么实际意义了阿!因为该占用的带宽、空间、时间都占用了阿。
<form method=post enctype="multipart/form-data" action="tt.php">
<input type=file name="thefile[]">
<input type=file name="thefile[]">
<input type="submit" value="upload">
</form>tt.php:
<?$i=0;
foreach($thefile as $tmp)
{ echo "<br>".$thefile_name[$i++];
if($thefile[$i]){
$file="upload/".$thefile_name[$i];
copy($thefile[$i],$file);}}
?>2.没办法,要不怎么计算他上传文件的大小?除非让他输入自己文件的大小然后用javascript告诉他是不是超过最大了
$tmp又是什么?谢谢!
name="thefile[]"$file又是什么呢?
用 $$ 格式(变量的变量)2.这建议可以去php.net上面提.
$$abc="god!";//相当于定义了一个变量 $my="god!";
echo "$abc $($abc)";//等价于 echo "$abc $my";my god!
2、由php限定的文件大小当然在提交后实现
用COPY上传
您可以对 input 域使用不同的 name 来上传多个文件。 PHP 支持同时上传多个文件并将它们的信息自动以数组的形式组织。要完成这项功能,您需要在 HTML 表单中对文件上传域使用类似于多下拉菜单和复选框的数组名称来提交。 注: 对多文件上传的支持是在 3.0.10 版本添加的。 例子 18-3. 上传多个文件<form action="file-upload.php" method="POST" enctype="multipart/form-data">
Send these files:<br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input type="submit" value="Send files">
</form>
当以上表单被提交后,数组 $_FILES['userfile']、$_FILES['userfile']['name'] 和 $_FILES['userfile']['size'] 将被初始化(在 PHP 4.1.0 以前版本是 $HTTP_POST_FILES。)如果 register_globals 的设置为 on,则和文件上传相关的全局变量也将被初始化。所有这些提交的信息都将被储存到以数字为索引的数组中。 例如,假设名为 /home/test/review.html 和 /home/test/xwp.out 的文件被提交,则 $_FILES['userfile']['name'][0] 将包含文件 review.html 的名称,而 $_FILES['userfile']['name'][1] 则将包含文件 xwp.out 的名称。类似的,$_FILES['userfile']['size'][0] 将包含文件 review.html 的大小,依此类推。 $_FILES['userfile']['name'][0]、$_FILES['userfile']['tmp_name'][0]、$_FILES['userfile']['size'][0] 以及 $_FILES['userfile']['type'][0] 都将被同时设置并有效。