2014-11-02 2 views
0

PHP & MySQL을 배우고 있습니다. 위대한 사이트 및 기타 리소스 덕분에 mp3 데이터베이스를 읽는 법을 배웠습니다파일 위치를 버리고 파일 이름 만 남기도록 텍스트를 제거하는 방법

내 목표는 가사없이 노래를 식별하고 다른 폴더에있는 각 노래의 복사본을 만드는 것입니다. $row['filename']"C:/../../../nameOfArtist/nameOfAlbum/foo.mp3"과 같은 전체 위치를 반환합니다. 어떻게 처리해야할지 모르겠지만 해당 노래를 다른 디렉토리로 이동하면 해당 과정에서 아티스트 하위 디렉토리와 앨범 하위 디렉토리가 만들어집니다. 이름 구성 요소를 후행 반환 - 복사() - - 복사 파일

http://php.net/manual/en/function.basename.php - 기본 이름()

뭔가 여기

copy(($row['filename']), (C:/foo . '$row['artist'] . $row['album'] . "foo.mp3"); 같은 것은 지금까지

$result = mysqli_query($con,"SELECT id, artist, title, album, filename 
      FROM songlist 
         WHERE lyrics IS NULL or lyrics = '' "); 

while($row = mysqli_fetch_array($result)) { 
echo "Artist: " . $row['artist'] . "  Title: " . $row['title'] . "  Album: " . $row['album'] . "<br/>; 

$filename = $row['filename']; 
echo $filename . "<br/>"; 
+1

g MySQL에서 파일 복사를 수행 하시겠습니까? – wallyk

+0

첫 번째'echo'에 닫는'''이 없습니다. –

+2

'파일 위치를 버리고 파일 이름 만 버리는 방법은 무엇입니까? 'http://www.php.net/basename – Cheery

답변

0

http://php.net/manual/en/function.copy.php를 작동 할 수있을 것입니다 경로

$filename = $row['filename']; 
copy ($filename , "C:\\foo\\" . basename($filename)); 
+0

David 고마워요. . 나는 이것을 시도하고 다음과 같은 오류가 발생합니다 "Array ([type] => 2 [message] => copy (D : \ RadioMetaverse \ Artists in database \ Billy Joel \ The Complete Hits Collection 1973-1997- Limited Edition Disc 1 \ 02 Captain Jack.mp3) : 스트림을 열지 못했습니다. [file] => C : \ Program Files \ Windows Server \ Bin \ WebApps \ Site \ html5 \ noLyrics.php [line] => 37) "물론 거부되었습니다. 줄 37은 copy ($ filename, "C : \\ foo \\". basename ($ filename))이다. 그러나 나는 그것이 Windows 권한 일이라고 생각한다. IIS7이나 foo 폴더에 쓸 일이 없다. foo 폴더 만들기 – user3248497

+0

"foo"는 단지 예일뿐입니다. 물론 어디서나 복사 할 수 있습니다.하지만 액세스를 허용하려면 윈도우에 알려야합니다 : http://forums.iis.net/t/116764 5.aspx 및 http://www.addictivetips.com/windows-tips/windows-7-access-denied-permission-ownership/ – David162795

관련 문제