Erreur php

Abonnés74 -  
 Abonnés74 -
Bonjour,

J'ai un souci avec un code que j'arrive pas a résoudre :/

monde code :

// Verification de la taille 1mb max
if( $avatar['size'] < (1024*300)) {
// recuperation de l'extension du fichier envoyer
$extension = substr($avatar['name'],strlen($avatar['name'])-3);
// si l'extension est jpg
if( $extension == 'jpg' || $extension == 'gif' || $extension == 'png' || $extension == 'bmp') {
$ext = $extension;
// debut de la creation d'un nom de fichier adapter du genre avatar[identifiant unique]
mt_srand(time());
// Construction du nouveau nom
if( $_SESSION['avatar']=='photo_sans.jpg' || empty($_SESSION['avatar'])) {
$avatar_newname ='avatar['.substr(mt_rand(),0,8).'].'.$ext;
} else {
$avatar_newname = $_SESSION['avatar'];
}
// si le fichier a bien été uploader donc pas besoin de traiter ce cas
if( move_uploaded_file($avatar['tmp_name'],ROOT.$cfg['avatars'].$avatar_newname) ) {
if(redimImage(ROOT.$cfg['avatars'].$avatar_newname,ROOT.$cfg['avatars'].$avatar_newname,100, 80)) {
$sql .=($prec == 1)?" ,avatar='".$avatar_newname."' ":" avatar='".$avatar_newname."'";
$avatarSet = true;
}
} else {
$_SESSION['error2'] = 'Une erreur s\'est produite lors de la tentative d\'upload de votre fichier veuillez réessayer';
}

Mon problème se trouve sur cette ligne :

if(redimImage(ROOT.$cfg['avatars'].$avatar_newname,ROOT.$cfg['avatars'].$avatar_newname,100, 80)) {
son erreur :

Fatal error: Call to undefined function redimImage() in /home/login/www/zone/membres/modifier.php on line 117

Du fait je peut pas uploader une image (photo) au format jpg ou autre

Cordialement,

8 réponses

Utilisateur anonyme
 
Bonsoir

Comme le dit le message, la fonction redimImage() n'est pas définie.
Alors il faut la définir.
Je suppose que tu as recopié ce code de quelque part, il fallait aussi recopier cette fonction ou le petit "include" qui la contenait.
0
Abonnés74
 
Bonjour Le père,
Merci de la réponse.
Non c'est pas un code copier coller.
En faite c'est un code qui à était crée y a 2 ans environ.
Depuis j'essaie de mettre à jour car c'est un ami qui l'avait créer et qui fonctionner sur mon ancien serveur.
Depuis que j'ai changer de serveur ça déconne dans tout les cotés du coup prise de tête depuis 2 semaines à tout regardé testé et réparer.

Cordialement Stéphane,
0
Utilisateur anonyme
 
Tu as changé de serveur ? Alors tu n'as peut-être pas tout recopié.
as-tu quelques notions de php ? Puisque cette fonction n'est pas définie dans ce fichier (sinon elle ne serait pas inconnue) elle l'était probablement dans un fichier qui était là avant et qui manque maintenant.
As-tu touché au source du script ?
As-tu vérifié que tous les fichiers appelés par des "include" ou des "require" étaient présents ?
0
Abonnés74
 
Je pense qu'il manque certain fichier.
Car je retrouve pas certain fichier .php

Sinon j'ai que des bases en php vraiment le minimum.

Pour includ et require je vais faire le tour des tout car j'ai pas pensé a vérifier.

Sinon faut que je trouve une solution car c'est pas la seule erreur a corriger :/

Cordialement,
0

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

Posez votre question
Abonnés74
 
Bon après avoir recherche tout les includ et require dans tout les fichier un par un il semble qu'il manque rien.

par contre un lien méne sur le lien affichage.php et un autre sur notif.php

Notif.php c'est pour envoyer des mails de notification par exemple pour signaler la modification du compte d'un membre.

et affichage.php c'est pour afficher tout les news (aucun bouton ou lien ou autre dans mes dossiers)

Cordialement,
0
Abonnés74
 
Bonjour,
je fait suite a mon erreur j'avance mais sans résoudre mon problème.

Du coup après avoir passé presque toute la nuit a cherché, j'ai enfin trouvé ou se trouve redimImage par contre quand je mais include ROOT.'inc/func.php'; dans mon fichier upload.php j'obtiens cette erreur :

Fatal error: Cannot redeclare correctdate() (previously declared in

Mon code func.php

/**
* @desc : Fonction qui permet de redimentionner une image
* @params : String source, String destination, Int Wmax, Int Hmax
* @return : bool;
**/
function redimImage($source,$destination,$Wmax, $Hmax) {
// recuperation des dimensions de l image Src
$size = getimagesize($source);
$W = $size[0]; // largeur
$H = $size[1]; // hauteur
// Calcul du ratio
$ratiox = $W / $Wmax; // ratio en largeur
$ratioy = $H / $Hmax; // ratio en hauteur
$ratio = max($ratiox,$ratioy); // le plus grand
$W = $W/$ratio;
$H = $H/$ratio;
//Creation de la ressource source suivant l'extension
$Src = imagecreatefromjpeg($source);
// Creation de la ressource destination suivant l'extension
$Dest = imagecreatetruecolor($W,$H);
// REDIMENSIONNEMENT+COPIE
imagecopyresampled($Dest, $Src, 0, 0, 0, 0, $W, $H, $size[0], $size[1]);
// ENREGISTREMENT
imagejpeg ($Dest,$destination);
// liberation des ressources-image
imagedestroy ($Src);
imagedestroy ($Dest);
// si le fichier a bien ete cree
if( file_exists($destination)) {
return true;
} else {
return false;
}
}

et ici la ligne qui se trouve dans le dossier /www/zone/espacemembre/update.php

if( isset($_FILES['avatar']) && !empty($_FILES['avatar']['name'])) {
$avatar = $_FILES['avatar'];
// Verification de la taille 1mb max
if( $avatar['size'] < (1024*300)) {
// recuperation de l'extension du fichier envoyer
$extension = substr($avatar['name'],strlen($avatar['name'])-3);
// si l'extension est jpg
if( $extension == 'jpg') {
$ext = $extension;
// debut de la creation d'un nom de fichier adapter du genre avatar[identifiant unique]
mt_srand(time());
// Construction du nouveau nom
if( $_POST['avatar2']=='photo_sans.jpg' || empty($_POST['avatar2'])) {
$avatar_newname ='avatar['.substr(mt_rand(),0,8).'].'.$ext;
} else {
$avatar_newname = $_POST['avatar2'];
}
// si le fichier a bien été uploader donc pas besoin de traiter ce cas
if( move_uploaded_file($avatar['tmp_name'],ROOT.$cfg['avatars'].$avatar_newname) ) {
if( redimImage(ROOT.$cfg['avatars'].$avatar_newname,ROOT.$cfg['avatars'].$avatar_newname,100, 80) ) {

}
} else {
$error['avatar'] = 'Une erreur s\'est produite lors de la tentative d\'upload de votre fichier veuillez réessayer'; $valid = false;
}
// extension non permise seul le format JGEP est permis pour cause d'optimisation
} else {
$error['avatar']= 'Seul le format JPEG est accepté';
$valid = false;
}
} else {
$error['avatar'] = 'La taille maximal de votre photos ne doit exceder 300 ko';
$valid = false;
}
} else {
$avatar_newname = $_POST['avatar2'];
}

Du coup je c'est vraiment pas quoi faire et surtout comment résoudre mon souci

Cordialement,
0
Utilisateur anonyme
 
Il est possible que l'include apparaisse plusieurs fois.
Si c'est le cas, il vaut mieux faire un include_once.

Mais je ne comprends pas pourquoi tu as besoin de faire ça. Ça n'a jamais pu marcher sans cette fonction. Elle n'a pas disparu par une simple recopie du site.
T'étais-tu contenté de recopier simplement les fichiers, ou avais-tu 'bricolé' un peu ?
0
Abonnés74
 
Bonjour,
Comme j'aime bien qu'on m'aide j'aime bien aussi donner les solutions sa peut aidé.

Du coup mon code et bon sauf dans le fichier javascript (Func.php)

j'ai repris le code depuis le début et je me suis aperçus qu'il y avais 1 } absent en bas de mon fichier et 1 } en trop entre function getpubString($time) { et function redimImage($source,$destination,$Wmax, $Hmax) {.

Du coup plus d'erreur sauf que chaque upload d'une nouvelle image tout les membre on la même ou elle apparait noir :/

Cordialement Stéphane,
0