【发布时间】:2015-08-29 16:06:08
【问题描述】:
我一直在尝试这段代码:
$file_tmp = $_FILES['video_imagen']['tmp_name'];
list($width, $height) = getimagesize($file_tmp);
但它给了我一个错误。我无法修复它
更新
这里有我开发的 PHP 代码。我该如何解决。我一直在不同的论坛寻找解决方案...
我收到此错误
注意:getimagesize(): 读取错误!在 C:\wamp\www\tapeHD\include\php\database.php 第 282 行
public static function SubirVideo($titulo, $video_directorio, $imagen_directorio, $user, $descripcion){
//ID AUTO INCREMENT
$sql = "INSERT INTO video(nombre, directorio, imagen, visitas, likes, usuario_id, fecha_subida, descripcion) VALUES ($titulo, $video_directorio, $imagen_directorio, 0, 0, $user, NOW(), $descripcion)";
$resultado = self::Conexion($sql);
return $resultado;
}
public static function SubirVideoErrores(){
$error = "";
if(isset($_POST["boton_upload_video"])){
$uploadImagen = $_FILES['video_imagen']['name'];
$tipoImagen = $_FILES['video_imagen']['type'];
$uploadVideo = $_FILES['video_file']['name'];
$tipoVideo = $_FILES['video_file']['type'];
$titulo = $_POST["video_title"];
$descripcion = $_POST["video_description"];
$directorio = $_SERVER['DOCUMENT_ROOT']."/tapeHD/include/database/usuarios/".$_SESSION["usuario"]."/videos";
if($tipoImagen == "image/jpeg"){
$file_tmp = $_FILES['video_imagen']['tmp_name'];
list($width, $height) = getimagesize($file_tmp);
if($_FILES['video_imagen']['size'] < (1024000)){
if($width != 320 && $height != 180){
$error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>La imagen debe de ser 320x180</div></div></div>";
} else {
if($tipoVideo == "video/mp4"){
move_uploaded_file($_FILES['video_file']['tmp_name'], $directorio."/".$uploadVideo);
move_uploaded_file($_FILES['video_imagen']['tmp_name'], $directorio."/".$uploadImagen);
$video_directorio = "include/database/usuarios/".$_SESSION["usuario"]."/videos/".$uploadVideo;
$imagen_directorio = "include/database/usuarios/".$_SESSION["usuario"]."/videos/".$uploadImagen;
DataBase::SubirVideo($titulo, $video_directorio, $imagen_directorio, $_SESSION["usuario"], $descripcion);
$error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>Tu video ha sido subido</div></div></div>";
} else {
$error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>El video debe estar en formato .mp4</div></div></div>";
}
}
} else {
$error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>La imagen pesa demasiado</div></div></div>";
}
} else {
$error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>La imagen debe ser .jpg </div></div></div>";
}
}
return $error;
}
HTML
<div class="upload_video_fields">
<div class="container">
<form action="upload.php" method="POST" enctype="multipart/form-data">
<div class="video_form left">
<input type="text" id="video_title" name="video_title" placeholder="Título del video..." required />
<textarea id="video_description" name="video_description" placeholder="Descripción del video..." cols="40" rows="6" aria-required="true" required></textarea>
</div>
<div class="video_form right">
<input type="file" id="video_imagen" name="video_imagen" required />
<input type="file" id="video_file" name="video_file" required />
</div>
<input type="submit" id="boton_upload_video" name="boton_upload_video" class="btn" value="Subir" />
</form>
</div>
<div class="upload_progress"><div class="bar"></div></div>
</div>
【问题讨论】:
-
不,这是不可能的。该文件首先通过 $_FILES 全局访问,其次在上传后可用。文件上传后,返回大小很简单,但不是在 afaik 之前!
-
那么,如何检查图像的尺寸是否为 320x180?
-
您到底想在哪里进行尺寸检查?
-
提交/上传后,您可以检查,如果需要,您可以将其调整为这些尺寸
-
等一下。您是否尝试在未用于执行实际上传的脚本中使用
$_FILES数组?database.php看起来像一个奇怪的脚本文件名来执行实际的上传过程????
标签: php file-upload