2009-12-18 4 views
0

J'ai un site Web de petites annonces où les utilisateurs doivent remplir un formulaire afin de mettre une annonce. Le formulaire se compose de nom, mot de passe, catégorie, spécifications, etc., etc.Comment rendre les utilisateurs capables de télécharger des images dans un formulaire?

Maintenant, je dois ajouter une fonction de transfert d'image dans ce formulaire, qui doit comporter les éléments suivants:

1- Téléchargez jusqu'à 5 images. 2- Un 'supprimer le lien de l'image' sous chaque image si l'utilisateur veut une autre image à la place.

Comment voulez-vous faire cela?

Merci

meilleur serait s'il y avait un plugin ou quelque chose à Jquery qui est facile à modifier ...

+0

Si vous préférez sans jQuery: http://stackoverflow.com/questions/276400/multi-file-upload-with-php-javascript-and -pas de flash – martinr

Répondre

1

jQuery Multiple File Upload

Vous pouvez limiter le nombre de téléchargements en utilisant l'option max ou en passant un nombre comme seul paramètre. Plus d'informations sur l'onglet Exemples.

0

Si vous voulez télécharger comme un fichier à une base de données SQL, quelque chose comme ceci sous la forme (en format php echo):

echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"2000000\"> 
<input name=\"userfile\" type=\"file\" id=\"userfile\">"; 

Puis dans la page php de réception de votre formulaire mis quelque chose comme ça :

if ($_FILES['userfile']['size'] > 0) { 

    $fileName = $_FILES['userfile']['name']; 
    $tmpName = $_FILES['userfile']['tmp_name']; 
    $fileSize = $_FILES['userfile']['size']; 
    $fileType = $_FILES['userfile']['type']; 

    $fp  = fopen($tmpName, 'r'); 
    $content = fread($fp, filesize($tmpName)); 
    $content = addslashes($content); 
    fclose($fp); 

    if(!get_magic_quotes_gpc()) 
    { 
     $fileName = addslashes($fileName); 
    } 



    $query = "INSERT INTO files (name, size, type, content) VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; 

    mysql_query($query) or die('Error, query failed'); 


    $thisq = mysql_query("SELECT * FROM `files` WHERE 1 ORDER BY `id` DESC LIMIT 1"); 
    $fileidnumber= mysql_fetch_array($thisq); 

} 

qui va stocker le fichier dans une base de données, puis retourner la clé pour vous d'enregistrer ou d'utiliser comme vous le souhaitez. Vous pouvez ensuite créer une page pour télécharger les fichiers comme ceci:

<?php 
import_request_variables(gp); 

if(isset($_GET['id'])) { 
    // if id is set then get the file with the id from database 
    $id = $_GET['id']; 
    $query = "SELECT name, type, size, content " . 
      "FROM `files` WHERE id = '$id'"; 

    $result = mysql_query($query) or die('Error, query failed'); 
    list($name, $type, $size, $content) = mysql_fetch_array($result); 

    header("Content-length: $size"); 
    header("Content-type: $type"); 
    header("Content-Disposition: attachment; filename=$name"); 
    echo $content; 

    exit; 
} 

?> 
Questions connexes