Загрузка файла на сервер с изменением названия

200
25 августа 2018, 15:40

Вроде подобного не нашёл. Как можно реализовать загрузка файла на сервер с изменением его названия на рандомную строчку. Вот куски кода Проверка расширения

     $file = array_shift($_FILES['icons']);
 $ext = substr($file,1+strrpos($file,"."));
 $fati = array("jpg","png");
 if(in_array($ext,$fati)){
 }else{
   $errors[]= "Иконка может быть только jpg/png";
 }

поле в котором указываем файл

у поля загрузки name="icons" код рандомчика для имени

$name = substr(md5(uniqid()), 0, 40);
Answer 1

Вот накидал по быстрому, что то вроде такого получается

Если загрузка сразу нескольких файлов

function reArrayFiles(&$file_post) {
    $file_ary = array();
    $file_count = count($file_post['name']);
    $file_keys = array_keys($file_post);
    for ($i=0; $i<$file_count; $i++) {
        foreach ($file_keys as $key) {
            $file_ary[$i][$key] = $file_post[$key][$i];
        }
    }
    return $file_ary;
}
$file_ary = reArrayFiles($_FILES['icons']);
foreach ($file_ary as $file) {
    $file = $_FILES['name']; // icon.jpg
    $fdata = pathinfo($file);
    $ext = $fdata['extension'];     // jpg
    $filename = $fdata['filename']; // icon
    if($ext == 'jpg' or $ext == 'png'){
        $name = substr(md5(uniqid()), 0, 40);
        $newname = $name .'.'. $ext;
        echo $newname; // пример: 45yt45unufnt45uny54ny45fy45yf45yf45.jpg
    }else{
        $errors[] = "Иконка может быть только jpg/png";
    }
}

Если закрузка одного файла

$file = $_FILES['icons']['name']; // icon.jpg
$fdata = pathinfo($file);
$ext = $fdata['extension'];     // jpg
$filename = $fdata['filename']; // icon
if($ext == 'jpg' or $ext == 'png'){
    $name = substr(md5(uniqid()), 0, 40);
    $newname = $name .'.'. $ext;
    echo $newname; // пример: 45yt45unufnt45uny54ny45fy45yf45yf45.jpg
}else{
    $errors[] = "Иконка может быть только jpg/png";
}
READ ALSO
Если НЕ одно из двух определённых значений, то умолчание. Как сделать это в PHP?

Если НЕ одно из двух определённых значений, то умолчание. Как сделать это в PHP?

Мой скрипт на PHP принимает два языковых значения - &lang=ru или &lang=enЕсли параметр lang явно не указан или равен любому другому значению, то значение...

193
Как в php отделить номер от текста

Как в php отделить номер от текста

Привествую,есть код:

181
Номер телефона аккаунта в инстаграм

Номер телефона аккаунта в инстаграм

Есть id, username и ссылка на аккаунта, необходимо узнать номер телефона владельцаВ instagramm-scrapper порылся в абстрактных моделях, и даже не нашел намека...

187
Чтение из массива объектов

Чтение из массива объектов

Хочу из такого JSON

194