2014-02-06 7 views
3

한 컴퓨터에서 lan 네트워크에 연결된 다른 컴퓨터로 파일을 복사해야합니다. 저 두 대의 기계의 IP 주소가 있습니다. 이것을 달성하기 위해 이와 같은 코드를 사용했습니다.왜 PHP가 LAN의 공유 폴더로 파일을 복사하지 못합니까?

$file = 'file.text';// inside htdocs folder 
$newfile = '\\\\192.168.1.15\\htdocsfolder\\'; 
if (copy($file, $newfile)) { 
    echo "Copy success!"; 
}else{ 
    echo "Copy failed."; 
} 

복사가 실패했습니다. 디버깅하는 방법, 파일이 다른 컴퓨터 htdocs 폴더로 복사되지 않는 이유는 무엇입니까? 두 컴퓨터에서 공유 액세스를 변경해야합니까?

도와주세요. 감사합니다.

답변

0

Windows 시스템에있는 것 같습니다. 여기에 몇 가지 염두에 두어야하고 (같은 주제의 변형되는)를 확인할 수 있습니다 :이 예약 된 작업/배치 작업 인 경우

  1. , 터미널에서 실행을 시도하고 어떤을 확인 오류는 (상대 경로에주의) 얻을 수 있습니다 :

    C:\> path-to-php script.php

  2. 을 그렇지 않으면, 당신은 웹 서버의 사용자로 실행하고 아래를 참조 할 수있는 경우 :

    • W를 ebserver 프로세스는 쓰기 액세스가 \\192.168.1.15\htdocsfolder이고 읽기 액세스는 htdocs folder이어야합니다.
    • 웹 서버 프로세스가 실행되는 사용자를 확인하십시오. 좋아하는 프로세스/작업/서비스 관리자를 사용하여 정확한 사용자 이름을 확인하고이 사용자에게 필요한 액세스 모드가 있는지 확인하십시오.
    • Active Directory 환경에있는 경우 위에서 식별 한 사용자 이름에 액세스 권한을 부여하십시오.
    • OTOH가 LAN에있는 경우 사용자 이름이 존재하고 (유효한 사용자 임) 두 컴퓨터에서 모두 동일한 암호를 사용하는지 확인하십시오.
    • 모든 사람에 대한 사용 권한이 필요하지 않습니다. (일반적으로 나쁜 것입니다.)
    • MS와 Windows는 선택하지 말고 "내 컴퓨터 관리"-> "공유 컴퓨터"에서 공유 및 사용 권한을 확인하십시오. 시스템 도구 "->"공유 폴더 "as specified by Microsoft

디버깅 하드, 당신은 구글과 SO 당신의 친구, 당신의 자신에 대한 더 많은 연구를해야 할 것이다.

0

PHP 스크립트를 실행하는 사용자에게 원격 파일 시스템에 대한 액세스 권한이 있는지 확인하십시오. 스크립트가 Linux에서 실행되면 원격 공유를 마운트하는 데 유용합니다. 그냥 코드를 추가하면됩니다.