Bon bah j'ai résouds seul mon problème.
Ca pourrait faire office de tuto video hein grafikart :P
Il fallait enlever une verification php (sur le isset($_POST'image_ok']) et aussi quelques fonction JS
Le php:
<?php
if(!empty($_FILES'image']'name'])){
$name = htmlspecialchars($_FILES'image']'name']);
$temp = htmlspecialchars($_FILES'image']'tmp_name']);
$repertoire = '../images/';
$format = array('png','gif','jpg','jpeg');
$extension = strtolower(substr(strrchr($_FILES'image']'name'], '.'),1));
if(in_array($extension, $format)){ // Si le format est correcte
$caractere_speciaux = array(
'é' => 'e',
'è' => 'e',
'ê' => 'e',
'ë' => 'e',
'à' => 'a',
'â' => 'a',
'ä' => 'a',
'ù' => 'u',
'ô' => 'o',
'ö' => 'o',
'ì' => 'i',
' ' => '-',
'ç' => 'c'
);
foreach($caractere_speciaux AS $c =>$v){
$nom = str_replace($c,$v,$name);
}
while(file_exists($repertoire.$nom)){
// On renomme le fichier
$nom = rand(0,100).$nom;
}
// On deplace le fichier dans le bon répertoire
$resultat = move_uploaded_file($_FILES'image']'tmp_name'],$repertoire.$nom);
if ($resultat){
$status = 'ok';
$texte = 'projet/'.$repertoire.$nom;
}else{
$status = 'erreur';
$texte = "Le fichier ne s'est pas uploadé correctement";
}
}else{
$status = 'erreur';
$texte = "Le format est incorrect";
}
// On affiche le JSON
$donnees = array('status'=>$status,'texte'=>$texte);
echo json_encode($donnees);
}else{
$status = 'erreur';
$texte = "Vous n'avez rien envoyé";
$donnees = array('status'=>$status,'texte'=>$texte);
echo json_encode($donnees);
}
?>
Et le JS :
$(document).ready(function() {
var options = {
target : '#form',
url:"projet/ajax.php",
dataType : 'json',
beforeSubmit: showRequest,
success: showResponse
};
function showRequest(){
var progress = '<div class="progress"></div>';
$('#form').html($('#form').html()+progress);
return true;
}
function showResponse(data){
if(data.status == 'erreur'){
}else{
$('#form').hide();
var content = '<img class="img" src="'+data.texte+'" />';
$('#admin').html(content+$('#admin').html());
$('#form2').html('<input type="hidden" name="image" value="'+data.texte+'" />'+$('#form2').html());
}
}
$('#form').submit(function(){
$(this).ajaxSubmit(options);
return false;
})
});