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示例页面。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c
