小编rho*_*son的帖子

如何使用PHP动态发布Google Calendar要读取的文件?

任何关于PHP的Google搜索都会显示phpicalendar以及如何解析或读取IN文件.我只想写一个PHP文件,从我的数据库中提取事件并以ical格式写出来.

我的问题是我找不到任何可以回答两个问题的地方:

  1. 什么是确切的格式,包括标题,文件格式,页脚等?换句话说,文件必须具有什么,确切地说,才能被Google日历等正确读入?
  2. 如果我使用.php扩展名构建此文件,如何将其作为ical发布?我是否必须写一个新的.ics文件?或者Google Calendar等会将.php文件读为ical,只要内容格式正确吗?(就像一个style.css.php文件将被读取为CSS文件,如果内容实际上是CSS等)

任何帮助你们都可以给予或指出我将不胜感激!

php icalendar calendar

103
推荐指数
4
解决办法
10万
查看次数

如何在MySQL的datetime字段中存储NULL值?

我有一个"bill_date"字段,我希望它是空白的(NULL),直到它被计费,此时将输入日期.

我看到MySQL不喜欢datetime字段中的NULL值.你们有没有一个简单的方法来处理这个,或者我被迫使用最小日期作为"等效的NULL",然后检查那个日期?

谢谢.

编辑添加:

好吧,我确实看到MySQL将接受NULL值,但如果我使用PHP更新记录,它将不会接受它作为数据库更新.

变量名是$bill_date但如果我更新记录而不发送值,它不会将变量保留为NULL $bill_date- 我收到此错误:

Database query failed: Incorrect datetime value: '' for column 'bill_date' at row 1
Run Code Online (Sandbox Code Playgroud)

我假设我需要实际发送单词NULL,或者将它完全保留在更新查询之外,以避免此错误?我对吗?谢谢!!!

php mysql null datetime

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

PHP的递归删除目录函数?

我正在使用PHP来移动图像子文件夹的内容

GalleryName /图片/

到另一个文件夹.移动后,我需要删除GalleryName目录及其中的所有其他内容.

我知道rmdir()除非目录为空,否则无效.我花了一段时间尝试构建一个递归函数scandir()从顶部开始,然后unlink()如果它是一个文件,scandir()如果它是一个目录,那么rmdir()每个空目录就像我去的那样.

到目前为止,它并没有完全正确,我开始思考 - 这不是一个PHP应该能够做的非常简单的功能吗?删除目录?

那么有什么我想念的吗?或者至少有一个人们用于此行动的经过验证的功能?

任何帮助,将不胜感激.

PS我在这里比在php.net网站上的评论更信任你们 - 那里有数百种功能但是我很想知道你们这里是否有人推荐其他人.

php directory recursion

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

这个错误是什么?"数据库查询失败:第1行的列'column_name'的数据被截断

我正在构建一个PHP/MySQL应用程序,我遇到了创建和更新查询的问题.我有5列设置为FLOAT类型,也设置为NULL列.我不打算在工作流程的后期填写它们.

但是,我需要为这个数据库创建新记录,我需要编辑现有记录,而根本不涉及这5个浮点字段.我正在使用OOP PHP,它使用标准save()方法检查对象中是否存在ID.如果没有,则调用create(),如果是,则调用update().它通常很有效.

update()create()方法被设计为从拉protected static $db_fields在每个类的顶部声明属性阵列,它包含了所有在该表中使用的字段.update()create()通过该数组和运行任何INSERT INTOUPDATE在SQL中,相应.

我的理解是,如果你使用''(两个单引号,空),SQL将跳过这些INSERT INTOUPDATE请求并将它们保留为NULL.页面上任何地方的5个浮点值都没有表单字段,因此当方法运行时,值将是''.

这就是我收到"数据截断"错误的原因吗?它似乎有所不同 - 我之前没有看到过截断的错误,这就是为什么我要来找天才.谢谢.

php mysql

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

如何与node.js流中的<File>对象进行交互?

我正在使用gulp构建一个全局匹配的文件流,并将它们的嵌套结构全部移动到一个新位置.要做到这一点,我首先想要构建一个简单的"直通"流,看看如果我从gulp.src()传递给它的话.

这是我的测试gulpfile.js:

var through = require("through");
var fs = require("fs");

function write(file) {
  console.log(file);
  console.log(file.toString());
}

gulp.task("move", function () {

  return gulp.src("./**")
    .pipe(through(write));

});
Run Code Online (Sandbox Code Playgroud)

如果我在命令行上运行gulp'move'任务,我得到如下输出:

<File "some/path">
[object Object]
<File "some/path/file.js" <Buffer 2f 2a 0a 0a 4f 72 67 69 6e 61 6c 20 53 74 79 6c 65 20 66 72 6f 6d 20 65 74 68 61 6e 73 63 68 6f 6f 6e 6f 76 65 72 2e 63 6f 6d 2f 73 6f 6c 61 72 …
Run Code Online (Sandbox Code Playgroud)

stream node.js gulp

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

如何使用nginx在特定位置路径上提供静态文件目录?

我有文件,/Users/me/myproject我想http://stuff.dev/something使用简单的nginx配置为他们服务.在/Users/me/myproject文件夹中是这样的:

index.html
scripts/
    app.js
styles/
    style.css
Run Code Online (Sandbox Code Playgroud)

所以,我真的希望能够访问http://stuff.dev/something,http://stuff.dev/something/scripts/app.js等等.

在我的nginx conf中我有这个:

