Εγγραφές σε mysql & Upload

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

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

Απάντηση
Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από vassilism » 09 Δεκ 2007 18:43

Παιδιά καλησπέρα σας.
Έχω αυτό το script με το οποίο μέσω μιας φόρμας καταχωρεί εγγραφές στην mysql.
Επίσης αποθηκεύει ένα αρχείο εικόνας στον server και καταχωρεί το όνομά της στην mysql.

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

<?php 
include &#40;'../dbconnect.php'&#41;;
 $upload_path = $_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/";
 $upload_url = $_SERVER&#91;'ROOT'&#93; . "/fotos/";
	 
 $id = $_POST&#91;"id"&#93;;
 $name = $_POST&#91;"name"&#93;; 
	 
 //Create query        
 $query = "insert into imageuploads values&#40;'".$id."','".$upload_url."','".$file_name."','".$name."'&#41;"; 
		$result = mysql_query&#40;$query&#41;;             
 echo&#40; "<P>Η εγγραφή  καταχωρήθηκε.</P>" &#41;; 
		
 if &#40;count&#40;$_FILES&#91;'file'&#93;&#41;&#41; &#123; 
      $tmp_name = $_FILES&#91;'file'&#93;&#91;'tmp_name'&#93;; 
      $name = $_FILES&#91;'file'&#93;&#91;'name'&#93;; 
      $size = $_FILES&#91;'file'&#93;&#91;'size'&#93;; 
      $size = &#40;$size >= 5024&#41; ? floor&#40;$size / 5024&#41; . "kbytes" &#58; $size . "bytes"; 

$allowed_ext = array&#40;"gif", "jpg", "png", "bmp", "ico", "JPG", "GIF", "jpeg", "tif", "psd", "eps", "tga", "JPEG", "BMP"&#41;;        
if &#40;!in_array&#40;substr&#40;$name,strlen&#40;$name&#41;-3,strlen&#40;$name&#41;&#41;, $allowed_ext&#41;&#41;&#123; 
   echo "Δεν καταχωρήθηκε αρχείο.<br>Το αρχείο " . $name . " δεν αντιστοιχεί σε εικόνα.";
   echo "<p><a href=\"javascript&#58;history.back&#40;-1&#41;;\" class=\"selidopoiisi\">&#91;Πίσω&#93;</a></p>";  
   exit; 
&#125;
    
if &#40;file_exists&#40;$upload_path . "/" . $name&#41;&#41; &#123; 
echo "Το αρχείο δεν καταχωρήθηκε.<br>Το αρχείο που επιλέξατε υπάρχει ήδη.<br>Αλλάξτε το όνομα του αρχείου και προσπαθήστε ξανά.";
echo "<p><a href=\"javascript&#58;history.back&#40;-1&#41;;\" class=\"selidopoiisi\">&#91;Πίσω&#93;</a></p>";  
exit;  
         &#125; 
         if &#40;move_uploaded_file&#40;$tmp_name,$upload_path . "/" . $_FILES&#91;'file'&#93;&#91;'name'&#93;&#41;&#41; &#123; 
            echo "Το αρχείο καταχωρήθηκε επιτυχώς.<br /><br />Όνομα αρχείου&#58; " . $name . "<br />Μέγεθος&#58; " . $size; 
         &#125; else &#123; 
            echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
         &#125; 
      &#125; else &#123; 
         echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
      &#125; 	  
?>
Αυτό που θα ήθελα να ρωτήσω είναι αν είναι σωστός ο τρόπος που γίνετε η αποθήκευση του αρχείου?
Μήπως χρειάζεται να γίνετε διαφορετικά? πχ να αποθηκεύετε το αρχείο, πριν γίνει η εγγραφή στην mysql?

Η ερώτησή μου αποσκοπεί στο ότι θέλω να εξελίξω αυτό το script να κάνει τα εξής:
1. Να μπορούν να αποθηκεύονται παραπάνω από ένα αρχεία (και να γίνετε η εγγραφή των ονομάτων τους στην mysql).
2. Να δημιουργούνται Thumbnails των εικόνων που ανεβάζω στον server (και να γίνετε η εγγραφή των ονομάτων τους στην mysql).

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από Banavas » 09 Δεκ 2007 23:26

