Php 如何在图像上传功能中提供动态路径?

Php 如何在图像上传功能中提供动态路径?,php,image,image-uploading,Php,Image,Image Uploading,我正在尝试使用PHP将图像上传到相应的文件夹中。共有6个文件夹,2个文件夹有子文件夹。我创建了一个下拉列表,其中包含表单中的文件夹和子文件夹列表。现在我可以创建缩略图,但无法将原始图像存储在相应的文件夹中。如何在函数中写入动态路径 我想使用以下动态路径: $target_folder = "images/website/". $_POST["path"]."/"; 但是我得到了这个路径的错误 下面是cwUpload函数的以下代码 <?php function cwUpload($f

我正在尝试使用PHP将图像上传到相应的文件夹中。共有6个文件夹,2个文件夹有子文件夹。我创建了一个下拉列表,其中包含表单中的文件夹和子文件夹列表。现在我可以创建缩略图,但无法将原始图像存储在相应的文件夹中。如何在函数中写入动态路径

我想使用以下动态路径:

$target_folder = "images/website/". $_POST["path"]."/"; 
但是我得到了这个路径的错误

下面是cwUpload函数的以下代码

  <?php
function cwUpload($field_name = '', $target_folder = '', $file_name = '', $thumb = FALSE, $thumb_folder = '', $thumb_width = '', $thumb_height = ''){
//folder path setup
$target_path = $target_folder;
$thumb_path = $thumb_folder;

//file name setup
$filename_err = explode(".",$_FILES[$field_name]['name']);
$filename_err_count = count($filename_err);
$file_ext = $filename_err[$filename_err_count-1];
if($file_name != '')
{
    $fileName = $file_name.'.'.$file_ext;
}
else
{
    $fileName = $_FILES[$field_name]['name'];
}

//upload image path
$upload_image = $target_path.basename($fileName);

//upload image
if(move_uploaded_file($_FILES[$field_name]['tmp_name'],$upload_image))
{
    //thumbnail creation
    if($thumb == TRUE)
    {
        $thumbnail = $thumb_path.$fileName;
        list($width,$height) = getimagesize($upload_image);
        $thumb_create = imagecreatetruecolor($thumb_width,$thumb_height);
        switch($file_ext){
            case 'jpg':
                $source = imagecreatefromjpeg($upload_image);
                break;
            case 'jpeg':
                $source = imagecreatefromjpeg($upload_image);
                break;
            case 'png':
                $source = imagecreatefrompng($upload_image);
                break;
            case 'gif':
                $source = imagecreatefromgif($upload_image);
                break;
            default:
                $source = imagecreatefromjpeg($upload_image);
        }
        imagecopyresized($thumb_create,$source,0,0,0,0,$thumb_width,$thumb_height,$width,$height);
        switch($file_ext){
            case 'jpg' || 'jpeg':
                imagejpeg($thumb_create,$thumbnail,100);
                break;
            case 'png':
                imagepng($thumb_create,$thumbnail,100);
                break;
            case 'gif':
                imagegif($thumb_create,$thumbnail,100);
                break;
            default:
                imagejpeg($thumb_create,$thumbnail,100);
        }
    }

    return $fileName;
}
else
{
    return false;
}
}
  if(!empty($_FILES['fileToUpload']['name'])){

//call thumbnail creation function and store thumbnail name
$upload_img = cwUpload('fileToUpload','images/','',TRUE,'images/thumbs/','200','160');

//full path of the thumbnail image
$thumb_src = 'images/thumbs/'.$upload_img;

//set success and error messages
$message = $upload_img?"<span style='color:#008000;'>Image thumbnail have been created successfully.</span>":"<span style='color:#F00000;'>Some error occurred, please try again.</span>";

    }else{    
    `//if form is not submitted, below variable should be blank
     $thumb_src = '';
      $message = '';
   }
   ?>

要做到这一点,您需要创建一个动态目录。 只需在创建目标文件夹之前创建一个目标文件夹 移动上传的文件

mkdir("images/website/'. $_POST[path].'");
$target_folder = "images/website/". $_POST['path']."/";

要做到这一点,您需要创建一个动态目录。 只需在创建目标文件夹之前创建一个目标文件夹 移动上传的文件

mkdir("images/website/'. $_POST[path].'");
$target_folder = "images/website/". $_POST['path']."/";

请检查相应文件夹的权限。请添加一些合理的代码indentation@Elby我查过许可证了。我可以在尝试直接上传图像时添加图像,而无需创建缩略图。我只需要$target_文件夹部分中的正确路径自动创建文件夹和子文件夹它已经有一组文件夹和子文件夹请检查相应文件夹的权限请添加一些合理的代码indentation@Elby我查过许可证了。我可以在尝试直接上传图像时添加图像,而无需创建缩略图。我只需要$target_folder part中的正确路径自动创建文件夹和子文件夹它已经有一组文件夹和子文件夹创建了常用缩略图,但我收到了以下错误警告:mkdir():创建了常用缩略图时参数无效,但我收到了以下错误警告:mkdir():中的参数无效