【问题标题】:How to get full path of image in php如何在php中获取图像的完整路径
【发布时间】:2013-09-24 14:00:04
【问题描述】:

我想在 PHP 中获取图像的完整路径。我使用<input> 标签上传图片。我无法获得完整路径。当我提醒<input type="file"> 的值时,我得到了

c:/fake-path/image.jpg

这是我的代码:

<input type="file" name="upload_captcha_background" id="upload_captcha_background" />
var file_path= jQuery("#upload_captcha_background").val();
alert(file_path);

在 PHP 中,我获取的值如下:

$ux_image_path  =$_FILES['upload_captcha_background'];

【问题讨论】:

  • 你读到这里了吗?有一个上传文件的例子php.net/manual/en/function.move-uploaded-file.php。您无法使用 JavaScript 读取完整路径,这是一种安全措施。
  • @elclanrs 是正确的,您看不到该人上传文件的计算机的文件路径。
  • i 9 但我无法使用此 move_uploaded_file。还有其他方法可以获取图像的完整路径吗?

标签: php jquery


【解决方案1】:

如果您指的是图像在用户计算机上在他/她上传到您的表单之前所在的路径 - 您永远无法在 php 或 javascript 或其他任何地方知道它。

在 PHP 中,您可以在 SERVER(通常在临时文件夹中)上看到存储文件的路径,以便您可以读取或复制它。如果可能恰好发生服务器也是您的用户计算机(即您正在 http://localhost 上测试网站),但不要混淆这两件事。

【讨论】:

  • 我在 localhost 上测试.. 然后请告诉我如何获取图像的路径
【解决方案2】:

您永远无法确保获得完整的文件路径,甚至无法确定在文件上传文件中提交的可靠文件名或内容类型。

你永远不应该这样做......而且我认为在最新的浏览器中尝试它是没有用的(据我所知)......另一方面,所有最新的浏览器都不允许这样做。

一些相关的Stackoverflow问题:

【讨论】:

    【解决方案3】:

    结构

    $_FILES[]

    如下 /* 大批 ( [图像] => 数组 ( [名称] => 数组 ( [0] => 400.png ) [类型] => 数组 ( [0] => 图片/png ) [tmp_name] => 数组 ( [0] => /tmp/php5Wx0aJ ) [错误] => 数组 ( [0] => 0 ) [大小] => 数组 ( [0] => 15726 ) ) ) */

    如果您尝试上传文件并将其复制到目录 使用以下代码

    $tmp_name = $_FILES['upload_captcha_background']["tmp_name"];
    $name = $_FILES['upload_captcha_background']['name'];
    move_uploaded_file($tmp_name, "$uploads_dir/$name");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多