par
elchikokevo » 08 févr. 2012, 04:33
Bonjour, j'ai un script d'upload (que j'ai depuis très longtemps) et j'aimerais que quelqu'un m'aide à le modifier (Je suis assez nul en php)
• J'aimerais supprimer le nom du fichier à upload et le remplacer par un aléatoire.
• J'aimerais que quelqu'un m'explique (en détail chaque actions du script original si possible).
SCRIPT ORIGINAL:
GO.php:
<?php require_once 'upload.php';
$upload = new upload();
echo $upload->create_form('GO.php','Uploader !');
if(isset($_FILES) AND !empty($_FILES['img'])){
echo $upload->check($_FILES['img']['tmp_name'],$_FILES ['img']['name'],"Medias/Uploads/",array("jpeg","jpg","png","gif","bmp","psd","swf","tif"));
}
?>
upload.php:
<style type="text/css">
body,td,th {
color: #000;
}
a:link {
color: #000;
}
a:visited {
color: #000;
}
</style>
<?php
class upload
{
function create_form($action,$submit){
$form = '<center><p><form method="post" action="'.$action.'" enctype="multipart/form-data">
</p><input type="file" size="40px" name="img"/>
<input type="submit" value="'.$submit.'" />
</form></center>';
return $form;
}
function check ($tmp,$nom,$dos,$autoris)
{
$ext = strtolower(substr($nom,-3));
if(in_array($ext,$autoris)){
$randid = rand(1,1000000);
$dosnom = $dos.$randid.$nom;
move_uploaded_file($tmp,$dosnom);
$valid = "Votre fichier a bien été uploadé.<br/>Pour le voir veuillez <a href=\"".$dosnom."\"><i>cliquer ici</i></a>.";
}
else{
$valid = "Erreur durant l’envoi ! Veuillez reessayer.";
}
return $valid;
}
}
?>
Voila sa s'était les deux fichiers du script original (script basique pas modifier)
Et maintenant voila ce que j'ai fait:
Participer.php:
<?php
$characts = 'abcdefghijklmnopqrstuvwxyz';
$characts .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$characts .= '1234567890';
$code_aleatoire = '';
for($i=0;$i < 25;$i++) //10 est le nombre de caractères
{
$code_aleatoire .= substr($characts,rand()%(strlen($characts)),1);
}
require_once 'upload.php';
$upload = new upload();
echo $upload->create_form('Participer.php','Uploader !');
if(isset($_FILES) AND !empty($_FILES['img'])){
echo $upload->check($_FILES['img']['tmp_name'],$_FILES ['img']['name'],"Medias/Uploads/$code_aleatoire",array("jpeg","jpg","png","gif","bmp","psd","swf","tif"));
}
?>
Le fichier upload.php reste le même (je ne l'ais pas touché)
Avec ce code j'arrive à faire un nom aléatoire, mais j'arrive pas à enlever le nom original, genre:
J'upload la photo image350.jpg
j'aurais un truc du genre: v54vr8f9de4ve9f4vimage350.jpg et moi j'aimerais enlever le "image350" comment faire ?
J'aimerais aussi avoir une explication en détail des deux fichier (go.php et upload.php) de chaque action qui font (Pour mieux comprendre, et mieux le modifier)
Merci
cordialement
Bonjour, j'ai un script d'upload (que j'ai depuis très longtemps) et j'aimerais que quelqu'un m'aide à le modifier (Je suis assez nul en php)
• J'aimerais supprimer le nom du fichier à upload et le remplacer par un aléatoire.
• J'aimerais que quelqu'un m'explique (en détail chaque actions du script original si possible).
SCRIPT ORIGINAL:
GO.php:
[php]
<?php require_once 'upload.php';
$upload = new upload();
echo $upload->create_form('GO.php','Uploader !');
if(isset($_FILES) AND !empty($_FILES['img'])){
echo $upload->check($_FILES['img']['tmp_name'],$_FILES ['img']['name'],"Medias/Uploads/",array("jpeg","jpg","png","gif","bmp","psd","swf","tif"));
}
?>[/php]
upload.php:
[php]<style type="text/css">
body,td,th {
color: #000;
}
a:link {
color: #000;
}
a:visited {
color: #000;
}
</style>
<?php
class upload
{
function create_form($action,$submit){
$form = '<center><p><form method="post" action="'.$action.'" enctype="multipart/form-data">
</p><input type="file" size="40px" name="img"/>
<input type="submit" value="'.$submit.'" />
</form></center>';
return $form;
}
function check ($tmp,$nom,$dos,$autoris)
{
$ext = strtolower(substr($nom,-3));
if(in_array($ext,$autoris)){
$randid = rand(1,1000000);
$dosnom = $dos.$randid.$nom;
move_uploaded_file($tmp,$dosnom);
$valid = "Votre fichier a bien été uploadé.<br/>Pour le voir veuillez <a href=\"".$dosnom."\"><i>cliquer ici</i></a>.";
}
else{
$valid = "Erreur durant l’envoi ! Veuillez reessayer.";
}
return $valid;
}
}
?>[/php]
Voila sa s'était les deux fichiers du script original (script basique pas modifier)
Et maintenant voila ce que j'ai fait:
Participer.php:
[php]<?php
$characts = 'abcdefghijklmnopqrstuvwxyz';
$characts .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$characts .= '1234567890';
$code_aleatoire = '';
for($i=0;$i < 25;$i++) //10 est le nombre de caractères
{
$code_aleatoire .= substr($characts,rand()%(strlen($characts)),1);
}
require_once 'upload.php';
$upload = new upload();
echo $upload->create_form('Participer.php','Uploader !');
if(isset($_FILES) AND !empty($_FILES['img'])){
echo $upload->check($_FILES['img']['tmp_name'],$_FILES ['img']['name'],"Medias/Uploads/$code_aleatoire",array("jpeg","jpg","png","gif","bmp","psd","swf","tif"));
}
?>[/php]
Le fichier upload.php reste le même (je ne l'ais pas touché)
Avec ce code j'arrive à faire un nom aléatoire, mais j'arrive pas à enlever le nom original, genre:
J'upload la photo image350.jpg
j'aurais un truc du genre: v54vr8f9de4ve9f4vimage350.jpg et moi j'aimerais enlever le "image350" comment faire ?
J'aimerais aussi avoir une explication en détail des deux fichier (go.php et upload.php) de chaque action qui font (Pour mieux comprendre, et mieux le modifier)
Merci
cordialement