Avatar billede tspdk Nybegynder
17. februar 2005 - 19:13 Der er 38 kommentarer og
1 løsning

Fejl jeg ikke forstår

Hej

Jeg får denne fejl, jeg kan ikke se hvad det er den har gang i og hvorfor den fejler.


<br />
<b>Warning</b>:  filesize(): Stat failed for ./Video/nouser/117.avi  (errno=2 - No such file or directory) in <b>/home/kitebox/public_html/Download.php</b> on line <b>26</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /home/kitebox/public_html/Download.php:26) in <b>/home/kitebox/public_html/Download.php</b> on line <b>26</b><br />
<br />
<b>Warning</b>:  readfile(./Video/nouser/117.avi ): failed to open stream: No such file or directory in <b>/home/kitebox/public_html/Download.php</b> on line <b>27</b><br />
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:13 #1
Jeg er behjælpelig med mere info.
Avatar billede detox Nybegynder
17. februar 2005 - 19:15 #2
Det bunder i at den ikke kan finde filen: ./Video/nouser/117.avi
Avatar billede alister_crowley Nybegynder
17. februar 2005 - 19:15 #3
1. Warning</b>:  filesize(): Stat failed for ./Video/nouser/117.avi  (errno=2 - No such file or directory) in

Den fil du vil finde størrelsen på findes ikke.

2. og 3. pga. fejl nr. 1
Avatar billede detox Nybegynder
17. februar 2005 - 19:16 #4
Er stien rigtig? Er alt stavet korrekt (store/små bogstaver)?
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:22 #5
Ja siten er nu ændret til det den skal være men den gemmer ikke i det rigigtige format nu. Det er en AVI fil og når den gemmer den så siger Media player at den ikke kender codes.

test kan ses her http://www.drageportal.dk/video/default.asp?KatID=1
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:24 #6
Det skal sige at vi bruger du server placeret geografisk i DK og i USQ
Avatar billede detox Nybegynder
17. februar 2005 - 19:27 #7
Så må det være din mediaplayer det er galt med, den vises fint her.
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:29 #8
hmm oki
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:30 #9
video klip jeg har liggende online på min HDD virker fint.

Men dem jeg download virker ikke ??
Avatar billede detox Nybegynder
17. februar 2005 - 19:31 #10
Arh jeg har ikke forsøgt at downloade, jeg åbnede den bare.
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:33 #11
ja selve View Video virker fint nok, men det er den direkt download der driller ;o)
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:35 #12
Jeg er ikke en haj til PHP mest ASP..... Men jeg har den Download.PHP fil jeg bruger så jeg ved ikke om du vil se den
Avatar billede detox Nybegynder
17. februar 2005 - 19:35 #13
Jo, det må jo være der fejlen er.
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:36 #14
Kan du tjekke filen om den gør det den skal ? kan jeg sende den til dig
Avatar billede detox Nybegynder
17. februar 2005 - 19:38 #15
Post den her, medmindre den er meget stor.
Avatar billede detox Nybegynder
17. februar 2005 - 19:39 #16
Ellers lav et link til sourcekoden.
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:39 #17
<?
$newname = $_GET['filnavn'];
$filename = $_GET['file'];
$root_path = "http://www.kitebox.com/Video/";
$myfile = $root_path . $filename;
if(!$filename){ echo "ERROR: No filename specified. Please try again."; }
else {
// fix for IE catching or PHP bug issue
    header("Pragma: public");
    header("Expires: 0"); // set expiration time
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

// browser must download file from server instead of cache
// force download dialog

    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");

// use the Content-Disposition header to supply a recommended filename and
// force the browser to display the save dialog.

    header("Content-Disposition: attachment; filename=".basename($newname).";");
    header("Content-Transfer-Encoding: binary");
// echo $myfile;
    header("Content-Length: ".filesize($myfile));
    readfile("$myfile");
    exit();
}
?>
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:40 #18
Det lader nemlig til at den "video" man download gemmer det hele som en text fil.
Ved download tilknytter vi variabel til fil navnet så den ikke hedder eks. 107.avi men selve den titel brugeren har skrevet.
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:45 #19
den variabel kommer jo fra vores MS Sql server, da hele DragePortal.DK køre på ASP
Avatar billede detox Nybegynder
17. februar 2005 - 19:49 #20
Ja, det burde jo ikke gøre nogen forskel at den får et andet navn. Det må være en af de headere det er galt med. Måske skal du have: Content-Type: video
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:51 #21
tilføjet ? eller hvordan skal jeg skrive det i denne PHP fil ?
Avatar billede sukos Juniormester
17. februar 2005 - 19:54 #22
Prøv at ændre $root_path til den fulde sti på serveren.

Eller prøv denne:

