PHP POST файл через AnonFiles с HTML-формой - PullRequest
0 голосов
/ 15 сентября 2018

Я видел, что AnonFiles позволяет пользователю загружать файлы непосредственно в свою учетную запись, используя их API: https://anonfiles.com/docs/api

Я создал учетную запись, и они дали мне ключ API, и с помощью этого ключа я могу загрузить прямо в свою учетную запись, добавив, например, ?token=c9516efd61XXXXXX к запросу на загрузку.

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

Вот мой код, пожалуйста, сообщите, что я делаю неправильно, когда я нажимаю Отправить, я не получаю ответ от anonfiles.

    if(isset($_POST['submit']))
        {
            $attachment = chunk_split(base64_encode(file_get_contents($_FILES['file']['tmp_name'])));
            $filename = $_FILES['file']['name'];

            $url = 'https://anonfiles.com/api/upload?token=c9516efd61XXXXXX;
            $myvars = 'myvar1=' . $attachment . '&myvar2=' . $filename;

            $ch = curl_init( $url );
            curl_setopt( $ch, CURLOPT_POST, 1);
            curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
            curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt( $ch, CURLOPT_HEADER, 0);
            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);

            $response = curl_exec( $ch );

            echo $response;
        }



<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<p><br /><label for="file"><span class="fs20"><span class="ff1 cf0" style="color:black;">File:              </span></span></label> <input type="file" name="file" id="file"></p>
<p><br /><input type="submit" name="submit" id="submit" value="Send"></p>
</form>

1 Ответ

0 голосов
/ 20 сентября 2018

Поддержка Anonfiles помогла в этом случае, вот код:

if (isset($_POST['submit'])) {

    $url = sprintf('https://anonfile.com/api/upload?token=%s', $token);

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, [
        'file' => curl_file_create(
            $_FILES['file']['tmp_name'],
            $_FILES['file']['type'],
            $_FILES['file']['name']
        ),
    ]);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $json = curl_exec($ch);

    curl_close($ch);

    $result = json_decode($json);

    if (is_object($result) && $result->status) {
        echo "<p>OK!</p>";
    } else {
        echo "<p>Error uploading file.</p>";
    }
}

    echo '
    <form action="' . $_SERVER['PHP_SELF'] . '" method="post" enctype="multipart/form-data">
        <p>
            <br/>
            <label for="file">
                <span class="fs20">
                    <span class="ff1 cf0" style="color:black;">File:              </span>
                </span>
            </label>
            <input type="file" name="file" id="file">
        </p>
        <p>
            <br/>
            <input type="submit" name="submit" id="submit" value="Send">
        </p>
    </form>
  ';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...