学习动态网页PHP技术常见问题汇总解答

时间:2007-06-06 02:11:36  来源:站长资讯收集整理  作者:佚名
 
  9:如何利用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;
   }
   ?>

   10:如何配置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);
   ?>

文章评论

共有 位CH网友发表了评论 查看完整内容