Добавить комментарий к созданному zip-файлу перед загрузкой через php - PullRequest
0 голосов
/ 26 февраля 2019

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

В строке 59 этого файла: https://pastebin.com/i3iBmW8s (это файл, который генерирует ссылку для загрузки моего файла), вы можете увидеть мои изменения, которые я также опубликую ниже:

$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
    $ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
    $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
    $ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
    $ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
    $ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
    $ipaddress = getenv('REMOTE_ADDR');
else
    $ipaddress = 'UNKNOWN';

# Create a new Archive
$zip = new ZipArchive;
# Create the file to archive to
$res = $zip->open($file, ZipArchive::CREATE);
# If create works
if ($res === TRUE) {
    # Create the comment here
    $zip->setArchiveComment(base64_encode($ipaddress));
    $zip->close();
}

В основном это работает для добавления IP-адреса того, кто загружает его в zip-файл, в качестве комментария.

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

Я полагаю, что проблема связана с переменной $ file, которая может быть неправильной, поскольку в качестве автономного сценария достаточно указать егоимя архива, чтобы добавить комментарий и затем загрузить его, в то время как со сценарием размещения файлов, если я назначу переменную, содержащую имя файла (который$ file-> originalFilename), ничего не происходит.

Надеюсь, вы поможете мне правильно реализовать мой сценарий, спасибо.

1 Ответ

0 голосов
/ 27 февраля 2019

Оказалось, что я был прав, проблема была в переменной $file, которая была неправильной, так как сценарий не смог определить ее как объект

Я покопался и нашел нужную переменную, удерживаяполный путь к файлу в скрипте размещения файлов:

$file->getFullFilePath()

...