php - 上传并存储图像到服务器时为 0 kb

标签 php android mysql image

我有一个名为images的表。它有两列 idimage (varchar300)。我有这个代码 upload.php :

<?php 
if($_SERVER['REQUEST_METHOD']=='POST'){
$image = $_POST['image'];
require_once('dbConnect.php');
$sql ="SELECT id FROM images ORDER BY id ASC";
$res = mysqli_query($con,$sql);
$id = 0;
while($row = mysqli_fetch_array($res)){
$id = $row['id'];
}
$path = "uploads/$id.png";
$actualpath = "/home/kinanday/public_html/$path";
$sql = "INSERT INTO images (image) VALUES ('$actualpath')";

if(mysqli_query($con,$sql)){
file_put_contents($path,base64_decode($image));
echo "Successfully Uploaded";
}
mysqli_close($con);
}else{
echo "Error";
}

这是 upload.html :

<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image" />
<button>Upload</button>
</form>
</body>

问题是:它保存到我的数据库中,但 Cpanel 中文件管理器中的图像为 0kb

我正在使用此代码集成到我的 Android 应用程序,该应用程序需要 varchar 类型的图像。所以在我的应用程序中不会显示任何图像,因为图像是 0KB。

任何人都可以先修复我的 php.ini 文件吗?每个答案对我都非常有帮助。提前致谢。

最佳答案

您需要使用 $_FILES 超全局变量,正如 @Fred-ii- 所说。 但 $image = $_FILES['image'] 是一个数组,请在此处查看它的选项: http://php.net/manual/en/features.file-upload.post-method.php

示例:

$image_name = $_FILES['image']['name'];
$image_size = $_FILES['image']['size'];
$image_tmpname = $_FILES['image']['tmp_name'];  // this is a temporary name that php uses on every upload he does.
$image_type = $_FILES['image']['type'];
$image_error = $_FILES['image']['error'];

关于php - 上传并存储图像到服务器时为 0 kb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40495375/

相关文章:

php - 添加数据库结果的时间部分?

php - 垃圾回收在 PHP 中是如何工作的?即,如何清理局部函数变量?

为 XMLReader 安装 php-xml 时,php54 与 php53 常见冲突

android - 如何布局文本以围绕图像流动

java - Android - 函数无法识别返回名称

mysql - 我的 spring+hibernate 应用程序不关闭 jdbc 连接

php - 如何在基于 Linux 的 Web 服务器上安装 wkhtmltopdf 0.12.0 及更高版本?

php - mySQL 使用数据表进行搜索

java - 如何修改 MediaRecorder 源以允许暂停/恢复录制

mysql - 从触发器调用的存储过程中的动态语句的解决方法