Странное поведение с простым строковым кодом PHP [закрыто]Php

Кемеровские программисты php общаются здесь
Anonymous
Странное поведение с простым строковым кодом PHP [закрыто]

Сообщение Anonymous »

Я хочу изменить изображение твита, поэтому я отправил изображение на сервер с помощью метода PUT в виде файла, закодированного с помощью base64
и когда я получаю это закодированное изображение, я декодирую его, используя $new_image = base64_decode( $base64_image); но неожиданное поведение заключается в том, что изображение еще не существовало в папке images/tweets_image и когда строка $old_image_source_path = __DIR__ . "/../images/tweets_image/tweet_" . $where_part["id"] . ".png"; выполняется
Я обнаружил, что отправленное мной изображение сохраняется в этой папке даже до того, как будет выполнено переименование строки ($old_image_source_path, $old_image_destination_path);
Итак, подведем итог:
обычно это переименование строки($old_image_source_path, $old_image_destination_path);, которое перемещает изображение в папку /images/tweets_image, но в в моем случае это строка $old_image_source_path = __DIR__. "/../images/tweets_image/tweet_". $where_part["id"] . ".png"; что он сделал
if (isset($set_part["tweet_image"])) {

$base64_image_parts = explode(";base64,", $set_part["tweet_image"]);

$base64_image = $base64_image_parts[1];

$new_image = base64_decode($base64_image);

// change the place of old image temporary

$old_image_source_path = __DIR__ . "/../images/tweets_image/tweet_" . $where_part["id"] . ".png";
$old_image_destination_path = __DIR__ . "/../images/tweets_image/temp/tweet_" . $where_part["id"] . ".png";

rename($old_image_source_path, $old_image_destination_path);

file_put_contents($old_image_source_path, $new_image);
}


Подробнее здесь: https://stackoverflow.com/questions/782 ... -line-code

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