2012-04-18 133 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!"; 
} 
?>