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 :wink:

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 :D 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 :D 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 ^^)