, , incomingfile :
<input type="file" id="incomingfile" name="incomingfile" />
, , "" . . , .
$new_depured_filename = strtolower(preg_replace('/[^a-zA-Z0-9_ -.]/s', '_', $_FILES["incomingfile"]["name"]));
copy($_FILES["incomingfile"]["tmp_name"], 'my_temp_directory/'.$new_depured_filename);
, , , , , . , myimage.jpg, , myimage__000.jpg. , myimage__001.jpg , .
$i=0;
$new_filename = $new_depured_filename;
$new_filepath='myfiles/music/'.$new_filename;
while(file_exists($new_filepath)) {
$tail = str_pad((string) $i, 3, "0", STR_PAD_LEFT);
$fileinfos = pathinfo($new_filepath);
if($i>0) {
$previous_tail = str_pad((string) $i-1, 3, "0", STR_PAD_LEFT);
$new_filename = str_replace('__'.$previous_tail,"",$new_filename);
}
$new_filename = str_replace('.'.$fileinfos['extension'],"",$new_filename);
$new_filename = $new_filename.'__'.$tail.'.'.$fileinfos['extension'];
$new_filepath = 'myfiles/music/'.$new_filename;
$i++;
}
copy('my_temp_directory/'.$new_depured_filename, $new_filepath);
unlink('my_temp_directory/'.$new_depured_filename);
Functions used:
strtolower
preg_replace
copy
file_exists
str_pad
pathinfo
str_replace
unlink
source
share