我的PHP脚本无法在000webhost服务器中保存图像文件。这是我的代码:
...
$decodedImage = base64_decode($image_encoded);
$mod_image_name = str_replace(' ', '', $image_name);
$path = "images/" . $mod_image_name . ".jpg"; // 'images' folder is inside 'public_html'
$is_written = file_put_contents($path, $decodedImage);
// to verify variables using MySQL
$query = "INSERT INTO `id2-mydb`.`my_table`
(`id`, `image_name`, `image_code`)
VALUES (NULL, '$image_name', '$image_encoded')";
mysqli_query($conn, $query);
字符串图片$image_encoded
来自Android处理的Base64.encodeToString
,Android端和数据传输工作正常。当$image_encoded
插入MySQL数据库时,我可以将代码复制粘贴到base64decode.org中,然后生成所需的图像。
我的000webhost文件管理器文件夹如下所示:
FTP传输已开启。
我不确定我在此过程中缺少什么,以及为什么它根本没有在路由文件夹中保存图像,我们将不胜感激。
答案 0 :(得分:1)
你可以这样做:
$path = __DIR__ . "/../images/" . $mod_image_name . ".jpg";
由于图像是php_folder的兄弟,我认为这个脚本在PHP文件夹中。
您还应该检查返回值是否成功,并确保Web进程具有images
的写入权限