2016-07-31 3 views
0

Я создаю форму для загрузки изображения, и мне нужно указать изображения имени пользователя и имени собаки, когда оно добавлено в мою базу данных, и добавлено в мою папку для загрузки.удалить пробелы из строки имени файла PHP

я в настоящее время это работает так:

  1. Я использую метод POST в верхней части моего сценария, чтобы тянуть в пользовательском имя и собака имя из формы.
  2. я затем использовать эту информацию, чтобы переименовать файл/изображение загружается
  3. Затем вставить в свою базу данных

$user_name = $_POST['user_name']; 
$dog_name = $_POST['dog_name']; 

$file_name = $imgDir . $user_name .'-'. $dog_name .'-'. $random_number . $ext; 

При вставке в таблицу я использую следующее:

'file_name' => str_replace("../path/to/images/", "", $file_name), 

Текущий вывод имени файла выглядит так: Joh n-Fido-123456.jpg

Как бы удалить пробелы в имени файла, если пользователь ввел свою фамилию следующим образом?

John Doe-Fido Doe-123456.jpg


Update: Благодаря @HiDeo я использовал DUP ссылку, что он отвечал и был в состоянии понять это, как это.

Использование метода Post для получения имен, которые мне нужны. Я полосал белые пробелы так и работал над именем файла в базе данных и фактическим изображением в папке.

$user_name = $_POST['user_name']; 
$dog_name = $_POST['dog_name']; 


$user_name = preg_replace('/\s+/', '', $user_name); 
$dog_name = preg_replace('/\s+/', '', $dog_name); 
+0

@HiDeo тыс на трюк! Благодарю. – echo

ответ

5

Вы можете использовать:

'file_name' => str_replace(" ", "", $file_name); 

Ну, это заменит все пустые пространства, ничего ... (т.е. удалить все пробелы) ...

Код предложение основанный на коде

Надеется, что это помогает ... :)

+0

Это работает, но оставляет полный путь к изображению. Если я это сделаю: '' имя_файла '=> str_replace ("../ путь/to/image /", "", "", $ file_name), ' все пустое в поле имени моего файла в моем база данных..? – echo

+0

Нет, вы должны попробовать это решение после этой строки ... –

+0

Хммм ... Еще не осталось пути к файлу. Кроме того, у изображений все еще есть пробел между Первым и Фамильным, когда я проверяю изображение в папке. ''file_name' \t \t => str_replace (" ../ путь/to/image/"," ", $ file_name), 'file_name' => str_replace (" "," ", $ file_name),' – echo

Смежные вопросы