Programation d'un uploadeur
Résolu
simonfr
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
simonfr Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
simonfr Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en pleine création d'un uploadeur, mais mon uploadeur ne veut pas uploader les gros fichiers comment faire tenez je vous donne le code PHP qui est en 3 fichiers :
index.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Mini upload</title>
<script type="text/javascript">
var CS = {};
CS.UploadAjax = function(){}
CS.UploadAjax.callBack = function(message){
document.getElementById('messageCallBack').innerHTML = message;
document.getElementById('btn').value = 'Envoyer';
document.getElementById('btn').disabled = false;
document.getElementById('file').value = '';
refresh_listing();
}
function envoyer(){
document.getElementById('myform').submit();
document.getElementById('btn').disabled = true;
document.getElementById('btn').value = 'Patientez...';
document.getElementById('messageCallBack').innerHTML = "<b><i>Chargement en cours</i></b><br/><img src='chargement.gif' />";
}
function refresh_listing(){
var xhr_object = null;
var position = 'listing';
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
else if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
xhr_object.open("GET", "listing.php", true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
document.getElementById(position).innerHTML = xhr_object.responseText;
}
}
xhr_object.send(null);
}
</script>
</head>
<body>
<table>
<tr>
<td width="250px" valign="top">Voici les fichiers deja presents :
<div id="listing">
<?php include("listing.php"); ?>
</div>
</td>
<td valign="top">
<table>
<tr>
<td>
</td>
</tr>
<tr>
<td align="center">
<form id="myform" action="upload.php" enctype="multipart/form-data" method="post" target="hiddeniframe">
<input type="file" id="file" name="file" />
<input type="button" id="btn" value="Envoyer" onClick="envoyer()"/>
<div id="messageCallBack"></div>
</form>
<iframe name="hiddeniframe" style="display:none;" src="about:blank"></iframe>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
upload.php :
<?php
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.exe', '.avi');
$extension = strrchr($_FILES['file']['name'], '.');
if(!in_array(strtolower($extension), $extensions))
{
$data['message'] = 'Vous devez uploader un fichier de type <b>png, gif, jpg, jpeg, exe, avi.</b>';
}
if(filesize($_FILES['file']['tmp_name'])>999999999999999999999999)
{
$erreur = '<b>Le fichier est trop gros...</b>';
}
if(!isset($data['message']))
{
$fichier = strtr($fichier,
'Àà Ã'ÃfÃ"Ã...Ã#Ã^Ã0/00ÃSÃ<ÃOEà ÃZà Ã'Ã"Ã"Ã*Ã-Ã(TM)ÃsÃ>Ãoeà à áâãäåçèéêëìÃîïðòóÃ'õöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['file']['tmp_name'], 'upload/' . basename($_FILES['file']['name'])))
{
$data['message'] = '<b>Upload de <i>'.$_FILES['file']['name'].'</i> effectué avec succés !</b>';
}
else
{
$data['message'] = '<b>Echec de l\'upload !</b>';
}
}
else
{
echo $erreur;
}
$data['page'] =
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script type="text/javascript">
window.parent.CS.UploadAjax.callBack("{message}");
</script>
</head>
<body>
</body>
</html>';
echo preg_replace('#\{([a-z0-9\-_]*?)\}#Ssie', '( ( isset($data[\'\1\']) ) ? $data[\'\1\'] : \'\' );', $data['page']);
?>
listing.php :
<?php
$dirname = './upload/';
$dir = opendir($dirname);
while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file)){
echo '<a href="'.$dirname.$file.'" target="_blank">'.$file.'</a><br/>';
}
}
closedir($dir);
?>
Je suis en pleine création d'un uploadeur, mais mon uploadeur ne veut pas uploader les gros fichiers comment faire tenez je vous donne le code PHP qui est en 3 fichiers :
index.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Mini upload</title>
<script type="text/javascript">
var CS = {};
CS.UploadAjax = function(){}
CS.UploadAjax.callBack = function(message){
document.getElementById('messageCallBack').innerHTML = message;
document.getElementById('btn').value = 'Envoyer';
document.getElementById('btn').disabled = false;
document.getElementById('file').value = '';
refresh_listing();
}
function envoyer(){
document.getElementById('myform').submit();
document.getElementById('btn').disabled = true;
document.getElementById('btn').value = 'Patientez...';
document.getElementById('messageCallBack').innerHTML = "<b><i>Chargement en cours</i></b><br/><img src='chargement.gif' />";
}
function refresh_listing(){
var xhr_object = null;
var position = 'listing';
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
else if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
xhr_object.open("GET", "listing.php", true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
document.getElementById(position).innerHTML = xhr_object.responseText;
}
}
xhr_object.send(null);
}
</script>
</head>
<body>
<table>
<tr>
<td width="250px" valign="top">Voici les fichiers deja presents :
<div id="listing">
<?php include("listing.php"); ?>
</div>
</td>
<td valign="top">
<table>
<tr>
<td>
</td>
</tr>
<tr>
<td align="center">
<form id="myform" action="upload.php" enctype="multipart/form-data" method="post" target="hiddeniframe">
<input type="file" id="file" name="file" />
<input type="button" id="btn" value="Envoyer" onClick="envoyer()"/>
<div id="messageCallBack"></div>
</form>
<iframe name="hiddeniframe" style="display:none;" src="about:blank"></iframe>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
upload.php :
<?php
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.exe', '.avi');
$extension = strrchr($_FILES['file']['name'], '.');
if(!in_array(strtolower($extension), $extensions))
{
$data['message'] = 'Vous devez uploader un fichier de type <b>png, gif, jpg, jpeg, exe, avi.</b>';
}
if(filesize($_FILES['file']['tmp_name'])>999999999999999999999999)
{
$erreur = '<b>Le fichier est trop gros...</b>';
}
if(!isset($data['message']))
{
$fichier = strtr($fichier,
'Àà Ã'ÃfÃ"Ã...Ã#Ã^Ã0/00ÃSÃ<ÃOEà ÃZà Ã'Ã"Ã"Ã*Ã-Ã(TM)ÃsÃ>Ãoeà à áâãäåçèéêëìÃîïðòóÃ'õöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['file']['tmp_name'], 'upload/' . basename($_FILES['file']['name'])))
{
$data['message'] = '<b>Upload de <i>'.$_FILES['file']['name'].'</i> effectué avec succés !</b>';
}
else
{
$data['message'] = '<b>Echec de l\'upload !</b>';
}
}
else
{
echo $erreur;
}
$data['page'] =
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script type="text/javascript">
window.parent.CS.UploadAjax.callBack("{message}");
</script>
</head>
<body>
</body>
</html>';
echo preg_replace('#\{([a-z0-9\-_]*?)\}#Ssie', '( ( isset($data[\'\1\']) ) ? $data[\'\1\'] : \'\' );', $data['page']);
?>
listing.php :
<?php
$dirname = './upload/';
$dir = opendir($dirname);
while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file)){
echo '<a href="'.$dirname.$file.'" target="_blank">'.$file.'</a><br/>';
}
}
closedir($dir);
?>
5 réponses
-
Bonjour,
Sans même regarder le code..
As tu modifié la configuration du serveur pour que celui accepte les gros fichiers ?
De base php a une limite à 2 ou 3 Mo..
Adns -
Non, peut tu m'aider a le configurer car je n'est configurer que upload.php pour qu'il accepte les gros fichiers
-
Tout dépend du serveur que tu utilise, les serveurs mutualisés ne donne que rarement la main sur la partie configuration.
Si jamais tu as la main je t'invite à lire ceci.
https://www.commentcamarche.net/faq/889-php-upload-de-fichiers#configuration-de-php-pour-permettre-l-upload
Adns -
je suis actuellement en train de faire des test en localhost
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Comment je fait pour le configurer en localhost ?