所以情节是,我有一个电子商务网站,涉及用户上传文件和细节,文件和链接的链接;详细信息的文本保存在文本文件中。所有这些东西都上传到一个临时文件夹中。
我整合的支付系统是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)。此外,所有链接都是正确的,我在电子邮件中回复它们并且它们是正确的。
任何人都知道我做错了什么?什么完全迟钝?请帮忙。
谢谢。
答案 0 :(得分:1)
你可能有相对路径错误。尝试使用realpath()来查看PHP实际使用的路径。
对于完整路径,您需要使用服务器上的路径,而不是http URL。所以像/home/username/public_html/dir/filename.doc
而不是www.example.com/dir/filename.doc