2013-07-28 4 views
0
에 경로 저장

데이터베이스의 이미지 경로를 저장하려고합니다. Windows 시스템에서 개발 중입니다. 내가 \public\covers 같은 상대 경로를 사용하려고하면데이터베이스/또는

C:\wamp\www\cheyenne\application/userfiles\test... 

나는 같은 오류가 "경로 : 내 데이터베이스에서

setDestination(APPLICATION_PATH . "/userfiles/") 

을 사용하고

나는 다음과 같은 경로를 또는 디렉토리가 존재하지 않습니다. "

전 webserver가 Linux의 Apache이기 때문에 2 번째 가능성을 선호합니다.

+0

그래서 당신이주는 경로는 존재하지 않는다고 들었습니다. 정확한 정보를 알려줍니다. 현재 디렉토리 *가 무엇인지 알아보고 이에 따라 경로를 변경하십시오. 또한, 당신은 어디에 경로를 입력하는거야? 명령 줄? PHP가 포함되어 있습니까? – BLaZuRE

+0

예 감사합니다! 나는 다음과 같이 변경했다 : -> setDestination (APPLICATION_PATH. "/../public/images/upload") 이제 데이터베이스에 C : \ wamp \ www \ cheyenne \ application /../ public과 같은 경로가 생겼다. /images/upload\minus.jpg 및 내 양식에 그림을 표시하는 데 문제가 있습니다. 나는 다음과 같은 경로가 필요할 것이다 : images/upload/minus.jpg. 따라서 질문은 다음과 같습니다. 어떻게 경로의 이름을 바꿀 수 있으며 파일 이름 앞에 백 슬래시를 어떻게 수정해야합니까? 나는 시도했다 -> addFilter ('Rename', "images/upload")하지만 임시 파일 이름에 문제가있다. –

답변

0

사진의 전체 경로를 데이터베이스에 저장하는 것은 좋지 않습니다. 상대 경로를 사용하고 데이터베이스 뷰를 사용하여 렌더링시 완전한 경로를 구축하는 것을 고려해야합니다 ... 내 관점은 응용 프로그램의 위치와 응용 프로그램 배포 방법을 알 수 있거나 알 수 없다는 것입니다.

예를 들어, 오늘은 교통 문제로 인해 같은 서버에 이미지를 저장하면 사진 전용 두 번째 서버에서 모든 사진을 이동합니다 ... 사진의 전체 경로를 저장하는 경우, 부분 경로를 변경하고 코드를 업데이트하기 위해 SQL 요청을 실행해야합니다. 상대 경로가 있다면 응용 프로그램 구성을 변경하기 만하면됩니다. 이 작업은 기본 구성을 무시하는 config.local 파일에서 수행 할 수 있습니다.

백 슬래시는 정상입니다. Windows를 사용하고 있습니다. 코드에서 기본 PHP 전역 변수 DIRECTORY_SEPARATOR 대신 "/"를 사용하십시오.

+0

예 APPLICATION_PATH에서 구멍 경로가 전달되었습니다. 당신은 요점을 가지고, 나는 상대 경로로 일하는 방법에 대한 정보가 거의 없다. config.local 파일에 대한 정보를 좀 더 주시겠습니까? 나는 때때로 레이아웃을 잃어 버리는 데 몇 가지 문제가있다. 그것은 같은 방향으로 맞는다. –