Как правильно изменить и скрыть место назначения загружаемых изображений? - PullRequest
3 голосов
/ 29 апреля 2019

Я использую код для загрузки обрезанного изображения с помощью Ajax и PHP.

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

код

if (isset($_POST["image"])) {
    $data = $_POST["image"];
    $image_array_1 = explode(";", $data);
    $image_array_2 = explode(",", $image_array_1[1]);
    $data = base64_decode($image_array_2[1]);
    $imageName = time() . '.png';

    file_put_contents($imageName, $data);

    echo '<img src="' . $imageName . '" class="img-thumbnail" />';
}

1 Ответ

2 голосов
/ 29 апреля 2019

Возможно, это не лучшая идея изменить это.

Однако, если вы хотите / должны изменить его, вам, вероятно, нужно изменить первую переменную вашего file_put_content($filename, $data);.

if (isset($_POST["image"])) {
    $data = $_POST["image"];
    $image_array_1 = explode(";", $data);
    $image_array_2 = explode(",", $image_array_1[1]);
    $data = base64_decode($image_array_2[1]);
    $imageName = time() . '.png';

    $filename = 'new/path/to/image/' . $imageName;
    file_put_contents($filename, $data);
}

Тогда это эхо, скорее всего, не будет работать:

echo '<img src="' . $imageName . '" class="img-thumbnail" />';

У вас может быть несколько вариантов, и этот вариант может быть лучшим: поскольку у вас есть изображения base64, вы можете следовать этому посту , чтобы отобразить его с помощью переменной $data.

Скорее всего, это будет выглядеть не совсем так:

echo '<img src="data:image/png;base64,' . $data . ';" class="img-thumbnail" />';

выход

Я не уверен в этом, вы можете проверить и отладить его:

if (isset($_POST["image"])) {
    $data = $_POST["image"];
    $image_array_1 = explode(";", $data);
    $image_array_2 = explode(",", $image_array_1[1]);
    $data = base64_decode($image_array_2[1]);
    $imageName = time() . '.png';

    $filename = 'new/path/to/image/' . $imageName;
    file_put_contents($filename, $data);

    echo '<img src="data:image/png;base64,' . $data . ';" class="img-thumbnail" />';

}

В этом посте вы можете прочитать о преимуществах и недостатках изображений base64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...