Αντιγραφή?

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

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

Απάντηση
Άβαταρ μέλους
^LiO^
Δημοσιεύσεις: 240
Εγγραφή: 20 Μαρ 2004 23:12
Τοποθεσία: Κάπου ανάμεσα στο + και - άπειρο
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από ^LiO^ » 24 Ιαν 2005 20:30

Υπάρχει εντολή σε PhP, να κάνει αντιγραφή ενός φακέλου με άλλο όνομα;

Άβαταρ μέλους
iNDEFiX
Honorary Member
Δημοσιεύσεις: 2569
Εγγραφή: 20 Δεκ 2002 00:48
Τοποθεσία: κλειστή λόγω έργων
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από iNDEFiX » 24 Ιαν 2005 20:31

Oxi distixos. Mono me linux command exec() i kati paromio

Άβαταρ μέλους
^LiO^
Δημοσιεύσεις: 240
Εγγραφή: 20 Μαρ 2004 23:12
Τοποθεσία: Κάπου ανάμεσα στο + και - άπειρο
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από ^LiO^ » 24 Ιαν 2005 20:41

Δηλαδή;

Άβαταρ μέλους
iNDEFiX
Honorary Member
Δημοσιεύσεις: 2569
Εγγραφή: 20 Δεκ 2002 00:48
Τοποθεσία: κλειστή λόγω έργων
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από iNDEFiX » 24 Ιαν 2005 21:40

<?
exec("mv fakelos1 fakelos2");
?>

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από ThyClub » 24 Ιαν 2005 22:33

Εκτός και αν κάνεις parse όλα τα περιεχόμενα του φακέλου και δημιουργήσεις ενα άλλο αντιγράφοντας τα αρχεία σε αυτόν. Θα χρειαστεί να γράψεις μια function.

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Αντιγραφή?

Δημοσίευση από Cha0s » 25 Ιαν 2005 11:22

Και πάλι όμως παίζει πρόβλημα γιατί όλα θα γίνουν με το Userid του apache οπότε τα αρχεία μετά θα βρίσκονται στο directory του User αλλά δεν θα ανοίκουν σε αυτόν με ότι επίπτωση έχει αυτό...

Άλλος τρόπος για διαχείριση αρχείων είναι να γίνει με FTP Functions αλλά είναι πιο μπερδεμένο λιγάκι...

Πάντως για ένα απλό move με FTP Functions θα βγει πιο έυκολα απότι με τις file functions της PHP.

Άβαταρ μέλους
^LiO^
Δημοσιεύσεις: 240
Εγγραφή: 20 Μαρ 2004 23:12
Τοποθεσία: Κάπου ανάμεσα στο + και - άπειρο
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από ^LiO^ » 25 Ιαν 2005 18:08

!!!!

<?
exec("mv fakelos1 fakelos2");
?>

Θα το δοκιμάσω. Αλλα κάτι μου λεει οτι η παραπάνω εντολή θα γινει μεταφορά των δεδομένων, και όχι απλη αντιγραφη

Thanx!
;)
(Για καλό και για κακό, εξηγώ τι θέλω: Έχω έναν φάκελο. Θέλω να δημιουργηθεί ένας δέυτερος φάκελος στο ίδιο level με τον πρώτο, με άλλο όνομα, αλλα με ίδια δεδομένα).

Άβαταρ μέλους
softius
Script Master
Δημοσιεύσεις: 241
Εγγραφή: 11 Ιαν 2004 19:07
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από softius » 25 Ιαν 2005 20:08

Νομίζω πρέπει να χρησιμοποιήσεις το cp αντί το mv, στην προκειμένη περίπτωση...

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Αντιγραφή?

Δημοσίευση από Cha0s » 25 Ιαν 2005 20:35

το mv κατι κατι2 κάνει rename.

το cp κατι κατι2 κάνει copy.

Αν θες να κάνεις copy είναι πολύ πιο εύκολο με την exec() αλλά πολλοί webservers έχουν κλειδωμένες τέτοιες εντολές...

Άβαταρ μέλους
geraki
Honorary Member
Δημοσιεύσεις: 1404
Εγγραφή: 26 Ιαν 2004 20:10
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από geraki » 25 Ιαν 2005 22:16

Μιά που αναφέρθηκε, αν μια εντολή που βάλουμε σε exec() χρειάζεται πάνω από 30" για να εκτελεστεί επιτυχώς, τί γίνεται;
Μπορούμε να την βάλουμε στο background με '&';
Μήπως χρειάζεται nohup; (Λέω τώρα...)
Εικόνα &#8592; Αυτό το έκλεψα απ'τον Eneme.

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Αντιγραφή?

Δημοσίευση από Cha0s » 25 Ιαν 2005 22:22

set_time_limit ( 0 )

Οπότε του λες να μην κάνει timeout το script αν περάσουν τα χ δευτερόλεπτα που έχει ορίσει ο admin στον server.

Βέβαια αν είναι κλειδωμένο δεν θα παίξει...

Άβαταρ μέλους
^LiO^
Δημοσιεύσεις: 240
Εγγραφή: 20 Μαρ 2004 23:12
Τοποθεσία: Κάπου ανάμεσα στο + και - άπειρο
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από ^LiO^ » 26 Ιαν 2005 19:08

Thanx guys! :D

Άβαταρ μέλους
geraki
Honorary Member
Δημοσιεύσεις: 1404
Εγγραφή: 26 Ιαν 2004 20:10
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από geraki » 26 Ιαν 2005 22:54

Και αν κλείσει ο browser σταματάει να τρέχει; Με ενδιαφέρει να μπει στο background και απλά να τελειώσει όταν τελειώσει, ανεξάρτητα από το αν θα είναι ανοικτός ο browser ή όχι.
π.x. για να κατεβάσω ένα μεγάλο αρχείο σε ένα remote server, δίνω nohup wget http://somehost.net/file.ext & και μπορώ να αποσυνδεθώ με το πρόγραμμα να συνεχίζει να τρέχει.
Πως γίνεται κάτι αντίστοιχο; δηλαδή με:
set_time_limit (0); exec("wget http://somehost.net/file.ext"); φαντάζομαι ότι θα τρέχει μέχρι να τελειώσει, αλλά αν ακυρώσει την αίτηση ο client σταματάει, σωστά;
Εικόνα &#8592; Αυτό το έκλεψα απ'τον Eneme.

Άβαταρ μέλους
geraki
Honorary Member
Δημοσιεύσεις: 1404
Εγγραφή: 26 Ιαν 2004 20:10
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από geraki » 26 Ιαν 2005 23:10

Τελικά το βρήκα. Πρέπει να στέλνεις την έξοδο στο /dev/null.
π.χ. exec('nohup wget http://somehost.net/file.ext >/dev/null 2>&1 &');
Εικόνα &#8592; Αυτό το έκλεψα απ'τον Eneme.

Άβαταρ μέλους
LaLaKiSs
Δημοσιεύσεις: 31
Εγγραφή: 02 Φεβ 2004 13:59
Επικοινωνία:

Αντιγραφή?

Δημοσίευση από LaLaKiSs » 27 Ιαν 2005 08:44

Ρε Γερακι να σαι καλα αδερφε.μπηκα στο σαιτ σου και λυθηκα στο γελιο :D :D :D

Απάντηση

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

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

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