【问题标题】:Why are images being uploaded at wrong location?为什么图片上传到错误的位置?
【发布时间】:2017-10-01 18:20:21
【问题描述】:

我有图片上传功能。我从系统中选择一张照片,从下拉列表中选择一个文件夹(基本上我有各种文件夹来存储图像和缩略图)并上传它。在本地,它按预期工作,但是当我将其上传到 Godaddy 服务器时,它正在上传到 Godaddy 服务器上的错误位置

我的本地检测路径代码

$upload_img = cwUpload('fileToUpload','C:\xampp\htdocs\kWebsite\images\K website'."\\".$_POST["path"]."\\",'',TRUE,
    'C:\xampp\htdocs\kWebsite\images\thumbs'."\\".$_POST["path"]."\\",'200','160');

Godaddy 服务器代码

$upload_img = cwUpload('fileToUpload','\home\gho\public_html\images\K website'."\\".$_POST["path"]."\\",'',TRUE,
    '\home\gho\public_html\images\thumbs'."\\".$_POST["path"]."\\",'200','160');

上面的代码可以工作,但它会将图像上传到通用图像文件夹中,而不是上传到所需的文件夹中。

【问题讨论】:

  • 使用错误报告和文件错误处理。再加上形式是未知的。
  • 您能否详细说明您所说的形式未知是什么意思?
  • 很可能 GoDaddy 服务器受到限制,上传位置已修复。上传完成后,我建议您尝试将文件移动到预期位置。
  • 真的有限制吗?如果有,有什么理由吗?但是移动文件是什么意思,因为有很多图像。
  • 很确定这里使用的脚本是这个:codexworld.com/upload-image-create-thumbnail-using-php

标签: php image-uploading


【解决方案1】:

如果不知道一些路径示例和更多示例(例如您的托管服务提供商对可能上传目录的限制),我们无法告诉您太多。

但是,确实让我认为这是您的代码的问题的一件事是,您使用反斜杠 (\) 定义路径,而不是正斜杠 (/),反斜杠不是在 *nix 系统上定义文件路径的正确方法,因为它们使用正斜杠。

例如:/path/to/some/file.txt 是有效的,但是 \path\to\some\file.txt 无效。

尝试将其更改为使用正斜杠,如果这样做有效或有帮助,请告诉我。

【讨论】:

  • 附带说明,请尝试使用 DIRECTORY_SEPARATOR 常量来构建您的路径,如下所述php.net/manual/en/dir.constants.php#113343 用于可移植性目的。
  • @zack 我也尝试使用正斜杠,但它没有用。我不确定godaddy是否有任何上传限制。我找不到任何理由让 Godaddy 有这样的限制。你知道托管网站有这样的限制吗?
  • 你能把你的 cwUpload 方法的代码贴在 github gist 上,然后链接到这里吗?
  • 嘿@zack6849 我尝试使用不同的路径但使用反斜杠但是当我提出斜杠时我再次更改了路径。现在我知道了。它也是正斜杠和一点路径。谢谢你。你应得的。
猜你喜欢
  • 1970-01-01
  • 2016-07-11
  • 2011-08-28
  • 1970-01-01
  • 2015-01-26
  • 1970-01-01
  • 2016-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多