Я использую мое приложение для Android, чтобы загрузить некоторые файлы на мой сервер Wamp. Файлы успешно выгружены на сервер, но нет расширения для файлов, которые имеют [Пробел] в имени файла. Каждый раз, когда я пытаюсь открыть эти файлы, система предлагает мне выбрать приложение для открытия. Если я выберу соответствующее приложение, файл откроется успешно.
Есть ли способ сделать эти расширения доступными, чтобы мне не приходилось каждый раз выбирать приложение?
Мой код PHP:
$file_path = "uploads/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else{
echo "fail";
} ?>
‘
Я обновил свой код Java до следующего:
Предыдущий код
dos.writeBytes("Content-Disposition: form-data; name= \"uploaded_file\";filename="+ fileName + "" + lineEnd);
Обновленный код
dos.writeBytes("Content-Disposition: form-data; name= \"uploaded_file\";filename="+ fileName.replace(" ", "_") + "" + lineEnd);
Ты можешь использовать str_replace()
заменить пробелы подчеркиванием:
$filename = str_replace(' ', '_', $filename);
или используя preg_replace()
$file_path = "uploads";
$file = basename($_FILES['uploaded_file']['name']);
$newfilename = preg_replace('/\s+/', '_', $file);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path. "/" .$newfilename))
$file_path = "uploads/";
$fine_name=basename($_FILES['uploaded_file']['name']).'.'."txt";//<put extention here like txt,apk,htm,mp3 etc>
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path."/".$fine_name)) {
echo "success";
} else{
echo "fail";
}