我们都知道有关使用数据库进行文件存储(具体是图像)的讨论已经失去了多少论点和生命.在决定如何继续我的项目时,我有点蠢.
我有一个网站,允许管理员上传员工图片.目前,这些图片存储在我的MySQL数据库中的BLOB中.此外,我有一个与网站一起运行的Windows应用程序.该应用程序使员工能够在成功完成后进入并显示图片.通过应用程序内的mysql查询(从非本地远程位置)检索图片,该查询将图像内容转换为在图片框中输出的可读图像,从而确认员工的身份.
在我看来,将图像存储在数据库中并通过简单的查询检索它们要容易得多.我发现这比在数据库中存储图像路径和处理下载图像的应用程序要容易得多.我也不必处理冲突,文件夹组织和安全性以及为x,y等原因重写的路径等.
存储在DB中的图像在裁剪成一定大小后仅为20 kb.我的问题是,是否仍然需要使用图像路径嵌入数据库,还是应该像现在一样存储它们?如果在这种情况下将图像存储在数据库中仍然是不明智的,是否有正式的方法来存储图像路径?
任何有关这方面的帮助将不胜感激.如果这个问题不属于这里,我会很乐意提出这个问题.
我试图找出一种方法来检查两个列表是否相等,无论它们的元素顺序如何.
我的第一次尝试是:
areq([],[]).
areq([],[_|_]).
areq([H1|T1], L):- member(H1, L), areq(T1, L).
Run Code Online (Sandbox Code Playgroud)
但是,这只检查左侧列表中的所有元素是否都存在于右侧列表中; 意思areq([1,2,3],[1,2,3,4]) => true.在这一点上,我需要找到一种能够以双向意义测试事物的方法.我的第二次尝试如下:
areq([],[]).
areq([],[_|_]).
areq([H1|T1], L):- member(H1, L), areq(T1, L), append([H1], T1, U), areq(U, L).
Run Code Online (Sandbox Code Playgroud)
在哪里我会尝试重建左边的那个以及最后的交换列表; 但这次失败了.
我对递归的感觉非常差,根本不知道如何改进它,尤其是Prolog.任何提示或建议都将在此时受到赞赏.
我有一些问题需要理解.我想开始重写一些旧的MySQL函数代码PDO.它的设置方式是包含该行的外部文件(除其他外):
// db.php file
$DB = new dbConnect(SERVER,DB,USER,PASSWORD,3306);
function my_autoloader($class)
{
require_once ($_SERVER['DOCUMENT_ROOT']."/includes/".'class.' . $class . '.php' );
}
spl_autoload_register('my_autoloader');
Run Code Online (Sandbox Code Playgroud)
哪个会创建与我的数据库的连接.这包含在我的页面顶部,也会加载我的所有课程.现在,如果我想使用PDO创建新连接,我会执行以下操作:
$conn = new PDO('mysql:host='.SERVER.';dbname='.DB.';charset=utf8',USER, PASSWORD);
Run Code Online (Sandbox Code Playgroud)
但是,我不能在单独的文件上使用这行代码,并在类中调用PDO,如下所示:
require_once 'db.php';
class info
{
protected $ID;
public function __construct($id)
{
$this->ID = $id; //
}
public function getName()
{
$query = "SELECT * FROM job";
$q = $conn->query($query);
$data = $q->fetch(PDO::FETCH_ASSOC);
//do something with $data
}
}
Run Code Online (Sandbox Code Playgroud)
这是否意味着我必须通过如下所示的聚合在构造函数中建立连接?
require_once 'db.php';
class info
{
protected $ID;
protected $pdo;
public function __construct($id)
{
$this->ID …Run Code Online (Sandbox Code Playgroud) 我最近开始为我的网站实施语言选项.这是它基本上如何工作:
if(isset($_GET['lang']))
{
$langr= $_GET['lang'];
$_SESSION['lang'] = $langr;
setcookie('lang', $langr, time() + (3600 * 24 * 30));
}
elseif(isset($_SESSION['lang']))
{
$langr = $_SESSION['lang'];
}
elseif(isset($_COOKIE['lang']))
{
$langr = $_COOKIE['lang'];
}
else
{
$langr = 'en';
}
switch ($langr)
{
case 'en':
$lang_file = $_SERVER['DOCUMENT_ROOT']."/includes/lang/en.php";
break;
case 'fr':
setlocale (LC_ALL, 'fr_FR.utf8','fra');
$lang_file = $_SERVER['DOCUMENT_ROOT']."/includes/lang/fr.php";
break;
default:
$lang_file = $_SERVER['DOCUMENT_ROOT']."/includes/lang/en.php";
}
include_once $lang_file;
Run Code Online (Sandbox Code Playgroud)
它会在我网站的每个页面顶部加载相应的语言文件.但是,使用jQuery的UI datepicker时会出现问题.我在网上找到了datepicker的区域设置文件,并为它创建了一个单独的文件:
///jquery.ui.datepicker-fr.js file
jQuery(function($){
$.datepicker.regional['fr'] = {
closeText: 'Fermer',
prevText: 'Précédent',
nextText: 'Suivant',
currentText: 'Aujourd\'hui',
monthNames: ['janvier', 'février', …Run Code Online (Sandbox Code Playgroud) 所以,我在一本Java书中发现了一个例子:
public class Account {
private String name;
private double balance;
private int acctNumber;
public Account(){}
public boolean equals(Account anotherAcc) {
return (this.name.equals(anotherAcc.name)
&& (this.balance == anotherAcc.balance) && (this.acctNumber == anotherAcc.acctNumber));
}
}
Run Code Online (Sandbox Code Playgroud)
我们看到equals方法被重载并与另一个Account对象一起传递以检查所有实例变量是否相等.我对这段代码的问题在于,我们认为我们直接访问另一个对象中的私有变量,这似乎不对,但它确实有效.当我在同一个类中创建一个main方法时,我会以某种方式访问私有变量.
相反,当我在另一个类中创建一个main方法时,才会出现可见性错误.我的问题是,为什么Java允许在方法中传递的对象中访问私有实例变量?是因为该对象是Account类型,并且传递给的方法是名为Account的类的一部分?
所以我有一个问题.我正在尝试切换复选框以便向父级添加一些css<tr>
这就是我到目前为止所拥有的
$('input[type=checkbox]').toggle(function(){
$(this).parents('tr').addClass('selectCheckBox', 970);
},
function(){
$(this).parents('tr').removeClass('selectCheckBox', 970);
});
Run Code Online (Sandbox Code Playgroud)
但是,这样做的结果是<tr>确实接收了selectCheckBox但是复选框没有被检查.所以我尝试了以下方法:
$('input[type=checkbox]').toggle(function(){
$(this).attr('checked',true);
$(this).parents('tr').addClass('selectCheckBox', 970);
},
function(){
$(this).attr('checked',false);
$(this).parents('tr').removeClass('selectCheckBox', 970);
});
Run Code Online (Sandbox Code Playgroud)
再一次,没有运气.
我认为它与复选框ID的外观有关.
<input type="checkbox" name="select[]" id="select[]">
Run Code Online (Sandbox Code Playgroud)
然后,我尝试[]使用\\[\\]过去使用的逃避,但没有运气.
有办法进行checkbox检查吗?
我几乎无处不在地发现这一点.我有以下SQL语句:
SELECT COUNT(*) FROM `job_sheet`
LEFT JOIN deliveries ON job_sheet.job_id=deliveries.jID
WHERE job_sheet.completion=".ORDER_COMPLETE."
AND deliveries.ship_date>job_sheet.delivery_date
Run Code Online (Sandbox Code Playgroud)
这基本上告诉我哪些已完成的工作已经过去了delivery_date(DUE DATE).然而,真正的交货日期是在现实中7 企业天(节假日并不重要.基本上只是跳过周末),比前面的东西在数据库中.
我需要做的是在此部分添加7天: deliveries.ship_date>job_sheet.delivery_date + 7 business days
我的第一个想法是使用DATEADD()函数,但是我很少使用它,并且在这种情况下如何实现它很困惑.
日期存储为:YYYY-MM-DD
我的功能有一些问题unlink。
我有一个页面,刷新时会在目录中搜索新添加的文件。用户可以选择管理文件,也可以删除任何文件。然而,当用户删除文件时,在实际文件从服务器目录中删除之前有近5秒的延迟。同时,如果用户刷新浏览器,本应删除的同一文件将重新显示为新文件。问题是,如果用户再次删除该文件,由于初始延迟,该文件将不再存在......
对此有什么想法吗?这让我发疯,不知道如何补救这种情况......
假设我有:
public class Parent<T extends Child1> {
public Parent() {
}
public static <T extends Number> void test(T t) {
}
}
Run Code Online (Sandbox Code Playgroud)
并且Child1是一个儿童班Parent.
我在这里想要理解的是T类范围和方法范围中的参数类型之间的连接.T如果它们的边界彼此完全不同,那么如何允许两个参数(类'和方法')被命名?
假设我有以下内容:
class NegativeException extends RuntimeException {
}
class ZeroException extends NegativeException {
}
class Driver {
static boolean Marathon(int a) {
try {
if (a < 0)
throw new NegativeException();
else if (a == 0)
throw new ZeroException();
else if (a >= 42)
return true;
else
return false;
} catch (ZeroException e) {
System.out.println("Use natural number");
} finally {
System.out.println("One last thing");
}
System.out.println("All done.");
return false;
}
public static void main(String[] args) {
/* One last thing */
/* …Run Code Online (Sandbox Code Playgroud)