2013-02-10 91 views
0

我当然不是PHP的专家,并且已经彻底冲浪,但没有找到与此相关的任何内容。可能意味着这个问题很愚蠢,但我试图在注册时创建一个新的php文件(所以为每个注册用户提供rss提要),并且我已经管理到目前为止创建了一个漂亮的空文件。下面是我写在最后一个测试文件的代码,用GET功能:如何从模板创建一个新的PHP文件

$USR = $_GET['usr']; 
$FILE=$USR.'.rss.php'; 
$file1 = 'rssdemo.php'; 
$handle = fopen($file1, 'a'); 
$contents = fread($handle, filesize($file1)); 
fclose($handle); 
     $file2 =$FILE; 
     $handle = fopen($file2, 'wb'); 
     fwrite($handle, $contents); //this should write something but does nothing 
     fclose($handle); 

正如你所看到的,我想从复制的文件是一个PHP文件(即应在其依次产生XML文件)。 有没有办法创建一个新的PHP文件,打开一个旧的,复制它的内容并将其粘贴到新创建的文件?或者,也许fwrite()只能用于文本?请帮助一些!提前致谢。

+4

为什么你需要为每个用户创建一个文件?为什么不能有一个函数根据他的用户名为每个用户提供rss feed?我认为这个问题不是愚蠢的,但它不是很清楚你想达到什么。 – 2013-02-10 22:40:47

+3

不要这样做!如果你想更新你的rss脚本中的代码呢?你打算为654642用户更改文件吗? – greg0ire 2013-02-10 22:45:46

回答

1

你应该只是有每个用户一个网址,例如:http://www.example.com/index.php/greg0ire/rss

使用重写规则,这样的index.php被调用和分析将“greg0ire/rss”部分路由到具有用户参数的Rss操作,并将“greg0ire”作为参数传递给它。

+0

谢谢,这是实际上比我想要做的更容易!我回来了,因为我已经找到了我自己的问题的答案(这里是我透露的愚蠢): $ USERNAME = $ _GET ['usr']; $ FILE = $ USERNAME。'。rss.php'; $ file1 ='demorss.php'; $ handle1 = fopen($ file1,'a +'); $ contents = fread($ handle1,filesize($ file1)); $ file2 = $ FILE; $ handle = fopen($ file2,'wb'); fwrite($ handle,$ contents); fclose($ handle); fclose($ handle1); ?> – tattvamasi 2013-02-10 23:33:04

-1

您可以使用PHP copy功能:

copy("source/file.php", "destination/file.php"); 
+1

虽然这是可能的,但为每个用户创建一个PHP文件是一个非常糟糕的主意。 – ceejayoz 2013-02-10 22:52:26

+0

我只是回答“有没有办法创建一个新的php文件,打开一个旧的,复制它的内容并将其粘贴到新创建的文件?”,但这是真的,在这种情况下,这不是最好的解。 – sergiold 2013-02-10 22:56:15

+0

感谢这个讨论非常有帮助。我曾经在某处看到过它,它有一个简单的函数,它为用户生成的RSS订阅源创建一个新文件,并试图为每个用户创建一个php文件,实际上可以像所有人说的那样非常容易地失控。因为虽然我甚至无法将模板文件的内容复制到新生成的文件中,但我认为最好不要花费数小时的时间(实际上我刚刚发现我正在复制反转) – tattvamasi 2013-02-10 23:49:32

相关问题