Autor Zpráva
opicakuz
Profil
Zdravím,
mám problém s touto hláškou:
Parse error: syntax error, unexpected T_ELSE in /home/www/desitka.cz/pck/upload.php on line 116

Můj kód je zde:


if (isset($_FILES['fupload']))
  if($_FILES['fupload']['type']=="image/jpeg" or $_FILES['fupload']['type']=="image/jpeg" or $_FILES['fupload']['type']=="image/bmp" or $_FILES['fupload']['type']=="image/gif" or $_FILES['fupload']['type']=="image/png" or $_FILES['fupload']['type']=="image/tif" or $_FILES['fupload']['type']=="image/ai" or $_FILES['fupload']['type']=="image/pdf" or $_FILES['fupload']['type']=="text/txt" or $_FILES['fupload']['type']=="text/doc" or $_FILES['fupload']['type']=="text/docx" or $_FILES['fupload']['type']=="text/rtf" or $_FILES['fupload']['type']=="text/odt" or $_FILES['fupload']['type']=="text/ppt" or $_FILES['fupload']['type']=="text/xml" or $_FILES['fupload']['type']=="text/pdf" or $_FILES['fupload']['type']=="text/txt" or $_FILES['fupload']['type']=="audio/mp3" or $_FILES['fupload']['type']=="audio/mpeg" or $_FILES['fupload']['type']=="audio/mp4" or $_FILES['fupload']['type']=="audio/mid" or $_FILES['fupload']['type']=="audio/amr" or $_FILES['fupload']['type']=="video/mpg" or $_FILES['fupload']['type']=="video/mpeg" or $_FILES['fupload']['type']=="video/mpeg2" or $_FILES['fupload']['type']=="video/avi" or $_FILES['fupload']['type']=="video/xvid" or $_FILES['fupload']['type']=="video/mp4" or $_FILES['fupload']['type']=="video/wmv") // Pokud soubor bude mít podporovanou koncovku, provede se upload
{
    $slozka = "uploadnuto"; // Sem se ulozi soubor
    $cil = $slozka . "/" .$_FILES['fupload']['name']; // Toto je proměnná $cil, která obsahuje adresář, kde se má soubor uploadovat a taky název souboru.
    $nazev_souboru = $_FILES['fupload']['tmp_name']; // Temp
    $copy = move_uploaded_file($nazev_souboru, $cil) // A tady zkopíruje soubor z tempu do cílového souboru a složky
      or die ("Přenesený soubor nelze zkopírovat"); // A pokud se to podělá, tak vypíše tuto hlášku
    chmod ($cil, 0644); // Práva na maximum, pokud soubor bude psát chybu, změňte 0644 na 0777
    if($copy == true){ // Pokud se kopírování provede úspěšně
      echo "<h2>Tvůj soubor <strong>".$_FILES['fupload']['name']."</strong> se podařilo nahrát na server.</h2><br>Zatím ho nalezneš na adrese <a href=".$zlozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$zlozka."/".$_FILES['fupload']['name']."</a>. Věz, že se na něj co nejdříve podíváme. Děkujeme!";
    }else{
      echo "Error! Prosím, dej o tom vědět na opicakuz@gmail.com. Díky";
    }else{
    echo "Omlouváme se, ale kvůli bezpečnosti lze nahrávat pouze soubory s příponami: <br><h3>Textové:</h3><strong>.txt, .doc, .docx, .rtf, .odt, .ppt, .xml, .pdf </strong><h3>Obrazové:</h3><strong> .bmp, .jpg, .gif, .png, .tif, .pcx, .jpeg, .ai, .pdf</strong><br><h3>Zvukové:</h3><strong>.mp3, .mp4, .mid, .amr</strong><br><h3>Video:</h3><strong> .mpg, .mpeg, .mpeg2, .avi, .xvid, .mp4, .wmv</strong>";
    
    }
  }




Nevíte někdo co s tím?

