小编PHP*_*Fan的帖子

如何使用于图像大小调整的代码可以使用并针对各种图像扩展进行优化?

基本上,我在我的网站上使用PHP和HTML.我是PHP的新手.所以如果我在我的代码或方法中犯了任何错误,我请求你纠正我.

我编写了用于重新调整用户上传到特定大小(即特定宽度和高度)的图像的代码.我想制作尺寸为940 px*370 px的上传图片.但在这样做的同时,我想照顾以下问题:

  1. 在修改其尺寸后保存到服务器的图像的整体质量应与用户上传的图像相同.它不应该缩小或拉伸,它的原始颜色不应受到干扰等.图像的所有内容应该是原样,但在940 px*370 px的尺寸范围内.
  2. 不应将黑色背景添加到保存在服务器上的图像中.
  3. 该代码应适用于所有标准图像格式.也就是说,如果用户上传的图像是任何标准图像格式,则应该重新调整大小,否则不会.

因此,为了实现上述功能,我编写了以下代码:

HTML代码(upload_file.html):

<html>
  <body>
    <form action="upload_file.php" method="post" enctype="multipart/form-data">
      <label for="file">Filename:</label>
      <input type="file" name="file" id="file"><br>
      <input type="submit" name="submit" value="Submit">
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

PHP代码(upload_file.php):

<?php
  $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"] < 5242880)
    && in_array($extension, $allowedExts)) …
Run Code Online (Sandbox Code Playgroud)

php file-upload image-uploading image-resizing php-gd

6
推荐指数
1
解决办法
1125
查看次数

$ .active在遵循jQuery代码中意味着什么?

我在我的项目中使用了以下jQuery库.以下是添加它们的代码:

<script src="jquery-1.9.1.min.js"></script>
    <script src="jquery-ui-1.10.0.custom.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

现在由以前的开发人员编写的函数如下:

