UploadController.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace mobile\controllers;
  3. use Yii;
  4. use yii\web\Controller;
  5. class UploadController extends PublicController {
  6. public $withoutLogin = ['upload-file'];
  7. /**
  8. * 上传图片文件
  9. */
  10. public function actionUploadFile() {
  11. $fileInfo = array('url' => '');
  12. if (! empty ( $_FILES )) {
  13. $tempFile = $_FILES ['Filedata'] ['tmp_name'];
  14. $fileParts = explode ( '.', $_FILES ["Filedata"] ['name'] );
  15. $fileName = $fileParts [0];
  16. $extName = $fileParts [1];
  17. $webRoot = Yii::getAlias('@webroot') . '/../../../resource/images/';
  18. $timeFolder = '/uploads/' . date ( 'Ym', time () ) . '/'.date("d").'/';
  19. $targetFolder = $timeFolder . strtolower($extName) . '/';
  20. $targetPath = $webRoot . $targetFolder;
  21. if (! file_exists ( $webRoot . $timeFolder ))
  22. mkdir ( $webRoot . $timeFolder, 0777,true);
  23. if (! file_exists ( $webRoot . $targetFolder . '' ))
  24. mkdir ( $webRoot. $targetFolder,0777,true);
  25. $fileId = md5( $fileName + rand () * 100000 );
  26. $targetFile = rtrim ( $targetPath, '/' ) . '/' . $fileId . '.' . $extName;
  27. move_uploaded_file ( $tempFile, $targetFile );
  28. $fileInfo ['url'] = $targetFolder . $fileId . '.' . $extName;
  29. }
  30. echo json_encode($fileInfo);
  31. }
  32. }