par
MEGAFILES » 04 mars 2012, 16:12
Bonjour
J'ai un problème d'uploader, j'ai cherché sur plusieurs forums et voici de ce qu'est composé mes pages
upload.php
<?php
require_once "global.php";
require_once INCLUDES . "class.upload.php";
$uploader = new ClassUpload();
$tpl->SetParam('result', '');
if(isset($_FILES['files']))
{
if (isset($_POST['description']))
{
$description = filter($_POST['description']);
}
else
{
$description = '';
}
$MAX_SIZE = 1000000000;
if(file_exists($_FILES['files']['tmp_name']) && filesize($_FILES['files']['tmp_name']) > $MAX_SIZE)
{
$erreur = 'Votre fichier doit faire au maximum 1 go';
$tpl->SetParam('result', '<div id="error">' . $error . "</div>");
}
$f = $uploader->Generate();
if(!isset($erreur))
{
if ($uploader->Upload(htmlentities($_FILES['files']['tmp_name']), htmlentities($_FILES['files']['name']), $description, htmlentities($_FILES['files']['size']), $f))
{
$tpl->SetParam('result', "<div id='notif'>L'hébergement du fichier dans files/" . $f . "<br />
<a href='/d?=" . $f . "'>www.megafiles.com/?d=" . $f . "</a></div>");
}
}
}
else
{
$tpl->SetParam('result', "<div id='error'>Aucun fichier à héberger</div>");
}
$tpl->Init();
$tpl->AddGeneric('page-head');
$tpl->AddIncludeSet('default');
$tpl->WriteIncludeFiles();
$tpl->Write('</head>');
$tpl->AddGeneric('menu');
$tpl->AddGeneric('comp-upload');
$tpl->AddGeneric('comp-footer');
$tpl->Output();
?>
class.upload.php
<?php
Class ClassUpload
{
public static function Generate()
{
$characters = array("A", "B", "C", "D", "E", "F","G", "H", "I", "J", "K", "L","M",
"N", "O", "P", "Q", "R","S", "T", "U", "V", "W", "X","Y","Z", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pass_rand = array_rand($characters, 8);
$pass = "";
foreach ($pass_rand as $i)
{
$pass .= $characters[$i];
}
return $pass;
}
public function Upload($file, $filename, $description, $size, $f)
{
if (LOGGED_IN)
{
$username = USER_NAME;
}
else
{
$username = '';
}
$folder = "files/" . $f;
if (!file_exists($folder))
{
if (move_uploaded_file($file, $folder))
{
dbquery("INSERT INTO files (file_name,file_size,description,repertory,username)
VALUES ('" . $filename . "','" . $size . "','" . $description . "','" . $f . "','" . $username . "')");
return true;
}
}
return false;
}
}
?>
<style>
table { border: 1px solid #C0C0C0; }
</style>
<?php
$result = dbquery("SELECT * FROM files WHERE repertory = '" . filter($_GET['d']) . "'");
if (mysql_num_rows($result) >= 1)
{
while ($d = mysql_fetch_assoc($result))
{
$new_name = $d['file_name'];
$size = $d['file_size'];
$description = $d['description'];
$repertory = $d['repertory'];
}
define('FILE_EXIST', true);
}
else
{
echo "<div id='error'>Le fichier n'est présentement pas disponible</div>";
define('FILE_EXIST', false);
}
if (FILE_EXIST)
{
if (isset($_POST['premium']) && $users->GetUserVar(USER_ID, 'rank') >= 2 || isset($_POST['submit']))
{
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=" . $new_name); // ici ont met le nom original :)
readfile("files/" . $d['repertory']);
}
else if (isset($_POST['premium']) && !$users->GetUserVar(USER_ID, 'rank') >= 2)
{
header('Location: premium.php');
exit;
}
?>
<form method="post">
<p class="left">
<b>Nom du fichier :</b> <?php echo $new_name . "<br />"; ?>
<b>Description :</b> <?php echo $description . "<br />"; ?>
<b>Taille du Fichier :</b> <?php echo $size; ?>
</p>
<div class="right">
<b>Lien de téléchargement:</b>
<?php echo "<a href='http://www.visualdevelopment.fr/?d=" . $repertory . "'>http://www.visualdevelopment.fr/?d=" . $repertory . "</a>"; ?>
</div>
<div class="clear"></div>
<div class="right">
<div class="contour radius"><input class="radius orange" type='submit' name="premium" value='Téléchargement Premium' /></div>
<div class="contour radius"><input class="radius black" type='submit' name="submit" value='Téléchargement régulier' /></div>
</div>
<? } ?>
<div class="clear"></div>
Je ne peux pas upload les fichiers MP3, AVI, etc...
Je peux télécharger les images sous la forme 8 caractères composé de chiffres et lettres
Cependant, lorsque je télécharge un fichier, il devient le nom du fichier .png ou .jpeg etc...
Le seul problème c'est que l'image n'est plus visible comme quoi Windows ne peut pas afficher l'image alors qu'elle est au format d'image.
Si quelqu'un pourrait m'éclaircir ...
Bonjour
J'ai un problème d'uploader, j'ai cherché sur plusieurs forums et voici de ce qu'est composé mes pages
upload.php
[php]<?php
require_once "global.php";
require_once INCLUDES . "class.upload.php";
$uploader = new ClassUpload();
$tpl->SetParam('result', '');
if(isset($_FILES['files']))
{
if (isset($_POST['description']))
{
$description = filter($_POST['description']);
}
else
{
$description = '';
}
$MAX_SIZE = 1000000000;
if(file_exists($_FILES['files']['tmp_name']) && filesize($_FILES['files']['tmp_name']) > $MAX_SIZE)
{
$erreur = 'Votre fichier doit faire au maximum 1 go';
$tpl->SetParam('result', '<div id="error">' . $error . "</div>");
}
$f = $uploader->Generate();
if(!isset($erreur))
{
if ($uploader->Upload(htmlentities($_FILES['files']['tmp_name']), htmlentities($_FILES['files']['name']), $description, htmlentities($_FILES['files']['size']), $f))
{
$tpl->SetParam('result', "<div id='notif'>L'hébergement du fichier dans files/" . $f . "<br />
<a href='/d?=" . $f . "'>www.megafiles.com/?d=" . $f . "</a></div>");
}
}
}
else
{
$tpl->SetParam('result', "<div id='error'>Aucun fichier à héberger</div>");
}
$tpl->Init();
$tpl->AddGeneric('page-head');
$tpl->AddIncludeSet('default');
$tpl->WriteIncludeFiles();
$tpl->Write('</head>');
$tpl->AddGeneric('menu');
$tpl->AddGeneric('comp-upload');
$tpl->AddGeneric('comp-footer');
$tpl->Output();
?>[/php]
class.upload.php[php]<?php
Class ClassUpload
{
public static function Generate()
{
$characters = array("A", "B", "C", "D", "E", "F","G", "H", "I", "J", "K", "L","M",
"N", "O", "P", "Q", "R","S", "T", "U", "V", "W", "X","Y","Z", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$pass_rand = array_rand($characters, 8);
$pass = "";
foreach ($pass_rand as $i)
{
$pass .= $characters[$i];
}
return $pass;
}
public function Upload($file, $filename, $description, $size, $f)
{
if (LOGGED_IN)
{
$username = USER_NAME;
}
else
{
$username = '';
}
$folder = "files/" . $f;
if (!file_exists($folder))
{
if (move_uploaded_file($file, $folder))
{
dbquery("INSERT INTO files (file_name,file_size,description,repertory,username)
VALUES ('" . $filename . "','" . $size . "','" . $description . "','" . $f . "','" . $username . "')");
return true;
}
}
return false;
}
}
?>[/php]
[php]<style>
table { border: 1px solid #C0C0C0; }
</style>
<?php
$result = dbquery("SELECT * FROM files WHERE repertory = '" . filter($_GET['d']) . "'");
if (mysql_num_rows($result) >= 1)
{
while ($d = mysql_fetch_assoc($result))
{
$new_name = $d['file_name'];
$size = $d['file_size'];
$description = $d['description'];
$repertory = $d['repertory'];
}
define('FILE_EXIST', true);
}
else
{
echo "<div id='error'>Le fichier n'est présentement pas disponible</div>";
define('FILE_EXIST', false);
}
if (FILE_EXIST)
{
if (isset($_POST['premium']) && $users->GetUserVar(USER_ID, 'rank') >= 2 || isset($_POST['submit']))
{
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=" . $new_name); // ici ont met le nom original :)
readfile("files/" . $d['repertory']);
}
else if (isset($_POST['premium']) && !$users->GetUserVar(USER_ID, 'rank') >= 2)
{
header('Location: premium.php');
exit;
}
?>
<form method="post">
<p class="left">
<b>Nom du fichier :</b> <?php echo $new_name . "<br />"; ?>
<b>Description :</b> <?php echo $description . "<br />"; ?>
<b>Taille du Fichier :</b> <?php echo $size; ?>
</p>
<div class="right">
<b>Lien de téléchargement:</b>
<?php echo "<a href='http://www.visualdevelopment.fr/?d=" . $repertory . "'>http://www.visualdevelopment.fr/?d=" . $repertory . "</a>"; ?>
</div>
<div class="clear"></div>
<div class="right">
<div class="contour radius"><input class="radius orange" type='submit' name="premium" value='Téléchargement Premium' /></div>
<div class="contour radius"><input class="radius black" type='submit' name="submit" value='Téléchargement régulier' /></div>
</div>
<? } ?>
<div class="clear"></div>[/php]
Je ne peux pas upload les fichiers MP3, AVI, etc...
Je peux télécharger les images sous la forme 8 caractères composé de chiffres et lettres
Cependant, lorsque je télécharge un fichier, il devient le nom du fichier .png ou .jpeg etc...
Le seul problème c'est que l'image n'est plus visible comme quoi Windows ne peut pas afficher l'image alors qu'elle est au format d'image.
Si quelqu'un pourrait m'éclaircir ...