<?php
if(isset($_GET["filnavn"], $_GET["file"])){


$path = "d:/fuld/sti/til/dir/"; // på unix vil det være noget a'la "/web/hosts/domain/dir/"

if(is_file($path . $_GET["file"])) {

header("Content-Disposition: attachment; filename=". $_GET["filnavn"] ."");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($path.$_GET["file"]));
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");

$fp = fopen($path.$_GET["file"],"r");
print fread( $fp, filesize($path.$_GET["file"]) );
fclose($fp);
exit();
    }else{
echo"File not found!";
    }
}
?>
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:56 #23
jeg prøver
Avatar billede tspdk Nybegynder
17. februar 2005 - 19:59 #24
Content type

er tilføjet med video det giver samme fejl.
Avatar billede sukos Juniormester
17. februar 2005 - 20:03 #25
Hvad hvis det er andre filtyper?
Avatar billede detox Nybegynder
17. februar 2005 - 20:04 #26
Content-Type: video/avi

men spørgsmålet er måske osse om readfile() er binary safe?

Måske sukos ide med:

$fp = fopen($path.$_GET["file"],"r");
print fread( $fp, filesize($path.$_GET["file"]) );
fclose($fp);
exit();

men hvis serveren kører på windows skal du have et 'b' med i fopen(). Altså

$fp = fopen($path.$_GET["file"],"rb");
print fread( $fp, filesize($path.$_GET["file"]) );
fclose($fp);
exit();
Avatar billede tspdk Nybegynder
17. februar 2005 - 20:04 #27
det er både wmv og avi og mpg og mov.....
aller fejler
Avatar billede tspdk Nybegynder
17. februar 2005 - 20:05 #28
selve den download fil som vi bruger ligger på en Linux server og hedder Download.PHP resten køre på en Windows 2003 server med MS SQL 2000
Avatar billede sukos Juniormester
17. februar 2005 - 20:08 #29
Det script jeg har kopieret ind her, virker fint nok hos mig!
Men så ligger php fil og fil som skal downloades jo også på samme domæne.

Og er det ikke tilfældet for dig, er url_fopen måske ikke tilladt?
Avatar billede detox Nybegynder
17. februar 2005 - 20:10 #30
Så vil jeg mene du skal samle output på denne her måde:

$newname = $_GET['filnavn'];
$filename = $_GET['file'];
$root_path = "http://www.kitebox.com/Video/";
$myfile = $root_path . $filename;
if(!$filename){ echo "ERROR: No filename specified. Please try again."; }
else {
// fix for IE catching or PHP bug issue
    header("Pragma: public");
    header("Expires: 0"); // set expiration time
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

// browser must download file from server instead of cache
// force download dialog

    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");

// use the Content-Disposition header to supply a recommended filename and
// force the browser to display the save dialog.

    header("Content-Disposition: attachment; filename=".basename($newname).";");
    header("Content-Transfer-Encoding: binary");
    $handle = fopen($myfile, "rb");
    $contents = '';
    while (!feof($handle)) {
      $contents .= fread($handle, 8192);
    }
    fclose($handle);
    echo $contents;
    exit();
}
?>
Avatar billede tspdk Nybegynder
17. februar 2005 - 20:11 #31
ja det gør det også hos mig altså filer og php

Jeg aner ikke noget om url_fopen :o(

Jeg er ikke haj til det her PHP.

men jeg kan oprette en konto til dig så du kan logge på FTP serveren og se koden
Avatar billede detox Nybegynder
17. februar 2005 - 20:14 #32
Sagen er når du henter filer fra en url med fopen(), vil den hente det i chunks. Derfor metoden med:

    while (!feof($handle)) {
      $contents .= fread($handle, 8192);
    }
Avatar billede tspdk Nybegynder
17. februar 2005 - 20:14 #33
oki jeg prøver lige med den kode du har der !
Avatar billede tspdk Nybegynder
17. februar 2005 - 20:19 #34
Heeeey

@detox

Det ser ud til at virker med AVI og WMV filer. Så skal jeg lige ordne det sådan at vinduet lukker efter sig når donwload begynder, men det er nemt.

Gider du at hente en video og se om den virker ?
Avatar billede detox Nybegynder
17. februar 2005 - 20:20 #35
Tester det lige.
Avatar billede detox Nybegynder
17. februar 2005 - 20:24 #36
Ja, det virker ok.
Avatar billede tspdk Nybegynder
17. februar 2005 - 20:27 #37
ja det gør det!!!

Detox du skal have takker !!

Lad mig give dig nogle Points ;o)
Avatar billede detox Nybegynder
17. februar 2005 - 20:30 #38
Velbekommen
Avatar billede tspdk Nybegynder
17. februar 2005 - 20:32 #39
Det var bare kanon ! Det bliver lidt sværere når man ikke kender tingene 100%
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