Uploader meme si le champ est vide

Kamster -  
phil232 Messages postés 610 Statut Membre -
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 610 Statut Membre 178
 
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
Kamster
 
Ok, merci Phil pour votre approche. Est-il possible que vous me montriez comment faire ?
Merci pour votre assistance.
0
phil232 Messages postés 610 Statut Membre 178
 
<input type="text" value="HereIsMyDefaultValueWhichIsReallyNotTooDifficultToRealise" />
0
Kamster
 
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 610 Statut Membre 178
 
30 secondes google :

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