我已经完成了你的标准检查(是那里的目录,设置了足够的权限),我很确定我已经涵盖了你的标准愚蠢的人类技巧.这是失败的代码:
move_uploaded_file($_FILES['image1']['tmp_name'], "/public_html/flashsale/assets/img/products/T".$_FILES['image1']['name']);
Run Code Online (Sandbox Code Playgroud)
目录在那里 - 我从FileZilla复制了路径.我甚至在FileZilla和HostGator控制面板上的文件管理器中将权限设置为777.此代码生成两个警告:
消息:move_uploaded_file(/public_html/flashsale/assets/img/products/Tsirloin.jpg)[function.move-uploaded-file]:无法打开流:没有这样的文件或目录
消息:move_uploaded_file()[function.move-uploaded-file]:无法将'/ tmp/phpI5GZ3S'移动到'/public_html/flashsale/assets/img/products/Tsirloin.jpg'
以该顺序.因此,文件正在上传,目录存在并设置为777,我还能缺少什么?
问题
$dirpath = dirname(getcwd())
Run Code Online (Sandbox Code Playgroud)
这是我最初用来获取/ public_html/upload文件夹的目录路径.$ dirpath将包含
/public_html/upload
Run Code Online (Sandbox Code Playgroud)
解决方案(在服务器上)
$dirpath = realpath(dirname(getcwd()))
Run Code Online (Sandbox Code Playgroud)
由于我在共享托管环境中,使move_uploaded_file工作的正确方法是使用它作为目标:realpath(dirname(getcwd()))返回类似于:
/home/cpanelusername/public_html/upload
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60214 次 |
| 最近记录: |