Avatar billede uthsen Nybegynder
03. juni 2009 - 10:49 Der er 15 kommentarer og
1 løsning

Problem med mellemrum i billed fils navn - billedet vises ikke!

Dette stykke kode fungerer fint og viser et upload billede på skærmen, men mit problem er at hvis det billede som uploades indeholder
mellemrum, vises dette billede ikke! Hvad gør jeg for at billeder med mellemrum i navnet også vises?
Har prøvet alt, bortset fra det rigtige :O). Måske en af Jer har løsningen?

Del af kode:
***************Start****************
}
//Vores form
echo '<form action="upload.php#morbillede" target="_self" method="post" enctype="multipart/form-data">';
echo 'File ('.implode(',',$allowedFileTypes).'): <input type="file" name="myFile"><br />';
echo '<input type="submit" name="myUpload" value="Upload file">';
echo '</form>';

{

}
?>

//Vores form
echo '<form action="upload.php#morbillede" target="_self" method="post" enctype="multipart/form-data">';
echo 'File ('.implode(',',$allowedFileTypes).'): <input type="file" name="myFile"><br />';
echo '<input type="submit" name="myUpload" value="Upload file">';
echo '</form>';
?>

<?php
if(isset($_POST['myUpload']))
{

$indhold = "<img src="."mor_thumbs/thumb_"."".$_FILES['myFile']['name'] .">";

file_put_contents("mor.php",$indhold);




}
?>


<?include "mor.php";?>

***************Slut****************

***************Ekstra forklaring****************
Det der bliver indholdet i filen mor.php, ser f.eks således ud:
<img src=mor_thumbs/thumb_billede1.jpg>

Hedder upload billede f.eks. billede 1.jpg istedet for billede1.jpg,
kommer indholdet i filen mor.php, rigtig nok til at se således ud:
<img src=mor_thumbs/thumb_billede 1.jpg>
Sti og billednavn er korrekt og billedet eksisterer, men vises ikke!!!

Sættes linie her neden for med, vises også billedet med mellemrum i navnet, men så forsvinder
billedet igen når der indtastes info i filen mors_navn.php eller siden reloades.


*********************************

<p><img src="mor_thumbs/thumb_<?echo $_FILES['myFile']['name'];?>"></p>

<br>
<?include "mors_navn.php";?><br><br><br>


KH Helle
Avatar billede expnet Seniormester
03. juni 2009 - 11:06 #1
Din kode ser lidt forvirt ud

men at ret den her:

TIL:
$filename = $_FILES['myFile']['name'];
$filename = str_replace(" ","",$filename);

$indhold = "<img src="."mor_thumbs/thumb_"."".$filename.">";
Avatar billede mcb2001 Nybegynder
03. juni 2009 - 11:08 #2
prøv med:
str_replace(" ", "%20", "billed 1.jpg");
Avatar billede uthsen Nybegynder
03. juni 2009 - 11:27 #3
Synes ikke lige jeg kan få det til at virke, men forsøger :O)
Avatar billede uthsen Nybegynder
03. juni 2009 - 11:41 #4
YES TES YES YES YES!!!!!!! DET VVIRKER - TUSIND TAK

Sådan:


<?php


$filename = $_FILES['myFile']['name'];
$filename = str_replace(" ", "%20",$filename);
if(isset($_POST['myUpload']))
{
$indhold = "<img src="."mor_thumbs/thumb_"."".$filename.">";





file_put_contents("mor.php",$indhold);




}
?>

Tusind taks skal du have!!! - Læg etr svar :O))))
Avatar billede showsource Seniormester
03. juni 2009 - 12:17 #5
Hvis du VIL bibeholde brugen af div. karakterer som ikke er gode på web, ville jeg nu bruge rawurlencode()
Avatar billede uthsen Nybegynder
03. juni 2009 - 12:34 #6
Kan du uddybe det lidt?-
og hvad er det der ikke er så godt på web og hvordan?

KH Helle
Avatar billede mcb2001 Nybegynder
03. juni 2009 - 12:36 #7
æ, ø, å, mellemrum og lignende ikke standard amerikanske bogstaver...

Bruger du "rawurlencode" har du en meget bedre chance for at bruge sådanne tegn :-)
Avatar billede showsource Seniormester
03. juni 2009 - 12:40 #8
Og et hurtigt ex.

<?php
$string = 'Noget med "bad" signs og rødgrød';
echo rawurlencode($string);
?>
Avatar billede uthsen Nybegynder
03. juni 2009 - 13:20 #9
Det giver dette resultat:
Noget%20med%20%22bad%22%20signs%20og%20r%F8dgr%F8d

KH Helle
Avatar billede showsource Seniormester
03. juni 2009 - 13:32 #10
Og derfor vil du kunne bruge det til at vise filer som hedder "noget grimt"
Det bedste vil være hvis du renamer filen ved upload, så du har helt styr på at det ikke er et "grimt" navn.
Avatar billede uthsen Nybegynder
03. juni 2009 - 13:58 #11
Åh, ja det er da smart - Tak for det.

men havd gør vi nu med de point ?
jeg har fået svar på mit spørgsmål af:expnet og mcb2001 i forening og en god ide´af dig showsource ??



KH Helle
Avatar billede mcb2001 Nybegynder
03. juni 2009 - 14:02 #12
giver differentirede points - mener du kan tildele f.eks. mig 50 point, og 30 til showsource, samt de sidste 120 til expnet da han har lavet mest :-)

men vent med at dele point ud til alle har lagt svar :-)
Avatar billede showsource Seniormester
03. juni 2009 - 14:07 #13
Jeg hopper over point her.
Avatar billede uthsen Nybegynder
03. juni 2009 - 14:18 #14
OK jeg accepterer dit svar mcb2002 og hvis nu du så får alle 200 point, så laver jeg nogle "spørgsmål" til hver af de andre, så de også får point ik?
Avatar billede uthsen Nybegynder
03. juni 2009 - 14:21 #15
TI HI --- Du fik dem alle :O))) jeg kunne ikke ændre det- nå! godt for dig. jeg opretter spørgsål til de andre som bare skal lægge et svar så!

KH Helle
Avatar billede mcb2001 Nybegynder
03. juni 2009 - 14:33 #16
hehe :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester