Accueil > Forum > > > > Bug dans mon script d'Upload de fichiers
Bug dans mon script d'Upload de fichiers
dimanche 13 mars 2011 à 16:34:10 |
Bug dans mon script d'Upload de fichiers

begueradj
|
Azul,
Il y a quleque chose qui cloche dans mon cul: lorsque je "upload" un fichier pdf dans mon forumlaire je reçois le message indiquant que ce n'est pas un fichier à extension validée or pour moi j'ai bien autorisé ces fichiers PDF,
Ci-dessous mon script, veuillez m'indiquer l'erreur si vous pouvez, merci:
Code PHP :
<?php
if(isset($_POST['addport'])){
/*if the submit button that is related to adding a port is validated
* then */
/* is the file correctly uploaded ?*/
if(isset($_FILES['photo'])&&($_FILES['photo']['error'])==0){
/* check if the file is not too voluminous */
if($_FILES['photo']['size']<=3000000000){
/* extract basic file information */
$file_info=pathinfo($_FILES['photo']['name']);
/* check the extension of the file */
$file_extension=$file_info['extension'];
/*the allowed extensions*/
$allowed_extensions=array('jpg','png','jpeg','gif');
/* check if the file extension is allowed or not */
if(in_array($file_extension,$allowed_extensions)){
$file_name=time().'.'.$file_extension;
copy($_FILES['photo']['tmp_name'],'uploads/'.$file_name);
/*the file has been correctly uploaded */
echo'The file has been correctly uploaded';
if(!empty($_POST['name']) && !empty($_POST['unlocator']) && !empty($_POST['idnumber']) && !empty($_POST['position']) && !empty($_POST['berths']) && !empty($_POST['draft'])){
/* if all the fields are not empty then */
/*First , I retrieve all the data */
$name=$_POST['name'];
$unlocator=$_POST['unlocator'];
$idnumber=$_POST['idnumber'];
$position=$_POST['position'];
$berths=$_POST['berths'];
$draft=$_POST['draft'];
include('../Cfg/config.inc.php');
$link=mysql_connect($SERVER,$USER,$PWD) or die('Can not connect to the MySQL Server<br/>'.mysql_error());
mysql_select_db($DB) or die('Can not connect to the requested database<br/>'.mysql_error());
/* i need to inject the data to the ports table */
mysql_query("INSERT INTO ports (name,unlocator,idnumber,position,berths,draft,photo)VALUES ('$name','$unlocator','$idnumber','$position','$berths','$draft','$file_name')")or die('Insertion problem<br/>'.mysql_error());
echo'<br/>Ports data is correctly inserted ! <br/>';
}else{
/* at least one of the fields is empty */
echo'<font color="red">At least one field is empty, please, try again</font> <br/>!';
}
}else{
echo'Your photo must have a JPG, JPEG, PNG or GF format !';
}
}/*file is not too voluminous */
}/* file correctly uploaded */
}/* submit button pressed */
|
|
dimanche 13 mars 2011 à 16:36:26 |
Re : Bug dans mon script d'Upload de fichiers

begueradj
|
Je corrige, le script en question est celui-là:
Code PHP :
<?php
session_start();
if(!isset($_SESSION['login'])){
header('Location:index.php');
exit();
}
require_once('Includes/aheader.inc.php');
?>
<div id="content">
<div class="pagetitle">
<p align="center">Add files (downloads) :</p>
</div>
<p class="zonetext">
You can add a new file to your downloads area from here : </p>
<?php
if(isset($_POST['addthisfile'])){
/* if the add button has been pressed */
if(isset($_FILES['downloadablefile'])&&$_FILES['downloadablefile']['error']==0){
/*is the file correctly uploaded ?*/
if($_FILES['downloadablefile']['size']<=30000000000){
/*I checked if the file is not too voluminous*/
$fichier_info=$_FILES['downloadablefile']['name'];
/*extract the file name basic information */
$extensiondufichier=$fichier_info['extension'];
/*the extension of the file */
$extensions_autorisees=array('pdf','doc','docx');
/*list of allowed extensions*/
if(in_array($extensiondufichier,$extensions_autorisees)){
$systemfname=time().'.'.$extensiondufichier;
copy($_FILES['downloadablefile']['tmp_name'],'uploads'.$systemfname);
echo'The file has been correctly uploaded<br/>';
if(!empty($_POST['filename'])&&$_POST['filedescription']){
$filename=addslashes($_POST['filename']);
$filedescription=addslashes($_POST['filedescription']);
include('../Cfg/config.inc.php');
$l=mysql_connect($SERVER,$USER,$PWD)or die('Impossible to connect to the MySQL Server<br/>'.mysql_error());
mysql_select_db($DB)or die('Impossible to select the requested database !<br/>'.mysql_error());
mysql_query("INSERT INTO downloads(userfilename,systemfilename,filedescription) VALUES('$filename','$systemfname','$filedescription')")or die('Insertion problem<br/>'.mysql_error());
}else{/*at least one of the fields is empty*/
echo'<font color="red">At least one of the fields is empty<br/></font>';
}
}else{/*not allowed format,extension*/
echo'<font color="red">Only PDF, DOC and DOCX files are allowed !</font>';
}
}else{/*file is too voluminous*/
echo'<font color="red">Your file is too voluminous !!</font>';
}
}else{/*file not correctly uploaded*/
echo'<font color="red">Your file has not been correctly uploaded !</font>';
}
}
?>
<form action="addfile.php"method="post" enctype="multipart/form-data">
<table align="center" class="tableass">
<tr>
<td class="boldtd">File's name <font color="orange">*</font> : </td><td align="left"><input type="text" name="filename"/></td>
</tr>
<tr>
<td class="boldtd">Description <font color="orange">*</font> : </td><td align="right"> <textarea name="filedescription" rows="10" cols="50" wrap="off"></textarea></td>
</tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2" align="center" class="boldtd2">File <font color="orange">*</font> :</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type="file" name="downloadablefile"/></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="addthisfile" value="Add"/></td>
<tr>
</table>
</form>
</div>
<?php
require_once('Includes/afooter.inc.php');
?>
|
|
dimanche 13 mars 2011 à 18:42:41 |
Re : Bug dans mon script d'Upload de fichiers

