2010-01-09 92 views
1

嗨,我使用這個class.upload.php爲我的項目,我必須說這是非常有益的。 但是我堅持這個錯誤class.upload.php獲取錯誤

沒有正確上傳的源文件。無法在過程 攜帶

任何人都可以指導我如何解決issue.Thanks 這裏就是我認爲錯誤lies..thanks

<?php 
require_once('class.upload.php'); 
if((isset($_POST['step']))&&($_POST['step']=='process')){ 
    $pictime = strtotime(date('Y-m-d H:i:s')); 
    $pic = "picture"; 

    $id = $_POST['id']; 

    $category = $_POST['category']; 
    $username = $_POST['username']; 
    $path = $_SERVER['DOCUMENT_ROOT'].$_POST['tempfile']; 
    //connect to the server 
    $conn = mysql_connect('localhost','root',''); 
    if(!$conn) 
    { 
    echo "Could not connect to the server"; 
    } 

    //connect to the database 
    $db = mysql_select_db("enzeon_db" , $conn); 
    if(!$db) 
    { 
    echo "Could not connect to the database"; 
    } 

    //query the database to get the imagepath and the thumbpath 
    $query = "SELECT * FROM machine_db WHERE id = '$id' and m_category = '$category' and username = '$username'"; 

    $result = mysql_query($query) or die("Some error occured" . mysql_error()); 

    $num = mysql_num_rows($result); 
    if($num == 1) 
    { 
    $row = mysql_fetch_array($result); 
    $imagepath = $row['m_imagepath']; 

    $imagethumb = $row['m_thumb_path']; 

    } 


    $handle = new Upload($_SERVER['DOCUMENT_ROOT'].$_POST['tempfile']); 

    if ($handle->uploaded) { 

    $handle->file_src_name_body  = $pic; // hard name 
    $handle->file_new_name_body = 'enzeon_'.$pictime; 

    $handle->file_overwrite = false; 
    $handle->file_auto_rename = false; 
    $handle->image_resize   = true; 
    $handle->file_src_pathname = true; 
    $handle->image_x     = 200; //size of final picture 
    $handle->image_y     = 200; //size of final picture 

    $handle->jcrop     = true; 
    $handle->rect_w     = $_POST['w']; 
    $handle->rect_h     = $_POST['h']; 
    $handle->posX     = $_POST['x']; 
    $handle->posY     = $_POST['y']; 
    $handle->jpeg_quality  = 100; 
    $handle->Process($_SERVER['DOCUMENT_ROOT'].'/LoginSystem/upload_pic/'); 

    //thumb-50 
    $handle->file_src_name_body  = $pic; // hard name 
    $handle->file_new_name_body = 'idrish_'.$pictime; 
    $handle->file_overwrite = false; 
    $handle->file_auto_rename = false; 
    $handle->image_resize   = true; 
    $handle->image_x     = 100; 
    $handle->image_y     = 100; //size of picture 

    $handle->jcrop     = true; 
    $handle->rect_w     = $_POST['w']; 
    $handle->rect_h     = $_POST['h']; 
    $handle->posX     = $_POST['x']; 
    $handle->posY     = $_POST['y']; 
    $handle->jpeg_quality  = 100; 
    $handle->Process($_SERVER['DOCUMENT_ROOT'].'/LoginSystem/upload_pic/'); 
    if($handle->processed) 
    { 
    echo "gimme some sunshine"; 
    } 
    else 
    { 
    echo 'error' . $handle->error; 
    } 



    $handle->clean(); 

    } 
    else { 

    echo "here" . $handle->error; 
    } 

} 
echo "yes"; 
    //header("location:".$_SERVER["PHP_SELF"]); 
?> 

回答

0
$handle = new Upload($_SERVER['DOCUMENT_ROOT'].$_POST['tempfile']); 

它應該代碼是

$handle = new Upload($_SERVER['DOCUMENT_ROOT'].$_FILES['tempfile']); 

只是這樣做print_r($_POST);print_r($_FILES);,你會明白爲什麼

+0

只要'$ handle =新上傳($ _ FILES ['tempfile']);' – VolkerK 2010-01-09 13:14:13

+0

@antpaw感謝您的回覆。但我從另一個文件調用tempfile路徑,所以$ _POST我認爲是正確的。另外print_r($ _ FILES)給出一個空數組。我也嘗試把echo $ handle-> log;在我的代碼,並得到了以下輸出,錯誤「沒有正確的上傳的源文件。不能進行一個過程」你能建議別的什麼......這讓我瘋狂... – noobcode 2010-01-09 13:57:40

+1

也許你的表單標記缺失enctype = 「多部分/格式數據」 – antpaw 2010-01-09 14:42:27