Σχετικά με unlink

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

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

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

Σχετικά με unlink

Δημοσίευση από vassilism » 20 Οκτ 2007 15:03

Καλησπέρα σας.
Έχω το αρχείο delete.php, το οποίο διαγράφει μια εγγραφή σύμφωνα με το id.
Σε κάθε εγγραφή υπάρχει το πεδίο filename που αντιστοιχεί στο όνομα ενός αρχείου που είναι αποθηκευμένο στον server.
Αυτό που θέλω να κάνω είναι όταν διαγράφω την εγγραφή να διαγράφετε και το αρχείο.
Το παρακάτω script διαγράφει την εγγραφή, αλλά όχι το αρχείο.

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

<?php 
$id = $_GET&#91;"id"&#93;;
$file_name = $_GET&#91;"filename"&#93;;
    //Create a connection to MySQL and select "my_db" database
        $con= mysql_connect&#40;"localhost","user","pas"&#41; 
        or die&#40; 'Could not connect to DB&#58; ' . mysql_error&#40;&#41; &#41;;
        mysql_select_db&#40;"lernijui_epafes", $con&#41; or die&#40;mysql_error&#40;&#41;&#41;;
    
unlink&#40;$_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/&#91;'file_name'&#93;"&#41;;
$sql = "DELETE FROM imageuploads WHERE id='$id'"; 
$result = mysql_query&#40;$sql&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
&#123; 
  echo&#40; "<P>Οι εγγραφές διαγράφηκαν.</P>" &#41;; 
&#125;
?>
Αν στην unlink γράψω το εξής:
unlink($_SERVER['DOCUMENT_ROOT'] . "/fotos/foto1.gif");
Θα μου το διαγράψει κανονικά.
Μήπως κάνω κάποιο συντακτικό λάθος?

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Σχετικά με unlink

Δημοσίευση από soteres2002 » 20 Οκτ 2007 16:30

an o server pou ektelei auto to script exei dikaioma eggrafis ston fakelo pou prospatheis na diagrapseis to arxeio, to path p dineis iparxei, kai to arxeio p prospatheis na diagrapseis iparxei, tote i unlink() tha einai epitixis.

pantos sto script p exeis mesa se code tag, exei profanos sfalma stin klisi tis unlink(), afou mallon den anaferesai sosta stin metabliti p thes na deis (fainetai oti einai stixeio pinaka).

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

Σχετικά με unlink

Δημοσίευση από vassilism » 20 Οκτ 2007 16:50

Όχι δεν τίθεται θέμα δικαιωμάτων ή λάθος path.
Στην unlink είναι το πρόβλημα.
Όταν γράψω εγώ το αρχείο:
unlink($_SERVER['DOCUMENT_ROOT'] . "/fotos/foto1.gif");
μου το διαγράφει κανονικά.

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

Σχετικά με unlink

Δημοσίευση από Banavas » 20 Οκτ 2007 17:11

Γράψε:

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

unlink&#40;$_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/".$file_name&#41;; 
Happy coding....
Μάρκος
http://lasernet.gr

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

Σχετικά με unlink

Δημοσίευση από vassilism » 20 Οκτ 2007 17:28

Δυστυχώς το δοκίμασα και πάλι δεν το διαγράφει.

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Σχετικά με unlink

Δημοσίευση από soteres2002 » 20 Οκτ 2007 17:32

boreis na mas doseis ligo to argument p pernas apo to query string? mipos einai kodikopoiimeno? kai parepiptontos, i texniki pou xrisimopoieis anoigei terastio keno asfalias ston webserver sou kai en genei disclosure aporiton isos dedomenon! Opoiosipote tha borei na sou kanei delete px to arxeio p kanei delete tis photos :) !

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

Σχετικά με unlink

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

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

while &#40;$rows = mysql_fetch_assoc&#40;$getData&#41;&#41; 
&#123; 
echo&#40;"". $rows&#91;"id"&#93; .""&#41;;
echo &#40;"<p><a href=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\" class=\"selidopoiisi\">&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;</a></p>"&#41;; 
echo&#40;"<p>". $rows&#91;"name"&#93; ."</p>"&#41;;
echo&#40;"<p><a href=\"delete.php?id=" . $rows&#91;'id'&#93; . "\">Delete</a></p>"&#41;; 
&#125;

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

Σχετικά με unlink

Δημοσίευση από fafos » 20 Οκτ 2007 19:35

vassilism έγραψε:

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

