Το καλυτερο File Upload

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Το καλυτερο File Upload

Δημοσίευση από Intefix » 20 Δεκ 2013 14:40

Το κατάφερα; αυτό αλλά το js που σηκώνει η φόρμα μου το κόβει...
το κομμάτι HTML, PHP

Κώδικας: Επιλογή όλων

...
<li class="form-line form-line-column" style="width&#58;650px !important;" id="id_12">
 <label class="form-label-left" id="label_12" for="attach_file"> Επισύναψη Αρχείου </label>			
<span class="form-sub-label-container">
<a href="#"><img id="btnAdd" title="Προσθήκη" src="images/add.gif" width="16" height="16" /></a>
<label class="form-sub-label" for="input_7_hourSelect" id="sublabel_hour"> Add</label>
					</span>
					<div class="form-sub-label-container ">
						<div class="clonedInput ">
							<span class="form-sub-label-container">
								<input id="link" type="text" class="form-textbox" style="width&#58;100px"  name="linktext" />
								<label class="form-sub-label" for="input_7_hourSelect" id="sublabel_hour">&nbsp;&nbsp;&nbsp; Λεζάντα </label>
							</span>
							<span class="form-sub-label-container">
								<input name="viewLink" type="checkbox" id="viewlink" />
								<label class="form-sub-label" for="input_8_hourSelect" id="sublabel_hour"> Λίστα </label>
							</span>
							<span class="form-sub-label-container">
								<input id="fileupload" type="file" name="fileupload" style="height&#58;25px" />
								<label class="form-sub-label" for="input_7_hourSelect" id="sublabel_hour">&nbsp; </label>
								<div id="fileuploads"></div>
<?php									
if &#40;isset&#40;$_FILES&#91;'fileupload'&#93;&#41;&#41;&#123; 
										   $errors = array&#40;&#41;; 
										   $allowed_ext = array&#40;'pdf','doc','docx','xls','csv','txt','rtf','html','zip','mp3','wma','mpg','flv','avi','jpg','jpeg','png','gif'&#41;; // you can put whatever you want! 
											
										   $file_name = $_FILES&#91;'fileupload'&#93;&#91;'name'&#93;; 
										   $file_ext = strtolower&#40;pathinfo&#40;$file_name, PATHINFO_EXTENSION&#41;&#41;; 
										   $file_size = $_FILES&#91;'fileupload'&#93;&#91;'size'&#93;; 
										   $file_tmp = $_FILES&#91;'fileupload'&#93;&#91;'tmp_name'&#93;; 
											
										   if&#40;in_array&#40;$file_ext, $allowed_ext&#41; === false&#41;&#123; 
											  $errors&#91;&#93; = 'Δεν επιτρέπεται τέτοιου είδους αρχείο!'; 
											  // just a simple message! 
											&#125; 
										   // for file size 
										   if&#40;$file_size > 2097152&#41;&#123; 
											  $errors&#91;&#93; = 'Το μέγεθος του αρχείου δεν πρέπει να ξεπερνά τα 2mb!'; 
										   &#125; 
										   if &#40;empty&#40;$errors&#41;&#41;&#123; 
										   move_uploaded_file&#40;$file_tmp, 'uploads/'.$file_name&#41;; // your upload directory&#91;folder&#93; 
										   echo '<b><font color="#009900">Το αρχείο μεταφέρθηκε</font></b>'; 
										   &#125; else &#123; 
											  foreach&#40;$errors as $error&#41;&#123; 
												 echo $error, '<br />'; 
											  &#125; 
										   &#125; 
										&#125; 
									?> 	
						 
							</span>	
						<span class="form-sub-label-container">	
							<input type="button" class="btnDel" value="Delete" disabled="disabled" />
							<label class="form-sub-label" for="input_7_hourSelect" id="sublabel_hour"> &nbsp;</label>
							</span>
						</div>
					</div>
				</li>...				  
και το κομμάτι js

Κώδικας: Επιλογή όλων

$&#40;document&#41;.ready&#40;function&#40;&#41; &#123;
    
    var inputs = 1; 
    
    $&#40;'#btnAdd'&#41;.click&#40;function&#40;&#41; &#123;
        $&#40;'.btnDel&#58;disabled'&#41;.removeAttr&#40;'disabled'&#41;;
        var c = $&#40;'.clonedInput&#58;first'&#41;.clone&#40;true&#41;;
            c.children&#40;'&#58;text'&#41;.attr&#40;'name','input'+ &#40;++inputs&#41; &#41;;
        $&#40;'.clonedInput&#58;last'&#41;.after&#40;c&#41;;
    &#125;&#41;;
    
    $&#40;'.btnDel'&#41;.click&#40;function&#40;&#41; &#123;
        if &#40;confirm&#40;'continue delete?'&#41;&#41; &#123;
            --inputs;
            $&#40;this&#41;.closest&#40;'.clonedInput'&#41;.remove&#40;&#41;;
            $&#40;'.btnDel'&#41;.attr&#40;'disabled',&#40;$&#40;'.clonedInput'&#41;.length  < 2&#41;&#41;;
        &#125;
    &#125;&#41;;
    
    
&#125;&#41;;
Ουσιαστικά κάνει clone ένα div.
Ερώτημα το κομμάτι της PHP να το βγάλω έξω; (μάλλον έτσι μου φαίνεται) η να το αφήσω έτσι; Θα δουλέψει;

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Το καλυτερο File Upload

Δημοσίευση από geomagas » 20 Δεκ 2013 20:05

Επειδή το θέμα περιλαμβάνει πολλές παραμέτρους, δες έναν τρόπο υλοποίησης εδώ.
Είναι υπεραπλουστευμένος, αλλά πιστεύω ότι περιγράφει επαρκώς τη γενική εικόνα.

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Το καλυτερο File Upload

Δημοσίευση από Intefix » 27 Δεκ 2013 07:31

Καλημέρα και χρόνια πολλά...
Δώσε κανα κινητό σε pm να τα πουμε από κοντά μιας και βλέπω ότι είσαι Ηράκλειο.
Ίσως βγάλουμε άκρη...

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Το καλυτερο File Upload

Δημοσίευση από geomagas » 27 Δεκ 2013 19:35

Θα καταργούσαμε το σκοπό του φόρουμ, έτσι δεν είναι; ;)

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Το καλυτερο File Upload

Δημοσίευση από Intefix » 29 Δεκ 2013 09:27

Συμφωνώ.... :D
Πάντως ότι βγαίνει ενημερώνω συνήθως το φορουμ μέχρι να κλείσει το θέμα

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Το καλυτερο File Upload

Δημοσίευση από Intefix » 30 Δεκ 2013 08:56

geomagas έγραψε:Επειδή το θέμα περιλαμβάνει πολλές παραμέτρους, δες έναν τρόπο υλοποίησης εδώ.
Είναι υπεραπλουστευμένος, αλλά πιστεύω ότι περιγράφει επαρκώς τη γενική εικόνα.
Καλήμέρα...
Διαβάζω το άρθρο αυτό στο blog σου. Προσπαθώ να το εφαρμόσω... Πολύ κατατοπιστικά τα άρθρα σου...

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης