Example #1
0
 /**
  * 通过FTP上传图片
  * FTP上传不检查文件是否已存在(存在会返回FALSE)
  * @param string $uploadformname 需要上传的表单名,$_FILES中
  * @return boolean
  */
 public function ftpUpload($uploadformname)
 {
     if (empty($this->_ftpconf)) {
         self::$message = '未设置FTP登录信息';
         return false;
     }
     //文件检查
     if (!$this->check($uploadformname)) {
         return false;
     }
     //要上传的图片缓存信息
     $upfile = $_FILES[$uploadformname];
     //图像类型
     $imgtype = exif_imagetype($upfile['tmp_name']);
     //图片尺寸信息
     $size = getimagesize($upfile['tmp_name']);
     $ftp = new Ftp();
     $constatus = $ftp->connect($this->_ftpconf);
     if (!$constatus) {
         self::$message = '上传服务器连接失败';
         return false;
     }
     //尝试创建目录,不返回状态,有可能目录已存在
     $ftp->mkdir($this->_dir);
     $upsatus = $ftp->upload($upfile['tmp_name'], $this->_dir . $this->_savename, '');
     if (!$upsatus) {
         self::$message = '上传失败,服务器繁忙';
         return false;
     }
     //返回图片属性
     self::$picinfo = pathinfo($this->_dir . $this->_savename);
     self::$picinfo['width'] = $size[0];
     self::$picinfo['height'] = $size[1];
     self::$picinfo['size'] = $upfile['size'];
     self::$message = '成功';
     return true;
 }