| 13:如何利用PHP上传文件
PHP代码:--------------------------------------------------------------------------------
<html><head>
<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;
}
?>
--------------------------------------------------------------------------------
14:如何配置GD库
下面是我的配置过程
1:用dos命令(也可以手动操作,拷贝dlls文件夹里所有dll文件到system32目录下) copy c:\\php\\dlls\\*.dll c:\\windows\\system32\\
2:打开php.ini
设置extension_dir = \"c:/php/extensions/\";
3:
extension=php_gd2.dll;把extension前面的逗号去掉,如果没有php_gd2.dll,php_gd.dll也一样,保证确实存在这一文件c:/php/extensions/php_gd2.dll
4:运行下面程序进行测试
PHP代码:--------------------------------------------------------------------------------
<?php
Ob_end_flush();
//注意,在此之前不能向浏览器输出任何信息,要注意是否设置了 auto_prepend_file.
header (\"Content-type: image/png\");
$im = @imagecreate (200, 100)
or die (\"无法创建图像\");
$background_color = imagecolorallocate ($im, 0,0, 0);
$text_color = imagecolorallocate ($im, 230, 140, 150);
imagestring ($im, 3, 30, 50, \"A Simple Text String\", $text_color);
imagepng ($im);
?>
--------------------------------------------------------------------------------
点击这里查看结果 |