我有一个包含两个文件的子文件夹。第一个是email.php,用户可以发邮件给我。它也有一个类似于验证码的脚本来防止垃圾邮件,并使用$_SESSION[foo]
变量。第二个是upload.php,它允许注册用户上传文件。这两个文件工作正常。现在我需要为upload.php从基本2MB增加upload_max_filesize。我的主机不提供对主php.ini的访问,但建议我在这个子文件夹中创建一个自定义的php.ini文件。因此,我创建:
的php.ini
upload_max_filesize = 10M ;
post_max_size = 10M ;
我现在得到了错误Warning: include() [function.include]: Filename cannot be empty
和Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php')
当我提交email.php形式/验证码。
$_SESSION[foo]=$_GET[bar];
else $_SESSION[foo]="foobar.php";
include($_SESSION['foo']);
我发现$_SESSION[foo]
甚至与else
空。经过一番研究,我发现当我跑phpinfo()
那session.save_path
是no value
(原来是/ tmp)。所以,现在
的php.ini
upload_max_filesize = 10M ;
post_max_size = 10M ;
session.save_path = /home/foobar/tmp ;
但我仍然得到错误。如果我从这个文件夹中删除php.ini文件,那么email.php上的表单脚本就可以正常工作,但我回到upload_max_filesize
= 2MB for upload.php。任何帮助,将不胜感激。
我复制了这段代码,错过了第一部分的'if'语句和数组,我的错误很抱歉。我只是做了你在你的博客上推荐的cron工作。这工作完美,现在我的'phpinfo()'是正确的,两个页面都正常工作。谢谢。 – Sean 2011-04-06 05:17:26
@Sean你仍然盲目地包含一个基于查询参数的文件。这是*从不*一个好主意 – Phil 2011-04-06 05:26:50
我是新手,所以我感谢你的帮助。我继承了这个脚本,因为我已经接管了一个非营利性网站的管理。这是查询开始的脚本if(is_file($ _ GET [bar])和dirname($ _ GET [bar])=='。')$ _SESSION [foo] = $ _ GET [bar]; else $ _SESSION [foo] =“foobar.php”; include($ _ SESSION [foo]);' – Sean 2011-04-06 05:46:43