Давайте начнем здесь.Я бы изменил функцию copy()
на функцию move_uploaded_file()
.
Во-вторых, вам нужно проверить, чтобы убедиться, что путь к месту назначения загрузки существует.Если этого не произойдет, нам нужно его создать.
Нам также необходимо убедиться, что у папки / файла есть права на запись.Если это не так, измените разрешение для папки / файлов.
Затем, когда закончите, измените права доступа к папке / файлам обратно на те, которые были изначально.
Примерно так:
$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']);
//Check to see if the folder exist.
if(!file_exists($uploaddir)) {
mkdir($uploaddir, 0777, true); //If it does not exist then create it and set permissions to be able to write.
}
//The folder does exist at this point. Check to see if it's writable.
if(!is_writable($uploaddir)){
chmod($uploaddir, 0777); //The folder is not writeable. Set the folder to be able to write.
}
if (move_uploaded_file($_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();
//Reset the permissions back to what you need them to be.
//You probably want 0755
chmod($uploaddir, 0755);
chmod($uploadfile, 0644); //Sets your new file to read only.
//Add this code below to test.
if(file_exists($uploadfile)) {
echo 'Your file exist.';
}else{
echo 'You file does not exist.';
}
}
else
{
echo "Upload failed";
}
}
Некоторые ресурсы для чтения.
move_uploaded_file ()
is_writeable()
chmod ()
Вы также захотите ознакомиться с правами доступа к файлам и узнать, как их правильно установить.Неправильное выполнение этого может оставить вас открытыми для нежелательных проблем безопасности.
Надеюсь, это поможет.