photo ne veux pas se mettre dans ma page - PHP - Programmation
Marsh Posté le 09-09-2014 à 16:55:45
C'est quand même clair : la fonction getimagesize() n'a pas réussi à ouvrir le fichier mentionné ligne 1776 du script situé à /var/www/legtux.org/users/monsite/modules/membre/function.inc.php
Le fichier/répertoire en question est $_FILES[$IAvt]['name']. Effectivement, ça risque aps de marcher, car tu ne précsie pas le chemin d'accès complet, $_FILES[$IAvt]['name'] ne contenant que le nom du fichier. D'ailleurs, en faisant un print_r($_FILES), tu vas vite comprendre que tu ne peux pas traiter cette variable comme ça. Quand on upload un fichier, généralement, il va dans le répertoire /tmp/ du serveur (voir le php.ini pour savoir où les upload se font). Au passage, faut vérifier que le user que php utilise pour accéder aux système de fichier a bien les droits en écriture sur ce répertoire /tmp/.
Marsh Posté le 09-09-2014 à 17:23:23
j'ai mis un print mais ca n'affiche une page blanche
et urll des avatars : avatar/avatar_membres/
Marsh Posté le 09-09-2014 à 17:32:50
Sauf que lorsque tu fais l'upload, le fichier est stocké temporairement dans /tmp/ en général. A toi, dans ton script d'upload, de déplacer le fichier dans son répertoire définitif. Et j'ai pas l'impression que tu le fais, d'où ton pb
Marsh Posté le 09-09-2014 à 17:40:00
je te croit mais pk ds le code avatar/avatar_membres/" . $avatarName ;
donc bon dossier si c pas le bon
Marsh Posté le 09-09-2014 à 18:02:18
Code :
|
Le fichier est bien move vers la destination finale. Donc le problème est antécédent, probablement un mauvais paramétrage du fichier de stockage temporaire.
Marsh Posté le 09-09-2014 à 18:04:53
merci, j'ai compris que mon dossier n'est pas bon mais vous avez pas une solution modifier ca par un autre code pour tester
Marsh Posté le 09-09-2014 à 20:53:05
Commence par vérifier ton php.ini, ce doit être là dedans je pense.
Marsh Posté le 09-09-2014 à 22:07:18
j'ai changer ligne 59
$temp = $_FILES[$IAvt]['tmp_name'];
par
$temp = $_FILES[$IAvt]['name'];
là je prends une photo donc il aparait bien sur tout les pages enfin pas tous je ne sais pas pour quoi
et j'ai choisit une autre photo juste pour tester il la mets pas juste une photo et pas d'autre
et la ligne 13 j'ai mis
echo '<div class="photo_upload">';
$target = "avatar/avatar_membres/" . $avatarName ;
echo '</div>';
afin de fixer une taile minimum mais ca ne fonctione pas
merci
Marsh Posté le 09-09-2014 à 16:13:39
Bonjours, je vien de vous voir j'ai un soucy avec mon code avatar, quand je met une photo il me dit votre avatar a été ajouté sucée
mais il ne met pas dans mon profil ni ans le serveur et ni dans la base sql
et pour temps il mets
Warning: getimagesize(images.jpg): failed to open stream: No such file or directory in /var/www/legtux.org/users/monsite/modules/membre/function.inc.php on line 1776
Votre avatar � �t� chang� avec succ�es
là il met votre avatar été changé avec succée mais il se met pas dans ma page
voilà le code :
<?php
/*AUTH(membre,false,true);*/
if(isset($_GET['mid']) && id2level($_SESSION['id'])==ADMIN && (!isset($_GET['admincp']) || $_GET['admincp']!=tokenAdmin()))
redirect('Vous n\'avez pas le droit d\'accéder ici', "/" );
else if(isset($_GET['mid']) && id2level($_SESSION['id'])==ADMIN && (isset($_GET['admincp']) || $_GET['admincp']==tokenAdmin())){
$getMid = intval($_GET['mid']);
}
echo '<a name="avtChangerCenter"></a>';
$mid = (!isset($getMid) ? $_SESSION['id'] : intval($getMid));
$mid = (empty($mid)) ? 0 : $mid;
$query = $pdo->prepare("SELECT * FROM forum_membres WHERE membre_id=?" );
$query->execute(array($mid));
if($query->rowCount() > 0){
if(isset($_POST['send'])){
$status = UpdateAvatarById($mid,'avatar');
if(array_key_exists("ERROR",$status)){
if($status["ERROR"] == null)
echo "Votre avatar à été changé avec succées";
else
echo "Une ou des erreur(s) s'est/se sont produite(s) : " . $status["ERROR"] . "<a href=\"".$_SERVER['REQUEST_URI']."?nocache=".rand(1000,95000)."#avtChangerCenter\">Retour au formulaire</a>";
}
}else{
echo '<form action="'.preg_replace("#\?nocache=([0-9]+)#","",$_SERVER['REQUEST_URI']).'#avtChangerCenter" method="post" enctype="multipart/form-data">
<div class="cadre_avatar_change_photo">'. GetAvatarById($mid['membre_id'],"avatar_forum_index_topic avatar_membre" ) . '</div>';
?>
<?php
echo '<input type="file" name="avatar" />
<br /><br />
<label></label><input type="submit" name="send" value="Changer" />
</form>';
}
}else{
//CODE 0x77 Membre not found
redirect("Problème technique, code 0x" . ord("MDLMEMBRENOTFOUND" ));
}
?>
et la fonction
ligne de la notice
$avatarSize = getimagesize($_FILES[$IAvt]['name']);
merci de vote aide