Děkuji
Radek9
Profil
opicakuz:
Máš za sebou dvakrát else.
opicakuz
Profil
Ano, ale to je například zde take: http://interval.cz/clanky/jednoduchy-upload-souboru-na-server-pomoci-php/
Radek9
Profil
opicakuz:
if (isset($_FILES['fupload'])){
  if($_FILES['fupload']['type']=="image/jpeg" or $_FILES['fupload']['type']=="image/jpeg" or $_FILES['fupload']['type']=="image/bmp" or $_FILES['fupload']['type']=="image/gif" or $_FILES['fupload']['type']=="image/png" or $_FILES['fupload']['type']=="image/tif" or $_FILES['fupload']['type']=="image/ai" or $_FILES['fupload']['type']=="image/pdf" or $_FILES['fupload']['type']=="text/txt" or $_FILES['fupload']['type']=="text/doc" or $_FILES['fupload']['type']=="text/docx" or $_FILES['fupload']['type']=="text/rtf" or $_FILES['fupload']['type']=="text/odt" or $_FILES['fupload']['type']=="text/ppt" or $_FILES['fupload']['type']=="text/xml" or $_FILES['fupload']['type']=="text/pdf" or $_FILES['fupload']['type']=="text/txt" or $_FILES['fupload']['type']=="audio/mp3" or $_FILES['fupload']['type']=="audio/mpeg" or $_FILES['fupload']['type']=="audio/mp4" or $_FILES['fupload']['type']=="audio/mid" or $_FILES['fupload']['type']=="audio/amr" or $_FILES['fupload']['type']=="video/mpg" or $_FILES['fupload']['type']=="video/mpeg" or $_FILES['fupload']['type']=="video/mpeg2" or $_FILES['fupload']['type']=="video/avi" or $_FILES['fupload']['type']=="video/xvid" or $_FILES['fupload']['type']=="video/mp4" or $_FILES['fupload']['type']=="video/wmv") // Pokud soubor bude mít podporovanou koncovku, provede se upload
{
    $slozka = "uploadnuto"; // Sem se ulozi soubor
    $cil = $slozka . "/" .$_FILES['fupload']['name']; // Toto je proměnná $cil, která obsahuje adresář, kde se má soubor uploadovat a taky název souboru.
    $nazev_souboru = $_FILES['fupload']['tmp_name']; // Temp
    $copy = move_uploaded_file($nazev_souboru, $cil) // A tady zkopíruje soubor z tempu do cílového souboru a složky
      or die ("Přenesený soubor nelze zkopírovat"); // A pokud se to podělá, tak vypíše tuto hlášku
    chmod ($cil, 0644); // Práva na maximum, pokud soubor bude psát chybu, změňte 0644 na 0777
    if($copy == true){ // Pokud se kopírování provede úspěšně
      echo "<h2>Tvůj soubor <strong>".$_FILES['fupload']['name']."</strong> se podařilo nahrát na server.</h2><br>Zatím ho nalezneš na adrese <a href=".$zlozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$zlozka."/".$_FILES['fupload']['name']."</a>. Věz, že se na něj co nejdříve podíváme. Děkujeme!";
    }else{
      echo "Error! Prosím, dej o tom vědět na opicakuz@gmail.com. Díky";
    }
  }
  else{
    echo "Omlouváme se, ale kvůli bezpečnosti lze nahrávat pouze soubory s příponami: <br><h3>Textové:</h3><strong>.txt, .doc, .docx, .rtf, .odt, .ppt, .xml, .pdf </strong><h3>Obrazové:</h3><strong> .bmp, .jpg, .gif, .png, .tif, .pcx, .jpeg, .ai, .pdf</strong><br><h3>Zvukové:</h3><strong>.mp3, .mp4, .mid, .amr</strong><br><h3>Video:</h3><strong> .mpg, .mpeg, .mpeg2, .avi, .xvid, .mp4, .wmv</strong>";
    
    }
 }
opicakuz
Profil
Argh! Děkuji mockrát. :-)


Zároveň bych se chtěl ještě zeptat, zda existuje nějaký způsob poslání oznámení o novém souboru na můj mail. Mám na webu kód pro maily, ale ten nevím kam napresovat...

define("EMAIL","opicakuz@gmail.com");

$PREDMET = "Uploadnutý soubor na PCK";
$HLAVICKA = "From: PCK.desitka.cz\n";
$HLAVICKA .= "X-Priority: 4\n";
$HLAVICKA .= "Content-Type: text/html; charset=windows-1250\n";
$ZPRAVA = "<b>Někdo nahrál na server nový soubor. Nalezneš ho na adrese <a href=".$slozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$slozka."/".$_FILES['fupload']['name']."</a></b><br />\n";
$ZPRAVA .= "Posláno z IP adresy: <b> ".$ip = $_SERVER['REMOTE_ADDR']." </b><br />\n";
$ZPRAVA .= "Zpráva byla odeslána dne ".date("j.n.Y")." v ".date("H:i").".";


mail(EMAIL, $PREDMET, $ZPRAVA, $HLAVICKA);     



