Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件路径传递给php脚本_Php_Javascript_Jquery_Ajax_File - Fatal编程技术网

将文件路径传递给php脚本

将文件路径传递给php脚本,php,javascript,jquery,ajax,file,Php,Javascript,Jquery,Ajax,File,如何通过jquery/ajax将文件输入的文件路径传递到php?我有一个带有文件输入按钮的html页面,然后ajax将“表单”元素传递给php脚本,但路径只是一个文件名。据我所知,这是一个安全风险,但我可以使用php获取路径 $img = imagecreatefromjpeg($_FILES['image']['tmp_name']); 我使用的是一个普通的旧表单,并决定切换到一个更酷的ajaxy表单,如设置 /* Submit the request. */

如何通过jquery/ajax将文件输入的文件路径传递到php?我有一个带有文件输入按钮的html页面,然后ajax将“表单”元素传递给php脚本,但路径只是一个文件名。据我所知,这是一个安全风险,但我可以使用php获取路径

$img = imagecreatefromjpeg($_FILES['image']['tmp_name']);
我使用的是一个普通的旧表单,并决定切换到一个更酷的ajaxy表单,如设置

        /* Submit the request. */
        $.ajax
        ({
            type:     "post",
            dataType: "json",
            url:      "ajax/make_preview.php",
            data: 
            {
                filePath:   filePath,
                chartName:  chartName,
                Width:      Width,
                Height:     Height,
                Colors:     Colors,
                flossBrand: flossBrand
            },
            success: function(ResponseData)
...
有没有什么方法可以做到这一点而不必绕过安全措施?还是我需要回到一个糟糕的形式来完成它?我不需要查看或操纵路径…只是尝试将文件放入gd图像对象中

非常感谢你, 托德


编辑:我应该注意,我不希望jQuery进行上传。我只是想让php知道要上传的正确文件。

将本地文件路径传递给服务器无助于上传文件。文件内容应该通过请求来传递,而普通ajax本身无法做到这一点


您应该尝试使用诸如etc之类的文件上载插件。

您确定使用ajax可以在$\u文件['image']中获取文件信息吗?标准ajax不允许文件上载。jquery和类似的解决方法是将ajaxified提交转换为允许文件上传的后台正常格式提交。@Dipu:不,我不会,这就是问题所在…@Marc我实际上不希望jquery进行上传。我只是想找到php脚本的正确文件路径,这样php就可以上传了。文件输入是用来将文件从您的计算机发送到服务器的。PHP无法“接触”到您的本地计算机并获取文件,即使您传递了完整的路径。这是不可能的,因为这将是一个巨大的安全漏洞。