server {
  listen      80;
  server_name stuff.dev;

  location /something {
    index  index.html;
    root /Users/me/myproject;
  }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用(如果我尝试转到上面的URL,我得到404),但是如果我尝试完全相同的设置但使用location / {而不是location /something {,它可以正常工作.我如何静态地提供这个文件目录,但是在路径而不是在根位置?我是否必须将文件放在名为"something"的文件夹中/Users/me/myproject/something才能使用?如果是这样的话还有办法吗?

nginx

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

如何使用jQuery AJAX $ .post存储PHP $ _SESSION变量?

救命!

我无法摔跤AJAX为我工作.我有一个分页库,每个图像下面都有复选框,如果用户在页面之间移动,我需要将复选框值存储在会话变量中,因此当他们随时提交表单时,它将包括所有页面中的所有选中值.

我正在使用这个jQuery代码:

$(document).ready(function() {
    $(".gal-nav").click(function() {
        $.post("form-data-holder.php", $("#gallery-form").serialize());
    });
});
Run Code Online (Sandbox Code Playgroud)

和form-data-holder.php文件说:

<?php

    $_SESSION['saved'] = "true";

    foreach ($_POST as $key=>$value ) {
        if ( $key !== "submit" ) {
            $value = htmlentities(stripslashes(strip_tags($value)));
            $_SESSION[$key] = $value;
        }
    }

?>
Run Code Online (Sandbox Code Playgroud)

我有两个问题 -

1)如何从serialize()函数中获取复选框值?我认为我需要做更多的事情,比如value []来获取该数组,然后我想将每个数据存储为一个单独的会话变量 - 除非我可以将数组存储为$ _SESSION变量?

2)在我搞砸之前,我添加了行$ _SESSION ['saved'] ="true"; 到PHP脚本,然后我回应我的画廊页面上的$ _SESSION键和值,看看AJAX请求是否正常工作.不是.当我返回页面时,$ _SESSION ['saved']没有添加到echoed $ _SESSION变量列表中.

任何帮助将不胜感激!!

php forms ajax session jquery

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

从数据库创建的动态ical不起作用

我在PHP 5和MySQL中构建了一个站点,其中包含一个跟踪预定照片拍摄的表格.我想将那些预定的"事件"的提要推送到一个文件中.

我最初问过这个问题并得到了S. Gehrig的一个很好的答案.每当我在Dreamweaver中手动调整文件时,我都会有一个示例文件工作,并定期在Google日历中更新.但是,现在我已经从数据库中添加了动态PHP,它将无法正常工作.

这是PHP:

<?php
require_once('../../_includes/initialize.php');

$ical = " BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN ";

$slots = Slot::find_all();
foreach($slots as $slot) {
    $job = Job::find_by_id($slot->job_id);

    $start_stamp = strtotime($slot->start);
    $end_stamp = strtotime($slot->endtime);
    $dtstart = gmdate('Ymd', $start_stamp).'T'. gmdate('His', $start_stamp) . "Z"; // converts to UTC time
    $dtend = gmdate('Ymd', $end_stamp).'T'. gmdate('His', $end_stamp) . "Z"; // converts to UTC time

    $summary = $job->title;

    $ical .= " BEGIN:VEVENT
    UID:" . $slot->id . "@homewoodphoto.jhu.edu
    DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
    DTSTART:" …
Run Code Online (Sandbox Code Playgroud)

php mysql icalendar calendar

7
推荐指数
2
解决办法
7034
查看次数

PHP strtotime()看起来好像是期待欧元格式

我一直在使用PHP的strtotime()方法接受表单上的日期字段.我喜欢它多么强大,它会如何接受"明天","下周四",或(据说)的任何日期表示,并将其转换为Unix时间戳.

它一直很好 - 直到昨天.有人进入"2-4-10"而不是记录2010年2月4日,它记录在2002年4月10日!所以它期望YMD而不是MDY.

我想也许问题只是使用了两位数的年份,所以我们再次尝试使用"2-4-2010".记录在2010年4月2日!那时我只是不明白strtotime()正在做什么.PHP.net表示它希望采用美国英语日期格式.为什么它会假设DMY?

有没有解决的办法?或者我是否必须停止使用strtotime()?

注意:我刚才做了一个测试.当你使用斜杠而不是连字符/短划线时,它工作正常,即使是2/4/10.为什么这个重要?如果这一切是这样,我应该只是运行str_replace函数-把它传递给之前的strtotime对表单输入("/",$输入"")()?

php datetime strtotime

7
推荐指数
2
解决办法
1190
查看次数

为什么这个SQL UPDATE查询不起作用?

我很熟悉SQL,但我必须在这里找到一些非常愚蠢的东西.此更新查询不断抛出错误.查询是:

UPDATE pages SET 'order' = 1 WHERE id = 19
Run Code Online (Sandbox Code Playgroud)

该表肯定有一个订单列,它有一个ID为19的记录.订单列不是唯一的.

我得到的错误是通用错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"order" = 2 WHERE id = 19' at line 1 
Run Code Online (Sandbox Code Playgroud)

我在引号中包含了顺序,因为它ORDER是一个保留的SQL字.我错过了什么?

mysql sql

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

标签 统计

php ×7

mysql ×4

calendar ×2

datetime ×2

icalendar ×2

ajax ×1

directory ×1

forms ×1

gulp ×1

jquery ×1

nginx ×1

node.js ×1

null ×1

recursion ×1

session ×1

sql ×1

stream ×1

strtotime ×1