2012-04-18 93 views
0

我在将.css文件转换为.swf时遇到问题,如果我通过它的shell运行flex commad,但不幸的是通过php它不工作。Flex命令问题

<?php 
    $tm = time(); 
    $file_n = $_FILES["file"]["name"]; 
    $path = ""; 
    if ($_FILES["file"]["type"] == "text/css") { 
     if ($_FILES["file"]["error"] > 0) { 
      return "Error has occured: " . $_FILES["file"]["error"] . "<br />"; 
     } 
     else 
     { 
      if (file_exists("upload/" . $_FILES["file"]["name"])) { 
       move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $tm . "_" . $file_n); 
       $path = "upload/" . $tm . "_" . $file_n; 
      } 
      else 
      { 
       move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); 
       $path = "upload/" . $file_n; 
      } 
     } 

     $paths = explode(".", $path); 
     exec("mxmlc ".$file_n); 
     $parr = array('path' => $paths[0].".swf"); 
     $jurl = json_encode($parr); 
     echo $jurl; 
    } 
    else 
    { 
     echo "Sorry not supported file type!"; 
    } 
    ?> 
+0

你得到什么错误添加到命令并检查错误日志或启用error_reporting(); – 2012-04-18 13:10:47

+0

我会尝试'var_dump($ _ FILES)'并且由于您正在执行当前目录中的mxmlc(不提供绝对路径),请尝试'echo getcwd()。“/ $ file_n”'查看它在哪里查找文件。 – Travesty3 2012-04-18 13:14:27

+0

它没有给出任何错误或任何消息,但我想我找到了线索,如果我得到它,我会尽快发布它 – orif 2012-04-18 13:39:01

回答

0

这里是正确的答案,因为它适用于我的情况正确的: 我已经使用了shell_exec的代替EXEC和路径

<?php 
require_once("md5prefix.php"); 
$file_n = $_FILES["file"]["name"]; 
$tm = generatePassword(8); 
$path = ""; 
if ($_FILES["file"]["type"] == "text/css") { 
    if ($_FILES["file"]["error"] > 0) { 
     return "Error has occured: " . $_FILES["file"]["error"] . "<br />"; 
    } 
    else 
    { 
     if (file_exists("upload/" . $_FILES["file"]["name"])) { 
      move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $tm . "_" . $file_n); 
      $path = "upload/" . $tm . "_" . $file_n; 
     } 
     else 
     { 
      move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); 
      $path = "upload/" . $file_n; 
     } 
    } 
    $paths = explode(".", $path); 
    $output = shell_exec('/home/flexer/flex_sdk_4.6/bin/mxmlc ' . $path); 
    $parr = array('path' => $paths[0].".swf"); 
    $jurl = json_encode($parr); 
    echo $jurl; 
} 
else 
{ 
    echo "Sorry not supported file type!"; 
} 
?>