désole méme avec le code corrigé on a le méme probléme:
qudn j'upload tout va bien
mais une fois l'image supprimé, et que je veux re-uploader, bah il affiche l'rreur sur le unlink, mais il effectue quand méme l'opétaion
je vous donne tout mes codes afin de bien tésté
*le nom ma base est "diapo"
-le code sql des table
-- phpMyAdmin SQL Dump
-- version 3.1.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mar 21 Juin 2011 à 12:49
-- Version du serveur: 5.1.30
-- Version de PHP: 5.2.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Base de données: `diapo`
--
-- --------------------------------------------------------
--
-- Structure de la table `images`
--
CREATE TABLE IF NOT EXISTS `images` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`lienimage` varchar(100) NOT NULL,
`url` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=102 ;
--
-- Contenu de la table `images`
--
INSERT INTO `images` (`id`, `lienimage`, `url`) VALUES
(101, 'images/min/coca.jpg', 'http://www.cocacola.com'),
(100, 'images/min/fanta.jpg', 'http://www.fanta.com');
- ma classe pour creer les miniatures"imgClass.php"
<?php
class Img{
static function creerMin($img,$chemin,$nom,$mlargeur=653,$mhauteur=370){
// On supprime l'extension du nom
$nom = substr($nom,0,-4);
// On récupère les dimensions de l'image
$dimension=getimagesize($img);
// On cré une image à partir du fichier récup
if(substr(strtolower($img),-4)==".jpg"){$image = imagecreatefromjpeg($img); }
else if(substr(strtolower($img),-4)==".png"){$image = imagecreatefrompng($img); }
else if(substr(strtolower($img),-4)==".gif"){$image = imagecreatefromgif($img); }
// L'image ne peut etre redimensionne
else{return false; }
// Création des miniatures
// On cré une image vide de la largeur et hauteur voulue
$miniature =imagecreatetruecolor ($mlargeur,$mhauteur);
// On va gérer la position et le redimensionnement de la grande image
if($dimension[0]>($mlargeur/$mhauteur)*$dimension[1] ){ $dimY=$mhauteur; $dimX=$mhauteur*$dimension[0]/$dimension[1]; $decalX=-($dimX-$mlargeur)/2; $decalY=0;}
if($dimension[0]<($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mlargeur*$dimension[1]/$dimension[0]; $decalY=-($dimY-$mhauteur)/2; $decalX=0;}
if($dimension[0]==($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mhauteur; $decalX=0; $decalY=0;}
// on modifie l'image crée en y plaçant la grande image redimensionné et décalée
imagecopyresampled($miniature,$image,$decalX,$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]);
unlink($img);
// On sauvegarde le tout
if (imagejpeg($miniature,$chemin."/".$nom.".jpg",90)) {
return $chemin."/".$nom.".jpg";
}
else return false;
}
}
?>
-ma page "admin.php"que vous bavez corriger
<?php
include('params.inc.php');
function up_error($code,$nom) {
$valid = false;
switch ($code) {
case '0' : $erreur = 'Pas d\'erreur';$valid = true;break;
case '1' : $erreur = 'Votre fichier `'.$nom.'` dépasse la taille maximale d\'upload autorisée par PHP( '.get_cfg_var('upload_max_filesize').' )'; break;
case '2' : $erreur = 'Votre fichier dépasse la taille maximale demandée par le Webmestre';break;
case '3' : $erreur = 'Le fichier n\'a pas été totalement uploadé !!!';break;
case '4' : $erreur = 'Aucun fichier téléchargé !!!';break;
default : $erreur = 'L\'upload a rencontré une erreur inconnue !!!'; break;
}
$return[] = $valid;
$return[] = $erreur;
return $return;
}
$connect=mysql_connect(MYHOST,MYUSER,MYPASS) or die ('erreur de connexion');
mysql_select_db(MYDB) or die ('erreur de connexion à la base');
if(!empty($_FILES['img'])){
//print_r($_FILES);
require("imgClass.php");
if ($_FILES['img']['error'] === 0) {
$img = $_FILES['img'];
$ext = strtolower(substr($img['name'],-3));
$allow_ext = array("jpg",'png','gif');
if(in_array($ext,$allow_ext)){
if (move_uploaded_file($img['tmp_name'],"images/".$img['name'])) {
$nom_image = Img::creerMin("images/".$img['name'],"images/min",$img['name'],653,370);
if ($nom_image !== false){
$requeteinsert = 'INSERT INTO images(lienimage,url) VALUES(\''.$nom_image.'\',\''.mysql_real_escape_string($_POST['url']).'\')';
$result = mysql_query($requeteinsert,$connect);
}
}
else {
$x = up_error($_FILES['img']['error'], $_FILES['img']['name']);
$erreur = 'Le fichier a pas était uploadée '.$x[1];
}
}
else
{
echo 'type fichier pas bon<hr />';
}
}
else {
$x = up_error($_FILES['img']['error'], $_FILES['img']['name']);
if ($x[0] === false){
$erreur = '<p style="border:1px solid red; color:red;">Erreur lors de l\'upload : '.$x[1].'</p>';
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/admin.css" type="text/css" media="screen, projection" />
</head>
<body>
<?php
if(isset($erreur)){
echo $erreur;
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<fieldset>
<legend>Ajout d'une image</legend>
<label for="image1">Image</label>
<input type="file" name="img"/>
<input type="text" id="url" name="url" value="http://"/>
<label for="image1">url du site web</label>
<button type="submit">Uploader</button>
</fieldset>
</form>
<table summary="Liste des images de la galerie">
<caption>Liste des images</caption>
<tr>
<th>Nom</th>
<th>site web</th>
<th>Supprimer</th>
</tr>
<?php
$dir = pathinfo(__FILE__,PATHINFO_DIRNAME);
if(!empty($_GET['sup']) && is_numeric($_GET['sup'])){
$requeteselect = 'SELECT lienimage FROM images WHERE id=\''.mysql_real_escape_string($_GET['sup']).'\'';
$result = mysql_query($requeteselect, $connect);
if (mysql_num_rows($result) === 1 ){
$image_courante = mysql_fetch_array($result,MYSQL_ASSOC);
if (unlink($dir.DIRECTORY_SEPARATOR.$image_courante['lienimage'])) {
//unlink('images/'.$image_courante['lienimage']);
$requetesup = 'DELETE FROM images WHERE id=\''.mysql_real_escape_string($_GET['sup']).'\'';
$result = mysql_query($requetesup, $connect);
}
mysql_free_result($result);
}
else {
// erreur soit zéro soit plus d'un tuples.
echo 'le fichier existe pas <img src="./images/smilies/icon_wink.gif" alt=";)" title="Wink" /><hr />';
}
}
$requeteselect = 'SELECT id,lienimage,url FROM images';
$result = mysql_query($requeteselect, $connect);
while($image_courante = mysql_fetch_array($result,MYSQL_ASSOC)){
echo '<tr>
<td>'.$image_courante['lienimage'].'</td>
<td>'.stripslashes($image_courante['url']).'</td>
<td><a href="?sup='.$image_courante['id'].'">Supprimer</a></td>
</tr>';
}
mysql_free_result($result);
mysql_close($connect);
?>
</table>
</body>
</html>
et mon script de connexion à la base"params.inc.php"
<?php
define("MYHOST","localhost");
define("MYUSER","root");
define("MYPASS","");
define("MYDB","diapo");
?>
et le css "admin.css"
form{
width:500px;
margin:auto;
background-color:#e5e5e5;
border-radius:1em;
-moz-border-radius:1em;
}
form *{
font-size:1.0em;
font-family:georgia;
}
form fieldset{
border:none;
}
form legend{
font-size:2em;
color:#777;
margin-top:0.3em;
}
form label{
display:block;
float:left;
width:150px;
text-align:right;
}
form input, form select, form textarea{
width:300px;
margin-bottom: 1em;
margin-left:0.5em;
}
form button{
position:relative;
left:160px;
}
table{
width:50%;
margin:auto;
}
table caption{
font-size:2em;
color:#777;
}
table th{
background-color:#ddd;
border:none;
}
.style1{
position:relative;
left:770px;
}
.style2{
position:relative;
left:240px;
voila la je pense que vous avez tout, et essayer d'uploader un fichier, vous allez constater que tout fonctionne bien, mais une fois vous le supprimer, et que vous essayer d'uploader un autre donc vous auriez l'errreur
et je vous remercie beaucoup pour votre aide^^