while &#40;$rows = mysql_fetch_assoc&#40;$getData&#41;&#41; 
&#123; 
echo&#40;"". $rows&#91;"id"&#93; .""&#41;;
echo &#40;"<p><a href="&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;" class="selidopoiisi">&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;</a></p>"&#41;; 
echo&#40;"<p>". $rows&#91;"name"&#93; ."</p>"&#41;;
echo&#40;"<p><a href="delete.php?id=" . $rows&#91;'id'&#93; . "">Delete</a></p>"&#41;; 
&#125;
To $file_name = $_GET["filename"]; apo pou "gennietai" re sy patrida?

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

Σχετικά με unlink

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

Λοιπόν πατρίδα, το filename είναι όνομα πεδίου στην mysql.
Σε αυτό το πεδίο αποθηκεύω ονόματα αρχείων.

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

Σχετικά με unlink

Δημοσίευση από fafos » 20 Οκτ 2007 20:45

vassilism έγραψε:Λοιπόν πατρίδα, το filename είναι όνομα πεδίου στην mysql.
Σε αυτό το πεδίο αποθηκεύω ονόματα αρχείων.
auto to katalava.. apo poy to kaneis get den katalava :D

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

Σχετικά με unlink

Δημοσίευση από dik_ » 20 Οκτ 2007 21:15

Βασικά μάθε τη σύνταξη της PHP...

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

Σχετικά με unlink

Δημοσίευση από vassilism » 20 Οκτ 2007 23:20

Ρε σύ πατρίδα με έβαλες σε σκέψεις, μήπως δεν χρειάζεται το $file_name = $_GET["filename"];
Γιατί εγώ νομίζω ότι το κάνω get από την mysql.
Αλλά και πάλι τι μπορεί να επηρεάσει αυτό ώστε να μην διαγράφετε το αρχείο?
Όπως είπα και πριν αν γράψω εγώ το αρχείο στην unlink:

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

unlink&#40;$_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/foto1.gif"&#41;;
δηλαδή το foto1.gif μου το διαγράφει.
Ενώ όταν βάζω

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

unlink&#40;$_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/".$file_name&#41;;
δεν το διαγράφει.

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

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

Σχετικά με unlink

Δημοσίευση από fafos » 20 Οκτ 2007 23:24

vassilism έγραψε:Ρε σύ πατρίδα με έβαλες σε σκέψεις, μήπως δεν χρειάζεται το $file_name = $_GET["filename"];
Γιατί εγώ νομίζω ότι το κάνω get από την mysql.
Αλλά και πάλι τι μπορεί να επηρεάσει αυτό ώστε να μην διαγράφετε το αρχείο?
Όπως είπα και πριν αν γράψω εγώ το αρχείο στην unlink:

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

unlink&#40;$_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/foto1.gif"&#41;;
δηλαδή το foto1.gif μου το διαγράφει.
Ενώ όταν βάζω

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

unlink&#40;$_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/".$file_name&#41;;
δεν το διαγράφει.

dik_ έχεις απόλυτο δίκιο, και θα έλεγα ότι έχω ξεκινήσει πολύ στραβά.
Ενώ είμαι τελείως αρχάριος έχω ξεκινήσει με δύσκολα θέματα.
Loipon patrida :D exoume kai leme...

to delete.php?id=" . $rows['id'] . "

kane to
delete.php?id=" . $rows['id'] . "&filename=" . $rows['file_name'] . "

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Σχετικά με unlink

Δημοσίευση από dva_dev » 20 Οκτ 2007 23:26

Λοιπόν πατρίδα, το filename είναι όνομα πεδίου στην mysql.
Σε αυτό το πεδίο αποθηκεύω ονόματα αρχείων.

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

while &#40;$rows = mysql_fetch_assoc&#40;$getData&#41;&#41;
&#123;
echo&#40;"". $rows&#91;"id"&#93; .""&#41;;
echo &#40;"<p><a href=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\" class=\"selidopoiisi\">&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;</a></p>"&#41;;
echo&#40;"<p>". $rows&#91;"name"&#93; ."</p>"&#41;;
echo&#40;"<p><a href=\"delete.php?id=" . $rows&#91;'id'&#93; . "\">Delete</a></p>"&#41;;
Μήπως το όνομα του πεδίου στη mysql που κρατάει το όνομα του αρχείου είναι file_name και όχι filename;

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

Σχετικά με unlink

Δημοσίευση από vassilism » 20 Οκτ 2007 23:58

Ν&#8217;ασαι καλά ρε πατρίδα, αν δεν το πρόσεχες αυτό θα παιδευόμουν για κανά χρόνο.
Τελικά δούλεψε.
Χρωστάω κέρασμα.

Απάντηση

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

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

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