我想将图像上传到服务器并将文件名保存在MySql中 . 我从Android应用程序的图像上传,我从Android应用程序发送所有必需的参数但在服务器中的复制图像仍然有问题 . 它回应“上传失败” .
<?php
$uploaddir = 'DocumentClient/';
$cid=$_POST['cid'];
$type = $_POST['type'];
$filetype = $_POST['filetype'];
include('../Config.php');
$conn = mysqli_connect("localhost","$username","$password","$db");
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
else
{
$_FILES["uploadedfile"]["name"]=$cid.$type.".jpg";
$uploadfile = $uploaddir . basename($_FILES['uploadedfile']['name']);
if (copy($_FILES['uploadedfile']['tmp_name'], $uploadfile))
{
$filename="DocumentClient/".$_FILES["uploadedfile"]["name"];
if($type == "Address"){
$sql = "Update `Clients` SET `DocAddress`='$filename' Where CID='$cid'";
}else if($type == "ID"){
$sql = "Update `Clients` SET `DocIdProof`='$filename' Where CID='$cid'";
}else if($type == "GramPanchayat"){
$sql = "Update `Clients` SET `DocGrampanchyat`='$filename' Where CID='$cid'";
}
if ($conn->query($sql) === TRUE)
{
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
else
{
echo "Upload failed";
}
}
?>
1 回答
我们从这里开始吧 . 我会将
copy()
函数更改为move_uploaded_file()
函数 .其次,您需要检查以确保下载目标的路径存在 . 如果没有,那么我们需要创建它 .
我们还需要确保文件夹/文件具有能够写入的权限 . 如果没有,则更改文件夹/文件权限 .
完成后,将文件夹/文件权限更改回原来的状态 .
像这样:
一些资源供您阅读 .
move_uploaded_file()
is_writeable()
chmod()
您还需要阅读文件权限以及如何正确设置它们 . 如果没有正确执行此操作,可能会导致不必要的安全问题 .
希望这可以帮助 .