我有这段代码:
<?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"];
if ($_POST["cserv"] != "") {
$servicio = $_POST["cserv"];
}
if ($_POST["cdirv"] != "") {
$direccion = $_POST["cdirv"];
}
if ($_POST["cobserv"] != "") {
$observaciones = $_POST["cobserv"];
}
if ($_POST["cfotov"] != "") {
$foto = $_FILES["cfotov"]["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["cfotov"]["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/" . $fotov . $lastid + 1);
$fototmp = $_FILES["cfotov"]["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/" . $foto . $lastid + 1);
$sql = "INSERT INTO trabajos (servicio, direccion, observaciones, foto) VALUES ('$servicio', '$direccion', '$observaciones', '$foto')";
mysql_query($sql);
$idtrabajo = mysql_insert_id();
header("location:insertartrabajo2.php?vid=$idtrabajo");
?>
问题出在这一行:imagejpeg ($nuevaimg,"imagenes/grandes/".$fotov.$lastid+1);
其中“$fotov
”是图片名称,“$lastid
”是我数据库中的最后一个数字,“+ 1”是递增最后一个数字...
但它没有运行
连接变量的正确方法是什么?我知道我有错误,但我找不到它
答案 0 :(得分:1)
$new_id = $lastid + 1;
imagejpeg ($nuevaimg,"imagenes/grandes/{$fotov}{$new_id}");
或
$new_id = $lastid + 1;
imagejpeg ($nuevaimg,"imagenes/grandes/" . $fotov . $new_id);
或
imagejpeg ($nuevaimg,"imagenes/grandes/" . $fotov . ($lastid + 1));
答案 1 :(得分:0)
或使用sprintf。
imagejpeg($nuevaimg,sprintf("imagenes/grandes/%s%d", $fotov, $lastid + 1));