php 生成自动创建文件夹并上传文件的示例代码

  

复制代码 代码如下:

  <?

  session_start();

  if($_SESSION['Company']=='')

  {

  //exit();

  }

  ?><?php //上传图片

  $uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','application/x-shockwave-flash','image/x-png');

  $max_file_size=5000000;    //上传文件大小限制, 单位BYTE

  $addtime=date("Ymd",time());

  $testdir="./".$addtime."/";

  if(file_exists($testdir)):

  else:

  mkdir($testdir,0777);

  endif;

  $destination_folder=$addtime."/"; //上传文件路径

  $imgpreview=1;    //是否生成预览图(1为生成,其他为不生成);

  $imgpreviewsize=1/2;   //缩略图比例

  if ($_SERVER['REQUEST_METHOD'] == 'POST')

  {

  if (!is_uploaded_file($_FILES["Pic"][tmp_name]))

  //是否存在文件

  {

  echo "<font color='red'>文件不存在!</font>";

  exit;

  }

  $file = $_FILES["Pic"];

  if($max_file_size < $file["size"])

  //检查文件大小

  {

  echo "<font color='red'>文件太大!</font>";

  exit;

  }

  if(!in_array($file["type"], $uptypes))

  //检查文件类型

  {

  echo "<font color='red'>只能上传图像文件或Flash!</font>";

  exit;

  }

  if(!file_exists($destination_folder))

  mkdir($destination_folder);

  $filename=$file["tmp_name"];

  $image_size = getimagesize($filename);

  $pinfo=pathinfo($file["name"]);

  $ftype=$pinfo[extension];

  $PicName = time().".".$ftype;

  $destination = $destination_folder.$PicName;

  if (file_exists($destination) && $overwrite != true)

  {

  echo "<font color='red'>同名文件已经存在了!</a>";

  exit;

  }

  if(!move_uploaded_file ($filename, $destination))

  {

  echo "<font color='red'>上传文件出错!</a>";

  exit;

  }

  $pinfo=pathinfo($destination);

  $fname=$pinfo[basename];

  }

  ?><?

  $path = dirname(__FILE__);

  require_once($path.'/../../Module/Factory.php');

  $Factory = new Factory();

  $BLL_Trade = $Factory->FactoryTrade();

  try {

  $Infor = new Infor();

  $Infor->Title = $_POST['Title'];

  $Infor->Deposit = $_POST['Deposit'];

  $Infor->Hire = $_POST['Hire'];

  $Infor->Location = $_POST['Location'];

  $Infor->Pic = $destination;

  $Infor->Intro = $_POST['Intro'];

  if($_SESSION['MemberId'] ==''){

  $Infor->Member->ID='';

  }else {

  $Infor->Member->ID = $_SESSION['MemberId'];}

  if($_POST['GoodsBarCode'] ==''){

  $Infor->Goods->BarCode = 0;

  }else {

  $Infor->Goods->BarCode = $_POST['GoodsBarCode'];}

  $Infor->Class->ID = 0;//日后修改

  $Infor->IssueTime = time();

  $Infor->ViewNum = 0;

  $Infor->State = 1;//现在未定,日后修改

  $Infor->Top = 0;

  $Infor->Recommend = 0;

  $Infor->BookMember->ID = 0;

  $Infor->BookTime = 0;

  $Infor->BookRemark = 0;

  $BLL_Trade->CreateInfor($Infor);

  echo '发布信息成功!';

  }

  catch (Exception $Err){

  echo $Err->getMessage();

  }

  ?>