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... :-k

Posté : 11 sept. 2006, 22:51
par Truc
On pourrait peut-être si tu nous exposais la nature du problème... :-k
Bein ça parrait logique... ça marche pô :cry: ......... #-o

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

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 :cry:

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é :D :
<?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 :!: :D

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 :cry: !

Posté : 13 sept. 2006, 21:12
par Truc
C'était pas mon script :wink:

Ceci dit as tu ajouté les différents else pour voir ou ca coince ?