使用opendir()
时,我的文件路径出现问题。我收到以下警告:
PHP警告:opendir(/ uploads / users / 405 / images / profile / profilepic /) [function.opendir]:无法打开目录: 在......中没有该文件或目录 第1059行/home/my_folder/public_html/models/photos.php
photos.php
中的行1059具有以下内容:
if ( ( $handle = opendir( $profile_pic_path ) ) ) { // do stuff }
其中:
$profile_pic_path = '/uploads/users/405/images/profile/profilepic/';
我尝试了几种不同的东西,但我无法让它工作(我在错误日志中不断收到PHP警告消息)。
我做错了什么?
答案 0 :(得分:2)
/
意味着 - 绝对路径。
你应该使用绝对或相对路径:
$profile_pic_path = dirname(__FILE__).'/uploads/users/405/images/profile/profilepic/';
或
$profile_pic_path = 'uploads/users/405/images/profile/profilepic/';
如果您的脚本位于上传目录的同一目录中,则此方法有效。
如果您的脚本在子目录中(例如lib / tests / test.php),并且您没有初始化全局$ basepath:
$profile_pic_path = dirname(dirname(dirname(__FILE__)))
.'/uploads/users/405/images/profile/profilepic/';
通常在逻辑顶部的某处使用全局或常量基础(例如在config / main.php中):
global $basedir=dirname(dirname((__FILE__));