2012-07-28 8 views
0

다음 코드는 나도 같은에서 동일한 코드를 생성 할 PHP는 자동 같은 파일

$path = "./files/"; 
$path2="http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["PHP_SELF"])."/files/"; 
//echo $path2; 
$folder = opendir($path); 
$start="<asx version='3.0'>\n<title>Example ASX playlist</title>"; 
$Fnm = "./playlist.php"; 
$inF = fopen($Fnm,"w"); 
fwrite($inF,$start."\n"); 
while($file = readdir($folder)) { 
if (($file != '.')&&($file != '..')&&($file != 'index.htm')){ 
$result="<entry>\n<title>$file</title>\n<ref href='$path2$file'/>\n<param name='image'  value='preview.jpg'/>\n</entry>\n"; 
    fwrite($inF,$result); 
} 
} 
fwrite($inF,"</asx>"); 
closedir($folder); 
fclose($inF); 
변수 $ 시작 $ 결과에서와 같이 코드를 포함하는 새 PHP 파일 playlist.php을 생성에 코드를 생성 이 코드가 지정된 행 번호 에있는 파일이 가능합니까?

위의 PHP 스크립트는이 다시 현재 파일의 소스 코드를 얻을 수 http://tinypaste.com/ff242cd6

+0

실제 PHP 코드가없는 PHP 파일을 생성하려고합니까? 왜? –

+0

나는 여기 PHP 코드를 포함하지 않는다는 것을 알고있다 이 코드는 PHP 태그 아래에 생성 될 것인가?> – user1528878

+0

나는이 질문을 이해하지 못한다. "동일한 코드"와 "동일한 파일"의 의미를 신중하게 설명해 주시겠습니까? – octern

답변

0

여기에 추가하는 방법은 다음과 같습니다

$path = "./files/"; 
$path2="http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["PHP_SELF"])."/files/"; 
//echo $path2; 
$folder = opendir($path); 
$start="<asx version='3.0'>\n<title>Example ASX playlist</title>"; 
$Fnm = "./playlist.php"; 
// build content 
$fileContent=$start.'/n'; 

while($file = readdir($folder)) { 
if (($file != '.')&&($file != '..')&&($file != 'index.htm')){ 
$result="<entry>\n<title>$file</title>\n<ref href='$path2$file'/>\n<param name='image'  value='preview.jpg'/>\n</entry>\n"; 
    //append to content 
$fileContent .= $result; 
} 
} 
    //append to content 
$fileContent .= "</asx>"; 

// append to file and check status 
if (file_put_contents(__FILE__ , $fileContent , FILE_APPEND) === false) 
{ 

echo "failed to put contents in ".__FILE__."<br>"; 

} 

... 그것을해야 그

편집 : 나는 그것으로 도착하기 전에, 먼저 몇 가지 기본을 살펴해야

좋아 그물 전체에서 찾을 수있는 PHP 자습서.

SO, 대신 파일에 내용을 쓰는, 그냥 에코, 당신은 에코 동안 동적 물건을 추가

$title='the title of your playlist'; 

$start="<asx version='3.0'>\n<title>".$title."</title>/n"; 

while($file = readdir($folder)) { 
if (($file != '.')&&($file != '..')&&($file != 'index.htm')){ 
$result="<entry>\n<title>$file</title>\n<ref href='$path2.$file'/>\n<param name='image'  value='preview.jpg'/>\n</entry>\n"; 
} 
} 

$endCont = $start.$result."</asx>"; 

echo $endCont; 

내가 $title라는 새로운 변수를 만들었습니다. 그 값은 출력에서 ​​생성 된 제목이됩니다. <entry>\n<title>$file</title>처럼 다른 태그로도이 작업을 수행 할 수 있습니다.

+0

예 작동하지만 특정 줄에서 작동하지 않습니까? 왜냐하면 실제로 특정 라인의 동일한 파일에있는 태그 사이에 일부 코드를 동적으로 생성하기를 원하기 때문에 매우 중요합니다. – user1528878

+0

바로 그 이유는 실제로 파일에 내용을 쓰지 않고 내용을 출력하는 것입니다. 그렇게하면 태그 사이에 동적 데이터를 쉽게 추가 할 수 있습니다. –

+0

동일한 동적 코드를 인쇄 할 수 있습니까? 쓰기 대신에 – user1528878

0
echo highlight_file(__FILE__,true); 

http://www.php.net/manual/en/function.show-source.php

새 파일에 다음 코드를 생성합니다.

+0

이 스크립트에서 언급 한 바와 같이이 코드가 포함 된 index.php가 있습니다./code는 두 번째 코드에서 언급했듯이 다른 코드를 생성하지만 별도의 PHP 파일에서 동일한 코드를 생성하려고합니다 지정된 줄 번호에 같은 index.php에 코드 예를 들어 10 행 – user1528878

+0

그것은 오히려 비명 소리, 왜해야합니까? 일반적으로 스크립트 파일이 동적으로 변경되는 것을 피할 수 있습니다. 누군가가 말하는 가장 좋은 방법은 실제로 각각의 복사본을 만들어 원래 파일 대신 조작하는 것입니다. – Opi

+0

실제로 특정 줄의 동일한 파일에있는 태그 사이에 코드를 동적으로 생성하려고합니다. 매우 중요합니다. – user1528878