Nieuw op het forum dus hoop me vraag goed zit. Ik ben al lang bezig met een "upload" & "wijzig foto" script in php.
Op een locatie elders op de website wil ik een foto online kunnen wijzigen.
deze foto heeft b.v. foto2.png en heeft een formaat 150px x 150px
Nu heb ik een upload script nodig wat later in een beveiligde htaccess (wat mij wel lukt) bestand komt.
Maar ik moet een begin hebben...
Ik ben al lang bezig geweest met de volgende site:
Ik ben al war rond gaan kijken en een upload script lukt wel, maar de locatie waar de foto heen gaat is me een raadsel.
Hoe kan ik een foto online wijzigen die elders op een locatie staat, ZONDER ik in ftp dit moet wijzigen?
note: Ik bezit een eigen directadmin & webhost (handig voor mysql)
iemand een idee hoe ik op weg geholpen kan worden in php?
probeer anders eerst een simpel uploadscript te bouwen.
Niet voor een image, maar gewoon _een_ bestand.
Dan leer je daarmee hoe je een bestand uploadt, waar het dan blijft en hoe je het op een plek naar wens zet.
Daarna kun je dat uitbreiden tot een script dat zorgt dat het alleen plaatjes zijn,
en nog een stap verder zou het resizen zijn.(al is uit je post niet duidelijk of dat een doel is).
weet, dat er meerdere users zijn op een server.
1) een "ftp" user die bijvoorbeeld ericb heet
2) www, apache www-user etc, die de eigenaar is van het process "webserver"
Als jij een bestand via ftp uploadt dan is dat van ericb.
PHP dat onder user www-user draait mag dan niet zo maar dat bestand aanpassen.
Vandaar ook chmod. Dat deelt rechten uit aan bestanden. Bijvoorbeeld 644 wil zeggen
rw, w, w
dus de eigenaar mag read en write; groepsleden mogen Read en others ook alleen R
Stap 1 zou zijn, om dit bestand 666 als rechten te geven.
Dan maak je het bestand "vogelvrij": elk process mag hem veranderen, overschrijven of verwijderen.
Dit probleem zou niet optreden als het bestand door PHP daar was neergezet: dan was www-user eigenaar en doorgaans heeft die zelf dan ook schrijfrechten.
klopt.
Als tussenoplossing, omdat je het bestand er zelf met ftp ingezet hebt.
De bovenliggende map moet ook beschrijfbaar zijn door de webserver.
daarom moet die 777 hebben
Of beter zou het zijn, als die map van owner of group www-user zou zijn. Maar dat vereist nog een paar stappen. Laten we nu even voor 777 gaan.
(en dat is dus alleen voor mappen. Bestanden op een webserver hebben altijd genoeg aan een 6, nooit een 7 of een 5, aangezien dat een bestand uitvoerbaar maakt en dat is zelfs voor een php script op een website niet nodig)
De tekst 'geen bestand gekozen' is gewoon een placeholder van het upload-element in HTML waar uiteindelijk de gekozen bestanden in genoemd worden. Geen foutmelding dus.
Je verwijst naar het uitvoeren opnieuw naar dezelfde URL, waar het uploadformulier weer klaar staat om nieuwe upload te ontvangen.
Ikzelf gebruik het uploadscript van Verot.net. Aanrader.
Ik had de indruk dat jouw foto2.png niet overschreven kon worden.
Die moest beschrijfbaar worden voor php. Dus dat bestand heeft 666 nodig (in dit geval)
upload.php moet gewoon 644 blijven.
Anders zou een php-proces zo maar je script kunnen overschrijven. Dat moet je niet willen.