function add_rebate_by_product() {
  if($.active > 0) { //or $.active  //What this $.active does   
    request_inprogress();
  } else {
    var manufacturer_id = $("#company_id").val();
    var rebate_no       = $('.well').length;
    var site_url        = $('#site_url').val();

    if ($('.well').length>=0) { 
      rebate_no = rebate_no+1;
    }
      $('.add_new_rebate').attr('disabled','disabled');
    }

    $.ajax({
      type: "POST",
      url: "add_rebate_by_product.php",
      data: {'request_type':'ajax', 'op':'create_rebate', 'rebate_no':rebate_no, 'manufacturer_id':manufacturer_id},  
      beforeSend: function() { 
        $('.load_img').html("<img src='"+site_url+"img/ajax-loader.gif' class='load' alt='Loading...'>");
      },
      success: function(data) {
        if(jQuery.trim(data)=="session_time_out") {
          window.location.href = site_url+'admin/login.php?timeout=1';              
        } else {
          $('.rbt').append(data);
          $('.add_new_rebate').removeAttr('disabled');

          //code for state select control …
Run Code Online (Sandbox Code Playgroud)

jquery

5
推荐指数
1
解决办法
6019
查看次数

如何在PHP中调用可调用函数?

我有一个标题为的数组$post_data。我想将此数组作为参数传递给某些函数。连同该数组一起,我还必须将另一个可调用的“函数名称”作为第二个参数传递给函数调用。

我不了解如何实现这一目标。

以下是需要调用的函数体:

//Following is the function to be called
function walk_recursive_remove(array $array, callable $callback) {
  foreach ($array as $k => $v) {
    if (is_array($v)) {
      $array[$k] = walk_recursive_remove($v, $callback);
    } else {
      if ($callback($v, $k)) {
        unset($array[$k]);
      }
    }
  }
  return $array;
}

//Following is the callback function to be called

function unset_null_children($value, $key){
  return $value == NULL ? true : false;
}

The function call that I tried is as follows :
//Call to the function …
Run Code Online (Sandbox Code Playgroud)

php recursion function callback callable

5
推荐指数
2
解决办法
2833
查看次数

为什么我无法在关联数组中添加新的键值对?

我有一个名为$data. 为了您的理解,我正在打印其中的一个元素。

Array
(
    [0] => Array
        (

            [id] => 92
            [zip_code] => 07080
            [phone_no] => 7327630062
            [amount] => 
            [currency] => $
            [product_details] => Array
                (
                )

        )
    [1] => Array
        (

            [id] => 93
            [zip_code] => 07081
            [phone_no] => 7327630063
            [amount] => 20
            [currency] => $
            [product_details] => Array
                (
                )

        )
)
Run Code Online (Sandbox Code Playgroud)

现在我想在上面标题为的关联数组的每个元素中创建一个新的键值对$data。为此,我编写了以下逻辑,但它没有创建新的键值对。有人可以在这方面帮助我吗?

foreach($data as $key => $value) {
        if(!empty($value['amount'])) { 
          $value['final_amount'] = $value['amount'] - 2;
        } else 
          $value['final_amount'] = '';        
      }
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array key-value multidimensional-array

4
推荐指数
1
解决办法
835
查看次数

是否可以使用Bootstrap的Modal对话框,jQuery,AJAX和PHP将图像上传到服务器?如果有,怎么样?如果没有什么原因呢?

我正在使用PHP,jQuery(jquery-1.9.1.min.js和jquery-ui-1.10.0.custom.min.js),AJAX,Bootstrap设计框架(Bootstrap v3.0.0)等.

我是网络编程领域的新手.

现在在一个地方,我想在点击按钮时显示Bootstrap框架的内置模式对话框.在此模式对话框中,将有一个用于上载图像文件的HTML文件控件.用户将通过浏览文件从他/她的本地机器中选择任何图像文件.然后执行以下所有必要的验证之后

  • 适当的标准图像扩展
  • 最大大小限制为5 MB
  • 最小尺寸为940像素×370像素

应使用PHP代码将文件上载到服务器.如果任何验证失败,相关的错误消息应在文件上载HTML控件上方以红色显示.

是否可以实现此功能?我听说使用AJAX上传文件是不可能的.我真的不知道这是神话还是事实.如果有人知道这件事,请详细向我解释.

php ajax jquery image-uploading twitter-bootstrap-3

4
推荐指数
1
解决办法
2万
查看次数

如何将垂直菜单项添加到Bootstrap popover?

我在我的网站上使用Bootstrap v3.3.5.我想打开一个包含三个由水平线分隔的菜单项的弹出窗口.

菜单项应垂直,应如下所示:

  • 编辑活动
  • 邀请成员
  • 删除活动

每个菜单项都应该是超链接,以打开一些新的模态对话框或类似的东西.对于它我尝试下面的代码,但它没有为我工作.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <a href="#" data-toggle="popover">Toggle popover</a>
</div>

<script>
$(document).ready(function(){
    $('[data-toggle="popover"]').popover();   
});
</script>
Run Code Online (Sandbox Code Playgroud)

jquery menu twitter-bootstrap twitter-bootstrap-3 bootstrap-popover

4
推荐指数
1
解决办法
5938
查看次数

如何创建和下载将从AngularJS表格中的数据创建的PDF和docx格式的文件?

我是AngularJS的新手,并使用AngularJS作为我的网络应用程序.

在我的网络应用程序的一个页面上,我从数据库中获取数据并显示在表格中.数据采用JSON格式.并且,由于它包含多个相同类型的条目,因此它是一个数组.

我想为用户提供一个"下载"按钮,并提供一个选项为.pdf和.docx的单选按钮.

用户将选择其中一种文件格式,然后单击"下载"按钮,以便将表格中显示的数据下载到他/她的本地计算机上的所选文件格式中.

怎么实现呢?有人可以在这方面指导我吗?

由于在表中获取和显示数据的代码太大,所以我没有在此处给出任何代码片段.

如果你想我可以为你提供相同的服务.

如果您可以在AngularJS中解释两种文件格式(.docx和.pdf)的完整工作示例,那对我和其他好友来说真的很棒.

谢谢.

javascript pdf json download angularjs

4
推荐指数
1
解决办法
1892
查看次数

如何在Windows机器上从命令提示符运行PHP程序?

我是专业的PHP开发人员.

我正在使用在Windows 10 Home Single Language 64位操作系统上运行的Lenovo Ideapad笔记本电脑

我还在位置"C:\ xampp"安装了XAMPP控制面板v3.2.2,以便在我的机器上的Web浏览器中执行PHP程序.

所述"的php.exe"文件是存在于位置"C:\ XAMPP\PHP" .

保存PHP文件的文档根目录位于"C:\ xampp\htdocs"位置.

通过启动XAMPP软件(通过双击桌面上的XAMPP快捷方式)并输入程序文件的URL,我可以运行我创建并保存在目录C:\ xampp\htdocs\html_playground中的PHP程序像浏览器地址栏中的" http://localhost/html_playground/sample.php ".

这样我就可以很好地运行PHP程序,但我想从Windows命令提示符运行相同的程序

为此,我完成了以下步骤:

  • 去了高级系统设置(控制面板\系统和安全\系统\高级系统设置)
  • 然后单击Environment Variables
  • 然后选择变量Path
  • 然后单击编辑...按钮
  • 然后在现有字符串的结束分号后,我通过在分号后面添加一个空格来添加字符串"C:\ xampp\php".

最后的新字符串如下所示:

%USERPROFILE%\应用程序数据\本地\微软\ WindowsApps; C:\ XAMPP\PHP

  • 然后点击确定
  • 打开命令提示符
  • 使用cd命令在命令提示符下找到路径C:\ xampp\htdocs\html_playground
  • 输入sample.php …

php windows console cmd command-prompt

4
推荐指数
2
解决办法
1万
查看次数

如何在服务器上启用"服务器版本:5.5.40-0ubuntu0.14.04.1 - (Ubuntu)"中的MySQL查询日志?

我正在使用phpMyAdmin使用MySQL数据库服务器("服务器版本:5.5.40-0ubuntu0.14.04.1 - (Ubuntu)").

我使用PHP作为服务器端语言,通过SQL查询与数据库通信.

我想添加基本上从PHP代码调用的所有查询的日志.

我做了很多关于这个问题的研究,并在SO上经历了各种类似的问题,但我仍然感到困惑,因为所有这些问题和答案都很老(大约6 - 7年后发布).

所以我想要了解当前形势的最新,可靠和最佳解决方案.

虽然让我在服务器上告诉你一些具体的事情,以便更好地理解我的问题,并为我提供最好的解决方案.

首先,我检查了文件my.cnf中 是否启用了查询日志(服务器上的位置:/etc/mysql/my.cnf )

文件内容如下:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with …
Run Code Online (Sandbox Code Playgroud)

mysql logging mysql-5.5

3
推荐指数
1
解决办法
4615
查看次数

为什么以及如何将 new 关键字与类的现有对象一起使用?

我正在使用PHP 7.1.11

考虑下面的代码:

<?php
  class Test {
    static public function getNew() {
      return new static;
    }
  }

  class Child extends Test {}

  $obj1 = new Test();
  $obj2 = new $obj1;
?>
Run Code Online (Sandbox Code Playgroud)

以上代码片段摘自PHP 手册

从上面的代码中,我无法理解为什么以及如何将new 关键字与 a 的现有对象一起使用class Test

这样做的目的是什么?

推荐这种new关键字的用法吗?

如果你真的想将一个类的一个已经存在的对象分配给某个变量,那么简单地编写语句就不能完成$obj2 = $obj1;吗?

以下两种说法有什么区别?哪一个更好,应该是首选?

$obj2 = new $obj1;
$obj2 = $obj1;
Run Code Online (Sandbox Code Playgroud)

php class object new-operator

2
推荐指数
1
解决办法
407
查看次数