Drupal 10 extractTo не извлекает предоставленный zip-файлPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Drupal 10 extractTo не извлекает предоставленный zip-файл

Сообщение Anonymous »

Код: Выделить всё

public function buildConfigurationForm(array $form, FormStateInterface $form_state): array {
$form['firmware_upload'] = [
'#type' => 'file',
'#title' => $this->t('Firmware'),
'#description' => [
'#theme' => 'file_upload_help',
// '#description' => $this->t(''),
'#upload_validators' => $this->uploadValidators(),
],
'#upload_location' => SensdeskDeviceInterface::FIRMWARE_DIRECTORY . '/fw',
'#upload_validators' => $this->uploadValidators(),
'#required' => TRUE,
];

return $form;
}

Код: Выделить всё

public function submitConfigurationForm(array &$form, FormStateInterface $form_state): void {
$file = $form_state->getValue('firmware_upload');

$version = '6.6.6';
$timestamp = date('YmdHis');

$location = $form['firmware_upload']['#upload_location'];

$zipName = "$location/$version-$timestamp.zip";

$file = $this->fileRepository->move($file, $zipName, FileSystemInterface::EXISTS_REPLACE);

$zip = new \ZipArchive();
if ($zip->open($zipName, \ZIPARCHIVE::CREATE | \ZIPARCHIVE::OVERWRITE) === TRUE) {
$zip->extractTo($location);
$zip->close();
}
else {
throw new \Exception('Failed to open the ZIP file.');
}

$this->configuration['version'] = $version;
}
У меня есть этот код, но архив не распакован по местоположению, я вижу там только ZIP-файл. Я не уверен, как это правильно использовать.
Я попробовал приведенный выше код и некоторые его варианты, но не могу понять, почему извлечение zip-файла не работает.

Подробнее здесь: https://stackoverflow.com/questions/786 ... d-zip-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»