Bonjour ,
J'assaye de faire fonctionner un upload de ma page HTML hébergée par OVH en PHP.
Cependant, rien ne fonctionne.
J'ai un hébergement PRO 2014.
Que faire ?
Bonjour ,
J'assaye de faire fonctionner un upload de ma page HTML hébergée par OVH en PHP.
Cependant, rien ne fonctionne.
J'ai un hébergement PRO 2014.
Que faire ?
montrez nous le code html du formulaire et le code php.
Le code html n'est qu'un simple formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 <?php function upLoad ($informations) { $nom = $informations["name"]; $type_mime = $informations["type"]; $taille = $informations["size"]; $fichier_temporaire = $informations["tmp_name"]; $code_erreur = $informations["error"]; switch ($code_erreur) { case UPLOAD_ERR_OK : $command = "mkdir -m 0777"." ".NOM_REPERTOIRE_IMAGE; passthru($command); $destination = NOM_REPERTOIRE_IMAGE.$nom; //echo ($destination);exit(0); if (copy($fichier_temporaire,$destination)) { chmod (NOM_REPERTOIRE_IMAGE.$nom,0777); $message = "Transfert terminé - Fichier = $nom - "; $message .= "Taille = $taille - "; $message .= "Type MIME = $type_mime."; $report = array($message,TRUE); } else { $message = "Problème de copie sur le serveur."; $report = array($message,FALSE); } break; case UPLOAD_ERR_NO_FILE : $message = "Pas de fichier saisi."; $report = array($message,FALSE); break; case UPLOAD_ERR_INI_SIZE : $message = "Fichier '$nom' non transféré "; $message .= " (taille > upload_max_filesize)."; $report = array($message,FALSE); break; case UPLOAD_ERR_FORM_SIZE : $message = "Fichier '$nom' non transféré "; $message .= " (taille > MAX_FILE_SIZE)."; $report = array($message,FALSE); break; case UPLOAD_ERR_PARTIAL : $message = "Fichier '$nom' non transféré "; $message .= " (problème lors du tranfert)."; $report = array($message,FALSE); break; case UPLOAD_ERR_NO_TMP_DIR : $message = "Fichier '$nom' non transféré "; $message .= " (pas de répertoire temporaire)."; $report = array($message,FALSE); break; case UPLOAD_ERR_CANT_WRITE : $message = "Fichier '$nom' non transféré "; $message .= " (erreur lors de l\'écriture du fichier sur disque)."; $report = array($message,FALSE); break; case UPLOAD_ERR_EXTENSION : $message = "Fichier '$nom' non transféré "; $message .= " (transfert stoppé par l\'extension)."; $report = array($message,FALSE); break; default : $message = "Fichier non transféré "; $message .= " (erreur inconnue : $code_erreur )."; $report = array($message,FALSE); } return $report; } ?>
Ce code fonctionne parfaitement sous un serveur Apache avec la distribution Debian.
à quelle ligne du code avez-vous un souci ?
Bonsoir
Tu ne fournis que la seule fonction d'upload aussi difficile de savoir alors même que tu ne précises rien sur l'erreur. Faut qu'on sorte la boule de cristal...
Au survol de ton code je vois une instruction interdite : passthru. Il est très probable que ton hébergeur interdit cette fonction. Pourquoi ne pas juste utiliser la fonction native mkdir() ?
Bonne soirée
Christophe (cavo789)
Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
Bonsoir,
Je ne suis pas sûr que les fonction " systèmes " soient autorisées sur le serveur.
Voilà ma turpitude.
Quelqu'un pourrait-il écrire un bout de code avec upload, sans gestion des erreurs ?
Pour mkdir https://www.php.net/manual/fr/function.mkdir.php
Remplace donc ton passthru par la fonction mkdir telle que décrite ci-dessus
Christophe (cavo789)
Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
Merci, je vais essayé au plus tôt.
ça marche, d' ou la conclusion.
L'UpLoad marche chez OVH.
Il ne faut pas utlliser des instructions qui font des " forks ".
Evidemment, si les services d'OVH étaient plus coopératifs, j'aurai perdu moins de temps.
Merci à tous.
Salut
La prochaine fois pense à activer le rapport d'erreur (lien ci-après). Au moins tu auras alors le texte de l'erreur fatale et une piste pour comprendre et résoudre.
Bonne soirée
https://www.php.net/manual/fr/functi...-reporting.php
Christophe (cavo789)
Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager