Binnen map de extensie vinden als alleen de naam bekend is.
Hiervan wil ik de link waar de foto naar verwijst (normaal grotere foto) veranderen naar een document
(.doc of .docx)
De naam van het document is hetzelfde als van de foto.
Op zich lukt dat allemaal prima zolang ik een vaste extensie heb.
Alleen kan het document zowel een .doc zijn als een docx.
Ik moet nu dus met uitsluitend de bekende naam in de map waar de documenten zich bevinden
achterhalen wat de extensie is van dat bestand.
Het gaat om de laatste regel in de code.
Waar dus de .doc vervangen moet worden door een variabele die .doc of .docx kan bevatten.
Iemand die me op weg kan helpen?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
// bepaal de extensie van de foto (jpg, jpeg, gif,png)
$extens = pathinfo($relativePath, PATHINFO_EXTENSION);
// bepaal de positie van extensie (woord kan ook in de bestandsnaam voorkomen)
$extensPos = strrpos($relativePath,".");
// maak uitsluitend de naam van de foto
$string = substr($relativePath, 0, $extensPos);
// verander de extensie naar doc of docx
$relativePath = $string.'.'.'doc';
$extens = pathinfo($relativePath, PATHINFO_EXTENSION);
// bepaal de positie van extensie (woord kan ook in de bestandsnaam voorkomen)
$extensPos = strrpos($relativePath,".");
// maak uitsluitend de naam van de foto
$string = substr($relativePath, 0, $extensPos);
// verander de extensie naar doc of docx
$relativePath = $string.'.'.'doc';
Kan je de extenties niet in een array plaatsen, en met in_array controleren of hij toegelaten is?
Ik bedenk me net dat het voldoende zou zijn om te schecken of de .doc bestaat.
Zo niet dan is het vanzelfsprekend een .docx
dus zoiets als
if exist ... else ....
Volgens mij werkt het onderstaande.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if (file_exists($relativePath)) {
echo "The file $relativePath exists";
} else {
$relativePath = $relativePath.'x';
echo "The file $relativePath exists";
}
echo "The file $relativePath exists";
} else {
$relativePath = $relativePath.'x';
echo "The file $relativePath exists";
}
Gewijzigd op 20/06/2017 15:57:25 door Hans De Ridder
Het is maar 1 extra if en een aanroep van file_exists() (of is_file)
Maar in het geval de docx toch niet bestaat, kun je nog in je code ingrijpen
In dit geval worden er doc of docx bestanden geupload door ingelogde leden.
Pagina 1 van het document wordt omgezet naar een afbeelding.
De thumb van die afbeelding komt in het fotoboek.
Het document wordt in een andere map gezet.
Bij clicken op de thumb opent de google viewer met het complete document.
Ik zal inderdaad in de foutafhandeling jullie suggesties meenemen.