1. Μπορείς να περνάς όσες φωτογραφίες θέλεις στό ίδιο πεδίο χωρισμένες με κόμματα και να κάνεις explode το περιεχόμενο του πεδίου για να εμφανίζεις τις εικόνες.
2. Δεν χρειάζεται να περνάς τα ονόματα των thumbnails στην βάση. Μπορείς να τους δίνεις το όνομα της βασικής εικόνας με ένα πρόθεμα π.χ.
όνομα εικόνας ikona.jpg όνομα μικρογραφίας: th_ikona.jpg.
Όταν θέλεις να εμφανίσεις το εικονίδιο διαβάζεις από την βάση το όνομα της εικόνας και προσθέτεις το πρόθεμα.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από vassilism » 10 Δεκ 2007 01:12

Φίλε Μάρκο δεν έχω δει κάτι αντίστοιχο για να καταλάβω ακριβώς τι εννοείς.
Αυτό που με απασχολεί περισσότερο είναι κατά πόσο σωστός είναι αυτός ο τρόπος.
Θα έχω την δυνατότητα στην συνέχεια να κάνω delete, edit κτλ εύκολα, ή θα πρέπει να γράφω κατεβατά κώδικα για να το επιτύχω?

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από Banavas » 10 Δεκ 2007 13:56

Aς πάρουμε την πρώτη ερώτηση. Οι πιθανοί τρόποι είναι
α) Να ξέρεις πόσες φωτογραφίες ανά εγγραφή θέλεις και να δημιουργήσεις τα κατάλληλα πεδία. (Προβληματικός ο τρόπος αν δεν υπάρχει σταθερός αριθμός φωτογραφιών ανά εγγραφή)
β) Να δημιουργήσεις ένα άλλο πίνακα με φωτογραφίες που θα σχετίζεται με τον πρώτο πίνακα.
γ) Να χρησιμοποιήσεις ένα πεδίο στον πρώτο πίνακα στο οποίο να εισάγεις όλες τις φωτογραφίες που θέλεις. (αυτό που ανέφερα στο προηγούμενο μήνυμα)

Σε κάθε περίπτωση θέλεις κάποια ποσότητα κώδικα η οποία δεν νομίζω να διαφέρει ιδιαίτερα.
Ο πιο σωστός τρόπος για μένα (βασικά δεν υπάρχει κανόνας ) νομίζω είναι αυτός με τον λιγώτερο κώδικα σε συνδυασμό με το λιγώτερο φόρτωμα του server.

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

Νομίζω οτι οι πρότάσεις μου αφορούν τον λιγώτερο κώδικα και γενικότερα τον ευκολότερο τρόπο.
Να δούμε τι θα πουν και τα άλλα παιδιά.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Εγγραφές σε mysql & Upload

Δημοσίευση από fafos » 10 Δεκ 2007 16:22

Patrida, o Markos exei apolyto dikio..

Koita auto pou feiaxno autes tis hmeres: http://www.cunard.gr/gr/photos.php?boat=1

Auto xrhsimopoiei ta ekshs pedia:

id
id_ploiou
onoma_photo
category
perigrafh


An kaneis deksi klik se mia mikrografia tha deis enan titlo kapos etsi:

thumbs/119508804324121TMB.JPG

An kaneis klik sthn normal ths fotografia tha deis auto:

images/119508804324121IMG.JPG

opos vlepeis exoun os koino to 119508804324121 to opoio einai kataxorhmeno sthn vash os onoma_photo

apo kei kai pera doulepse ena script to opoio me thn vohtheia ths GD efeiakse mia mikrografia (119508804324121TMB.JPG) kai thn esteile ston fakello thumbs kai mia normal (119508804324121IMG.JPG) pou thn esteile ston fakello images (sto sygkekrimeno paradeigma feiaxno kai thn normal photo se sygkekrimmenes diastaseis gia na mhn me "skotonei" otan tis kano popup kai einai terasties)

Tora ksero oti pairnontas ton titlo apo thn vash otan tou doso thn katalhksh TMB tha paro thn mikrografia kai me thn IMG tha paro thn kanonikh

To edit kai to delete einai paneukolo meta...