007Julien
|
La première chose à faire est d'imprimer l'extension à la réception.
|
|
lundi 14 mars 2011 à 12:20:33 |
Re : Bug dans mon script d'Upload de fichiers
|
lundi 14 mars 2011 à 14:16:58 |
Re : Bug dans mon script d'Upload de fichiers

007Julien
|
Réponse acceptée !
Il s'agit simplement de tester le programme après avoir inséré un echo pour voir quelle est l'extension du fichier reçue et testée après l'upload...
Code PHP :
// Insertion pour voir
echo $extensiondufichier;
// avant le test
if(in_array($extensiondufichier,$extensions_autorisees)){
// ...
}
Si jamais cette insertion provoquait un message d'erreur contenant headers already sent il conviendrait de retarder cet envoi (voir alors ob_start() et ob_end_flush()).
|
|
lundi 14 mars 2011 à 14:50:15 |
Re : Bug dans mon script d'Upload de fichiers

begueradj
|
Réponse acceptée !
Merci Julien, même si j'ai réglé le problème autrement en adoptant une autgre démarche car je n'ai pas le temps pour "débugger" ce script
merci quand même, c'est gentil.
|
|
Cette discussion est classée dans : script, mysql, upload, fichiers, is
Répondre à ce message
Sujets en rapport avec ce message
Upload de fichiers [ par dklice ]
Bonjour, Comme je suis débutant et que je ne comprend pas vraiment ce language j'aimerais que quelqu'un pour passer le temp me fabrique un petit scrip
Upload d'image et post de commentaire lié avec mysql [ par Padaone91 ]
Bonjour à tous ceux qui liront ce petit bout de texte, Voilà je souhaite créer une page qui permettra à mes visiteurs d'upload une image et ensuite d
script upload [ par keizer91 ]
Bonjour,je souhaite développer une page php qui permettrai l'upload de plusieurs fichiers via une liste d'attente.Ce que je souhaite c'est que l'utili
upload de fichiers et logs [ par foxghent ]
Bonjour J'ai un script pour l'upload de fichier qui marche super bien et qui enregistre l'ip de l'uploader dans un fichier log.txt .Le probleme c'est
Script php + mysql top liste titre pour webradio [ par mamure ]
Bonsoir tout le monde.Je recherche un script php + mysql pour faire une top liste (20 titres) pour webradio.En fait, le systeme ce serait que l'audite
is_error() ? [ par alonsyl ]
bonjour,j'ai 1 requete mysql dela forme :mysql_query("INSERT INTO results (jours, nbTrade, resultat) VALUES ('".$modifDate."', ".$modifNb.", ".$modifB
Upload multiple de fichiers [ par Sly_83 ]
Bonjour,je cherche un script qui permet d'uploader plusieurs fichiers mais sans les électionner un par un, par exemple en pointant vers un dossier et
Upload multi fichiers multi client [ par Billybobbonnet ]
Bonjour à tous,J'ai dévellopé une chaine d'upload encodage et indexation pour un serveur apache php mySQL. Ca fonctionne comme il suit:Une page web pe
gerer une BDD MySQL avec des fichiers .txt [ par pth_ezekiel ]
Bonjour à tous.Je suis débutant en php, et je dois fournir, pour l'école, un projet d'intranet.Pour une exportabilité maximale, nous avons décidé de n
Problème avec un script php [ par cdevl32 ]
Bonsoir,J'ai un problème avec un script ( pour convertir fichier dbf en mysql ) en php je l'exécute sur XP la tout vas bien, quand je l'exécute sur Vi
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|