2017-11-19 5 views
0

Nachdem ich einige Dateien auf meinen Server hochgeladen habe, und speichern Sie sie in SQL, liste ich sie auf meiner Website.Größe der hochgeladenen Dateien mit PHP

while($a = mysqli_fetch_assoc($get_files)) 
     { 
      $path_parts = pathinfo($a['fajl_file']); 
      $extension = $path_parts['extension']; 

      $path = $host.'/documents/'.$a['fajl_file']; 

      echo '<tr> 
       <td>'.html($a['fajl_nev']).'</td> 
       <td>'.date_substr($a['fajl_datetime']).'</td> 
       <td>'.$extension.'</td> 
       <td>'.filesize($path).'</td> 
       <td class="table_text_center"> 
        <a class="table_delete_link delete_data" id="" href="#"><i class="fa fa-download"></i></a> 
       </td> 
      </tr>'; 
     } 

, wo ich die Dateien bin Listing, ich möchte nur den Namen oder das Uploaddatum nicht angezeigt werden, ich die Dateigröße will auch.

Mit diesem Code, erhalte ich diesen Fehler:

Warning: filesize(): stat failed for

Wenn ich die Webseite Quelle überprüfen, der Pfad i gived, seine richtige. Die Dateien befinden sich im Ordner Dokumente auf dem Server.

+0

Stellen Sie sicher, dass Sie den Verzeichnispfad in '$ path' übergeben. Wenn '$ path'' url' ist, dann erhalten Sie keine Größe –

+0

Was meinst du? Entschuldigung, ich verstehe nicht. Kannst du ein Beispiel schreiben? – Dave599

+0

zeigen Sie, was Ihr $ Pfad enthält? –

Antwort

0

Ihr Problem ist, dass Sie eine absolute URL zum filesize() function sind vorbei, wenn es eine relative lokale Dateiverknüpfung (Qualifier muss: Some URLs sind gültig in PHP5 +).

$path = $host.'/documents/'.$a['fajl_file']; 
    /*** 
    /* http://www.someweb.site/documents/somefile.pdf 
    /***/ 
    echo '<td>'.filesize($path).'</td>'; 

Die oben ist mit dem Ausgang vorbei filesize("http://www.someweb.site/documents/somefile.pdf") das ist nicht das, was Sie wollen, müssen Sie das Dokument Pfad zum lokalen Dateiversion übersetzen

du $_SERVER['DOCUMENT_ROOT'] verwenden können:

$path = $host.'/documents/'.$a['fajl_file']; 
    $localPath = $_SERVER['DOCUMENT_ROOT'] . '/documents/'.$a['fajl_file']; 
    /*** 
    /* /home/users/webaccount/www/documents/somefile.pdf 
    /***/ 
    echo '<td>'.filesize($localPath).'</td>'; 

Dies sollte dann die angeforderten Daten ausgeben.

+0

Jetzt habe ich es, danke Mann! :) – Dave599

0

Verwenden Sie den Dateipfad für die Funktion filesize().

Beispiel filepath:

/var/www/myfile.txt 

oder Windows

C:\xampp\htdocs\myfile.txt 
+0

Es tut mir leid, aber ich verstehe das nicht. – Dave599

Verwandte Themen