2010-06-29 11 views
5

도메인에 사이트가 있습니다. 사람들이 로그인 할 수있는 "mydomain.com"이라고합시다. 이 도메인의 하위 도메인은 sub.mydomain.com입니다.PHP : 도메인에서 하위 도메인으로 파일 이동

사용자가 주 도메인에 파일을 업로드 할 때 에있는 uploads 폴더로 이동하려고합니다. 파일을 이동하려는 폴더에 전체 쓰기/읽기 권한이 있습니다. 테 파일을 업로드

내 코드 :

$filename = 'background_' . $_SESSION['username'] . '.jpg'; 
if (is_uploaded_file($_FILES['background']['tmp_name'])) 
    { 
     move_uploaded_file($_FILES['background']['tmp_name'], 
     "/var/www/vhosts/mydomain.com/subdomains/sub/httpdocs/uploads/" . $filename); 
    } 

나는 다음과 같은 경고/오류 얻을이 코드를 실행 :

Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/var/www/vhosts/mydomain.com/subdomains/sub/httpdocs/uploads/background_User.jpg) is not within the allowed path(s): (/var/www/vhosts/mydomain.com/httpdocs:/tmp) in /var/www/vhosts/dezeactie.nl/httpdocs/opmaak.php on line 152 

아무도 내 문제에 대한 해결책을 가르치 려 수 있습니까?

마지막주의 사항 : 하위 도메인에서 로그인을 수행하여 직접 파일을 업로드 할 수 있다는 것을 알고 있지만 다른 목적으로 메인 도메인에 로그인을 유지하고 싶습니다.

미리 감사드립니다.

위르겐

+0

개인적인 애완 동물 : 호스팅 서비스에서 * 웹 사이트 * 또는 더 구체적으로 * 우리가 가질 수있는 * 2 급 웹 사이트를 동의어로 사용할 때 * 하위 도메인 *이라는 용어는 싫지만 우리는 여전히 비싼 계획 * 시장을 떠납니다. :) –

답변

2

호스팅 서비스는 스크립트가 각 가상 호스트의 httpdocs 디렉토리와 공유 /tmp 디렉토리 이외의 물건을 할 수 없습니다. 이는 사이트 간의 정보 교환 가능성을 심각하게 제한합니다. 내가 생각할 수있는

트릭 :

  1. 스토어 임시 소스 사이트에서 /tmp 디렉토리에있는 파일과 파일을 가져 오기 위해 대상 사이트에서 프로세스를 트리거합니다. 컬 기능을 사용하여 그렇게 할 수 있습니다.

  2. 파일을 공통 데이터베이스에 저장하십시오. 저장 용량은 사이트 성능에 영향을 줄 것이라고 생각되면 영구적 일 필요는 없습니다. 대상 사이트는 보류중인 파일이 있는지 여부를 확인하기 만하면됩니다.

  3. 대기열 (아마도 httpdocs 안에있는 특수 디렉토리)에 파일을 추가하고 명령 줄 스크립트를 작성하여 대상 사이트로 밀어 넣으십시오. cron으로이 명령을 실행하십시오 (매분마다 한 번 말하십시오).

IMHO, # 2는 실현 가능하고 신뢰할 수 있습니다.

+0

어쩌면 php.ini를 변경하는 것이 불가능한 어딘가에서 호스팅되지 않았을 수 있습니까? – hop

+0

답장을 보내 주셔서 감사합니다. # 2는 실제로 볼 수있는 옵션처럼 보입니다. – Jurgen

0

오류 메시지에서 알 수 있듯이 파일 액세스는 지시문이있는 특정 디렉토리로 제한됩니다 (php.ini).

서버 구성에 액세스 할 수 있으면 변경할 수 있습니다.

+0

어, 예, 완전히 간과 한 명백한 가능성 :) –

+0

open_basedir에서 내가 무엇을 바꾸기를 원하는지 불분명합니다. 몇 가지 추가 설명을 주시겠습니까? 예를 들어'/ var/www/vhosts/mydomain.com/httpdocs'를 메인 디렉토리로,'/ var/www/vhosts/mydomain.com/subdomains/sub/httpdocs'를 서브 도메인으로 할 때? – Jurgen

+0

@ 주르겐 (Jurgen) : 나는 당신이 아무것도 신경 쓸 수 없기 때문에 나는 아무것도 바꾸지 않기를 바란다. 특히 당신이 직접 노력하지 않는 것 같기 때문에, 심지어는 좀 더 유용한 정보를 제공하려하지 않습니다. – hop

0

하위 도메인에 대한 심볼릭 링크를 생성하지 않은 다음 sub.domain.com url을 통해 이미지에 도달하지 않으시겠습니까?

관련 문제