上传如何创建新文件夹并将文件加载到其中


Uploadify How to create a new folder and load files to it

谁能告诉如何将值从jquery传递给uploadify.php dynfolder:$("#storeloyaltyid").val(),//value是照片1 m无法在uploadify中获取.php

Jquery

if($("#uploadphotoz").length>0){
        uploadphotoz();
    }
    function uploadphotoz(){
        $('#uploadphotoz').Uploadify({
            uploader:urljs+"/jslib/Uploadify.swf",
            cancelImage:urljs+"/image/cancel.png",
            buttonImage:urljs+"/image/browse_button.png",
            uploadUrl:urljs+"/jslib/uploadify.php",
            dynfolder:$("#storeloyaltyid").val(),//value is photo1
            height  : 21,
            width   :59,
            auto    : true,
            fileLimit:1,
            preview:'stuimgpreview',
            onComplete: function(event,status,imgs){   
                $("#memPhoto").val(imgs);
            },
            onRemove:function(event,imgs){
                $("#memPhoto").val(imgs);
            }
        });
    }

上传.php

<?php
if (!empty($_FILES)) {
    $filename = $_FILES['Filedata']['name'];
    $filetmpname = $_FILES['Filedata']['tmp_name'];
    $fileType = $_FILES["Filedata"]["type"];
    $fileSizeMB = ($_FILES["Filedata"]["size"] / 1024 / 1024);
    // Place file on server, into the images folder
    //move_uploaded_file($_FILES['Filedata']['tmp_name'], "../uploaded_photos/".$filename);
    $dynfolder=$_POST['dynfolder'];
mkdir($dynfolder, 0755, true);move_uploaded_file($_FILES['Filedata']['tmp_name'], "../uploaded_photos"."/".$dynfolder."/".$filename);.../uploaded_photos/photos1/1.jpg
}elseif($_POST['d']){
    $filename = $_POST['d'];
    $dynfolder=$_POST['dynfolder'];
mkdir($dynfolder, 0755, true);
$dFile=move_uploaded_file($_FILES['Filedata']['tmp_name'], "../uploaded_photos"."/".$dynfolder."/".$filename);//.../uploaded_photos/photos1/1.jpg
    unlink($dFile);
}
?>

我无法uploaded_photos文件夹中创建一个名为 photos1 的新文件夹...路径应该是.../uploaded_photos/photos1/1.jpg的,dynfolder:$("#storeloyaltyid").val(),//value is photo1,谁能说出代码有什么问题。

$('#uploadphotoz').Uploadify({
    ...
    'method': 'post',
    'formData': { 'dynfolder': $("#storeloyaltyid").val() },
    ...
});

试试这个:您可能需要将/../更改为../。我目前无法对此进行测试。

此外,您应该检查该目录是否存在以及文件上传是否成功。我不知道如果文件夹已经到位,PHP 会做什么。

<?php
$basepath = dirname(__FILE__);
if (!empty($_FILES)) {
    $filename = $_FILES['Filedata']['name'];
    $filetmpname = $_FILES['Filedata']['tmp_name'];
    $fileType = $_FILES["Filedata"]["type"];
    $fileSizeMB = ($_FILES["Filedata"]["size"] / 1024 / 1024);
    $dynfolder = $_POST['dynfolder'];
    mkdir($basepath.'/../'.$_POST['dynfolder'], 0755, true);
    move_uploaded_file($_FILES['Filedata']['tmp_name'], $basepath.'/../'.$_POST['dynfolder'].'/'.$filename);
}
?>

编辑:

Javascript的问题是你只是在名为dynfolder的对象中"编造"了一个变量。Uploadify有一个名为formData的设置。在此处传递变量。

例如:

[...]
height : 21,
width : 59,
auto : true,
formData : jQuery.parseJSON('{"dynfolder":"'+$("#storeloyaltyid").val()+'"}'),
[...]