00001 <?php 00002 /* $Id: win32.php,v 1.2 2003/10/03 15:28:47 mikko Exp $ */ 00003 /* 00004 * ImaComm - a web based photo album software 00005 * Copyright (C) 2003, Mikko Kokkonen 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or (at 00010 * your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, but 00013 * WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00020 */ 00031 / 00038 function fs_find_program($program) 00039 { 00040 return fs_int_exec("which $program", 0); 00041 } 00042 00049 function fs_int_exec($program, $return) 00050 { 00051 // Can we use exec? 00052 if (function_exists("exec") && strstr(ini_get("disable_functions"), "exec") === false) 00053 { 00054 $none = exec($program, $output, $ret); 00055 // If command was successful... 00056 return implode("\n", $output); 00057 } 00058 // No exec, use popen... 00059 elseif (function_exists("popen") && strstr(ini_get("disable_function"), "popen") === false) 00060 { 00061 $fp = popen($program, "r"); 00062 while ($data = fread($fp, 2048)) 00063 { 00064 $buf .= $data; 00065 } 00066 pclose($fp); 00067 return $buf; 00068 } 00069 return ""; 00070 } 00071 ?>
1.3