내 안드로이드 응용 프로그램에서 사용자 업로드를 구현하려고합니다. 어떤 이유로 아래 코드가 이미지를 업로드 할 수없는 것 같습니다. 즉, 데이터베이스 항목이 완료되었지만 폴더에 이미지가 없습니다. 누군가가이 일을 도울 수 있습니까? 이 튜토리얼을 따라 갔다. https://www.simplifiedcoding.net/android-upload-image-to-server/ 데이터베이스 엔트리에서 사용 된 경로를 볼 수 있기 때문에 경로가 정확하다.안드로이드 애플 리케이션, 데이터베이스 항목 삽입에서 업로드하지만 이미지가 삽입되지 않았습니다
<?php
require_once 'dbDetails.php';
$upload_path = 'usr_upload/';
$server_ip = gethostbyname(gethostname());
$upload_url = 'http://'.$server_ip.'/wallpaper/games/'.$upload_path;
$response = array();
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['name']) and isset($_FILES['image']['name'])){
$con = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME) or die('unable to connect to database ');
$name = $_POST['name'];
$fileinfo = pathinfo($_FILES['image']['name']);
$extension = $fileinfo['extension'];
$file_url = $upload_url . getFileName() . '.'.$extension;
$file_path = $upload_path. getFileName(). '.'.$extension;
try{
move_uploaded_file($_FILES['image']['tmp_name'], $file_path);
$sql = "INSERT INTO images (url, name) VALUES ('$file_url','$name')";
if(mysqli_query($con,$sql)){
$response['error'] = false;
$response['url'] = $file_url;
$response['name'] = $name;
}
}catch(Exception $e){
$response['error'] = false;
$response['message'] = $e->getMessage();
}
mysqli_close($con);
}else{
$response['error'] = true;
$response['message'] = 'Please choose a file';
}
echo json_encode($response);
}
function getFileName(){
$con = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME) or die('Unable to connect');
$sql = "SELECT max(id) as id FROM images";
$result = mysqli_fetch_array(mysqli_query($con,$sql));
mysqli_close($con);
if($result['id']==null){
return 1;
}else{
return ++$result['id'];
}
}
생성 된 오류 로그는 다음과 같습니다
PHP 경고 : 인 move_uploaded_file() : DOMAINNAME.COM/wallpaper/에 'usr_upload/3.JPG'에 '/ tmp를/phpSv15lI'을 이동할 수 없습니다 games/usr_upload/upload.php on line 28
[https://www.w3schools.com/php/php_file_upload.asp]이 코드를 사용하여 파일을 업로드 할 수 있습니다. – Anonymous
폴더에 쓸 수 없으므로 가능성이 높습니다. HTML 양식은 알 수 없으므로 실패하지 않는지 확인하십시오. –
@ HK007 귀하가 보낸 링크에 404가 없습니다. –