PHP-使用URL移动文件

时间:2015-01-20 01:27:42

标签: php

所以情节是,我有一个电子商务网站,涉及用户上传文件和细节,文件和链接的链接;详细信息的文本保存在文本文件中。所有这些东西都上传到一个临时文件夹中。

我整合的支付系统是Paypal。我有Paypal向IPN发送回复。在此文件中,我发送了一些电子邮件,但我也希望将文件移动到永久文件夹中,从而编辑文本文件中的链接。但我似乎无法正确访问这些文件。

这是我的错误代码:

file_get_contents( ../uploads/tmp/file/*FILE NAME HERE*.doc) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /home/*username here*/public_html/*name*/*dir*/ipn.php on line 103

PHP Warning:  file_put_contents( ../uploads/tmp/file/*FILE NAME HERE*.doc) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory in /home/*username here*/public_html/*name*/*dir*/ipn.php on line 103

PHP Warning:  copy( ../uploads/tmp/file/*FILE NAME HERE*).doc) [<a href='function.copy'>function.copy</a>]: failed to open stream: No such file or directory in *link to ipn.php* on line 106

//这是我的代码

if ($key ==  'Book File '){
    $oldBookFileName = $result['Book File '];
    $oldBookLink = str_replace('*BASE URL IS HERE*',     '../',$oldBookFileName);
    if (strpos($result['Book File '],'/tmp/') !== false) {
        $newBookFileName = str_replace("/tmp/","/perm   /",$oldBookFileName);
        $newBookLink = str_replace('*BASE URL IS HERE*', '../',$newBookFileName);
    }
    //update file names in file & move files
   //include ('updatefile.php');
   file_put_contents($oldBookLink, str_replace($oldBookFileName,     $newBookFileName, file_get_contents($oldBookLink)));
    //copy/move files from tmp to perm
    copy($oldBookLink, $newBookLink);
    }

我尝试使用完整路径(www.example.com/dir/file.php)并使用相对路径(../dir/file.php)。此外,所有链接都是正确的,我在电子邮件中回复它们并且它们是正确的。

任何人都知道我做错了什么?什么完全迟钝?请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:1)

你可能有相对路径错误。尝试使用realpath()来查看PHP实际使用的路径。

对于完整路径,您需要使用服务器上的路径,而不是http URL。所以像/home/username/public_html/dir/filename.doc而不是www.example.com/dir/filename.doc