2017-02-28 3 views
-10

Ich möchte eine Datei von der Webiste "http://nccpl.com.pk/market-information/fipi-lipi/fipi-sector-wise" herunterladen, aber es gibt die Schaltfläche zum Extrahieren, um die Excel-Datei herunterzuladen. Wie kann ich es automatisch täglich mit php herunterladen?Laden Sie eine Datei mit PHP

+0

Warum gibt es ein mysqli-Tag? Sie können nicht auf die Datei (en) einer externen Website zugreifen, wenn Sie nicht dazu berechtigt sind. Verwenden Sie cURL jedoch, wenn Sie es zulassen. –

+0

gibt es eine ausstehende Bearbeitung http://stackoverflow.com/review/suggested-edits/15368520 wollen diese mysqli-Tag zu entfernen –

+0

@ Fred-ii- Ich würde raten, die OP will nicht nur wir den PHP-Code schreiben, um die zu bekommen Datei, aber fügen Sie auch etwas mysqli Magie hinzu, um es seiner Datenbank hinzuzufügen :-) – jeroen

Antwort

1

Der Datenexportlink generiert die CSV in JavaScript im Browser aus der Tabelle. Aus diesem Grund können Sie es nicht nur mit PHP herunterladen, da die Datei nirgendwo existiert.

Sie können jedoch die Datei aus der Tabelle in nichts als PHP generieren, indem Sie das HTML der Seite herunterladen und analysieren. Ich weiß jedoch nicht, dass Tools für diesen Zweck in PHP verfügbar sind.

-2
readfile($file) 

Ist, was Sie brauchen, mein Freund. Dieses ist ein Ausschnitt aus php.net

<?php 
$fichero = 'mono.gif'; 

if (file_exists($fichero)) { 
    header('Content-Description: File Transfer'); 
    header('Content-Type: application/octet-stream'); 
    header('Content-Disposition: attachment; filename="'.basename($fichero).'"'); 
    header('Expires: 0'); 
    header('Cache-Control: must-revalidate'); 
    header('Pragma: public'); 
    header('Content-Length: ' . filesize($fichero)); 
    readfile($fichero); 
    exit; 
} 
?> 
+1

Diese Antwort ist für das Erhalten einer Web site zum * dienen * ein Download *, das es bereits bewirtet *, das überhaupt nicht ist, was die Frage ist, nämlich Netzschaben der dynamisch-erzeugten Dateien. –

-1

zu glauben, dass die Datei automatisch aktualisiert wird, können Sie mit nur

header('Location: /path-to-file/filename');

Beispiel

<?php header('Location: '/docs/pdf/mypdf.pdf'); ?>

nur schreiben diese in ein. PHP-Datei und lassen Sie den Benutzer auf die. PHP-Datei, wenn er cl icks den Download-Button. Stellen Sie sicher, dass die Datei zum Herunterladen berechtigt ist.

+0

Wenn ein Benutzer beteiligt ist, wie wird dieser "automatisch" heruntergeladen, wie in der Frage angegeben? – ADyson

+0

was Sie tun können, ist eine Schaltfläche wie diese Download oder fügen Sie dies in eine Schaltfläche, um eine Datei automatisch mit PHP – Kuldeep

+0

Ja, aber das ist immer noch ein Prozess, den der Benutzer aufrufen müssen, indem Sie auf die Schaltfläche aufrufen. OP möchte "automatisch täglich" herunterladen, was wirklich keinen Benutzereingriff bedeutet. Einen Benutzer dazu zu bringen, es jeden Tag zu tun, ist unzuverlässig und weit von "automatisch" entfernt. Es benötigt ein automatisches Skript, das von einem Timer ausgelöst wird (z. B. Cron oder Windows Scheduled Tasks), keine GUI. Ein Knopf zu machen, der einen Benutzer zu einem anderen Link umleitet, ist keine Automatisierung. – ADyson