$dataURL = base64_decode(str_replace('data:image/jpeg;base64,', '', $_POST['dataURL']));
$image = imagecreatefromstring($dataURL);
$dataURL = base64_encode(file_get_contents('1.jpeg'));
$image = imagecreatefromstring($dataURL);
Это опечатка, или вы действительно в первом случае декодируете данные в двоичный формат, а во втором наоборот кодируете из двоичного в base64? document.write('<script src="...?v2"></script>');