如果我给出相对路径,为什么我找不到文件但是我可以用直接路径找到它?

时间:2012-11-15 08:52:52

标签: php mime

我尝试使用mime-> addAttachment()将附件添加到我即将发送的电子邮件

相对路径:../../clientdata/client1/attachments/file.txt

直接路径:/home/hosting/site.eu/html/ssl/clientdata/client1/attachments/file.txt

脚本位置:/home/hosting/site.eu/html/ssl/work/php_scripts/send_email.php

send_email.php使用:

执行
exec("php /home/hosting/site.eu/html/ssl/work/php_scripts/send_email.php");

我在这里找不到什么东西?

用于添加附件的代码:

$f = 'ssl.site.eu/clientdata/client1/attachments/file1.txt';  
$arr_file = explode('/', $f, 2);
$file_path = '/home/hosting/site.eu/html/ssl/'.$arr_file[1]; //this works
// $file_path = '../../'.$arr_file[1]; // this doesn't work;
$mime->addAttachment($file_path,'application/octet-stream');

2 个答案:

答案 0 :(得分:3)

请注意流程的工作目录。

现在,以下代码是否给出了当前路径? echo getcwd().$relative_path;

PHP getcwd()

答案 1 :(得分:0)

如果你包含一些相对于代码执行文件的PHP文件,你必须确保相对于进程的当前目录包含这些文件,但文件中不包含当前正在执行的代码。