У меня есть этот файл php: UploadToServer.php, который декодирует base 64 строку изображения и сохраняет ее как растровое изображение, когда я тестирую его с помощью Postman и выдаю ему строку, эта ошибка всплывает, я не очень знаком с php.
Это UploadToServer.php:
<?php
if (isset($_POST('image_encoded'))) {
$data = $_POST('image_encoded');
$file_path = "C:/wamp/www/android_api/Uploads/test.jpg";
// create a new empty file
$myfile = fopen($filePath, "wb") or die("Unable to open file!");
// add data to that file
file_put_contents($filePath, base64_decode($data));
}
?>
И это ошибка:
Fatal error: Cannot use isset() on the result of a function call (you can use "null !== func()" instead)
in C:\wamp\www\android_api\UploadToServer.php on line
Вы должны использовать $_POST['image_encoded']
, Идентификатор $ _POST является на самом деле массив, поэтому квадратные скобки должны быть квадратными. Чтобы проверить это самостоятельно, вы можете вывести print_r($_POST);
один раз, так как вы никогда не забудете это снова тогда.
Код станет:
<?php
if (isset($_POST['image_encoded'])) {
$data = $_POST['image_encoded'];
$file_path = "C:/wamp/www/android_api/Uploads/test.jpg";
// create a new empty file
$myfile = fopen($filePath, "wb") or die("Unable to open file!");
// add data to that file
file_put_contents($filePath, base64_decode($data));
}
?>
Других решений пока нет …