小编Alb*_*ana的帖子

在PHP中搜索二进制文件中的字节序列?

我想使用PHP在二进制文件中找到特定的字节序列.我用十六进制表示这个序列,以避免输入太多的0和1.要找到的序列是0x4749524f.这是我现在提出的工作解决方案:

$mysequence = "4749524f";
$f = fopen($filename, "r") or die("Unable to open file!");
while(!feof($f)){
    $seq = fread($f, 4);
    if(bin2hex($seq) == $mysequence){
        echo "found!";
        break;
    }
    else if(!feof($f)) fseek($f, -3, SEEK_CUR);
}
Run Code Online (Sandbox Code Playgroud)

算法的作用很简单:

  1. 读4个字节
  2. 检查它们是否等于序列
  3. 如果他们是平等的 - >找到了!停止执行.
  4. 如果它们不等于且我不在文件的末尾,请将3字节返回到文件中并重复步骤1.

为什么我要回3个字节​​?因为如果这是文件的内容:

0000 4749 524f 0000 01b0 0013
Run Code Online (Sandbox Code Playgroud)

如果我没有回到3字节,我将0000 4749在第一次迭代,524f 0000第二次,01b0 0013第三次读取,你可以看到我错过了序列.

问题:它像地狱一样缓慢......应用程序必须使用最大50MB的文件,因此需要永远找到这个序列.

PHP中是否有一个优化的功能可以完成这项工作?这样做有更快(不像我的笨)的方式吗?

php optimization search

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

如何从Amazon AWS S3 Version获取文件大小?

我被迫使用AWS S3的第2版,因为我无法在此服务器上将PHP更新为5.5以便使用版本3.

我制作了这个PHP脚本来从AWS下载文件,效果很好:

//http://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.S3.S3Client.html#_createPresignedUrl
// Get a command object from the client and pass in any options
// available in the GetObject command (e.g. ResponseContentDisposition)
$command = $s3Client->getCommand('GetObject', array(
    'Bucket' => $bucket,
    'Key' => $objectKey,
    'ResponseContentDisposition' => 'attachment; filename="' . $originFilename . '"'
));

// Create a signed URL from the command object that will last for
// 10 minutes from the current time
$signedUrl = $command->createPresignedUrl('+1000 minutes');

$file = file_get_contents($signedUrl);
Run Code Online (Sandbox Code Playgroud)

问题是我想确保file_get_contents()下载整个文件并检测并修复任何错误(例如服务器在下载期间脱机等等),所以我认为以下流程:

  1. 我向AWS询问文件大小
  2. 我下载文件
  3. 我查一下大小.如果它不相等,我重新下载文件

那么,如何从AWS获取文件大小?我找到了这个,但它对我的版本不起作用.

php amazon-s3 amazon-web-services

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

如何强制gettext翻译特定语言,独立于当前语言?

我怎样才能告诉函数gettext() 将一个单词翻译成一个独立于当前语言的特定语言?

我们来举个例子吧

我们假设默认语言是英语.我们来一词.在意大利语中它将是albero.

如果我正在浏览我的网站的英文版本,该页面的所有内容将以英文翻译.特别是,如果我在我的PHP代码中有行echo _('tree');,将输出.

我想要完成的是在我浏览英文版网站时输出albero.我很乐意告诉_()只翻译意大利语页面特定部分中的特定单词,即使当前语言是英语.在我的脑海中,它就像_('tree', 'it_IT')it_IT告诉gettext忽略英语并用意大利语覆盖它只是为了那个调用.

是否可以使用gettext()来做到这一点?如果有,怎么样?如果不是,还有其他解决方案吗

php translation gettext

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

如何在 Highcharts 中设置绘图区域的宽度和高度?

我正在绘制由 HighCharts 中的一系列点制作的地图。我希望该地图能够正确缩放并成为一个完美的正方形。

因此,我将图表高度和宽度设置为相同的值:

$(function () {
    $('#map-container').highcharts({
        chart: {
            type: 'scatter',
            zoomType: 'xy',
            height: 225,
            width: 225
        },
        title: {
            text: null
        },
        subtitle: {
            text: null
        },
        yAxis: {
            gridLineWidth: 0,
            minorGridLineWidth: 0,
            lineColor: 'transparent',
            minorTickLength: 0,
            tickLength: 0,
            min: <?php echo $lat_bon_min; ?>,
            max: <?php echo $lat_bon_max; ?>,
            labels: {
                enabled: false
            },
            title: {
                text: null
            }

        },
        xAxis: {
            gridLineWidth: 0,
            minorGridLineWidth: 0,
            lineColor: 'transparent',
            minorTickLength: 0,
            tickLength: 0,
            min: <?php echo $lon_bon_min; ?>,
            max: …
Run Code Online (Sandbox Code Playgroud)

plot highcharts

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

(Gmail)从电子表格发送电子邮件.如何添加图像签名?

由于我使用GMAIL发送大量电子邮件,我决定使用脚本自动化此过程并遵循本教程.教程:从电子表格发送电子邮件

"消息"由我创建的另一个函数生成,称为prepareEmails.

问题如下:

1)我怎样才能告诉prepareEmails添加我的个人签名?我不能简单地将其文本复制到该函数中,因为我的签名包含一个图像(我有URL),我希望该图像进入签名.

2)我怎样才能使我的签名成为BOLD?

谢谢大家

gmail google-sheets google-apps-script google-spreadsheet-api

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

Facebook Sharer不显示链接图像,即使调试器未显示任何错误

奇怪的事情发生了......我很想分享此链接:https://www.racebooking.net/it/moto/post/5812/giro-straordinario-di-fabrizio-perotti-a-bordo-del/ 在Facebook,但图片未显示。

如果我通过Open Graph Debugger调试它并“获取新的scrape信息”,则一切看起来都很好,我没有收到任何错误,并且检测到了图像,但未在链接预览中显示。

第一次发生,直到几天前,我的网站一切正常。任何的想法?

facebook facebook-graph-api

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

如何在动态添加的内容上运行jQuery?

我创建了一个非常类似于Facebook墙页的页面:每个帖子都有一些帖子,评论列表和每个帖子的"发送"按钮,用于发送新评论.

在以下示例中:

  1. 该帖子标有"mypost"类.
  2. post-new-comment按钮是带有"发送 - 评论"类的div.
  3. 滚动到底部后,会动态加载更多帖子,并在此处写入脚本.
  4. 当您单击"发送 - 注释"时,将调用脚本并将注释添加到数据库.

这是页面的一部分.

<!--my first post-->
<div id="div1" class="mypost">
    <div class="send-comment"></div>
</div>
<!--my second post-->
<div id="div2" class="mypost">
    <div class="send-comment"></div>
</div>

<!--my js code-->
<script text="type/javascript">
    $('.send-comment').click(function(){
        //send comment
    });
</script>
Run Code Online (Sandbox Code Playgroud)

当用户向下滚动页面时,其他帖子将注入页面,结果如下:

<!--my first post-->
<div id="div1" class="mypost">
    <div class="send-comment"></div>
</div>
<!--my second post-->
<div id="div2" class="mypost">
    <div class="send-comment"></div>
</div>
<!--third post, added dynamically with jQuery-->
<div id="div3" class="mypost">
    <div class="send-comment"></div>
</div>

<!--my js code-->
<script text="type/javascript">
    $('.send-comment').click(function(){
        //send comment
    });
</script> …
Run Code Online (Sandbox Code Playgroud)

html javascript ajax jquery

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