Как я переименовываю имя файла после загрузки с php?

Вы используете this.props.id вместо props.id в функциональном компоненте

const HandleComments = props => {
  console.log('props', props);
  return <div>{props.id}</div>;
};

Также вам нужно визуализировать компонент HandleComments вместо простого возврата функционального экземпляра в событие onClick, как показано ниже, или какой-то другой образом от someOtherClass

class ABC extends someOtherClass {
 static create(value) {
    let node = super.create();
    node.setAttribute('style', 'font-size:100%; color: white');
    node.setAttribute('id', Date.now());
    node.onclick = function(e) {
      ReactDOM.render(<HandleComments id={e.target.id} />, document.getElementById('root'));
    };
    return node;
  }
}
7
задан Anton Gogolev 31 March 2009 в 14:31
поделиться

4 ответа

При использовании move_uploaded_file Вы добираетесь для выбора имени файла, таким образом, можно выбрать что-либо, что Вы хотите.

Когда Вы загружаете файл, его помещенный во временный каталог с временным именем, move_uploaded_file() позволяет Вам перемещать тот файл, и в этом необходимо определить имя файла также.

22
ответ дан 6 December 2019 в 05:43
поделиться

Почему не только сохраняют его с другим именем:

Просто измените имя переменной $uploadfile:

$uploadfile = $uploaddir . "somefilename" . end(explode(".", $file['name']));

Не причинило бы боль однако при рефакторинге кода немного.

3
ответ дан 6 December 2019 в 05:43
поделиться

Когда Вы делаете

$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {

Просто $uploadfile набора к целому пути желаемого имени файла; т.е. "uploads/mynewfilename.jpg"

1
ответ дан 6 December 2019 в 05:43
поделиться

Я предложил бы, чтобы Вы проверили класс Загрузки Файла Verot. Это излечивает много боли загрузки файла через php и делает Ваш код намного более читаемым / удобный в сопровождении.

Вот ссылка на класс и документация.

Относительно точного ответа на Ваш вопрос: Для давания нового имени загруженному файлу поместите его как второй аргумент move_uploaded_file () функция.

Так как Вы хотите сохранить расширение, сохраните его сначала в переменной:

$ext = explode('.',$_FILES['uploaded']['name']);
$extension = $ext[1];

Вы могли использовать корневое имя файла для генерации нового имени (здесь с меткой времени, добавленной к нему):

$newname = $ext[0].'_'.time();

Скажите загрузку файла, и имя входной переменной формы является "myfile.png", это станет 'myfile_2343544.png';

Теперь, объедините локальный путь к целевому каталогу, var $newname и расширению файла для установки второго аргумента функции:

$full_local_path = 'path/to/your/filefolder/'.$newname.'.'.$extension ;
move_uploaded_file($_FILES['uploaded']['tmp_name'], $full_local_path);
6
ответ дан 6 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: