FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Nykomling
|
Håller på med ett projekt och har stött på problem!
Det är så att jag skulle vilja förminska bilderna vars url finns lagrad i databasen innan de visas på webbsidan. Jag har hittat en kod som fungerar när det gäller bildförminskningen men den fungerar inte när jag testar getimagesize() på urlen som hämtats i databasen. Urlen är en lagrad som en sträng i databasen, det är jag säker på. Teckenkodningen i databasen o php-scriptet är densamma. Strängen ser ut som den ska med dubbelfnuttar o så. Någon som vet eller har något tips? Koden: function visa_bilder($tabell) { unset($_GET['tbl']); require_once ("databas.inc"); $sql = "SELECT * FROM $tabell;"; $sql_result = mysql_query ($sql) or die ("Query error"); while ($row = mysql_fetch_assoc ($sql_result)) { $bild = "\"" . $row['bild'] . "\""; $width = 120; $height = 120; /*Det är här det inte fungerar... $myPhoto får inget värde att lagra... o felmeddelandet lyder: Warning: getimagesize("xxxxx/ek0020bwmini.jpg ") [function.getimagesize]: failed to open stream: No such file or directory in xxxxxx/photoGallery.php on line 34*/ $myPhoto = getimagesize($bild); $width = $myPhoto[0]; $height = $myPhoto[1]; $target = 120; if ($width > $height) { $percentage = ($target / $width); } else { $percentage = ($target / $height); } $width = round($width * $percentage); $height = round($height * $percentage); echo "<li class=\"thumbbox\"><a href=\"" . $row['bild'] . "\" rel=\"lightbox[$tabell]\"> <img src=\"" . $row['bild'] . "\" alt=\"" . $tabell . "\" title=\"" . $tabell . "\" width=\"" . $width . "\" height=\"" . $height . "\"/></a><p class=\"bildtext\">" . $row['beskrivning'] . "</p></li>"; } echo "</ul>"; } |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Flitig postare
|
använda fullständig sökväg kanske?
|
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Ligger bilden på din egen server?
Se till att använda fullständig sökväg ifrån rooten, det löser många problem! Prova: $bild = '/' . $row['bild']; En bildsökväg har inte slash på slutet.. EDIT: Såg inte det extra " som inte ska vara med.. hnn nedan gjorde det! Senast redigerad av Johan_S den 2010-05-25 klockan 12:33 Anledning: Missade " |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Banned
|
Prova bild med:
$bild = $row['bild']; eller $bild = '/' . $row['bild']; |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Nykomling
|
$bild = "\"" . $row['bild'] . "\""; ger en hel url med http:// till /ek0020bwmini.jpg, jag har bara utelämnat hela sökvägen här av säkerhetsskäl, $bild ger en fullständig sökväg.
"En bildsökväg har inte slash på slutet..." = slashen med fnuttar i slutet är för att lägga på dubbelfnuttar på urlen |
|||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Mycket flitig postare
|
||||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Nykomling
|
funktionen getimagesize() vill ha bildens sökväg inom dubbelfnuttar, det är ingen tvekan om att filen existerar då den används utan problem på andra ställen i scriptet...
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Flitig postare
|
Citat:
getimagesize('bilden.png'); Så du bör ta bort dubbelfnuttarna från $bild. |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Flitig postare
|
om inte en http-adressen funkar är det väl blockerat i php.. då behöver du den fullständiga sökvägen till filen i filsystemet.. som på ett linux webhotell kanske är: /home/users/xxx/public_html/images/...
om scriptet ligger i rooten på webhotellet kör du: $path = dirname(__FILE__).'/'; $myPhoto = getimagesize($path.$row['bild']); |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Supermoderator
|
Uppenbarligen så har du fel sökväg. Skriv ut resultatet och se efter att det verkligen stämmer. Det är det enklaste och bästa sättet att felsöka i de fall det inte handlar om parse-fel.
Varför vill du ändra storleken i realtid förresten?
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|