javascript - php做了个from表单视频上传功能,在pc测试成功,在ios和Android均失败
html页面代码
<code><form action="index.php" method="post" enctype="multipart/form-data"> <input type="file" class="testFile" name="testFile" multiple> <input type="submit"> </form> </code>
php代码
<code>print_r($_FILES); //Android时,这里输出为空,但是上传文件的临时文件夹是看到有文件生成的。 //ios时,这里输出的是正常的(与pc时一致,error代码也是0),但是在服务端视频文件的大小为0k,并且服务端打开视频说这是一个空白/缺损视频 $file=$_FILES['testFile']; move_uploaded_file($file["tmp_name"],"upload/" .$file["name"]); echo "保存成功: " . "upload/" . $file["name"]; </code>
请问有办法解决这个问题吗?这个只在手机上用,所以可以使用html5等手机web支持的各种技术
回复内容:
html页面代码
<code><form action="index.php" method="post" enctype="multipart/form-data"> <input type="file" class="testFile" name="testFile" multiple> <input type="submit"> </form> </code>
php代码
<code>print_r($_FILES); //Android时,这里输出为空,但是上传文件的临时文件夹是看到有文件生成的。 //ios时,这里输出的是正常的(与pc时一致,error代码也是0),但是在服务端视频文件的大小为0k,并且服务端打开视频说这是一个空白/缺损视频 $file=$_FILES['testFile']; move_uploaded_file($file["tmp_name"],"upload/" .$file["name"]); echo "保存成功: " . "upload/" . $file["name"]; </code>
请问有办法解决这个问题吗?这个只在手机上用,所以可以使用html5等手机web支持的各种技术
截至现在,ios的视频上传搞定了,但是一次只能选一个视频(也许可以做多个fileInput让用户多选几次来做到上传多个视频,但是哪个需求那么变态!)
首先
<input type="file" class="testFile" name="testFile" multiple>
需要把multiple="multiple"
去掉,因为ios选择单文件时,如果这个是视频文件,会自动压缩视频(压缩过程是在视频选取界面,不需要我们做任何事情的),但是如果是多选文件,则不会自动压缩,导致上传到服务端的视频总是0k,并且无报错。
然后
如果服务端是php,则需要按照http://www.admin10000.com/Document/69.html配置php.ini
文件,至于php.ini
文件哪里找,如果你的是wamp,则在wamp文件夹那里搜索php.ini,结果会有两个,应该是apache下面的,如果改了还不行,就另外一个也改了。
依然存在的问题
Android还是一样的问题,不报错,有上传动作(在上传文件夹里能看到有临时文件生成)但是此动作完了之后没看到有上传文件,并且print_r($_FILES);的结果为Array()
空数组...
但是看到ios压缩视频后上传成功了,也许突破点就是压缩视频,我现在找找看js压缩视频的方法
2015年2月4日10:49:28 更新
发现小米1s(前年学生狗,穷,买的,现在放在公司当测试机)居然可以成功上传!!!我再试试别的Android
亲们,我错了,问题都解决了
原来主要问题是php.ini
的设置!我有个测试机用的视频是83M的,但是php.ini
设置最大上传文件是80M,所以才会失败!现在ios和我手上的Android都成功了,而且,不不建议是多选文件的input file!
使用微信的浏览器执行上传文件可能会有写莫名其妙的问题,这个问题我之前开发微信第三方应用的时候也遇到过。归根结底还是微信做了特殊处理与限制造成的。
建议你使用手机系统浏览器进行测试,若正常,则说明你的代码是ok的,建议已系统浏览器的表现为准。
ps:微信已经推出了js-sdk,包含文件上传,建议你有必要的情况下可以看下 微信开放JS-SDK,助力网页开发和 微信JS-SDK示例页面。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다
