2012-03-02 1 views
0

나는 함께 놓은 뮤직 플레이어에 대한 동적 재생 목록을 만들고 있습니다. 재생 목록은 외부 .txt 문서에 저장됩니다. 예를 사용하겠습니다. 나는 변수가 있습니다미리로드했지만 비어있는 txt 문서에 javascript var = "some text"를 작성하십시오.

playlist="track_1" 

페이지에있는 것은의 이름을 포함하는

function add_track() 
    { 
    playlist=playlist+" track_2" 
    ...What I need here is some way to put the playlist variable into a txt doc 
    } 

버튼은 PHP에 의해 생성됩니다 머리에 스크립트에서 버튼

<button onclick="add_track()"> 

입니다 재생 목록 변수 문자열에 추가 할 트랙. Document.write는 모든 것을 변수의 내용으로 대체하므로이 함수에 완벽합니다. 불행히도 버튼이 지정된 외부 파일이 아닌 문서를 대체합니다.

+0

브라우저 컨텍스트에서 텍스트 문서 란 무엇을 의미합니까? 사용자 컴퓨터에 텍스트 파일을 만드시겠습니까? 빈 문서는 열 수 없지만 사용자가 준비한 텍스트를 다운로드하게합니다. –

+0

텍스트 파일을 서버의 트랙의 영구 저장 장치로 사용 하시겠습니까? 그런 다음이 파일을 관리하는 서버 측 프로 시저를 작성해야합니다 (예 : PHP 스크립트. 그런 다음 아약스를 사용하여이 스크립트를 호출하고 track-name을 서버에 전달할 수 있습니다. – Simon

+0

당신은 실제로 당신의 시나리오와 당신이하고자하는 것에 대해 더 많은 정보를 제공해야합니다. 더 많은 정보를 제공할수록 더 좋은 답변을 얻을 수 있습니다. –

답변

2

그럼 당신은 파일에 JSON 객체를 만들고 file1.json

{ "playlist" : "track1" } 

당신이 그것을 읽을 때에만 작동 과정의 사용

$.getJSON("file1.json", function(data){ 
    var playlist=data.playlist+" track_2" 
}); 

로 저장할 수, 쓰기 .json 파일에 PHP 나 기타 서버 측을 사용해야합니다.

2

자바 스크립트가있는 파일에는 아무 것도 쓸 수 없습니다. 서버 측 솔루션이 필요합니다.

예 : 당신은 TXT 파일 당신이 파일에 추가/쓰기 PHP를 사용할 필요가

0

에 뭔가를 쓰는 PHP 스크립트에 아약스 호출을 가질 수 있습니다. 당신은 파일에 추가/작성하는 PHP 스크립트를 호출하는 jQuery.ajax() 기능을 사용할 수 있습니다 :

jQuery('#buttonId').live('click',function(event) { 
    $.ajax({ 
     url: 'write-file.php', 
     type: 'POST', 
     dataType: 'json', 
     data: { 
      playlist: "track_1" 
     }, 
     success: function(data) { 
      for(var id in data) { 
       alert(data[id]); 
      } 
     } 
    }); 
    return false; 
}); 

쓰기 file.php(이 같은) 당신이 쓰기하려면

$myFile = "testFile.txt"; 
$fh = fopen($myFile, 'a'); 
fwrite($fh, $_POST['playlist']); 
fclose($fh); 

// echo status here in json format 
0

재생 목록 클라이언트 측에서 당신은 html5 파일 시스템 API를 사용할 수 있습니다. http://www.html5rocks.com/en/tutorials/file/filesystem/

+0

그러면이 웹 사이트의 가상 파일 시스템이 생성됩니다. 이것은 OP가 원하는 것일 수도 아닐 수도 있습니다. –

0

당신이 실제로 수행하려는 작업에 따라, 당신은 당신의 텍스트를 포함하는 data URI와 새 브라우저 창을 열 수 :

window.open('data:,' + encodeURIComponent(playlist)); 

사용자는 다음 문서를 저장한다. 재생 목록의 크기는 허용 된 URI 길이로 제한됩니다. 여기

는 예입니다 : 모든 도움 http://jsfiddle.net/UjzsG/

0

덕분에, 처음으로 나는 바보 같은 질문을하고 정말 좋은 대답을 가지고있다. 내가 조금 두껍습니다. PHP를 지금 필요로하지는 않지만 나중에 재생 목록을 저장하고 싶습니다. 동적 인 재생 목록을 만들기 위해 실현 된 배열을 변수의 문자열로 유지하고 문자열을 트랙에 추가 한 다음 목록을 읽는 각 함수에서 eval (재생 목록)을 호출합니다.

var playlist = 'var tracks = new Array("track_00","track_01"'; 
var end_bit = ');'; 
var playlist_full = playlist+end_bit; 

그런 다음
function AddTrack() 
{ 
playlist=playlist+'"track_02"'; 
} 

물건

를 추가하고 그것을 모든 조언을

function ReadTrack() 
{ 
playlist_full = playlist+end_bit; 
eval(playlist_full) 
document.getElementById("current_track").innerHTML=tracks[2]; 
} 

다시 환호를 읽을 수 있습니다.

관련 문제