Díky
AM_
Profil
opicakuz:
Mám na webu kód pro maily, ale ten nevím kam napresovat...
do té části kódu, která se provede, když byl úspěšně nahraný soubor ;)
opicakuz
Profil
To jsem zkoušel, ale pokud nechám kód takto:

... 

 if($copy == true){ // Pokud se kopírování provede úspěšně
     {

define("EMAIL","opicakuz@gmail.com");

$PREDMET = "Uploadnutý soubor na PCK";
$HLAVICKA = "From: PCK.desitka.cz\n";
$HLAVICKA .= "X-Priority: 4\n";
$HLAVICKA .= "Content-Type: text/html; charset=windows-1250\n";
$ZPRAVA = "<b>Někdo nahrál na server nový soubor. Nalezneš ho na adrese <a href=".$slozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$slozka."/".$_FILES['fupload']['name']."</a></b><br />\n";
$ZPRAVA .= "Posláno z IP adresy: <b> ".$ip = $_SERVER['REMOTE_ADDR']." </b><br />\n";
$ZPRAVA .= "Zpráva byla odeslána dne ".date("j.n.Y")." v ".date("H:i").".";


mail(EMAIL, $PREDMET, $ZPRAVA, $HLAVICKA);     
     }
     {
     
      echo "<h2>Tvůj soubor <strong>".$_FILES['fupload']['name']."</strong> se podařilo nahrát na server.</h2><br>Zatím ho nalezneš na adrese <a href=".$slozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$slozka."/".$_FILES['fupload']['name']."</a>. Věz, že se na něj co nejdříve podíváme. Děkujeme!";
    }else{
      echo "Error! Prosím, dej o tom vědět na opicakuz@gmail.com. Díky";
    }
  }
  else{
    echo "Omlouváme se, ale kvůli bezpečnosti lze nahrávat pouze soubory s příponami: <br><h3>Textové:</h3><strong>.txt, .doc, .docx, .rtf, .odt, .ppt, .xml, .pdf </strong><h3>Obrazové:</h3><strong> .bmp, .jpg, .gif, .png, .tif, .pcx, .jpeg, .ai, .pdf</strong><br><h3>Zvukové:</h3><strong>.mp3, .mp4, .mid, .amr</strong><br><h3>Video:</h3><strong> .mpg, .mpeg, .mpeg2, .avi, .xvid, .mp4, .wmv</strong>";
    
    }
    
    
    
    
 }


Tak to vypíše zase tohle:
Parse error: syntax error, unexpected T_ELSE in /home/www/desitka.cz/pck/upload.php on line 130

:(
Radek9
Profil
opicakuz:
… 

 if($copy == true){ // Pokud se kopírování provede úspěšně
     {

define("EMAIL","opicakuz@gmail.com");

$PREDMET = "Uploadnutý soubor na PCK";
$HLAVICKA = "From: PCK.desitka.cz\n";
$HLAVICKA .= "X-Priority: 4\n";
$HLAVICKA .= "Content-Type: text/html; charset=windows-1250\n";
$ZPRAVA = "<b>Někdo nahrál na server nový soubor. Nalezneš ho na adrese <a href=".$slozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$slozka."/".$_FILES['fupload']['name']."</a></b><br />\n";
$ZPRAVA .= "Posláno z IP adresy: <b> ".$ip = $_SERVER['REMOTE_ADDR']." </b><br />\n";
$ZPRAVA .= "Zpráva byla odeslána dne ".date("j.n.Y")." v ".date("H:i").".";


mail(EMAIL, $PREDMET, $ZPRAVA, $HLAVICKA);     

      echo "<h2>Tvůj soubor <strong>".$_FILES['fupload']['name']."</strong> se podařilo nahrát na server.</h2><br>Zatím ho nalezneš na adrese <a href=".$slozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$slozka."/".$_FILES['fupload']['name']."</a>. Věz, že se na něj co nejdříve podíváme. Děkujeme!";
    }else{
      echo "Error! Prosím, dej o tom vědět na opicakuz@gmail.com. Díky";
    }
  }
  else{
    echo "Omlouváme se, ale kvůli bezpečnosti lze nahrávat pouze soubory s příponami: <br><h3>Textové:</h3><strong>.txt, .doc, .docx, .rtf, .odt, .ppt, .xml, .pdf </strong><h3>Obrazové:</h3><strong> .bmp, .jpg, .gif, .png, .tif, .pcx, .jpeg, .ai, .pdf</strong><br><h3>Zvukové:</h3><strong>.mp3, .mp4, .mid, .amr</strong><br><h3>Video:</h3><strong> .mpg, .mpeg, .mpeg2, .avi, .xvid, .mp4, .wmv</strong>";
    
    }
    
    
    
    
 }
