0

我想在 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'];
4

3 回答 3

0

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

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

于 2013-09-24T05:46:05.467 回答
0

结构为

$_FILES[]

如下 /* Array ( [image] => Array ( [name] => Array ( [0] => 400.png ) [type] => Array ( [0] => image/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");
于 2013-09-24T05:50:26.743 回答
0

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

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

一些相关的 Stackoverflow问题:

于 2013-09-24T05:56:58.723 回答