Привет прошу помочь.
В форум при загрузке файлов с именем :
скриншот.22.09.1995.png выбивает ошибку
В общем хочу что бы при загрузке имя файла сразу менялось
например на
time()_rand(999,99999)
Вот код с загрузки на форум надеюсь это тут.
/*
-----------------------------------------------------------------
Проверка, был ли выгружен файл и с какого браузера
-----------------------------------------------------------------
*/
$do_file = false;
$file = '';
if ($_FILES['fail']['size'] > 0) {
// Проверка загрузки с обычного браузера
$do_file = true;
$file = functions::rus_lat(mb_strtolower($_FILES['fail']['name']));
$fsize = $_FILES['fail']['size'];
}
И да версия 6.х.х
ViROSS,
$new_name = time() . '_' . md5($_FILES['fail']['name']);// расширение не забудь
Не понял я
/*
-----------------------------------------------------------------
Проверка, был ли выгружен файл и с какого браузера
-----------------------------------------------------------------
*/
$do_file = false;
$file = '';
if ($_FILES['fail']['size'] > 0) {
// Проверка загрузки с обычного браузера
$do_file = true;
$new_name = time() . '_' . md5($_FILES['fail']['name']);// расширение не забудь
$file = $new_name;
$fsize = $_FILES['fail']['size'];
}
Сделал так не помогло.
мне бы прям тут просто название убрать и своё подставить
Ну в идеале конечно было бы не плохо заменить в названии файла Точки (.) на слэш ( - ) а русские буквы на английские и пробелы убрать но это сложно.
# ViROSS (22.09.2022 / 18:11)
Ну в идеале конечно было бы не плохо заменить в названии файла Точки (.) на слэш ( - ) а русские буквы на английские и пробелы убрать но это сложно.
дай весь файл где происходит загрузка
ViROSS, попробуй
/*
-----------------------------------------------------------------
Проверка, был ли выгружен файл и с какого браузера
-----------------------------------------------------------------
*/
$do_file = false;
$file = '';
if ($_FILES['fail']['size'] > 0) {
// Проверка загрузки с обычного браузера
$do_file = true;
$file = preg_replace('/\.(?!\S{3,5}$)/ui', '-', $_FILES['fail']['name']);
$file = functions::rus_lat(mb_strtolower($file));
$fsize = $_FILES['fail']['size'];
}
galtsev.t, Сработало! спасибо большое..
# ViROSS (22.09.2022 / 18:44)
galtsev.t, Сработало! спасибо большое..
На это можешь поменять, если будут пробелы их тоже заменит.
$do_file = false;
$file = '';
if ($_FILES['fail']['size'] > 0) {
// Проверка загрузки с обычного браузера
$do_file = true;
$file = preg_replace('/[.\s](?!\S{3,5}$)/ui', '-', $_FILES['fail']['name']);
$file = functions::rus_lat(mb_strtolower($file));
$fsize = $_FILES['fail']['size'];
}