php - 如果没有文件上传,数据库中的文件id应该是: placeholder. gif

标签 php mysql image postgresql upload

我有一个表单,您可以在其中上传图像,这是可选的。现在使用此脚本将上传/时间戳写入我的数据库。但如果没有上传文件,我需要用占位符替换它。这是代码:

    $allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 1024000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
      $path_parts = pathinfo($_FILES["file"]["name"]);
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $path_parts['filename'].'_'.time().'.'.$path_parts['extension']);
      }
    }
else
  {
  echo "Invalid file";
  }

和:

$name1 = $_REQUEST['name1'];
$email1 = $_REQUEST['email1']; 
$beschreibung1 = $_REQUEST['beschreibung1'] ;
$latitude = $_REQUEST['latitude'] ;
$longitude = $_REQUEST['longitude'] ;
$file = $_REQUEST['file'] ;
$pic = ("upload/" . $path_parts['filename'].'_'.time().'.'.$path_parts['extension']);

include 'bikemap_db_open.php';

$sql = "INSERT INTO input2 (f_name, f_e_mail, f_text, f_adr, f_dat, f_geom, f_foto)"; 
$sql = $sql . " VALUES ('" . $name1 . "','" . $email1 . "','" . $beschreibung1 .  
       "','" . $longitude . " " . $latitude . "', '" . date("d-m-Y") . "',      ST_GeomFromText('POINT(" . $longitude . " " . $latitude . ")', 4326),'" . $pic . "')"; 

$result = pg_query($sql) or die('Query failed: ' . pg_last_error());

include 'bikemap_db_close.php';

header( "Location: /danke.html" );exit; 

最佳答案

在第一个代码块中

else
  {
  echo "Invalid file";
  $fileupload = false;
  }

在第二个代码块中

if ($fileupload == true){
$pic = ("upload/" . $path_parts['filename'].'_'.time().'.'.$path_parts['extension']);
}
else
{
$pic = 'placeholder.gif'; // you will need to specify the full path
}

关于php - 如果没有文件上传,数据库中的文件id应该是: placeholder. gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20268301/

相关文章:

php - mysql 数据库的更新逻辑问题

python - 尝试从 django 中的 mysql 获取数据时出现值错误

mysql - rails 。 MySQL。变量 'sql_mode'不能设置为 'STRICT_ALL_TABLES'的值

html - 屏幕分辨率和图像大小,如何正确

php - 图像从 mysql 数据库加载到 bootstrap 4 轮播中

php - 调试 PHP,NetBeans 不适用于 xdebug v3

php - mysql_num_rows() 输入验证

MySQL:查找另一个表中不存在的记录

java - 从可运行的 jar 中列出目录中的文件

java - 以图库 Intent 显示图像