Page 1 sur 1
problème script upload
Posté : 11 sept. 2006, 21:47
par orix
Bonsoir à tous !
J'ai un problème sur ce script d'upload ! Si quelqu'un voudrait bien m'aider svp
<?php
$ok = 0;
if(isset($_POST['upload'])) {
$temp = $_FILES['fichier']['tmp_name'];
if(!is_uploaded_file($temp)) {
exit("Erreur ! Fichier introuvable");
}
$type = $_FILES['fichier']['type'];
if(!strstr($type, 'rar')) {
exit("Erreur ! Cette extension n'est pas autorisée");
}
$dir = 'upload/';
$name = $_FILES['fichier']['name'];
if(!move_uploaded_file($temp, $dir . $name)) {
exit("Erreur lors de la copie du fichier dans le répertoire de destination !");
} else {
$ok = 1;
}
}
if($ok == 1) { echo '<center>Upload terminée !<br>Lien de téléchargement : <a href="http://www.monsite.com/'.$dir.''.$name.'">ici</a><br><a href="index.html>Retour</a></center>'; }
?>
Merci à celui qui pourra m'apporter un peu d'aide

Posté : 11 sept. 2006, 21:50
par Cyrano
On pourrait peut-être si tu nous exposais la nature du problème...

Posté : 11 sept. 2006, 22:51
par Truc
On pourrait peut-être si tu nous exposais la nature du problème...

Bein ça parrait logique... ça marche pô

.........
Toujours accompagner un message avec une ligne explicative de l'erreur

Posté : 11 sept. 2006, 23:01
par orix
Il n'y a pas de message d'erreur
mon index :
Code : Tout sélectionner
<html><body>
<form method="post" action="upload.php" enctype="multipart/form-data">
<p>
<input type="file" size="25" name="upload" value="Parcourir" /><br>
<input type="submit" value="Valider!" /></p></form>
</body></html>
Quand je cliques sur valider, la page upload.php reste blanche ! Pas d'erreur

Posté : 11 sept. 2006, 23:07
par Truc
rajoute des "sinon" (else) au tests:
if(..)
{}
else
echo 'erreur pour le test... machin';
Posté : 12 sept. 2006, 11:47
par tanky
voici ton script corrigé, commenté, et testé

:
<?php
// niveau d'erreur au maximum
error_reporting(E_ALL);
// path de destination pour le fichier uploadé
$destination = 'upload/';
// message de retour
$message = "";
// vérifie qu'un fichier a bien été recu
if(isset($_FILES['upload']) && $_FILES['upload']['size']>0)
{
// recupere l'extension du fichier
if($info = pathinfo($_FILES['upload']['name']))
{
// si l'extension est bien RAR
if(strtolower($info['extension'])=='rar')
{
// copie le fichier uploadé vers le répertoire de destination
if(move_uploaded_file($_FILES['upload']['tmp_name'], $destination.$_FILES['upload']['name']))
{
$message = '<center>Upload terminée !<br>Lien de téléchargement : <a href="http://www.monsite.com/'.$destination.$_FILES['upload']['name'].'">ici</a><br><a href="index.html>Retour</a></center>';
}
else $message = "Erreur lors de la copie du fichier dans le répertoire de destination !";
}
else $message = "Erreur ! Cette extension n'est pas autorisée";
}
}
print $message;
?>
avec le même source HTML
Code : Tout sélectionner
<html>
<body>
<form method="post" action="upload.php" enctype="multipart/form-data">
<p>
<input type="file" size="25" name="upload" value="Parcourir" />
<br>
<input type="submit" value="Valider!" />
</p>
</form>
</body>
</html>
Posté : 12 sept. 2006, 11:54
par Ryle
Mouais... m'est avis qu'il aurait été plus judicieux de le laisser trouver que son champ s'appelait "upload" et qu'il testait $_FILES['fichier'][...] au lieu de $_FILES['upload'][...] plutôt que de lui donner un autre code...
Posté : 13 sept. 2006, 17:47
par orix
Ok, merci pour la correction

Posté : 13 sept. 2006, 17:49
par Truc
Est-ce Résolu du coup ?
Posté : 13 sept. 2006, 20:57
par Invité
Ton script fonctionne sans problème en effet, mais en faisant comme a dit Ryle, remplacer fichier par upload, ne fonctionne pas non, donc je ne comprends toujours pas

!
Posté : 13 sept. 2006, 21:12
par Truc
C'était pas mon script
Ceci dit as tu ajouté les différents else pour voir ou ca coince ?