2

对不起,如果我是多余的,但我已经尝试了我在这里和谷歌上找到的每一个例子:D

我想要做的是上传图片,在输入框中输入的内容将被发送到我插入的 uplodify.php。我的问题是,图片的名称已保存到 mysql,但在文本字段上输入的内容却没有。

你们能让我知道发生了什么事吗?

这是我的代码的一部分

'multi'                 : true,
'auto'                  : false,
'onUploadStart' : function(file) {
$("#file_upload").uploadify('settings', 'formData', {'galeria':  $('#galeria').val()});
}, 


<form id="form1" name="form1" action="">
  <p>
    <input type="file" id="file_upload" name="file_upload" />
    <br>
    <br>
    Galeria<br>
    <label>
      <input type="text" name="galeria" id="galeria">

上传文件

    $galeria = $_POST['galeria'];
    $regiao = $_POST['regiao'];

if (!empty($_FILES)) {
    $img      = $_FILES['Filedata']['name'];
    $ext      = substr($img, -4);
    $img      = md5($img).date("dmYHis").$ext;  
    $tempFile = $_FILES['Filedata']['tmp_name'];
     $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $img;


    $adicionar = mysql_query ("INSERT INTO imagens (foto, galeria, regiao) VALUES('$img','$galeria','$regiao')");

    // $fileTypes  = str_replace('*.','',$_REQUEST['fileext']);
    // $fileTypes  = str_replace(';','|',$fileTypes);
    // $typesArray = split('\|',$fileTypes);
    // $fileParts  = pathinfo($_FILES['Filedata']['name']);

    // if (in_array($fileParts['extension'],$typesArray)) {
        // Uncomment the following line if you want to make the directory if it doesn't exist
    //  mkdir(str_replace('//','/',$targetPath), 0755, true);

        move_uploaded_file($tempFile,$targetFile);
        echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
    // } else {
    //  echo 'Invalid file type.';
    // }
}
4

2 回答 2

0

尝试更改您的 onUploadStart 方法以扩展 uploadify formData 属性,如下所示:

onUploadStart: function ( file ) {
  var $fileUpload = $('#file_upload')
      , formData = $fileUpload.uploadify('settings', 'formData')
      , newFormData = $.extend({}, formData, { galeria: $('#galeria').val() });

      $fileUpload.uploadify('settings', 'formData', newFormData);
}
于 2012-12-11T05:38:14.663 回答
0

我终于成功了

这是我使用的代码

    $('#file_upload').attr('file_upload', response).show();
$.post("insert2.php",{name: fileObj.name, galeria: $("#galeria").val(), regiao: $("#regiao").val()}, function(info) {
alert(info); // alert UPLOADED FILE NAME
        });
    }
});

现在我有一个不同的问题,哈哈,它总是显示正确......

由于在 dabase 上保存文件的代码在 insert2.php 上,而重命名图片的代码在 uploadify.php 中。如何将新名称保存在数据库中,而不是我上传的文件名?

另一个问题....这是一种根据数据库中的图片生成缩略图的方法吗?

于 2012-12-21T19:40:00.007 回答