Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sprawdzanie czy plik istnieje
Forum PHP.pl > Forum > PHP
chomiczek
Witam, mam problem z generowaniem nowych zdjęć.. chodzi o to, że mam 3 hosty na jednym serwerze, na jednym z nich jest są grafiki produktów ze sklepu chodzi o to, że bez sensu jest przerzucanie wszyskich plików na każdy host..

potrzebuje zrobić cos takiego, że:
1. będą na sklepie nr 2 sprawdzam czy plik istnieje na sklepie nr 1 (file_exists) (tak myśle)
2. jeśli plik istnieje to pobieram jego rozmiar i jeśli, którykolwiek z wyiarów ma ponad 250px to obrazek jest skalowany proporcjonalnie do 250px i tworzony dynamicznie, a nastepnie genereowany jest link w popupie do dużego zdjęcia (w orginalnych rozmiarach).. chciałoby sie użyć getimagesize, ale jak??
php programmer
szczegółu getimagesize w manualu, a ponizej skopiowany kawałek
skryptu z jednej z moich stron

  1. <?
  2. function galeria(){
  3. $query  =  "SELECT * FROM galeria";
  4. $result = mysql_query($query) or die(mysql_error());
  5. echo '<table border="0"> ';
  6. while ($row = mysql_fetch_array($result)){
  7.    $mini = 'upload/galeria/'.$row['id'].'_mini.jpg';
  8.    $maxi = 'upload/galeria/'.$row['id'].'_maxi.jpg';
  9.    list($width,$height,$type,$attr) = getimagesize($maxi);
  10.    echo '<tr><td>';
  11.    echo '<A HREF="javascript:Okienko('foto.php?img='.$maxi.'','.($width).','.($height).')">';
  12.    echo '<img src="'.$mini.'" border="0" align="left"></A> ';
  13.    echo '</td><td style="vertical-align:middle">';
  14.    echo $row['subject'];
  15.    echo '</td></tr>';
  16.    }
  17. echo '</table>';
  18. }
  19.  
  20.  
  21. ?>
  22.  
  23. <script language="javascript">
  24. <!--
  25. function Okienko(url,width,height) {
  26.         var Win = window.open(url,"_blank",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=no,menubar=no' );
  27. }
  28.  
  29. //-->
chomiczek
Hmm.. ale nie do końca tak, bo potrzebuje ukryć faktyczną ścieżke do fotki
Mam taką funckję tworzącą fotkę:
  1. <?php
  2. $x = 250; //maksymalny rozmiar pliku
  3. $plik = $_GET["plik"];
  4.  
  5. if ($plik<>"") {
  6. header("Content-type: image/jpg");
  7. $zdj = imagecreatefromjpeg("zdj/".$plik.".jpg");
  8. $zdjx = imagesx($zdj);
  9. $zdjy = imagesy($zdj);
  10. if ($zdjx>$x||$zdjy>$x) {
  11. if ($zdjx<$zdjy) {
  12. $y = $x;
  13. $x = ceil($zdjx*($y/$zdjy));
  14. }
  15. else $y = ceil($zdjy*($x/$zdjx));
  16. }
  17. else {
  18. $x = $zdjx;
  19. $y = $zdjy;
  20. }
  21. $nowezdj = imagecreatetruecolor($x,$y);
  22. imagecopyresized($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy);
  23. imagejpeg($nowezdj,"",75);
  24. }
  25. ?>

Problem jest taki, że na innych hostach nie moge użyć:
  1. <?php
  2.  
  3. $zdj = imagecreatefromjpeg("zdj/".$plik.".jpg");
  4.  
  5. ?>

a jesli moge to co powinnienem wpisać w miejsce adresu do fotki?

Czy mogę użyc ścieżek absolutnych?? i jak??
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.