AM_
Profil
opicakuz:
Parse error: syntax error, unexpected T_ELSE in /home/www/desitka.cz/pck/upload.php on line 130
nevím, co z toho tvého kódu je řádek 130, ale něco mi říká, že na něm bude chyba.
Anonym
Profil *
zkus:
if (mail(EMAIL, $PREDMET, $ZPRAVA, $HLAVICKA))
Anonym
Profil *
houby - dal jsem si ty tvoje podmínky pod sebe a je jasné, že ti tam chybí ta první:
<?php
if (ŠPATNÁ PŘÍPONA)
  {

  if($copy == true)   // Pokud se kopírování provede úspěšně
   {

    define("EMAIL","opicakuz@gmail.com");

    $PREDMET = "Uploadnutý soubor na PCK";
    $HLAVICKA = "From: PCK.desitka.cz\n";
    $HLAVICKA .= "X-Priority: 4\n";
    $HLAVICKA .= "Content-Type: text/html; charset=windows-1250\n";
    $ZPRAVA = "<b>Někdo nahrál na server nový soubor. Nalezneš ho na adrese <a href=".$slozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$slozka."/".$_FILES['fupload']['name']."</a></b><br />\n";
    $ZPRAVA .= "Posláno z IP adresy: <b> ".$ip = $_SERVER['REMOTE_ADDR']." </b><br />\n";
    $ZPRAVA .= "Zpráva byla odeslána dne ".date("j.n.Y")." v ".date("H:i").".";


    mail(EMAIL, $PREDMET, $ZPRAVA, $HLAVICKA);     

    echo "<h2>Tvůj soubor <strong>".$_FILES['fupload']['name']."</strong> se podařilo nahrát na server.</h2><br>Zatím ho nalezneš na adrese <a href=".$slozka."/".$_FILES['fupload']['name'].">http://pck.desitka.cz".$slozka."/".$_FILES['fupload']['name']."</a>. Věz, že se na něj co nejdříve podíváme. Děkujeme!";
    }
    else
      {
      echo "Error! Prosím, dej o tom vědět na opicakuz@gmail.com. Díky";
      }
  }
  else
    {
    echo "Omlouváme se, ale kvůli bezpečnosti lze nahrávat pouze soubory s příponami: <br><h3>Textové:</h3><strong>.txt, .doc, .docx, .rtf, .odt, .ppt, .xml, .pdf </strong><h3>Obrazové:</h3><strong> .bmp, .jpg, .gif, .png, .tif, .pcx, .jpeg, .ai, .pdf</strong><br><h3>Zvukové:</h3><strong>.mp3, .mp4, .mid, .amr</strong><br><h3>Video:</h3><strong> .mpg, .mpeg, .mpeg2, .avi, .xvid, .mp4, .wmv</strong>";    
    }


a nebo vymaž toto:
else
    {
    echo "Omlouváme se, ale kvůli bezpečnosti lze nahrávat pouze soubory s příponami: <br><h3>Textové:</h3><strong>.txt, .doc, .docx, .rtf, .odt, .ppt, .xml, .pdf </strong><h3>Obrazové:</h3><strong> .bmp, .jpg, .gif, .png, .tif, .pcx, .jpeg, .ai, .pdf</strong><br><h3>Zvukové:</h3><strong>.mp3, .mp4, .mid, .amr</strong><br><h3>Video:</h3><strong> .mpg, .mpeg, .mpeg2, .avi, .xvid, .mp4, .wmv</strong>";    
    }
Alphard
Profil
opicakuz:
Řeší se tady chyby syntaxe v 10 příspěvcích. To není normální.
V čem píšete skripty? Máte nějaký editor, který zobrazí chybnou syntaxi, zvýrazní související závorky apod.? Proč neodsazujete kód, aby byl přehledený?

Velkým písmem se obvykle píší názvy konstant, nikoliv proměnné $HLAVICKA.
Celkově byste si mohl přečíst nějaký článek o základech syntaxe. Např. proč tohle?
$ZPRAVA .= "Posláno z IP adresy: <b> ".$ip = $_SERVER['REMOTE_ADDR']." </b><br />\n";
$ip nikde nepoužíváte.
opicakuz
Profil
V php jsem opravdu začátečník a script pro poslání emailu jsem viděl někde na internetu. Vložil jsem ho na web a funguje bez problémů...

Používám editor Bluefish editor. Související závorky bohužel neoznačuje.
opicakuz
Profil
Anonym:
Dekuji mnohokrat

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0