Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Błąd unexpected T_STRING
Forum PHP.pl > Forum > Przedszkole
czona
jestem początkujący w PHP więć prosze o dokładne wyjaśnienia
linjka w której jest błąd:
  1. <?php
  2. header("Contnet-Disposition: attachment; filename=$nazwa2");
  3. ?>

i błąd który wyskakuje:
Parse error: syntax error, unexpected T_STRING in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 19
Prosze o pomoc
słyszałem że ten błąd pojawia się jesli brakuje jakiegoś ,; itp. ale nie widze błędu
mike
W tej linii nie ma błędu.
Na 99% błąd jest w linii poprzedniej.

Pokaż ok. 5 wierszy w górę i w dół. Popatrzymy, poradzimy winksmiley.jpg
czona
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6. <?php
  7. $katalog = "./";
  8. $nazwa1 = "motor.avi";
  9. $nazwa2 = "motor.avi";
  10.  
  11. $fd = fopen($katalog.$nazwa1. "r");
  12. $size = filesize($katalog.$nazwa1);
  13. $contents = fread($fd, $size);
  14.  
  15. fclose($fd);
  16.  
  17. header("Content-Type: video/x-msvideo");
  18. header("Content-Lenght: $size;);
  19. header("Contnet-Disposition: attachment; filename=$nazwa2");
  20.  
  21. echo $contents;
  22. ?>
  23.  
  24. </body>
  25. </html>

Skrypt był króciutki więc dałem cały
Danone
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6. <?php
  7. $katalog = "./";
  8. $nazwa1 = "motor.avi";
  9. $nazwa2 = "motor.avi";
  10.  
  11. $fd = fopen($katalog.$nazwa1. "r");
  12. $size = filesize($katalog.$nazwa1);
  13. $contents = fread($fd, $size);
  14.  
  15. fclose($fd);
  16.  
  17. header("Content-Type: video/x-msvideo");
  18. header("Content-Lenght: $size;); 
  19. header("Contnet-Disposition: attachment; filename=$nazwa2");
  20.  
  21. echo $contents;
  22. ?>
  23.  
  24. </body>
  25. </html>

W linii 18 brakuje cudzysłowia smile.gif a masz średnik.
czona
na ten błąd pomogło(dzieki) ale co sie podziało sam sie juz teraz pogubiłem
teraz takie błedy wywaliło:
Warning: fopen() expects at least 2 parameters, 1 given in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 11

Warning: fread(): supplied argument is not a valid stream resource in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 13

Warning: fclose(): supplied argument is not a valid stream resource in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\motor.php:6) in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\motor.php:6) in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\motor.php:6) in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 19
Danone
Co do Warning: Cannot modify header information:

wpisz od razu po <?php

  1. <?php
  2. ?>


powinno pomóc.
czona
z tymi błędami sobie poradziłem w lini 11 nie było przecinka ale teraz mam taki błąd:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 732698625 bytes) in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 13
prosze o pomoc
mike
Skrypt ma za mało pamięci przydzielonej na wykonanie dlatego zanim zakończy działanie wywala się z powodu jej barku.
Zwiększ limity pamięci na wykonanie skryptu w pliku php.ini

(rozejrzyj się za dyrektywami związanymi z pamięcią, pamięć po ang. to memory)
czona
w pliku php.ini zmieniłem wartosc memory_limit=100M na memory_limit=800M
ale nic nie pomogło moze serwer apache2 cos blokuje(moze tam trzeba zmienic wielkosc pamieci przydzielonej jednemu skryptowi) jesli ktos wie jak to zrobic to przosze o pomoc
strife
Cytat(czona @ 18.05.2007, 06:31:12 ) *
w pliku php.ini zmieniłem wartosc memory_limit=100M na memory_limit=800M
ale nic nie pomogło moze serwer apache2 cos blokuje(moze tam trzeba zmienic wielkosc pamieci przydzielonej jednemu skryptowi) jesli ktos wie jak to zrobic to przosze o pomoc

Nic nie pomogło, czyli wyświetla się ten sam błąd, tak? Jeśli nie to wklej treść tego nowego błędu.

PS. Zresetowałeś serwer po edycji pliku php.ini ?
czona
błąd jest ten sam serwer zrestartowałem


spróbowałem inaczej dałem coś takiego:
  1. <?php
  2. ini_set('memory_limit', 752698625);
  3. ?>

i jak mam wykonac operacje to strasznie muli kompa przez 30sek a potem wyskakuje taki błąd:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\Apache Group\Apache2\htdocs\motor.php on line 17
dlaczego tak muli moze ja zle skrypt napisałem zadaniem skryptu miało byc pobranie pliku dokładnie filmu .avi z katalogu w którym jest plik.php
Kicok
Zamiast wczytywać treść pliku AVI do pamięci możesz od razu przesłać go do przeglądarki użytkownika: readfile" title="Zobacz w manualu PHP" target="_manual
czona
po wpisaniu readfile zamiast fopen strona wygląda tak:
RIFFŹ+AVI LISTś"��hdrlavih8���@��������������É������������`��P
������������������LIST��strlstrh8���vidsxvid����������������
�������É�Éx�'����������`Pstrfl���(���`��P��� �XVID�´��������
���������?1���������������������������������������+�Ź�@şĹ� mĹ�čďĹ���������JUNK��ŚdŐw& �����O�����������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������� itd...

�����O�����������������������������������������������
���������������������������
zamiast okna pobierania
nospor
Masz jeszcze literówkę:
nie: Contnet-Disposition
a: Content-Disposition
Może pomoże smile.gif
czona
nie pomogło
strife
No to jeśli masz krzaki, to wydaje mi się, że jest to wina nagłówka, spróbuj przed wywołaniem readfile, wysłać odpowidni nagłowek ( mime type ).

header" title="Zobacz w manualu PHP" target="_manual
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.