2011-03-18 20 views
6

इंगित करता है मुझे एक ही समस्या के साथ कुछ पोस्ट मिली हैं, हालांकि, कोई समाधान प्रस्तुत नहीं किया गया है। मुझे 100% यकीन नहीं है कि इसका क्या बनाना है, लेकिन उम्मीद है कि आप मदद कर सकते हैं।फ़ाइल अपलोड नहीं करना अपलोड करें, लेकिन सफलता

मैं फ़ाइलों को अपलोड करने Uploadify उपयोग करने का प्रयास कर रहा हूँ, लेकिन निम्न होता है:

  1. ब्राउज़ फ़ाइल सफल (इसलिए मेरी 'स्क्रिप्ट' और 'अपलोड' विशेषताओं सही हैं)
  2. प्रगति बार कहते हैं के लिए " 100% "और पूरा करता है।
  3. onComplete आग कह अपलोड सफल (पथ को सतर्क कर दिया के अनुसार, 'फ़ोल्डर' विशेषता सही है।)
  4. मैं किसी भी उत्पादन से पहले मेरी स्क्रिप्ट मर रहे हैं, तो चरण # 3 नहीं होता है - इसलिए यह स्क्रिप्ट 'तक पहुँच जाता है निर्दिष्ट। आउटपुट के बाद, स्क्रिप्ट मर नहीं जाती है।
  5. फ़ाइल फाइल सिस्टम

सुनिश्चित नहीं हैं कि यह कैसे संभव हो सकता है में नहीं पाया जाता - जहाँ तक मैं बता सकता हूँ, सब कुछ सही है।

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#addimage").validationEngine(); 
     $('#imagefile').uploadify({ 
      'uploader': "/js/uploadify/uploadify.swf", 
      'fileExt': "*.jpg;*.jpeg;*.png;*.gif", 
      'buttonText': "Browse...", 
      'script': "/js/uploadify/uploadify.php", 
      'cancelImg': "/js/uploadify/cancel.png", 
      'folder': "/uploads", 
      'fileDesc': 'Only *.jpg, *.jpeg, *.png, *.gif are allowed', 
      'auto': true, 
      'onComplete': function(event, ID, fileObj, response, data) { 
       $('#name').val('Please edit this text to add a description...'); 
       alert('Uploaded ' + fileObj.name + ' to ' + fileObj.filePath + '.'); 
      } 
     });   
    }); 
</script> 

<input type="file" id="imagefile" name="imagefile" /> 

<?php 

    if (!empty($_FILES)) { 
     $tempFile = $_FILES['Filedata']['tmp_name']; 
     $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; 
     $targetFile = str_replace('//', '/', $targetPath) . 'image_' . date('YmdHis') . '_' . $_FILES['Filedata']['name']; 
     move_uploaded_file($tempFile,$targetFile); 
     echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile); 
    } 

?> 

PHP स्क्रिप्ट की एकमात्र परिवर्तन targetFile के नाम जो मैं बदल गया है है, अद्वितीय फ़ाइल नाम किसी प्रकार सुनिश्चित करने के लिए (हालांकि सरल नहीं) लेकिन अन्यथा स्क्रिप्ट है:

यहाँ मेरी कोड है रिलीज़ के समान (ब्रेवटी उद्देश्यों के लिए यहां टिप्पणियों को हटाया गया है)।

क्या कोई मुझे बता सकता है कि अपलोडिफ़ी इंगित करता है कि फ़ाइल अपलोड सफल क्यों था, लेकिन अपलोड निर्देशिका में कोई फ़ाइल मौजूद नहीं है? मैं विंडोज, PHP5.3 का उपयोग कर रहा हूं, और अपलोड फ़ोल्डर लिखने योग्य है (मैं अपलोडिफ़ाई के बिना वहां फाइल अपलोड कर सकता हूं, लेकिन इसके साथ नहीं)

अग्रिम धन्यवाद!

कोबस

उत्तर

0

मुझे लिनक्स मशीन पर समान समस्याएं थीं। यह पता चला कि मेरे सर्वर पर PHP कॉन्फ़िगरेशन कप्लिट था। PHP सुरक्षित मोड में चल रहा था। जैसा कि मैंने एफ़टीपी के माध्यम से अपलोडिफ़ी स्क्रिप्ट अपलोड की थी, इसलिए मेरे एफ़टीपी उपयोगकर्ता विवरण के साथ फाइल सिस्टम में स्क्रिप्ट फाइलें संग्रहीत की गई थीं। चूंकि PHP के अस्थायी फ़ोल्डर का सर्वर रूट द्वारा स्वामित्व था, इसलिए मेरे पास एक यूआईडी मेल नहीं था, यानी अस्थायी अपलोड फ़ाइल को रूट के लिए जिम्मेदार ठहराया गया था, जबकि अपलोड स्क्रिप्ट जिसने इसे स्थानांतरित करने का प्रयास किया था, उसका स्वामित्व एफ़टीपी उपयोगकर्ता था। वह इसे खंडित कर दिया।

इसे हल करने के लिए मैंने अपलोड करने के लिए अपलोड करें php स्क्रिप्ट का स्वामित्व बदल दिया और वहां से काम किया।

संबंधित मुद्दे