[Upload] probleme upload en ligne
La fonction upload fonctionne en local avec la version PHP 4.3.3 et SQL 4.0.15. Par contre aucun upload de fichiers images et aucun chemin inscrit dans la base de données en ligne. l'hébergeur utilise PHP 4.3.11 et MYSQL 3.23.58.
A quel niveau pourrait être l'incompatibilité ? La base de données réagit puisque none (cf message d'erreur) s'inscrit à la place du chemin fichier image.
La fonction upload est dans une classe.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| function transfere($logo,$repertoire,$chemin_absolu) {
$mimes = array("image/gif","image/pjpeg","image/jpeg","application/x-shockwave-flash");
//$this->msg["transfere"] .= "Il y a une erreur et ".$logo["name"];
if(isset($logo) && $logo != "none") {
if ($logo["size"]==0 || $logo["size"] > 20000000) {
$this->msg["transfere"] = $logo["name"]." est vide ou trop volumineux !";
}
elseif (!in_array($logo["type"],$mimes)) {
$this->msg["transfere"] = $logo["name"]." doit être au format jpeg ou gif";
}
elseif (!is_uploaded_file($logo["tmp_name"])) {
$this->msg["transfere"] = "Vous essayez de tromper le script de téléchargement !<BR>Votre IP a été loggée : ".$_SERVER["REMOTE_ADDR"];
}
elseif (is_file($upfile)) {
$this->msg["transfere"] = "Des images portant le même nom existent sur le serveur, vous devez renommer votre image...";
}
else {
$upfile = $repertoire."/".$logo["name"];
if ( !copy($logo["tmp_name"], $upfile)) {
$this->image_upload = "none";
$this->msg["transfere"] = "Impossible de télécharger l'image sur le serveur.";
}
else {
$this->image_upload = $chemin_absolu."/".$logo["name"];
$this->msg["transfere"] = "Photo uploadée avec succès !";
}
}
}
else {
$this->msg["transfere"] .= "Pas de photo uploadée...";
$this->image_upload = "none";
}
} |
Et dans le script php
Code:
1 2 3 4 5
| if(isset($_POST["modifier"]) && !empty($_POST["id"])) {
$admin->transfere($_FILES["images"],"../images/imagesdyn/labels","images/imagesdyn/labels");
$values = "titre='".$_POST["titre"]."'";
$admin->modifie("labels",$values,$_POST["id"]);
} |
Merci pour vos réponses
suite en deplaise à M. Bidouille
J'avais lu la FAQ , j'ai fait le test proposé
Code:
1 2
|
<html><body><?php$stock = 'mettre ici le chemin où on va stocker le fichier';if (move_uploaded_file($_FILES['userfile']['tmp_name'], $stock.$_FILES['userfile']['name'])){ echo "Le fichier ".$_FILES['userfile']['name']. " a été téléchargé avec succès dans ".$stock;}?></body></html> |
Le résultat est identique, ok sur ma machine, impossible chez l'hébergeur. J'obtiens toutes les infos sur l'image à uploader, le numero d'erreur est 0, donc pas d'erreur, le répertoire a les droits d'écriture , mais l'image ne se place pas dans le repertoire ni ailleurs.
Si la réponse est évidente, prenez le temps de me la donner, j'y suis depuis 2 jours. Merci