Liittyy vielä edelliseen tehtävään osittain ainakin.
Minulla on lomake, missä annetaan linkin teksti ja tiedosto, joka tallennetaan palvelimelle.Teksti tallennetaan tietokantaan. Asia on kunnossa. Mutta tulostus ulos tökkii.
Miksi kyseinen koodi tulostaa annetut linkit ja vie upload-kansioon mutta ei osaa valita tiedostoa. Koodi:
do {
for($i = 0; $i < count($a); $i ){
$filelist .= "" . $a[$i]."";
}
}
while(!is_dir($file) && !is_link($file));
Eli upload_dir on palvelimella oleva kansio, johon tiedostot tallennetaan. File käsitellään komennolla
$handle=opendir($upload_dir);
$file = readdir($handle);
Minulla on lomake, missä annetaan linkin teksti ja tiedosto, joka tallennetaan palvelimelle.Teksti tallennetaan tietokantaan. Asia on kunnossa. Mutta tulostus ulos tökkii.
Miksi kyseinen koodi tulostaa annetut linkit ja vie upload-kansioon mutta ei osaa valita tiedostoa. Koodi:
do {
for($i = 0; $i < count($a); $i ){
$filelist .= "" . $a[$i]."";
}
}
while(!is_dir($file) && !is_link($file));
Eli upload_dir on palvelimella oleva kansio, johon tiedostot tallennetaan. File käsitellään komennolla
$handle=opendir($upload_dir);
$file = readdir($handle);
Vastaukset 3
Vanhimmat
*while(!is_dir($file) && !is_link($file));*
Mitä tämän on tarkoitus tehdä?
!is_dir($file) == $file ei ole hakemisto
!is_link($file) == $file ei ole tiedosto
Ei while looppia tuommoseen käytetä sitä varten on ehto lauseet.
if (!is_dir($file) && !is_link($file)){
}
*
$handle=opendir($upload_dir);
$file = readdir($handle);
*
Sul on ihan perusteet hukas.
Linkkiin ainoostaan linkki tiedostoon ei itse tiedoston sisältöä.
kokeiles vaik näin
echo readfile($upload_dir$file);
Vai ymmärsinkös jotain väärin?
Totta on, että meni palikat täysin sekasin ku kokeilin vaikka mitä. Eli nyt on ensin
while ($teksti_tulostus = mysql_fetch_row($kysely))
{
$a[] = $teksti_tulostus[1];
}
Sitten
$handle=opendir($upload_dir);
while ($file = readdir($handle)) {
if(!is_dir($file) && !is_link($file)) {
for($i = 0; $i < count($a); $i ){
$filelist .= "" .$a[$i] ."";
}
}
Tuo toimii hyvin, jos tallentaa vain yhden tiedoston. Mutta jos tallentaa useamman, tulostuu aina tiedoston nimet peräkkäin, joista linkki samaan tiedostoon.
Esimerkiksi tiedoston nimet 1.jpg ja 2.jpg
12 -> 1.jpg
12 -> 2.jpg
Tarviin varmaan katkaista jotenkin looppi?
Aaltosulku jäi tosta pois. Siis otsikoksi annetaan nimet 1 ja 2.