Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Expliciet "jpg" probleem.  (gelezen 2539 keer)

0 leden en 1 gast bekijken dit topic.

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Expliciet "jpg" probleem.
« Gepost op: 20 februari 2009, 17:21:14 »
Ik maak een website sjabloon voor familiale gebeurtenissen. Daarbij gebruik ik een uploadscript om foto's en tekst te uploaden.
Met deze code haal ik die foto op.
<img src="fotos/1.jpg" width="341" max-height=239 border="2" align="left" ALT="."/>
Het probleem is de extensie, die is namelijk expliciet "jpg"(kleine letters).  Nu probeert iemand een foto te uploaden vanaf een Mac, blijkt dit de extensie in drukletters te hebben, dus, ".JPG". Daardoor werkt de code niet, geeft een wit vakje met een kruis door. Ik wil het graag voor de twee systemen, zonder dat ik telkens de code moet veranderen. Wie weet hoe?
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline fearbear

  • Ambassadeur
  • *****
  • Berichten: 1.154
  • Geslacht: Man
  • Kennis = macht. macht ~ verantwoordelijkheid
Re: Expliciet "jpg" probleem.
« Reactie #1 Gepost op: 20 februari 2009, 17:27:03 »
Je moet zorgen dat je bij het uploaden al zorgt voor een naam in kleine letters. Als je met php werkt, dan zal je bij het uploaden de functie move_uploaded_file() gebruiken, klopt dat? daar moet je een nieuwe naam opgeven waar je het bestand wilt bewaren. Meestal pak je dan gewoon de originele naam: $_FILES["file"]["name"]. Verander dat door strtolower($_FILES["file"]["name"]), en alles zal in kleine letters verschijnen ipv drukletters, ook de extensie

Ik vraag me wel af hoe je de afbeeldingen oproept: heb je alle bestandsnamen in een database staan, of werk je gewoon met getallen?
GeForce 7900 GS, Windows XP, Prof, SP2, EN, Intel(R) Core(TM)2 CPU          6400  @ 2.13GHz, 2045 MB RAM, HDD:312 GB, NTFS, AntiVir antivirus, ZoneAlarm Firewall, Firefox 2.0

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Expliciet "jpg" probleem.
« Reactie #2 Gepost op: 20 februari 2009, 18:26:20 »
Citaat
Ik vraag me wel af hoe je de afbeeldingen oproept:
Het is een afspraak. Er is plaats voor vijf foto's en teksten.
De eerste foto moet geuload worden als "1.jpg", de tekst voor die foto als "1.txt". Ik doe dit voor mijn gemoedsrust, zo moet ik daar weinig uitleg bij geven en het sjabloon kan zonder aanpassen overal geplaatst worden. Mijn teststek  hier.
voor het uloadscript gebruik ik dat ding wat u niet goed vond, maar het is eenvoudig en het werkt (soms  ;)  ).
<?PHP
// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = "fotos/";
// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "100000000000000";
// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen anders zo: "jpg png")
$ext = "jpg png gif txt";
// Hieronder niks aanpassen
// Controleren
if ($Uploaden){
if (!$bestand)
print ("Geef een bestand op!");
else{
// Bestands naam opvragen
$bestand2 = explode("\\", $bestand_name);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]"; 
// Extensie van bestand opvragen
$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]"; 
$bestand3 = strtolower($bestand3);
// Toegestaande extensies opvragen
$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);
for ($tel = 0;$tel < $aantal; $tel++){
if ($bestand3 == $ext[$tel]){
$extfout = "nee";
}
}
if (!$extfout){
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");
}
else
{
if ($bestand_size > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes!");
else
{
// Opslaan van het bestand
copy($bestand, "$map$bestand2"); 
print ("Het bestand \"$bestand2\" is met succes geupload!");
}
}
}
}
// Upload formulier
print ("<form method=post action=login.php enctype=multipart/form-data>
Kies uw bestand en klik op uploaden: <input type=file name=bestand><br><br><input type=submit name=Uploaden value=Uploaden></form>");
?>
       
        </td>
      </tr>
    </table>
    <h1>
    <?php
        
echo '<br /><a href="index.php?'SID .'">Ga hier naar het fotoalbum.</a>';
    
?>
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline fearbear

  • Ambassadeur
  • *****
  • Berichten: 1.154
  • Geslacht: Man
  • Kennis = macht. macht ~ verantwoordelijkheid
Re: Expliciet "jpg" probleem.
« Reactie #3 Gepost op: 20 februari 2009, 19:02:57 »
Je kan de regels
// Opslaan van het bestand
copy($bestand, "$map$bestand2"); 
print ("Het
bestand \"$bestand2\" is met succes geupload!");

aanpassen:
// Opslaan van het bestand
copy($bestand, "$map".strtolower($bestand2)); 
print ("Het
bestand \"$bestand2\" is met succes geupload!");

Dan wordt het bestand opgeslagen met enkel kleine letters
GeForce 7900 GS, Windows XP, Prof, SP2, EN, Intel(R) Core(TM)2 CPU          6400  @ 2.13GHz, 2045 MB RAM, HDD:312 GB, NTFS, AntiVir antivirus, ZoneAlarm Firewall, Firefox 2.0

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Expliciet "jpg" probleem.
« Reactie #4 Gepost op: 20 februari 2009, 19:54:11 »
Het werkt natuurlijk weer goed, bedankt.
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline fearbear

  • Ambassadeur
  • *****
  • Berichten: 1.154
  • Geslacht: Man
  • Kennis = macht. macht ~ verantwoordelijkheid
Re: Expliciet "jpg" probleem.
« Reactie #5 Gepost op: 20 februari 2009, 20:12:21 »
no problem ;)
GeForce 7900 GS, Windows XP, Prof, SP2, EN, Intel(R) Core(TM)2 CPU          6400  @ 2.13GHz, 2045 MB RAM, HDD:312 GB, NTFS, AntiVir antivirus, ZoneAlarm Firewall, Firefox 2.0

 


www.combell.com