Avatar billede m_bold Praktikant
28. juli 2005 - 17:40 Der er 23 kommentarer og
1 løsning

erstat eksisterende fil

Hej.

Hvordan laver man sådan en "filen eksisterer allerede, vil du erstatte eksisterende fil?" ved upload af billeder?

Eller er det javascript, man gør det i?
Avatar billede mysli Nybegynder
28. juli 2005 - 17:42 #1
is_file() tjekker om filen eksisterer
Avatar billede kdjweb Nybegynder
28. juli 2005 - 17:43 #2
laver du en liste i din database over uploadede filer?
Avatar billede mysli Nybegynder
28. juli 2005 - 17:43 #3
Hvis du skal lave en popop der spørg om man vil erstatte skal du bruge javascript ja.
Avatar billede m_bold Praktikant
28. juli 2005 - 17:46 #4
Jeg har den her, er tjekker om filen allerede ligger på serveren:
if (file_exists($_SERVER["DOCUMENT_ROOT"] . '/pics/'.$_FILES['filnavn']['name'])) {

Men hvordan laver jeg så pop-up, der spørger om jeg vil erstatte?
Avatar billede mysli Nybegynder
28. juli 2005 - 17:53 #5
Det skal klares i javascript med en confirm()
Avatar billede kdjweb Nybegynder
28. juli 2005 - 17:54 #6
echo "
<script type=\"text/javascript\">
<!--
function confirmation() {
var answer = confirm(\"Er du sikker på at du vil slette denne Nyhed?\")
if (answer){

}
else{

}
}
//-->
</script>";

det er javascript.. men jeg håber det er tilladt :)
Avatar billede kdjweb Nybegynder
28. juli 2005 - 17:55 #7
undskylder teksten i den, det er en jeg selv bruger :p
Avatar billede m_bold Praktikant
28. juli 2005 - 17:55 #8
Kan I uddybe det lidt, jeg er ikke helt med på, hvad der sker i koden, og hvor jeg skal sætte det ind...?
Avatar billede kdjweb Nybegynder
28. juli 2005 - 18:02 #9
if (file_exists($_SERVER["DOCUMENT_ROOT"] . '/pics/'.$_FILES['filnavn']['name'])) {
echo "
<script type=\"text/javascript\">
<!--
function confirmation() {
var answer = confirm(\"Er du sikker på at du vil overskrive filen?\")
if (answer){

window.location = \"?svar=ja\";
}
else{
window.location = \"?svar=nej\";
}
}
//-->
</script>";
}
if($_GET['svar'] == "ja"){

//upload billedet

} else {

//lad vær :)

}
Avatar billede m_bold Praktikant
28. juli 2005 - 18:53 #10
Hmm. Det virker ikke rigtig. Der kommer ikke nogen pop-up. Har jeg gjort det rigtigt?

if (file_exists($_SERVER["DOCUMENT_ROOT"] . '/pics/'.$_FILES['filnavn']['name'])) {
    echo ?>
<script type="text/javascript">
<!--
function confirmation() {
var answer = confirm("Er du sikker på at du vil overskrive filen?")
if (answer){

window.location = "?svar=ja";
}else{
window.location = "?svar=nej";
}
}
//-->
</script> <?php ;
    }
    if($_GET['svar'] == "ja"){
   
    //upload billedet

} else {

//lad vær :)

}
Avatar billede kdjweb Nybegynder
28. juli 2005 - 18:58 #11
if (file_exists($_SERVER["DOCUMENT_ROOT"] . '/pics/'.$_FILES['filnavn']['name'])) {
echo "
<script type=\"text/javascript\">
<!--
function confirmation() {
var answer = confirm(\"Er du sikker på at du vil overskrive filen?\")
if (answer){

window.location = \"?svar=ja\";
}
else{
window.location = \"?svar=nej\";
}
}
//-->
</script>";
}
if($_GET['svar'] == "ja"){

// forsæt med at uploade

} else {

// stop med at uploade

}




// <--- det her er en kommentar...
Avatar billede m_bold Praktikant
28. juli 2005 - 19:01 #12
ja, men der sker stadig ingen ting...sorry
Avatar billede kdjweb Nybegynder
28. juli 2005 - 19:10 #13
if(is_file($_SERVER["DOCUMENT_ROOT"] . '/pics/'.$_FILES['filnavn']['name'])) {
echo "
<script type=\"text/javascript\">
<!--
function confirmation() {
var answer = confirm(\"Er du sikker på at du vil overskrive filen?\")
if (answer){

window.location = \"?svar=ja\";
}
else{
window.location = \"?svar=nej\";
}
}
//-->
</script>";
}
if($_GET['svar'] == "ja"){

// forsæt med at uploade

} else {

// stop med at uploade

}
Avatar billede m_bold Praktikant
28. juli 2005 - 20:03 #14
stadig det samme!
Avatar billede kdjweb Nybegynder
28. juli 2005 - 20:07 #15
så kan jeg ikke hjælpe, beklager. :(
Avatar billede m_bold Praktikant
28. juli 2005 - 22:07 #16
Ok nu har har fiflet lidt med det, og har fået pop-up'en til at virke, men er stødt på et nyt problem:

if($_GET['svar'] == "ja"){
    $fil = $_GET['fil'];
    if ($id != NULL) {
                $query = "UPDATE billeder SET billednavn = '".$fil."' WHERE billedid = ".$id."";
            } else {
                $query = "INSERT INTO billeder SET billednavn='".$fil."'";
            }
                $Result1 = mysql_query($query, $simpelside_dk) or die(mysql_error());
           
            $tempfile = $_FILES[$fil]['tmp_name'];
            $destination = "../pics/{$fil}";
            copy($tempfile, $destination);
} else {
// stop med at uploade
}


Jeg får en fejl: Warning: copy(): Unable to access in /customers/side/side/httpd.www/edit/upload.php on line 83

Nogen der kan gennemskue den?
Avatar billede m_bold Praktikant
28. juli 2005 - 22:29 #17
Problemet er vist, at $tempfile er tom, men jeg ved ikke, hvad jeg skal gøre for at få den til at virke...
Avatar billede kdjweb Nybegynder
29. juli 2005 - 00:03 #18
har du sat chmod på
Avatar billede kdjweb Nybegynder
29. juli 2005 - 00:04 #19
$tempfile er ikke tom $tempfile = $_FILES[$fil]['tmp_name'];
Avatar billede kdjweb Nybegynder
29. juli 2005 - 00:08 #20
if($_GET['svar'] == "ja"){
    $fil = $_GET['fil'];
    if ($id != NULL) {
                $query = "UPDATE billeder SET billednavn = '".$fil."' WHERE billedid = ".$id."";
            } else {
                $query = "INSERT INTO billeder SET billednavn='".$fil."'";
            }
                $Result1 = mysql_query($query, $simpelside_dk) or die(mysql_error());
         
            $tempfile = $_FILES[$fil]['tmp_name'];
            $destination = "$DOCUMENT_ROOT/pics/$fil";
            copy($tempfile, $destination);
} else {
// stop med at uploade
}
Avatar billede m_bold Praktikant
29. juli 2005 - 09:33 #21
Jeg har prøvet at skrive $tempfile ud, og den er helt tom...

Længere nede i min kode har jeg præcis det samme stykke kode, og der fungerer det fint, så jeg er helt blank....
Avatar billede m_bold Praktikant
29. juli 2005 - 10:27 #22
Nå, men -->kdjweb hjalp mig godt på vej med pop-up'en, som jo egentlig var mit spørgsmål fra starten, så der er points, hvis du lige smider et svar.

Jeg har stillet et nyt spørgsmål http://www.eksperten.dk/spm/635826 om mit efterfølgende problem...
Avatar billede kdjweb Nybegynder
29. juli 2005 - 16:39 #23
if($_GET['svar'] == "ja"){
    $fil = $_GET['fil'];
    if ($id != NULL) {
                $query = "UPDATE billeder SET billednavn = '".$fil."' WHERE billedid = ".$id."";
            } else {
                $query = "INSERT INTO billeder SET billednavn='".$fil."'";
            }
                $Result1 = mysql_query($query, $simpelside_dk) or die(mysql_error());
       
            $tempfile = $_FILES[fil]['tmp_name'];
            $destination = "$DOCUMENT_ROOT/pics/$fil";
            copy($tempfile, $destination);
} else {
// stop med at uploade
}
Avatar billede kdjweb Nybegynder
29. juli 2005 - 16:41 #24
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester