Dodatečné přidání obrázku - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



PHP

Dodatečné přidání obrázku

redakcni system

14. ledna 2002, 00.00 | Již devatenáctým dílem pokračujeme v tvorbě vlastního redakčního systému. Dnes si ukážeme, jak může korektor přidat k článku obrázek.

Slíbil jsem dnes přidání obrázku ke článku korektorem. Použil jsem fci Move_Uploaded_File(), o které tu byla zmínka v diskusi. Jediný rozdíl je v tom, že slovo copy nahradíme move_uploaded_file. Upozornění pro ty, co mají první verze PHP4. Tahle funkce je podporována od verze 4.0.3 (pokud se nemýlím). Pro ty, co by ji chtěli využít v PHP3 je to od verze 3.0.16 (myslím). Funkce zkontroluje, jestli je první parametr platným uploadovaným souborem (prostřednictím HTTP mechanismu poskytovaného PHP). Pokud je platný, je přesunut (a přejmenován) na adresu udanou jako druhý parametr.

Script pridej.php vypadá následovně:

<?
Header("Pragma: No-cache");
Header("Cache-Control: no-cache");
Header("Expires: ".GMDate("D, d M Y H:i:s")."GMT");
// pokud neproběhla autorizace, ukončíme skript
if (!isset($PHP_AUTH_USER))
{
     echo "Neautorizovaný přístup";
     exit;
}
// vložíme soubory
include "../conn.php";
include "../function.php";
// autorizace
auth();
// pokud uživatel není šéfredaktor nebo redaktor tak ho vyhodíme
if ($INFO[6] < 2)
{
     echo "Neautorizovaný přístup";
     mysql_close($conn);
     exit;
}
head();
if($di && $obr_size<=20480):
if($obr_size!=0):
  $a=Getimagesize($obr);
  if($a[2]=="2"):
      move_uploaded_file($obr, "../images/$di.jpeg");
  elseif($a[2]=="1"):
      move_uploaded_file($obr, "../images/$di.gif");
  endif;
  ?>
  <H3 ALIGN="CENTER">Obrázek vložen</H3>
  <?
foot();
exit;
endif;
elseif($di && $obr_size > 20480  ):
echo "Obrázek je příjiš velký.";
foot();
exit;
else:
if(File_Exists("../images/$id.jpeg") || File_Exists("../images/$id.gif")):
echo "U článku smí být jen jeden obrázek.";
else:
?>
<H3 ALIGN="CENTER">Vlažení obrázku</H3>
<FORM ACTION="pridej.php" ENCTYPE="multipart/form-data" METHOD="POST">
<INPUT TYPE="FILE" SIZE=50 NAME="obr" ACCEPT="image/*"><P>
<INPUT TYPE="HIDDEN" NAME="di" VALUE="<? echo $id; ?>">
<CENTER><INPUT TYPE="SUBMIT" VALUE="     Vložit     "></CENTER></FORM>
<? 
endif;
endif;
foot();
?>

Myslím, že není potřeba nic vysvětlovat. Vše co se zde vskytuje, již bylo několikrát vysvětlováno. Script je velice podobný scriptu addclanek.php. Pokud tedy chcete vysvětlení práce scriptu, hledejte o několik článků dříve.

Když se podíváte níže a o několik článků v tomto seriálu dříve, bude vám to připadat povědomé. Je to tak. Jen jsme přidali zeleně označenou část. A proč právě tam? Protože u článku smí být jen jeden obrázek.

<?
if (File_Exists("../images/$id.jpeg")):
echo "<TR ALIGN=\"Center\">
 <TD COLSPAN=2 ALIGN=\"Center\"><A HREF=\"../images/$id.jpeg\" 
 TARGET=\"_blank\">Připojený obrázek</A></TD></TR>";
elseif(File_Exists("../images/$id.gif")):
echo "<TR ALIGN=\"Center\"><TD COLSPAN=2 ALIGN=\"Center\">
 <A HREF=\"../images/$id.gif\" TARGET=\"_blank\">Připojený obrázek</A></TD>
 </TR>";
else:
echo "<TR><TD COLSPAN=2 ALIGN=\"Center\">
 Bez obrázku - <A HREF=\"pridej.php?id=$id\">přidat obrázek</A></TD></TR>";
endif;
?>

To tedy pro dnešek stačí. Příště již načnu to, na co všichni čekáte a to fulltextové vyhledávání.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » PHP  

 » Rubriky  » Web  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: