Page 1 sur 1
Erreur PHP Mkdir
Posté : 28 avr. 2010, 10:55
par InTheSkyTheSpirit
Bonjour à tous !
J'ai installé récemment un nouveau CMS pour mon site :
http://www.flopod.fr
Ce CMS possède une zone admin pour ajouter du contenu à deux rubriques du site.
Malheureusement, dès que j'essaye de créer un article, rien n'est créé ou alors je reçois ce message d'erreur :
Warning: mkdir() [function.mkdir]: File exists in /home/website/f/l/o/flo/blog/CMS/blog_add_process.php on line 28
Fatal error: Call to undefined function alert() in /home/website/f/l/o/flo/blog/CMS/blog_add_process.php on line 41
Que se passe-t-il ?
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 13:27
par InTheSkyTheSpirit
le script complet est ici :
<?
include('verify.php');
$title = $_POST['title'];
$bigline = $_POST['bigline'];
$text = $_POST['text'];
$categorie = $_POST['categorie'];
$categorie_name = $_POST['categorie_name'];
$author = $_POST['author'];
// Call for the name of categorie
$queryd = "SELECT * FROM $table_d WHERE id_cat=$categorie";
$resultd = mysql_query($queryd);
$mycat = @mysql_fetch_object($resultd);
$categorie_name = $mycat->categorie_name;
// LAST INCREMENTATION
$queryz = "SELECT last FROM $table_g";
$resultz = mysql_query($queryz);
$incr = @mysql_fetch_object($resultz);
$nrowss = $incr->last;
// NEW ID
$id= $nrowss+1;
umask(0000);
mkdir('../blog/'.$id.'', 0777);
// Folder blog + id of the new article
$uploadDir = '../blog/'.$id.'/';
// Image file data
$fileName = $_FILES['preview']['name'];
$tmpName = $_FILES['preview']['tmp_name'];
// File extension extraction
$ext = substr(strrchr($fileName, "."), 1);
// File extension verification
if ($ext != "jpg" ) {
echo alert("Only jpg file are accepted (extension .jpg) Thanks !");
exit;
}
// Generate random name
$randName = md5(rand() * time());
// Creation of path
$filePath = $uploadDir . $fileName;
$newfilename = $fileName;
// UPLOAD IMAGE
// If something wrong.... we stop ! or we upload.
$result = move_uploaded_file($tmpName, $filePath);
if (!$result) {
echo "Error during upload... Please read the help doc.";
exit;
}
$date_post = date("Y-m-d H:i:s");
$insert = mysql_query("INSERT INTO $table_b
(
title,
bigline,
text,
preview,
categorie,
categorie_name,
author,
date_post
)
VALUES
(
'$title',
'$bigline',
'$text',
'$newfilename',
'$categorie',
'$categorie_name',
'$author',
'$date_post'
)") or die(mysql_error());
if(!$insert) echo alert("Error during insert...");
$update = mysql_query("UPDATE $table_g SET last='$id'");
if(!$update) echo alert("Error during update...");
header("location:update_rss.php");
?>
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 13:39
par stealth35
hello, tu comprends pas : File exists ?
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 14:09
par InTheSkyTheSpirit
oui le fichier existe déjà. Un dossier vide est créé. Techniquement, il devrait y avoir les données de l'article créé dedans, mais il n'y a rien puisque l'erreur bloque tout.
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 14:14
par stealth35
oui le fichier existe déjà. Un dossier vide est créé. Techniquement, il devrait y avoir les données de l'article créé dedans, mais il n'y a rien puisque l'erreur bloque tout.
faut que tu testes avant si le dossier existe, si il existe pas a ce moment la tu le crées

Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 14:39
par InTheSkyTheSpirit
j'ai essayé les deux, que le dossier existe ou pas, il y a une erreur.
Quand le dossier est créé, j'ai l'erreur précédente et quand il n'y a pas de dossier j'ai ça :
Fatal error: Call to undefined function alert() in /home/website/f/l/o/flo/blog/CMS/blog_add_process.php on line 41
Dans les deux cas, au final, il y a un dossier vide.
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 14:40
par stealth35
elle sort d'où ta fonction alert, elle est définie nul part
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 15:04
par InTheSkyTheSpirit
Je ne suis pas l'auteur du code et qui plus est je ne connais pas le php

J'essaye de comprendre.
Cette fonction serait en cause ? je la vois trois fois dans le fichier.
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 15:09
par stealth35
Je ne suis pas l'auteur du code et qui plus est je ne connais pas le php

J'essaye de comprendre.
Cette fonction serait en cause ? je la vois trois fois dans le fichier.
ouais si elle existe pas ca va pas marcher, donc supprime la au lieu de faire
echo alert("Only jpg file are accepted (extension .jpg) Thanks !");
//tu fais
echo "Only jpg file are accepted (extension .jpg) Thanks !";
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 15:22
par telnes
hello
tu peux mettre un @ devant le mkdir pour éviter le warning si le répertoire existe déjà.
++
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 15:25
par stealth35
hello
tu peux mettre un @ devant le mkdir pour éviter le warning si le répertoire existe déjà.
++
lui conseil pas ca
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 15:52
par InTheSkyTheSpirit
Eh ben maintenant, logique, il me dit d'abord ça :
Only jpg file are accepted (extension .jpg) Thanks !
puis un dossier vide est créé puis, deuxième essai :
Warning: mkdir() [function.mkdir]: File exists in /home/website/f/l/o/flo/blog/CMS/blog_add_process.php on line 28
Only jpg file are accepted (extension .jpg) Thanks !
Ce qui est bizarre, c'est que je n'envoie que du texte, pas d'image...fin y a deux problèmes en même temps il me semble là.
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 16:58
par stealth35
déjà pour ton problème de dossier utilise
file_exists
Re: Erreur PHP Mkdir
Posté : 28 avr. 2010, 17:54
par InTheSkyTheSpirit
Peux-tu me dire ce que je dois ajouter au code et où dans le code (j'y connais rien ^^)