2012-06-06 15 views
7

en uploadify Cómo pasar los valores de entrada del usuario a uploadify.php aquí es mi código:cómo pasar valores personalizados en uploadify

  $(function() { 

    $('#file_upload').uploadify({ 
    'buttonText' : 'BROWSE...', 
    'method' : 'post', 
    'height' : 50, 
    'buttonCursor' : 'hand', 
    'fileSizeLimit' : '100KB', 
    'formData' : { 
    'title' :$('input:text[name:title]').val(), 
    'about' :$('input:text[name:about]').val() }, 
    'auto'  : false, 
    'swf'  : 'uploadify.swf', 
    'checkExisting' : 'check-exists.php', 
    'uploader' : 'uploadify.php', 
    'onUploadSuccess' : function(file, data, response) { 
    $("#message").css("display","block"); 
    $("#message").text("upload process completed successfully"); 
    setTimeout(function() { 
    $('#message').fadeOut('fast'); 
}, 5000); 
    }, 

    'onUploadError' : function(file, errorCode, errorMsg, errorString) { 
     alert('The file ' + file.name + ' could not be uploaded: ' + errorString); 
    } 
}); 



    }); 
    </script> 
    </head> 
<?php include("includes/connection.php");?> 
    <body> 
     <div id="page"> 
      <div id="header"> 
       <h1>Photogallery</h1> 
    <?php include("includes/navigation.php"); ?> 
      </div><!--header--> 

      <div id="content"> 

       <div id="left"> 

<div id="message"> 
</div> 
<?php 

?>  

<table> 
    <tr> 
     <td> 
      <P>Title:</P> 
     </td> 
     <td> 
      <input type="text" value="" name="title" id="idtitle" /> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <p>About:</p> 
     </td> 
     <td> 
      <p><input type="text" value="" name="about" /> </p> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      Select Photos you want to Upload 
     </td> 
     <td> 
      <input type="file" name="file_upload" id="file_upload" /> 
     </td> 
    </tr> 
</table>   


<a href="javascript:$('#file_upload').uploadify('cancel')">Cancel First File</a> | <a href="javascript:$('#file_upload').uploadify('cancel', '*')">Clear the Queue</a> | <a href="javascript:$('#file_upload').uploadify('upload', '*')">Upload the Files</a> 



       </div><!--left--> 

Aquí está mi archivo uplodify.php

<?php 
require_once("includes/connection.php"); 

$targetFolder = '/workbench/sudeepc/photogallery/uploads' ; 
    $title=$_POST['title']; 
    // $title="testtitle"; 
    $about=$_POST['about'];  
if (!empty($_FILES)) { 
    $tempFile = $_FILES['Filedata']['tmp_name']; 
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder; 
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name']; 

    // Validate the file type 
    $fileTypes = array('jpg','jpeg','gif','png'); // File extensions 
    $fileParts = pathinfo($_FILES['Filedata']['name']); 



    if (in_array($fileParts['extension'],$fileTypes)) { 
     move_uploaded_file($tempFile,$targetFile); 

$query="INSERT INTO `photo` (`id` , `path` , `uname` , `title` , `about` , `date`) 
VALUES ('','${targetFile}','uname','${title}','${about}',now())";  

/* 
$query="INSERT INTO `photo` (`id` , `path` , `uname`) 
VALUES ('','${targetFile}', '${title}');"; 
*/ 
mysql_query($query,$connection); 


    } else { 
     echo 'Invalid file type.'; 
    } 
} 
?> 

I desea pasar el título, así como también para cada carga, y cuando el usuario selecciona más de una imagen, el usuario puede ingresar el título y sobre cada uno. ¿Como puedo resolver este problema?

+2

Por favor, dejar de escribir nuevo código con el antiguo '' mysql_ * funciones. Ya no se mantienen y la comunidad ha comenzado el [proceso de desaprobación] (http://news.php.net/php.internals/53799). En su lugar debe aprender acerca de las declaraciones preparadas y utilice [DOP] (http://php.net/pdo) o [MySQLi] (http://php.net/mysqli). Si se preocupan de aprender, [aquí es un muy buen tutorial relacionados con DOP] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers). –

+0

ahora la entrada de la base de datos es nula. –

+0

¿hay alguna forma de imprimir esa consulta en el navegador? –

Respuesta

5
  1. Cómo pasar valores personalizados en uploadify:

'formData': { 'userid': $("#uid").val(), 'taskid': $("#tid").val(), 'guid': $("#guid").val() },

  1. ¿Hay alguna manera de obtener el número de la imagen en la cola de subida? - onDialogClose tiene acceso a la cola de esta manera:

'onDialogClose': function(queueData) { alert(queueData.filesQueued + ' files were queued of ' + queueData.filesSelected + ' selected files. There are ' + queueData.queueLength + ' total files in the queue.'); },

3

para pasar valores personalizados utilizan formData

A continuación, se puede acceder a él en PHP $_POST['someKey']

... 
'formData'         : { 
    'title' : $('input:text[name:title]').val(), 
    'about' : $('input:text[name:about]').val(), 
     ... 
    }, 
.. 

Para comprobar el número de archivos está cargando, añadir esta devolución de llamada:

... 
    onDialogClose : function() { 
     console.log(this.queueData.filesQueued); 
    }, 
    ... 
+0

'FormData': { 'título':. $ ('# Idtitle') val()}, cuando intento este valor nulo que estoy recibiendo en uploadify.php –

+0

Gracias esto funciona perfectamente. ¿Cómo resolver múltiples casos de carga? –

+0

¿hay alguna manera de conseguir el número de la imagen en queue.So carga que puedo mostrar el cuadro de texto del título y sobre el cuadro de texto para cada uno. –

Cuestiones relacionadas