Articles of PHP的

PHP错误 – 上传文件

我想写一些PHP上传文件到我的networking服务器上的文件夹。 这是我有: <?php if ( !empty($_FILES['file']['tmp_name']) ) { move_uploaded_file($_FILES['file']['tmp_name'], './' . $_FILES['file']['name']); header('Location: http://www.mywebsite.com/dump/'); exit; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title>Dump Upload</title> </head> <body> <h1>Upload a File</h1> <form action="upload.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000000" /> Select the File:<br /><input type="file" name="file" /><br /> <input type="submit" value="Upload" /> </form> […]

PHPdate计算

什么是最好的(date格式独立的方式)在PHP中计算指定格式的两个date之间的天差异。 我尝试了以下function: function get_date_offset($start_date, $end_date) { $start_time = strtotime($start_date); $end_time = strtotime($end_date); return round(($end_time-$start_time)/(3600*24)); } 它在linux上运行正常,但在windows下运行时会返回“'。 编辑 : inputdate的格式为mm / dd / yyyy ,但是我想让它接受$ format作为参数。 我只需要天差。

w_windows上的move_uploaded_file()错误

Warning: move_uploaded_file(C:\wamp\www/uploads/a.mp3): failed to open stream: No such file or directory in C:\wamp\www\display\uploadfile.php on line 206 Warning: move_uploaded_file(): Unable to move 'C:\wamp\tmp\php75FD.tmp' to 'C:\wamp\www/uploads/a.mp3' in C:\wamp\www\display\uploadfile.php on line 206 的var_dump: array (size=1) 'file' => array (size=5) 'name' => string 'a.mp3' (length=5) 'type' => string 'audio/mp3' (length=9) 'tmp_name' => string 'C:\wamp\tmp\php75FD.tmp' (length=23) 'error' => int 0 […]

sql的正确path/ URI的PHP在Windows上的pdo

[ante-scriptum:这是一个自我回答的问题,你不需要麻烦回答] 我遇到了一个奇怪的configuration问题,没有logging在特定的PHP.net页面或StackOverflow的任何地方。 问题 在Windows上打开现有的sqlite数据库时,同样的错误一直显示: SQLSTATE[HY000] [14] Unable To Open Database File 虽然执行的代码是从手册复制/粘贴: <?php /* Connect to an ODBC database using driver invocation */ $dsn = 'sqlite:/full/path/to/db'; $user = 'dbuser'; $password = 'dbpass'; try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } ?> 我无法打开这个数据库,因为我在Google上search了各种各样的DSN: $dsn […]

无法在XAMPP和Windows XP上安装Xdebug

我知道,这已被问了好几次,但答案并没有解决我的问题。 我在Windows XP SP3上运行XAMPP 1.8.2,并且在安装XDebug时感到苦恼。 我从网站上下载了XDebug。 不幸的是,安装向导没有为我工作,我的PHP版本是5.4.16,所以我select了PHP 5.4 VC9 TS (32 bit) 。 我根据不同的教程configuration我的php.ini: [XDebug] zend_extension_ts = "D:\Stefan\xampp\php\ext\php_xdebug-2.2.3-5.4-vc9.dll" xdebug.remote_enable = On xdebug.remote_handler = "dbgp" xdebug.remote_host = "127.0.0.1" xdebug.remote_mode=req xdebug.remote_port = 9000 xdebug.remote_autostart = 1 重新启动apache时, phpinfo()不会显示其他条目。 我已经检查,没有其他debugging或加速模块被激活,也试图改变Xdebug端口,但没有任何工作。 Apache和Windows错误日志不包含与此问题相关的任何条目。 任何提示?

通过PHP启动服务器端的打印作业

这很可能不是一件容易的事情,但现在是这样的情况: 我写了一个C#命令行应用程序,其中: 使用ITextSharp创buildPDF 把它写入磁盘 通过System.Diagnostics.Process使用Acrord32.exe (这是Acrobat Reader),以便静默地打印生成的PDF 如果我构build我的解决scheme并双击pdfGen.exe ,它按预期工作。 PDF被创build和打印。 现在,我的应用程序必须部署在运行IIS 7的Windows Vista的内部服务器上。此服务器正在运行一些PHP webapp。 它将通过使用shell_exec()通过PHP调用,以便生成的PDF将打印在连接到服务器的打印机上。 所以我的PHP页面看起来基本上是这样的: shell_exec('/path/to/pdfGen.exe'); 但是这里出了问题。 根据任务经理等发生的情况 pdfGen.exe启动 PDF被创build Acrord32.exe启动 pdfGen.exe永远挂起(PHP脚本也是这样)并且什么都不打印 我很确定这是一些权限相关的问题 。 我已经给IIS_IUSRS访问默认打印机,并Acrord32.exe所在的目录。 但是,仍然没有印刷。 但是,如果我手动启动我的pdfGen.exe它的作品。 任何想法我失踪? 编辑: 我不打算使用Acrobat Reader来打印PDF。 如果还有另一种方式来悄悄地打印创build的PDF服务器端,我根本不介意。

在Windows上的MySQL 5.6.16中,PDOStatement :: nextRowSet()被破坏

没有被接受的答案这个问题提出了一个MySQL的灾难性的问题,我正在经历一个修改后的forms在Windows上的MySQL版本5.6.16。 这个问题很容易重现:我把它包含在这里(从上面链接的问题中复制,但适用于我的代码的更改): $pdo = /* connection stuff here */ $sql = "call test();"; // call stored procedure – see below $statement = $connection->query($sql); do { $rowset = $statement->fetchAll(PDO::FETCH_ASSOC); if($rowset) { // Do stuff with $rowset } } while($statement->nextRowset()); 这里是存储过程test的定义: DELIMITER $$ DROP PROCEDURE IF EXISTS `test`$$ CREATE PROCEDURE `test`() BEGIN SELECT 1; SELECT 2; SELECT […]

疑难解答PHP邮件

如何检查邮件在我的服务器上发送的问题? 我运行一个简单的testing: if(mail($to, $subject, $message)) { echo 'Mail Sent'; } testing输出文本; 但是,没有邮件到达。 我怎样才能追踪这个问题呢?