Php 我的变量$u FILES不';跑不动
使用此表格:Php 我的变量$u FILES不';跑不动,php,Php,使用此表格: <form id="form1" name="form1" method="post" action="insertartrabajo.php" enctype="multipart/form-data"> <legend>formato vertical</legend> <br /> <label for="cserv">Servicio:</label> <select name="cserv"&g
<form id="form1" name="form1" method="post" action="insertartrabajo.php" enctype="multipart/form-data">
<legend>formato vertical</legend>
<br />
<label for="cserv">Servicio:</label>
<select name="cserv">
<option value="NULL">Seleccione un servicio</option>
<?php
$sql="SELECT * FROM servicios GROUP BY servicios.nombre";
$resultado=mysql_query($sql);
while($fila=mysql_fetch_array($resultado)){
?>
<option value="<?php echo $fila["nombre"]; ?>"><?php echo $fila["nombre"]; ?></option>
<?php } ?>
</select>
<br>
<label for="cdirv">Direccion:</label>
<input name="cdirv" type="text">
<br>
<label for="cfoto">Foto:</label>
<input type="file" name="cfoto">
<br>
<label for="cobserv">Observaciones:</label>
<textarea name="cobserv" cols="10" rows="3"></textarea>
<br>
<input type="submit" name="Insertarv" value="Insertar"/>
</form>
垂直格式
服务:
服务选择
您假设,当您提交一个名为“cfoto”
的文件时,它将同时显示在$\u文件
和$\u POST
中,但它不会显示。
公平地说,文档中没有明确说明这一点,但它在$\u POST
中的价值是什么<代码>$\u文件的存在正是因为这些表单字段需要特殊处理
请改为选中isset($\u FILES[“cfoto”])
。您怎么可能读取该代码,更不用说调试它了?查看您的代码让我头疼。相关:。以防万一;-)mysql函数也被弃用。请改用PDO或mysqli。@mpm:不,您必须从文件系统读取它。但是你可以从它的临时位置看得很清楚,而不需要移动到任何地方。多亏了在轨道上的亮度竞赛,这就是错误所在。我不会写$的帖子。。。当我更改它时,所有运行正常。@Ibantxillo如果答案有助于您理解和解决问题,您应该接受答案(单击向上投票/向下投票按钮下方的复选框,使其变为绿色)。如果$\u POST[“cfoto”]
不存在,您应该得到一个明确的通知。如果您没有,这意味着您没有将PHP配置为显示错误消息。@lvaroG.Vicario:没错。此外,我刚刚确认,没有任何内容输入上传字段的$\u POST
,即使是空值。
<?php session_start();
include("includes/conexiones.php");
$sql = "SELECT * FROM trabajos ORDER BY id DESC LIMIT 1" ;
$resultado = mysql_query($sql);
$fila = mysql_fetch_array($resultado);
$lastid = $fila["id"];
$apendice = $lastid + 1;
if ($_POST["cserv"] != "") {
$servicio=$_POST["cserv"];}
if ($_POST["cdirv"] != "") {
$direccion=$_POST["cdirv"];}
if ($_POST["cobserv"] != "") {
$observaciones=$_POST["cobserv"];}
if ($_POST["cfoto"]!=""){
$foto=$_FILES["cfoto"]["name"];
ini_set('post_max_size','100M');
ini_set('upload_max_filesize','100M');
ini_set('max_execution_time','1000');
ini_set('max_input_time','1000');
$fototmp=$_FILES["cfoto"]["tmp_name"];
list($ancho, $alto) = getimagesize($fototmp);
$nuevoancho = 600;
$nuevoalto = 600 * $alto / $ancho;
$nuevaimg = imagecreatetruecolor($nuevoancho, $nuevoalto);
$idnuevaimg = imagecreatefromjpeg($fototmp);
imagecopyresized($nuevaimg, $idnuevaimg, 0, 0, 0, 0, $nuevoancho, $nuevoalto, $ancho, $alto);
imagejpeg ($nuevaimg,"imagenes/grandes/".$prefijo.$foto);
$fototmp = $_FILES["cfoto"]["tmp_name"];
list($ancho, $alto) = getimagesize($fototmp);
$nuevoancho = 144;
$nuevoalto = 144 * $alto / $ancho;
$nuevaimg = imagecreatetruecolor($nuevoancho, $nuevoalto);
$idnuevaimg = imagecreatefromjpeg($fototmp);
imagecopyresized($nuevaimg,$idnuevaimg,0,0,0,0,$nuevoancho,$nuevoalto,$ancho,$alto);
imagejpeg ($nuevaimg,"imagenes/peques/".$prefijo.$foto);}
$nombrefoto=$apendice.$foto;
$sql="INSERT INTO trabajos (servicio, direccion, observaciones, foto) VALUES ('$servicio', '$direccion', '$observaciones', '$nombrefoto')";
mysql_query($sql);
$idtrabajo=mysql_insert_id();
header("location:insertartrabajo2.php?vid=$idtrabajo");
?>
if ($_POST["cfoto"]!=""){
$foto=$_FILES["cfoto"]["name"];