PHP 웹 서비스에 일부 데이터를 전송하는 모바일 애플리케이션이 있습니다. 데이터는 일부 텍스트 항목과 base64로 인코딩 된 문자열 (이미지로 디코딩 됨)로 구성됩니다.이미지 파일 경로를 PostgreSQL 데이터베이스에 삽입하십시오.
일부 데이터 열에 텍스트 데이터를 저장 한 다음 업로드 된 이미지의 파일 경로가 포함 된 최종 텍스트 열을 저장하려고합니다. 나는 usersImages/
이라는 디렉토리를 가지고 있는데, 사용자가받은 모든 이미지를 저장하고 싶습니다. 그러나 데이터를 업로드 할 때 PHP 스크립트는 현재 데이터베이스에 아무 것도 삽입하지 않습니다.
PHP 파일 : 나는 모든 데이터가 이미지 I에 대한 경로를 포함하는 마지막 열 imagepath
텍스트로 저장할
을 : 내가 원하는 무엇
$conn = pg_connect("database_credentials");
/* GET DATA */
$name = $_POST['name'];
$s_name = pg_escape_string($name);
$description = $_POST['desc'];
$s_desc = pg_escape_string($description);
$latitude = $_POST['lat'];
$longitude = $_POST['lng'];
$project = $_POST['project'];
$encoded_photo = $_POST['snap'];
echo $encoded_photo;
$photo = base64_decode($encoded_photo);
header('Content-Type: bitmap; charset=utf-8');
$file = fopen('usersImages/test.jpg', 'wb');
fwrite($file, $photo);
fclose($file);
$res = pg_query("INSERT INTO records (name, description, latitude, longitude, project, imagepath) VALUES ('$s_name', '$s_desc', '$latitude', '$longitude', '$project', '$file')");
방금 업로드했지만, 지금은 성공하지 못했습니다. 어떤 아이디어?
이름 충돌의 위험이 있으므로, I는 파일명과 인간 주어진 이름 대신 [-OSSP UUID]를 사용하여 고유의 식별자 (http://www.postgresql.org를 사용하지 않을 /docs/current/interactive/uuid-ossp.html) 모듈을 참조하십시오. –
@ClodoaldoNeto 귀하의 조언에 감사드립니다. 현재 순전히 코드를 테스트 중이므로 사용자는 모바일 애플리케이션에 자신의 파일 이름을 입력하고 고유 한 ID가 할당됩니다. – WebDevDanno