Multi Upload PHP - A l'aide !!!!
LoFoF
-
LoFoF -
LoFoF -
Bonjour tous le monde,
j'ai un script php pour Uploader 2 fichiers images, la premiere image est envoyée sur le serveur, et la 2éme il ne se passe rien !
Voici le code :
Merci d'avance pour votre aide ! je commence à m'arracher les cheuveux, j'en ai plus beaucoup :( lol
j'ai un script php pour Uploader 2 fichiers images, la premiere image est envoyée sur le serveur, et la 2éme il ne se passe rien !
Voici le code :
function envoi_fichier($fichier, $dest)
{
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",500000);
define("DESTINATION_FOLDER", $dest);
$_accepted_extensions_ = "jpg";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES[$fichier];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES[$fichier]['error'] == 0){
$errStr = "0";
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "Fichier trop volumineux";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Extension non valide";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Dossier de destination non valide";
}
if(empty($errStr)){
if(move_uploaded_file($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
$errStr = "0";
}
$errStr = "0";
}
}
else{
$errStr = "Erreur envoi fichier temporaire - Fichier Temp = ".$_tmp_name_." Fichier Dest = ".DESTINATION_FOLDER . "/" . $_name_;
}
return $errStr;
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
}
$EnvoiImgMini = envoi_fichier('addArt_imgMini', '../images/photos/miniatures');
$EnvoiImgGD = envoi_fichier('addArt_imgGd', '../images/photos/grandes');
//Envoi du fichier image mini
if($EnvoiImgMini == '0'){ //Si ok image mini
//Envoi du fichier image grande
if($EnvoiImgGD == '0'){ //Si ok image grande
mysql_select_db($database_connect, $connect);
$Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
$insertGoTo = "add_product.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
else{ // Si Erreur image grande
$MiniFile = '../images/photos/miniatures/'.$_FILES['addArt_imgMini']['name'];
if(file_exists($MiniFile)) unlink($MiniFile);
$insertGoTo = "error_postProduct.php?type=grande&image=".$_FILES['addArt_imgGd']['name']."&erreur=".envoi_fichier('addArt_imgGd', '../images/photos/grandes/');
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
else{ // Si Erreur image mini
$insertGoTo = "error_postProduct.php?type=mini&image=".$_FILES['addArt_imgMini']['name']."&erreur=".envoi_fichier('addArt_imgMini', '../images/photos/miniatures/');
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
Merci d'avance pour votre aide ! je commence à m'arracher les cheuveux, j'en ai plus beaucoup :( lol
A voir également:
- Multi Upload PHP - A l'aide !!!!
- Upload video youtube - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Sfr multi - Accueil - Opérateurs & Forfaits
- Youtube multi downloader - Télécharger - Conversion & Codecs
- Expert php pinterest - Télécharger - Langages
1 réponse
Bonsoir,
il faudrait que tu mettes un echo pour voir si tu passes bien là:
et ce qui me surprend c'est cette ligne:
$insertGoTo = "error_postProduct.php?type=mini&image=".$_FILES['addArt_imgMini']['name']."&erreur=".envoi_fichier('addArt_imgMini', '../images/photos/miniatures/');
ou tu rappeles la fonction envoi_fichier pour avoir le message d'erreur si elle n'a pas marché ,
mets plutot:
&erreur=".$EnvoiImgMini
il faudrait que tu mettes un echo pour voir si tu passes bien là:
if($EnvoiImgMini == '0'){ //Si ok image mini
echo "Return de la fonction: "$EnvoiImgMini;
et ce qui me surprend c'est cette ligne:
$insertGoTo = "error_postProduct.php?type=mini&image=".$_FILES['addArt_imgMini']['name']."&erreur=".envoi_fichier('addArt_imgMini', '../images/photos/miniatures/');
ou tu rappeles la fonction envoi_fichier pour avoir le message d'erreur si elle n'a pas marché ,
mets plutot:
&erreur=".$EnvoiImgMini
Merci pour ton aide, j'ai appliqué les corrections que tu m'as indiqué, c'est vrai que ce n’était pas très logique ;)
J’ai trouvé la solution !
C’est le
define("DESTINATION_FOLDER", $dest);qui apparemment garde en mémoire le premier chemin passé sans l'écraser lorsque qu'on lui passe le 2éme au second appel de la fonctionMerci à toi et bonne soirée ;)