kai den xreiazetai na vazeis thn diadromh sthn vash sou, einai perito ektos an kathe ligo allazeis ton fakkelo pou tha sozeis tis photo sou.. an einai statheros den xreiazetai..

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από vassilism » 12 Δεκ 2007 12:33

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

Σχετικά με την παρατήρηση του Μάρκου:
γ) Να χρησιμοποιήσεις ένα πεδίο στον πρώτο πίνακα στο οποίο να εισάγεις όλες τις φωτογραφίες που θέλεις. (αυτό που ανέφερα στο προηγούμενο μήνυμα).
Τώρα που κατάλαβα την φιλοσοφία, είναι όντως πολύ καλός αυτός ο τρόπος.
Όμως για να υλοποιήσω κάτι τέτοιο, εξ αρχής μου φαίνετε βουνό.

Μήπως γνωρίζετε κάποια link με αντίστοιχα παραδείγματα?

Πατρίδα έχεις κάνει πολύ καλή δουλεία βλέπω.
Τι γίνετε δεν έρχεσαι καθόλου στα μέρη σου? Κανόνισε άμα κατέβεις να πάμε για φαί. :D

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Εγγραφές σε mysql & Upload

Δημοσίευση από fafos » 12 Δεκ 2007 15:59

vassilism έγραψε:Παιδία καταρχήν θα ήθελα να σας ευχαριστήσω πολύ για τις απαντήσεις σας, με έχετε βοηθήσει και με βοηθάτε στο μέγιστο.

Σχετικά με την παρατήρηση του Μάρκου:
γ) Να χρησιμοποιήσεις ένα πεδίο στον πρώτο πίνακα στο οποίο να εισάγεις όλες τις φωτογραφίες που θέλεις. (αυτό που ανέφερα στο προηγούμενο μήνυμα).
Τώρα που κατάλαβα την φιλοσοφία, είναι όντως πολύ καλός αυτός ο τρόπος.
Όμως για να υλοποιήσω κάτι τέτοιο, εξ αρχής μου φαίνετε βουνό.

Μήπως γνωρίζετε κάποια link με αντίστοιχα παραδείγματα?

Πατρίδα έχεις κάνει πολύ καλή δουλεία βλέπω.
Τι γίνετε δεν έρχεσαι καθόλου στα μέρη σου? Κανόνισε άμα κατέβεις να πάμε για φαί. :D
Patrida, tha vreis polla paradeigmata kai tutorials sto hotscripts.com...

Exo na katevo 20 xronia sta merh mas :D

O dikos mou me rotaei an esteiles ta xairetismata ston symathith tou..

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από vassilism » 12 Δεκ 2007 16:14

Δεν τον έχω δει καθόλου τον φίλο σου. Έχει ταξί στο Άργος και μένει εκεί τώρα.
Κάποια στιγμή θα τον πετύχω, που θα μου πάει! 8)

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Εγγραφές σε mysql & Upload

Δημοσίευση από fafos » 12 Δεκ 2007 16:47

vassilism έγραψε:Δεν τον έχω δει καθόλου τον φίλο σου. Έχει ταξί στο Άργος και μένει εκεί τώρα.
Κάποια στιγμή θα τον πετύχω, που θα μου πάει! 8)
den einai dikos mou filos :D

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από vassilism » 12 Δεκ 2007 17:01

Α δηλαδή άλλος είναι ο Θωμάς από το Μέρμπακα? Πες το ντε!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Εγγραφές σε mysql & Upload

Δημοσίευση από fafos » 12 Δεκ 2007 17:43

vassilism έγραψε:Α δηλαδή άλλος είναι ο Θωμάς από το Μέρμπακα? Πες το ντε!
Yep, Im not from Merbaka :D

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από vassilism » 12 Δεκ 2007 17:47

Και απο που είσαι ρε πατρίδα?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Εγγραφές σε mysql & Upload

Δημοσίευση από fafos » 12 Δεκ 2007 19:46

Konta sto Merbaka city.. :lol:

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Εγγραφές σε mysql & Upload

Δημοσίευση από vassilism » 13 Δεκ 2007 23:08

Μετά από πολύ αναζήτηση (σχεδόν όλα τα παραδείγματα είναι για απλό upload file), βρήκα αυτό:
http://hockinson.com/upload-insert-imag ... art-1.html
Πώς σας φαίνετε?

Απάντηση

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

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

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