Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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 使用jquery上传文件不起作用_Php_Jquery - Fatal编程技术网

Php 使用jquery上传文件不起作用

Php 使用jquery上传文件不起作用,php,jquery,Php,Jquery,我正在尝试使用jQuery实现一个非常简单的文件上传,而不必下载第三方插件/脚本 这是我的密码: HTML <form enctype="multipart/form-data" action="" method="POST" name="form"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <?php _e('Choose a file to upload') ?

我正在尝试使用jQuery实现一个非常简单的文件上传,而不必下载第三方插件/脚本

这是我的密码:

HTML

  <form enctype="multipart/form-data" action="" method="POST" name="form">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    <?php _e('Choose a file to upload') ?>: <input name="uploadedfile" class="uploadedFile" type="file" />
    <input type="submit" class="button uploadImage" value="<?php _e('Upload File') ?>" />
  </form>

问题是我无法获得有关
$\u文件['uploadedfile']['name']
的信息。这是因为从未提交表单吗?

请确保为以下内容指定正确的设置:

  • 文件上传
  • 上载\u最大\u文件大小
  • 内存限制
  • 最大执行时间
  • 贴纸最大尺寸
见:

还要确保:

  • 指定正确的路径
  • 目录具有权限,chmod为755
  • 数据正在通过,请检查:

print\r($\u文件)

确保为以下各项指定正确的设置:

  • 文件上传
  • 上载\u最大\u文件大小
  • 内存限制
  • 最大执行时间
  • 贴纸最大尺寸
见:

还要确保:

  • 指定正确的路径
  • 目录具有权限,chmod为755
  • 数据正在通过,请检查:

print\r($\u文件)

您不能通过ajax上传文件。当您这样做时:

data: {current_path: current_path, new_dir: new_dir},
您只是发送文件的位置,而不是实际的文件。上传文件而不刷新页面的唯一方法是使用flash/java/etc,或者通过隐藏的iFrame提交表单


我认为jQuery表单插件可以处理这个问题。它可以做到这一点。

您不能通过ajax上传文件。当您这样做时:

data: {current_path: current_path, new_dir: new_dir},
您只是发送文件的位置,而不是实际的文件。上传文件而不刷新页面的唯一方法是使用flash/java/etc,或者通过隐藏的iFrame提交表单


我认为jQuery表单插件可以处理这个问题。这样就可以了。

没错。您只是将文件路径作为请求参数传递,而不是将文件内容作为多部分/表单数据请求主体传递。它不会落在
$\u文件中
。再想一想,如果webserver和webbrowser在物理上不同的机器上运行,那么单独传递路径就永远不会起作用


我建议您看一看,它可以透明地处理使用Ajax上传文件的所有令人讨厌的细节。

没错。您只是将文件路径作为请求参数传递,而不是将文件内容作为多部分/表单数据请求主体传递。它不会落在
$\u文件中
。再想一想,如果webserver和webbrowser在物理上不同的机器上运行,那么单独传递路径就永远不会起作用


我建议您看看,它可以透明地为您处理使用Ajax上传文件的所有令人讨厌的细节。

我认为您需要使用jQuery插件。Uploadify很好,但您需要:

* jQuery v1.2.x or greater
* SWFObject v2.2 or greater
* Flash Player v9.0.24 or greater
你可以得到所有的信息。上传至www.uploadify.com


将为您提供更多选项。

我认为您需要使用jQuery插件。Uploadify很好,但您需要:

* jQuery v1.2.x or greater
* SWFObject v2.2 or greater
* Flash Player v9.0.24 or greater
你可以得到所有的信息。上传至www.uploadify.com


将为您提供更多选项。

您确定jquery.ajax中的url正确吗?您将在哪一点上载实际文件?Pekka:完全正确;)这就是我被卡住的地方。你确定jquery.ajax中的url是正确的吗?你在哪一点上传实际的文件?佩卡:没错;)这就是我被困的地方。这是问题的根源。jQuery表单插件使用一个隐藏的iframe来绕过它是的,我尝试过使用iframe,但无法让它工作。将使用您的链接进行测试。谢谢。这是问题的根源。jQuery表单插件使用一个隐藏的iframe来绕过它是的,我尝试过使用iframe,但无法让它工作。将使用您的链接进行测试。谢谢。我在另一个解决方案中使用Uploadify,但这次我不想使用flash。然后选择jQuery表单插件。我在另一个解决方案中使用Uploadify,但这次我不想使用flash。然后选择jQuery表单插件。