Habituellement, je simplifierais mon code pour cela, ou seulement montrer la partie qui me pose des problèmes. Mais dans ce cas, je n'ai aucune idée de ce qui ne va pas, donc j'ai collé le tout. Désolé. Ok, donc le script ci-dessous obtient des valeurs envoyées par ajax et les télécharge dans une base de données SQL. Après cela, il déplace une image d'un dossier dans un autre dossier.php move_uploaded_file ne fonctionne pas
Le script entier fonctionne correctement, fait ce qu'il est supposé faire, à l'exception du bit 'move_uploaded_file'. Donc, il fait correctement la partie sql, et tous les noms de session, modifications de chaînes, etc ... sont corrects.
J'ai renvoyé les noms des fichiers que le script produit et ils sont corrects. Les dossiers peuvent être lus + écrits aussi. Et le fichier en attente d'être déplacé est présent dans le dossier.
Qu'est-ce qui me manque? Pourquoi move_uploaded_file ne fonctionne pas? Merci d'avance à tous.
--changed move_uploaded_file() pour renommer(), toujours pas working--
<?php
session_start();
unset($_SESSION['reference']);
$name = $_GET['name'];
$category = $_GET['category'];
$subCategory = $_GET['subCategory'];
$date = $_GET['date'];
$address = $_GET['address'];
$city = $_GET['city'];
$state = $_GET['state'];
$host = $_GET['host'];
$info = $_GET['info'];
$adder = $_SESSION['user'];
//turn into array
$array = array();
$array[0]=$name;
$array[1]=$category;
$array[2]=$subCategory;
$array[3]=$date;
$array[4]=$address;
$array[5]=$city;
$array[6]=$state;
$array[7]=$host;
$array[9]=$info;
$array[11]=$adder;
try {
$con = new PDO('mysql:host=localhost;dbname=test');
//$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$refid=$con->prepare(" SELECT MAX(id) FROM createX ");
$refid->execute();
$id = $refid->fetchColumn();
$id=$id+1;
$newDate = str_replace('-', '', $date);
$reference = $id.$newDate;
$array[10]=$reference;
$array[8] = $_SESSION['imagePath'].$reference.'.'.$_SESSION['imageExt'];
$insert = $con->prepare(" INSERT INTO createX
(name,category,subCategory,date,address,city,state,host,imagePath,info,ref,adder)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?) ");
$insert->execute($array);
rename('../tempUploads/'.$_SESSION['imagePath'].$_SESSION['imageExt'] ,
'../uploads/'.$_SESSION['imagePath'].$reference.'.'.$_SESSION['imageExt']);
}
catch(PDOException $e) { //try
echo 'error';
//echo 'ERROR: ' . $e->getMessage();
}
$_SESSION['reference'] = $reference;
unset($array);
session_write_close();
?>
Le nom de fichier source doit provenir de '$ _FILES ['xxx'] ['tmp_name']'. – Barmar
le fichier est posté? – mehdi
hey, alors le fichier a été envoyé par la poste au fichier temporaire du serveur. Je l'ai ensuite déplacé une fois vers mon propre dossier temporaire (pas le dossier temporaire du serveur), donc je peux le voir. et maintenant je veux passer du dossier mytemp à un autre dossier, mon dossier de téléchargement de permant. – seamus