Uploader meme si le champ est vide

Fermé
Kamster - 13 déc. 2007 à 10:39
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 - 14 déc. 2007 à 10:08
Bonjour,

J'ai le code d'upload suivant qui marche parfaitement pour un site de petites annonces.

Mais mon probleme est que le formulaire ne reagit pas au moment de valider SI le champ du fichier est vide. (quand on ne selectionne aucun fichier).

Mon souhait et d'envoyer quand meme les autres autres données du formulaire MEME SI le champ file est vide. Ou mieux, est-ce possible de definir une valeur par defaut pour le champ file (nopicture.gif - par exemple) qui remplacera le fichier au cas l'internaute ne selectionne aucun fichier ?

Je sais que le probleme se situe a ce niveau, mais je n'arrive pas a resoudre le probleme : if(!empty($HTTP_POST_FILES['photo'])) {

//// MON CODE /////

<?php require_once('Connections/maconnexion.php'); ?>
<?php
// ---------------------------------------------
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",300000);
define("DESTINATION_FOLDER", "./photos");
define("no_error", "annonceOK.php");
define("yes_error", "=erreur.php");
$_accepted_extensions_ = "gif,jpg,jpeg,png";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
/* Mon proble se situerait ici */
if(!empty($HTTP_POST_FILES['photo'])){
if(is_uploaded_file($HTTP_POST_FILES['photo']['tmp_name']) && $HTTP_POST_FILES['photo']['error'] == 0){
$_file_ = $HTTP_POST_FILES['photo'];
$errStr = "";
$id_user = $_POST['id_user'];
$categorie = $_POST['categorie'];
$etat = $_POST['etat'];
$titre = $_POST['titre'];
$prix = $_POST['prix'];
$details = $_POST['details'];
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "File troppo pesante";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Extesion non valide";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Fichier de destination invalide";
}
if(empty($errStr)){
if(@move_uploaded_file($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){header("Location: " . no_error);

mysql_select_db($database_vetements, $connexion);
$insertAnnonce = "INSERT INTO matable (id_user, categorie, etat, titre, prix, details, photo )
VALUES ('$id_user', '$categorie', '$etat', '$titre', 'prix', 'details', '$_name_')";
mysql_query($insertAnnonce, $connexion)
or die(mysql_error());

} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
}
?>



/// FIN ////

Meci pour votre aide.

5 réponses

phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 178
13 déc. 2007 à 17:05
est-ce possible de definir une valeur par defaut pour le champ file (nopicture.gif - par exemple) qui remplacera le fichier au cas l'internaute ne selectionne aucun fichier ?

Bien sur. Pourquoi tu demandes. C'est fait en 5 secondes.
0
Ok, merci Phil pour votre approche. Est-il possible que vous me montriez comment faire ?
Merci pour votre assistance.
0
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 178
13 déc. 2007 à 18:00
<input type="text" value="HereIsMyDefaultValueWhichIsReallyNotTooDifficultToRealise" />
0
Merci Phil, mais j'avais essayer cette option avant et ca n'avait pas marcher. Semble t-il que la valeur par defaut ne marche pas avec les champs de type files. Cela marche avec seulement les champs texte, textarea, select et radio.
Merci si tu as d'autres solutions.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 178
14 déc. 2007 à 10:08
30 secondes google :

<INPUT TYPE="file" NAME="oFile1"/>
0